fix(canvas): float the workspace mode selector over the channel feed - #3960
Merged
trunk-io[bot] merged 3 commits intoJul 30, 2026
Merged
Conversation
The local/cloud selector above the channel composer occupied its own row in the composer's opaque, full-width band, so scrolling the feed cut messages off at the selector instead of at the input box. Position it absolutely above the input (matching the new-task composer) and give the composer band a small top gutter, so the chip hovers over the feed and only the input box sits on solid background. Generated-By: PostHog Code Task-Id: e21b284f-a889-4f05-a683-8f2407961fa5
|
😎 Merged successfully - details. |
|
React Doctor found no issues in the changed files. 🎉 Reviewed by React Doctor for commit |
Quill's outline button fill is `--muted` at 30%, so once the selector floated over the feed the messages behind it showed through. Put an opaque `bg-card` backdrop on the row at the button's own radius (`--radius-sm`), which leaves the trigger's hover and expanded fills intact. Generated-By: PostHog Code Task-Id: e21b284f-a889-4f05-a683-8f2407961fa5
The selector hangs 24px over the end of the feed, more than the scroll content's 16px bottom padding, so at the end of the feed it sat on top of the last message. Deepen the feed's bottom padding to 40px, which restores the same 16px of clearance the in-flow selector row used to leave. Generated-By: PostHog Code Task-Id: e21b284f-a889-4f05-a683-8f2407961fa5
adboio
marked this pull request as ready for review
July 29, 2026 16:26
Contributor
|
Reviews (1): Last reviewed commit: "fix(canvas): keep feed clear of the floa..." | Re-trigger Greptile |
There was a problem hiding this comment.
Small, contained CSS-only styling change to reposition a UI element; matches the PR description, no risky territory touched.
- Author wrote 0% of the modified lines and has 11 merged PRs in these paths (familiarity MODERATE).
- 👍 on the PR from greptile-apps[bot].
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 16L, 3F substantive — within ceiling |
| tier | ✓ | T1-agent / T1a-trivial (16L, 3F, single-area, fix) |
| stamphog 2.0.0b3 | .stamphog/policy.yml @ 5ee94e2 · reviewed head 4ce6201 |
trunk-io
Bot
deleted the
posthog-code/float-channel-workspace-mode-selector
branch
July 30, 2026 18:10
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.
Problem
In a context's message feed, the local/cloud workspace selector sat in its own row inside the composer's opaque, full-width band. With no top padding on that band, scrolling the feed clipped messages at the selector chip rather than at the input box, so the selector read as a strip of chrome bolted onto the bottom of the feed instead of a control belonging to the composer.
Why: raised as visual polish — the selector should look like it's hovering just above the input box, not occupying its own full-width container.
Changes
bottom-fullof the composer (the same pattern the new-task composer already uses), so it floats over the feed and only the input box sits on solid background.Side effect: arming canvas mode hides the selector without the input box jumping, since the row no longer takes layout space.
How did you test this?
CSS-only change; verified
biome check(includinguseSortedClasses) passes on both touched files. Not exercised in the running app.Automatic notifications
Created with PostHog Code