Under --scoped-events, when alice shares a diagram with bob, bob receives no event on $DB/u/bob/events/# — he must re-query to discover the newly accessible resource. The same gap applies to unshare (bob is not notified when his access is revoked).
The _shares write emits a change event, but _shares is a Global entity so it broadcasts to $DB/_shares/events/..., which is admin-only by topic protection — a normal grantee never sees it.
Possible approach
On share/unshare, emit a synthetic event to the affected grantee's $DB/u/{grantee}/events/# namespace so clients can react without polling.
Relates to phase 4 (#79) and cluster parity (#75). Follow-up from PR #83 review.
Under
--scoped-events, when alice shares a diagram with bob, bob receives no event on$DB/u/bob/events/#— he must re-query to discover the newly accessible resource. The same gap applies to unshare (bob is not notified when his access is revoked).The
_shareswrite emits a change event, but_sharesis a Global entity so it broadcasts to$DB/_shares/events/..., which is admin-only by topic protection — a normal grantee never sees it.Possible approach
On share/unshare, emit a synthetic event to the affected grantee's
$DB/u/{grantee}/events/#namespace so clients can react without polling.Relates to phase 4 (#79) and cluster parity (#75). Follow-up from PR #83 review.