Jay Meistrich Profile picture
Building @LegendAppHQ and @bravely_io. Been a digital nomad for 10 years. Tweeting about πŸ”₯ Legend-State, ⚑️ web perf, 🀯 productivity, and ✈️ traveling.

May 22, 6 tweets

Legend-State 3.0 Alpha is here with big improvements πŸŽ‰
✨ computed and proxy are now just functions
✨ observables can link directly to other observables
✨ it's now a robust offline-first error-resilient sync system
✨ new sync plugins for Keel, Supabase, TanStack Query

🧡

computed is no longer a separate concept. Any function in any observable can be used as a computed, so it's super easy to created computed values.

proxy is now just a function with a string key. If you index into it like an object, it calls the function with that key to dynamically create a computed child.

Any observable node can link to any other observable. One cool feature this enables is to transform/filter an observable with values linked to the original object. So the transformed object is always up to date and you can modify the original object through it.

The coolest and biggest change is the sync system. You define how observables should sync themselves, then just work with observables and they sync themselves automatically. The sync is very robust with persisting, debouncing, batching changes together, auto-retrying even through restarts, syncing only diffs, realtime subscriptions, etc...

This update has been cooking for 8 months for @bravely_io and @LegendAppHQ's new sync systems, and I'm super excited to finally release it! It now has 708 tests and has had a lot of testing from the community. I'd love your feedback before releasing the full 3.0 version, so I hope you'll check it out and post issues/feedback on Github or in Discord ❀️ legendapp.com/open-source/st…

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling