Its been just 2 amazing days, since I started learning and transferring stuff into Silverbullet.
Its a lot of pain, but also, in some cases, it feels absolutely amazing not to be limited in places, where I expected to hit the ceiling.
Unfortunately, sync seems to concern me quite a lot, since I’m trying to work with SIlverbullet not alone, but with my family, on multiple devices at once and with poor internet more often than not. I never used “online mode”, but I assume it wasnt the way either.
I am extremely obsessed with everything offline-first and optimistic-ui(ie, UI assumes request always succeed or eventually retried without waiting), so I completely understand desire to keep this functionality.
The problem I have are conflicts on same device and between devices, often resulting in rollback. Ofcourse, another limitation is speed and multi-user interaction.
Since its only been 2 days since I was shot with a silver bullet, I’m not ready to make a suggestion, but would like to start a discussion.
It feels to me, that some of the issues could be solved by migrating onto message-broker, like Nats/Jetstream for update processing, flexible conflict-resolution, update replay, guaranteed delivery, persistence of history, and customization (interception of incoming messages before pushing them to update queue, authentication and priority, server-issued-updates), - all without having to substantially affect main codebase or having to tinker a lot to make silverbullet truly yours.