You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
An immediate write cancels a node's pending debounced content write #3036
An immediate-mode write for a node cancels that node's still-debounced write, and the cancelled write's changes are never sent. The typical trigger is typing in a task and then, within the debounce window (~500 ms), changing a typed field such as clicking its checkbox or changing its status. The typed write goes out; the typed text is dropped. The UI still shows the text, so nothing looks wrong until the node is reloaded.
Details
SimplePersistenceCoordinator.persist() calls cancelPending(nodeId, …) when a new write for a node arrives while none is executing. This cancels a pending debounced operation regardless of its kind.
A generic updateNode() content write captures only the fields it changed, so the write that cancelled it does not carry the content.
Typed writes are protected against the reverse case: staged typed fields are flushed by whichever write for the node runs next. Generic debounced writes have no such protection.
Acceptance Criteria
A debounced content write that is cancelled by an immediate write for the same node still reaches the server, either sent by the cancelling write or flushed ahead of it
Regression test: type in a task, then change its status before the debounce fires; after both settle, the server holds both changes
Fixed in #3033 (commit b382365): an immediate write now promotes a node's still-debounced write instead of cancelling it. Regression test: update-typed-node.test.ts › an immediate typed write does not discard a still-debounced content edit.
Activity
Address re-review: typed flush owns its failures; no write lost to th…
malibio commentedon Sep 25, 2026
Fixed in #3033 (commit b382365): an immediate write now promotes a node's still-debounced write instead of cancelling it. Regression test:
update-typed-node.test.ts› an immediate typed write does not discard a still-debounced content edit.