Skip to content

Comate v0.0.30

Choose a tag to compare

@github-actions github-actions released this 31 Jul 03:15

[0.0.30] - 2026-07-31

Added

  • Inline todo title editing — a todo title in the list can now be renamed in place: single-click still opens the detail pane, double-clicking the title enters edit mode, Enter or Cmd/Ctrl+Enter saves, Escape cancels, and blur saves. Empty titles are rejected (silently reverted). The same 2000-character cap applies.

  • Embedded browser: internal HTTP and insecure-certificate sites — the embedded browser now respects explicit http:// URLs instead of automatically upgrading them to HTTPS, preventing upgrade/downgrade redirect loops that surfaced as ERR_BLOCKED_BY_CLIENT. Private-CA and hostname-mismatched sites can also load through a global Settings → General toggle, persisted server-side and applied to every spawned Chrome as --ignore-certificate-errors; it is on by default and can be disabled for strict certificate validation. (Replaces the earlier COMATE_BROWSER_IGNORE_CERT_ERRORS env var, which is now a no-op.) Applies to the embedded browser only.

  • GitHub Issues sync — todos are now global, shareable entities that sync with GitHub Issues. Connect a GitHub account (GitHub App via Device Flow, or a fine-grained PAT), then publish a local todo to an issue or pull an issue into a local replica. Sync is origin-anchored and field-class: comments merge append-only both ways, status/labels/assignee accept the remote, and title is origin-wins with both-sides-edited conflicts surfaced for an accept-local/accept-remote choice (never auto-clobbered). Sync runs on-demand when the Todos panel opens or you click refresh; a single-flight guard collapses overlapping triggers. A remote deletion is detected and flagged, never silently destroying local comments. Tokens are encrypted at rest and never appear in any response or log.

Changed

  • Panel background color redesign — simplified the main layout to a minimal white-and-gray palette. App header, left sidebar, and status bar now share a single chrome gray surface, while the chat header, message body, right panel, and prompt input share a single work white surface. App header uses a subtle shadow instead of a bottom border to avoid a double divider with the chat header. Added design comparison prototypes under docs/design/.

  • Right sidebar browser integration — the embedded browser is now a tab inside the right sidebar alongside Files and Git Changes. The old chat-header browser button and the separate in-chat browser pane are removed. The right sidebar now collapses completely (no 40 px rail) and animates its width when expanding or collapsing. Browser iframes stay mounted across tab switches and collapse/expand so the cast stream never reloads.

  • Todos panel top-bar layout — the todos panel is now a top-bar task list: the left view rail is removed, smart views (Inbox / Today / Upcoming / All) live in a segmented header control with counts, search filters the active view, and the list spans the full width with information-rich rows showing due dates, labels, and origin. Group-by moved into the header, quick-add sits at the top of the list, and empty/no-results/load-failure states are split so sync errors are visible.

  • Todo detail panel — the detail pane is now wider by default and resizable via a left-edge drag handle. It animates when a todo is selected, shows the workspace name instead of its ID, and lets you reassign the workspace and edit the status directly. Linked sessions are clickable and jump to the session. Search and group-by inputs are sized to 34 px.

Fixed

  • Embedded browser content appearing scaled down — live browser frames now render at their native 100% CSS-pixel size instead of being fitted to the panel height. When the page viewport is larger than the embedded browser, the viewer shows scrollbars rather than shrinking the content.
  • Claude SDK Sessions becoming idle while background agents still run — Session activity now follows the SDK's complete background-task snapshot instead of ending with the main-agent result. Background work keeps the Session active, visible, retained, and stoppable while leaving the composer available for replies and follow-up prompts; the Session list shows a task count and the open chat shows task details. Stop now fences the whole Session immediately, drains late tasks, and closes the SDK process when cancellation cannot be proven.
  • Individual Claude background task controls — each running background agent or command can now be stopped independently from the activity panel without interrupting the foreground turn or other background work.
  • First chat message flush against the header — the conversation content area now has top padding, so the first message no longer sits directly on the chat header's bottom border; the 16 px gap matches the existing spacing below each message row.