Skip to content

Commit 7e8e77b

Browse files
committed
Move copy reqid
1 parent 7635586 commit 7e8e77b

File tree

5 files changed

+46
-25
lines changed

5 files changed

+46
-25
lines changed

apps/sim/app/workspace/[workspaceId]/components/message-actions/message-actions.tsx

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import {
1010
ModalContent,
1111
ModalFooter,
1212
ModalHeader,
13-
TagIcon,
1413
Textarea,
1514
ThumbsDown,
1615
ThumbsUp,
16+
Tooltip,
1717
} from '@/components/emcn'
1818
import { useSubmitCopilotFeedback } from '@/hooks/queries/copilot-feedback'
1919

@@ -105,6 +105,7 @@ export function MessageActions({ content, chatId, userQuery, requestId }: Messag
105105
if (chatId && userQuery) {
106106
setPendingFeedback(type)
107107
setFeedbackText('')
108+
setCopiedRequestId(false)
108109
}
109110
},
110111
[chatId, userQuery]
@@ -133,6 +134,7 @@ export function MessageActions({ content, chatId, userQuery, requestId }: Messag
133134
if (!open) {
134135
setPendingFeedback(null)
135136
setFeedbackText('')
137+
setCopiedRequestId(false)
136138
}
137139
}, [])
138140

@@ -165,31 +167,39 @@ export function MessageActions({ content, chatId, userQuery, requestId }: Messag
165167
>
166168
<ThumbsDown className={ICON_CLASS} />
167169
</button>
168-
{requestId && (
169-
<button
170-
type='button'
171-
aria-label='Copy request ID'
172-
onClick={copyRequestId}
173-
className={BUTTON_CLASS}
174-
title={copiedRequestId ? 'Copied!' : 'Copy request ID'}
175-
>
176-
{copiedRequestId ? (
177-
<Check className={ICON_CLASS} />
178-
) : (
179-
<TagIcon className={ICON_CLASS} />
180-
)}
181-
</button>
182-
)}
183170
</div>
184171

185172
<Modal open={pendingFeedback !== null} onOpenChange={handleModalClose}>
186173
<ModalContent size='sm'>
187174
<ModalHeader>Give feedback</ModalHeader>
188175
<ModalBody>
189176
<div className='flex flex-col gap-2'>
190-
<p className='font-medium text-[var(--text-secondary)] text-sm'>
191-
{pendingFeedback === 'up' ? 'What did you like?' : 'What could be improved?'}
192-
</p>
177+
<div className='flex items-start justify-between gap-2'>
178+
<p className='font-medium text-[var(--text-secondary)] text-sm'>
179+
{pendingFeedback === 'up' ? 'What did you like?' : 'What could be improved?'}
180+
</p>
181+
{pendingFeedback === 'down' && requestId && (
182+
<Tooltip.Root>
183+
<Tooltip.Trigger asChild>
184+
<button
185+
type='button'
186+
aria-label='Copy request ID'
187+
onClick={copyRequestId}
188+
className='flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[var(--text-icon)] transition-colors hover-hover:bg-[var(--surface-hover)] focus-visible:outline-none'
189+
>
190+
{copiedRequestId ? (
191+
<Check className='h-[14px] w-[14px]' />
192+
) : (
193+
<Copy className='h-[14px] w-[14px]' />
194+
)}
195+
</button>
196+
</Tooltip.Trigger>
197+
<Tooltip.Content side='top'>
198+
{copiedRequestId ? 'Copied request ID' : 'Copy request ID'}
199+
</Tooltip.Content>
200+
</Tooltip.Root>
201+
)}
202+
</div>
193203
<Textarea
194204
placeholder={
195205
pendingFeedback === 'up'

apps/sim/app/workspace/[workspaceId]/settings/components/mothership/mothership.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ function TracesTab({ environment }: { environment: MothershipEnv }) {
605605
value={requestIdInput}
606606
onChange={(e) => setRequestIdInput(e.target.value)}
607607
onKeyDown={(e) => e.key === 'Enter' && handleLookup()}
608-
placeholder='Paste a request ID (go_trace_id)...'
608+
placeholder='Paste a request ID (sim_request_id)...'
609609
className='font-mono text-[13px]'
610610
/>
611611
<Button variant='primary' onClick={handleLookup} disabled={!requestIdInput.trim()}>

apps/sim/lib/copilot/chat/persisted-message.test.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,20 @@ describe('persisted-message', () => {
6060
])
6161
})
6262

63+
it('prefers an explicit persisted request ID override', () => {
64+
const result: OrchestratorResult = {
65+
success: true,
66+
content: 'done',
67+
requestId: 'go-trace-1',
68+
contentBlocks: [],
69+
toolCalls: [],
70+
}
71+
72+
const persisted = buildPersistedAssistantMessage(result, 'sim-request-1')
73+
74+
expect(persisted.requestId).toBe('sim-request-1')
75+
})
76+
6377
it('normalizes legacy tool_call and top-level toolCalls shapes', () => {
6478
const normalized = normalizeMessage({
6579
id: 'msg-1',

apps/sim/lib/copilot/chat/post.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ function buildOnComplete(params: {
334334
chatId,
335335
userMessageId,
336336
...(result.success
337-
? { assistantMessage: buildPersistedAssistantMessage(result, result.requestId) }
337+
? { assistantMessage: buildPersistedAssistantMessage(result, requestId) }
338338
: {}),
339339
})
340340

@@ -518,7 +518,7 @@ async function resolveBranch(params: {
518518
}
519519

520520
export async function handleUnifiedChatPost(req: NextRequest) {
521-
const tracker = createRequestTracker()
521+
const tracker = createRequestTracker(false)
522522
let actualChatId: string | undefined
523523
let userMessageId = ''
524524
let chatStreamLockAcquired = false

apps/sim/lib/copilot/request/lifecycle/start.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,6 @@ export function createSSEStream(params: StreamingOrchestrationParams): ReadableS
150150
trace: collector,
151151
simRequestId: requestId,
152152
abortSignal: abortController.signal,
153-
onGoTraceId: (goTraceId) => {
154-
publisher.updateRequestId(goTraceId)
155-
},
156153
onEvent: async (event) => {
157154
await publisher.publish(event)
158155
},

0 commit comments

Comments
 (0)