John O'Keefe 8a8baf7f8f feat: implement smart watchlist refresh on navigation
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
2026-03-21 13:25:43 -04:00
2025-01-17 20:39:18 -05:00
2025-12-24 11:28:38 -05:00
2025-12-24 11:28:38 -05:00
2024-07-01 18:37:21 -04:00
2024-12-15 00:19:48 -05:00
2024-09-09 19:37:34 -04:00
2025-01-17 20:39:18 -05:00
2026-03-20 15:53:33 -04:00

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

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.

Description
Track anime shows by syncing with various services. Anilist, MyAnimeList, Kitsu, Simkl...
Readme MIT 915 KiB
2026-03-21 13:36:43 -04:00
Languages
Svelte 43.8%
Go 28.6%
TypeScript 16%
NSIS 5.7%
JavaScript 5%
Other 0.9%