Skip to content

Chat: GitHub Octicons for PR and issue chips (#714 B, D286) - #737

Merged
contursofran merged 24 commits into
mainfrom
agent/714-github-icons
Nov 11, 2026
Merged

contursofran merged 24 commits into
mainfrom
agent/714-github-icons

Conversation

@contursofran

Copy link
Copy Markdown
Owner

Part of #714 (slice B: GitHub icons).

Steps

  1. Add Octicons v19.21.1 (MIT) under assets/icons/github; credit them in NOTICE.
  2. icons.GitHub: state-to-icon map (PRIcon, IssueIcon), GitHubSVG, GitHubIcon drawn in an ink token.
  3. gh pr view of a number (RefState) adds isDraft; github.Ref.Draft. No new gh read.
  4. Chat chips: a PR chip shows its Octicon (open, draft, merged, closed) in ink-48, then the checks dot (running, passed, failed). An issue chip shows the open or closed issue Octicon. The chip address carries "pr.draft"; the tip says "Draft PR #n".
  5. Board PR cell: the same Octicon before the number.
  6. Spec (ChatView.md, Chips and Blocks), D286.

A number that contr does not know stays plain text, so no icon shows (as before).

Not done

  • The work rows of the board panel (viewers/boardwork.go) are hidden behind D147 and their label column is 52px; I did not add an icon there.

Tests

  • icons: TestPRIconMap, TestIssueIconMap, TestEveryGitHubIconLoads.
  • chatview: TestChipGitHub (each kind and state), TestChipIcon (each PR and issue state), TestDraftChipDest, TestChipStates (draft, closed issue), TestBoardPRIcons (board view: draft and merged icons).
  • github: TestRefStateOfAPullRequest reads isDraft.
  • Sheets: ChatViewChips and ChatBlocks, Dark and Light, checked by eye.
  • No e2e test covers this code (the chips are drawn in the markdown view only).

Pre-check

  1. Tests: undid the board icon and saw TestBoardPRIcons fail; undid the chip icon and saw TestChipIcon fail (8 cases).
  2. Plan: all brief items done except work rows (above).
  3. Contract: D286 is new.
  4. Up to date: merged origin/main. The branch starts from Chat: brand marks of known servers on call lines (#709 S4, D274) #734, still open, so the diff shows Chat: brand marks of known servers on call lines (#709 S4, D274) #734 (and Chat: show Claude Code's prompt suggestion in the composer #727, Chat: autocomplete file paths with @ in the composer #708) until they merge.
  5. Diff read: removed a doubled chat-paths fixture the merge made.
  6. Coverage: slice A (model icons) is not in this PR.
  7. Duties: the open and closed PR dots go; the icon shows that state now. The checks dot stays.
  8. Evidence: tmp/sheet PNGs (not committed).

A connector, plugin or other MCP call of a known server shows the
monochrome Simple Icons mark of the server in ink-48 in place of the
kind icon. One table in chatview/tools.go maps the server name.
A worker of the Claude, OpenAI or DeepSeek family shows its mark in
place of its 6px dot, in the dot's ink, and hops while it works.
Another program keeps the dot. Adds the OpenAI and DeepSeek marks of
Simple Icons.
PR chips and the board's PR cell show the pull request Octicon of their
state (open, draft, merged, closed); issue chips show the issue Octicon
(open, closed). The icons are drawn in ink-48. The read of a number adds
isDraft. NOTICE credits Octicons (MIT).
@contursofran
contursofran marked this pull request as ready for review November 11, 2026 19:07
@contursofran
contursofran merged commit 2ea72de into main Nov 11, 2026
2 checks passed
@contursofran
contursofran deleted the agent/714-github-icons branch November 11, 2026 19:07
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