Commit Graph
24 Commits
Author SHA1 Message Date
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
john-okeefe 5a14863a8f fix(anilist): repair SaveMediaListEntry mutation and surface update failures
The AniListUpdateEntry mutation was mangled in 54c109a when the
standardized media field block was pasted in without the media { }
wrapper: media-level fields (idMal, title, ...) sat directly on
SaveMediaListEntry (which returns MediaList), the MediaList fields
(status, startedAt, ..., user) ended up at the Mutation root, and a
stray closing brace made the document a guaranteed 400. Because the
response status was discarded, the frontend received a zeroed
AniListGetSingleAnime and blanked the anime page after every submit,
making AniList appear logged out (and the change was never saved).

- Restore the mutation to match the tested bruno request: id/mediaId/
  userId, standard media block inside media { }, MediaList fields
  inside the selection, balanced braces.
- AniListUpdateEntry and AniListDeleteEntry now return an error on
  403/non-200/unparseable responses (mirroring
  GetAniListUserWatchingList) instead of silently returning zero
  values.
- Anime.svelte guards against replacing the page data with an empty
  response and raises the API error modal instead.

Bump productVersion to 1.6.1.
2026-09-01 19:49:47 -04:00
john-okeefe 54c109ae3b rewrote standard media call and added browse function 2026-07-22 15:22:58 -04:00
john-okeefe 93a94d0797 chore: bump version to 0.7.0
Preparing release for comprehensive error handling improvements across all API integrations (AniList, MAL, Simkl).
2026-03-30 20:08:08 -04:00
john-okeefe 54a8924384 feat(backend): add genres support to AniList integration
Add the `genres` field to AniList GraphQL queries and type definitions:
- Add genres field to GetAniListItem query for fetching single anime details
- Add genres field to AniListSearch query for search results
- Add genres field to GetAniListUserWatchingList query for user's watch list
- Update MediaList type definition to include Genres []string field

This enhancement allows the application to retrieve and display anime genre
information from the AniList API, providing users with better categorization
and discovery capabilities.
2026-03-19 21:06:46 -04:00
john-okeefe 4e6f910e74 format change 2025-02-17 20:03:53 -05:00
john-okeefe 72dfbf4a03 spelling correct 2025-01-17 20:39:18 -05:00
john-okeefe 5ee9c42352 cleaned up errors in go code 2024-12-15 00:19:48 -05:00
john-okeefe 0c90c3e29d added check for 403 in get anilist watchlist 2024-11-14 20:10:41 -05:00
john-okeefe 00930f611e added ability to delete entries. Added MAL RefreshToken Function 2024-09-18 14:05:41 -04:00
john-okeefe a24a187c7f fixed bug where anilist would display a different users stats if show was not in watchlist 2024-09-16 12:45:57 -04:00
john-okeefe 77e361b5b2 rewrote the Anime.svelte to move out helper functions and clean up code 2024-09-05 15:29:42 -04:00
john-okeefe e3ed5bb2b9 fixed simkl and anilist syncing bugs 2024-08-19 08:09:03 -04:00
john-okeefe 3b5518113e cleaned up anilist struct and function 2024-08-16 15:04:34 -04:00
john-okeefe 8a6b3bd2b7 added ability to update simkl episode count 2024-08-11 12:20:26 -04:00
john-okeefe ce52ae20f5 added tags to get functions for AniList and fixed AniList Post Data query 2024-08-09 15:07:41 -04:00
john-okeefe 53b7368daf cleaned up user anilist functions 2024-07-30 20:41:18 -04:00
john-okeefe d1258c54d3 renamed anilist variables to allow for other services 2024-07-30 12:59:21 -04:00
john-okeefe 784e6c0b7d playing with datepicker options 2024-07-29 16:54:05 -04:00
john-okeefe 065ac0950f added Not Reviewed so zero does not equal undefined 2024-07-27 21:18:03 -04:00
john-okeefe 2be45caa21 expanded go structs to give more info for watch and single anime 2024-07-25 09:19:27 -04:00
john-okeefe 4e11b218be added information being pulled from anilist 2024-07-24 09:18:45 -04:00
john-okeefe dcf7322b0c updated bruno files 2024-07-24 09:15:52 -04:00
john-okeefe cbef98f293 added ability to get Anilist Item, Search and JWT token 2024-07-21 10:25:21 -04:00