v1.0.22-debug — save-flow hardening
Fix: Confirm can no longer get stuck on "Saving…"
Root cause: the Confirm coroutine set saving = true but only cleared it on the success
paths. If the pre-save connection gate threw (e.g. a cancelled coroutine) or a server test
was slow, saving was never reset and no error was shown — the UI froze on "Saving…".
Changes:
- AddAccountScreen: the whole save block is now wrapped in
try/catch/finallysosaving
is ALWAYS reset and the real error is surfaced (no more silent freeze). Provision is bounded
bywithTimeout(45_000). - SyncManager.provision: the 4 connection tests (IMAP / CalDAV / CardDAV / VTODO) now run
concurrently instead of sequentially — worst case drops from ~80s to ~20s.
Install the APK below (sideload). After tapping Confirm you will now see either:
- "Confirmed" (account saved), or
- a red error message naming the exact failure (e.g. "Save timed out…" or "Could not connect (email): …")
If it still fails, the on-screen error now tells us the real cause — paste it (or the logcat)
so the underlying host/test can be fixed precisely.
Verify
- Tap Confirm -> resolves within ~20s (success or a visible error), never a permanent "Saving…".
- For houseofmanns.com: IMAP + CalDAV/CardDAV should now connect (mail. host from v1.0.21).