Skip to content

[Improve] Pin PR review updates above the session composer - #2255

Open
mrubens wants to merge 1 commit into
developfrom
codex/pinned-pr-review
Open

[Improve] Pin PR review updates above the session composer#2255
mrubens wants to merge 1 commit into
developfrom
codex/pinned-pr-review

Conversation

@mrubens

@mrubens mrubens commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

What changed

PR-review notifications previously accumulated as repeated prose and action offers in the Session transcript. Show the latest review update for each PR in a compact strip above the composer, keeping it visible while the conversation scrolls. Multiple PRs use expandable status rows with one set of actions open at a time.

The strip retains the existing resolve, auto-resolve, and dismiss actions; shows active linked reviews and reported approval/closure; and opens the review task when available, falling back to the provider PR. Review events now carry structured PR context so grouping, finding counts, and links do not depend on parsing agent prose. Structured review notifications leave the scrolling transcript; ordinary conversation stays there. Legacy offers remain usable without inventing missing PR context.

Includes Session docs and Storybook examples for feedback, reviewing, approval, and multiple PRs. No schema changes.

Screenshots

Real Storybook components in a 420px session pane, using synthetic example data.

Unresolved feedback — review actions stay above the composer

Unresolved feedback — review actions stay above the composer

Approved — the review collapses to a compact status row

Approved — the review collapses to a compact status row

Multiple PRs — one expanded set of actions at a time

Multiple PRs — one expanded set of actions at a time

How it was tested

  • 136 focused web tests passed across the Session transcript, workspace, review strip/state selection, and existing task review-action rendering.
  • 64 SDK tests passed for parent-event delivery and review-feedback forwarding. These mock collaborators; a temporary Vitest config disabled the database global setup and was removed afterward.
  • 5 shared review payload/callback tests passed.
  • Full pre-push suite passed: Oxlint, residual ESLint, fast type checks, and Knip. Changed files were formatted and git diff checks passed.
  • Browser verification with real Storybook components in a 420px pane: pinned positioning while scrolling, fix-action transition, compact approval, and multiple-PR layout.
  • No live-provider actions or full database-backed test suite were run.

Checklist

  • The PR title follows the repo convention
  • This PR is scoped to the Session PR-review presentation
  • Lint and type checks pass locally as described above
  • Regression tests and visual validation are included
  • No secrets or customer data are included
  • If this change should appear in the changelog, I ran pnpm changeset

@roomote-community

roomote-community Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

1 issue outstanding. See task

  • Legacy Fast Sessions do not receive active PR-review task state, so an in-progress review never appears in the pinned strip.

Reviewed 669adf9

>
{children}
<SessionReviewTasksContext.Provider
value={sessionTasks}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SessionReviewTasksContext is fed from sessionTasks, but the legacy Fast-session branch intentionally leaves that list empty (page.tsx constructs it with tasks: [] and puts its task data in taskCards). Those Sessions therefore never pass any review tasks into getSessionPrReviews, so a review that is still running has no payload yet and the promised Reviewing… row never appears. Feed an appropriately enriched version of the polled Fast tasks here (the current fast-task query also needs workflow/PR linkage) so active review status works outside unified Sessions.

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