choiminyeong 39cbad522e TASK-041: fix favorite star reverting after switching tabs
toggleFavorite kept starredCoordinatesCache in sync with a successful
star/unstar but never patched repositorySnapshots (the per-mode
full-repository-list cache), so a starred repository's count reverted
to its pre-toggle cached value on the next visit to that mode, and a
newly-starred repository could be silently missing from an
already-cached favorites list.

Fix: two new helpers (adjustCachedStarCounts, removeFromCachedSnapshot)
patch every cached snapshot containing the toggled repository, and a
star invalidates just the FAVORITES snapshot key if already cached.
Chosen over a full cache-clear-and-refetch after live testing showed
Gitea's own starsCount can lag slightly behind a star/unstar on its
plain repository-listing endpoint.

Also fixes a related gap: unstarring from the FAVORITES tab wasn't
updating starredCoordinatesCache at all (only the two ALL-mode
branches were).

Two new regression tests; all existing tests pass unmodified.
Build/test/lint green, live-verified on device.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-29 19:42:08 +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%