Migrate storage keys to scoped keys across multiple store classes

This commit is contained in:
Winston Lowe 2026-03-12 09:29:46 -07:00
parent 6da54e13c3
commit e6658a6026
11 changed files with 17 additions and 28 deletions

View file

@ -54,6 +54,8 @@ class _ChannelsScreenState extends State<ChannelsScreen>
@override
void initState() {
super.initState();
final connector = context.read<MeshCoreConnector>();
_communityStore.setPublicKeyHex = connector.selfPublicKeyHex;
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<MeshCoreConnector>().getChannels();
_loadCommunities();

View file

@ -51,6 +51,9 @@ class _CommunityQrScannerScreenState extends State<CommunityQrScannerScreen> {
_isProcessing = true;
});
final connector = context.read<MeshCoreConnector>();
_communityStore.setPublicKeyHex = connector.selfPublicKeyHex;
try {
// Parse the community data
final community = Community.fromQrData(const Uuid().v4(), data);
@ -209,6 +212,8 @@ class _CommunityQrScannerScreenState extends State<CommunityQrScannerScreen> {
bool addPublicChannel,
) async {
// Save community to local storage
final connector = context.read<MeshCoreConnector>();
_communityStore.setPublicKeyHex = connector.selfPublicKeyHex;
await _communityStore.addCommunity(community);
// Optionally add the community public channel to the device

View file

@ -48,7 +48,7 @@ class ChannelMessageStore {
final key = '$keyFor$channelIndex';
final oldKey = '$_keyPrefix$channelIndex';
String? jsonString = prefs.getString(oldKey);
String? jsonString = prefs.getString(key);
if (jsonString == null || jsonString.isEmpty) {
// Attempt migration from legacy unscoped key on first load
final legacyJsonString = prefs.getString(oldKey);
@ -61,9 +61,6 @@ class ChannelMessageStore {
jsonString = legacyJsonString;
}
}
if (jsonString == null || jsonString.isEmpty) {
jsonString = prefs.getString(keyFor);
}
if (jsonString == null || jsonString.isEmpty) {
return [];
}

View file

@ -26,7 +26,7 @@ class ChannelOrderStore {
return [];
}
final prefs = PrefsManager.instance;
String? jsonString = prefs.getString(_keyPrefix);
String? jsonString = prefs.getString(keyFor);
if (jsonString == null || jsonString.isEmpty) {
// Attempt migration from legacy unscoped key on first load
final legacyJsonString = prefs.getString(_keyPrefix);
@ -42,6 +42,7 @@ class ChannelOrderStore {
if (jsonString == null || jsonString.isEmpty) {
return [];
}
try {
final decoded = jsonDecode(jsonString);
if (decoded is List) {

View file

@ -20,7 +20,7 @@ class ChannelSettingsStore {
final prefs = PrefsManager.instance;
final key = '$keyFor$channelIndex';
final oldKey = '$_keyPrefix$channelIndex';
bool? enabled = prefs.getBool(oldKey);
bool? enabled = prefs.getBool(key);
if (enabled == null) {
// Attempt migration from legacy unscoped key on first load
enabled = prefs.getBool(oldKey);

View file

@ -19,7 +19,7 @@ class ChannelStore {
return [];
}
final prefs = PrefsManager.instance;
String? jsonString = prefs.getString(_keyPrefix);
String? jsonString = prefs.getString(keyFor);
if (jsonString == null || jsonString.isEmpty) {
// Attempt migration from legacy unscoped key on first load
final legacyJsonString = prefs.getString(_keyPrefix);
@ -33,9 +33,6 @@ class ChannelStore {
}
}
if (jsonString == null || jsonString.isEmpty) {
jsonString = prefs.getString(keyFor);
}
if (jsonString == null || jsonString.isEmpty) {
return [];
}

View file

@ -25,7 +25,7 @@ class CommunityStore {
return [];
}
final prefs = PrefsManager.instance;
String? jsonString = prefs.getString(_keyPrefix);
String? jsonString = prefs.getString(keyFor);
if (jsonString == null || jsonString.isEmpty) {
// Attempt migration from legacy unscoped key on first load
final legacyJsonString = prefs.getString(_keyPrefix);
@ -38,9 +38,7 @@ class CommunityStore {
jsonString = legacyJsonString;
}
}
if (jsonString == null || jsonString.isEmpty) {
jsonString = prefs.getString(keyFor);
}
if (jsonString == null || jsonString.isEmpty) {
return [];
}

View file

@ -18,7 +18,7 @@ class ContactGroupStore {
return [];
}
final prefs = PrefsManager.instance;
String? jsonString = prefs.getString(_keyPrefix);
String? jsonString = prefs.getString(keyFor);
if (jsonString == null || jsonString.isEmpty) {
// Attempt migration from legacy unscoped key on first load
final legacyJsonString = prefs.getString(_keyPrefix);
@ -31,9 +31,6 @@ class ContactGroupStore {
jsonString = legacyJsonString;
}
}
if (jsonString == null || jsonString.isEmpty) {
jsonString = prefs.getString(keyFor);
}
if (jsonString == null || jsonString.isEmpty) {
return [];
}

View file

@ -33,9 +33,6 @@ class ContactStore {
jsonString = legacyJsonString;
}
}
if (jsonString == null || jsonString.isEmpty) {
jsonString = prefs.getString(keyFor);
}
if (jsonString == null || jsonString.isEmpty) {
return [];
}

View file

@ -49,9 +49,7 @@ class MessageStore {
jsonString = legacyJsonString;
}
}
if (jsonString == null || jsonString.isEmpty) {
jsonString = prefs.getString(keyFor);
}
if (jsonString == null || jsonString.isEmpty) {
return [];
}

View file

@ -32,7 +32,7 @@ class UnreadStore {
return {};
}
final prefs = PrefsManager.instance;
String? jsonString = prefs.getString(_keyPrefix);
String? jsonString = prefs.getString(keyFor);
if (jsonString == null || jsonString.isEmpty) {
// Attempt migration from legacy unscoped key on first load
final legacyJsonString = prefs.getString(_keyPrefix);
@ -45,9 +45,6 @@ class UnreadStore {
jsonString = legacyJsonString;
}
}
if (jsonString == null || jsonString.isEmpty) {
jsonString = prefs.getString(keyFor);
}
if (jsonString == null || jsonString.isEmpty) {
return {};
}