john-okeefe 0a89ec3652 fix(anilist): decode array-shaped airingSchedule/relations and isolate per-service sync errors
The 1.6.1 fix exposed a latent decoding bug: AniList returns
airingSchedule.nodes and relations.nodes as arrays, but the Go Media
struct declared Nodes as single structs. Every full-media response
failed json.Unmarshal partway through - the update path turned that
into a rejected promise which skipped the MAL and Simkl syncs and all
table updates, while page loads silently continued with partially
decoded data (the reason the old tags/genres copy workaround existed).

- Media.AiringSchedule.Nodes is now []AiringScheduleNode and
  Media.Relations is an exported []MediaRelation (previously an
  unexported field silently dropped by encoding/json); title and
  fuzzy-date sub-structs promoted to named types.
- Regenerate wailsjs models for the new shapes.
- Anime.svelte: handleSubmit and deleteEntries now wrap each service
  in its own try/catch surfaced via setApiError/ErrorModal, so one
  service failing can no longer skip the others; removed the obsolete
  tags/genres copy workaround.
- AniListUpdateEntry/AniListDeleteEntry log HTTP status and response
  body on failure for terminal diagnostics.

Bump productVersion to 1.6.2.
2026-09-01 20:18:42 -04:00
2025-01-17 20:39:18 -05:00
2024-07-01 18:37:21 -04:00
2024-09-09 19:37:34 -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.

S
Description
Track anime shows by syncing with various services. Anilist, MyAnimeList, Kitsu, Simkl...
Readme MIT
1.1 MiB
2026-09-01 20:26:29 -04:00
Languages
Svelte 38.9%
Go 28.3%
TypeScript 15.1%
Bru 8.3%
NSIS 4.4%
Other 5%