Super interested about your drop-in Zero+Auth Svelte template!! Please keep us updated on it!
@PeterKellner992 күн бұрын
I have to admit I did not watch this whole thing, but… I kind of expected you to talk about the most important thing when doing sync and that’s how it deals with conflicts. That’s the Achilles of all these solution.
@abdulmustapha5322 күн бұрын
I really like the idea of this! It would be nice to see a half-way house of this solution but for react query. Write everything in the cache to IndexedDB, and have a separate websocket service which lets the client know about stale data. Wonder what the feasibility of that would be
@JohnFerguson-p7u2 күн бұрын
I'm trying to work on a integration with Astro, to make getting it set up and working from there (with native features) easier, and its' a challenge, but it's been a lot of fun!
@thegrumpydeveloper2 күн бұрын
I love the idea of this, I’m wondering how secure this is? Remember arc and how it leaked data? Basically firebase problems of having too much access client side. I want zero but want to control mutations and queries in front of the db. This is great if you trust the client which is basically never.
@dandogamer2 күн бұрын
Yeah I just don't understand how this would ever work. Lets take for example a concept of the game you can't trust the client because they will cheat which is why everyone does logic on the server. So how do you prevent that?
@syntaxfm2 күн бұрын
Basically, the client itself does not have that access, you are still validating user permissions server side via the permissions api. Also not everything in your db syncs or needs to sync with the client side db.
@MrDevianceh2 күн бұрын
Would you make a short guide on deploying this to coolify along with a basic frontend?
@MrDevianceh2 күн бұрын
Nvm just heard you will be doing exactly that towards the end of the video :D
@BorisBarroso2 күн бұрын
Thanks for zero svelte 👍.Amazing library. I did not find zero svelte. Where is it?
@joaquimley2 күн бұрын
Thank you for sharing, this was a great overview. Really looking forward and following the development of zero closely. One thing I still have some questions around is the permissions (it would be great if we could avoid having to duplicate code, client and server side) this is also the other part where I'm still wondering how can I can control data access from between all the elements backend-sync-db-client. One could say the idea is to not have a backend sure I can see that but in my real world experience, this is at least, unlikely.
@palyanytsia2 күн бұрын
Can I use it for multiplayer games? I mean real-time games
@moosescorner2 күн бұрын
Ive wanted to try out local first approaches but it seems they all need access to thr DB directly, are solutions like this not ppssible to integrate with a CMS?
@mrzvaniga38512 күн бұрын
I am using Meteor/DDP, still -- thanks to LevelUpTuts ... but now I think I can augment that with this, and use meteor/ddp for user auth/flow, and zerosync for non-userspace extras
@warmbowski2 күн бұрын
I wonder how Zero will do authorization of queries and possibly fields. Meteor uses pub-sub model that isn't completely enjoyable to deal with.
@JohnFerguson-p7u2 күн бұрын
Also, have you released the video "Zero will change web development forever" yet? Or was mentioning it just a teaser?
@syntaxfm2 күн бұрын
Zero Sync Makes Local First Easy kzbin.info/www/bejne/nnLblYKLnM-Wqs0 I got the name wrong.
@TheSysmat2 күн бұрын
What if your db is in closed network, then you need some service in public network
@syntaxfm2 күн бұрын
I did this by putting my sync server on the same private network.
@ore_bear80452 күн бұрын
where on the client is the data stored?
@syntaxfm2 күн бұрын
IndexedDB
@Ss-zg3yj2 күн бұрын
I can't use this technology, unfortunately. Because it's impossible to find in Search and those gentlemen weren't generous enough to share a god damn link
@mikejohneviota92932 күн бұрын
hahaha 😂
@syntaxfm2 күн бұрын
"All links available at syntax.fm/867" ;)
@denisgithinji1119Күн бұрын
Important point... Is it free? Or how much is it? Is/Will their free tier be inviting for hobbyists?
@thearcticmonkey2 күн бұрын
I was about to use this with One framework but I think I will use Zero solo first
@syntaxfm2 күн бұрын
One is awesome. Def give it a try solo and with One.
@Sylar77732 күн бұрын
Thank You so mutch!!!
@j._70542 күн бұрын
Oh yay another new library
@noname133452 күн бұрын
I really thought it was Mr Robot on the thumbnail
@dandogamer2 күн бұрын
How would this work on your game example? Lets say I'm doing a real time card game. One guy decides to cheat and hack the client to sending information that would result in him having a better score. How do you stop that with zero because the information is going straight from the client into the DB and then it's synced with the server with no additional validation? You can't trust the client. The best I can think of is that you can 'temporarily' trust the client and then run some logic on the server to reconcile their actions if it's not as expected compared to everything else that gets computed. But where/how would you do that with zero?
@syntaxfm2 күн бұрын
The answer is basically permissions. You would handle it the same as if you were in a traditional setup. With Zero you have access to server side permissions where you are dictating access and writes via the validated user server side.
@dandogamer2 күн бұрын
@@syntaxfm nice, would love to see a video with code examples of this
@justinoneill28372 күн бұрын
I think the answer is probably in that white paper
@cubiq12 күн бұрын
I love the idea, but will it still be around in 5+ years when the initial enthusiasm and hype has worn off?
@nightshade4272 күн бұрын
Having data on client like this usually means it's easy for clients to get at and mess with the data in ways the app isn't prepared for (especially when db is manipulated directly vs through app code). Eg. in the ticketing app, what if it's not valid to go from "closed" status to "new", to do so requires managers approval. If the data is on client, can't i just go to db and change status to "new" bypassing manager approval?
@syntaxfm2 күн бұрын
You still have access to read and write server side authenticated permissions. So you aren’t writing to the remote db from client side, the sync server is writing to the db based on your permissions code
@nightshade4272 күн бұрын
How does the error get propagated back to client? Does it leave local db in inconsistent state, does it show error in app, etc? When the data changes are synced is there enough data in the sync to give enough context for the permission system to decide if it's allowed or not? Seems like it would be a lot harder to control the infinite possibilities a client can do when data is local and synced, vs an api the backend tightly controls?
@syntaxfm2 күн бұрын
The permissions api gives you access to the user id, so you can tune the permissions to be as controlled as you'd like. As for client side, I believe (although Aaron can give more context here), the permissions api will block clientside as well. There shouldn't be any way to execute unsafe mutations if you are checking for access/ownership.
@brokeloserКүн бұрын
Was this a sponsored episode by zero sync?
@oluijks2 күн бұрын
Scott! No hat? ;-)
@syntaxfm2 күн бұрын
I’ve been trying to rely on hats less and actually get ready in the mornings
@camstuartКүн бұрын
It’s cool. But i just moved my app over to sqlite 😂😂😂