Skip to content

feat(frontend): Project- and agent-scoped sessions pages with a filters rail - #5775

Closed
ardaerzin wants to merge 1 commit into
oss/templatesfrom
oss/sessions-page
Closed

feat(frontend): Project- and agent-scoped sessions pages with a filters rail#5775
ardaerzin wants to merge 1 commit into
oss/templatesfrom
oss/sessions-page

Conversation

@ardaerzin

Copy link
Copy Markdown
Contributor

Context

Fourth app lane. Sessions had no page of their own: they lived in the playground's session bar. This adds a project-wide /sessions page and a per-agent sessions page, both render-only over the packages below.

Changes

  • SessionsPage renders @agenta/sessions' groups with @agenta/sessions-ui's rows: pinned and recent groups, sticky group headers, per-group paging, and automations as a mode (they replace the set) rather than a second list.
  • The filters render as a 280px rail: status, automations mode, archived, search, with the agent picker injected as a slot (it is still antd).
  • Pinned and recent sessions surface in the sidebar; session actions (pin, archive, rename, open on the agent's playground) work from the list and from the playground's session bar.
  • Routes land in OSS and EE, project-wide and per-agent.

Tests / notes

  • @agenta/oss tsc adds nothing on this lane. The page derives nothing: groups, labels and row view-models come from @agenta/sessions.

What to QA

  • Open the project /sessions page: pinned group leads when present, recent below, automations hidden until the mode is switched.
  • Switch to automations mode: the list is replaced (not appended), and the group label changes to Automation runs.
  • Open an agent's sessions page from its sidebar: the same page scoped to that agent.
  • Regression: pinning from the row menu moves the row in place; right-click still shows the app-side context menu.

@dosubot dosubot Bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Aug 6, 2026
@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview Aug 6, 2026 8:59pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ead033d5-0bde-4b3c-8c7a-a8424e635472

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Summary by CodeRabbit

  • New Features
    • Added dedicated Sessions pages for projects and agent applications.
    • Added session browsing with search, status, agent, mode, and archive filters, pagination, and loading or empty states.
    • Added project and app navigation entries for Sessions.
    • Added recent and pinned sessions to the sidebar, with active-session indicators.
    • Added context menus for opening, renaming, pinning, archiving, and deleting sessions.
  • Bug Fixes
    • Redirected evaluator workflows away from unsupported Sessions routes.

Walkthrough

The PR adds project and agent sessions pages, session filters and actions, dynamic sidebar session entries, workflow routing guards, and per-session context menus in SessionTagBar.

Changes

Sessions UI and navigation

Layer / File(s) Summary
Sessions page and routes
web/oss/src/components/pages/sessions/..., web/oss/src/pages/.../sessions/index.tsx, web/ee/src/pages/.../sessions/index.tsx
Adds the shared sessions page, filters, menu conversion, session actions, and project and agent route exports.
Dynamic sidebar sessions
web/oss/src/components/Sidebar/dynamic/*
Loads project sessions, orders pinned entries, and supports row-specific icons, groups, and click handlers.
Sessions navigation and workflow guards
web/oss/src/components/Sidebar/hooks/useSidebarConfig/index.tsx, web/oss/src/components/Sidebar/scopes/constants.ts, web/oss/src/state/workflow/destinations.ts
Adds project and agent Sessions navigation entries and redirects evaluator workflows away from the sessions route.
Session-chip context actions
web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx
Wraps session chips in right-click dropdowns and supplies session-specific action targets.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  actor User
  participant Sidebar
  participant SessionsPage
  participant SessionList
  participant SessionActions
  User->>Sidebar: Select Sessions
  Sidebar->>SessionsPage: Navigate to sessions route
  SessionsPage->>SessionList: Load filtered sessions
  SessionList-->>SessionsPage: Return grouped sessions
  User->>SessionsPage: Select session menu action
  SessionsPage->>SessionActions: Dispatch session target
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: project- and agent-scoped sessions pages with a filters rail.
Description check ✅ Passed The description directly explains the new sessions pages, filters rail, sidebar integration, actions, routes, and QA expectations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch oss/sessions-page

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@dosubot dosubot Bot added feature request New feature or request frontend labels Aug 6, 2026
@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (3)
web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx (3)

223-225: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use a supported theme color token.

Line 224 uses var(--ag-surface-accent). Replace it with an Ant Design semantic token or a Tailwind color utility. As per coding guidelines, “Consume theme colors through Ant Design semantic tokens, Tailwind color utilities, or supported var(--ag-color*) variables.”

Source: Coding guidelines


307-308: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Reduce this comment to one short line.

This ownership mapping does not require a multi-line comment. As per coding guidelines, “Keep in-code comments to at most one short line.”

Source: Coding guidelines


311-322: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Preserve stable menu props for memoized session tags.

menuFor(session) creates a new MenuProps object on every SessionTagBar render. This rerenders every memoized SessionTag, including when scroll fade state changes.

  • web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx#L311-L322: memoize menu objects by session ID and relevant session fields.
  • web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx#L409-L409: pass the memoized menu object to SessionTag.

As per coding guidelines, avoid unstable inline objects when passing props to list items.

Source: Coding guidelines


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 04b91382-6201-4005-bba9-2fe7a2fa8b5f

📥 Commits

Reviewing files that changed from the base of the PR and between f753428 and 5e5c376.

📒 Files selected for processing (15)
  • web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsx
  • web/ee/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsx
  • web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx
  • web/oss/src/components/Sidebar/dynamic/registry.ts
  • web/oss/src/components/Sidebar/dynamic/sessionsSource.ts
  • web/oss/src/components/Sidebar/dynamic/types.ts
  • web/oss/src/components/Sidebar/dynamic/useSidebarDynamicChildren.ts
  • web/oss/src/components/Sidebar/hooks/useSidebarConfig/index.tsx
  • web/oss/src/components/Sidebar/scopes/constants.ts
  • web/oss/src/components/pages/sessions/SessionsPage.tsx
  • web/oss/src/components/pages/sessions/assets/menuEntries.ts
  • web/oss/src/components/pages/sessions/components/SessionFiltersRail.tsx
  • web/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsx
  • web/oss/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsx
  • web/oss/src/state/workflow/destinations.ts

Comment thread web/oss/src/components/Sidebar/dynamic/registry.ts
Comment thread web/oss/src/components/Sidebar/dynamic/sessionsSource.ts
@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d2e8ebc5-66a7-4b1a-aa69-de5e2fb784ae

📥 Commits

Reviewing files that changed from the base of the PR and between d1e4ec9 and d2bfe99.

📒 Files selected for processing (15)
  • web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsx
  • web/ee/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsx
  • web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx
  • web/oss/src/components/Sidebar/dynamic/registry.ts
  • web/oss/src/components/Sidebar/dynamic/sessionsSource.ts
  • web/oss/src/components/Sidebar/dynamic/types.ts
  • web/oss/src/components/Sidebar/dynamic/useSidebarDynamicChildren.ts
  • web/oss/src/components/Sidebar/hooks/useSidebarConfig/index.tsx
  • web/oss/src/components/Sidebar/scopes/constants.ts
  • web/oss/src/components/pages/sessions/SessionsPage.tsx
  • web/oss/src/components/pages/sessions/assets/menuEntries.ts
  • web/oss/src/components/pages/sessions/components/SessionFiltersRail.tsx
  • web/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsx
  • web/oss/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsx
  • web/oss/src/state/workflow/destinations.ts
🚧 Files skipped from review as they are similar to previous changes (13)
  • web/oss/src/components/Sidebar/dynamic/useSidebarDynamicChildren.ts
  • web/oss/src/components/Sidebar/dynamic/types.ts
  • web/oss/src/components/Sidebar/hooks/useSidebarConfig/index.tsx
  • web/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsx
  • web/oss/src/state/workflow/destinations.ts
  • web/oss/src/components/Sidebar/dynamic/registry.ts
  • web/oss/src/components/pages/sessions/components/SessionFiltersRail.tsx
  • web/oss/src/components/Sidebar/scopes/constants.ts
  • web/oss/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsx
  • web/ee/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsx
  • web/oss/src/components/pages/sessions/assets/menuEntries.ts
  • web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx
  • web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsx

Comment thread web/oss/src/components/pages/sessions/SessionsPage.tsx
Comment thread web/oss/src/components/Sidebar/dynamic/sessionsSource.ts
…rs rail

A render-only SessionsPage over @agenta/sessions' groups and @agenta/sessions-ui's rows, with the filters as a 280px rail (status, mode, archived, search; the agent picker injected as a slot). Pinned and recent sessions surface in the sidebar, session actions work from the list and the session bar, and the routes land in OSS and EE.
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Aug 9, 2026
@mmabrouk

mmabrouk commented Aug 9, 2026

Copy link
Copy Markdown
Member

Landed in release/v0.112.0 as part of the 0.112.0 release. The release branch now contains this work at commit ae71a92. Closing here since there is nothing left to merge.

@mmabrouk mmabrouk closed this Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature request New feature or request frontend lgtm This PR has been approved by a maintainer size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants