feat(flutter/cache): drift schema + new deps + CI codegen step (#357 plan B)

Adds the offline-mode foundation:
- pubspec deps: drift, drift_flutter, sqlite3_flutter_libs,
  connectivity_plus + drift_dev/build_runner (dev)
- lib/cache/db.dart with 8 tables: CachedArtists/Albums/Tracks/Likes/
  Playlists/PlaylistTracks + AudioCacheIndex + SyncMetadata
- *.g.dart added to .gitignore (build_runner regenerates per build)
- CI workflow gains a 'Codegen (drift)' step between pub get and
  analyze so the generated symbols exist when analyze runs

CacheSource enum drives tiered LRU eviction (manual/autoLiked/
autoPlaylist/autoPrefetch/incidental). Subsequent commits add the
sync controller, audio cache manager, prefetcher, settings UI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-09 23:07:34 -04:00
parent 8d5c90e0ed
commit 326b7008a9
4 changed files with 146 additions and 0 deletions
+6
View File
@@ -24,12 +24,18 @@ dependencies:
pub_semver: ^2.1.4
cupertino_icons: ^1.0.8
path_provider: ^2.1.5
drift: ^2.18.0
drift_flutter: ^0.2.0
sqlite3_flutter_libs: ^0.5.24
connectivity_plus: ^6.0.5
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
mocktail: ^1.0.4
drift_dev: ^2.18.0
build_runner: ^2.4.13
flutter:
uses-material-design: true