Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .changeset/one-row-two-surfaces.md

This file was deleted.

19 changes: 19 additions & 0 deletions packages/gh-cockpit/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# @kud/gh-cockpit

## 0.8.0

### Minor Changes

- 8f92f1f: The PR row is a component now, and anything holding a `GHItem` can draw one.

Until now the only way to render a pull request the way the inbox renders one was to be the inbox. The layout — the aligned health, turn and number cells, the give-up ladder that sheds author, then a label, then size, then threads, then the repo, then the age rather than flooring the title, the two-tier age, the label cell, the diff-size colouring — lived inside a 700-line `ItemRow` in `inbox.tsx`, reachable only through `App`. Any second surface wanting the same row had the choice of mounting the whole inbox or writing the ladder again, and a second copy of that arithmetic is a second place for a row to overflow its container, which Ink answers by compressing every flexible child until the list wraps into a column of fragments.

`PrRow` is that branch, lifted whole and exported: `item`, `active`, `login` and the `cols` it may actually use. It holds no timers and reads no clock. Everything the inbox does to a row over time — the merge sparkle, the transit ramps, the one-shot arrival and departure frames, how long GONE is held — stays in the inbox and reaches the row as three props after the decisions are made: `icon` puts a caller's glyph in the health cell, `motion` says whether the title is arriving, departing or struck off, and `announcements` are the solid pills the row ends on. That is the whole seam, and it is what lets the choreography stay in one place while the layout is shared.

Two things moved with it. `truncate` is its own module, since both row renderers measure against the same budget. The backdrop — the `DimContext` that dims the list behind an overlay, its `Text` wrapper and `backdropStyle` — is its own module too, and that one is load-bearing: the context has to be a single instance, and two modules each calling `createContext` would compile, render, and silently never dim. Both keep their existing addresses on `@kud/gh-ink`.

One behaviour changed on the way. A row wearing GONE was charged two columns for its pill's caps but nothing for the word inside them, so its title was priced eight columns wider than the row it was about to draw — invisible at a normal width and an overflow at a narrow one. Announcements are now charged in full, the same as MERGED always was.

### Patch Changes

- Updated dependencies [8f92f1f]
- @kud/gh-ink@0.61.0

## 0.7.2

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/gh-cockpit/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@kud/gh-cockpit",
"version": "0.7.2",
"version": "0.8.0",
"description": "A configurable GitHub cockpit for the terminal — your PRs, reviews and issues in one Ink TUI, grouped by whose move it is.",
"type": "module",
"main": "dist/index.js",
Expand Down Expand Up @@ -54,7 +54,7 @@
},
"dependencies": {
"@kud/gh": "0.17.0",
"@kud/gh-ink": "0.60.0",
"@kud/gh-ink": "0.61.0",
"@kud/ink-ui": "0.30.0",
"zx": "8.8.5",
"@kud/gh-workflow": "0.13.0"
Expand Down
14 changes: 14 additions & 0 deletions packages/gh-ink/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# @kud/gh-ink

## 0.61.0

### Minor Changes

- 8f92f1f: The PR row is a component now, and anything holding a `GHItem` can draw one.

Until now the only way to render a pull request the way the inbox renders one was to be the inbox. The layout — the aligned health, turn and number cells, the give-up ladder that sheds author, then a label, then size, then threads, then the repo, then the age rather than flooring the title, the two-tier age, the label cell, the diff-size colouring — lived inside a 700-line `ItemRow` in `inbox.tsx`, reachable only through `App`. Any second surface wanting the same row had the choice of mounting the whole inbox or writing the ladder again, and a second copy of that arithmetic is a second place for a row to overflow its container, which Ink answers by compressing every flexible child until the list wraps into a column of fragments.

`PrRow` is that branch, lifted whole and exported: `item`, `active`, `login` and the `cols` it may actually use. It holds no timers and reads no clock. Everything the inbox does to a row over time — the merge sparkle, the transit ramps, the one-shot arrival and departure frames, how long GONE is held — stays in the inbox and reaches the row as three props after the decisions are made: `icon` puts a caller's glyph in the health cell, `motion` says whether the title is arriving, departing or struck off, and `announcements` are the solid pills the row ends on. That is the whole seam, and it is what lets the choreography stay in one place while the layout is shared.

Two things moved with it. `truncate` is its own module, since both row renderers measure against the same budget. The backdrop — the `DimContext` that dims the list behind an overlay, its `Text` wrapper and `backdropStyle` — is its own module too, and that one is load-bearing: the context has to be a single instance, and two modules each calling `createContext` would compile, render, and silently never dim. Both keep their existing addresses on `@kud/gh-ink`.

One behaviour changed on the way. A row wearing GONE was charged two columns for its pill's caps but nothing for the word inside them, so its title was priced eight columns wider than the row it was about to draw — invisible at a normal width and an overflow at a narrow one. Announcements are now charged in full, the same as MERGED always was.

## 0.60.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/gh-ink/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@kud/gh-ink",
"version": "0.60.0",
"version": "0.61.0",
"description": "Ink components for rendering GitHub PR review comments and health — controlled, presentation-only, built on @kud/ink-ui and fed by @kud/gh.",
"type": "module",
"main": "dist/index.js",
Expand Down
7 changes: 7 additions & 0 deletions packages/gh-pr-comments/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @kud/gh-pr-comments

## 0.1.115

### Patch Changes

- Updated dependencies [8f92f1f]
- @kud/gh-ink@0.61.0

## 0.1.114

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/gh-pr-comments/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@kud/gh-pr-comments",
"version": "0.1.114",
"version": "0.1.115",
"description": "Browse, reply to, and resolve GitHub PR review comments in the terminal.",
"type": "module",
"bin": {
Expand Down Expand Up @@ -37,7 +37,7 @@
},
"dependencies": {
"@kud/gh": "0.17.0",
"@kud/gh-ink": "0.60.0",
"@kud/gh-ink": "0.61.0",
"@kud/ink-ui": "0.30.0",
"ink": "7.1.0",
"react": "19.2.7"
Expand Down
7 changes: 7 additions & 0 deletions packages/gh-pr-health/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @kud/gh-pr-health

## 0.1.115

### Patch Changes

- Updated dependencies [8f92f1f]
- @kud/gh-ink@0.61.0

## 0.1.114

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/gh-pr-health/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@kud/gh-pr-health",
"version": "0.1.114",
"version": "0.1.115",
"description": "Checks, reviews and merge state for a GitHub PR in the terminal.",
"type": "module",
"bin": {
Expand Down Expand Up @@ -37,7 +37,7 @@
},
"dependencies": {
"@kud/gh": "0.17.0",
"@kud/gh-ink": "0.60.0",
"@kud/gh-ink": "0.61.0",
"@kud/ink-ui": "0.30.0",
"execa": "9.6.1",
"ink": "7.1.0",
Expand Down