TASK-027: opening an image (PNG/JPEG/GIF/BMP/WebP, detected by magic bytes) now decodes and shows it, with swipe navigation to the previous/next image in the same folder; opening a .csv file shows a scrollable table instead of raw text. Both reuse the tab-swipe/content-scroll gesture-conflict fix so neither ever triggers the Files/History tab to change underneath it. TASK-028: the Issues/PR list shows up to 5 numbered page buttons plus a [ page / total ] jump field, backed by Gitea's X-Total-Count header (verified against Gitea's own source) and a server-side type=issues filter so the count excludes pull requests. Every other paginated list is unchanged, per this session's earlier scoping decision. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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
- Read
AGENTS.md. - Read
docs/product.mdanddocs/architecture.md. - Select one task from
tasks/. - Assign one writer and one independent reviewer.
- 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
Languages
Kotlin
99.5%
PowerShell
0.5%