WeiCHEN
ecd8e94e24
fix(e2e): raise squad wait timeout to 10m for UI-03
...
Intake completion landed ~20s after the old 7m expect wall; keep claim-before-edit fix and avoid false pending failures.
2026-09-23 03:09:24 +08:00
WeiCHEN
01bf599bd4
fix(e2e): claim prelim author before UI-13b conflict edit
...
Prelim docs ship with author_id=0 so currentDocRole is viewer and dblclick
is a no-op; claim 认领此文档 first then assert the edit tip on both A contexts.
2026-09-23 03:00:15 +08:00
WeiCHEN
67251abc09
fix(e2e): release A1 lease before UI-13b A2 opens block editor
...
Same-user second context could not dblclick-edit while A1 held the
human lease on prelim. Leave to intake, let A2 claim editor, then A1 save.
2026-09-23 02:35:45 +08:00
WeiCHEN
0429b9735e
fix(e2e): run UI-13b conflict on drafting prelim, not locked intake
...
After UI-11 三权, intake is 已生效受控 and blocks body edit. Use
secondDocId (prelim_design) for the A/A head-conflict scenario.
2026-09-23 02:12:02 +08:00
WeiCHEN
92bb1a2004
fix(e2e): send Bearer token when fetching revision-state etag
...
UI-13b page.evaluate fetch used credentials-only and got HTTP 401 because
auth is Bearer in smdf_auth_session, not cookies.
2026-09-23 01:53:49 +08:00
WeiCHEN
9d7c97f728
fix(e2e): fetch revision-state etag by doc id for UI-13b
...
waitForResponse raced unrelated revision-state polls, so A1/A2
compared different documents heads before the conflict save.
2026-09-23 01:29:17 +08:00
WeiCHEN
1dbdb95088
fix(e2e): click 确认推进 after intake 三权 before UI-11
...
Approved intake only unlocks the gate; prelim_design still 403 until
creator advances V0.1 → V0.5 via StageAdvanceBanner.
2026-09-23 00:17:08 +08:00
WeiCHEN
3a1065f789
fix(e2e): expand collapsed doc rail before category select
...
Reviewer/approver contexts open with collapsed rail; UI-11 三权
failed looking up doc-category-trigger.
2026-09-23 00:02:41 +08:00
WeiCHEN
e6b23772c9
fix(e2e): approve intake via 三权 before UI-11 prelim_design
...
V0.1 blocking intake caused tasks/runs 403 for V0.5 prelim_design;
drive submit/review/approve on page and accept bd_prelim_design keys.
2026-09-22 23:40:22 +08:00
WeiCHEN
5e7fb240c3
fix(e2e): accept bd_intake task_key for UI-05b intake runs
...
Server posts doc_proj suffix (bd_intake) as task_key; bare intake
assertion was a false FAIL after UI-05a.
2026-09-22 23:11:00 +08:00
WeiCHEN
1c78d614cb
fix(web): ignore retained task run id when unlocking chat composer
...
Orphan streaming_status plus a leftover activeTaskRunId kept InputArea on
停止 after squad terminal. Gate taskRunLive on isThinking only and clear
runId on abortSession so stop/send can proceed for UI-05+.
2026-09-22 23:02:13 +08:00
WeiCHEN
db8c3dcc64
fix(web): settle orphan inflight bubbles via shared cancel helper
...
Wire cancelInflightAssistantMessages on stop so composer unlock and
message status stay consistent across sessions.
2026-09-22 22:59:17 +08:00
WeiCHEN
c3639eba7d
fix(web): unlock chat send when orphan streaming_status remains
...
Composer stop/send was gated only on message status; after squad
terminal, stale streaming bubbles kept 停止当前生成. Gate on live
turn/task-run runtime and settle orphans on explicit stop.
2026-09-22 22:58:39 +08:00
WeiCHEN
5c222d18e6
fix(e2e): drain stuck chat streaming before next sendChat
...
UI-05 timed out on 发送 because InputArea stayed isStreaming after
squad terminal; stop/idle wait restores 发送 (Enter).
2026-09-22 22:49:55 +08:00
WeiCHEN
30c85ed79f
fix(e2e): disable Playwright auto-artifacts for docrev UI acceptance
2026-09-22 22:40:40 +08:00
WeiCHEN
c5999f9c30
fix(e2e): retain Playwright artifacts only on failure for docrev UI
...
Avoid ENOENT on in-flight traces when long UI-03 squad runs while
outputDir is cleaned by a concurrent acceptance attempt.
2026-09-22 22:30:02 +08:00
WeiCHEN
f99e714fb2
fix(e2e): activate workflow with A/B/D duties before UI-02 squad
...
Product gate blocks intake until workflow is active with human-approval
duties. Keep C non-member for UI-12; pin B as reviewer for UI-13.
2026-09-22 22:30:00 +08:00
WeiCHEN
62f444ce15
fix(e2e): add approver D for workflow 三权 without inviting C
...
系统管理员 name collides in member list; unique 审批人D keeps UI-12.
2026-09-22 22:29:59 +08:00
WeiCHEN
16cb60b3d8
fix(e2e): activate workflow in UI-01 before squad tasks
...
Product gate blocks document tasks until a human-approval workflow is
active; add admin as third member for 三权 and drive 配置工作流.
2026-09-22 22:29:58 +08:00
WeiCHEN
54629e7f40
fix(e2e): scope UI-02 prompt visibility to user chat bubble
...
Avoid strict-mode collision with truncated preview duplicate text.
2026-09-22 22:29:57 +08:00
WeiCHEN
c2d5499229
fix(e2e): expand collapsed doc rail before UI-01 template hint
...
Default right rail is collapsed; assert after opening 展开受控文档栏.
2026-09-22 22:29:57 +08:00
WeiCHEN
50d50d4798
fix(web): preserve org user directory across workbench reset
...
Logout and account switch were clearing USERS from localStorage, so
UI-01 page.goto remount loaded an empty member list for non-admins.
2026-09-22 22:29:56 +08:00
WeiCHEN
8d2d514fa7
fix(e2e): exit AdminConsoleView via 返回工作台 in UI-00
2026-09-22 22:29:53 +08:00
WeiCHEN
61a0623bf8
fix(e2e): open Users section before create-user in docrev UI-00
2026-09-22 22:29:52 +08:00
WeiCHEN
e558192813
merge: feature/loading-perf-closeout-2026-09-22
2026-09-22 21:56:09 +08:00
WeiCHEN
e6f101a811
merge: feature/docrev-ui-rerun-2026-09-22
2026-09-22 21:54:56 +08:00
WeiCHEN
4662e39541
merge: feature/web-api-client-2026-09-22
2026-09-22 21:53:45 +08:00
WeiCHEN
c89c07f977
docs(ops): add initial-load closeout test report
...
Record schema-61 n=20 waterfall, throttle, and U7 form evidence; note Edge
channel exception for Playwright Chromium download sandbox.
2026-09-22 21:53:19 +08:00
WeiCHEN
f96c5277fd
test(e2e): fix UI_PHASE evidence isolation for docrev UI rerun
2026-09-22 21:51:33 +08:00
WeiCHEN
17f6e4dd2d
test(web): close initial-load perf harness for U1/U3/U7 evidence
2026-09-22 21:51:32 +08:00
WeiCHEN
681ca1b95e
feat(web): unify API client with auth, errors, and limited retry
...
Route web/src/api modules through shared apiFetch so Bearer headers,
typed error envelopes, and GET/HEAD transient retries live in one place
without swallowing domain failures used by existing error cards.
2026-09-22 21:26:44 +08:00
WeiCHEN
472ec6497f
fix(web): plan-card catch, removeTurn on finish, pane ErrorBoundary, CRLF SSE frames
...
T20-F2/F3/F5/F6: reset stuck executing cards, reclaim AbortControllers via removeTurn, wrap chat/doc panes, and split SSE on CRLF blank lines as well as LF.
2026-09-22 21:24:20 +08:00
weichen
b68e1f6412
merge: dev@5c3261c6 into feature/taskrun-status-card-2026-09-21
2026-09-21 10:33:21 +00:00
weichen and Cursor
725cad3d25
fix(web): 任务状态卡收口与渲染层归一化冻结进度文案
...
与后端 fix(taskrun) 对称:
- phaseEventMapper.settleStep:applyPhaseEvent 收口分支(CLOSE_PHASES、
新 phase 结算前序、existing 条目刷新)把 completed 条目 label 归一化为
短标签 + "已完成",保留"(第 x/y 步)"结构后缀;failed 有意保留原文案。
导出 PHASE_META 供展示层复用。
- lib/taskRunCard.displayStepLabel:渲染层兜底清洗历史脏快照(如 #4424),
回填失败/漏跑时前端仍正确展示。
- 更新 phaseEventMapper.test.ts 中两处此前把 bug 钉死为预期的断言;
TaskRunCard.test.ts 新增复现 #4424 展示层兜底用例。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 10:32:57 +00:00
weichen
9990557145
merge: feature/upload-parse-ux-2026-09-21
2026-09-21 09:52:56 +00:00
weichen and Cursor
694f9b7ecf
feat(web): poll parse state, surface dedup hint and reparse action
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 09:47:06 +00:00
weichen and Cursor
fd4b95030f
feat(web): score write-path matches by workflow relation
...
The document list now reports WORKFLOW_SCOPE_MODE, and weighted mode only blocks a cross-workflow write when that title outscores the active workflow.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 09:22:13 +00:00
weichen and Cursor
7f150831bb
merge: feature/mineru-doc-parsing-2026-09-21
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:37:12 +00:00
weichen and Cursor
79c4c7c496
feat(api): enqueue material parse on upload and expose parse_state
...
Async-trigger MinerU after CAS store and surface parse status in
assets API plus a lightweight preview badge.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen and Cursor
568408cced
feat(web): degrade stage-blocked task runs to chat confirmation
...
Keep weak write verbs off the task shortcut path, and once-only fall back
to chat when TASK_SCOPE_UNRESOLVED or DOC_TASK_NOT_IN_ACTIVE_STAGE.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:27:49 +00:00
weichen and Cursor
5f201254d8
fix(web): loosen TaskRunCard title helper input type for tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:15:10 +00:00
weichen and Cursor
ae1e2475f3
feat(web): restore TaskRunCard from phase snapshot on refresh
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:15:10 +00:00
weichen and Cursor
194e410822
feat(web): wire TaskRunCard into message stream and capture duration
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:15:10 +00:00
weichen and Cursor
22314ff9b0
feat(web): add TaskRunCard vertical timeline for task runs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:15:10 +00:00
weichen and Cursor
0b1040ca7e
feat(web): scope template matching to the active workflow
...
- Document list returns workflow_key per item and active_workflow_key
- DeliverableItem keeps workflowKey through server sync
- resolveTaskTemplateForMessage filters the match pool and blocks
cross-workflow mentions with switch guidance
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:09:36 +00:00
weichen and Cursor
5f14931e7b
merge: fix/workflow-doc-key-unification-2026-09-21
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 06:38:25 +00:00
weichen and Cursor
50c19aaee9
test(docgov): cover canonical task key collapse for project documents
...
锁定「7 份旧键本地克隆加 8 行服务端」收成 7 条 bd_*,以及列表与物化不再留下 intake 兄弟行。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 06:37:10 +00:00
weichen and Cursor
baca45ab9c
fix(web): merge workflow documents by canonical task key
...
本地旧键模板与服务端 bd_* 行按同一发布键合并,未认领的旧键克隆在服务端已覆盖时丢掉。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 06:37:10 +00:00
weichen and Cursor
11d6bc1511
fix(web): type the history lookup used by task resume
...
The chat window hook only exposed refresh helpers, so the continue path did not type-check after it started reading history bubbles.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 06:29:10 +00:00
weichen and Cursor
bdd4b970d4
fix(web): label unfinished template documents as preview
...
Template bodies were read-only, but the status chip said 编制中 and the lock banner said the document was already controlled.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 06:26:05 +00:00