github share/sharedb v7.0.1

one hour ago
  • GHSA-gj85-q77q-5mw4 — Poll projected queries with their projection's fields
    • Fixes an issue where resubscribing to a query on a projection polled the database without the projection's fields, so a client could read hidden fields through the query's extra
    • Adapters now get the projection's fields as options.fields in queryPoll(), and any fields a client sends is ignored. sharedb-mongo checks them from 6.0.3 (GHSA-xjv7-3vh2-xff5), so upgrade both
  • GHSA-4j7j-cw4p-wgv2 — Wait for an in-flight _unsubscribe() before resubscribing
    • Fixes an issue where a client unsubscribing and immediately resubscribing to a doc could leave the server's pub/sub channel unsubscribed, so other clients on that server stopped getting the doc's ops
  • #751 — Destroy every stream an Agent holds when it closes
    • Also stops presence outliving a client that disconnects while it's still in flight, or without subscribing to the channel. receivePresence middleware sees these leaves as p: null
  • #752 — Only accept presence for the doc on its channel
    • Fixes an issue where a client could send presence to subscribers of a doc it can't read, by giving it a readable doc's c and d
    • The server check only holds once every instance is upgraded, and the client filter only protects upgraded clients
  • #760 — Only read known query results after 'query' middleware
    • Fixes an issue where a query resubscribe that 'query' middleware rejects still sent the known results' ops to the client
    • Adds an Access control docs page: ops go through 'op' middleware, not 'readSnapshots'
  • #761 — Add retry middleware action
    • Triggered before a submit that lost a race to another op is retried, so middleware can reset state it set on the request
    • Thanks to @dawidreedsy!

Don't miss a new sharedb release

NewReleases is sending notifications on new releases.