-
313bae87bf
docs(spec): add enterprise microservices architecture upgrade design
main
SpecialX
2026-07-07 21:34:15 +08:00
-
e3d132dc1b
docs(known-issues): log enterprise architecture normalization work experience
SpecialX
2026-07-07 20:25:33 +08:00
-
dbb124bf17
feat: add CI unit test, /api/health, Dockerfile HEALTHCHECK, bundle-analyzer
SpecialX
2026-07-07 20:23:03 +08:00
-
415dde9122
docs(roadmap): populate tech-debt.md with identified and resolved items
SpecialX
2026-07-07 20:18:07 +08:00
-
072c0d52b9
chore: add husky + lint-staged + commitlint for commit quality control
SpecialX
2026-07-07 20:17:15 +08:00
-
fb619139e5
docs: add enterprise repository files (LICENSE/CHANGELOG/CONTRIBUTING/SECURITY)
SpecialX
2026-07-07 20:14:56 +08:00
-
031e8a8175
refactor: split 5 oversized files into domain-specific subfiles (0 violations)
SpecialX
2026-07-07 20:13:22 +08:00
-
7f26bb8f9c
fix(permissions): fix 9 Server Action permission violations and add recursive CTE for indirect call detection
SpecialX
2026-07-07 19:30:49 +08:00
-
164dcd4c84
feat(arch-scan): mark 12 exempt Server Actions with @public JSDoc tag
SpecialX
2026-07-07 19:24:26 +08:00
-
692e8ef580
feat(arch-scan): add @public JSDoc tag exemption mechanism for Server Actions
SpecialX
2026-07-07 19:19:01 +08:00
-
747344bfe3
chore: snapshot before P0 security phase (backup point)
SpecialX
2026-07-07 19:12:33 +08:00
-
3f68f3eb09
docs(plan): add enterprise architecture normalization implementation plan
SpecialX
2026-07-07 19:12:08 +08:00
-
205b463900
docs(architecture): add enterprise architecture normalization design spec
SpecialX
2026-07-07 19:09:40 +08:00
-
5d9981fd7d
docs(architecture): update impact map, data, audit reports, superpowers docs
SpecialX
2026-07-07 16:23:35 +08:00
-
7387d70289
chore(scripts): update check-db-state and seed-grade5-chinese scripts
SpecialX
2026-07-07 16:22:54 +08:00
-
fc150e1e14
feat(app,styles): update dashboard pages and global styles
SpecialX
2026-07-07 16:22:27 +08:00
-
ebaf03107d
feat(modules-admin): update scheduling, school, settings, standards, student, textbooks, users
SpecialX
2026-07-07 16:22:07 +08:00
-
783b8f5484
feat(modules-comm): update messaging, notifications, onboarding, parent, proctoring, questions, rbac
SpecialX
2026-07-07 16:21:00 +08:00
-
524ecade19
feat(lesson-preparation): major update with data-access splits and new components
SpecialX
2026-07-07 16:20:34 +08:00
-
2adf61faa8
feat(modules-assessment): update exams, files, grades, homework, invitation-codes, leave-requests
SpecialX
2026-07-07 16:19:46 +08:00
-
d7017f0e30
feat(modules-classes): update classes, course-plans, dashboard, diagnostic, elective, error-book
SpecialX
2026-07-07 16:19:08 +08:00
-
b090a815ae
feat(modules-edu): update ai, adaptive-practice, announcements, attendance, audit, auth
SpecialX
2026-07-07 16:18:29 +08:00
-
224740ad98
feat(shared): update permissions system, i18n, hooks, and components
SpecialX
2026-07-07 16:17:53 +08:00
-
b333cda8c5
refactor(data-access,lib): split data-access files and add type-guards across modules
SpecialX
2026-07-07 16:17:24 +08:00
-
4e6d397d8e
docs(architecture): sync logging refactor to 004/005 and known-issues
SpecialX
2026-07-07 13:00:00 +08:00
-
7c1b764b59
feat(logging): wire useErrorReport into all 129 error.tsx boundaries
SpecialX
2026-07-07 12:52:32 +08:00
-
4122175915
feat(logging): add useErrorReport hook and /api/client-error endpoint
SpecialX
2026-07-07 12:41:41 +08:00
-
811ad11f9f
feat(logging): enable ESLint no-console rule with client exemptions
SpecialX
2026-07-07 12:39:21 +08:00
-
12a766d3ee
refactor(logging): replace console.* with module loggers in server modules
SpecialX
2026-07-07 12:34:57 +08:00
-
0a034945d4
refactor(logging): replace console in track-event modules with logger
SpecialX
2026-07-07 12:14:23 +08:00
-
fefc65702d
fix(logging): replace silent audit-logger failures with logger.warn
SpecialX
2026-07-07 12:09:38 +08:00
-
a75fdcd60d
refactor(logging): replace console.error in api-response with logger
SpecialX
2026-07-07 12:06:36 +08:00
-
2236eb36e7
refactor(logging): replace console.error in action-utils with logger
SpecialX
2026-07-07 12:05:00 +08:00
-
c44f19aefd
feat(logging): inject x-request-id in proxy.ts
SpecialX
2026-07-07 12:01:55 +08:00
-
dce2561751
feat(logging): add withRequestContext HOF for Server Actions
SpecialX
2026-07-07 11:51:47 +08:00
-
a208fcc601
feat(logging): add pino logger with createModuleLogger
SpecialX
2026-07-07 11:44:49 +08:00
-
3bd3ebc12d
feat(logging): add request-context with AsyncLocalStorage
SpecialX
2026-07-07 11:34:40 +08:00
-
c2575960eb
feat(logging): add pino dependency and LOG_LEVEL env var
SpecialX
2026-07-07 11:29:12 +08:00
-
94f098b0f2
perf(phase1-4): 补漏性能预算重构专项遗漏项
SpecialX
2026-07-07 00:30:47 +08:00
-
6104e6a685
docs(architecture): 组件化重构专项遗漏补全 - 更新 005 lastUpdate + known-issues 25.4 节
SpecialX
2026-07-06 22:24:17 +08:00
-
e76c626779
refactor(classes,audit,school,settings,adaptive-practice,announcements,messaging,questions,student): 组件化重构遗漏补全 - 20 个重复组件迁移
SpecialX
2026-07-06 22:22:23 +08:00
-
ee10380462
docs(architecture): 组件化重构专项完成 - 同步 005 lastUpdate + known-issues 第 25 章
SpecialX
2026-07-06 20:57:14 +08:00
-
fa68ec0b34
refactor(lesson-preparation,ai,dashboard): 组件化重构第 3 批 - 高风险模块
SpecialX
2026-07-06 20:49:54 +08:00
-
025d4de50d
refactor(homework,exams,textbooks): 组件化重构第 2 批 - 中风险模块
SpecialX
2026-07-06 19:54:39 +08:00
-
19a05091d3
refactor(grades,attendance,error-book,elective): 组件化重构第 1 批 - 低风险模块
SpecialX
2026-07-06 19:01:57 +08:00
-
11ddc8ccbe
feat(shared): 组件化重构 Phase 1 - 底座收敛与补全
SpecialX
2026-07-06 18:00:08 +08:00
-
80d98e13e4
docs(plan): 组件化重构专项实施计划 v1
SpecialX
2026-07-06 17:49:14 +08:00
-
ef2040edf4
docs(spec): 组件化重构专项设计文档 v1
SpecialX
2026-07-06 17:44:15 +08:00
-
1a34d1f14e
ci(perf): 添加 Lighthouse CI 性能预算回归门槛配置
SpecialX
2026-07-06 15:58:49 +08:00
-
9ce8d6d3fd
refactor(data-access): 补全剩余 37 个 data-access 文件迁移至 cacheFn
SpecialX
2026-07-06 15:12:30 +08:00
-
22c2e6459d
refactor(eslint): 移除缓存策略临时豁免(所有模块已迁移至 invalidateFor)
SpecialX
2026-07-05 22:55:50 +08:00
-
8fff820e1d
refactor(actions): 组 C 模块迁移至 invalidateFor(lesson-preparation/elective/announcements/messaging/notifications/settings/rbac)
SpecialX
2026-07-05 22:53:26 +08:00
-
7cfd85d0f5
refactor(actions): 组 B 模块迁移至 invalidateFor(exams/grades/homework/attendance/leave-requests/diagnostic/error-book/adaptive-practice)
SpecialX
2026-07-05 22:44:38 +08:00
-
05e68a3dad
refactor(actions): 组 A 模块迁移至 invalidateFor(users/school/textbooks/questions/course-plans/standards/scheduling/audit/onboarding/invitation-codes/proctoring/i18n)
SpecialX
2026-07-05 22:43:08 +08:00
-
0f33484bd2
fix(questions): 完成 questions/data-access.ts 遗漏的 cacheFn 迁移
SpecialX
2026-07-05 22:27:07 +08:00
-
841b130f4c
fix(data-access): 修复 tsc 错误 + 完成 adaptive-practice/elective 迁移至 cacheFn
SpecialX
2026-07-05 22:24:56 +08:00
-
27374d1b2c
refactor(data-access): 组 A 模块迁移至 cacheFn(users/school/rbac/textbooks/questions/course-plans/standards/files/dashboard/parent/proctoring)
SpecialX
2026-07-05 21:56:18 +08:00
-
6dee6b6299
refactor(data-access): 组 C 模块迁移至 cacheFn(lesson-preparation/elective/announcements/messaging/notifications/audit/onboarding/invitation-codes/scheduling/settings)
SpecialX
2026-07-05 21:49:18 +08:00
-
cb5b92160c
feat(cache): 扩充 INVALIDATION_MAP 覆盖剩余 27 个模块
SpecialX
2026-07-05 21:28:40 +08:00
-
99f15ee37a
docs(architecture): 同步缓存基础设施 + classes 标杆迁移 + 缓存策略规则
SpecialX
2026-07-05 19:04:03 +08:00
-
a3dc22cb9e
refactor(classes): 客户端组件迁移至 useQuery + queryKeys 示范
SpecialX
2026-07-05 18:57:10 +08:00
-
9eb02807a4
feat(eslint): 新增缓存策略规则禁止直接调用 revalidatePath/revalidateTag
SpecialX
2026-07-05 18:44:07 +08:00
-
80dd67780c
refactor(classes): actions 迁移至 invalidateFor 集中编排
SpecialX
2026-07-05 18:38:58 +08:00
-
220d702b44
refactor(classes): data-access 迁移至 cacheFn + 双导出 raw 版本
SpecialX
2026-07-05 18:27:32 +08:00
-
dd7a49504f
refactor(hooks): useActionQuery/useActionMutation 接入 QueryClient + 向后兼容
SpecialX
2026-07-05 18:15:58 +08:00
-
0f9d8825e7
docs(cache): 同步 cacheFn 架构图与已知问题速查
SpecialX
2026-07-05 18:07:18 +08:00
-
d6227d6e6c
feat(cache): 实现 cacheFn 双层包装(react.cache + cacheStore)
SpecialX
2026-07-05 18:07:11 +08:00
-
92913a728f
feat(cache): 实现 invalidateFor 三步编排函数
SpecialX
2026-07-05 18:00:09 +08:00
-
e510f191c9
feat(cache): 新增 query-keys.ts 工厂(classes 模块)
SpecialX
2026-07-05 17:56:04 +08:00
-
2d49f1bad8
feat(cache): 新增 index.ts 公共 API 聚合导出
SpecialX
2026-07-05 17:55:58 +08:00
-
6baa60b2a1
feat(cache): 新增 INVALIDATION_MAP 集中式失效映射表(classes 模块)
SpecialX
2026-07-05 17:52:41 +08:00
-
13409e55f1
feat(cache): 新增 store-factory(CACHE_DRIVER 切换)
SpecialX
2026-07-05 17:52:24 +08:00
-
1756ac21a8
feat(cache): 新增客户端失效映射子集(queryKeys only)
SpecialX
2026-07-05 17:52:19 +08:00
-
0058b0b311
feat(cache): 实现 MemoryCacheStore(LRU + TTL + tag 索引)
SpecialX
2026-07-05 17:49:51 +08:00
-
4174cd61d7
feat(cache): 实现 RedisCacheStore(多实例 + tag 索引 + fail-open)
SpecialX
2026-07-05 17:45:02 +08:00
-
44f997bad7
refactor(redis): 抽出共享 Redis 客户端单例至 shared/lib/redis-client.ts
SpecialX
2026-07-05 17:40:45 +08:00
-
fcf89dfb2c
feat(cache): 新增 cache/types.ts 类型定义
SpecialX
2026-07-05 17:35:17 +08:00
-
bc03275262
refactor(cache): 提升 upstash-modules 类型声明至 shared/lib
SpecialX
2026-07-05 17:33:31 +08:00
-
16ffd44161
feat(cache): 新增 CACHE_DRIVER 环境变量
SpecialX
2026-07-05 17:32:01 +08:00
-
be31da6223
docs(cache): 缓存策略落地实施计划 + 修正 INVALIDATION_MAP 占位符一致性
SpecialX
2026-07-05 01:37:15 +08:00
-
8afd7af6dc
docs(cache): 缓存策略落地专项设计文档 v1 - 全栈缓存策略一致性(服务端数据缓存+客户端 TanStack Query+失效编排)
SpecialX
2026-07-05 01:30:59 +08:00
-
9ec1be1528
fix(design-tokens): 补充 semantic-dark.css 缺失的 --radius 令牌
SpecialX
2026-07-05 01:09:36 +08:00
-
214ebec976
refactor(design-tokens): 全量体系化重建设计令牌
SpecialX
2026-07-05 01:03:19 +08:00
-
d1ad7a1f75
docs(architecture): update impact map, data, troubleshooting, add mockups
SpecialX
2026-07-04 23:02:14 +08:00
-
e962b67050
feat(lesson-preparation): update paper-editor, detail-panel, AI node assist, i18n
SpecialX
2026-07-04 23:02:04 +08:00
-
0780524c08
docs(troubleshooting): V4 备课编辑器规则
SpecialX
2026-07-04 12:01:06 +08:00
-
5ca2a76e3a
docs(architecture): V4 纸感重构架构图同步
SpecialX
2026-07-04 11:59:39 +08:00
-
0e4eccec21
chore(lesson-preparation): V4 lint + tsc 零错误验证
SpecialX
2026-07-04 11:53:13 +08:00
-
e762490f19
refactor(lesson-preparation): print-view 适配 V4
SpecialX
2026-07-04 11:47:50 +08:00
-
5d306dc686
refactor(lesson-preparation): 删除废弃的 React Flow 画布和字符串锚点文件
SpecialX
2026-07-04 11:46:31 +08:00
-
124ed97060
refactor(lesson-preparation): 主编辑器三栏布局(结构树 + 纸 + 详情面板)
SpecialX
2026-07-04 11:44:26 +08:00
-
e29f30d278
feat(lesson-preparation): v3 锚点失效提示 banner
SpecialX
2026-07-04 11:41:24 +08:00
-
6dd3b1fecd
feat(lesson-preparation): 注册 interaction block 到 registry
SpecialX
2026-07-04 11:40:46 +08:00
-
85121c49a3
fix(lesson-preparation): 重命名 TreeNodeRow.children prop 为 childItems 避免 react/no-children-prop
SpecialX
2026-07-04 11:36:41 +08:00
-
8ff14fce1c
feat(lesson-preparation): 右栏详情面板容器
SpecialX
2026-07-04 11:33:03 +08:00
-
24b8ae78c6
feat(lesson-preparation): 师生交互 block(详情编辑入口)
SpecialX
2026-07-04 11:32:58 +08:00
-
43f30f4013
feat(lesson-preparation): 师生交互编辑器(对话轮次增删改)
SpecialX
2026-07-04 11:32:54 +08:00
-
40cba54ed4
feat(lesson-preparation): 详情面板属性条
SpecialX
2026-07-04 11:32:49 +08:00
-
a4c9eb02b4
feat(lesson-preparation): 详情面板头部
SpecialX
2026-07-04 11:32:44 +08:00
-
05f9b4fd9d
feat(lesson-preparation): 左栏结构树容器
SpecialX
2026-07-04 11:31:03 +08:00