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.