Skip to content

[feature]: Realtime work-item updates over the live server (auto-refresh boards/lists without manual reload) #9779

Description

@Liewzheng
  • I have searched the existing issues

Summary

Broadcast work-item change events over the existing live (collaboration) server, so that every open board / list / calendar view soft-refreshes automatically when another user (or an API client) creates, updates, drags, archives or deletes a work item — no manual browser refresh needed.

Why should this be worked on?

Plane is built for agile teamwork, but today every work-item view is fetch-on-mount: the kanban/list store fetches once when the page mounts and never revalidates. Concretely:

  • User A drags a card to Done; user B's screen keeps showing it under Todo until B manually reloads the page.
  • Changes made through the public v1 API (CI bots, integrations) are invisible to everyone watching the board.
  • Stale groupings silently mislead stand-ups and triage sessions.

The infrastructure for real-time already ships with CE: apps/live (Hocuspocus + Redis broadcast) powers collaborative page editing. Extending the same channel pattern to work-item events gives instant, multi-instance-safe sync without introducing a second realtime stack:

  1. The API emits a lightweight event (project / work item / change type / actor — no work-item data in the payload) after each change, from the single choke point that already records issue activity.
  2. The live server relays it to a per-project broadcast channel (issue-events:<project_id>) over the existing Redis extension.
  3. Web clients subscribed to that channel ignore their own events, debounce bursts, and soft-refetch the current view with its existing pagination (no loader flash, scroll position kept).

Clients that don't configure the feature see zero change: the whole path is disabled unless an internal shared key is set on both the API and the live server.

Working implementation

A complete, self-contained implementation is attached as a PR: it covers drag & drop re-ordering/state changes, detail edits, creation, bulk delete, archiving, cycle/module membership changes and API-token-driven updates, and has been running on a self-hosted CE deployment.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions