You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows: disable backdrop-filter and filter drop-shadow, use box-shadow to eliminate gray rectangle artifact
Capsule: add silence gate, response ceiling, eased mapping, and increased bar height for more visible audio meter
Layout: reduce textWidth (118→104) and add minWidth:0 to prevent status text squeezing side buttons
Cancel button: conditionally remove backdrop-filter on Windows to avoid compositing artifact
Tests: update expected Windows textWidth to 104
Diagram Walkthrough
flowchart LR
A["AudioBars (Capsule)"] -- "silence gate, easing, power curve" --> B["More responsive visual bars"]
C["Pill (Capsule)"] -- "remove backdrop & drop-shadow" --> D["Windows: clean glass effect"]
C -- "add minWidth:0, shrink textWidth" --> E["Prevent button squeezing"]
F["CircleButton"] -- "conditional backdrop" --> D
G["capsuleLayout.ts"] -- "textWidth 118→104" --> E
H["capsuleLayout.test.ts"] -- "updated assertion" --> E
Loading
File Walkthrough
Relevant files
Bug fix
Capsule.tsx
Enhance audio meter dynamics and fix Windows compositing artifacts
openless-all/app/src/components/Capsule.tsx
AudioBars: add silence gate (0.012), response ceiling (0.34), smoothstep easing, power curve (0.42), base=2, max=24, and transition to use visualVoice for more visible meter
CircleButton: detect OS and disable backdropFilter on Windows for the cancel button; add 'visibility' property
Pill: replace filter drop-shadow with a box-shadow on Windows (including ambient adjustment), remove filter attribute, add minWidth:0 to center flex container to prevent layout squeeze
Here are some key observations to aid the review process:
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ Recommended focus areas for review
Possible UX regression
The disabled CircleButton now always uses the default cursor instead of 'not-allowed'. The ternary enabled ? 'default' : 'default' always evaluates to 'default', removing the visual cue that the button cannot be interacted with. Users may expect a not-allowed cursor on disabled buttons and be confused when the action is unavailable.
Possible audio meter flicker
The hard noise gate at level 0.018 combined with the steep power curve (exponent 0.38) causes the audio bars to jump abruptly from zero to a visible height when input crosses the threshold. If the mic level fluctuates around 0.018, the bars will turn on and off repeatedly, producing distracting visual flicker.
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.
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
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.
User description
摘要
修复 Windows 11 上录音胶囊的几个 UI 问题:
修复 / 新增 / 改进
backdrop-filter和filter: drop-shadow(...),避免 WebView2 透明窗口合成时露出矩形背景。box-shadow保留胶囊浮起感,不再依赖filter。textWidth从118收窄到104,给左右圆形按钮留出稳定空间。minWidth: 0,减少状态文字挤压两侧按钮的情况。capsuleLayout.test.ts中 Windows 文本槽宽度期望。Before / After
修复前
修复后
兼容
backdrop-filter玻璃效果。测试计划
npm run buildnpx tsx src/lib/capsuleLayout.test.tsnpm run tauri dev,验证录音胶囊外侧不再出现浅灰矩形底。PR Type
Bug fix, Enhancement
Description
Windows: disable backdrop-filter and filter drop-shadow, use box-shadow to eliminate gray rectangle artifact
Capsule: add silence gate, response ceiling, eased mapping, and increased bar height for more visible audio meter
Layout: reduce textWidth (118→104) and add minWidth:0 to prevent status text squeezing side buttons
Cancel button: conditionally remove backdrop-filter on Windows to avoid compositing artifact
Tests: update expected Windows textWidth to 104
Diagram Walkthrough
File Walkthrough
Capsule.tsx
Enhance audio meter dynamics and fix Windows compositing artifactsopenless-all/app/src/components/Capsule.tsx
smoothstep easing, power curve (0.42), base=2, max=24, and transition
to use visualVoice for more visible meter
cancel button; add 'visibility' property
(including ambient adjustment), remove filter attribute, add
minWidth:0 to center flex container to prevent layout squeeze
capsuleLayout.ts
Narrow Windows capsule text slot widthopenless-all/app/src/lib/capsuleLayout.ts
stable space and avoid text overflow
capsuleLayout.test.ts
Update test expectation for Windows textWidthopenless-all/app/src/lib/capsuleLayout.test.ts
metrics
keeps side controls clear"