Bashing bugs and crushing cruft
TLDR
We do some Fall cleaning in the codebase and make Triplit more efficient in the process, ship a bevy of other improvements, and preview our next big feature: webhooks.
More efficient entities
We've spent a lot of time over the past few weeks upgrading the internals of Triplit to make it more efficient and easier to maintain. An added benefit of this refactor was a more memory-efficient internal representation for entities that are returned by queries. In our internal testing we've seen a reduction in memory usage, and some easy paths to further optimizations.
Other improvements
- Fixed layer ordering in the Triplit + Excalidraw demo app
- Made reliability improvements to query syncing messages that prevents a race condition when queries are subscribed to and immediately unsubscribed
- Addressed an issue for queries that had a
limit
but noorder
when backfilling data after deletions - Fixed a bug where multiple identical queries with
syncStatus
would not be properly "deduped" by the sync engine - Fixed a memory leak on the server caused by a dangling reference to connection metadata when a client disconnects
On the horizon: Webhooks
We're working on a feature that will allow you to subscribe to changes in a Triplit database via webhooks. This will allow you to more easily integrate Triplit with other services, e.g. to trigger a push notification or send a slack message. We'll share a demo of this feature in our Discord soon to solicit feedback from the community.