mirror of
https://github.com/stablyai/orca.git
synced 2026-10-22 16:03:47 +00:00
* fix(terminal): stop transient probe blips from erroring restored panes (STA-3536) terminal_pane_owner_unverified fired for every restored pane whenever one liveness probe answer went missing: a cold-start daemon draining an attach stampede misses the 2s getSize deadline, and a wedged superseded daemon (protocol upgrades leave them running) turns every unmapped fan-out probe null forever. - probePtyOwners now skips legacy daemons whose startup inventory listing succeeded: fresh sessions never route to them, so they provably don't own an unmapped id and one wedged zombie can't poison every pane's verdict. - attachStablePaneOwner retries the probe over a short backoff ladder before surfacing unverified, so a single missed deadline resolves to a verdict. - The renderer replaces the raw error code with actionable copy. * fix(terminal): stop retrying definitive owner probes * fix(terminal): recover live panes after renderer restart * refactor(terminal): share owner resolution abort guard
21 lines
589 B
TypeScript
21 lines
589 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import {
|
|
DaemonProtocolError,
|
|
decodeDaemonResponseError,
|
|
SessionNotFoundError
|
|
} from './daemon-errors'
|
|
|
|
describe('decodeDaemonResponseError', () => {
|
|
it('types the exact legacy session-absence response', () => {
|
|
expect(decodeDaemonResponseError('Session not found: pty-1')).toBeInstanceOf(
|
|
SessionNotFoundError
|
|
)
|
|
})
|
|
|
|
it('keeps unrelated daemon failures non-authoritative', () => {
|
|
expect(decodeDaemonResponseError('proxy failed: Session not found: pty-1')).toBeInstanceOf(
|
|
DaemonProtocolError
|
|
)
|
|
})
|
|
})
|