Repository navigation
feat(overlay): 插入后注明未润色的原因 - #110
Merged
Merged
Conversation
要求润色但未生效时,悬浮窗插入后的胶囊在标签后注明「未润色 · 服务繁忙」等原因, 带黄色指示灯,与胶囊一起消失。历史详情与悬浮窗共用同一句说明。
Merged
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.
Summary
User request (2026-10-05): the overlay should also say why a take was not polished. Until now only the home page notice and the history detail did, and a dictation into another app shows only the pill.
packages/uiPillhas a newnoteprop. In the inserted state it is a tag after the label with a small warning lamp. The text uses the pill's own colours, because the warning colour alone is below contrast for 10 px text on the light pill.notRefinedText(refine_failure)when adonetake asked for polish and did not get it: 「未润色 · 服务繁忙」, 「未润色 · 额度已用完」 and so on (the kinds from feat(refine): 内置润色服务繁忙时提示改用自己的服务商 #106). The note goes with the pill after its usual 2.5 s; nothing shows for a polished take or one that asked for none.notRefinedTextin@voltip/sharedis the one sentence for both places;refineModelText(history detail) now uses it.simulateRefineFailure(kind | null), so the dev preview and the tests can run a take whose polish is turned down: the raw text,refined: false, the kind ondoneand in the history, no preset recorded.Verification
make verifyon 7e64c0b: every gate,dirty_paths=0,overall_exit=0.Overlay.test.tsx「a take whose polish was turned down says why on the inserted pill」 runs a whole take through the mock. It fails with the overlay'snotewiring removed, which was checked;Pill.test.tsx: the note shows only in the inserted state;mock-backend.test.tscoverssimulateRefineFailure, andlabels.test.tscoversnotRefinedText.🤖 Generated with Claude Code