weichen
2e56ba9719
feat(docgov): complete review lifecycle gaps for lock/notify/comment/reopen
...
Defer locked-period supplements to a pending ledger, route duty-holder
notifications, persist stage-scoped comments, and prefer Approver for reopen.
2026-09-25 20:08:56 +00:00
weichen
914d0aa39d
feat(maintenance): wire sysadmin ui.* whitelist settings to public site status
...
- sysadmin.Service.GetSettingValue: whitelist read-through (DB > env > default)
- maintenance.Service: SiteSettingsProvider injection; StatusView carries notice/readOnly; new CurrentSiteStatus + GET /api/v1/maintenance/site-status
- composition root wires ui.maintenance_notice / ui.read_only_mode into maintenance site settings
- MaintenanceBanner: persistent notice banner + read-only mode strip
- chore(web): drop dead 'dirty' var in EnvSettingsSection (baseline TS6133 build blocker)
- KB ops actions: deferred out-of-repo (shared infra container side); documented in task record
2026-09-25 16:33:56 +00:00
weichen
d653e32e7b
fix(server,web): T20-S1 hardening batch B11/F1/F8/F4-A
2026-09-25 04:25:03 +00:00
weichen
86e9d3706b
feat(sysadmin): admin env settings + maintenance FD handoff
...
Persist agent/secrets settings with masked secrets and runner hot-reload;
add maintenance windows, maintpage binary, and zero-downtime listener handoff.
2026-09-24 23:20:20 +00:00
weichen
6cbe7e6e56
fix(web): committed dist/.gitkeep keeps go:embed satisfiable pre-build
2026-09-24 16:20:21 +00:00
weichen
cc90d39205
fix(web): placeholder keeps go:embed satisfiable pre-build
2026-09-24 16:18:23 +00:00
weichen
69645cb07b
fix(web): tolerate absent dist at compile time via LookupDist
2026-09-24 16:13:47 +00:00
weichen
b812d1d30f
feat(dev): single-binary no-docker runtime with managed localpg
...
Embed web/dist, run events in-process, manage brew PG18+pgvector, add PI host sidecar and launch --no-docker; unify MiniMax-M2.7-highspeed pins and record dev acceptance.
2026-09-24 15:53:50 +00:00
weichen
143ee934b8
feat(collab): free-lane chat, claim-on-view, lease ownership, notify inbox
...
Open member free-lane for chat initiation; auto-claim on author view;
harden lease persist/ownership with readable DOC_BUSY; add notification
inbox and supplement-impact HTTP decision APIs wired to composition root.
2026-09-24 11:49:43 +00:00
weichen
39f8c1d134
feat(auth): admin password reset API and credential guards
...
Implement T20-F4-B reset-password endpoint with one-time temp password,
audit table, frontend wiring, login error envelope parsing, and
CreateUser fail-closed for empty password hashes. Recovered test chenwei
via env write (password out of band).
2026-09-24 04:18:58 +00:00
WeiCHEN
b9b192a843
fix(web): bind task assistant bubble to serverId and harden error actions
...
Return assistant_msg_id from createTaskRun so live bubbles merge with history,
hide continue on terminal failed runs, and restart via a fresh turn/bubble.
2026-09-23 11:12:50 +08:00
WeiCHEN
30fa4e88b2
merge: fix/fix-latest-upload-summary-2026-09-23 (latest-upload summary + parse wait)
2026-09-23 10:23:21 +08:00
WeiCHEN
1f37f90b4b
feat(chat): show MinerU parse progress while waiting in-turn
...
When summarizing the latest upload, poll parse state up to MinerU timeout,
emit document_parsing phase events so the bubble stays live and input stays
locked, then summarize or return a clear slow/failed reply.
2026-09-23 09:55:59 +08:00
WeiCHEN
654a92583f
fix(web): allow optional chat status in cancelInflight helper
...
Unblocks Docker web build after ChatMessage.status became optional.
2026-09-23 09:44:02 +08:00
WeiCHEN
6d3efdf4d7
feat(auth): show real names in duty pickers and enable profile edits
...
Add a login-visible user directory API and admin/self profile update
paths so project duty selectors stop falling back to "用户 N", and so
users can persist display fields with an admin-edit tip.
2026-09-23 09:39:41 +08:00
WeiCHEN
0f97965cd2
fix(e2e): run UI-13b A/A conflict on drafting intake before 三权
...
Prelim materializes with empty duty slots (author_id=0), so claim/edit is
impossible after UI-11; move conflict onto intake while it is still drafting.
2026-09-23 03:35:27 +08:00
WeiCHEN
84cc3b9861
fix(e2e): raise Playwright per-test timeout to 15m
...
Pair with 10m squad waits so UI-03 does not race the test wall when intake finishes near the expect limit.
2026-09-23 03:11:20 +08:00
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