Repository navigation
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
User story
As a person reading the Chief of Staff thread, I want to see when each message was posted, so that I can tell how fresh a reply or request is.
Acceptance criteria
- Each person message shows the time it was sent.
- Each Chief of Staff post shows the time it was posted.
- The time uses light, italic, secondary text that does not compete with the message.
- A message from today shows the time only; an older message also shows the date.
- The time uses the browser's locale and time zone.
- The time is hidden on phone-width layouts.
- Screen readers read the full date and time.
What I'd notice
A small italic time under each message in the Chief of Staff thread on desktop.
Tasks
- Render from the post's existing creation time
- Phone breakpoint hides it
- Playwright check on desktop and phone widths
- docs/FEATURES.md row
Contract
Ownership: public/chief-of-staff-page.js, public/apple/chief-of-staff.css, docs/FEATURES.md (new row G6.82), docs/design-chief-of-staff.md (thread section), test/e2e/g6-cos.spec.js, design/homework/mockups/16-cos-message-time-built*.png.
Behaviour (client only; every post already carries at, an ISO time eve sets in _addPost; no server change):
- Every rendered post (person and Chief of Staff, every kind) ends with one
<time class="cos-time" datetime="<post.at>">. A post whoseatdoes not parse renders no time. - Visible text:
Intl.DateTimeFormat(undefined, { timeStyle: 'short' })whenatis on the browser's local today, else{ dateStyle: 'medium', timeStyle: 'short' }. That text isaria-hidden; a visually hidden span (.cos-sr) carries{ dateStyle: 'full', timeStyle: 'short' }for screen readers. - Person posts: the bubble keeps exactly the person's text (existing exact-text locators stay valid); the time sits under the bubble, right-aligned, outside it. Every existing testid stays.
- Style:
font-style: italic; font-weight: 300; color: var(--text-secondary);footnote size. Hidden (display: none) under the phone breakpoint (max-width: 599.98px). - Alert and finished posts drop the clock from their meta line (the project stays; an empty meta line is not rendered), so each post shows its time once.
Waits: the spec waits on the post in the feed, then reads its time; no durations.
Decisions made for the owner
- One time per post: alerts and finished posts move their clock from the top meta line to the light time under the post. On phones they then show no clock, like every other post; the card's "Waiting on you · 5 min" age stays.
- "Today" is decided when the post renders; a page left open past midnight shows yesterday's posts time-only until the next render.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
barelyworkingcode commentedon Oct 12, 2026
Approved by the owner on 2026-10-12. Removing needs-review.