fix(agent-platform): sort session lists by recent activity - #69114
Conversation
Order listByApplication and listSummariesByApplication by updated_at DESC instead of created_at DESC so the sessions list surfaces recently active sessions first. Generated-By: PostHog Code Task-Id: 3301dcc3-6718-42ef-b7d6-489e30532379
|
Hey @dmarticus! 👋 It looks like your git author email on this PR isn't your
You can fix it for this repo with: git config user.email "you@posthog.com"Or set it globally with |
🤖 CI report✅ Bundle size — no changeUncompressed size of every built Total: 75.93 MiB · no change No file changed by more than 1000 B. Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report ✅ Eager graph — within budgetHow much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy
🟢 Largest files eagerly shipped from
|
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.5 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 3.9 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.4 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
| 789 B | src/scenes/ChunkLoadErrorBoundary.tsx |
| 668 B | src/index.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 277.1 KiB | ../node_modules/.pnpm/posthog-js@1.398.2/node_modules/posthog-js/dist/rrweb.js |
| 266.9 KiB | ../node_modules/.pnpm/@posthog+icons@0.37.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 224.6 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 213.6 KiB | ../node_modules/.pnpm/posthog-js@1.398.2/node_modules/posthog-js/dist/module.js |
| 160.9 KiB | src/queries/validators.js |
| 154.0 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 106.1 KiB | src/lib/api.ts |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 90.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.1_@tiptap+pm@3.20.1/node_modules/@tiptap/core/dist/index.js |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
✅ Dist folder size — no change
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1453.94 MiB · no change
|
Reviews (1): Last reviewed commit: "fix(agent-platform): sort session lists ..." | Re-trigger Greptile |
|
👋 Visual changes detected for this PR. Review and approve in PostHog Visual Review If these changes are unexpected, they may be caused by a flaky test or a broken snapshot on master. Don't approve — rerun the job or wait for a fix. |
|
Note 🤖 stamphog reviewed Trunk's CI comment reports 2 failed tests on this exact commit, including test_distinct_descriptions_most_recent_first whose failure ("actual list of descriptions did not match expected") directly implicates the sort-order change this PR makes, and the gate verdict is still PENDING (not passed) — the author also states they couldn't run the janitor/persistence suites locally, so this failure is unconfirmed as unrelated/flaky.
Gate mechanics and policy version
|
🦔 Hogbox preview · ✅ ready▶ Open the preview
commit |
Problem
The agent platform's sessions list (
GET /api/projects/:id/agent_applications/:id/sessions/, proxied through the janitor) orders bycreated_at DESC.A long-running session that was active seconds ago sinks below newer-but-idle sessions, so the "recent sessions" view doesn't reflect what's actually happening.
Changes
PgSessionQueue.listSummariesByApplication(powers the console session list) andlistByApplication(powers MCPresources/list) now order byupdated_at DESC— the runner stampsupdated_aton every conversation write, and theagent_sess_updated_idxindex already covers it. The fleet'slistLiveForTeamalready sorted this way.SessionQueueinterface docs, the janitor endpoint comment, and the Djangosessions_listdocstring from "newest first" to "most recently active first".products/agent_platform/frontend/generated/api.ts,services/mcp/src/generated/agent_platform/api.ts).Note
Behavior change for API consumers: the sessions list is now activity-ordered, not creation-ordered. The
created_after/created_beforefilters are unchanged.How did you test this code?
GET /sessionsordering test so an older-created session with newer activity must sort ahead of a newer-created idle one — the previous fixtures only variedcreated_at, so no existing test caught activity-ordering regressions.tsc --noEmitpasses foragent-sharedandagent-janitor; ruff clean on the touched Python file.hogli build:openapialso needs a DB connection, so the generated files were hand-synced to the new docstring text (comment-only change). Worth a local regen to confirm no further diff.Automatic notifications
Docs update
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Authored by Claude (PostHog Code session) at Dylan Martin's direction.
Skills invoked: /improving-drf-endpoints (viewset docstring touch).
The main decision was which list functions to change: only the two application-scoped list reads used by the console and MCP resource listing were switched to
updated_at; sweep/reaper queries and theexternal_keylookup keep their existing ordering since they encode different semantics.🤖 Generated with Claude Code