Repository navigation
fix(observer): 吐司退场真的画完再消失;门的进入与退出拆成两条互不抵偿的判据 - #230
Merged
Merged
Conversation
dismiss 过去在同一拍把条目从列表删掉,元素没有"摘掉 .show 之后还被画过"的帧, .22s 淡出永不发生。现在先标 leaving(行失去 .show 开始淡出),到 TOAST_EXIT_MS 才移除。 门侧读数:吐司 exit 现在有 9 个不同的 transform/opacity 值、在场帧 56→69; drawer exit:right 14 值。新增 overlay_exit_transitions[面]。 一条判据自身写错被单测抓到:enter 判据原本用的是"进+退合并的 moved", 于是跳切进场但会淡出的覆盖层会被判绿。改为进入/退出各自计数各自判定, 并让该反证同时断言"enter 红、exit 绿",钉住两侧不能互相抵偿。 门侧测试 16→18 例;前端 78 文件 965 例全绿、tsc 0 错、build 成功、门 PASS。 台账:WUI-19 的"原生键盘/原生 DPI 仍缺"按实测改写为两侧各缺一半—— 本机无 cl.exe、vswhere 无输出、Windows Kits 11 Lib 不存在(PATH 上唯一的 link.exe 是 Git 的建链工具), 造不出可运行 exe;CI 每次都 cargo build --release 造真 exe 并上传,但 runner 上真实窗口 visible=false、 WebView2 不暴露 CDP 目标,owner 2026-10-26 已决定该步 REPORTED, NOT REQUIRED。 不伪造原生 PASS,也不动那条 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.
缺陷
useToaster.dismiss(id)在同一拍把条目从列表里删掉:元素没有"摘掉.show之后还被画过"的帧,b10.css声明的.toast{transition:.22s ease}退场永远不发生。上一批(#229)把进入侧修好了,TOAST_EXIT_MS当时声明了但没有消费者——本 PR 把它接上。改法
ToastItem增加leaving?: boolean;dismiss先把条目标成 leaving(行因此失去.show并开始淡出),到
TOAST_EXIT_MS才真正从列表移除。ToastRow用useEnterTransition(!t.leaving, TOAST_EXIT_MS),自己决定何时离开文档。overlays.test.tsx的"到期就消失"改成三段断言——到期时仍在文档且没有.show、再过预算才消失、错误吐司依旧不自动消失。原写法在"同拍删除"和"淡出后删除"两种产品下都绿,改后才有区分力。
门侧:进入与退出必须各自判定(本批修掉一个我自己写的判据缺陷)
overlay_enter_transitions第一版用的是"进+退合并后的 moved",于是跳切进场但会淡出的覆盖层会被判绿。现在两侧各自计数、各自一条判据,新增
overlay_exit_transitions[面];反证
test_an_overlay_that_appears_at_its_end_state_fails_the_enter_clause同时断言"enter 判红"与"exit 判绿",钉住两侧不能互相抵偿。
实测
exitValues全为空(零中间值)exit:transform: 9, exit:opacity: 9个不同值、在场帧 69,overlay_exit_transitions[toast]PASSexit:right有中间值exit:right: 14,overlay_exit_transitions[drawer]PASSOVERLAY_MOTION_GATE_PASS overlays=["drawer","toast"],OVERLAY_MOTION_REPORTED toast: animated:{"transform": 12, "opacity": 12, "exit:transform": 9, "exit:opacity": 9},收据
.project-local/runs/overlay-gate/overlays-exit.json。本地门
tests/ci/test_overlay_motion_gate.py16 → 18 例(新增"会淡出但没淡入"与"永不离开文档"两种反证);npx vitest run78 文件 965 例全绿、npx tsc --noEmit0 错、npm run build成功;normalise_doc_citations --checkrewritten=0 blocked=0、表形状 rows=42 wrong_width=0、
verify_live_doc_paths_resolvemissing=0;清单在git add之后重发、覆盖门 16 例绿。顺带:WUI-19 两条原生读回的阻塞点按实测改写
此前措辞暗示"重制一次二进制就闭合",实测两侧各缺一半:本机
where cl.exe找不到、vswhere -products *无输出、Windows Kits\11\Lib不存在(PATH 上唯一的link.exe是 Git 的 coreutils建链工具,探测时会被误当 MSVC 链接器);而 CI 每次都
cargo build --release --locked造真 exe 并上传observer-native-app-exe、U19 也真驱动它,但 runner 上display/drawPASS 而真实窗口visible=false、WebView2 不暴露 CDP 页面目标(run 40326061662),owner 于 2026-10-26 决定该步 REPORTED, NOT REQUIRED。
要闭合需一台兼具 MSVC+SDK 与可见桌面的机器,或 owner 授权在本机装构建工具——属主机级改动,不在本轮授权内,
故如实登记而不伪造原生 PASS,也不动那条 owner 决定。