screen-locker/stronglift_replacement/workout_app/lib
Krzysztof kuhy Rudnicki d418994f6f Split storage_service.dart (781) into part extensions
storage_service.dart            the class: open, settings, active session
  storage_service_schema.dart     create / migrate / seed
  storage_service_exercises.dart  read+write a single exercise's row
  storage_service_sessions.dart   apply progression, record sessions
  storage_service_backup.dart     backup, restore, sync markers

Dart cannot continue a class body across files, so unlike history_screen these
are `extension`s in `part` files. Library privacy still applies inside a part,
so they reach `_db` and `_getSetting` unchanged and every caller still writes
`StorageService.instance.foo()` -- no public API change, nothing for
public_member_api_docs to demand.

Doing this exposed a bug in scripts/check_silent_failures_dart.py: its bare
`on Foo {` pattern (the catch clause form) also matched
`extension StorageServiceBackup on StorageService {`, so it reported the
declarations as swallowed exceptions. It now requires the try block's closing
`}` first. Verified both directions on a fixture: a real silent
`} on FormatException {` is still reported, the extension is not.

402 Dart tests still pass; flutter coverage still 100%; dart analyze clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EveB813BQ8abAP68VSqZ5Y
2026-08-15 21:12:08 +02:00
..
models Add sync-status card and duration-threshold fixture 2026-08-15 18:41:31 +02:00
screens Split history_screen.dart (897) into four part files 2026-08-15 21:06:09 +02:00
services Split storage_service.dart (781) into part extensions 2026-08-15 21:12:08 +02:00
ui workout_app: warm-tint the unified-design-system palette 2026-07-22 21:08:45 +02:00
widgets Add sync-status card and duration-threshold fixture 2026-08-15 18:41:31 +02:00
main.dart Carry progression through Firebase, and stop demanding storage permission 2026-08-10 16:54:21 +02:00