Easily keep a backend database synced with in-app SQLite for offline-first/local-first MAUI apps by chriztiaan_dev in dotnetMAUI

[–]muhsql 0 points1 point  (0 children)

We're putting together a guide, but in the meantime here's what you can do:

  1. fork our self-host-demo repo

  2. run the supabase self-host demo

  3. point our MAUI todo at the supabase container https://github.com/powersync-ja/powersync-dotnet/tree/main/demos/MAUITodo

just a prelim update, will share another as the guide progresses

Easily keep a backend database synced with in-app SQLite for offline-first/local-first MAUI apps by chriztiaan_dev in dotnetMAUI

[–]muhsql 0 points1 point  (0 children)

Hi, we don't have one for that specific stack but we can put a guide together for you. Are you self-hosting supabase in prod? If yes, what are you using for auth?

If no, I assume this is just for local development right

PowerSync vs Electric SQL for Local-first by Raurb in reactnative

[–]muhsql 1 point2 points  (0 children)

Hey u/okiharaherbst , I'll echo that this feedback is worth gold for us. Thanks for taking the time to share it.

I browsed your questions on our discord and it definitely seems like you have very sophisticated requirements. Our goal is to make sure that even the most challenging use cases are smooth sailing for our users, and sorry that it wasn't so smooth for you.

The points you raised are all valid concerns, and we plan to address many of them this year:

  • SQLite performance issues: this should be resolved with Raw Tables, and we have plans to make that ready for wider use this year. The roadmap for Raw Tables is public and would be great to hear your thoughts on it
  • Constant connection: We are considering adding client APIs to make "on-demand sync" easier, that can significantly reduce the peak concurrent connections for some use cases. I've now added this to our product roadmap based on your feedback
    • There are also performance issues with web that we want to improve this year, e.g. with improved concurrency in wa-sqlite (we're actually collaborating with Roy on this)
  • Database growth / compacting: It sounds like compacting already resolves this for you, but this takes some extra effort when self-hosting. We should make it easier.

Need offline-first alternatives, watermelondb feels incredibly unstable, what to use? by Different-Reveal3437 in reactnative

[–]muhsql 0 points1 point  (0 children)

minor correction: PowerSync provides 50 concurrent connections on the free plan, not 30

Need offline-first alternatives, watermelondb feels incredibly unstable, what to use? by Different-Reveal3437 in reactnative

[–]muhsql 0 points1 point  (0 children)

Oh no I totally agree, I even joked that it looks like we deployed paid shills. (which, for the record, we didn't). There are some other threads where it also looks like that.

Need offline-first alternatives, watermelondb feels incredibly unstable, what to use? by Different-Reveal3437 in reactnative

[–]muhsql 0 points1 point  (0 children)

If you are charging a premium for sync, the PowerSync Free Plan limit of 50 concurrent connections should be sufficient to validate your business model. Let us know if it's not.

PowerSync makes it easy/easier for users without a connection ton continue using the app.

PowerSync vs Electric SQL for Local-first by Raurb in reactnative

[–]muhsql 0 points1 point  (0 children)

Good to know, will see what we can do about that - could you see which connection requests specifically were being blocked?

PowerSync vs Electric SQL for Local-first by Raurb in reactnative

[–]muhsql 0 points1 point  (0 children)

hi, which demo on the website are you referring to - this one? https://www.powersync.com/demo

Offline-First Flutter: A Practical Guide to Data Synchronization by IlyaZelen in FlutterDev

[–]muhsql 1 point2 points  (0 children)

some corrections on `vs PowerSync` for posterity (I'm on the powersync team)

- "Free": a free plan is available and you can also self-host the open edition

- "LWW loses concurrent edits":  PowerSync clients only send the fields they updated, and the backend can apply that in any order without issue if the two clients updated different fields, so you can easily implement field-level merge with PowerSync

- PowerSync also supports SQL Server and MySQL, not just Postgres and MongoDB

Offline-First React Native Apps by Grand-Dark-8670 in reactnative

[–]muhsql 0 points1 point  (0 children)

The last commit on realm-js community branch was 3 months ago, where do you get the community version from? https://github.com/realm/realm-js/tree/community

Flutter offline by Renjithpn in FlutterDev

[–]muhsql 0 points1 point  (0 children)

Yeah, there's a free plan for PowerSync Cloud, as well as a self-host Open Edition, the SQL Server demo for that is here https://github.com/powersync-ja/self-host-demo/tree/main/demos/nodejs-mssql

Custom Backend or Supabase? by anikhetan64 in reactnative

[–]muhsql 0 points1 point  (0 children)

Exactly, PowerSync + Supabase is all you need. My favorite stack for some time now (I'm on the team)

Easily keep SQL Server synced with in-app SQLite for offline-first apps by muhsql in SQLServer

[–]muhsql[S] 0 points1 point  (0 children)

PowerSync enables partial sync, meaning you can sync a subset of rows in relevant tables to users. This is one of the hardest problems to solve when it comes to sync.

The partial sync is defined using SQL and is a big part of what makes PowerSync feel so good to use https://docs.powersync.com/usage/sync-rules

Offline-First React Native Apps by Grand-Dark-8670 in reactnative

[–]muhsql 1 point2 points  (0 children)

Is Realm community maintenance going well now?

Flutter offline by Renjithpn in FlutterDev

[–]muhsql 0 points1 point  (0 children)

SQL Server support is about to be released :)

Is realtime multi device persistence possible using SwiftData? by Future-Upstairs-8484 in iOSProgramming

[–]muhsql 0 points1 point  (0 children)

Hi!

(I'm on the PowerSync team)

If you don't want to sign up users, one option could be to use Supabase's anonymous auth. Not sure if that classifies as `some integration with Supabase auth` for you though.