I'm now strongly feeling that I need to change Hamabē drastically from server-owns-data to user-owns-data.
#hamabe
Conversation
Notices
-
Mochikovski (mochi@mochi.mochikov.ski)'s status on Thursday, 07-Nov-2024 00:44:27 JST Mochikovski -
silverpill (silverpill@mitra.social)'s status on Thursday, 07-Nov-2024 00:44:25 JST silverpill @mochi What are your thoughts on FEP-ae97 ? Is it suitable for user-owns-data applications?
-
Mochikovski (mochi@mochi.mochikov.ski)'s status on Thursday, 07-Nov-2024 00:44:26 JST Mochikovski That is, I would probably ditch the current codebase of Hamabē.
#hamabe -
silverpill (silverpill@mitra.social)'s status on Thursday, 07-Nov-2024 01:14:23 JST silverpill @mochi I want Mitra to work in user-owns-data mode too, and my current plan is to re-purpose it as FEP-ae97 client without a total rewrite. It already does almost everything a rich client is supposed to do, I just need to replace 'http' URLs with 'ap' URLs, sign all objects and replace inbox deliveries with outbox deliveries.
The main difference between a regular ActivityPub server and FEP-ae97 client is that server must be online all the time, whereas FEP-ae97 client is local-first and communicates using gateways
...so it might not be necessary to ditch your current codebase
-
Mochikovski (mochi@mochi.mochikov.ski)'s status on Thursday, 07-Nov-2024 01:14:24 JST Mochikovski @silverpill Yes, I was thinking of exactly the same as FEP-ae97, and also not storing contents on the server.
-
silverpill (silverpill@mitra.social)'s status on Friday, 08-Nov-2024 09:23:55 JST silverpill @mochi Gateways are supposed to keep inboxes and outboxes in sync. Clients retrieve activities from inboxes and outboxes, so if gateways are synced, clients will be synced as well.
But I don't know yet what is the best way to sync collections. Maybe we need to use FEP-8fcf or a similar mechanism.
-
Mochikovski (mochi@mochi.mochikov.ski)'s status on Friday, 08-Nov-2024 09:23:57 JST Mochikovski @silverpill my biggest challenge now is multi-client support, trying to figure out how data can be synchronized across devices.
My current codebase is assuming data on the server too much, so I probably need to rethink the architecture anyway.
-