mirror of
https://github.com/kuhyx/todo-app.git
synced 2026-11-10 22:27:01 +01:00
Some checks are pending
Also bumps Flutter 3.47.3, flutter_secure_storage 11.1.0, idb_shim 2.9.9, sqflite_common_ffi 2.4.3, very_good_analysis 11 and mcp 2.2.0 so the freshness gate lets this through; v11 adds async_return_with_no_await, so the 18 flagged return sites now await explicitly. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AwtowrowDXx6ccmWVPkCaF
28 lines
924 B
Dart
28 lines
924 B
Dart
import 'package:crdt_sync/crdt_sync.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
/// Key holding the revision cache in `SharedPreferences`.
|
|
const kSyncStateKey = 'sync.state';
|
|
|
|
/// Opens the revision cache on web (the Chrome-wrapper desktop build).
|
|
///
|
|
/// `SharedPreferences` rather than IndexedDB: the payload is two short hashes
|
|
/// per peer, so a key-value entry is the whole requirement, and the note
|
|
/// log already owns the IndexedDB store.
|
|
Future<SyncStateStore> openSyncStateStore() async => PersistedSyncStateStore(
|
|
_PrefsPersistence(await SharedPreferences.getInstance()),
|
|
);
|
|
|
|
class _PrefsPersistence implements LogPersistence {
|
|
_PrefsPersistence(this._prefs);
|
|
|
|
final SharedPreferences _prefs;
|
|
|
|
@override
|
|
Future<String?> read() async => _prefs.getString(kSyncStateKey);
|
|
|
|
@override
|
|
Future<void> write(String text) async =>
|
|
await _prefs.setString(kSyncStateKey, text);
|
|
}
|