Skip to content

feat: comment from the pr overview, and fix thread collapse in the diff - #57

Merged
undont merged 8 commits into
mainfrom
feat/overview-page-improvements
Sep 8, 2026
Merged

undont merged 8 commits into
mainfrom
feat/overview-page-improvements

Conversation

@undont

@undont undont commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • the pr overview gains write features: ga is a standard comment on the pr, gp/gq both answer
    the comment/thread under the cursor, but gq (and v_gq for visual mode) quote from the respective
    comment/thread
  • also in the overview, gc now shows or hides a thread's replies
  • new post_issue_comment sidecar method over graphql addComment
  • ui.overview records a node id per thread and a row span per rendered comment
  • a reply drops the cached thread list first: it is memoised per ttl window, so the re-opened page
    would otherwise still show the pre-reply thread
  • the page wraps on a word, and indents a continuation per line via
    breakindentopt=list:-1 and formatlistpat, which reads a lot better
  • a thread's footer drops the reply count once the replies are on screen, a more friendly UX
  • gc in the diff released its override only on teardown, opting a thread out of
    peeking for the session with no way back; it now lapses as soon as the cursor leaves the anchor
  • thread_collapsed read the configured display mode rather than the one a split layout
    forces, so expanded plus split kept the same stuck override
  • ui.compose lands the cursor past a prefill, which also fixes the conflict re-prompt
    putting you above your own body

Test plan

  • make check and make gql-validate both clean

github does not thread conversation comments, so gp only offers a reply on a code thread box; ga answers everything else with a new comment on the pr.
…indent

the reply count now means one thing in both views: replies you cannot see. the wrap indent moves to breakindentopt=list:-1 so it applies per line, since shift:2 indented plain prose that has no spine to clear.
an override outranks the cursor, so it has to stop outranking it once the cursor has gone; otherwise dismissing one peek opts that thread out for the session, with no third press to get the default back.
split has no choice but the marker and float surface, so a config of expanded was treated there as having no cursor-driven default, and a gc override on it never lapsed.
github doesn't thread these, so gp answers one with a new comment that quotes what it answers; the visual variant quotes the selection alone, which is the part a cursor buys over github's whole-comment quote.
the cursor decides where an answer goes and the key decides whether it quotes, so neither has to explain the other; gq inside an expanded thread quotes the reply the cursor is on.
@undont
undont merged commit 2c8eb80 into main Sep 8, 2026
11 checks passed
@undont
undont deleted the feat/overview-page-improvements branch September 8, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant