db694543c13bbcc84e3919d90345381a5b8f6639
Build iOS App / Build .ipa and publish source (push) Successful in 22s
DiffLine.id was a computed property returning a fresh UUID() on every access. SwiftUI's ForEach requires stable identities; regenerating each read churned the main thread, hanging the diff screen and eventually crashing. Store the UUID once per line. Also add a 30s URLRequest timeout so a hung request can't leave the 'Loading diff...' spinner forever. Bump to 1.5.
GiteaPR
Native iOS app to manage Gitea pull requests from your self-hosted instance (gitea.bueso.eu). Multi-repo inbox, PR review, read-only diff browsing, and Gitea Actions check status with one-tap re-run.
Built unsigned via Gitea Actions on the iMac runner and distributed through the SideStore source at https://apps.bueso.eu/source.json.
Build
xcodebuild -project GiteaPR.xcodeproj -scheme GiteaPR -configuration Release \
-sdk iphoneos -destination 'generic/platform=iOS' \
CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO build
Setup in the app
- Create a personal access token in Gitea
(Settings → Applications) with scopes:
read:repositorywrite:repository(review, merge, comment)read:user
- Enter the instance URL (e.g.
https://gitea.bueso.eu) and the token in Settings. The token is stored in the iOS Keychain.
Known limitations
- Inline file review comments are not exposed by the Gitea API; the diff viewer is read-only and comments are PR-level only.
- No push notifications in v1 (pull-to-refresh + badge).
- No offline queue in v1.
Languages
Swift
100%