Repository navigation
fix(web): render Markdown in pending question cards - #18460
steventhanna wants to merge 9 commits into
Conversation
|
Note This comment is posted by Julius' dot The description says the native and web evidence is attached, but neither the body nor the conversation currently contains it. Please attach the before/after screenshots and the recording showing that option links and citations open without selecting or advancing an answer, as required by the verification guide. This can stay in draft while you add them. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This focused web fix changes pending-card rendering and hit-testing to enable Markdown links, media, and formatting, with meaningful production interaction impact. Unresolved comments identify concrete concerns around media clicks, disabled dismissal behavior, and mobile parity that require human review. You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 284dfd753a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Dismissing prior approval to re-evaluate f9dea9f
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2ea6134518
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Dismissing prior approval to re-evaluate 34b71e7
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 34b71e77ce
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Cap collapsed Markdown at one line height and restore pointer events for native video controls in both option fields. Keep ChatMarkdown unchanged. These layout and pointer-target invariants require browser CSS checks; TypeScript cannot enforce rendered geometry or hit testing. The existing issue pingdotgg#11132 and PR pingdotgg#18460 track the shared question-card boundary. Validation: 118 focused tests passed; web typecheck, targeted lint, formatting, and diff checks passed. Browser CSS reproduction confirms one-line image/video previews and video hit targets. Native playback was not verified.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9fb9bfafc4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Restore pointer events for ScrollArea parts, code blocks, and horizontal scroll containers at the shared option-content boundary. Both labels and descriptions inherit the fix; plain answer text still reaches the selection button. Browser geometry and pointer targeting require runtime verification; TypeScript cannot enforce this CSS invariant. Related issue pingdotgg#11132 tracks the question-card boundary. Validation: 118 focused tests, web typecheck, targeted lint and formatting passed. Real card browser fixture confirms table scroll and scrollbar drag without answer selection or advancement.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c55eccf099
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Keep a pointer-active wrapper around the dismiss button so disabled pointer events stop at the action boundary instead of hitting the sibling disclosure overlay. Preserve the shared Button disabled behavior. Pointer hit testing is a browser CSS invariant that TypeScript cannot enforce. Related issue pingdotgg#11132 tracks the question-card boundary. Validation: real card browser fixture confirms disabled X clicks leave expanded and collapsed state unchanged, while enabled X fires dismissal once without toggling. All 118 focused tests, web typecheck, targeted lint, formatting and diff checks passed.
Fixes #11132.
Pending question cards render Markdown as literal text, so a login prompt such as
[Linear login link](URL)exposes the URL instead of a clickable label. This is a focused fix for that existing renderer defect on the V2 composer.Use the existing
ChatMarkdownrenderer unchanged for questions and option content. Pass the workspace and scoped thread context through both composer entry points. Use the same renderer for the collapsed preview and clip it to one line, keep raw answer values unchanged, and place link/citation controls beside the selection button so a link cannot select or advance an answer.The defect is a missing renderer boundary. Required context props enforce correct wiring at compile time; Markdown output and pointer behavior require runtime rendering and interaction checks.
Verification
vp test run --project unitforComposerPendingUserInputPanel.{markdown,navigation,permissions}.test.tsx,ComposerPendingUserInputPanel.test.tsx, andChatMarkdown{,.permissions}.test.tsx: 6 files, 118 tests passed.typecheck(tsc-rs --noEmit): passed.git diff --check: passed.vp run --filter @t3tools/desktop build: passed.Integrated V2 checks
Used an isolated repository
.t3database with synthetic pending-question fixtures and harmless example links. No live user database was modified.These are UI fixture checks, not a provider-generated request/answer round trip. Unit tests cover scoped relative file-link destinations; integrated file-preview opening was not confirmed. Mobile uses a separate client and was not changed or tested.
Eight regression cases cover HTML breaks, block elements, inline tags, entities, and sanitized script content. The collapsed preview retains the exact expanded renderer output. It is inert and sits outside the disclosure button; the button references its text for screen readers. No custom parser, text extraction, or renderer mode remains.
ChatMarkdown.tsxis unchanged from the base branch. A regression test also preserves separate option-description paragraphs.Evidence
Native macOS: before
Native macOS: after
Native mouse interactions (20 seconds)
The option help link opens the in-app browser. The citation opens its quote. The selected answer and question stay unchanged.
native-interactions-verified.mov
Web: before
Web: after
Native macOS: collapsed preview
Web: narrow viewport
Web link interaction recording
79ebd979-c1fe-446e-9eda-b2b29e2c99eb-d653d52f-4eba-403c-89aa-b88bf69dbca9-mp4.mp4
Model: GPT-6.1-Sol. Harness: Codex in T3 Code.