AniList airing calendar, and mark linked titles in search - #11
Closed
professorDeveloper wants to merge 3 commits into
Closed
AniList airing calendar, and mark linked titles in search#11professorDeveloper wants to merge 3 commits into
professorDeveloper wants to merge 3 commits into
Conversation
…equest loop
## English
Every AniList and tracker string is now English in all three locales, and the
hardcoded Uzbek in the service and controller is gone. AniList's own vocabulary
is English — "Watching", "Planning", "Completed" — and half-translating a
third-party service reads worse than not translating it.
## The logo
assets/icons/anilist.svg replaces the blue circle-with-a-link-icon in the
connect prompt, the connections tile and the library bar.
It is a reconstruction, not the file from AniList's brand kit. Dropping the real
SVG in at that path replaces it everywhere with no code change.
## The favorites request loop
The log showed GET /auth/favorites firing about twenty-five times in a row until
the server answered 429.
getFavorites() writes the server's rows into the local cache. The cache bumps a
revision. My List refreshes on every revision bump. So a refresh caused a
revision bump, which caused a refresh — as fast as the network allowed, on every
visit to that tab.
Two ends, both closed:
* upsertAll bumps the revision only when something actually changed. It was
bumping unconditionally, so writing identical rows still woke every listener.
* the My List listener ignores a bump while its own refresh is in flight. The
existing guard only checked MyListLoading, and a refresh emits
MyListLoaded(refreshing: true).
## Visibility
The profile row is now branded — logo, account name when connected, a Connect
chip when not — instead of a link icon on a "Connections" line. Connecting a
tracker is something people only do if they notice it exists.
Replaces my reconstruction with the file from Wikimedia Commons. It carries its own colours — dark tile, blue mark, white A — so it is rendered untinted; the colour filter that suited a single-path mark would have flattened it. Corners are rounded at the call site rather than by editing the artwork.
Upcoming is deliberately narrow — only shows you already follow — so there was nowhere in the app to see what a new season brings. The calendar is the wide view: seven days from today, everything airing, with a filter back down to your own list. It works signed out, since the schedule is public; connecting only adds the marks and the filter. Days are fetched on demand and kept rather than pulling the week up front: a week of global airings runs to several hundred entries and six of those days are ones nobody opens. The query pages, because AniList caps perPage at 50 and asking for one page silently truncates the evening. Search results now carry the AniList mark when the title is already linked. Linking is what makes tracking work — a source title rarely matches AniList exactly — but the link was invisible outside the AniList screens, so there was no way to tell from a result whether watching it would count. Cross-search passes each hit's own provider; the single-source grid falls back to the active one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Airing calendar
Upcoming is deliberately narrow — only shows you already follow — so there was nowhere in the app to see what a new season brings. The calendar is the wide view: seven days from today, everything airing, with a filter back down to your own list.
perPageat 50 and asking for one page silently truncates the evening.Reachable from the AniList library app bar (offered signed out too) and from Connections.
AniList in search
Search results carry the AniList mark when the title is already linked. Linking is what makes tracking work — a source title rarely matches AniList exactly — but the link was invisible outside the AniList screens, so there was no way to tell from a result whether watching it would count. Cross-search passes each hit's own provider; the single-source grid falls back to the active one.
Translations for en/ru/uz.
flutter analyzeclean apart from two pre-existing infos.