mirror of
https://github.com/stablyai/orca.git
synced 2026-09-23 00:02:29 +00:00
* 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
45 lines
1.5 KiB
TypeScript
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)
|
|
}
|
|
}
|