SpecialX
|
be31da6223
|
docs(cache): 缓存策略落地实施计划 + 修正 INVALIDATION_MAP 占位符一致性
|
2026-07-05 01:37:15 +08:00 |
|
SpecialX
|
8afd7af6dc
|
docs(cache): 缓存策略落地专项设计文档 v1 - 全栈缓存策略一致性(服务端数据缓存+客户端 TanStack Query+失效编排)
|
2026-07-05 01:30:59 +08:00 |
|
SpecialX
|
9ec1be1528
|
fix(design-tokens): 补充 semantic-dark.css 缺失的 --radius 令牌
审查发现 semantic-light.css 定义了 --radius 但 semantic-dark.css 缺失,导致明暗不对称。补充 --radius: 0.5rem 与 :root 一致。
|
2026-07-05 01:09:36 +08:00 |
|
SpecialX
|
214ebec976
|
refactor(design-tokens): 全量体系化重建设计令牌
Primitive + Semantic 双层令牌架构,HEX->HSL,明暗双份,@theme inline 暴露为 Tailwind 类。
- 新建 src/app/styles/tokens/ 6 个令牌文件(primitive/semantic-light/semantic-dark/lesson-preparation/tailwind-theme/index)
- globals.css 改为 @import 引入,477->258 行
- 清理 91 处 #hex 硬编码颜色 -> hsl(var(--*))
- 清理 10 处硬编码字体 -> var(--font-family-*)
- 清理 100 文件 Tailwind 任意值(Tier 1 映射/Tier 3 注释豁免)
- 清理 M3 Surface 死代码,升级 --lp-* 令牌(HEX->HSL + 暗色补全)
- 新建 ESLint 自定义规则 no-hardcoded-design-tokens(单词边界正则)
- eslint.config.mjs 新增 no-restricted-syntax 禁止 #hex + 自定义规则加载(pathToFileURL)
- 项目规则新增设计令牌规范强制章节
- 架构图 004/005 同步设计令牌体系节点
- known-issues.md 追加设计令牌问题分类(7 个规则表)
验证: tsc --noEmit 0 errors, npm run lint 0 errors/12 warnings(均为既有问题)
|
2026-07-05 01:03:19 +08:00 |
|
SpecialX
|
d1ad7a1f75
|
docs(architecture): update impact map, data, troubleshooting, add mockups
Security / deep-security-scan (push) Failing after 2m10s
DR Drill / dr-drill (push) Failing after 1m32s
CI / scheduled-backup (push) Failing after 31s
CI / backup-verify (push) Has been skipped
CI / weekly-dr-drill (push) Failing after 0s
CI / build-deploy (push) Has been cancelled
CI / security-scan (push) Has been cancelled
- Update 004_architecture_impact_map.md and 005_architecture_data.json
- Remove obsolete _update_004.cjs helper script
- Update troubleshooting/known-issues.md
- Add docs/mockups/ directory
|
2026-07-04 23:02:14 +08:00 |
|
SpecialX
|
e962b67050
|
feat(lesson-preparation): update paper-editor, detail-panel, AI node assist, i18n
- Update actions-ai.ts and curriculum-map-view.tsx
- Update detail-panel: detail-panel, detail-props, qa-editor
- Update paper-editor: inline-node, inline-qa-dialog, paper-context-menu,
paper-editor, textbook-tiptap-editor
- Update hooks/editor-slice.ts and lib/i18n-errors.ts
- Add hooks/use-node-ai-assist.ts and lib/ai-node-assist.ts
- Update en/zh-CN lesson-preparation i18n messages
|
2026-07-04 23:02:04 +08:00 |
|
SpecialX
|
0780524c08
|
docs(troubleshooting): V4 备课编辑器规则
新增 V4 备课编辑器(纸感重构)规则表,8 条规则:正文节点必须是 Tiptap 编辑器、锚点用 Tiptap Mark 内嵌、节点展开位置由 order 决定、节点类型色点用 --lp-dot-*、文档版本必须是 4、师生交互节点用 QaEditor、右键菜单触发对象区分、v3 锚点迁移失效提示。
|
2026-07-04 12:01:06 +08:00 |
|
SpecialX
|
5ca2a76e3a
|
docs(architecture): V4 纸感重构架构图同步
004_architecture_impact_map.md: 更新 lesson-preparation 章节描述(V4 三栏布局)、新增 V4 纸感重构架构变更章节(H1/I1/J1/J2/J3/J4/J5 + 数据模型 v4)、更新文件清单(移除 9 个废弃文件,新增 paper-editor/structure-tree/detail-panel/interaction-block/anchor-migration-banner 等组件 + anchor-mark/export lib + history/expanded slices)。
005_architecture_data.json: 更新 lesson_preparation 节点——description 改为 V4 描述、dependencies 移除 @xyflow/react 改为 @tiptap/* 包、files 数组移除 9 个废弃文件并新增 V4 组件、auditFixes 新增 V4-PAPER-1~8 + V4-PAPER-DOC 条目。JSON 语法验证通过。
|
2026-07-04 11:59:39 +08:00 |
|
SpecialX
|
0e4eccec21
|
chore(lesson-preparation): V4 lint + tsc 零错误验证
重构 anchor-migration-banner:使用 key-based remount + lazy initial state 避免 setState in effect,符合 V4 react-hooks/set-state-in-effect 规则。
验证:tsc --noEmit 0 错误;lint 中 V4 引入的错误已全部修复。剩余 6 个 lint 错误为预存无关模块问题(exams/use-exam-preview-tasks react-hooks/refs 3 个、template-picker V5-9 set-state-in-effect 1 个),13 个 warnings 均为预存代码(schedule-dialog、unread-message-badge 等),按计划要求已有的无关模块错误需记录但不要求修复。
|
2026-07-04 11:53:13 +08:00 |
|
SpecialX
|
e762490f19
|
refactor(lesson-preparation): print-view 适配 V4
- export.ts 已使用 order 排序,无画布依赖
- 新增 interaction block 的 flatten 逻辑(设计意图 + 对话轮次)
- 更新文档注释(12 种 Block)
|
2026-07-04 11:47:50 +08:00 |
|
SpecialX
|
5d306dc686
|
refactor(lesson-preparation): 删除废弃的 React Flow 画布和字符串锚点文件
- 删除 node-editor.tsx(React Flow 画布)
- 删除 nodes/lesson-node.tsx、textbook-content-node.tsx、textbook-segments.tsx、anchor-node-selector.tsx
- 删除 lib/anchor-injector.ts(字符串偏移系统)
- 删除 lib/rf-mappers.ts(React Flow 映射)
- 删除 lib/auto-layout.ts(自动布局)
- 重构 lesson-plan-readonly-view.tsx 改用线性视图(LessonPlanMobileView)
|
2026-07-04 11:46:31 +08:00 |
|
SpecialX
|
124ed97060
|
refactor(lesson-preparation): 主编辑器三栏布局(结构树 + 纸 + 详情面板)
- 移除 NodeEditor/NodeEditPanel 导入和 JSX
- 改为 StructureTree + PaperEditor + DetailPanel 三栏布局
- 新增 AnchorMigrationBanner
- 移除 aiContentGenerator prop(V4 DetailPanel 自带 AI 按钮)
- 删除 node-edit-panel.tsx(不再被引用)
- 删除 ai-content-generator-slot.tsx(依赖 node-edit-panel)
|
2026-07-04 11:44:26 +08:00 |
|
SpecialX
|
e29f30d278
|
feat(lesson-preparation): v3 锚点失效提示 banner
|
2026-07-04 11:41:24 +08:00 |
|
SpecialX
|
6dd3b1fecd
|
feat(lesson-preparation): 注册 interaction block 到 registry
|
2026-07-04 11:40:46 +08:00 |
|
SpecialX
|
85121c49a3
|
fix(lesson-preparation): 重命名 TreeNodeRow.children prop 为 childItems 避免 react/no-children-prop
|
2026-07-04 11:36:41 +08:00 |
|
SpecialX
|
8ff14fce1c
|
feat(lesson-preparation): 右栏详情面板容器
|
2026-07-04 11:33:03 +08:00 |
|
SpecialX
|
24b8ae78c6
|
feat(lesson-preparation): 师生交互 block(详情编辑入口)
|
2026-07-04 11:32:58 +08:00 |
|
SpecialX
|
43f30f4013
|
feat(lesson-preparation): 师生交互编辑器(对话轮次增删改)
|
2026-07-04 11:32:54 +08:00 |
|
SpecialX
|
40cba54ed4
|
feat(lesson-preparation): 详情面板属性条
|
2026-07-04 11:32:49 +08:00 |
|
SpecialX
|
a4c9eb02b4
|
feat(lesson-preparation): 详情面板头部
|
2026-07-04 11:32:44 +08:00 |
|
SpecialX
|
05f9b4fd9d
|
feat(lesson-preparation): 左栏结构树容器
|
2026-07-04 11:31:03 +08:00 |
|
SpecialX
|
c7cbc86fd4
|
feat(lesson-preparation): 树节点行组件
|
2026-07-04 11:30:57 +08:00 |
|
SpecialX
|
6fa712ad15
|
feat(lesson-preparation): 中栏纸区容器(正文 + 展开节点 + 右键菜单)
|
2026-07-04 11:29:53 +08:00 |
|
SpecialX
|
4db77b7d1e
|
feat(lesson-preparation): 右键菜单(节点操作 + AI 协助 + 锚定)
|
2026-07-04 11:29:14 +08:00 |
|
SpecialX
|
cbed4ef508
|
feat(lesson-preparation): 师生交互对话体 inline 渲染
|
2026-07-04 11:28:16 +08:00 |
|
SpecialX
|
8583e3e387
|
feat(lesson-preparation): inline-node 展开节点容器
|
2026-07-04 11:28:11 +08:00 |
|
SpecialX
|
9b0b7ef619
|
feat(lesson-preparation): 浮动工具条 + 锚点/inline-node/对话体样式
|
2026-07-04 11:26:55 +08:00 |
|
SpecialX
|
66a60213bf
|
feat(lesson-preparation): 正文 Tiptap 编辑器
|
2026-07-04 11:26:50 +08:00 |
|
SpecialX
|
1b898fb6cf
|
fix(lesson-preparation): BLOCK_REGISTRY 补全 interaction 空条目(A1 类型变更扫尾,渲染逻辑留给 H1)
|
2026-07-04 11:20:18 +08:00 |
|
SpecialX
|
d7b15093f9
|
fix(lesson-preparation): BLOCK_TYPE_KEYS 补全 interaction(A1 类型变更扫尾)
|
2026-07-04 11:19:44 +08:00 |
|
SpecialX
|
5c4db2fedc
|
feat(lesson-preparation): Tiptap AnchorMark + AnchorPoint 扩展
|
2026-07-04 11:18:56 +08:00 |
|
SpecialX
|
ccb2cf05df
|
feat(lesson-preparation): V4 i18n 翻译键(zh-CN + en)
|
2026-07-04 11:18:03 +08:00 |
|
SpecialX
|
4f00e566df
|
refactor(lesson-preparation): 配色统一到中性令牌(移除 Material 鲜艳色)
|
2026-07-04 11:17:07 +08:00 |
|
SpecialX
|
ef1be6d04f
|
refactor(lesson-preparation): editor-slice 移除画布依赖(V4)
|
2026-07-04 11:16:05 +08:00 |
|
SpecialX
|
0f4e58d7e1
|
feat(lesson-preparation): selection-slice 增加 anchorNodeForSelection
|
2026-07-04 11:15:14 +08:00 |
|
SpecialX
|
a856ab005d
|
feat(lesson-preparation): 组合 ExpandedSlice 到 EditorState
|
2026-07-04 11:15:01 +08:00 |
|
SpecialX
|
7b550d3b69
|
feat(lesson-preparation): expanded-slice(节点展开状态)
|
2026-07-04 11:14:46 +08:00 |
|
SpecialX
|
f7ea76cd60
|
feat(lesson-preparation): V3→V4 迁移函数(锚点失效标记 + expandedNodeIds)
|
2026-07-04 11:14:27 +08:00 |
|
SpecialX
|
8a7d0f69ca
|
feat(lesson-preparation): isInteractionBlockData 类型守卫
|
2026-07-04 11:12:33 +08:00 |
|
SpecialX
|
217b5b48e4
|
feat(lesson-preparation): interaction 默认数据生成器
|
2026-07-04 11:12:13 +08:00 |
|
SpecialX
|
8fc798fbcf
|
feat(lesson-preparation): V4 类型定义(interaction + QATurn + V4 文档)
|
2026-07-04 11:11:54 +08:00 |
|
SpecialX
|
ccf1618b1c
|
docs(lesson-preparation): V4 纸感重构实现计划
25 个任务,按阶段 A-J 分解:类型定义、状态管理、配色 i18n、Tiptap 锚点、纸区组件、结构树、详情面板、主编辑器改造、迁移 banner、清理验证。
|
2026-07-04 11:08:28 +08:00 |
|
SpecialX
|
a1c283e10d
|
docs(lesson-preparation): 备课编辑器无边记纸感重构设计
新增设计文档,定义正文节点改造为真实 Tiptap 富文本编辑器、三栏布局(结构树 + 纸 + 详情面板)、节点展开到正文、师生交互节点、Tiptap Mark 锚点系统、v3→v4 数据迁移。
|
2026-07-04 10:58:55 +08:00 |
|
SpecialX
|
872d5fb085
|
docs(architecture): update impact map, data, audit report, troubleshooting
CI / scheduled-backup (push) Has been skipped
CI / backup-verify (push) Has been skipped
CI / weekly-dr-drill (push) Failing after 0s
CI / build-deploy (push) Has been cancelled
CI / security-scan (push) Has been cancelled
- Update 004_architecture_impact_map.md
- Update 005_architecture_data.json
- Add lesson-preparation-audit-report-v5.md
- Add troubleshooting docs
|
2026-07-04 10:24:08 +08:00 |
|
SpecialX
|
cbc6e259fa
|
chore(scripts): cleanup obsolete scripts and add new diagnostic scripts
- Remove temp-i18n-zh-fix.mjs, test-failing-modules.py, test-teacher-pages.py
- Add check-attendance-rules.mjs, check-db-state.mjs, test-modules.py
|
2026-07-04 10:23:55 +08:00 |
|
SpecialX
|
4b6cb5f11e
|
feat(app): update dashboard layout and student learning error boundaries
- Update src/app/layout.tsx
- Update student/learning/study-path/error.tsx
|
2026-07-04 10:23:43 +08:00 |
|
SpecialX
|
d2c250a1b3
|
feat(shared): update db schema, i18n messages, rate-limit, auth-session-provider
- Update src/shared/db/schema.ts
- Update i18n messages for en and zh-CN (error-book, exam-homework, leave,
lesson-preparation, notifications, rbac, student, textbooks, diagnostic)
- Update src/shared/lib/rate-limit/index.ts and redis-limiter.ts
- Update src/shared/components/auth-session-provider.tsx
|
2026-07-04 10:23:29 +08:00 |
|
SpecialX
|
3569d83b8e
|
feat(modules): update layout, notifications, questions, rbac, files
- layout: update site-header.tsx
- notifications: update use-desktop-notifications.ts
- questions: update question-actions.tsx, question-columns.tsx
- rbac: update permission-catalog.ts
- files: update types.ts
|
2026-07-04 10:23:16 +08:00 |
|
SpecialX
|
98429e87eb
|
feat(business): update audit, auth, course-plans, announcements, exams
- audit: update retention.ts, types.ts, audit-retention-settings.tsx
- auth: update actions.ts and types.ts
- course-plans: update actions.ts, course-plan-detail.tsx, template-picker-dialog.tsx,
add lib/track-event.ts
- announcements: update page.tsx, announcement-list.tsx, announcement-pagination.tsx
- exams: update actions.ts
|
2026-07-04 10:23:03 +08:00 |
|
SpecialX
|
b63d116b6c
|
feat(diagnostic): refactor services with monitor and context providers
- Update default-diagnostic-service.ts
- Update diagnostic-monitor-context.tsx
- Update diagnostic-service-context.tsx
- Update monitored-diagnostic-service.ts
- Update teacher diagnostic page
|
2026-07-04 10:22:48 +08:00 |
|