feat(seer): Scope /conversations slash command lookup with start/end/project#115785
Conversation
…project The Seer Explorer's `/conversations` slash command opened the AI conversation view with only the conversation ID, leaving the page filter at its 30d default. The detail page then scanned a 30-day window to locate spans for the conversation. Pass `start`/`end` derived from the min/max of the session blocks' timestamps, plus `project=6178942` (sentry.io seer-agents project), so the conversation lookup is narrowed to the actual run window. The new URL options on `getConversationsUrlForExternalUse` are optional, so the other two callers are unaffected. Agent transcript: https://claudescope.sentry.dev/share/i18cYDMV5-hJR8QQjBdmbwYdc_bCGs7JmzocWZqF7JM
📊 Type Coverage Diff✅ No new type safety issues introduced. Coverage: 93.56% |
Both `prebuiltDashboardRenderer.tsx` and the Seer Explorer drawer hardcoded `6178942` (the sentry.io seer-agents project). Pull it into `sentry/constants` so the two callsites share one definition.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0683188. Configure here.
| } | ||
| return getConversationsUrlForExternalUse('sentry', runId, { | ||
| start: minTs === Infinity ? undefined : new Date(minTs).toISOString(), | ||
| end: maxTs === -Infinity ? undefined : new Date(maxTs).toISOString(), |
There was a problem hiding this comment.
Missing time buffer on conversation URL timestamps
Medium Severity
The start and end timestamps are set to the exact min/max block timestamps with no padding. The existing getConversationDetailUrl in conversationsTable.tsx intentionally adds a ±1 hour buffer (ONE_HOUR_MS) because the conversation detail page's useConversation hook passes URL-provided datetimes straight through to the API query via normalizeDateTimeParams without adding its own buffer. Without this padding, the detail page's span query may miss spans at the boundaries of the conversation whose timestamps don't align exactly with block timestamps.
Reviewed by Cursor Bugbot for commit 0683188. Configure here.


The Seer Explorer's
/conversationsslash command opened the AI conversation view with only the conversation ID, leaving the page filter at its 30d default. The detail page then scanned a 30-day window to locate spans for the conversation.getConversationsUrlForExternalUsenow accepts optionalstart,end, andprojectquery params. The other two callers (blockComponents.tsx,seerExplorer/utils.tsx) are unaffected./conversationshandler inexplorerDrawerContent.tsxderivesstart/endfrom the min/max of the session blocks' timestamps and passesproject=SEER_AGENTS_PROJECT_ID.6178942) out ofprebuiltDashboardRenderer.tsxand the new drawer code into a sharedSEER_AGENTS_PROJECT_IDconstant insentry/constants.