feat: enhance weekly report and realtime notifications

Weekly Report (fix-weekly-report):
- Remove 5-task limit, show all tasks per category
- Add blocked tasks with blocker_reason and blocked_since
- Add next week tasks (due in coming week)
- Add assignee_name, completed_at, days_overdue to task details
- Frontend collapsible sections for each task category
- 8 new tests for enhanced report content

Realtime Notifications (fix-realtime-notifications):
- SQLAlchemy event-based notification publishing
- Redis Pub/Sub for multi-process broadcast
- Fix soft rollback handler stacking issue
- Fix ping scheduling drift (send immediately when interval expires)
- Frontend NotificationContext with WebSocket reconnection

Spec Fixes:
- Add missing ## Purpose sections to 5 specs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
beabigegg
2025-12-30 20:52:08 +08:00
parent 10db2c9d1f
commit 64874d5425
25 changed files with 1034 additions and 140 deletions

View File

@@ -0,0 +1,38 @@
## Phase 1: Backend Report Enhancement
### 1.1 ReportService 擴充
- [x] 1.1.1 移除 completed_tasks/overdue_tasks 的 5 筆限制
- [x] 1.1.2 新增 in_progress_tasks 完整清單
- [x] 1.1.3 新增 blocked_tasks 查詢與清單
- [x] 1.1.4 新增 next_week_tasks 查詢與清單
- [x] 1.1.5 擴充 summary 包含 blocked_count 與 next_week_count
### 1.2 任務明細欄位
- [x] 1.2.1 completed_tasks 加入 completed_at, assignee_name
- [x] 1.2.2 in_progress_tasks 加入 assignee_name, due_date
- [x] 1.2.3 overdue_tasks 加入 days_overdue 計算
- [x] 1.2.4 blocked_tasks 加入 blocker_reason, blocked_since
- [x] 1.2.5 next_week_tasks 加入 due_date, assignee_name
### 1.3 Testing - Phase 1
- [x] 1.3.1 週報內容結構測試
- [x] 1.3.2 阻礙任務查詢測試
- [x] 1.3.3 下週預計任務測試
## Phase 2: Frontend Display
### 2.1 WeeklyReportPreview 更新
- [x] 2.1.1 新增 BlockedTasksSection 元件
- [x] 2.1.2 新增 NextWeekTasksSection 元件
- [x] 2.1.3 更新 CompletedTasksSection 顯示完整清單
- [x] 2.1.4 更新 InProgressTasksSection 顯示完整清單
- [x] 2.1.5 更新 OverdueTasksSection 顯示 days_overdue
### 2.2 UI 改善
- [x] 2.2.1 可摺疊區塊設計
- [x] 2.2.2 任務項目樣式統一
- [x] 2.2.3 逾期/阻礙 highlight 樣式
### 2.3 Testing - Phase 2
- [x] 2.3.1 前端週報顯示測試
- [x] 2.3.2 空清單狀態測試

View File

@@ -1,38 +0,0 @@
## Phase 1: Backend Report Enhancement
### 1.1 ReportService 擴充
- [ ] 1.1.1 移除 completed_tasks/overdue_tasks 的 5 筆限制
- [ ] 1.1.2 新增 in_progress_tasks 完整清單
- [ ] 1.1.3 新增 blocked_tasks 查詢與清單
- [ ] 1.1.4 新增 next_week_tasks 查詢與清單
- [ ] 1.1.5 擴充 summary 包含 blocked_count 與 next_week_count
### 1.2 任務明細欄位
- [ ] 1.2.1 completed_tasks 加入 completed_at, assignee_name
- [ ] 1.2.2 in_progress_tasks 加入 assignee_name, due_date
- [ ] 1.2.3 overdue_tasks 加入 days_overdue 計算
- [ ] 1.2.4 blocked_tasks 加入 blocker_reason, blocked_since
- [ ] 1.2.5 next_week_tasks 加入 due_date, assignee_name
### 1.3 Testing - Phase 1
- [ ] 1.3.1 週報內容結構測試
- [ ] 1.3.2 阻礙任務查詢測試
- [ ] 1.3.3 下週預計任務測試
## Phase 2: Frontend Display
### 2.1 WeeklyReportPreview 更新
- [ ] 2.1.1 新增 BlockedTasksSection 元件
- [ ] 2.1.2 新增 NextWeekTasksSection 元件
- [ ] 2.1.3 更新 CompletedTasksSection 顯示完整清單
- [ ] 2.1.4 更新 InProgressTasksSection 顯示完整清單
- [ ] 2.1.5 更新 OverdueTasksSection 顯示 days_overdue
### 2.2 UI 改善
- [ ] 2.2.1 可摺疊區塊設計
- [ ] 2.2.2 任務項目樣式統一
- [ ] 2.2.3 逾期/阻礙 highlight 樣式
### 2.3 Testing - Phase 2
- [ ] 2.3.1 前端週報顯示測試
- [ ] 2.3.2 空清單狀態測試