local-first-web / state

A Redux-based state container for local-first software, offering seamless synchronization using Automerge CRDTs. (Formerly known as 🐟 Cevitxe).
189 stars 10 forks source link

Decentralize Authentication, Encrypt communication, and show current online status #79

Open philschatz opened 3 years ago

philschatz commented 3 years ago

This uses the decentralized authentication chain in local-first-web/auth to encrypt communication between peers and invite new members to the team. The chain is replicated between peers using the Repo class and Automerge. Additionally, since all messages are signed, the username is shown in the online dropdown in the Toolbar:

https://user-images.githubusercontent.com/253202/103470690-df9d4500-4d3a-11eb-87bb-3163148d0aec.mp4

I am not sure which if any of this code is useful; I did it to learn more about the state and auth repos and cryptography in general.

It would be nice to have an offline PWA on our phones to communicate with friends and family (ephemeral chat, shopping lists, text docs) without needing a cloud.

See https://philschatz.com/todo/ to try this code out. It should work offline as well

HerbCaudill commented 3 years ago

Hey @philschatz this looks amazing - I'm afk this week but I'll take a closer look when I get back!

devYonz commented 8 months ago

👀