fix(runtime): dismiss intentional outage toast

This commit is contained in:
Brennan Benson
2026-07-31 14:53:52 -07:00
parent 1ecc0b3c3e
commit 622eaafe36
2 changed files with 21 additions and 7 deletions
@@ -256,6 +256,23 @@ describe('runtime-status slice', () => {
expect(store.getState().runtimeStatusByEnvironmentId.get('env-a')?.status).toBeNull()
})
it('dismisses an outage toast opened while an intentional disconnect was pending', () => {
const store = createSliceStore()
store.getState().setRuntimeEnvironmentStatus('env-a', { status: makeStatus(), checkedAt: 1 })
store.getState().setRuntimeEnvironmentStatus('env-a', { status: null, checkedAt: 2 })
store
.getState()
.setRuntimeEnvironmentStatus(
'env-a',
{ status: null, checkedAt: 3 },
{ suppressDisconnectToast: true }
)
expect(toast.warning).toHaveBeenCalledTimes(1)
expect(toast.dismiss).toHaveBeenCalledWith('runtime-environment-disconnected:env-a')
})
it('clears a single environment entry', () => {
const store = createSliceStore()
store.getState().setRuntimeEnvironmentStatus('env-a', { status: makeStatus(), checkedAt: 1 })
@@ -251,14 +251,11 @@ export const createRuntimeStatusSlice: StateCreator<AppState, [], [], RuntimeSta
})
return { runtimeStatusByEnvironmentId: next }
})
if (previous?.status === null && status.status !== null) {
if (options?.suppressDisconnectToast) {
dismissRuntimeDisconnectedToast(environmentId)
} else if (
previous &&
previous.status !== null &&
status.status === null &&
!options?.suppressDisconnectToast
) {
} else if (previous?.status === null && status.status !== null) {
dismissRuntimeDisconnectedToast(environmentId)
} else if (previous && previous.status !== null && status.status === null) {
showRuntimeDisconnectedToast(environmentId, get)
}
},