Changelog

Fresh off the board.

2026.09.08

This release fixes two card UI glitches (hover action trails and oscillating card width), lets read-only visitors rearrange cards locally, ships a 1Password-based secret resolution system for the container, refines the Claude code-review CI workflow, and rolls up a batch of dependency updates.

New

  • Read-only visitors can now rearrange cards locallyDrag-and-drop reordering is no longer blocked for visitors who don't have write access. Their changes stay local and are not persisted to the server. c99b9e1

Improved

  • Container resolves all application secrets from 1Password at bootKamal now ships a single OP_SERVICE_ACCOUNT_TOKEN to the host. The container image includes the op CLI and scripts/entrypoint.sh starts the app under op run --environment, so every secret is resolved inside the container at startup. Adding a new secret requires only a 1Password edit and bun ship — no manifest lists to update. 4182287 28a5a05 f121a53 ba17a30

Fixed

  • Task action buttons no longer leave a hover trail when scanning a listThe edit and remove buttons on task rows were fading out too slowly because both the enter and exit transitions shared an ease-in curve. The exit now uses a faster ease-out fade, and the transition is scoped to only the properties that actually change. The same fix applies to .comment-delete rows. 6643b1c
  • Card detail panel no longer oscillates when content is near the width thresholdThe grow/shrink decision was reading a measurement its own outcome produced, causing cards whose content landed near 560 px to flip back and forth roughly ten times a second. The threshold is now evaluated at the base width so the decision settles after one pass. 6a9e024 653c58f