-
+
+
{translate(
'auto.components.NativeChatResumeOnRestartModal.whatIsSentTitle',
'What Orca sends'
)}
-
+
{translate(
'auto.components.NativeChatResumeOnRestartModal.whatIsSentBody',
'Continuing sends one short message to each agent, telling it that Orca restarted and asking it to check its last action before carrying on. Your own prompt is never re-sent.'
)}
-
+
{AGENT_SESSION_RESTART_CONTINUATION_MESSAGE}
@@ -248,12 +248,15 @@ export function NativeChatResumeOnRestartModal(): React.JSX.Element | null {
point, so the list scrolls inside the dialog while the header and primary action stay. */}
-
-
- {translate(
- 'auto.components.NativeChatResumeOnRestartModal.title',
- 'Reconnect interrupted chats?'
- )}
+
+ {/* Plain wrapper owns the icon spacing; DialogTitle owns its own. */}
+
+
+ {translate(
+ 'auto.components.NativeChatResumeOnRestartModal.title',
+ 'Reconnect interrupted chats?'
+ )}
+
{interruptedByUpdate
@@ -266,6 +269,15 @@ export function NativeChatResumeOnRestartModal(): React.JSX.Element | null {
'These chats were mid-turn when Orca closed. Reconnecting restores each one where it stopped, with its full context and without re-sending your prompt — the interrupted reply will not continue on its own.'
)}
+ {/* The true state of things is counterintuitive — the terminal sessions survived and the
+ chats did not — so say so where it frames the list, not as a footnote. "kept running"
+ rather than "were restored": nothing reconnected them, they never stopped. */}
+
+ {translate(
+ 'auto.components.NativeChatResumeOnRestartModal.terminalSessionsUnaffected',
+ 'Only chats are affected — your terminal sessions kept running and need nothing from you.'
+ )}
+
+ const recordedAt = Reflect.get(value, 'recordedAt')
+ const trigger = Reflect.get(value, 'trigger')
return (
- isMarkerField(marker.sessionId) &&
- isMarkerField(marker.turnId) &&
- isMarkerField(marker.providerHandleRoot) &&
- Number.isSafeInteger(marker.recordedAt) &&
- (marker.recordedAt as number) >= 0 &&
- (marker.trigger === 'quit' || marker.trigger === 'update')
+ isMarkerField(Reflect.get(value, 'sessionId')) &&
+ isMarkerField(Reflect.get(value, 'turnId')) &&
+ isMarkerField(Reflect.get(value, 'providerHandleRoot')) &&
+ typeof recordedAt === 'number' &&
+ Number.isSafeInteger(recordedAt) &&
+ recordedAt >= 0 &&
+ (trigger === 'quit' || trigger === 'update')
)
}