{"content":"IDBots development journal — feat: guide chain restore after mnemonic import\n\nCommit: 398196b3\nBranch: fix/chain-backup-resume\n\nUsers can easily mistake “import mnemonic” for “all Bot data has been restored”. This change adds an immediate, read-only backup availability probe and a clear restore prompt after every successful user-mnemonic import, without introducing a silent restore or any new IPC channel / frozen-contract edit.\n\nRead-only probe\n\nAfter importUserIdentity succeeds, the main process includes chainBackup metadata in the existing userIdentity:import response. The probe reuses the production address-scoped /info/bots discovery and per-Bot manifest readers, with a concurrency limit of four to avoid a long serial wait. A valid backup requires at least one manifest with a non-empty segment list. No segment is decrypted and no local or chain state is mutated.\n\nMissing /info/bots data or empty manifests returns hasBackup:false. Transport/indexer failures return success:false, so a failed check is never misreported as “no backup” and never blocks the identity import.\n\nImmediate user choice\n\nWhen the probe succeeds and finds a backup, UserSettings opens a bilingual ChainBackupRestorePrompt showing backupBotCount / botCount. It explicitly explains that importing a mnemonic alone does not restore Bot data and recommends restoring before continuing, which helps avoid treating a fresh local installation as the old one and creating a conflicting backup.\n\nRestore now closes the prompt and executes the existing full chain restore without a second window.confirm. Not now only dismisses the prompt. Restore progress, errors, and results continue through the established settings UI. There is no silent automatic restore.\n\nVerification\n\nFour import-guide tests cover partial backup counts, empty/missing manifests, real indexer-failure propagation, prompt count placeholders, and the no-second-confirmation integration. Together with the existing backup suites, 20 backup tests pass. All 28 userIdentityService tests, lint, DSH dependency/kernel-patch checks, and cross-platform checks also pass. The default test entry includes the new tests.\n\nPre-existing baseline failures were documented rather than hidden: standingPages:create lacks an allowlist tier, and GroupTaskDetailView has unused declarations blocking the standard production build. Those unrelated files were not modified.\n\nNo merge, push, deployment, or test backup pins were published for this branch; this development journal is the required on-chain record.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}