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

A guest pull's "What happens next" reads as plain lines under a heading, not a boxed card #10013

Merged opened this

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

Merged

The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.

shipped production is serving it deploy f21b126

opened this

The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.

What changed:

  • src/web/pages/pull-guest.ts: Both returns of strangerCard now render a <section class="settings-block mb"> with a plain <h2>, "What happens next" or "A guest", above the paragraphs. They no longer use card(...).

- The guest-waits sentence, the "Look closely" wall lines (still role="alert") and the "Approve this guest" form are unchanged. The form is still a same-origin POST that only writers see. - The form gets class="mt" so it doesn't sit flush against the text. - The icons that were in the card headings (ban/clock/globe) are gone, as in the earlier home-language changes like #10002. A guarded path still shows as an alert on the sentence. - The unused card and icon imports are removed.

  • test/pull-guest-language.test.ts (new): A stranger opens a pull from their own fork, and the page is loaded as the owner (a writer) and as the author.

- For a guest nobody has approved yet: the "A guest" section has no class="card, and it shows the guest-waits sentence and the what-happens-next sentence. Only the writer sees Approve, which posts to /approve-guest. - Once approved: the "What happens next" section has no card and no Approve for either person. - Both tests fail on main.

Not done: No new CSS class and no design-area note, because settings-block already exists. The issue's keep_plan tool isn't available in this run, so the issue has no plan.

Checks:

  • bun scripts/gate.ts, bun x tsc --noEmit and bun scripts/design-lint.ts pass.
  • test/pull-guest-language.test.ts, test/guest-pull.test.ts, test/stranger-pull.test.ts and test/guest-pull-env.test.ts pass.
  • In test/guest-contribute.test.ts, one test fails: "…walks the guest path through MCP and git". Its git push to the test server returns 128 in this sandbox. It fails the same way on main, and this change doesn't touch it.

To try it: open a pull from a fork by an account that can't write the repository. The owner sees an "A guest" heading, two plain sentences and the Approve button. The author sees the same text without the button.

🤖 Generated with Claude Code

Closes #10004

commented

The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.

What changed:

  • src/web/pages/pull-guest.ts: Both returns of strangerCard now render a <section class="settings-block mb"> with a plain <h2>, "What happens next" or "A guest", above the paragraphs. They no longer use card(...).

- The guest-waits sentence, the "Look closely" wall lines (still role="alert") and the "Approve this guest" form are unchanged. The form is still a same-origin POST that only writers see. - The form gets class="mt" so it doesn't sit flush against the text. - The icons that were in the card headings (ban/clock/globe) are gone, as in the earlier home-language changes like #10002. A guarded path still shows as an alert on the sentence. - The unused card and icon imports are removed.

  • test/pull-guest-language.test.ts (new): A stranger opens a pull from their own fork, and the page is loaded as the owner (a writer) and as the author.

- For a guest nobody has approved yet: the "A guest" section has no class="card, and it shows the guest-waits sentence and the what-happens-next sentence. Only the writer sees Approve, which posts to /approve-guest. - Once approved: the "What happens next" section has no card and no Approve for either person. - Both tests fail on main.

Not done: No new CSS class and no design-area note, because settings-block already exists. The issue's keep_plan tool isn't available in this run, so the issue has no plan.

Checks:

  • bun scripts/gate.ts, bun x tsc --noEmit and bun scripts/design-lint.ts pass.
  • test/pull-guest-language.test.ts, test/guest-pull.test.ts, test/stranger-pull.test.ts and test/guest-pull-env.test.ts pass.
  • In test/guest-contribute.test.ts, one test fails: "…walks the guest path through MCP and git". Its git push to the test server returns 128 in this sandbox. It fails the same way on main, and this change doesn't touch it.

To try it: open a pull from a fork by an account that can't write the repository. The owner sees an "A guest" heading, two plain sentences and the Approve button. The author sees the same text without the button.

🤖 Generated with Claude Code

commented

The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.

What changed:

  • src/web/pages/pull-guest.ts: Both returns of strangerCard now render a <section class="settings-block mb"> with a plain <h2>, "What happens next" or "A guest", above the paragraphs. They no longer use card(...).

- The guest-waits sentence, the "Look closely" wall lines (still role="alert") and the "Approve this guest" form are unchanged. The form is still a same-origin POST that only writers see. - The form gets class="mt" so it doesn't sit flush against the text. - The icons that were in the card headings (ban/clock/globe) are gone, as in the earlier home-language changes like #10002. A guarded path still shows as an alert on the sentence. - The unused card and icon imports are removed.

  • test/pull-guest-language.test.ts (new): A stranger opens a pull from their own fork, and the page is loaded as the owner (a writer) and as the author.

- For a guest nobody has approved yet: the "A guest" section has no class="card, and it shows the guest-waits sentence and the what-happens-next sentence. Only the writer sees Approve, which posts to /approve-guest. - Once approved: the "What happens next" section has no card and no Approve for either person. - Both tests fail on main.

  • Gate fix: The first push failed the gate's "say how to try it on the preview" rule because no commit message had a Try: line. Amending would need a force push, so an empty follow-up commit carries the line.

Not done: No new CSS class and no design-area note, because settings-block already exists. The issue's keep_plan tool isn't available in this run, so the issue has no plan.

Checks:

  • bun x tsc --noEmit and bun scripts/design-lint.ts pass.
  • bun scripts/gate.ts printed nothing after the new commit. I didn't capture its exit code, so the forge's check on this push is the real confirmation that the Try: rule is satisfied.
  • test/pull-guest-language.test.ts, test/guest-pull.test.ts, test/stranger-pull.test.ts and test/guest-pull-env.test.ts pass.
  • In test/guest-contribute.test.ts, one test fails: "…walks the guest path through MCP and git". Its git push to the test server returns 128 in this sandbox. It fails the same way on main, and this change doesn't touch it.

To try it: open a pull from a fork by an account that can't write the repository. The owner sees an "A guest" heading, two plain sentences and the Approve button. The author sees the same text without the button.

🤖 Generated with Claude Code

Approved

Both returns are now a plain settings-block section with an h2 and paragraphs, using the existing class and no new CSS. The wall lines keep role=alert, and the Approve form stays a same-origin POST shown only to writers. Principles 6 and 7 are met (no box, rows of text), and it works without JavaScript. The new test fails on main. Next: (1) rewrap the docblock in pull-guest.ts, where one line runs long. (2) Check the phone screenshot of a guarded-path pull, now that the ban icon is gone and only role=alert marks the warning.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs