fix: remove double border on content in chat#8545
Conversation
The table-wrapper element from streamdown had its own border, creating a double-border effect with the inner table's border. Override with border: none on the outer wrapper to keep only the inner border. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Code blocks and mermaid blocks have the same outer/inner double-border pattern as table wrappers. Apply border: none to all three. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Override streamdown's code-block wrapper to use CSS grid, placing the header (language label) and actions (download/copy buttons) in the same grid row instead of relying on negative margin overlap. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the fragile position: absolute approach with CSS grid to place the language label and action buttons on the same row. Resolves three issues from code review: 1. The + div sibling selector could match code-block-body when controls are disabled. Now guarded with :has([data-streamdown="code-block-actions"]) so it only matches when the actions wrapper is actually present. 2. position: absolute removed streamdown's sticky scroll behavior on the actions wrapper, causing copy/download buttons to scroll out of view on tall code blocks. Grid placement preserves the original sticky positioning — only the -mt-10 negative margin is cancelled. 3. The previous commit message said "CSS grid" but used absolute positioning. This implementation actually uses CSS grid. Signed-off-by: Matt Toohey <contact@matttoohey.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ef578e7213
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| } | ||
| } | ||
|
|
||
| /* Remove outer border on streamdown wrappers (inner content already has one) */ |
There was a problem hiding this comment.
Remove comment that restates selector behavior
The root AGENTS.md rule for this repo says to avoid comments that restate what code does, but this newly added comment is just a plain-language duplicate of the selector plus border: none. Keeping this kind of comment increases drift risk when selectors evolve and violates the documented code-quality standard; remove it (and the similar comment below) or replace with a true "why" rationale.
Useful? React with 👍 / 👎.
The display: grid override on [data-streamdown="code-block"] had the same specificity (0,1,0) as Tailwind's flex class, relying on CSS source order to win. Double the attribute selector to [data-streamdown="code-block"][data-streamdown] for specificity 0,2,0, making it resilient to Tailwind output order changes. Resolves code review comment from e3c40763. Signed-off-by: Matt Toohey <contact@matttoohey.com>
Remove the "what" comments that duplicate what the selectors and declarations already express. Keep only the specificity-bump rationale which explains a non-obvious technique. Resolves code review feedback re AGENTS.md comment guidelines. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…l-placeholder * origin/main: (64 commits) fix: expand tool calls by default when Response Style is Detailed (aaif-goose#8478) fix: create logs dir before writing llm request log (aaif-goose#8522) fix: enable token usage tracking and configurable stream timeout for Ollama provider (aaif-goose#8493) fix tauri-plugin-dialog version constraint to match other plugins (aaif-goose#8542) call goose serve from tauri frontend via goose-acp client (aaif-goose#8549) failed the script when bundle:default fails and cleanup "alpha" (aaif-goose#8580) pass globally unique conversation identifier as sessionId in databricks api call (aaif-goose#8576) fix: use sqlx chrono decode for thread timestamps instead of manual parsing (aaif-goose#8575) docs: remove stale gemini-acp references (aaif-goose#8572) show individual untracked files in git changes widget (aaif-goose#8574) fix: update publishing flow to include new sdk dir (aaif-goose#8573) fix: remove double border on content in chat (aaif-goose#8545) chore(goose2): `just goose2 <command>` with the addition of `just goose2 kill` (aaif-goose#8570) Lifei/oltp data (aaif-goose#8458) Sidebar polish: search copy, dividers, project reorder, fix DnD (aaif-goose#8568) remove the workflow_dispatch check (aaif-goose#8563) fix: one more rename (aaif-goose#8562) fix(desktop): accept self-signed certs from configured external goosed host (aaif-goose#8400) alexhancock/npm-bumps (aaif-goose#8557) Remove npm publish from release for now (aaif-goose#8558) ...
* main: (37 commits) polish: refine sidebar activity indicators, add placeholder token, and tidy search field (#8606) feat: add /edit command to cli for on-demand prompt editing (#8566) docs(mcp): add Rendex MCP Server extension tutorial (#8541) Lifei/delete tauri backend acp (#8582) chore: set goose binaries as executable in package.json (#8589) feat: add Novita AI as declarative provider (#8432) feat: add Kimi Code provider with OAuth device flow authentication (#8466) fix: chat loading-state model placeholder (#8431) fix: expand tool calls by default when Response Style is Detailed (#8478) fix: create logs dir before writing llm request log (#8522) fix: enable token usage tracking and configurable stream timeout for Ollama provider (#8493) fix tauri-plugin-dialog version constraint to match other plugins (#8542) call goose serve from tauri frontend via goose-acp client (#8549) failed the script when bundle:default fails and cleanup "alpha" (#8580) pass globally unique conversation identifier as sessionId in databricks api call (#8576) fix: use sqlx chrono decode for thread timestamps instead of manual parsing (#8575) docs: remove stale gemini-acp references (#8572) show individual untracked files in git changes widget (#8574) fix: update publishing flow to include new sdk dir (#8573) fix: remove double border on content in chat (#8545) ...
Tables
Before
After
Code Block
After
Summary
Test plan
🤖 Generated with Claude Code