Product Update
May 1, 2024
May 2, 2024
(updated)

PowerSync Update: April 2024

Kobie Botha

In April we published a Vue composables package, added full-text-search to our Web SDK and presented at Postgres Conf USA. We also saw community releases of a TinyBase PowerSync persister and an Ignite Cookbook recipe for implementing Supabase and PowerSync. Let’s get into it.

Conrad at Postgres Conf USA

Postgres Conference USA is the marquee Postgres event in North America and organized by the US Postgres community. Conrad took the stage to present Local-first apps using Postgres logical replication.

We'll publish a video of the presentation on our YouTube channel soon.

Check out the PowerSync YouTube channel

Vue Composables Package

Vue developers can now use PowerSync. We released the alpha version of a Vue Composables package that introduces reactivity/live queries for PowerSync functionality. We also added a demo project that shows how this package can be used with Supabase.

Shout out to Mow for prompting some of our work here.

Read our engineering notes

JavaScript and React Native SDK Updates

We’ve done a lot of work to make our JS Web and React Native SDKs more capable and user-friendly. Here are some highlights:

  • Added [.inline-code-snippet]hasSynced[.inline-code-snippet] property on [.inline-code-snippet]SyncStatus[.inline-code-snippet]. This value is managed in [.inline-code-snippet]AbstractPowerSyncDatabase[.inline-code-snippet], and becomes true after the first sync has completed.
  • Added [.inline-code-snippet]waitForFirstSync[.inline-code-snippet] method to allow users to await on the state change of [.inline-code-snippet]hasSynced[.inline-code-snippet] to true.
  • Added [.inline-code-snippet]executeBatch[.inline-code-snippet] method. This allows a SQL statement with multiple parameters to be executed in a single transaction, improving performance and consistency.

Thanks to Roman, Oleksii, AMayer and Mow for your discussions and feedback.

See the full changelog

Ignite CookBook: PowerSync Recipe

The Ignite Cookbook was created to be an easy way for developers to browse and share React Native code snippets (or “recipes”) that actually work. In April, the PowerSync and Supabase for Local-First Data Management recipe was added.

Kudos to Trevor Coleman for creating a masterful guide.

Read the PowerSync recipe

TinyBase Persister Released

TinyBase is a reactive data store for local-first apps that can make use of various persisters. In April, TinyBase released v4.8 which added the [.inline-code-snippet]persister-powersync[.inline-code-snippet] module to allow TinyBase to rely on PowerSync as the underlying persistent storage.

Community member Benedikt Müller drove this initiative and wrote about the reasons why:

Read Benedikt’s blog post

Full-Text Search for Web

We added full-text search (FTS) functionality to our fork of the [.inline-code-snippet]wa-sqlite[.inline-code-snippet] package, which means FTS can now be implemented alongside the PowerSync Web SDK.

Our React Todo List Demo app was updated to include FTS, which can be referenced when implementing FTS in your project. We share a few more details and a guide through our implementation in the docs.

Thanks to Moe A for spurring us on here!

Read the docs

Coming Up: Local-First Conf in Berlin

The inaugural Local-First Conf will be held in Berlin on May 30 and 31, and we’re proud to be a sponsor of this event. If you were lucky enough to get tickets, reach out to Ralf on our Discord who will be there to represent PowerSync. 

That's it for the April update, happy coding!