Itās great to see itās announced here. Very elegant interface. Though unfortunately it has some i18n issue (Doesnāt work with Chinese content.)
I noticed āoffline-firstā this time, which triggers my alarm about CRDTs (I see you mentioned this elsewhere) ā Iām trying to understand how CRDTs work and how to work with Linked Data for a synchronization mechanism like CRDTs (thus enabling the possibility, though maybe not very useful, to use Solid Pod as a backend/peer).
How is offline-first implemented for Umai? Is it storing data inside browser storage, and send/sync that with the Solid Pod; or is it using CRDTs, with one peer storing to Solid Pod (thus having the ability to connect with more peers)?
Thatās unfortunate Can you share more details about this opening an issue in GitHub? (and maybe share an example url as well, so that I can reproduce it).
Also, if youāre interested in seeing the app in Chinese this time Iāve prepared it so that it can be translated :D. Check out the translation guidelines.
TLDR: The data is stored locally in IndexedDB, and when itās synchronized with the POD other than the recipe data, a list of operations are sent. That way, when other devices get data from the POD theyāll get the operations and merge changes instead of overriding. But yeah, itās CRDT mediated by the POD, not peer to peer (although technically the architecture allows it to work that way, but I havenāt implemented it).
Ok, I was assuming you meant that it didnāt work using the āImport from the webā functionality. If it doesnāt work by creating a new recipe from scratch thatās even worse . I guess you can write the Chinese text in the GitHub issue (like recipe name, description, etc.) and I can reproduce the problem by copy-pasting the content.
Yes, thatās one of the concerns I raise in that thread :/. I donāt have any solution for now, so Iāll see how it goes and find some solutions when and if it becomes a real problem. Some ideas I have for example is squashing history and such, but I figured itāll probably take a long time until I need to tackle that.