feat(frontend): Project- and agent-scoped sessions pages with a filters rail - #5775
feat(frontend): Project- and agent-scoped sessions pages with a filters rail#5775ardaerzin wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe PR adds project and agent sessions pages, session filters and actions, dynamic sidebar session entries, workflow routing guards, and per-session context menus in ChangesSessions UI and navigation
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
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review |
|
|
@coderabbitai review |
|
5efd846 to
ac36eb7
Compare
05d0be4 to
0c24ace
Compare
ac36eb7 to
f753428
Compare
0c24ace to
5e5c376
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (3)
web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx (3)
223-225: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winUse 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 supportedvar(--ag-color*)variables.”Source: Coding guidelines
307-308: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueReduce 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 winPreserve stable menu props for memoized session tags.
menuFor(session)creates a newMenuPropsobject on everySessionTagBarrender. This rerenders every memoizedSessionTag, 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 toSessionTag.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
📒 Files selected for processing (15)
web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsxweb/ee/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsxweb/oss/src/components/AgentChatSlice/components/SessionTagBar.tsxweb/oss/src/components/Sidebar/dynamic/registry.tsweb/oss/src/components/Sidebar/dynamic/sessionsSource.tsweb/oss/src/components/Sidebar/dynamic/types.tsweb/oss/src/components/Sidebar/dynamic/useSidebarDynamicChildren.tsweb/oss/src/components/Sidebar/hooks/useSidebarConfig/index.tsxweb/oss/src/components/Sidebar/scopes/constants.tsweb/oss/src/components/pages/sessions/SessionsPage.tsxweb/oss/src/components/pages/sessions/assets/menuEntries.tsweb/oss/src/components/pages/sessions/components/SessionFiltersRail.tsxweb/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsxweb/oss/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsxweb/oss/src/state/workflow/destinations.ts
5e5c376 to
e4b0164
Compare
|
@coderabbitai review |
|
f753428 to
ab3c042
Compare
e4b0164 to
0c324d5
Compare
|
@coderabbitai review |
|
ab3c042 to
d1e4ec9
Compare
0c324d5 to
d2bfe99
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
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. |
There was a problem hiding this comment.
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
📒 Files selected for processing (15)
web/ee/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsxweb/ee/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsxweb/oss/src/components/AgentChatSlice/components/SessionTagBar.tsxweb/oss/src/components/Sidebar/dynamic/registry.tsweb/oss/src/components/Sidebar/dynamic/sessionsSource.tsweb/oss/src/components/Sidebar/dynamic/types.tsweb/oss/src/components/Sidebar/dynamic/useSidebarDynamicChildren.tsweb/oss/src/components/Sidebar/hooks/useSidebarConfig/index.tsxweb/oss/src/components/Sidebar/scopes/constants.tsweb/oss/src/components/pages/sessions/SessionsPage.tsxweb/oss/src/components/pages/sessions/assets/menuEntries.tsweb/oss/src/components/pages/sessions/components/SessionFiltersRail.tsxweb/oss/src/pages/w/[workspace_id]/p/[project_id]/apps/[app_id]/sessions/index.tsxweb/oss/src/pages/w/[workspace_id]/p/[project_id]/sessions/index.tsxweb/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
d1e4ec9 to
e6967e5
Compare
d2bfe99 to
bdb94db
Compare
…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.
e6967e5 to
f915825
Compare
bdb94db to
90bb383
Compare
|
Landed in |
Context
Fourth app lane. Sessions had no page of their own: they lived in the playground's session bar. This adds a project-wide
/sessionspage and a per-agent sessions page, both render-only over the packages below.Changes
SessionsPagerenders@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.Tests / notes
@agenta/osstsc adds nothing on this lane. The page derives nothing: groups, labels and row view-models come from@agenta/sessions.What to QA
/sessionspage: pinned group leads when present, recent below, automations hidden until the mode is switched.