edde746
e0bf66eea8
fix(runtime): harden application service boundaries
2026-07-24 03:46:46 +02:00
edde746
e32fcc2190
feat(explore): add AniList, Simkl, and Plex catalogs
2026-07-20 10:28:31 +02:00
edde746
cd88f73f05
fix: serialize async state transitions
2026-07-12 18:59:14 +02:00
edde746
7ecadffdb1
refactor(features): consolidate shared feature primitives
2026-07-12 17:31:13 +02:00
edde746
97f7508067
refactor(core): consolidate shared app foundations
2026-07-12 17:31:12 +02:00
edde746
de5234b59f
refactor(trackers): share username enrichment
2026-07-12 08:42:23 +02:00
edde746
2aa084287d
feat(explore): MyAnimeList catalog source
2026-07-10 07:07:54 +02:00
edde746
ede80d225f
refactor: shared coalescer, profile-scoped prefs key, and form-error helper
2026-07-10 07:05:35 +02:00
edde746
78090d8bd6
refactor(trackers): unify session and account store across services
...
Replace the per-tracker json_serializable session classes and account stores with a shared TrackerSession (service-aware persisted validation), a single TrackerAccountStore, a shared TrackerHttpClient, and an AnimeListTrackerBase mixin for MAL/AniList. Scope the per-service rebind guard so a disconnect can't abort a racing profile load. Add migration-safety, MAL refresh, episode-count cache, and content-type tests.
2026-06-27 10:05:03 +02:00
edde746
a5e422d284
fix(trackers): parse new Fribb imdb_id/themoviedb_id shapes
...
close #1402
2026-06-22 23:58:17 +02:00
edde746
0fd0506551
feat(media): lazily page detail episodes
...
close #1245
2026-06-05 19:26:02 +02:00
edde746
74b8dc4561
refactor: type server identifiers
2026-06-01 11:06:03 +02:00
edde746
9e5098f356
fix(trackers): respect server completion threshold
...
close #1194
2026-05-30 08:30:06 +02:00
edde746
209101796b
refactor: use private named constructor params
2026-05-20 23:48:29 +02:00
edde746
3e74937386
feat(trackers): sync anime watch state by episode
2026-05-16 20:54:39 +02:00
edde746
310c4280fc
feat(ratings): add tracker rating sheet
...
close #1031
2026-05-16 18:03:30 +02:00
edde746
8f9947a874
fix(trackers): use catalog totals for anime completion
...
close #1025
2026-05-13 15:07:19 +02:00
edde746
126e6b9349
fix(trackers): sync scoped anime progress
2026-05-13 14:10:01 +02:00
edde746
de129fbb0a
fix(trackers): preserve Plex library context
2026-05-12 22:46:38 +02:00
edde746
4577f26aa8
fix(lifecycle): abort HTTP before close
2026-05-12 15:11:16 +02:00
edde746
f9615491b3
refactor(media): migrate media item to freezed
2026-05-11 07:01:46 +02:00
edde746
91c23786f2
refactor: reduce model and focus boilerplate
2026-05-06 00:26:44 +02:00
edde746
7fc136f592
refactor: reduce settings and mapper boilerplate
2026-05-02 09:05:23 +02:00
edde746
0ac5f49e5e
chore: clear analyzer hints
2026-05-02 02:34:26 +02:00
edde746
b42ee26840
refactor: share tracker auth plumbing
2026-05-02 02:02:50 +02:00
edde746
50bc245677
refactor: share low-risk UI and tracker helpers
2026-05-02 01:58:50 +02:00
edde746
31d2d9dc98
feat: jellyfin
2026-05-01 01:20:36 +02:00
edde746
5d87c6808d
refactor(prefs): route services through sharedCache
2026-04-25 11:13:12 +02:00
edde746
0531c33b0c
refactor(settings): typed Pref<T> declarations
2026-04-25 10:52:34 +02:00
edde746
df94e83592
fix(trackers): cancel connect immediately
2026-04-24 20:54:38 +02:00
edde746
2b59de91c7
chore: dart format
2026-04-24 14:19:07 +02:00
edde746
e961bc6293
refactor: share tracker/trakt auth and connect flow
2026-04-24 12:32:25 +02:00
edde746
bf2584d90f
feat: per-tracker library whitelist/blacklist
...
close #917
2026-04-24 10:30:16 +02:00
edde746
e8729a4e27
feat: oauth proxy for mal/anilist auth
2026-04-24 09:46:45 +02:00
edde746
1582fdbd5b
feat: mal/anilist/simkl progress sync
...
close #914
2026-04-24 08:29:49 +02:00