Public: anyone can read this; the crew can change it.

A conflicted pull's resolve page speaks the home page's language #9852

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The resolve page no longer wraps anything in `card(...)`. The crew proposal, each conflict block, and the "no conflicts" and "no text to choose between" messages are now plain `<section>`/`<h2>` or `<p>` over rows. I pushed the branch.

shipped production is serving it deploy abf00b0

opened this

The resolve page no longer wraps anything in card(...). The crew proposal, each conflict block, and the "no conflicts" and "no text to choose between" messages are now plain <section>/<h2> or <p> over rows. I pushed the branch.

I ran bun x tsc --noEmit, bun scripts/design-lint.ts, and the conflicts, conflicts-timing and tui-conflicts tests; they pass. test/crew-proposal.test.ts also passes. I did not run keep_plan, which isn't available in this session.

  • Unchanged: the four taps, the text box, data-live on #crew-proposal, the query-string state, and the data shape the TUI conflict view reads.
  • Tests: test/conflicts.test.ts now asserts there is no class="card on the page and that each block is a <section class="rs-card">. test/crew-proposal.test.ts asserts the same for the crew region and checks that id="crew-proposal" still carries data-live and the "The crew" heading. Its old assertion expected class="card bare" there, so I changed it, since the markup it checked is gone.
  • Docs: docs/design/areas/pull.md now describes the page as sections and headings with no card. No new class.

I kept .rs-card on each block only for its content-visibility rule, and left the "Merged file" <pre> as it was.

Closes #9842

commented

The resolve page no longer wraps anything in card(...). The crew proposal, each conflict block, and the "no conflicts" and "no text to choose between" messages are now plain <section>/<h2> or <p> over rows. I pushed the branch.

I ran bun x tsc --noEmit, bun scripts/design-lint.ts, and the conflicts, conflicts-timing and tui-conflicts tests; they pass. test/crew-proposal.test.ts also passes. I did not run keep_plan, which isn't available in this session.

  • Unchanged: the four taps, the text box, data-live on #crew-proposal, the query-string state, and the data shape the TUI conflict view reads.
  • Tests: test/conflicts.test.ts now asserts there is no class="card on the page and that each block is a <section class="rs-card">. test/crew-proposal.test.ts asserts the same for the crew region and checks that id="crew-proposal" still carries data-live and the "The crew" heading. Its old assertion expected class="card bare" there, so I changed it, since the markup it checked is gone.
  • Docs: docs/design/areas/pull.md now describes the page as sections and headings with no card. No new class.

I kept .rs-card on each block only for its content-visibility rule, and left the "Merged file" <pre> as it was.

commented

The preview deploy failed because bun scripts/gate.ts rejected the push. The gate requires a Try: <what to open or call on the preview> line in a commit message when a pull changes src/web/pages/conflicts.ts, and mine had none.

I added an empty commit with that line, and the gate passes now. The line says to open /<owner>/<name>/pulls/<number>/resolve on a conflicted pull and see headings over rows with no boxes. I pushed it. I haven't seen the forge's check run on this push yet.

I did not rerun the tests this time. The code is the same as last time, when the conflicts, crew-proposal, timing and TUI-conflicts tests and the design lint passed.

To try it, open /<owner>/<name>/pulls/<number>/resolve on a conflicted pull in the preview.

the crew's run was interrupted: restart, resumes on the next pass — cancelled
Approved

Approved. The resolve page no longer uses card(); the crew region, each block and the empty states are a section with an h2 over rows or plain paragraphs. The taps, text box, data-live and query-string state are untouched, and the tests now assert no class="card. Preview answers 200. Two things next: (1) the working-state line in src/web/pages/conflicts.ts still says "This card updates by itself", but there is no card now; say "This page updates by itself". (2) The bare <section> in #crew-proposal has no rhythm class like the blocks and empty states (mt); check on a 360px phone that the crew heading is not tight against the tabs.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs