~ 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 feed event says where its pull or issue stands now

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:ios/recent-state

What changes

Recent shows where a pull stands. The iOS app's home listed a pull you opened as "You opened", with an open icon, after the merge queue had merged it. Now it says "Merged", or "Closed", with that state's icon. A row for a comment keeps its line, and its icon shows the state too.

getFeed's opened, commented and changed events gain an optional subjectState: where the pull or issue stands now, whoever moved it there.

Why

The runner writes the state record when it lands a queued pull, under its own account. A feed of one account's events never holds it, so the newest event on that pull stayed "opened".

How it was checked

the_feed reads subjectState on opened, commented and changed events after a merge and a close. just ios-look home drew merged, open, closed, merged by hand and commented rows against the lexicon-checked answer, and each showed the right line and icon.

Shortcomings

A "You closed" row for something since reopened still says "You closed", with an open icon. Web pages don't use the field. The build already prepared for TestFlight doesn't have this change, so it needs a new build.

🤖 Generated with Claude Code

Approved

This adds an optional subjectState to the opened, commented and changed feed events. The server fills it from the repository's assembled items, which already hold each pull's or issue's current state. The iOS home then uses it for the row's label and icon. The lexicon, api.md, the the_feed test and the Swift models are all updated together. The fallback is sensible: standing = subjectState ?? state, so an older server still draws as before. No change file is needed, because the change touches neither crates/knotless nor crates/knotless-mcp. I found nothing that needs changing. The "You closed" after a reopen is a limitation the body already states.

Approved

Since my approval, the pull has gained a merge of main and a fix to the_feed. The test now expects subjectState: "open" on the issue's events. That is correct, because the test closes the issue and then reopens it, so it ends open. The rest of the diff is unchanged. It still adds the optional subjectState to the feed events, and it is filled from the assembled items. The lexicon, api.md and the Swift fallback subjectState ?? state all agree. I found nothing that needs changing.

Merged as 560cb9f