Backfill start-window indicator, account-delete spinner, app-password Help popup

- Backfill: show the sidebar spinner + "Preparing…" banner during the brief window
  after account creation when state=backfilling but total is not yet counted
  (total===0), so a freshly-added account shows progress immediately instead of
  looking done until a refresh. The stuck-at-100% guard is preserved.
- Settings: a centered spinner overlay ("Removing account…") covers the screen from
  confirm until the (slow) server cascade + accounts refetch complete, so the row
  no longer appears frozen before it disappears.
- Add-account wizard: the manual password hint now includes Outlook and gains a
  "Help" link opening a popup with per-provider direct links to enable 2-step
  verification and generate the app password (Gmail, Outlook, Yahoo, iCloud).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U72FZiF1W1pb8XxyWBTREA
This commit is contained in:
2026-08-07 07:59:26 +02:00
co-authored by Claude Opus 4.8
parent 12a67825cc
commit 719eeef378
5 changed files with 144 additions and 18 deletions
+11 -1
View File
@@ -236,7 +236,15 @@ export const en = {
"wizard.port": "Port",
"wizard.security": "Security",
"wizard.accountPassword": "Account password",
"wizard.appPasswordHint": "For Gmail/Yahoo/iCloud use an app password.",
"wizard.appPasswordHint": "For Gmail, Yahoo, iCloud, or Outlook use an app password.",
"wizard.help": "Help",
"wizard.appPasswordHelp.title": "Set up an app password",
"wizard.appPasswordHelp.intro":
"These providers need a one-time app password instead of your normal password:",
"wizard.appPasswordHelp.prefix": "Make sure to",
"wizard.appPasswordHelp.twoStep": "turn on 2-step verification",
"wizard.appPasswordHelp.middle": "if you haven't done it yet, and then",
"wizard.appPasswordHelp.generate": "generate the app password",
"wizard.test": "Test & continue",
"wizard.testing": "Testing connection…",
"wizard.testOk": "Connection works.",
@@ -303,6 +311,7 @@ export const en = {
"settings.downloadAllMail": "Sync remaining mail",
"settings.syncedPartially": "Synced partially",
"backfill.importing": "Importing messages… {done} of {total}",
"backfill.preparing": "Preparing to import messages…",
"settings.appearance": "Appearance",
"settings.handle": "Handle",
"settings.recoveryEmail": "Recovery email",
@@ -376,6 +385,7 @@ export const en = {
"settings.addAccount": "Add account",
"settings.syncState": "State: {state}",
"settings.confirmRemoveAccount": "Remove this account and all its mail?",
"settings.removingAccount": "Removing account…",
"settings.editAccount": "Edit account",
"settings.color": "Color",
"settings.serverSettings": "Change server settings / password",