32343b271b
fix: 通知 SSE 长连接被 Nginx 60s 超时掐断
2026-08-05 18:00:45 +08:00
d53bbd8176
refactor: 前端应用骨架迁移至 zustand 并统一路由权限壳
2026-08-05 17:10:30 +08:00
f07ffdc64c
refactor: 前端登录/权限/界面状态迁移至 zustand
2026-08-04 14:41:27 +08:00
375c7ec60b
feat: refine admin forms, attendance and finance workflows
...
Squash merge PR #23 .
Included changes:
- complete occupancy check-in required fields/default payload
- improve responsive admin management pages
- fix attendance edge cases and attendance period config
- refine wallet/finance-related workflow handling
Checks:
- npm run typecheck -w apps/admin
- npm run typecheck -w apps/server
2026-07-18 12:54:10 +00:00
910a4263f6
fix: refactor notification display logic and add format function
2026-07-13 14:52:03 +08:00
b3655da012
fix: resolve 9 P0+P1 review findings (bills decorators, campus isolation bypass, ding raw crash, batch import counter, SSE multi-tab, interval leak, dept permissions, cycle prevention, tree depth)
2026-07-06 00:38:51 +08:00
9e6c136ef0
fix: apply code review fixes — double layout, SSE leaks, interval leak, conflict values
...
- App.tsx: remove double-wrapped MainLayout from /notifications route
- NotificationBell.tsx: decouple SSE from popover open state using ref
- useNotifications.ts: fix interval leak in onerror via ref in cleanup
- notifications.controller.ts: unsubscribe on req.on('close') for SSE Subject
- schedules.controller.ts: use existing schedule values in conflict catch
2026-07-05 23:31:21 +08:00
f47b7aaf87
feat: add useNotifications hook and NotificationBell component
2026-07-05 23:18:18 +08:00