Skip to content

fix(ui): constrain chat bubble visual effects - #1

Open
RoxyAsahi wants to merge 638 commits into
mainfrom
codex/chat-bubble-shadow-boundary-20260819
Open

fix(ui): constrain chat bubble visual effects#1
RoxyAsahi wants to merge 638 commits into
mainfrom
codex/chat-bubble-shadow-boundary-20260819

Conversation

@RoxyAsahi

Copy link
Copy Markdown
Owner

问题

部分主题下聊天气泡会出现明显的外部灰黑光晕,快速滚动时还可能看到半透明颜色绘制到气泡边界之外。

原因

聊天气泡公共样式和纸墨与机芯主题分别声明了外部 box-shadow。主题规则使用 !important,会覆盖公共样式;同时气泡缺少明确的圆角裁剪和合成隔离边界。

修复

  • 移除普通聊天气泡的通用外部阴影。
  • 移除纸墨与机芯主题用户/助手气泡及流式脉冲的外部阴影。
  • 为气泡增加 overflow: hiddenisolation: isolate,将内部渐变、透明层和材质合成限制在圆角边界内。
  • 保留内部高光、主题边框和强调色侧边。

验证

  • git diff --check 通过。
  • 已在 Windows 工作树中重新应用主题并确认规则来自实际加载的主题文件。

lioensky and others added 30 commits August 18, 2026 01:31
…xecutor-ps7-winget-detection

fix(PowerShellExecutor): add where.exe fallback for winget/MSIX PS7 detection
…stream-no-workflow-20260817

fix(next-ui): stabilize lifecycle and converge the canonical UI
双插件架构:VCPWEWallpaper(service) 定位并托管本机 WE 壁纸库,VCPWEWallpaperUI(renderer) 负责壁纸库选择器与播放器。

三类壁纸的呈现:video 走 <video loop preload=metadata> 直接播放;web 走 iframe 隔离渲染 + WE JS API 垫片(属性回喂/静音频谱);scene 无法在窗口内渲染,降级为静态 preview。

主程序仅一处改动:main.html 的 CSP 增加 frame-src 放通本机环回 5974,不开放任何外网源。

service 端 4 条路由全部只读,/web/:token/* 做了 path traversal 与软链逃逸校验,token 由绝对路径派生、不接受客户端构造。

含视频轮播、断点续播、窗口不可见时挂起(visibilitychange 暂停视频/卸载 iframe)、壁纸库手动重新扫描(?refresh=1 绕过 5 分钟缓存)。
…aper-clean

feat(plugin): 接入 Wallpaper Engine 壁纸库作为聊天窗口动态背景
…ability-draft

fix(next-ui): harden startup and embedded theme sync
双插件架构:VCPWEWallpaper(service) 定位并托管本机 WE 壁纸库,VCPWEWallpaperUI(renderer) 负责壁纸库选择器与播放器。

三类壁纸的呈现:video 走 <video loop preload=metadata> 直接播放;web 走 iframe 隔离渲染 + WE JS API 垫片(属性回喂/静音频谱);scene 无法在窗口内渲染,降级为静态 preview。

主程序仅一处改动:main.html 的 CSP 增加 frame-src 放通本机环回 5974,不开放任何外网源。

service 端 4 条路由全部只读,/web/:token/* 做了 path traversal 与软链逃逸校验,token 由绝对路径派生、不接受客户端构造。

含视频轮播、断点续播、窗口不可见时挂起(visibilitychange 暂停视频/卸载 iframe)、壁纸库手动重新扫描(?refresh=1 绕过 5 分钟缓存)。
…ending preservation, encoding detection, config.env support
cancelRightClickTimer() 同时承担清计时器与解绑容器全部事件监听两项
职责,而它在 mouseout/mouseup 时即被调用,导致点击任一模式按钮后
鼠标移出按钮就拆光 click/dblclick/contextmenu 监听,之后再也无法
切换模式(如从模块切回文本)。

将解绑职责拆分为 unbindContainerEvents(),仅在 destroy() 中调用,
正常运行期间只清计时器。
…rator-normalize-path-encoding

refactor(FileOperator): line-ending preservation, encoding detection, parameter tolerance
…nbind

fix(prompt): 模式切换按钮在首次交互后失效
…-bootstrap

fix(ui): restore account menu shell bootstrap
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.

6 participants