v1.0.18-debug
Debug build. NOT runtime-verified on-device (no install performed; sideload manually). Compile-verified + evidence-backed.
Fixes:
- IMAP port box off-center (AddAccountScreen AdvancedServerFields): a fillMaxWidth()
Surface lived inside the weight(1f) port Row -> moved to its own full-width Row. - Calendar sync OFF by default: AddAccountScreen overrode SyncConfig.Defaults() with
syncCalendar = calUrl != null, and calUrl was blank (autodiscover/mailcow never fills
it). Now mailcow accounts prefill the EXACT SOGo URL (.../SOGo/dav//Calendar/personal/)
and all sync legs default ON. - Biometric prompt crashed/didn't show (MainActivity): setNegativeButtonText() together
with DEVICE_CREDENTIAL in allowed authenticators -> PromptInfo.build() threw
IllegalArgumentException. Removed the negative button when credential fallback is offered. - Email sync reported failure (items=0) even though INBOX synced: 30s IMAP socket timeout
killed the large Sent fetch (log: Couldn't connect... timeout 30000). Raised timeouts
(conn 60s, read 300s, write 120s) and made a partial sync (>=1 folder synced) report
success so synced mail is not masked by one slow folder.
Still TODO (pending your go-ahead):
- Port Hearthboard's CalDAVClient into UnifiedComms for extra SOGo/Nextcloud robustness
(current UnifiedComms client already handles SOGo directly; calendar likely works now). - Deep-dive email-display if mail is still invisible after a successful sync.
- Adapt UnifiedComms' email function INTO Hearthboard (cross-repo, later).