Comprehensive release notes documenting: - Major error handling improvements - Backend API changes (AniList, MAL, Simkl) - Frontend error modal and state management - Bug fixes and stability improvements - Technical details and upgrade instructions
5.5 KiB
5.5 KiB
🎉 AniTrack v0.7.0 Release Notes
🚨 Major Feature: Comprehensive Error Handling
This release brings massive improvements to application stability and user experience. The app will no longer crash when API services are down or experiencing errors!
✨ What's New
🛡️ Graceful API Error Handling
- Application Stability: App now remains running even when AniList, MAL, or Simkl APIs are down
- Visual Error Feedback: Beautiful modal dialogs display error details instead of silent crashes
- Manual Retry: Users can retry failed API connections with a single button click
- Continue Using App: Dismiss error messages and continue with limited functionality
🔧 Backend Improvements
AniList Integration
- Replaced all
log.Fatal()calls with proper error returns - Added error handling for API failures, network issues, and authentication errors
AniListSearchnow returns detailed error messagesGetAniListUserWatchingListgracefully handles 403/404 responses
MyAnimeList Integration
- Updated
MALHelperto return structured errors - All MAL API functions now return errors instead of crashing:
GetMyAnimeListMyAnimeListUpdateGetMyAnimeListAnimeDeleteMyAnimeListEntry
- Fixed OAuth callback server to prevent shutdown on errors
Simkl Integration
- Updated
SimklHelperwith status code validation (200-299 range) - All Simkl API functions now return errors:
SimklGetUserWatchlistSimklSyncEpisodesSimklSyncRatingSimklSyncStatusSimklSearchSimklSyncRemove
- Replaced
log.Fatal()with proper error logging
💻 Frontend Improvements
New Error Management System
- Centralized Error State: New reactive stores for API errors
apiError- Tracks current error with service, message, and statusisApiDown- Quick flag for API availability
- Error Helper Functions:
setApiError()- Set error state from any componentclearApiError()- Reset error state
New Error Modal Component
- Auto-displays when API errors occur
- Shows service name, error message, and HTTP status code
- "Retry Connection" button - Attempts to reconnect to the failed service
- "Dismiss" button - Close modal and continue using the app
- Beautiful red-themed styling with Tailwind CSS
- Supports all three services (AniList, MAL, Simkl)
Updated User Interface
- Home page now displays "API Unavailable" state when services are down
- Helpful warning messages guide users during outages
- App structure remains visible and functional during errors
🐛 Bug Fixes
- Critical: Fixed app crashes when AniList API returns 403 Forbidden errors
- Critical: Fixed app crashes when AniList API is down or unreachable
- Critical: Fixed MAL OAuth server crashing on connection errors
- Critical: Fixed Simkl JSON marshaling errors crashing the app
- Improved: Better error messages for all API failures
📊 Technical Details
Go Backend Changes
- AniListFunctions.go: Updated 3 functions with error handling
- MALFunctions.go: Updated 5 functions with error handling
- MALUserFunctions.go: Fixed server error handling
- SimklFunctions.go: Updated 7 functions with error handling
- SimklUserFunctions.go: Fixed 2 critical error handling issues
Frontend Changes
- ErrorModal.svelte: New component (73 lines)
- GlobalVariablesAndHelperFunctions.svelte: Added error state system (27 lines)
- App.svelte: Integrated ErrorModal into main layout
- CheckIfAniListLoggedInAndLoadWatchList.svelte: Added error handling
- Home.svelte: Added API down state display
🎯 Impact
Before (v0.6.5)
- ❌ App crashes to desktop when AniList API is down
- ❌ Users see only console error messages
- ❌ Must restart app after API failures
- ❌ No way to retry failed connections
After (v0.7.0)
- ✅ App stays open during any API failures
- ✅ Beautiful modal dialogs explain what went wrong
- ✅ One-click retry to reconnect services
- ✅ Continue using app with limited functionality
🔄 Upgrading
No migration needed! This release is fully backward compatible.
Simply run:
git pull
wails build
Or download the latest release from the releases page.
🙏 Acknowledgments
This release addresses a critical stability issue that was affecting users during API service outages. Special thanks to the community for reporting these crashes and providing detailed error logs.
📝 Full Changelog
Added
- Error modal component with retry/dismiss functionality
- Centralized error state management system
- API availability status tracking
- Visual feedback for all API failures
- Manual retry functionality for all services
Changed
- AniList API functions to return errors instead of crashing
- MAL API functions to return errors instead of crashing
- Simkl API functions to return errors instead of crashing
- Error handling from console-only to UI modal dialogs
- App behavior from crash-on-error to graceful-degradation
Fixed
- App crashes on AniList 403 errors
- App crashes on network failures
- MAL OAuth server shutdown on errors
- Simkl JSON marshaling crashes
- All
log.Fatal()calls that terminated the app
Removed
alert()calls in favor of modal system- Vite timestamp file (cleanup)
Version: 0.7.0 Release Date: March 2026 Upgrade Difficulty: ⭐ Easy (backward compatible) Recommended: ⭐⭐⭐⭐⭐ Highly recommended for all users