mirror of
https://github.com/stablyai/orca.git
synced 2026-09-26 08:02:38 +00:00
fix: persist default tab session patch marker (#4135)
This commit is contained in:
@@ -156,4 +156,25 @@ describe('buildWorkspaceSessionPatch', () => {
|
||||
expect(Object.hasOwn(patch, 'activeConnectionIdsAtShutdown')).toBe(true)
|
||||
expect(patch.activeConnectionIdsAtShutdown).toBeUndefined()
|
||||
})
|
||||
|
||||
it('persists default terminal tab idempotency marker changes', () => {
|
||||
const patch = buildWorkspaceSessionPatch(
|
||||
createSnapshot({ defaultTerminalTabsAppliedByWorktreeId: { 'wt-1': true } }),
|
||||
['defaultTerminalTabsAppliedByWorktreeId']
|
||||
)
|
||||
|
||||
expect(patch).toEqual({
|
||||
defaultTerminalTabsAppliedByWorktreeId: { 'wt-1': true }
|
||||
})
|
||||
})
|
||||
|
||||
it('keeps default terminal tab marker clearing keys in patches', () => {
|
||||
const patch = buildWorkspaceSessionPatch(
|
||||
createSnapshot({ defaultTerminalTabsAppliedByWorktreeId: {} }),
|
||||
['defaultTerminalTabsAppliedByWorktreeId']
|
||||
)
|
||||
|
||||
expect(Object.hasOwn(patch, 'defaultTerminalTabsAppliedByWorktreeId')).toBe(true)
|
||||
expect(patch.defaultTerminalTabsAppliedByWorktreeId).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
@@ -122,6 +122,13 @@ export function buildWorkspaceSessionPatch(
|
||||
if (changed.has('lastVisitedAtByWorktreeId')) {
|
||||
patch.lastVisitedAtByWorktreeId = buildLastVisitedAtByWorktreeId(snapshot)
|
||||
}
|
||||
if (changed.has('defaultTerminalTabsAppliedByWorktreeId')) {
|
||||
patch.defaultTerminalTabsAppliedByWorktreeId =
|
||||
snapshot.defaultTerminalTabsAppliedByWorktreeId &&
|
||||
Object.keys(snapshot.defaultTerminalTabsAppliedByWorktreeId).length > 0
|
||||
? snapshot.defaultTerminalTabsAppliedByWorktreeId
|
||||
: undefined
|
||||
}
|
||||
|
||||
return patch
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user