mirror of
https://github.com/stablyai/orca.git
synced 2026-11-01 01:27:35 +00:00
* fix(sidebar): the window raises the unread flag exactly when its host does not With ORCA_SIDEBAR_INPUTS=main the host raises the workspace unread flag. A host now advertises workspace-unread.host-raises.v1 in its status; a switch-on window raises the flag itself only for workspaces whose paired server lacks it, waiting for that server's status first. The desktop advertises the same capability to the hosts it pairs with, and a host leaves raising to an older desktop (one that hosts client pages without the capability) while it is connected. * fix(sidebar): every desktop socket advertises the unread capability; window answers from cached status The browser host lease and network tunnel build their capabilities on the shared remote base, not the Electron list, so a current desktop's lease looked like an older desktop and silenced the host. The capability now lives in the shared base. The window reads the cached status first and probes only before the first one. * test(sidebar): pin the cached-status path and both older desktop socket shapes * test(e2e): narrow the server row's host before Mark as read
48 lines
2.3 KiB
TypeScript
48 lines
2.3 KiB
TypeScript
import {
|
|
AGENT_SESSION_BACKGROUND_TASK_ROW_STOP_CAPABILITY,
|
|
AGENT_SESSION_TURN_ITEM_CAPABILITY,
|
|
AGENT_SESSION_BACKGROUND_TASK_STOP_CAPABILITY,
|
|
AGENT_SESSION_BOUNDARY_RUNTIME_CAPABILITY,
|
|
AUTOMATION_OWNER_FENCING_RUNTIME_CAPABILITY,
|
|
REPO_SEARCH_QUALIFIED_REFS_RUNTIME_CAPABILITY,
|
|
SESSION_TAB_CLOSE_INTENT_RUNTIME_CAPABILITY,
|
|
SESSION_TABS_AUTHORITATIVE_INVENTORY_RUNTIME_CAPABILITY,
|
|
WORKTREE_GITHUB_PR_SUPPRESSION_RUNTIME_CAPABILITY,
|
|
WORKTREE_VISIBILITY_DEFAULTS_RUNTIME_CAPABILITY,
|
|
WORKTREE_VISIBILITY_SOURCE_DEFAULTS_RUNTIME_CAPABILITY,
|
|
type RuntimeCapability
|
|
} from './protocol-version'
|
|
import { TERMINAL_QUICK_COMMAND_LONG_PROMPTS_RUNTIME_CAPABILITY } from './terminal-quick-command-capabilities'
|
|
import { AGENT_SESSION_BACKGROUND_TASK_CHILD_VIEWS_CAPABILITY } from './agent-session-background-task-child-views-capability'
|
|
import { SKILL_INSTALL_RESULT_V2_CAPABILITY } from './skill-install-capability'
|
|
import { ORCA_SIDEBAR_INPUTS_IS_MAIN } from './sidebar-inputs-switch'
|
|
import { WORKSPACE_UNREAD_HOST_RAISES_CAPABILITY } from './workspace-unread-raise-capability'
|
|
|
|
// Keep every remote request transport on the same mixed-version capability contract.
|
|
export function remoteRuntimeClientCapabilities(
|
|
additionalCapabilities: readonly RuntimeCapability[] = []
|
|
): RuntimeCapability[] {
|
|
return Array.from(
|
|
new Set([
|
|
AGENT_SESSION_BACKGROUND_TASK_STOP_CAPABILITY,
|
|
AGENT_SESSION_BACKGROUND_TASK_ROW_STOP_CAPABILITY,
|
|
AGENT_SESSION_BACKGROUND_TASK_CHILD_VIEWS_CAPABILITY,
|
|
AGENT_SESSION_TURN_ITEM_CAPABILITY,
|
|
SESSION_TAB_CLOSE_INTENT_RUNTIME_CAPABILITY,
|
|
SESSION_TABS_AUTHORITATIVE_INVENTORY_RUNTIME_CAPABILITY,
|
|
AGENT_SESSION_BOUNDARY_RUNTIME_CAPABILITY,
|
|
SKILL_INSTALL_RESULT_V2_CAPABILITY,
|
|
WORKTREE_GITHUB_PR_SUPPRESSION_RUNTIME_CAPABILITY,
|
|
WORKTREE_VISIBILITY_DEFAULTS_RUNTIME_CAPABILITY,
|
|
WORKTREE_VISIBILITY_SOURCE_DEFAULTS_RUNTIME_CAPABILITY,
|
|
AUTOMATION_OWNER_FENCING_RUNTIME_CAPABILITY,
|
|
REPO_SEARCH_QUALIFIED_REFS_RUNTIME_CAPABILITY,
|
|
TERMINAL_QUICK_COMMAND_LONG_PROMPTS_RUNTIME_CAPABILITY,
|
|
// Switch point: every desktop socket, browser hosting's included, leaves the unread flag to
|
|
// a host that raises it.
|
|
...(ORCA_SIDEBAR_INPUTS_IS_MAIN ? [WORKSPACE_UNREAD_HOST_RAISES_CAPABILITY] : []),
|
|
...additionalCapabilities
|
|
])
|
|
)
|
|
}
|