Added intelligent watchlist refresh mechanism that only refetches data when changes are actually made, preventing unnecessary API calls and improving performance. Changes: - Added watchlistNeedsRefresh store to track when watchlist data has changed - Implemented reactive watcher in App.svelte that uses svelte-spa-router's loc store to detect navigation to home - Set dirty flag in Anime.svelte after successful status updates and entry deletions - Added conditional refresh logic that checks user's primary service (AniList, MAL, or Simkl) - Parallel refresh support for multiple services when logged in This resolves the issue where clicking the logo would cause full page reloads and unnecessary re-authentication checks, while also ensuring watchlist data stays current when users make changes. Technical details: - Uses $loc.location to detect route changes - IIFE pattern for async operations in reactive statements - Only refreshes for logged-in primary services - Flag resets after successful refresh Related to: Header.svelte client-side routing fix
README
About
Track the anime you are watching by syncing with various services. Anilist, MyAnimeList, Simkl...
This has been built with the official Wails Svelte-TS template.
To run as is, please feel free to download a binary from the releases page.
If you are getting too many errors due to api usage, please build from source.
Build from Source
Get API Keys
First you will need your own API keys for the various services the app connects to. AniList: AniList Developer App MyAnimeList: MyAnimeList Developer App Simkl: Simkl Developer
- Name: AniTrack
- Redirect URL: http://localhost:6734/callback
- App Type: web
- Homepage URL: http://localhost or the Github URL
- Company Name: AniTrack
- Commercial/Non-Commercial: non-commercial
- Purpose of Use: hobbyist
Once you have the IDs, Keys, and Secrets create an environment.go file based on the environment.go.example and fill in the fields.
Install Wails and Dependencies
Please follow the instructions here to get Wails up and running and follow the instructions below.
Live Development
To run in live development mode, run wails dev in the project directory. This will run a Vite development
server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser
and have access to your Go methods, there is also a dev server that runs on http://localhost:34115. Connect
to this in your browser, and you can call your Go code from devtools.
Building
To build a redistributable, production mode package, use wails build --clean.