Commit Graph
14780 Commits
Author SHA1 Message Date
Ruben FiszelandClaude Opus 5 994b8dcae1 fix: keep an unsent row on its own baseline, and let one editor own one delete
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 14:31:52 +02:00
Ruben FiszelandClaude Opus 5 6fde8e9dce fix: re-issue a draft delete the server never received instead of assuming it landed
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 14:16:11 +02:00
Ruben FiszelandClaude Opus 5 e226143f4c fix: open an item on the row its syncer could not send
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 14:02:16 +02:00
Ruben FiszelandClaude Opus 5 c5312f2a19 fix: drop only a refused payload on adoption, never one that never reached the server
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 13:51:14 +02:00
Ruben FiszelandClaude Opus 5 978d8b5813 fix: drop the payload the server refused when a read adopts a fresh baseline
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 13:39:16 +02:00
Ruben FiszelandClaude Opus 5 15a9cacf01 fix: mark a read's row baseline after its own flush, not before
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 13:26:04 +02:00
Ruben FiszelandClaude Opus 5 b4a89a3b16 docs: say handed over, not landed, for the row-baseline ordering token
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 13:12:13 +02:00
Ruben FiszelandClaude Opus 5 d491693a8a fix: let an unasked read move the deployed side under a conflict without answering it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 12:41:05 +02:00
Ruben FiszelandClaude Opus 5 a3e0e6e80d fix: order a read's row baseline against every writer, and spare a conflicted holder
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 12:27:34 +02:00
Ruben FiszelandClaude Opus 5 a0077ce5e9 fix: measure a discard against what moved under it, not against the value
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 12:08:22 +02:00
Ruben FiszelandClaude Opus 5 c9a3fcbda2 fix: let a discard asked for before the first read throw away what it turns up
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:59:00 +02:00
Ruben FiszelandClaude Opus 5 b884cc92f8 refactor: reshape the item store's command layer so the races cannot be written
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:44:19 +02:00
Ruben FiszelandClaude Opus 5 8455c7da3a fix: tag which patch owns a field rather than inferring it from the value
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:44:14 +02:00
Ruben FiszelandClaude Opus 5 8bfaae1def refactor: take one request-time snapshot per command instead of four by hand
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:39:57 +02:00
Ruben FiszelandClaude Opus 5 bc2e51c514 refactor: take a read's row and its sync baseline together, ordered
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:37:40 +02:00
Ruben FiszelandClaude Opus 5 2fab8c8aff refactor: derive the deployed baseline instead of overlaying it by hand
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:35:51 +02:00
Ruben FiszelandClaude Opus 5 04eed3f58a fix: three concurrency holes in the item store's command layer
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:30:55 +02:00
Ruben FiszelandClaude Opus 5 b33f70e77f fix: keep the row baseline a read that started earlier would rewind
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 11:01:36 +02:00
Ruben FiszelandClaude Opus 5 899899b284 docs: condense the discard invariant to four lines
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 10:50:07 +02:00
Ruben FiszelandClaude Opus 5 a68b19130f fix: grey the draft banner's Discard while a command is in flight, like Save
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 10:31:53 +02:00
Ruben FiszelandClaude Opus 5 8a6fa9b8a4 fix: measure a queued discard against the value it named, not a write count
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 10:31:53 +02:00
Ruben FiszelandClaude Opus 5 6cbf34c045 fix: discard the value as of the click, not as of its turn
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 10:14:03 +02:00
Ruben FiszelandClaude Opus 5 89170ab042 fix: keep an in-flight patch's fields on every write of the deployed side
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 10:02:37 +02:00
Ruben FiszelandClaude Opus 5 1a50765295 fix: let an outside write that lands during a discard keep the item
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 09:46:12 +02:00
Ruben FiszelandClaude Opus 5 47b6934266 fix: leave a command's own value replacement out of the edit count
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 09:33:02 +02:00
Ruben FiszelandClaude Opus 5 d17f60945a fix: count a re-read's edits from before its row went out
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-15 09:19:05 +02:00
Ruben FiszelandClaude Opus 5 718a7b516e fix: send a held item's queued row before re-reading it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-15 09:11:41 +02:00
Ruben FiszelandClaude Opus 5 8478b4ea98 refactor: write the item a panel config stands for without becoming it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-15 00:45:39 +02:00
Ruben FiszelandClaude Opus 5 866050aaf6 fix: carry the stamp with a value handed between entries
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 20:49:41 +02:00
Ruben FiszelandClaude Opus 5 2bedaf1afe fix: ignore an ask older than the one that already holds, its value included
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 20:39:50 +02:00
Ruben FiszelandClaude Opus 5 6e98542839 refactor: stamp every ask of an item so the one asked last holds
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 20:27:04 +02:00
Ruben FiszelandClaude Opus 5 8d0966d902 fix: keep a parked draft from outranking a discard asked after it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 20:13:20 +02:00
Ruben FiszelandClaude Opus 5 4ea45a83aa fix: hold a discard superseded by a later draft, whether or not the move lands
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 20:00:03 +02:00
Ruben FiszelandClaude Opus 5 226cf97d1f fix: let the ask that came last hold, a draft rewritten unchanged included
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 19:40:23 +02:00
Ruben FiszelandClaude Opus 5 2d48f7f0f9 fix: let the last outside write at a key win over a discard and a parked draft
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 19:29:13 +02:00
Ruben FiszelandClaude Opus 5 4ffa65538f fix: let a discard asked before a move lands win over the edits it drops
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 19:12:23 +02:00
Ruben FiszelandClaude Opus 5 984e958a72 fix: keep an outside draft written to an editor still loading behind a move
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 18:49:21 +02:00
Ruben FiszelandClaude Opus 5 aca3aef0ec fix: keep a draft written at a key while a save is moving onto it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 18:36:44 +02:00
Ruben FiszelandClaude Opus 5 981ba6f882 fix: name the item on screen in the drawers' title, anchor and picker
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 18:22:19 +02:00
Ruben FiszelandClaude Opus 5 a043f76f0c fix: carry a run-as-only edit onto the entry a move replaces it with
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 18:22:19 +02:00
Ruben FiszelandClaude Opus 5 228da1bfca fix: follow a variable the drawer renamed and stayed open on
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 18:05:28 +02:00
Ruben FiszelandClaude Opus 5 1648336e3e fix: keep the edits of an editor a move replaces at its key
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 18:05:28 +02:00
Ruben FiszelandClaude Opus 5 901e096380 refactor: gate every command on a move heading for its key
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 17:40:27 +02:00
Ruben FiszelandClaude Opus 5 3984495071 fix: hold every entry at a key a save is moving onto until the move lands
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 17:20:10 +02:00
Ruben FiszelandClaude Opus 5 21a41575c5 fix: write an item a save moves onto after the commands queued there
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 17:00:00 +02:00
Ruben FiszelandClaude Opus 5 1c65d17611 fix: tell the list about a draft-only discard that lands off screen
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 15:59:54 +02:00
Ruben FiszelandClaude Opus 5 6371a34b5d fix: record the enabled state a schedule write leaves, not the one sent
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
2026-09-14 15:59:54 +02:00
Diego ImbertandClaude Opus 5 4aa2b0eeba fix: keep a caller's draft cell in step when a live item owns the row
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ViTUkt4czrvZdxdWwxqRAQ
2026-09-13 06:09:01 +02:00
Diego ImbertandClaude Opus 5 c51a932eed fix: close only the drawer opening whose draft discard was awaited
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ViTUkt4czrvZdxdWwxqRAQ
2026-09-13 06:09:01 +02:00
Diego ImbertandClaude Opus 5 db791f0493 fix: enable a draft-only schedule the way deploying it will
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ViTUkt4czrvZdxdWwxqRAQ
2026-09-13 06:09:01 +02:00