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

The /bring steps speak the home page's language #9774

Merged opened this

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

Merged

Each `/bring` step is now a heading over its words and form. There is no card box around any of them.

shipped production is serving it deploy 2937aef

opened this

Each /bring step is now a heading over its words and form. There is no card box around any of them.

  • What changed: In src/web/pages/bring.ts, one small local helper, step(), replaces all five card(...) uses. The steps are:

- the link form ("Bring it here") - the connect step ("Connect <host> first") - "Ready to run" - "Live here" and "What it needs" - the import checklist, headed by the app's name

  • Unchanged: The forms, field names, actions, OAuth connect link, #bring-connect-card id and <noscript> reload note are as they were. No new component class, so no area doc change. The card icons are gone because the headings carry the step.
  • Test: test/bring.test.ts now asserts, for the link form, connect step, Ready to run and What it needs, that there is no card markup and that a <section class="stack"> heading sits directly over the form. Against the old markup, 3 of those tests fail.
  • Checks run: bun test on the bring tests (including forge-to-forge-walk.test.ts), bun x tsc --noEmit, bun scripts/design-lint.ts and bun scripts/gate.ts all pass. The failing-test comparison above came from stashing my src/ change and re-running test/bring.test.ts.
  • Not measured: I did not time the 50 ms warm response. The page is the same size or smaller and does no extra work.
  • Left out: The "Live here" step and the "Try another link" button keep their existing looks. I did not restyle the stage list itself.
  • To try: Open /bring, paste a link to an app on another forge, and step through connect, import and landing.

🤖 Generated with Claude Code

Closes #9712

commented

Each /bring step is now a heading over its words and form. There is no card box around any of them.

  • What changed: In src/web/pages/bring.ts, one small local helper, step(), replaces all five card(...) uses. The steps are:

- the link form ("Bring it here") - the connect step ("Connect <host> first") - "Ready to run" - "Live here" and "What it needs" - the import checklist, headed by the app's name

  • Unchanged: The forms, field names, actions, OAuth connect link, #bring-connect-card id and <noscript> reload note are as they were. No new component class, so no area doc change. The card icons are gone because the headings carry the step.
  • Test: test/bring.test.ts now asserts, for the link form, connect step, Ready to run and What it needs, that there is no card markup and that a <section class="stack"> heading sits directly over the form. Against the old markup, 3 of those tests fail.
  • Checks run: bun test on the bring tests (including forge-to-forge-walk.test.ts), bun x tsc --noEmit, bun scripts/design-lint.ts and bun scripts/gate.ts all pass. The failing-test comparison above came from stashing my src/ change and re-running test/bring.test.ts.
  • Not measured: I did not time the 50 ms warm response. The page is the same size or smaller and does no extra work.
  • Left out: The "Live here" step and the "Try another link" button keep their existing looks. I did not restyle the stage list itself.
  • To try: Open /bring, paste a link to an app on another forge, and step through connect, import and landing.

🤖 Generated with Claude Code

commented

The check failed because no commit message had a Try: line. I added one in a new empty commit and pushed it. The code is unchanged since the first push.

bun scripts/gate.ts now exits clean with no output. I did not re-run the tests, since nothing but a commit message changed.

Try: open /bring on the preview, paste a link to an app on another forge, and step through connect, import and landing.

🤖 Generated with Claude Code

Changes requested — before the latest push

No security findings: output stays escaped through html``, no new input paths, forms and actions unchanged. The card boxes are gone and the tests assert it. One principle still breaks: nothing explains itself twice (1). Fix the repeated headings below, then it is ready.

commented

Both repeated headings are gone, and the change is pushed to the same branch.

  • Link form: the h2 "Bring it here" is dropped. The h1 "Bring an app" and the "Bring it here" button now carry it.
  • Import step: the h2 that repeated the app name under "Bringing {fullName}" is dropped.
  • step() helper: it now takes null for no heading. The connect, "Ready to run", "Live here" and "What it needs" steps keep theirs, because there the h2 adds something the h1 doesn't.
  • Test: rowsNotBoxes in test/bring.test.ts accepts a null heading and then asserts the section has no h2. The link-form test now uses null.

bun x tsc --noEmit, bun scripts/design-lint.ts and bun scripts/gate.ts are clean. I re-ran test/bring.test.ts and test/forge-to-forge-walk.test.ts, and both pass.

Try: open /bring on the preview and paste a link. The link form and the import list carry no second heading.

🤖 Generated with Claude Code

Approved

Approved. The repeated headings I asked about are gone: the link form and the import list carry no second h2, and step() takes null for that. Every card use is replaced by a heading over its words and form. The ids, form actions and noscript note are kept, and no new component class was added. The tests assert the rows-not-boxes shape for each step form, and the preview answers 200. Nothing here is a security change. Non-blocking: the 50 ms warm response was not timed, though the markup is smaller than before.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs