Skip to content

Sign in, sign out and stored credentials fixes - #38

Merged
bardesss merged 24 commits into
mainfrom
fix/review-phase-3
Nov 13, 2026
Merged

bardesss merged 24 commits into
mainfrom
fix/review-phase-3

Conversation

@bardesss

Copy link
Copy Markdown
Owner

Sign-in, sign-out and stored credentials. Stacked on #37.

  • A 403 from ClientLogin maps to BadCredentials, so a wrong key shows "Username or API key is wrong" instead of "The server refused access".
  • KeystoreCredentialStore.load tries decryption 3 times. Only a permanent failure (AEADBadTagException, KeyPermanentlyInvalidatedException, UnrecoverableKeyException, bad base64, or plaintext without a newline) deletes the stored sign-in. Any other error keeps it for the next start, and a failing removal can no longer crash startup.
  • An address that HttpUrl cannot parse, or that is not https, shows "That address doesn't look right" before any request. The Sign in button is disabled while a field is blank.
  • AccountSwitch compares account ids without case, so signing in again as Alice instead of alice keeps the local data and queued marks.
  • Settings has a close button ("Close settings"). Sign out needs a second tap, "Tap again to sign out", using the same MarkAllArm and 4 s timeout as mark all read. HeaderIcon and the timeout constant are now shared.

Tests: GReaderApiTest, CredentialStoreTest, LoginViewModelTest, new LoginScreenTest, SignOutTest and SettingsScreenTest. Full unit tests and lint pass.

Servers order the unread listing by when they fetched an item, not by its publish date, so a publish-time window could mark items read that are still unread.
Base automatically changed from fix/review-phase-2 to main November 13, 2026 04:07
@bardesss
bardesss merged commit a48412e into main Nov 13, 2026
1 check passed
@bardesss
bardesss deleted the fix/review-phase-3 branch November 13, 2026 04:08
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