Repository navigation
fix(panel): 会话管理面板改走 renderInOverlay 悬浮根,修复被主对话层覆盖且无法交互 - #29
Closed
devil233-ui wants to merge 1 commit into
Closed
devil233-ui wants to merge 1 commit into
devil233-ui wants to merge 1 commit into
Conversation
面板此前以普通 h(div) 直接渲染在侧栏底部按钮(FooterAction → SafePanel)的 DOM 里,没有像同文件其它 12 个弹窗那样走 renderInOverlay() 送进 #dsh-session-manager-overlay-root(<body> 直属、z-index 1050)。后果: - position:fixed;z-index:1020 被困在侧栏底部座位的层叠上下文里, 整块面板实际绘制在主对话层之下; - 透明画布类主题(如壁纸模式把 --dsw-alias-bg-base 设为 transparent)下, 主对话层与面板同时可见,看起来像面板背景透明; - 命中测试被主对话层吃掉,面板上所有控件无法交互。 修改: - 面板包裹层加 sm-overlayLayer 类(该类规则 `.sm-overlayLayer>*` 会为 面板本身打开 pointer-events); - panelModal 经 renderInOverlay() 送进悬浮根,与其余弹窗同层。 已在本机(DSH Desktop 2.0.17 / @deepseek-ai/dsh 0.2.0-rc.2 / dsh-vesna-theme 壁纸模式)实测:面板浮于最上层、全部控件可交互。 Closes hkkz9522#28
Owner
|
感谢建议,我将在下个版本修复 |
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.
问题
Closes #28(含完整根因分析与截图)。
「会话管理」面板浮在主对话层之下:透明画布类主题(壁纸模式)下主对话区的标题、行内代码块直接压在面板上(看起来像"面板背景透明"),并且主对话层吃掉了全部点击——面板上按钮、下拉、行操作均无法交互。
根因
SessionManagerPanel返回的 fragment 里,面板本体(panelModal)以普通h("div")直接渲染在侧栏底部按钮(FooterAction→SafePanel)的 DOM 里,没有像同文件其余 12 个弹窗那样经renderInOverlay()送进#dsh-session-manager-overlay-root(<body>直属、z-index:1050、.sm-overlayLayer>*{pointer-events:auto})。于是
position:fixed; z-index:1020被困在侧栏底部座位的层叠上下文中:z-index 只在该子树内排序,整块面板实际绘制在主对话层之下,命中测试也被主对话层拿走。修改
与文件内其它弹窗对齐,两处改动:
className增加sm-overlayLayer—— 该类规则.sm-overlayLayer>*会为面板本身打开pointer-events;panelModal经renderInOverlay()送进悬浮根(<body>直属的顶层层叠上下文,z-index 1050)。验证
@deepseek-ai/dsh0.2.0-rc.2)+dsh-vesna-theme壁纸模式(页面画布透明),Windows 11。npm run check通过(node --check各文件 + 动态import('./lib/index.js'))。已知边界
z-index:1050)后,层级仍低于 DSH 自己的 tooltip/菜单层(1100),与文件内既有分层约定一致;#28中提到的另一独立问题(coldSnapshot单参调用导致每次启动成批警告)不在本 PR 范围。