+35
-9
.zed/settings.json
+35
-9
.zed/settings.json
···+// For a full list of overridable settings, and general information on folder-specific settings,
+155
-66
islands/MigrationProgress.tsx
+155
-66
islands/MigrationProgress.tsx
······-case 2: return step.name === "Enter the token sent to your email to complete identity migration"························-const errorMessage = `${data.reason || "Verification failed"}\nStatus details: ${JSON.stringify(statusDetails, null, 2)}`;···-? "bg-yellow-50 border-yellow-200 text-yellow-800 dark:bg-yellow-900/20 dark:border-yellow-800 dark:text-yellow-200"-: "bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-200"+? "bg-yellow-50 border-yellow-200 text-yellow-800 dark:bg-yellow-900/20 dark:border-yellow-800 dark:text-yellow-200"+: "bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-200"-migrationState.state === "maintenance" ? "text-yellow-600 dark:text-yellow-400" : "text-red-600 dark:text-red-400"·········<div class="p-4 bg-green-50 dark:bg-green-900 rounded-lg border-2 border-green-200 dark:border-green-800">-class="mt-4 mr-4 px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-md transition-colors duration-200"-<a href="https://ko-fi.com/knotbin" target="_blank" class="mt-4 px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-md transition-colors duration-200">+class="px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-md transition-colors duration-200 flex items-center space-x-2"+class="px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-md transition-colors duration-200 flex items-center space-x-2"+d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
+7
lib/check-dids.ts
+7
lib/check-dids.ts
···
+1
-1
lib/migration-state.ts
+1
-1
lib/migration-state.ts
···-message: "Migration services are temporarily unavailable for scheduled maintenance. Please try again later.",+message: "Migration services are temporarily unavailable for maintenance. Please try again later.",
+31
-10
lib/sessions.ts
+31
-10
lib/sessions.ts
··················
+1
-1
lib/storage.ts
+1
-1
lib/storage.ts
+4
-4
routes/api/logout.ts
+4
-4
routes/api/logout.ts
······
+2
-2
routes/api/migrate/create.ts
+2
-2
routes/api/migrate/create.ts
···
+178
-44
routes/api/migrate/data/blobs.ts
+178
-44
routes/api/migrate/data/blobs.ts
·········-migrationLogs.push(`[${new Date().toISOString()}] Counting blobs on page ${pageCount + 1}...`);···-console.log(`[${new Date().toISOString()}] Found ${newBlobs} blobs on page ${pageCount + 1} in ${pageTime/1000} seconds, total so far: ${totalBlobs}`);-migrationLogs.push(`[${new Date().toISOString()}] Found ${newBlobs} blobs on page ${pageCount + 1} in ${pageTime/1000} seconds, total so far: ${totalBlobs}`);···-migrationLogs.push(`[${new Date().toISOString()}] Fetching blob list page ${pageCount + 1}...`);···-console.log(`[${new Date().toISOString()}] Found ${listedBlobs.data.cids.length} blobs on page ${pageCount + 1} in ${pageTime/1000} seconds`);-migrationLogs.push(`[${new Date().toISOString()}] Found ${listedBlobs.data.cids.length} blobs on page ${pageCount + 1} in ${pageTime/1000} seconds`);-console.log(`[${new Date().toISOString()}] Starting migration for blob ${cid} (${processedBlobs + 1} of ${totalBlobs})...`);-migrationLogs.push(`[${new Date().toISOString()}] Starting migration for blob ${cid} (${processedBlobs + 1} of ${totalBlobs})...`);···-migrationLogs.push(`[${new Date().toISOString()}] Downloading blob ${cid} (${size} bytes)...`);-console.log(`[${new Date().toISOString()}] Successfully migrated blob ${cid} in ${blobTime/1000} seconds`);-migrationLogs.push(`[${new Date().toISOString()}] Successfully migrated blob ${cid} in ${blobTime/1000} seconds`);-throw new Error(`Upload failed: ${uploadError instanceof Error ? uploadError.message : String(uploadError)}`);-const detailedError = `[${new Date().toISOString()}] Failed to migrate blob ${cid}: ${errorMessage}`;-const progressLog = `[${new Date().toISOString()}] Progress: ${processedBlobs}/${totalBlobs} blobs processed (${Math.round((processedBlobs/totalBlobs)*100)}%)`;···-const completionMessage = `[${new Date().toISOString()}] Blob migration completed in ${totalTime/1000} seconds: ${migratedBlobs.length} blobs migrated${failedBlobs.length > 0 ? `, ${failedBlobs.length} failed` : ''} (${pageCount} pages processed)`;···
+92
-34
routes/api/migrate/data/prefs.ts
+92
-34
routes/api/migrate/data/prefs.ts
······-migrationLogs.push(`[${new Date().toISOString()}] Preferences fetched in ${fetchTime/1000} seconds`);-console.log(`[${new Date().toISOString()}] Preferences updated in ${updateTime/1000} seconds`);-migrationLogs.push(`[${new Date().toISOString()}] Preferences updated in ${updateTime/1000} seconds`);-const completionMessage = `[${new Date().toISOString()}] Preferences migration completed in ${totalTime/1000} seconds total`;···
+86
-35
routes/api/migrate/data/repo.ts
+86
-35
routes/api/migrate/data/repo.ts
············-migrationLogs.push(`[${new Date().toISOString()}] Repo data fetched in ${fetchTime/1000} seconds`);-migrationLogs.push(`[${new Date().toISOString()}] Repo data imported in ${importTime/1000} seconds`);-const completionMessage = `[${new Date().toISOString()}] Repo migration completed in ${totalTime/1000} seconds total`;···
+13
routes/api/migrate/finalize.ts
+13
routes/api/migrate/finalize.ts
······
+18
-4
routes/api/migrate/identity/request.ts
+18
-4
routes/api/migrate/identity/request.ts
·········
+17
-3
routes/api/migrate/identity/sign.ts
+17
-3
routes/api/migrate/identity/sign.ts
······
+2
-2
routes/api/migrate/next-step.ts
+2
-2
routes/api/migrate/next-step.ts
······
+130
-104
routes/api/migrate/status.ts
+130
-104
routes/api/migrate/status.ts
···
+2
-2
routes/migrate/progress.tsx
+2
-2
routes/migrate/progress.tsx
······