Skip to content

fix(webchat): prevent slash menu from being clipped by overflow container - #2

Open
RickyTong1 wants to merge 3431 commits into
mainfrom
fix/webchat-slash-menu-overflow
Open

fix(webchat): prevent slash menu from being clipped by overflow container#2
RickyTong1 wants to merge 3431 commits into
mainfrom
fix/webchat-slash-menu-overflow

Conversation

@RickyTong1

@RickyTong1 RickyTong1 commented Mar 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix slash command menu being clipped by overflow: hidden on .agent-chat__input by introducing a .agent-chat__input-wrap parent that serves as the positioning root for the absolute-positioned menu
  • Add auto-scroll behavior so keyboard navigation (ArrowUp/ArrowDown) in the slash menu automatically scrolls the active item into view

Root cause

The slash menu renders as position: absolute; bottom: 100% inside .agent-chat__input, which has overflow: hidden for textarea scroll containment. This clips the popup entirely — the DOM exists (keyboard works) but is visually invisible.

Test plan

  • Open webchat, type / — slash command menu should appear above the input box
  • Navigate with ArrowDown past visible items — menu should auto-scroll to follow selection
  • Navigate with ArrowUp — menu should scroll back up
  • Verify input box border-radius and textarea scroll still work correctly

joshavant and others added 30 commits March 17, 2026 18:15
…penclaw#49296)

* CLI: expand config set ref/provider builder and dry-run

* Docs: revert README Discord token example
* Models: add GPT-5.4 mini and nano support

* Tests: cover OpenAI GPT-5.4 mini and nano extension support
…ession tests (openclaw#49237)

Merged via squash.

Prepared head SHA: 978b0cd
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com>
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com>
Reviewed-by: @scoootscooob
* fix(macos): show sessions after controls in tray menu

When many sessions are active, the injected session rows push the
toggles, action buttons, and settings items off-screen, requiring
a scroll to reach them.

Change findInsertIndex and findNodesInsertIndex to anchor just before
the separator above 'Settings…' instead of before 'Send Heartbeats'.
This ensures the controls section is always immediately visible on
menu open, with sessions appearing below.

* refactor: extract findAnchoredInsertIndex to eliminate duplication

findInsertIndex and findNodesInsertIndex shared identical logic.
Extract into a single private helper so any future anchor change
(e.g. Settings item title) only needs one edit.

* macOS: use structural tray menu anchor

---------

Co-authored-by: Brian Ernesto <bernesto@users.noreply.github.com>
Co-authored-by: ImLukeF <92253590+ImLukeF@users.noreply.github.com>
vincentkoc and others added 5 commits March 18, 2026 00:14
Replace robotic prose with a scannable table and plain-language
summary. Same information, less stiff.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace "seam" with clearer terms throughout:
- "surface" for public API/extension boundaries
- "boundary" for plugin/module interfaces
- "interface" for runtime connection points
- "hook" for test injection points
- "palette" for the lobster palette reference

Also delete experiments/acp-pluginification-architecture-plan.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…iner

The slash command menu renders as `position: absolute; bottom: 100%`
inside `.agent-chat__input` which has `overflow: hidden`, causing the
popup to be clipped. Introduce a `.agent-chat__input-wrap` parent that
holds the margin/flex-shrink styles and serves as the positioning root
for the menu, while `.agent-chat__input` retains `overflow: hidden` for
its own scroll behaviour.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 300 files, and this pull request has 6047

vincentkoc and others added 24 commits March 19, 2026 11:16
* Extensions: fix oxfmt drift on main

* Plugins: restore runtime barrel exports on main

* Config: restore web search compatibility types

* Telegram: align test harness with reply runtime

* Plugin SDK: fix channel config accessor generics

* CLI: remove redundant search provider casts

* Tests: restore main typecheck coverage

* Lobster: fix test import formatting

* Extensions: route bundled seams through plugin-sdk

* Tests: use extension env helper for xai

* Image generation: fix main oxfmt drift

* Config: restore latest main compatibility checks

* Plugin SDK: align guardrail tests with lint

* Telegram: type native command skill mock
Delete all 7 refactor design docs and the zh-CN translations.
Remove the zh-CN nav group from docs.json.

These were orphaned from English nav and accessible only by
direct URL. Internal design docs do not belong on the public
docs site.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Delete all experiment plans, proposals, research docs, and the
kilo-gateway-integration design doc. These are internal planning
docs that do not belong on the public docs site.

- 12 English experiment files
- 5 zh-CN experiment translations
- 1 design doc (kilo-gateway-integration)
- Remove nav groups from docs.json (English + zh-CN)
- Remove 3 redirects pointing to deleted experiment pages
- Remove dead experiment links from hubs.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When navigating the slash command menu with ArrowUp/ArrowDown, the
active item now scrolls into view automatically. Previously, items
beyond the visible area required manual mouse scrolling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.