🔗 ueberdosis/hocuspocus

The Yjs CRDT WebSocket backend for conflict-free real-time collaboration in your app.

Provides a ready-to-use WebSocket backend for Yjs CRDTs enabling real-time collaborative editing with extensions like SQLite persistence

⭐ Stars: 2408
📅 Last Update: Jun 08, 2026

https://github.com/ueberdosis/hocuspocus

#selfhosted #homelab #selfhost #selfhosting #opensource #crdt #realtime

GitHub - ueberdosis/hocuspocus: The Yjs CRDT WebSocket backend for conflict-free real-time collaboration in your app.

The Yjs CRDT WebSocket backend for conflict-free real-time collaboration in your app. - ueberdosis/hocuspocus

GitHub

Local-first web dnes neznamená jednu architekturu, ale několik různých kompromisů: lokální databázi v prohlížeči, repliku čtení z PostgreSQL nebo CRDT model pro souběžné úpravy. Každý přístup posouvá data blíž k uživateli, ale zároveň přidává nové otázky kolem persistence, konfliktů, autorizace a provozu.

https://zdrojak.cz/clanky/data-bliz-k-uzivateli-kde-narazi-local-first-web/
🌘 我最喜歡的 Bug:無效的代理對 (Invalid Surrogate Pairs)
➤ 當 Emoji 成為程式運行的絆腳石
https://george.mand.is/2026/05/my-favorite-bugs-invalid-surrogate-pairs/
本文講述了在開發協作編輯器時遇到的罕見且致命的 Bug。由於系統底層在處理字串切割時,意外將 Emoji 的「代理對」從中斷開,導致編碼錯誤並引發靜默同步失敗。透過深入研究 Unicode 編碼(字碼單元、字碼點與字素叢集),作者揭露了 JavaScript 原生字串方法如何破壞高位元字元,最終透過修復底層函式庫及將 Emoji 定義為「原子節點」徹底解決了此問題。
+ 這種關於字元編碼的隱藏陷阱真的太可怕了,完全沒想到簡單的 `slice()` 操作會導致整個同步機制掛掉。感謝分享,這讓我對 Unicode 的理解更深了。
+ 果然最難排查的 Bug 往往發生在底層假設與邊界條件的交會處。將 Emoji 轉為原子節點確實是處理富文本編輯器
#軟體工程 #Unicode 編碼 #除錯案例 #CRDT 技術
My Favorite Bugs: Invalid Surrogate Pairs

In which I revisit one of my favorite bugs, the invalid surrogate pair.

George Mandis

Explorations techniques (suite)

#localfirst

- Comment synchroniser mes données locales entre plusieurs machines ? avec un serveur ?
- #eventsourcing et #CQRS ?
- #crdt (@inkandswitch.com ) pour la collaboration ? Est-ce qu'il faut de la collaboration ?

🌘 @codemix/graph:具備實時協作與型別安全的 CRDT 圖形資料庫
➤ 打造具備實時同步能力且型別嚴謹的 TypeScript 圖形資料庫
https://codemix.com/graph
@codemix/graph 是一套專為 TypeScript 設計的圖形資料庫,旨在解決應用程式中需要嚴謹型別檢查與離線優先(offline-first)實時協作的需求。該系統整合了 Zod 等 Schema 驗證工具,確保開發者在處理節點與關聯時享有完整的型別安全。核心亮點在於其靈活的儲存架構,開發者能輕易從記憶體儲存切換至基於 Yjs CRDT 的後端,實現多客戶端間的無衝突實時同步。此外,它支援 Gremlin 風格的遍歷查詢,並能解析 Cypher 語句,讓 LLM 或外部 API 也能便捷地與圖形數據互動。
+ 這對於需要構建實時共同編輯工具的開發者來說是個神器,特別是能直接與 Yjs 整合這一點,省去了處理複雜衝突的痛苦。
+ 將圖形資料庫的查詢能力帶入前端,甚至還支援 Cypher 給 L
#TypeScript #圖形資料庫 #CRDT #Yjs #軟體開發
@codemix/graph - codemix

Open-source TypeScript property graph database from codemix.

🚀✨ Oh, look, it's yet another mind-bogglingly complex tech Frankenstein, combining every buzzword imaginable: type-safe, #realtime, collaborative, #CRDT, and more! 🤯🔧 Perfect for making your #TypeScript look like the intricate inner workings of a space station, but maybe next time just try a regular database, like adults do. 🍕👩‍💻
https://codemix.com/graph #techfrankenstein #typeSafe #collaboration #HackerNews #ngated
@codemix/graph - codemix

Open-source TypeScript property graph database from codemix.

@codemix/graph - codemix

Open-source TypeScript property graph database from codemix.

🌘 再談版本控制
➤ 邁向更可靠的版本控制:從「手動重寫歷史」到結構化自動演進
https://bramcohen.com/p/more-on-version-control
Bram Cohen 在本文中深入探討了他在版本控制系統領域的新構想。他指出,目前的 Git 雖然強大,但在「變基」(rebase)和「壓縮」(squash)操作時,往往會人為抹除歷史記錄,甚至產生錯誤風險。他提出了一種結合 CRDT(無衝突複製資料型別)與結構化錨定演算法的解決方案,透過在提交時鎖定差異(diffs),實現更安全且自動化的合併機制。這種方法能完整保留歷史脈絡,並將衝突處理視為時間軸上的更新同步,為開發者提供更直觀、可靠的版本控制體驗。
+ 很有啟發性。Git 的 rebase 確實經常讓人覺得是在「竄改歷史」,如果有一個系統能在保持自動化處理的同時,又具備嚴謹的歷史審計能力,那將是開發者的福音。
+ 對於「壓縮(squash)」操作的定義很有趣。目前多數系統確實把它當作刪除歷史的手段,但如果能像文中提到的那樣保留完整的演化過程,確實能減少
#軟體工程 #版本控制系統 #Git #CRDT
More on Version Control

This may have some legs

Bram’s Thoughts
Conflicted Copies: If you edit files on multiple machines while one is offline, #Nextcloud /#Syncthing will create conflict files, requiring manual resolution.
Direct Editing Lag: Editing files directly on a slow remote server (without local sync) can cause high latency within Emac
Yes these re problems or #orgzly there s to be some way to use #crdt with it
🌗 Manyana:版本控制未來的願景
➤ 告別三向合併的噩夢:以 CRDT 重構版本控制的邏輯
https://bramcohen.com/p/manyana
比特幣發明人 Bram Cohen 發表了名為 Manyana 的開源專案,旨在解決現有版本控制系統(如 Git)在處理合併衝突時的痛點。該專案基於無衝突複製資料類型(CRDT),徹底改變了傳統 VCS 依賴三向合併(3-way merge)的做法。Manyana 的核心優勢在於將衝突視為「資訊展示」而非「系統中斷」,並透過保留檔案變更的完整結構歷史,實現了始終能成功合併的開發流程。儘管目前仍處於單檔案操作的原型階段,但它為下一代版本控制工具提供了一個兼具穩定性與直覺 UI 的技術願景。
+ 這正是我們需要的!Git 的三向合併在處理大型多人專案時,經常產生令人費解的衝突,如果能直接看到具體的增刪邏輯,將大幅減少開發者的心智負擔。
+ 將歷史視為「織網(weave)」結構的思路非常大膽。雖然目前還只是個 Python 原型,但這種「合併永不失敗」的設計理念,極有可能改變未
#軟體開發 #版本控制 #CRDT #技術創新
Manyana

A Coherent Vision for the Future of Version Control

Bram’s Thoughts