mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-18 00:46:45 +00:00
The scheduled master E2E (run 27927390789, SuperSync 3/6 shard) flaked on "Bidirectional sync works after encryption change via import". The stuck overlay was the "Decryption Failed" dialog (dialog-handle-decrypt-error): it fires asynchronously after a re-sync, and the setupSuperSync dialog loop only handles it within its bounded rounds. A late re-fire was never dismissed, so the final one-shot expect(...).toHaveCount(0) watched the disableClose dialog for the full 15s and timed out. Replace the one-shot late-dialog wait + close assertion with a converging expect.toPass() poll that dismisses whichever late, non-self-closing dialog is present each round (enable-encryption or decrypt-error), then re-checks the overlay is empty — handling appearances that land early, late, or never. Extract the decrypt-error handling into a shared _handleDecryptErrorDialog helper reused by the loop and the drain. Verified via prettier/eslint/tsc; not run live (the @supersync docker e2e can't reach the server from the dev sandbox). |
||
|---|---|---|
| .. | ||
| base.page.ts | ||
| dialog.page.ts | ||
| import.page.ts | ||
| index.ts | ||
| note.page.ts | ||
| planner.page.ts | ||
| project.page.ts | ||
| schedule.page.ts | ||
| settings.page.ts | ||
| side-nav.page.ts | ||
| supersync.page.ts | ||
| sync.page.ts | ||
| tag.page.ts | ||
| task.page.ts | ||
| work-view.page.ts | ||