Skip to content

feat(settings): add "Refresh cached data" recovery action#508

Open
shukiv wants to merge 1 commit into
bulwarkmail:mainfrom
shukiv:feat/settings-refresh-cached-data
Open

feat(settings): add "Refresh cached data" recovery action#508
shukiv wants to merge 1 commit into
bulwarkmail:mainfrom
shukiv:feat/settings-refresh-cached-data

Conversation

@shukiv

@shukiv shukiv commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

When the mailbox view gets into a stale/wrong state, the only escape was the browser's "clear site data" — which also wipes the saved account list, forcing re-login of every account.

Adds a non-destructive "Refresh cached data" button under Settings → Data: clears server-derived caches (contacts, calendars, identities, per-account snapshots) and reloads to re-fetch fresh, while preserving accounts, sessions, settings, themes, and user content (templates, S/MIME). Two-click confirm avoids an accidental reload.

Pairs with #506 (which auto-recovers the slot-desync case) as the manual escape hatch.

Notes

  • English strings added across all locales; translation is a follow-up (keeps the completeness test green).
  • Excluded from the wipe by design: account-registry, auth-storage, settings-storage, theme-storage, locale-storage, template-storage, smime-preferences.

Test

lib/__tests__/clear-cached-data.test.ts — cache keys cleared, accounts/auth/prefs/templates preserved, reload fired.

When the mailbox view gets into a stale or wrong state, the only escape
was the browser's "clear site data" — which also wipes the saved account
list, forcing a re-login of every account.

Add a non-destructive "Refresh cached data" button under Settings →
Data. It clears the server-derived caches (contacts, calendars,
identities, per-account snapshots) and reloads so they re-fetch fresh,
while preserving accounts, sessions, settings, themes and user content
(templates, S/MIME). Two-click confirm to avoid an accidental reload.

English strings added across all locales (translation follow-up); unit
tests cover the cache-clear (keeps account-registry/auth/prefs) and the
reload.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant