Skip to content

fix(web): keep attachment errors above question replies - #14372

Closed
Pearcekieser wants to merge 1 commit into
pingdotgg:mainfrom
pearce-codes:fix/question-attachment-feedback
Closed

Pearcekieser wants to merge 1 commit into
pingdotgg:mainfrom
pearce-codes:fix/question-attachment-feedback

Conversation

@Pearcekieser

@Pearcekieser Pearcekieser commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Expanded question composers can cover attachment error banners, including the dismiss button. Raise the shared banner lane from layer 20 to 30 so errors stay above the composer while the file-drop and find overlays retain their higher layer.

Maintainer takeover of #14372, originally contributed by @Pearcekieser. Merged current main and resolved the layout conflict by preserving its banner-lane positioning. The resulting change is one class.

Validation:

  • Existing focused tests: composerAttachmentFiles 20→20, ThreadErrorBanner 5→5; no new attribute-only tests.
  • Web typecheck, scoped lint, formatting and diff checks pass.
  • One adversarial review round, Claude Opus 5.5 and Codex GPT-6-Sol: no actionable findings.
  • Headless Chromium against the isolated app: pending question, terminal open, multiline answer, unsupported SVG selected through the real file input. The old layer occludes the banner and its dismiss hit target; layer 30 exposes both. Clicking Dismiss removes the error and preserves all 12 answer lines. Before comparison switches only the banner's class to main's layer 20 in the same document.
  • Not verified: macOS, Windows, iOS, Android, native Electron, remote/relay/tunnel connections, or every viewport. Native desktop/platform approval remains with a human.

Before:
Before: question card covers attachment error

After:
After: attachment error and dismiss button above the question

Implementation: Codex GPT-6.1-Sol through T3 Code; tests: GPT-6-Astra; review: Claude Opus 5.5 and Codex GPT-6-Sol.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Sep 30, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 041d32b

Macroscope's review found this PR approvable — This one-file UI fix only raises existing provider and attachment-error banners above the expanded question composer, preserving the timeline layout and attachment behavior. Its scope and runtime impact are clear and narrowly contained.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: pingdotgg/t3code/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 3f9823b2-3f30-4e6d-aa63-38a675fc998e

📥 Commits

Reviewing files that changed from the base of the PR and between 0fcd5f9 and 041d32b.

📒 Files selected for processing (1)
  • apps/web/src/components/ChatView.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The banner stack in ChatView.tsx changes from z-20 to z-30. Its comment now describes keeping the banners above the expanded question composer without shifting the timeline.

Changes: Banner layering

Layer / File(s) Summary
Raise banner stack
apps/web/src/components/ChatView.tsx
The banner stack uses z-30 instead of z-20. Its comment describes its position above the expanded question composer without shifting the timeline.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix · Severity of issue fixed: Low

Suggested reviewers: maria-rcks

Merge Risk: ⚪ Minimal · up to 041d3

Attachment error banners should remain visible above the expanded composer, while dialogs and other higher-priority controls stay accessible. No actionable merge-blocking risk was found.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Linked Issues check Passed Issue #14371 requires unsupported-file feedback to remain visible and dismissible when the expanded question composer is open. The PR changes the banner container in `apps/web/src/components/ChatView.…
Out of Scope Changes check Passed The diff contains one targeted functional change in ChatView.tsx: it raises the banner stack above the expanded question composer. The comment update documents that behavior. No unrelated product be…
Title check Passed The title clearly describes the primary change: keeping attachment error banners above expanded question replies.
Description check Passed The description covers the problem, implementation, scope, maintainer takeover, verification results, screenshots, limitations, and agent details. It provides sufficient evidence for the focused UI fi…
Full details: Linked Issues check

Explanation

Issue #14371 requires unsupported-file feedback to remain visible and dismissible when the expanded question composer is open. The PR changes the banner container in apps/web/src/components/ChatView.tsx from z-20 to z-30 and preserves the non-layout overlay behavior. The reported focused tests and browser verification cover picker, paste, drop, rejection, dismissal, and the target viewport. The change does not add SVG support, which the issue excludes.

Full details: Out of Scope Changes check

Explanation

The diff contains one targeted functional change in ChatView.tsx: it raises the banner stack above the expanded question composer. The comment update documents that behavior. No unrelated product behavior or files appear in the reviewed diff.

Full details: Description check

Explanation

The description covers the problem, implementation, scope, maintainer takeover, verification results, screenshots, limitations, and agent details. It provides sufficient evidence for the focused UI fix.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@juliusmarminge juliusmarminge self-assigned this Oct 19, 2026
@juliusmarminge

Copy link
Copy Markdown
Member

Taking over this one as maintainer for composer-chat-01. Keeping the original PR and author commit, resolving the current layout conflict against main, then checking the expanded-question attachment error in the running web client.

@juliusmarminge

Copy link
Copy Markdown
Member

Thanks @Pearcekieser — raising the banner above the question composer is the right focused fix. Taking this forward in #21441, because GitHub rejected the maintainer push to your organization-owned fork despite reporting maintainer edits enabled.

The replacement preserves your fix, resolves the current layout conflict, and includes fresh before/after proof from the running web app plus focused checks and two independent reviews. I compared the original diff against the replacement: its banner-layer behavior is retained; the obsolete inset classes and redundant layering comment were dropped in favor of current main's layout. No functional pieces are missing. Nothing has been merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants