| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -90,7 +90,10 @@ db.on("populate", async () => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  try { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await db.settings.add(DEFAULT_SETTINGS); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } catch (error) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    console.error("Error populating the database with default settings:", error); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    console.error( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      "Error populating the database with default settings:", | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      error, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -105,7 +108,7 @@ async function safeOpenDatabase(retries = 1, delay = 500): Promise<void> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // Create a promise that rejects after 5 seconds
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        const timeoutPromise = new Promise((_, reject) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          setTimeout(() => reject(new Error('Database open timed out')), 500); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          setTimeout(() => reject(new Error("Database open timed out")), 500); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // Race between the open operation and the timeout
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -123,7 +126,7 @@ async function safeOpenDatabase(retries = 1, delay = 500): Promise<void> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      console.error(`Attempt ${i + 1}: Database open failed:`, error); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      if (i < retries - 1) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        console.log(`Attempt ${i + 1}: Waiting ${delay}ms before retry...`); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        await new Promise(resolve => setTimeout(resolve, delay)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        await new Promise((resolve) => setTimeout(resolve, delay)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        throw error; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -145,10 +148,16 @@ export async function updateDefaultSettings( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      await safeOpenDatabase(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } catch (openError: unknown) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      console.error("Failed to open database:", openError); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      const errorMessage = openError instanceof Error ? openError.message : String(openError); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      throw new Error(`Database connection failed: ${errorMessage}. Please try again or restart the app.`); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      const errorMessage = | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        openError instanceof Error ? openError.message : String(openError); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      throw new Error( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        `Database connection failed: ${errorMessage}. Please try again or restart the app.`, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const result = await db.settings.update(MASTER_SETTINGS_KEY, settingsChanges); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const result = await db.settings.update( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      MASTER_SETTINGS_KEY, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      settingsChanges, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return result; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } catch (error) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    console.error("Error updating default settings:", error); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |