Skip to content

[ENHANCEMENT] Add "Live update" to Kanban board #393

@EdiWeeks

Description

@EdiWeeks

Description

The Kanban board currently shows a snapshot of work items at the moment the page was loaded. If another user (or a webhook) changes a work item's state, assignee, or title, the board does not reflect the change until the user manually refreshes.

Add a "Live update" capability so the board stays in sync without a full page reload.

Expected Behavior

  • New tickets/work items added to the project appear on the board.
  • State transitions (e.g. New → Active → Closed) move cards to the correct column without a manual refresh.
  • Assignee, title, priority, and remaining-effort changes update on the existing card.
  • Removed/deleted items disappear.

Notes / Implementation Options

  • Polling — easiest first cut: refetch the standup data every N seconds (e.g. 30s) while the tab is visible. There is already module-level caching in `src/app/kanban/page.tsx` (`STANDUP_CACHE_TTL_MS`); a similar tick can drive a refetch and merge.
  • Visibility-aware — only poll when `document.visibilityState === 'visible'` to avoid wasted API calls.
  • Diff merge — to avoid flicker / scroll jumps during drag, merge new data into the existing board rather than replacing wholesale; preserve any pending drag state.
  • Future: replace polling with a server-sent events / websocket channel fed by DevOps service hooks once the email channel work has settled.

Environment

  • Version: 0.9.0
  • Page: `/kanban`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    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