weichen and Cursor
855363fd60
fix(web): gate demo seeds and reclaim mock deliverables
...
Stop shipping hard-coded demo docs/projects into production builds,
drop local mock items on authoritative empty server lists, and purge
stale demo seed residue from localStorage on boot.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:50:34 +00:00
WeiCHEN and Cursor
636eb0ccf1
fix(web): align workbench user ids with auth seed
...
Unify MOCK_USERS with backend auth (admin id=1), merge session identity on login, and migrate demo seeds/tests to id 2/3/4 for 张工/李/王.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 02:50:22 +00:00
WeiCHEN and Cursor
7c830146f5
test(web): cover real temp vs server message identity
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 02:50:21 +00:00
WeiCHEN and Cursor
cda534a75d
feat(web): improve chat attachments, unread marks, and session UX
...
Support richer attachment payloads in input area, local read-id cache for
unread badges, and expand private-shared and chronology test coverage.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 02:50:21 +00:00
WeiCHEN and Cursor
6f4e8c0933
feat(web): align project templates with official reference skeletons
...
Replace ad-hoc markdown stubs with reference-system template baselines,
free-text device type input, and add template quality regression tests.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 02:50:21 +00:00
WeiCHEN
222b0c2dd6
feat(doc-preview): 上传文档多格式在线预览 + IndexedDB 持久化恢复
...
## 新增功能
- 支持用户上传的 Word(.docx)、PDF、Excel(.xlsx/.csv)、PPT(.pptx)、
图像(png/jpg/svg/webp等)、纯文本/代码文件的在线高保真预览
- 预览与受控工作流文档严格隔离:上传文档走 FilePreviewPanel,
工作流/对话入库文档继续走 BlockRenderer,互不干扰
## 核心 Bug 修复
- 修复页面刷新后上传文件无法预览/下载的根本问题
- 根因:File 对象无法 JSON 序列化,刷新后内存引用丢失
- 方案:新增 fileStore.ts,使用 IndexedDB 持久化文件二进制内容
- App 启动时自动 restoreFileRawToDeliverables() 从 IndexedDB 恢复 fileRaw
- 上传时 saveFile() 同步写入 IndexedDB(fire-and-forget)
## 下载按钮修复
- 优先从内存 File 对象动态创建 blob URL,避免依赖已 revoke 的旧 URL
- 文件内容不可用时按钮禁用并显示 tooltip 说明
## 存储层改进
- saveDeliverables() 序列化前剔除 fileRaw(不可持久化)和 blob: URL
避免 localStorage 保存损坏的空对象
## 新增文件
- web/src/data/fileStore.ts — IndexedDB 封装(saveFile/getFile/restore)
- web/src/components/doc/preview/FilePreviewPanel.tsx — 预览面板主组件
- web/src/components/doc/preview/renderers/DocxViewer.tsx — Word 预览
- web/src/components/doc/preview/renderers/PdfViewer.tsx — PDF 预览
- web/src/components/doc/preview/renderers/ExcelViewer.tsx — Excel 预览
- web/src/components/doc/preview/renderers/PptViewer.tsx — PPT 预览
- web/src/components/doc/preview/renderers/ImageViewer.tsx — 图像预览
- web/src/components/doc/preview/renderers/TextViewer.tsx — 文本预览
- web/src/tests/file-preview.test.ts — 预览功能单元测试
2026-09-13 02:50:21 +00:00
WeiCHEN
60d4df4319
fix(chat): resolve intent recognition, workflow auth, and message ordering
2026-09-13 02:50:21 +00:00
WeiCHEN
917740f26d
feat(project): implement modal-based project creation, creator-led member assignment, and exited-member read-only retention
2026-09-13 02:50:21 +00:00
WeiCHEN
eda2a2b32b
refactor(dialogue): implement task dispatch notifications and consecutive assistant messages with confirmation cards
2026-09-13 02:50:21 +00:00
WeiCHEN
0df8b065c2
refactor(dialogue): naturalize multi-role conversations, close chat sessions with assistant response, and set URS to project shared
2026-09-13 02:50:21 +00:00
WeiCHEN
76e538a47f
fix(doc): resolve URS viewing and private-to-shared workflow in document pane for 10 review projects
2026-09-13 02:50:21 +00:00