A wrong password fetched the encrypted APK before being refused, and a phone browser can keep that fetch as a download. A small sealed check is opened first; nothing is fetched when it fails. 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%