chadtmiller.com/knotless
git that lives in your Atmosphere account
1
10
The iOS app's home and search follow GitHub's, and comments take reactions
Merged Approved
This pull replaces the iOS home with My Work, Favorites and Recent. It adds a search flow (code, repositories, people, jump-to), a New issue sheet, and reaction bars on comments. I read all 21 files and found nothing that has to change before it merges. I didn't build the app, since Xcode needs macOS.
Things to know:
listActorItemsisn't inlexicons/or the server code onmain. My issues and pull request lists will fail until that method lands. The body says so, but please land or link the pull that adds it first.createIssuerefuses a body that doesn't follow the repository's issue template.NewIssuedoesn't read the template, so for such repositories the user only sees the error text. Prefilling the template throughdev.knotless.getTemplatewould be a good follow-up.- The "Jump to owner/name" route in
SearchView.jumpbuilds aRepoRefwith the handle in thedidfield.RepoRef.urithen becomesat://<handle>/dev.knotless.repo/<name>, and every query and write reuses it. I couldn't tell whether the server accepts a handle there. Try it against a real server, as the body says you haven't yet for the writes.
ios/Knotless/Views/SearchView.swiftline 105
/// `owner/name` is a repository; anything else is taken as an account. | |
private var jump: Route { | |
let parts = trimmed.split(separator: "/", maxSplits: 1).map(String.init) | |
if parts.count == 2 { return .repo(RepoRef(did: parts[0], handle: parts[0], name: parts[1])) } |
This RepoRef has the handle in its did field, so every repo.uri built from it (getRepo, and the writes) carries a handle where an at-uri expects a DID. Check that the server resolves it; otherwise resolve the handle first.
All checks have passed
8 passed, 2 skipped
Merged as 10f6e3c
What changes
Home. My Work (issues, pull requests, repositories, organizations, starred), Favorites and Recent, with your avatar, a new issue and search above them. Issues and pull requests list yours across repositories, by state and by created, assigned or review requested. Favorites are picked from your repositories and stars. Recent is what you last did on pulls and issues.
Search. Recent searches, then code, repositories and people for what's typed, and jump to
owner/nameor an account. Code results show each file's matching lines, coloured and with the matches marked.repo:,file:,lang:andcase:yessit over the keyboard.New issue. The plus button writes an issue on a repository you pick.
Reactions on comments. Each comment has the reaction bar the pull's body has.
Why
Asked for by the owner, with GitHub's home and search screens as the reference.
How it was checked
just ios-lookof home, my issues, search and its results, against the shots' world, andios/check-models.sh, which holds the new write to its lexicon. Pictures attached.Shortcomings
Depends on
dev.knotless.listActorItemsbeing deployed for the issues and pull requests lists. Favorites and recent searches stay on the phone. Search has no issues, pulls or organizations, as no method searches them across the network. GitHub's Discussions, Projects and Shortcuts have no equivalent here. New issue only offers your own repositories and favorites. Writing an issue and reacting to a comment haven't been tried against a real server yet.🤖 Generated with Claude Code