Changelog

Fresh off the board.

This release is focused on error handling and UI polish. Failed saves — card titles, due dates, comments, and card completion — now report clearly instead of silently reverting. The due-date calendar's contrast and date availability cues are corrected. Several layout issues are fixed: the Email notification row wraps correctly at large text sizes, the description toolbar stays visible on narrow screens, the board filter's focus return works, the dashboard header no longer overflows on mobile, and the Plus upsell dialog now renders above an open card rather than behind it. Token and API key lists show loading and error states instead of a premature empty message.

Fixed

  • Failed card saves no longer silently discard your workWhen saving a card title or completing a card fails, the draft is now preserved and an error is shown — previously the UI reverted without any message, making it look like nothing had happened. 2e3560b bb3bfdf cb0da49 1034593 23653b9
  • Due-date save failures now tell you the save didn't stickA failed due-date PUT previously rolled the chip back silently, leaving you with a reminder you thought was set but wasn't. The rollback now shows an error toast naming the field and pointing at the Due chip so you can retry. c7e8578
  • Comment post failures now show an error instead of disappearingWhen posting a comment fails, the UI now reports the failure rather than silently dropping the comment. 7aaee45
  • Due-date calendar contrast fixed — pickable dates are no longer the faintest onesOutside-month dates that were selectable were rendered at a lower contrast than disabled dates, making available dates look less available than unavailable ones. The three opacity weights are now correctly ordered (disabled, outside-month, current-month) and all clear the 4.5:1 contrast floor. b1aca6d
  • Due picker now scrolls correctly on short viewportsThe date picker was not scrollable on short viewports, making it hard to reach all controls. Layout and scroll behaviour are now corrected. 9050e31 5ee95e5
  • Plus upsell dialog now appears above an open card, not behind itFree users tapping Files inside an open card got the upsell prompt rendered behind the card, with no way to dismiss it except Escape (which closed the card). The upsell and its scrim are now raised above the card overlay, and Escape correctly closes the prompt and returns to the card with the draft description intact. 5a7caf4
  • Token and API key lists show loading and error states instead of a false empty messageThe tokens panel previously showed "No tokens yet" immediately on open, before the server had responded — and left that message standing after a failed fetch. The list now waits for the fetch to complete before claiming emptiness, and a failed fetch shows a named error with a Retry button. 618af6f ae467ae d811223 ffe6b18
  • HTTP errors on search and attachment fetches are now handled correctlyThree fetch() call sites were treating 4xx/5xx responses as success payloads. Search results and attachment lists now reject on non-OK responses and fall through to their existing error handlers. A stale focus timer in the palette is also cleaned up on unmount. 0bd5962 5f28b09
  • Submitting a board with no name now explains why nothing happenedA blank or whitespace-only board name was blocked silently — the button appeared to do nothing. The field now shows an inline message, sets aria-invalid, announces the error with role="alert", and clears whitespace so the placeholder returns. b0c526c
  • Dashboard invitation list refreshes after an owner declines an inviteDeclining an invitation as a board owner previously left the stale invitation visible in the dashboard. The list now refreshes correctly after a decline. ae32eb4 bfbf731 836de02
  • Email notification row wraps at large text sizes instead of clippingAt 200% text size on a 390 px viewport, the Email label shrank to 16 px and the chip labels truncated to single characters. The row now wraps like the agent rows beside it, keeping both the label and the chip pair readable at 200% and 300%. fbf8144
  • Description toolbar actions no longer hide on narrow screensToolbar actions in the card description editor were clipped on narrow viewports. They are now always reachable. 7ef4d71
  • Board filter Clear button restores focus and focus ring correctlyAfter clearing a board filter, focus was not returned to the Clear button and the focus halo was missing. Both are now correct. d7637bf 5707991
  • Mobile dashboard header no longer overflows and horizontal scrolling is lockedThe dashboard header could overflow its container on mobile, and the page could scroll horizontally. Both issues are resolved. 78a15ae