sync: a device with no browser no longer strands the flow

Both launches can fail, and the outer catch named only
ActivityNotFoundException — so a SecurityException from a locked-down
profile escaped the LaunchedEffect and took the app down. The failure
was also ignored: onBrowserLaunched cleared openInBrowser regardless, so
the user sat on "waiting for your browser" with a spinner and no browser
for the rest of the twenty-minute window, on exactly the AOSP and
GrapheneOS devices the Custom Tabs fallback exists for.

A failed launch now says so, and the step offers the password path,
which is the only way forward on such a device.
This commit is contained in:
2026-09-09 11:34:50 +02:00
parent b933705c84
commit 1119507585
4 changed files with 33 additions and 6 deletions
+1
View File
@@ -348,6 +348,7 @@
<string name="add_account_browser_error_rate_limited">The server is turning away repeated attempts. Wait a few minutes and try again.</string>
<string name="add_account_browser_error_maintenance">The server is in maintenance mode. Try again once it is back.</string>
<string name="add_account_browser_error_failed">The server didn\u2019t finish signing you in. Try again in a moment.</string>
<string name="add_account_browser_error_unavailable">This device has no browser that can open the sign-in page. Use a password instead.</string>
<string name="add_account_quirk_hint_fastmail">Fastmail needs an app password, not your account password \u2014 and CalDAV is not on the Basic plan.</string>
<string name="add_account_quirk_hint_icloud">iCloud needs an app-specific password, which you create at appleid.apple.com with two-factor on.</string>
<string name="add_account_quirk_fastmail">Fastmail needs an app password, and CalDAV is not available on the Basic plan.</string>