| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1081,17 +1081,6 @@ export async function migrateSettings(): Promise<MigrationResult> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const platformService = PlatformServiceFactory.getInstance(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // Find the master settings (accountDid is null) which contains the activeDid
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const masterSettings = dexieSettings.find(setting => !setting.accountDid); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let dexieActiveDid: string | undefined; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (masterSettings?.activeDid) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      dexieActiveDid = masterSettings.activeDid; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      logger.info("[MigrationService] Found activeDid in Dexie master settings", { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        activeDid: dexieActiveDid, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // Create an array of promises for all settings migrations
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const migrationPromises = dexieSettings.map(async (setting) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      logger.info("[MigrationService] Starting to migrate settings", setting); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1152,36 +1141,7 @@ export async function migrateSettings(): Promise<MigrationResult> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const updatedSettings = await Promise.all(migrationPromises); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // Step 2: Migrate the activeDid if it exists in Dexie
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (dexieActiveDid) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      try { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // Verify that the activeDid exists in SQLite accounts
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        const accountExists = await platformService.dbQuery( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          "SELECT did FROM accounts WHERE did = ?", | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [dexieActiveDid], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (accountExists?.values?.length) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          // Update the master settings with the activeDid
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          await updateDefaultSettings({ activeDid: dexieActiveDid }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          logger.info("[MigrationService] Successfully migrated activeDid", { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            activeDid: dexieActiveDid, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          result.warnings.push(`Migrated activeDid: ${dexieActiveDid}`); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          logger.warn("[MigrationService] activeDid from Dexie not found in SQLite accounts", { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            activeDid: dexieActiveDid, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          result.warnings.push( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            `activeDid from Dexie (${dexieActiveDid}) not found in SQLite accounts - skipping activeDid migration`, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } catch (error) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        logger.error("[MigrationService] Failed to migrate activeDid:", error); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        result.errors.push(`Failed to migrate activeDid: ${error}`); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      logger.info("[MigrationService] No activeDid found in Dexie settings"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await migrateActiveDid(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    logger.info( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      "[MigrationService] Finished migrating settings", | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1467,18 +1427,6 @@ export async function migrateAll(): Promise<MigrationResult> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    result.settingsMigrated = settingsResult.settingsMigrated; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    result.warnings.push(...settingsResult.warnings); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // Step 3: Migrate ActiveDid (depends on accounts and settings)
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    logger.info("[MigrationService] Step 3: Migrating activeDid..."); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const activeDidResult = await migrateActiveDid(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (!activeDidResult.success) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      result.errors.push( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        `ActiveDid migration failed: ${activeDidResult.errors.join(", ")}`, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      // Don't fail the entire migration for activeDid issues
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      logger.warn("[MigrationService] ActiveDid migration failed, but continuing with migration"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    result.warnings.push(...activeDidResult.warnings); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // Step 4: Migrate Contacts (independent, but after accounts for consistency)
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // ... but which is better done through the contact import view
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // logger.info("[MigrationService] Step 4: Migrating contacts...");
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |