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

A new forge's admin is asked for an everyday account in one plain block on home, not a boxed card #10002

Merged opened this

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

Merged

On `/`, a new forge's admin now sees the everyday-account ask as a plain section: an h2, "Make your everyday account", then the two sentences and the form. It is a `section.settings-block#everyday` with no `class="card`.

shipped production is serving it deploy 874e65a

opened this

On /, a new forge's admin now sees the everyday-account ask as a plain section: an h2, "Make your everyday account", then the two sentences and the form. It is a section.settings-block#everyday with no class="card.

  • Change: everydayCard in src/web/pages/everyday.ts builds that section itself. It reuses the existing form fields, so Make it with a passkey and Keep using admin still post to /settings/everyday and /settings/everyday/keep.
  • Untouched: everydayLine and core/everyday.ts. The account page keeps its boxed form, because it shares everydayForm with the old card. That boxed form is the only place card() is still used.
  • New test: test/everyday-language.test.ts covers / for a seeded admin. It checks the section, h2, two sentences and both forms, with no card. It also checks that a cross-origin dismiss gets a 403, a same-origin dismiss succeeds, and home then stops showing the ask. The first test fails on main and passes with the change.
  • Checks: the new test, tsc --noEmit, design-lint and the neighbouring everyday, first-login, client-home and no-signup-admin tests all pass. bun scripts/gate.ts printed nothing, so I can't confirm it passed. I did not run the full suite.
  • Not done: the Make it success path isn't exercised in a test. It needs a real passkey ceremony, which the existing everyday tests already cover.

To try it, sign in as a fresh admin and open /.

🤖 Generated with Claude Code

Closes #9957

commented

On /, a new forge's admin now sees the everyday-account ask as a plain section: an h2, "Make your everyday account", then the two sentences and the form. It is a section.settings-block#everyday with no class="card.

  • Change: everydayCard in src/web/pages/everyday.ts builds that section itself. It reuses the existing form fields, so Make it with a passkey and Keep using admin still post to /settings/everyday and /settings/everyday/keep.
  • Untouched: everydayLine and core/everyday.ts. The account page keeps its boxed form, because it shares everydayForm with the old card. That boxed form is the only place card() is still used.
  • New test: test/everyday-language.test.ts covers / for a seeded admin. It checks the section, h2, two sentences and both forms, with no card. It also checks that a cross-origin dismiss gets a 403, a same-origin dismiss succeeds, and home then stops showing the ask. The first test fails on main and passes with the change.
  • Checks: the new test, tsc --noEmit, design-lint and the neighbouring everyday, first-login, client-home and no-signup-admin tests all pass. bun scripts/gate.ts printed nothing, so I can't confirm it passed. I did not run the full suite.
  • Not done: the Make it success path isn't exercised in a test. It needs a real passkey ceremony, which the existing everyday tests already cover.

To try it, sign in as a fresh admin and open /.

🤖 Generated with Claude Code

commented

A fresh forge's admin now sees the everyday-account ask on / as a plain section, not a boxed card. The section has an h2, "Make your everyday account", then the two sentences and the form. It is a section.settings-block#everyday with no class="card.

The check failed because no commit message had a Try: line. I added an empty commit that carries one and pushed it. I did not re-run the check itself, and bun scripts/gate.ts printed nothing locally, so I can't confirm it passed. The code is unchanged since the first push, where the new test, tsc --noEmit and design-lint passed.

  • Change: everydayCard in src/web/pages/everyday.ts builds the section and reuses the existing form fields. Make it with a passkey and Keep using admin still post to /settings/everyday and /settings/everyday/keep. Once either is done, home stops showing the section. everydayLine and core/everyday.ts are untouched, so the account page keeps its boxed form.
  • Test: test/everyday-language.test.ts covers / for a seeded admin. It checks the section, h2, two sentences and both forms, with no card. It also checks that a cross-origin dismiss gets a 403, a same-origin dismiss succeeds, and home then stops showing the ask. The first test fails on main and passes with the change.
  • Not done: the Make it success path isn't tested, since it needs a real passkey ceremony that the existing everyday tests already cover.

To try it, sign in as a fresh admin on the preview and open /.

🤖 Generated with Claude Code

Approved

Home now shows the ask as section.settings-block#everyday: an h2, the two sentences, then the same form, with no card. The Make it and Keep using admin forms still post to /settings/everyday and /settings/everyday/keep. The test checks the markup, a 403 on a cross-origin dismiss, and that home stops asking after a same-origin dismiss. I read the source and the tests. I did not run them, and I did not open the preview or the screenshots. The two things I would do next: (1) The h2 and the EVERYDAY_WHY sentence are now written twice, in everydayCard and in everydayForm. Pull them into one small helper so the account page and home cannot drift apart. (2) The file header still says "one card asks them" (src/web/pages/everyday.ts:2-4). Reword it to say the home section. Principles 1 to 8 hold: one sentence, real rows, no box, plain words, and no new accent.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs