Hocuspocus 4 ra mắt: Backend cộng tác thời gian thực hỗ trợ đa nền tảng

Phần mềm20 tháng 5, 2026·3 phút đọc

Hocuspocus 4 đã chính thức được phát hành dưới giấy phép MIT, mang đến khả năng chạy trên nhiều môi trường runtime như Bun, Deno và Cloudflare Workers thay vì chỉ giới hạn ở Node.js. Bản cập nhật tập trung cải thiện tính linh hoạt, an toàn kiểu dữ liệu và sửa lỗi quan trọng trong việc xử lý cập nhật tài liệu đồng thời.

Hocuspocus 4 ra mắt: Backend cộng tác thời gian thực hỗ trợ đa nền tảng

Hocuspocus 4 ra mắt: Backend cộng tác thời gian thực hỗ trợ đa nền tảng

Hocuspocus 4 đã chính thức được phát hành dưới giấy phép MIT, mang đến khả năng chạy trên nhiều môi trường runtime như Bun, Deno và Cloudflare Workers thay vì chỉ giới hạn ở Node.js. Bản cập nhật tập trung cải thiện tính linh hoạt, an toàn kiểu dữ liệu và sửa lỗi quan trọng trong việc xử lý cập nhật tài liệu đồng thời.

Giới thiệu về Hocuspocus

Được phát triển bởi đội ngũ đứng sau trình soạn thảo văn bản Tiptap, Hocuspocus là một backend cộng tác "plug & play" dựa trên thư viện Y.js. Nó đóng vai trò là máy chủ WebSocket xử lý đồng bộ hóa thời gian thực, nhận diện sự hiện diện (presence), lưu trữ dữ liệu (persistence) và mở rộng quy mô dựa trên Redis.

Phiên bản mới nhất của HocuspocusPhiên bản mới nhất của Hocuspocus

Mặc dù được tích hợp chặt chẽ với dịch vụ đám mây của Tiptap, Hocuspocus hoạt động hoàn toàn tốt với bất kỳ client Y.js nào như Slate, Quill, Monaco, ProseMirror hay các thiết lập tùy chỉnh. Đặc biệt, tài liệu Yjs không bị giới hạn ở văn bản; bạn có thể đồng bộ hóa bất kỳ dữ liệu có cấu trúc nào thông qua nó.

Thay đổi lớn trong phiên bản 4

Điểm nổi bật nhất của Hocuspocus v4 là sự độc lập hoàn toàn khỏi Node.js. Các phiên bản trước phụ thuộc vào gói ws, khiến việc triển khai trên các môi trường khác trở nên khó khăn. Với việc chuyển sang adapter crossws, cùng một mã nguồn server giờ đây có thể chạy trên:

  • Node.js
  • Bun
  • Deno
  • Cloudflare Workers
  • Node.js với uWebSockets

Điều này mở ra cơ hội chạy tính năng cộng tác ngay tại mạng lưới biên (edge), giảm độ trễ đáng kể cho người dùng cuối.

Trạng thái build của dự ánTrạng thái build của dự án

Các cải tiến kỹ thuật quan trọng

Bên cạnh khả năng đa nền tảng, phiên bản mới cũng mang đến những thay đổi tinh tế nhưng quan trọng đối với môi trường sản xuất (production):

  • An toàn kiểu dữ liệu (Type Safety): Mọi lớp cốt lõi và payload hook giờ đây chấp nhận một kiểu Context chung. Điều này cho phép hình dạng xác thực/session bạn xây dựng trong onAuthenticate lan tỏa qua mọi hook khác với sự an toàn kiểu dữ liệu đầy đủ.
  • Xử lý cập nhật tuần tự: Các cập nhật tài liệu hiện được xử lý tuần tự cho từng kết nối thông qua hàng đợi nội bộ. Điều này sửa chữa một lỗi tính đúng đắn, nơi các hook bất đồng bộ có thể gây ra việc áp dụng cập nhật CRDT sai thứ tự dưới tải cao.
  • Tiêu chuẩn Web: Payload hook giờ sử dụng RequestHeaders chuẩn của web thay vì IncomingMessage đặc thù của Node.
  • Nguồn giao dịch: Các nguồn giao dịch hiện là các đối tượng có cấu trúc với trường source thay vì các giá trị thô, kèm theo helper isTransactionOrigin() để kiểm tra.

Giấy phép MITGiấy phép MIT

Cách sử dụng

Để bắt đầu với Hocuspocus, bạn có thể cài đặt các gói cần thiết qua npm:

npm install @hocuspocus/server @hocuspocus/provider

Đội ngũ phát triển đặc biệt mong muốn nhận được phản hồi từ cộng đồng về trường hợp sử dụng chạy trên Workers hoặc Durable Objects, đây là tính năng mới mẻ trong v4.

Tài liệu chi tiết và mã nguồn đều được công khai để các nhà phát triển có thể tùy chỉnh và đóng góp.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗