Real-Time Sync

Kuayle uses a workspace-scoped WebSocket connection to announce changes. The frontend updates local issue data or reloads the affected resource when it receives a supported event.

How it works

The backend keeps a WebSocket connection for each connected client and groups connections by workspace. Issue and comment services broadcast typed events after successful writes; some events carry the updated record and others request a client-side refresh.

  • Workspace-scoped connections
  • Typed events for issues, comments, cycles, views and GitHub activity
  • User-targeted events for notifications

Issue presence and updates

When users open the same issue, the presence channel reports who is viewing it. Issue and comment events update the open issue view. Kuayle does not provide character-by-character collaborative text editing.

  • Join, leave and presence-sync events
  • Issue and comment refresh events
  • No collaborative rich-text merge engine

Notification delivery

Notification events can target a specific workspace member over the same WebSocket connection. The inbox supports read and unread state, snoozing, archiving and bulk mark-as-read.

  • Real-time notification delivery
  • Inbox with snooze, read status, and archive
  • In-app delivery; email notifications are not implemented

Review Kuayle before you deploy it

Inspect the Apache 2.0 source, then follow the Docker Compose guide to run an instance on your infrastructure.