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

The /forges list, its fresh-link page and its remove confirm speak the home page's language #9805

Merged opened this

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

Merged

`/forges`, the fresh-link page and the remove confirm now read like the home page: headings over plain rows, no `.card`.

shipped production is serving it deploy 114667f

opened this

/forges, the fresh-link page and the remove confirm now read like the home page: headings over plain rows, no .card.

What changed

  • /forges (src/web/pages/forges.ts): the table sits under "Side by side" and the rows under "Forges", each a <section class="settings-block"> with an <h2>. With none sent, the empty-state box becomes a section headed "No forges sent yet", with the same sentence and the New forge button.
  • Fresh-link page and stop/remove receipts: now a settings-block. Words, buttons, status codes and cache-control: no-store are unchanged. The claim link stays in this one response and is not cached or kept.
  • Remove confirm: a settings-block headed "What removing deletes". The warning text and the "Remove it for good" and "Keep it" buttons are unchanged, as is no-store.
  • claimLinkBody (src/web/pages/new-forge.ts): I dropped the card around the link row, because the fresh-link page shares it. The side effect is that the "forge made" page in the new-forge flow also loses that box. Its words are unchanged.
  • Docs: the shape is recorded in docs/design/areas/lists.md, next to the existing /forges proofs note. No new component class.
  • New test: test/forges-language.test.ts renders /forges (empty, then with one forge) and the remove confirm as the owner. It checks the headings and finds no .card. I did not run it against main; it checks for headings that main doesn't render.

Checks

  • All the forges tests pass, including the timing test, tui-forges and openapi-oa-forges.
  • tsc and design-lint are clean.
  • The gate script printed nothing after I filtered out the sandbox's network-denial lines, so I can't say it passed.
  • In the wider run, one test failed: test/guest-contribute.test.ts, whose git push needs a git binary this sandbox lacks. It is unrelated to this change. The forge's check runs it.
  • I skipped the phone-look test (test/forges-fit.test.ts) because there is no Chromium here.
  • I did not run the full suite, only the tests that cover this change.

Not done

  • I did not call keep_plan: it isn't available in this session.

To try it, sign in as the owner and open /forges, then "Send a fresh link" on an unclaimed forge, then "Remove" on any forge.

🤖 Generated with Claude Code

Closes #9798

commented

/forges, the fresh-link page and the remove confirm now read like the home page: headings over plain rows, no .card.

What changed

  • /forges (src/web/pages/forges.ts): the table sits under "Side by side" and the rows under "Forges", each a <section class="settings-block"> with an <h2>. With none sent, the empty-state box becomes a section headed "No forges sent yet", with the same sentence and the New forge button.
  • Fresh-link page and stop/remove receipts: now a settings-block. Words, buttons, status codes and cache-control: no-store are unchanged. The claim link stays in this one response and is not cached or kept.
  • Remove confirm: a settings-block headed "What removing deletes". The warning text and the "Remove it for good" and "Keep it" buttons are unchanged, as is no-store.
  • claimLinkBody (src/web/pages/new-forge.ts): I dropped the card around the link row, because the fresh-link page shares it. The side effect is that the "forge made" page in the new-forge flow also loses that box. Its words are unchanged.
  • Docs: the shape is recorded in docs/design/areas/lists.md, next to the existing /forges proofs note. No new component class.
  • New test: test/forges-language.test.ts renders /forges (empty, then with one forge) and the remove confirm as the owner. It checks the headings and finds no .card. I did not run it against main; it checks for headings that main doesn't render.

Checks

  • All the forges tests pass, including the timing test, tui-forges and openapi-oa-forges.
  • tsc and design-lint are clean.
  • The gate script printed nothing after I filtered out the sandbox's network-denial lines, so I can't say it passed.
  • In the wider run, one test failed: test/guest-contribute.test.ts, whose git push needs a git binary this sandbox lacks. It is unrelated to this change. The forge's check runs it.
  • I skipped the phone-look test (test/forges-fit.test.ts) because there is no Chromium here.
  • I did not run the full suite, only the tests that cover this change.

Not done

  • I did not call keep_plan: it isn't available in this session.

To try it, sign in as the owner and open /forges, then "Send a fresh link" on an unclaimed forge, then "Remove" on any forge.

🤖 Generated with Claude Code

commented

/forges, the fresh-link page and the remove confirm now read like the home page, with headings over plain rows and no .card. I pushed one more commit because the gate rejected the pull: it wants a Try: line in a commit message when a pull changes src/web/pages/. That commit is empty and carries the line. I did not re-run any check after it, and the forge's check will now run again.

What changed

  • /forges (src/web/pages/forges.ts):

- The table sits under "Side by side" and the rows under "Forges". Each is a <section class="settings-block"> with an <h2>. - With none sent, the empty-state box becomes a section headed "No forges sent yet", with the same sentence and the New forge button.

  • Fresh-link page and stop/remove receipts: now a settings-block. Words, buttons, status codes and cache-control: no-store are unchanged, and the claim link stays in that one response.
  • Remove confirm: a settings-block headed "What removing deletes". The warning text and the "Remove it for good" and "Keep it" buttons are unchanged, as is no-store.
  • claimLinkBody (src/web/pages/new-forge.ts): I dropped the card around the link row, because the fresh-link page shares it. The "forge made" page in the new-forge flow also loses that box; its words are unchanged.
  • Docs: the shape is recorded in docs/design/areas/lists.md. No new component class.
  • New test: test/forges-language.test.ts renders /forges (empty, then with one forge) and the remove confirm as the owner. It checks the headings and finds no .card.

Checks

  • The forges tests pass, including the timing test, tui-forges and openapi-oa-forges. tsc and design-lint are clean.
  • In the wider run, test/guest-contribute.test.ts failed because this sandbox has no git binary. It is unrelated to this change.
  • test/forges-fit.test.ts (the phone look) was skipped for lack of Chromium.
  • I did not run the full suite, only the tests that cover this change.

Not done

  • I did not call keep_plan: it isn't available in this session.

To try it

  • Open /forges as the owner on the preview.
  • Press "Send a fresh link" on an unclaimed forge.
  • Press "Remove" on any forge.

🤖 Generated with Claude Code

Approved

Does what #9798 asked: /forges, the fresh-link page, the receipts and the remove confirm are settings-block sections with h2s and plain rows, no .card. Words, buttons and no-store are kept, and no new class was added. One caveat: on the preview /forges answers 404 to my token, because it is owner-only. I read the source and the test instead of looking at the page.

Next two things:

  1. Test the fresh-link page and claimLinkBody. They lost their card but nothing asserts it. test/new-forge.test.ts only checks the link id and the copy button.
  2. Make the tests in forges-language.test.ts independent. The remove-confirm test relies on the kid file the previous test wrote, so it breaks if run alone.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs