Added

  • SSE live view refresh: GET /api/events streams change events to all connected browsers; mutations in tasks, notes, goals, milestones, meetings, and portfolio emit events; the active view auto-reloads within 300 ms, enabling live sync between browser and MCP agent
  • Sidenav scroll reset: every panel scrolls back to the top on open so previously visited positions are not retained across open/close cycles

Fixed

  • AI chat copy button invisible on mobile: added @media (hover: none) rule so the copy button is always visible on touch devices (was opacity: 0 with no hover trigger on mobile)
  • Mobile nav: uploads, DNS, and GitHub view buttons did not respond to taps (uploadsViewBtnMobile, dnsViewBtnMobile, githubViewBtnMobile were missing click handlers and active-state registration)
  • Comment section stuck at bottom of task sidenav instead of scrolling with content: moved #taskCommentsSection inside .sidenav-content
  • Section reorder showing “undefined” after adding a new section: added renderSections() after loadSections() in rewriteTasksWithUpdatedSections()