Releases: Postmodum37/ocwatch
Releases · Postmodum37/ocwatch
v0.6.0
What's Changed
- perf(client): reduce unnecessary re-renders and code-split GraphView by @Postmodum37 in #2
- refactor: phase 1 cleanup — dead code, error handling, deps by @Postmodum37 in #4
- refactor: phase 2 — structural cleanup by @Postmodum37 in #5
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Full Changelog: v0.4.0...v0.5.0
v0.4.0 — Live Activity Graph & Edge Animations
What's Changed
- feat(client): replace LiveActivity/AgentTree with force-directed graph view by @Postmodum37 in #1
New Contributors
- @Postmodum37 made their first contribution in #1
Full Changelog: v0.3.0...v0.4.0
v0.3.0 — Project-scoped polling & single-project view
What's New
Project-scoped polling
- Poll data is now filtered by the selected project — sessions, messages, and plan progress are all scoped
- Project auto-selection on startup: URL param → server
--projectflag → first project in list --project <path>CLI flag threads through as default project via health endpoint
Single-project view
- Removed "All Projects" view — dashboard always shows one project at a time
- Simplified project dropdown (no more "All Projects" option at bottom)
- Removed per-session project badges (unnecessary in single-project mode)
Bug fixes (from code review)
- Fixed cross-project response race: Hooks now use combined
sessionId+projectIdscope key to detect stale responses during rapid project switching - Fixed test workflow regression: Removed
bunfig.tomlroot that broke integration test discovery - Eliminated duplicate
listAllSessions()call:resolveProjectDirectorynow accepts pre-loaded sessions - Added project-scoped poll cache: Cache keyed by
projectIdinstead of global-only — scoped requests now benefit from caching and deduplication - Session cleared on project switch:
selectedSessionIdresets when changing projects - Auto-selected project validated: Stale
?project=URL params no longer lock users into empty scope - Graceful directory-missing degradation: Shows sessions even when project directory is gone, only plan data is null
Tests
- Added hook tests for projectId URL construction, scope key reset, and stale response rejection
- Added server tests for scoped cache 304 responses and cache isolation across projects
- Added SidebarPlanProgress, health route, and project resolver test suites
v0.2.1
Activity Stream Fixes & Code Quality
Bug Fixes
- Animation jank: Removed index-based stagger delay that caused frame drops on large streams
- Scroll scheduling: Replaced
setTimeout(0)withrequestAnimationFramefor smoother auto-scroll - New-item detection: Switched from length-based to ID-based tracking (fixes false positives on entry replacement)
- Memory leak: Fixed
seenIdsRefunbounded growth — now caps at 2000 and rebuilds - Render allocation: Fixed
useRefinitializer allocating a new Set on every render via lazy init pattern - Test coverage gap: Shared tests (
src/shared/) were silently excluded frombun test— now included (307 tests, up from 216)
Improvements
- Error pipeline: End-to-end error extraction from part files →
PartMeta.error→ToolCallSummary.error→BurstRowinline display - BurstRow redesign: Agent name label restored, latest action as primary text, tool breakdown dimmed, inline error count + preview
- Type safety: Narrowed
MilestoneEntryunion (removed deadToolCallActivitypath), addedisMilestone()type guard - Dead code cleanup: Removed unreachable tool-call milestone branches in
MilestoneRowandAgentSwimlane - ES2023: Bumped lib target for
Array.findLast()support
Tests
- 307 server/shared tests passing
- 176 client tests passing
- 0 TypeScript errors
v0.2.0
Full Changelog: v0.1.1...v0.2.0