Problem
In some scenarios, an external Agent successfully creates a Note through RFS, but the new Note does not appear on the Canvas until the user manually refreshes the page.
The manual refresh reveals the Note, indicating that persistence succeeded while the active Canvas did not reflect the committed mutation in real time.
Expected behavior
After an authenticated RFS execute creates a Note successfully, every active client viewing that Canvas should receive and apply the committed change without a page refresh.
Investigation boundary
Reproduce and trace the full mutation path: RFS command acceptance/commit, delta/change-review generation, Canvas/version attribution, realtime broadcast, client subscription, version reconciliation, and node-store projection. Check relevant reconnect, concurrent-write, host-thread attribution, and active-Canvas states. Distinguish a missing server broadcast from a dropped/ignored client delta or stale version gate. Related issues such as #62 and #98 provide context but do not currently describe this persisted-yet-invisible RFS-created Note behavior.
Acceptance direction
- A successfully committed RFS-created Note appears on an already-open Canvas without refresh.
- The fix preserves version ordering, conflict handling, and multi-client behavior.
- Failures are surfaced explicitly rather than returning success while silently skipping realtime delivery.
- Add regression coverage at the layer where delivery or reconciliation is lost.
Problem
In some scenarios, an external Agent successfully creates a Note through RFS, but the new Note does not appear on the Canvas until the user manually refreshes the page.
The manual refresh reveals the Note, indicating that persistence succeeded while the active Canvas did not reflect the committed mutation in real time.
Expected behavior
After an authenticated RFS
executecreates a Note successfully, every active client viewing that Canvas should receive and apply the committed change without a page refresh.Investigation boundary
Reproduce and trace the full mutation path: RFS command acceptance/commit, delta/change-review generation, Canvas/version attribution, realtime broadcast, client subscription, version reconciliation, and node-store projection. Check relevant reconnect, concurrent-write, host-thread attribution, and active-Canvas states. Distinguish a missing server broadcast from a dropped/ignored client delta or stale version gate. Related issues such as #62 and #98 provide context but do not currently describe this persisted-yet-invisible RFS-created Note behavior.
Acceptance direction