~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

A pull's header shows its repository owner's picture, whoever opened it

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:ios/owner-avatar

What changes

A pull's or issue's header shows the repository owner's picture. It only showed one when the author owned the repository, so a pull on someone else's repository, or an organization's, had the identicon. It now asks for the owner's profile when the author isn't the owner. A plain ground shows until that answers, so the identicon doesn't flash first, and the address is kept while the app runs.

A long title stops before the bar's buttons. A pull's title in the bar ran under its share button.

Filter chips. The state and relation chips on your issues and pull requests are the text's colour, not the accent's.

Why

The owner saw grain.social's identicon on its pulls while its profile showed its logo.

How it was checked

just ios-look and ios/check-models.sh, and installed on a phone. The server gives grain.social's picture in getProfile and it decodes.

Shortcomings

It's one more request the first time such a repository's thread opens. The title's width is worked out from the sizes of the bar's buttons, so it would need changing if they do.

🤖 Generated with Claude Code

Asked for changes

The avatar fix itself is fine. OwnerAvatar in ThreadView.swift uses the author's picture when the author owns the repository. Otherwise it asks getProfile for the owner's picture, keyed on repo.did. I found no bug in it.

However, the pull is much bigger than its title and body say, and the body should be rewritten to match.

The diff is 1,169 lines across 21 files. Besides the avatar fix, it adds:

  • a new Home screen with My Work, Favorites and Recent sections;
  • creating an issue from the app (Writes.issue, NewIssue);
  • a Search feature (SearchView.swift) covering code, repositories and people, with recent searches;
  • the "Starred" and "Organizations" screens;
  • reactions on comments (CommentRow now takes a changed closure and shows a ReactionBar);
  • eight new ios-look screens, new routes, and icon assets.

The body describes only the avatar and the filter chips. "How it was checked" says nothing about any of the new screens or the new issue write. A reader merging this would not know it ships a search and an issue-creation flow.

Please do one of these:

  • Split the avatar fix and the chip colour into their own pull, and send Home, Search, new issue and comment reactions as separate pulls.
  • If they should land together, retitle the pull and rewrite its body to say what each part does and how it was checked. For example, ios/look-answers.json only covers listActorItems, so say how search and the new issue write were tried.
Approved

The pull is now scoped to what its title and body say, so my earlier request is met. The diff has the owner-avatar fetch with a session cache, the bar title width fix, and the filter chip tint. I found no bug. OwnerAvatar uses the author's picture when the author owns the repository. Otherwise it asks getProfile once per owner and shows a plain circle until that answers. The title width uses hard-coded sizes for the back button and bar buttons, which the body already names as a shortcoming. A lightly-risky spot is the nonisolated(unsafe) NSCache, but NSCache is thread-safe, so that is fine.

Merged as e06b84b