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
fix(cmc): persist negotiated features into accept trigger + default-true on listAcceptedRelationships — features-negotiation contract drift
Lockstep patch release: pryv@3.4.1 + @pryv/cmc@1.1.1 + @pryv/monitor@3.4.1 + @pryv/socket.io@3.4.1.
@pryv/cmc@1.1.1 — two fixes (one cause):
- acceptInvite resolves the offer's features (default-true on omission per
README contract; explicit false binding both ways) and persists them
into the accept trigger's content.features. Previously offerFeatures
was computed but never written, so the server-side plugin saw nothing
and stamped clientData.cmc.features: null on the accepter's data-grant.
- listAcceptedRelationships mapper defaults absent content.features to
{ chat: true, systemMessaging: true } (was { chat: false, system: false }
— both wrong-default AND wrong-key; `systemMessaging` is the documented
contract everywhere else). Legacy content.extra fallback removed.
Coordinated with the server-side plugin fix on open-pryv.io master:
handleAccept now reads triggerEvent.content.features (was .extra). Both
sides need the bump to fully restore the negotiation; mismatched versions
keep producing null features.
Tests: 4 new [CMCL1OF] J6 contract tests pin each fix at unit-test time.
pryv-cmc 60/60.
Reported by HDS implementer 2026-05-21 against open-pryv.io@04bb2c1 +
@pryv/cmc@1.1.0.
0 commit comments