Skip to content

feat(task-board): task activity feed + PR/link cards in task dialog - #5159

Open
rafavalls wants to merge 1 commit into
mainfrom
rafavalls/task-activity-feed
Open

feat(task-board): task activity feed + PR/link cards in task dialog#5159
rafavalls wants to merge 1 commit into
mainfrom
rafavalls/task-activity-feed

Conversation

@rafavalls

@rafavalls rafavalls commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

Extracts the task activity feed and the reworked PR / link cards from the larger kanban-feature-parity branch into a self-contained change (branched fresh off main, so it carries none of that branch's stale-base drift).

Each task now has a change timeline — created, status moves, (re)assignments — rendered as a Linear-style Activity feed in the task dialog, merged chronologically (oldest-first) with any linked agent sessions. The old separate ActivityCard / PullRequestsCard are replaced by:

  • Links panel — the task's pull requests (live GitHub state) plus any links found in the description.
  • Activity feed — the change timeline + agent-session cards.

What's included

  • migration 143 — append-only task_board_activity table (actor + jsonb data payload), FK-cascaded on org + item.
  • TASK_BOARD_ACTIVITY_LIST tool + recordActivity / listActivity storage.
  • create / update / run-reactions log created / status_changed / assignee_changed events — best-effort: a log write never fails the change it describes.
  • Task-dialog redesign: LinksSection + merged ActivitySection (TimelineBlock groups consecutive events onto a connected rail).
  • use-task-board-activity hook + query key; en/pt-br i18n.

Scope notes

  • Deliberately activity + PR/links only — comments, attachments, sprints, tags, and releases from the parent branch are not included (kept for the parity branch).
  • The sprint_changed activity kind is omitted here since sprints aren't in scope.
  • Description link extraction targets main's plain-text description field (bare-URL regex), not the parity branch's rich-text editor.

Testing

  • bun run check (mesh + e2e), bun run lint, knip, bun run fmt — all clean (the 3 pre-existing tsc failures are missing optional deps satori/resvg/driver.js, unrelated).
  • Added packages/e2e/tests/task-board-activity.spec.ts: asserts a fresh task logs exactly created, a status move appends status_changed with {from,to} (oldest-first), and a no-op update logs nothing. Runs in CI (this workspace isn't provisioned for a local full-stack run).

🤖 Generated with Claude Code


Summary by cubic

Adds a per‑task Activity feed and a Links panel in the task dialog. Shows a clear timeline of task changes and related PRs/URLs to make context easy to scan.

  • New Features

    • Append‑only task_board_activity table with recordActivity/listActivity.
    • Logs created, status_changed, assignee_changed from create/update/reactions (best‑effort; never blocks).
    • TASK_BOARD_ACTIVITY_LIST tool and use-task-board-activity hook.
    • Task dialog: Activity feed (timeline + agent sessions) and Links section (GitHub PRs + description URLs).
    • E2E test covers event order and no‑op updates.
  • Migration

    • Run migration 143-task-board-activity. No config changes. Existing tasks start showing activity as events are recorded.

Written for commit ad8858e. Summary will update on new commits.

Review in cubic

Adds a per-task change timeline (created, status moves, (re)assignments) and
reworks the task dialog's activity/PR presentation into a Linear-style Activity
feed plus a Links panel (pull requests + description links).

- migration 143: append-only task_board_activity table (actor + jsonb data)
- TASK_BOARD_ACTIVITY_LIST tool + storage recordActivity/listActivity
- create/update/run-reactions log created/status_changed/assignee_changed
  (best-effort; a log write never fails the change it describes)
- task dialog: replace ActivityCard/PullRequestsCard with LinksSection +
  merged ActivitySection (timeline + agent sessions), oldest-first
- e2e: assert created + status_changed ordering and no-op no-double-log

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant