tldraw/packages/tlsync
Dan Groshev b42a222c88
squish sync data events before sending them out (#3118)
Recently (https://github.com/tldraw/tldraw/pull/3012), we started
aggregating data messages before sending them out. However, local
testing shows that we generate *many* redundant messages (see the test
file for an example of a real buffer captured during local testing with
just two users). This PR adds a function to squish those updates
together, reducing the amount of data we need to transfer and load on
the client that won't need to process those redundant messages.

The function is checked with [fast-check](https://fast-check.dev/), a JS
property test framework, to make sure that squished deltas result in
exactly the same state as the original ones.

### Change Type

- [x] `minor` — New feature

### Test Plan

1. Needs a group smoke test

- [x] End to end tests
2024-04-02 08:57:58 +00:00
..
src squish sync data events before sending them out (#3118) 2024-04-02 08:57:58 +00:00
api-extractor.json unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
api-report.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
CHANGELOG.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
LICENSE.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
package.json squish sync data events before sending them out (#3118) 2024-04-02 08:57:58 +00:00
README.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
setupJest.js React-powered SVG exports (#3117) 2024-03-25 14:16:55 +00:00
tsconfig.json Check tsconfig "references" arrays (#2891) 2024-02-21 13:07:53 +00:00

@tldraw/tlsync