choiminyeong 9a8f855e5e TASK-038: Settings screen with opt-in reactive auth retry and favorite-push toggle
Two features gated behind a new Settings screen so neither silently
changes existing behavior:

- Reactive auth retry (opt-in, default off): a live 401 despite
  proactive refresh already judging the token fine now optionally
  retries once with a forcibly-refreshed token before falling back to
  re-login. ReactiveTokenProvider is a separate interface from the
  existing fun interface BearerTokenProvider (not an addition to it),
  so every existing test fake keeps compiling; a new shared
  callAuthenticated helper (used by all four Gitea API classes instead
  of four duplicated retry implementations) checks for it and falls
  back to the old single-attempt behavior otherwise.
- Favorite push notifications (on/off, default on): TASK-036's
  background checker can now be turned off entirely, closing that
  task's own 'no in-app way to disable this' limitation.

Every new constructor parameter defaults to preserving old behavior
exactly, so no existing call site or test needed to change.

Live-verified: Settings screen opens from a new button, both switches
toggle and persist across navigation, no crash.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-29 18:11:12 +09:00
2026-08-25 21:42:50 +09:00

UBGitea

Android client for the Ubisam Paju Gitea instance.

The repository currently contains the engineering harness that governs collaborative development by Codex and Claude. Product code will be bootstrapped through the tasks under tasks/.

Start here

  1. Read AGENTS.md.
  2. Read docs/product.md and docs/architecture.md.
  3. Select one task from tasks/.
  4. Assign one writer and one independent reviewer.
  5. Record build and test evidence before marking the task complete.

OAuth uses Authorization Code with PKCE and does not use a client secret.

Local checks

Open the repository root in Android Studio, or use JDK 17 with Android SDK 36 installed and run:

./gradlew assembleDebug
./gradlew testDebugUnitTest
./gradlew lintDebug

The application uses ID com.ubisam.ubgitea and supports Android 9 (API 28) and later. See ADR-001.

Description
No description provided
Readme 88 MiB
Languages
Kotlin 99.5%
PowerShell 0.5%