Initial commit — iOS share extension for filing Gitea issues
Two-target Xcode project (xcodegen spec). The GiteaIssue container app holds the base URL + personal access token in a shared keychain group; the GiteaIssueShare extension reads them, surfaces a repo picker (with recents) and a title/notes form, then creates the issue, uploads the screenshot as an asset, and patches the body to embed it inline. Min iOS 26.0, signing team V3PF3M6B6U. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Gitea Issue
|
||||
|
||||
iOS share-extension for filing issues to a self-hosted Gitea instance straight from a screenshot.
|
||||
|
||||
Take screenshot → Share → **Gitea Issue** → pick repo, title, notes → submit. The screenshot is uploaded as an attachment and embedded inline in the issue body.
|
||||
|
||||
## Architecture
|
||||
|
||||
Two targets in one Xcode project, sharing an App Group + Keychain:
|
||||
|
||||
- **GiteaIssue** (`com.treytartt.GiteaIssue`) — container app, settings + help only
|
||||
- **GiteaIssueShare** (`com.treytartt.GiteaIssue.Share`) — share extension that does the real work
|
||||
- **App Group**: `group.com.treytartt.GiteaIssue` (cached repo list, recents)
|
||||
- **Keychain group**: `$(AppIdentifierPrefix)com.treytartt.GiteaIssue` (base URL, token)
|
||||
|
||||
iOS 26.0 minimum. Signing team `V3PF3M6B6U`.
|
||||
|
||||
## Layout
|
||||
|
||||
```
|
||||
GiteaIssue/ Container app (settings + help)
|
||||
GiteaIssueShare/ Share extension UI
|
||||
Shared/ Models, Keychain, Settings, GiteaClient, RepoCache
|
||||
project.yml xcodegen spec — regenerate with `xcodegen generate`
|
||||
```
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
xcodegen generate
|
||||
xcodebuild -project GiteaIssue.xcodeproj -scheme GiteaIssue \
|
||||
-destination 'generic/platform=iOS' build
|
||||
```
|
||||
|
||||
## Deploy (ad-hoc)
|
||||
|
||||
Push to `admin/GiteaIssue` on Gitea, then trigger the Mac mini builder at
|
||||
`http://Treys-Mac-mini.local:3090` against the git URL. Builder ships the IPA
|
||||
to `https://appstore.treytartt.com` for OTA install.
|
||||
|
||||
## First-time setup on device
|
||||
|
||||
1. Install via Safari from `appstore.treytartt.com`
|
||||
2. Open the Gitea Issue app, set base URL + personal access token (`repo` scope)
|
||||
3. Tap **Save & test connection** — confirms login and pre-fetches the repo list
|
||||
4. From now on: Photos → screenshot → Share → Gitea Issue
|
||||
Reference in New Issue
Block a user