Files
orca/src/shared/remote-runtime-shared-control-subscription-close.ts
Brennan Benson e467b3ff7b fix(remote): stabilize shared control and terminal parking (#11656)
* fix(remote): stabilize shared control and terminal parking

* fix(remote): harden parking review edge cases

* fix(terminal): restore parked local floating buffer

* fix(ci): drop superseded paired parking evidence

* fix(terminal): preserve floating park watchers

* fix(ci): include web client in paired e2e artifact

* fix(ci): reuse renderer build for paired e2e
2026-07-31 00:22:53 -07:00

45 lines
1.5 KiB
TypeScript

import type { SharedControlRetiredRequestIds } from './remote-runtime-shared-control-retired-request-ids'
import {
closeSharedControlLogicalSubscription,
sendSharedControlCleanupRequest
} from './remote-runtime-shared-control-subscriptions'
import type { SharedControlLogicalSubscription } from './remote-runtime-shared-control-types'
export function closeSharedControlConnectionSubscription(args: {
subscriptions: Map<string, SharedControlLogicalSubscription<unknown>>
retiredRequestIds: SharedControlRetiredRequestIds
requestId: string
deviceToken: string
send: (payload: unknown) => boolean
}): void {
const subscription = args.subscriptions.get(args.requestId)
closeSharedControlLogicalSubscription({
subscriptions: args.subscriptions,
subscription,
request: (method, params) =>
sendRetiredSharedControlCleanupRequest({
retiredRequestIds: args.retiredRequestIds,
deviceToken: args.deviceToken,
method,
params,
send: args.send
})
})
if (subscription && !args.subscriptions.has(args.requestId)) {
args.retiredRequestIds.retire(args.requestId)
}
}
export function sendRetiredSharedControlCleanupRequest(args: {
retiredRequestIds: SharedControlRetiredRequestIds
deviceToken: string
method: string
params: unknown
send: (payload: unknown) => boolean
}): void {
const requestId = sendSharedControlCleanupRequest(args)
if (requestId) {
args.retiredRequestIds.retire(requestId)
}
}