Add upward-pointing arrow to tray panel#43
Conversation
Add a CSS-based caret above the panel that visually points toward the tray icon, similar to native macOS popovers. Also move the panel up 10px for better positioning relative to the tray bar. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Render an upward-pointing tray arrow and raise the tray panel by 8×scale while reducing panel max height by 13px in
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2abd3db52b
ℹ️ 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".
src/App.tsx
Outdated
| <div ref={containerRef} className="flex flex-col items-center pt-1.5"> | ||
| <div className="tray-arrow" /> | ||
| <div | ||
| className="bg-card rounded-lg border shadow-lg overflow-hidden select-none w-full" | ||
| style={maxPanelHeightPx ? { maxHeight: `${maxPanelHeightPx}px` } : undefined} |
There was a problem hiding this comment.
Account for arrow height when capping panel
When content reaches the max-height cap, maxPanelHeightPx is applied to the inner panel, but the resize logic now measures the outer wrapper that also includes the new arrow and pt-1.5. That means desiredHeightLogical includes the arrow height, yet window height is still capped to maxHeightPhysical, while html/body/#root have overflow: hidden. In the max-height scenario (e.g., long plugin list), the panel becomes taller than the window by the arrow height, so the bottom rows are clipped and cannot be scrolled to. Consider subtracting the arrow/padding height from the max panel height or moving the max-height constraint to the wrapper so the capped height includes the arrow.
Useful? React with 👍 / 👎.
| autoUpdateNextAt={autoUpdateNextAt} | ||
| updateStatus={updateStatus} | ||
| onUpdateInstall={triggerInstall} | ||
| <div ref={containerRef} className="flex flex-col items-center pt-1.5"> |
There was a problem hiding this comment.
🟢 Low
src/App.tsx:492
The new wrapper's pt-1.5 padding and .tray-arrow height aren't accounted for in maxPanelHeightPx. Consider subtracting the wrapper overhead from the inner card's maxHeight so the footer remains visible when content is tall.
🚀 Want me to fix this? Reply ex: "fix it for me".
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
There was a problem hiding this comment.
1 issue found across 3 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="src/App.tsx">
<violation number="1" location="src/App.tsx:496">
P2: The `maxPanelHeightPx` is applied to the inner panel, but `containerRef` now measures the outer wrapper which includes the arrow (7px) and `pt-1.5` padding (6px). When content reaches max height, the total measured height exceeds the constrained window height by ~13px, causing the bottom content (footer) to be clipped since `overflow: hidden` is set on the root elements. Consider subtracting the arrow/padding overhead from `maxPanelHeightPx`, or move the max-height constraint to the outer wrapper.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Subtract the arrow + wrapper padding overhead (13px) from the inner card's maxHeight so the footer isn't clipped when content is tall. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add a CSS-based caret above the panel that visually points toward the tray icon, similar to native macOS popovers. The arrow responds to theme changes automatically and is included in the window's auto-resize measurements. Also move the panel up 10px for better positioning relative to the tray bar.
.tray-arrowclass with CSS border-triangle technique for borderless arrow🤖 Generated with Claude Code
Note
Low Risk
Low risk UI/layout change with minor window positioning tweak; primary risk is visual regressions or mis-sizing/clipping of the panel on different DPI/monitor setups.
Overview
Adds a macOS-style upward caret above the tray panel via a new CSS
.tray-arrow, themed using existing--border/--cardvariables.Updates the panel layout to include the arrow in resize measurements (moves
containerRefto an outer wrapper and subtractsARROW_OVERHEAD_PXfrom the content max height), and nudges the Tauri panel upward by flipping the tray padding from+8pxto-8pxinposition_panel_at_tray_icon.Written by Cursor Bugbot for commit 6228eca. This will update automatically on new commits. Configure here.
Summary by cubic
Adds an upward-pointing caret above the tray panel to match macOS popovers. Raises the panel by 10px and includes the arrow in auto-resize.
New Features
.tray-arrowthat auto-adapts to light/dark via theme variables.Refactors
Written for commit 6228eca. Summary will update on new commits.