fix(meeting): the page opened on an empty comment thread - #122
Merged
Conversation
The right pane defaulted to comments, so the widest panel on a recorded meeting opened on "nobody has said anything yet" — visible in the very screenshot the marketing site was built from, where two fifths of the window is an empty thread. The transcript is what somebody opens a meeting to read; it is the default now, and it is listed first. The left column ran player, draft, ask, export, and then — last, under the button that mails it — whatever the person had actually written. Reordered to the order somebody works in: what you wrote, what it was summarised into, the recording it came from, then the two things you do with it. Typed notes are split out of the section list so they lead the column rather than landing wherever the file happened to hold them. The draft panel claimed the accent. `theme.css` says in its own words that green means "live or chosen" and may not also mean "written by a model" — and this is the largest block of machine-written prose in the app, so it was the one place still contradicting the rule. It takes the assistant violet, the gradient the home screen's agent card uses, and a single fade-up on arrival: a summary lands while the page is being read, and movement is what distinguishes new content from a redraw. Playback failure was an alarm. A lane that will not open was drawn in recording-red under a transport stuck at 0:00, and `String(e)` put a raw DOMException in front of the reader. It is now one quiet line, and the transport stays so the lane picker and the retry are still reachable. Replacing the transport with the "audio was pruned" notice was tried and reverted: `e2e/meeting.mjs` caught that it removes the controls, and it asserts a reason — pruning — that nobody established. Two Vietnamese wrapping bugs, both visible in the shipped screenshots: a Button label breaking inside a fixed-height pill, and CardHeader squeezing a title until it broke mid-phrase while the count broke beside it. Labels no longer wrap; the header row wraps instead of squeezing. Finally, the agents screen drew nothing at all when the roster came back empty — an agent is a folder in the vault, so deleting the last one left a heading above six hundred pixels of background. It is one of the three screens `e2e/density.mjs` does not visit.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The right pane defaulted to comments, so a recorded meeting opened on "nobody has said anything yet" — two fifths of the window, visible in the screenshot the marketing site was built from. The transcript is what somebody opens a meeting to read.
What changed
theme.csssays green means "live or chosen" and may not also mean "written by a model"; this was the one place still contradicting it. Plus a single fade-up on arrival, since a summary lands while the page is being read.String(e)no longer shows a raw DOMException, and the transport stays so the lane picker and retry remain reachable.Buttonlabels breaking inside a fixed-height pill, andCardHeadersqueezing a title until it broke mid-phrase.e2e/density.mjsdoes not visit.A reverted attempt worth recording
Replacing the transport with the "audio was pruned" notice was tried.
e2e/meeting.mjscaught it: it removes the controls, and it asserts a reason — pruning — that nobody established. A file that will not open may have been moved, or be mid-write.Verification
tsc,eslint --max-warnings 0, 441 unit tests, and e2emeeting/draft/density/review/pages/bodyall pass against a binary rebuilt with--features bundled,models,dub. Screenshots regenerated from that build; the meeting shot no longer carries a red playback error.🤖 Generated with Claude Code