tldraw/packages
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
..
assets ui: make toasts look more toasty (#2988) 2024-03-27 09:41:13 +00:00
editor Don't trigger pointer move on zoom (#3305) 2024-03-29 15:29:28 +00:00
namespaced-tldraw use native structuredClone on node, cloudflare workers, and in tests (#3166) 2024-03-18 17:16:09 +00:00
state Revert perf changes (#3217) 2024-03-21 10:05:44 +00:00
store Fix typo. (#3306) 2024-03-29 12:32:25 +00:00
tldraw Add white (#3321) 2024-04-01 18:48:56 +00:00
tlschema Add white (#3321) 2024-04-01 18:48:56 +00:00
tlsync squish sync data events before sending them out (#3118) 2024-04-02 08:57:58 +00:00
utils use native structuredClone on node, cloudflare workers, and in tests (#3166) 2024-03-18 17:16:09 +00:00
validate React-powered SVG exports (#3117) 2024-03-25 14:16:55 +00:00