Going between the two repository tabs sent every row back to "checking" and then to its branch chip, which changed each row's height and the lines of its text twice per move. The view model keeps the branch last found for each repository and starts a reloaded list with it, still checking for a newer one. Agent: main (opus) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
UBGitea
Android client for the Ubisam Paju Gitea instance.
The application signs in with Gitea OAuth and lets employees browse repositories, branches, files, commit history and diffs, issues, pull requests and notifications. It is developed by Claude under the rules in AGENTS.md; every change goes through a task file under tasks/ and is recorded in docs/development-log.md.
Start here
- Read
AGENTS.md. - Read
docs/product.mdanddocs/architecture.md. - Select or write one task under
tasks/. - 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 or later with Android SDK 36 installed (Android Studio's bundled jbr works as JAVA_HOME) 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
Languages
Kotlin
99.5%
PowerShell
0.5%