choiminyeong 07436d4c83 TASK-033: request write:repository OAuth scope so starring actually works
Gitea's PUT/DELETE /user/starred/{owner}/{repo} require write:repository
token scope (verified against Gitea's route registration source), but
this app's OAuthClientConfig only ever requested read-only scopes,
enforced by a hard require() -- every star/unstar attempt was guaranteed
to fail server-side (403), surfaced as the reported red 'failed' star.

Adds write:repository as one narrow, explicit exception to the read-only
invariant (every other write scope, including the pre-existing unused
write:user, is still rejected). Requires one manual re-login on already
logged-in devices before it takes effect, since a refresh token carries
forward the scope it was originally granted under.

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