Changelog

Fresh off the board.

This release focuses on new-card creation polish, attachment handling fixes, and agent/companion reliability improvements. Commenting and file attachment now work correctly on unsaved cards, the card byline appears immediately on creation, and a "Log in" link lands on the landing page. On the agent side, agents can now be assigned to already-completed cards and follow-up complete_card calls no longer conflict. Litestream backups move to hourly, and the companion update prompt now verifies locally without browser probing.

New

  • Comment on a card before it has been savedThe comment composer is available the moment a card opens, but previously postComment() bailed silently when the card had no id yet. Comments written during creation now queue locally, the composer clears immediately, and the queue is flushed (oldest-first) once the card is saved — the tile lands on the board already showing its thread count. 4ceda80 8c7e306
  • Landing page gains a "Sign in" link in the top barThe marketing home had no visible path back in for returning visitors — only the hero's "Start free" CTA. A right-aligned "Sign in" button now appears in the top bar, reusing the shared AppHeaderBar component and consistent label used across the rest of the product. 0f7c770 f05fb41

Improved

  • Agents can be assigned to already-completed cardsThree status gates previously blocked handing off a card to an agent once it was completed. Those gates now accept both ACTIVE and COMPLETED statuses (using the shared RUNNABLE_NOTE_STATUSES constant), while deleted and archived cards remain rejected. No client change is needed. fceb904

Fixed

  • New card header shows the byline immediately, not a blank bandThe byline row was populated only from the saved database row, so every card being created showed an empty band above the title. The author and timestamp are now filled in optimistically from the current user and the current time, matching what the saved card will show a moment later. 41b1bc0 ae09746
  • Attached image stays visible while a new card savesWhen saving a new card with an image attached, the pending file list was cleared before the upload was sent, causing the image to visibly disappear mid-save. The pending thumbnail is now cleared only once the upload resolves, and anything dropped while the request is in flight remains pending. The remove button is also disabled during the upload so a click can no longer silently undo the attachment. ac96c83 466dc33
  • Close the image lightbox by clicking outside the attachmentTapping or clicking outside the lightbox overlay now dismisses the image preview, and touch gestures within the preview are preserved so pinch-to-zoom and swipe still work as expected. f8a00b3 ab5dbd7
  • Follow-up complete_card calls on an already-completed card no longer conflictA second complete_card action on a card that was already completed previously threw a conflict, rolled back the transaction, and stranded the run and job. A repeat completion now succeeds idempotently — completed_at, completed_by, and version are left untouched — and correctly reports the original completer rather than the acting agent's username. 687d588 3b3c02f

This release improves how cards open and duplicate on collaborative boards, adds a markdown formatting bar to the comment composer, and tightens up reading typography across card detail and attachment views. Mobile attachment previews go full-screen, command palette search handles multi-word queries correctly, and dark mode rendering for markdown attachments is fixed.

New

  • Cards remember whether you last had them expanded or collapsedOpening a card now restores the focus (expanded/collapsed) state you left it in, scoped per device and per account. The preference is set by expanding once and cleared by collapsing once, so you no longer have to re-expand on every open. 77c2a90 719407d 7592703 ce716d8
  • Markdown formatting bar is now available in the comment composerComments have always rendered Markdown, but the composer offered no toolbar to write it. The same eight-action formatting bar from the card description is now available in the comment composer via an Aa toggle; the preference is sticky per device so it stays on across cards and sessions. Keyboard shortcuts like ⌘B and ⌘I work whether or not the bar is visible. fba7f71 1d92176 da80c5a c6b3aa2

Improved

  • Prose in card detail and attachment views is capped at a comfortable reading widthA --measure token (33em, roughly 65 characters) now limits paragraph width in the card detail and the markdown attachment sheet. Images, code blocks, and tables remain uncapped so wide content still uses the available space. Focus mode also steps the reading size from 14px to 15px, and the measure widens with it automatically. b9ee297 c41897c
  • Attachment previews open full-screen on mobileOn small screens, attachment previews now expand to fill the display rather than rendering in a constrained sheet. a310704 4b49166

Fixed

  • Duplicated cards land where you see them, for every collaboratorDuplicating a card now places the copy relative to the requester's own layout rather than the note's shared base row, and broadcasts the correct position to all open collaborators. Previously the copy could land off-screen or jump to a different spot after a reload. dca0a00 e11829e
  • Markdown attachments are readable in dark modeAttachment previews now apply correct foreground and background colors in dark mode, fixing text that was previously hard to read. 5321ecd 92bb42e
  • Command palette search works correctly with spacesTyping a multi-word query in the command palette now returns the expected results instead of failing to match. 7f0eeb4 a2197d6