OG T
|
f25e94e8c4
|
fix(web): #17 i18n Hydration 防護 (NEXT_LOCALE Cookie)
Phase D #17: 修復 i18n 語系切換 Hydration 當機
問題: Client/Server 渲染語系落差導致 Hydration Mismatch
解法: Middleware 強制綁定 NEXT_LOCALE Cookie
實作內容:
- 從 URL 路徑提取當前語系
- 強制設定 NEXT_LOCALE cookie (1年 TTL)
- 確保 Server/Client 語系一致
@see QA Report 3.1 節
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-03-31 11:18:53 +08:00 |
|
OG T
|
8c8664c75a
|
feat(web): #15 SSE + Optimistic Updates (樂觀更新)
Phase 15: 解決 Zustand Polling 與授權 API Race Condition
樂觀更新 (Optimistic UI):
- signApproval: 點擊瞬間更新簽章數和狀態
- rejectApproval: 點擊瞬間標記為 rejected
- 失敗自動回滾到原始狀態 (Rollback)
SSE 增量更新:
- 'created': 直接加入列表 (無需 re-fetch)
- 'signed': 增量更新簽章數
- 'rejected/expired/executed': 延遲移除
預期效益:
- 即時 UI 響應 (0ms 延遲)
- 減少 API 請求 (增量取代全量)
- Race Condition 消除
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-03-31 11:13:12 +08:00 |
|
OG T
|
0b8701854d
|
feat(web): #16 ThinkingTerminal DOM Bypass (記憶體優化)
Phase 8.0 #16: 解決千行 GraphRAG 日誌記憶體崩潰問題
架構改進:
- 新增 ThinkingTerminalOptimized 使用 ref 直接操作 DOM
- 繞過 React state,避免每行觸發 re-render
- 最大行數限制 (maxLines=500),防止 DOM 過大
- 支援 SSE 串流、停止、清除功能
i18n 更新:
- zh-TW/en: terminal 新增 connecting/connected/stop/clear 等 6 個 key
預期效益: 100x 渲染效能提升 (無 virtual DOM diff)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-03-31 11:10:29 +08:00 |
|
OG T
|
04bfff9d19
|
refactor(ai): 模組化重構 - NVIDIA chat 移至 NvidiaProvider
符合 feedback_lewooogo_modular_enforcement.md 規範:
- 移除 openclaw.py 中的 _call_nvidia() (重複邏輯)
- 新增 NvidiaProvider.chat() 方法
- 更新 INvidiaProvider Protocol
- openclaw.py 改用 get_nvidia_provider().chat()
- 測試移至 test_nvidia_chat.py
架構層次:
- Router → Service → Provider (正確)
- 禁止 Service 層重複實作已存在的 Provider 功能
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-03-29 20:49:23 +08:00 |
|
OG T
|
9bff46a1b0
|
feat: integrate Sentry + fix CI/CD issues
Sentry Integration (補強 SignOz):
- Add @sentry/nextjs for frontend error tracking + session replay
- Add sentry-sdk[fastapi] for backend error tracking
- Create sentry.client/server/edge.config.ts
- Integrate with next.config.js + instrumentation.ts
- Add Sentry exception capture in FastAPI error handler
- Create deployment scripts for Self-Hosted @ 192.168.0.110
CI/CD Fixes:
- Fix F821 Undefined name 'Field' in incidents.py
- Add NEXT_PUBLIC_API_URL env var to CI build step
- Add build-arg to Docker build verification
E2E Test Improvements:
- Fix strict mode violations in dashboard-acceptance tests
- Add timeout increase for Phase 4 demo tests
- Make tests more resilient to UI variations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-03-24 15:19:52 +08:00 |
|
OG T
|
7478dc0254
|
feat(phase6-9): Complete modular architecture and Agent Teams
Phase 6.4 - Modular Architecture:
- Add lewooogo-brain adapters for LLM providers
- Add lewooogo-data dual memory (Redis + PostgreSQL)
- Implement consensus engine for multi-agent decisions
- Add incident memory service for historical context
Phase 9 - Agent Teams (Claude Agent SDK):
- Add base agent class with Claude Sonnet 4 integration
- Implement action planner, blast radius, and security agents
- Add agent API endpoints and proposal workflow
- Integrate ADR-009 OpenClaw Agent Teams architecture
DevOps & CI/CD:
- Add GitHub Actions CI/CD workflows (ci.yaml, cd.yaml)
- Add pre-commit hooks and secrets baseline
- Add docker-compose for local development
- Update Kubernetes network policies
Frontend Improvements:
- Add auto-healing error boundary component
- Update i18n messages for agent features
- Enhance dual-state incident card with execution feedback
Documentation:
- Add 7 ADRs covering MCP, design system, architecture decisions
- Update ARCHITECTURE_MEMORY.md with modular design
- Add GLOBAL_RULES.md and SOUL.md for project identity
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-03-23 18:40:36 +08:00 |
|
OG T
|
196d269b92
|
feat: add all application source code
- apps/api: FastAPI backend with Dockerfile
- apps/web: Next.js frontend with Dockerfile
- apps/sensor: Signal collection agent
- packages: shared packages
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-03-22 18:57:44 +08:00 |
|