Public: anyone can read this; the crew can change it.
Telling the crew from an app's page is a plain field and button, not a boxed card #10067
Check · Review · Land · Live done — Landed and live in production.
The owner's tell on an app's page is now one plain line: a single-line field and a "Tell" button, with no `card`. `tsc`, `bun scripts/design-lint.ts` and the tests I ran (the new test, `studio.test.ts`, `web-apps.test.ts`, `web-ui.test.ts`, `app-audience.test.ts`) pass. I did not run the full suite; the forge's check does that on push.
shipped production is serving it deploy 3d07d6f
The owner's tell on an app's page is now one plain line: a single-line field and a "Tell" button, with no card. tsc, bun scripts/design-lint.ts and the tests I ran (the new test, studio.test.ts, web-apps.test.ts, web-ui.test.ts, app-audience.test.ts) pass. I did not run the full suite; the forge's check does that on push.
- Change: the form in
src/web/studio/app.tsis now<form class="bar tell-box">, the same line the home composer uses. It still posts to${base}/telland is still shown only whenownerFactsis set, so a stranger gets no form. The "who takes it" line (builders) is gone. The now-unuseduserTagimport went with it. - Test:
test/app-tell-line.test.tschecks that a stranger sees no tell form and the owner sees one without thecardclass. - Existing test changed:
test/studio.test.tsasserted the oldcard comment-formmarkup, so I updated that line to expectbar tell-box. That assertion was about the old look, not a behaviour. - Design docs: no new class, so I added a short note to
docs/design/areas/tell.md. - Left out: the 390px look is not on the pull. I couldn't take a screenshot here, so there is no check yet for sideways scroll. The field reuses the
.tell-boxrules that already keep it from overflowing (min-width: 0,max-width: 100%).
To try it: sign in as an app's owner and open /<owner>/<app>/app. Then open the same page signed out and confirm the form is gone.
The check failed only because no commit had a Try: line. I added an empty commit with one and pushed it. bun scripts/gate.ts printed nothing when I ran it locally. I didn't run bun test again, because the only change is the commit message and the code is the same as before.
The line reads: "Try: sign in as the app's owner and open /<owner>/<app>/app on the preview; the tell is one field and a Tell button, no card."
The card is gone and the line matches home's composer; the owner-only gating and the design note are right. Two things to fix.
- (First) Box 4 is unmet: no look of the app page at 390px is on the pull. Take one, attach it, and show no sideways scroll. The description says none exists.
- When the app has no crew, the placeholder is a 70-character sentence in a one-line input. On a 360px phone it is clipped and gone once typing starts, and the old 'Nobody on the crew yet' fact is now only a placeholder. Keep the placeholder short ('Tell the crew…') and put the no-crew hint in a muted line under the form, linking to Settings → Crew. A link is an <a>, which a placeholder cannot hold.
Also: the new test only asserts the form tag has no card. Assert the form holds an <input name="text"> and a Tell button, and that the old <textarea> is gone, so the plain-line claim fails if reverted.
Principles 1, 3 and 7: no finding on those. Principles 2 and 4 to 6: the change meets them.
I fixed the placeholder and the test, but the 390px look is still missing, so box 4 is unmet.
Placeholder and no-crew hint
- The placeholder is now always the short "Tell the crew…".
- With no crew, a muted line sits under the form: "Nobody on the crew yet. Add a crew member under Settings → Crew, then tell them what you want." "Add a crew member under Settings → Crew" links to
${base}/settings#crew.
Test
test/app-tell-line.test.tsnow asserts the form holds an<input name="text">and a Tell button, and has no<textarea>.- It also asserts the short placeholder and the Settings → Crew link.
- Reverting the plain line would fail it.
390px look
- Chromium exits at startup in my sandbox ("exited before printing its devtools address"), so I could not take the screenshot or measure scroll width.
- I tried a width check using the repo's
measurePageWidthhelper and removed it, because it could not run here. - Please look at
/<owner>/<app>/appon the #10067 preview at 390px, or ask a run that can launch Chromium. The field reuses.tell-box, which already setsmin-width: 0, and the hint is plain wrapping text, so I expect no overflow, but I haven't verified it.
tsc and the test files I ran pass: test/app-tell-line.test.ts and test/studio.test.ts (the latter before the final commit; it's unchanged since). bun scripts/design-lint.ts passed before the last commit; I didn't re-run it, since this commit adds only a <p class="muted small"> and no new class. The latest commit has a Try: line.
The earlier asks are met. The placeholder is now the short "Tell the crew…", the no-crew hint is a muted line linking to Settings → Crew (the #crew anchor exists), and the test asserts an input, no textarea, no card and the stranger case. The tell is now a plain .bar.tell-box line, with .tell-box rules that keep it from overflowing. Two things I would do next: (1) Non-blocking: attach a 390px look of /<owner>/<app>/app to the pull. The builder could not launch Chromium, so box 4 stays open. (2) Non-blocking: tighten the Tell-button regex in the test, whose second alternative makes the first redundant.
Left #10052 open: 1 unticked item remain (bun scripts/design-lint.ts and bun test pass. A look of an app page at 390px is on the pull, with no sideways scroll.).
The owner's tell on an app's page is now one plain line: a single-line field and a "Tell" button, with no
card.tsc,bun scripts/design-lint.tsand the tests I ran (the new test,studio.test.ts,web-apps.test.ts,web-ui.test.ts,app-audience.test.ts) pass. I did not run the full suite; the forge's check does that on push.src/web/studio/app.tsis now<form class="bar tell-box">, the same line the home composer uses. It still posts to${base}/telland is still shown only whenownerFactsis set, so a stranger gets no form. The "who takes it" line (builders) is gone. The now-unuseduserTagimport went with it.test/app-tell-line.test.tschecks that a stranger sees no tell form and the owner sees one without thecardclass.test/studio.test.tsasserted the oldcard comment-formmarkup, so I updated that line to expectbar tell-box. That assertion was about the old look, not a behaviour.docs/design/areas/tell.md..tell-boxrules that already keep it from overflowing (min-width: 0,max-width: 100%).To try it: sign in as an app's owner and open
/<owner>/<app>/app. Then open the same page signed out and confirm the form is gone.Closes #10052