mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-15 05:30:57 +01:00
Every Flutter consumer already keeps its GitHub token in flutter_secure_storage, which is where a Firebase refresh token belongs too: it is the long-lived secret, while ID tokens expire in about an hour. Takes read/write/delete closures rather than depending on flutter_secure_storage directly -- this package is pure Dart, and a Flutter plugin dependency would make it unusable from the command-line tools and from plain `dart test`. The adapter is two lines at each call site. Keyed at `firebase.credentials`, namespaced away from each app's `sync.token` so both secrets coexist for the whole mirrored cutover. Every load failure degrades to "not signed in" rather than throwing: an app that threw here would be permanently unable to sync, with no way back short of a reinstall. 10 tests, 100% line coverage; 228 in the suite. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SJ9sxEw3ymzXNjL7SHNpJc
16 lines
444 B
Dart
16 lines
444 B
Dart
/// Shared CRDT merge scheme + pluggable remote sync transports.
|
|
library;
|
|
|
|
export 'src/firebase_auth_rest.dart';
|
|
export 'src/firebase_client.dart';
|
|
export 'src/firebase_config.dart';
|
|
export 'src/github_client.dart';
|
|
export 'src/hlc.dart';
|
|
export 'src/log.dart';
|
|
export 'src/mirror_store.dart';
|
|
export 'src/record.dart';
|
|
export 'src/remote_store.dart';
|
|
export 'src/secure_credential_store.dart';
|
|
export 'src/store.dart';
|
|
export 'src/sync.dart';
|