Uh oh!
There was an error while loading. Please reload this page.
feat(desktop): approve guest Turn requests - #4198
Conversation
d39669b to
7da5407Compare7da5407 to
7043846Comparea56b34c to
c2c27edCompare
jackwener
left a comment
There was a problem hiding this comment.
I reviewed exact head c2c27ed775276b3cef653115ece1c31430812532 and found no blocking issue. The Guest composer preserves one Turn identity across uncertain outcomes, serializes polling, retains terminal results until acknowledgement, and fails read-only when authority cannot be confirmed. The Owner surface reads access and pending requests together, and only offers decisions for pending requests. Desktop/renderer typechecks, the complete Desktop main suite, and the stacked Runtime Host suite pass.
Non-blocking follow-up: this commit advances RUNTIME_HOST_COMPATIBILITY_EPOCH from 71 to 72 because canRequestTurns becomes required on the query result, but the adjacent epoch ledger has no 72: entry. Please add the compatibility reason so future rebases do not lose that boundary.
Automated review notice: This comment was posted by an automated review agent operated by WAWQAQ. It is not an independent human review and does not replace one.
Complete the Desktop collaboration loop with Guest Turn requests, durable Owner decisions, and fail-closed read-only behavior when authority is absent. Generated-by: OpenAI Codex
c2c27ed to
c02465fCompareUh oh!
There was an error while loading. Please reload this page.
English
Summary
Complete the Desktop collaboration loop: a Guest with request authority can submit one exact Turn request and follow its durable result, while the Owner can approve or reject pending requests. Retries preserve one stable Turn identity, terminal results remain until the Guest dismisses them, and both Owner and Guest projections recover without overlapping polls. An unavailable collaboration authority is shown honestly without replacing known durable access with an empty state.
Refs #3843
Verification
npm run build:testnode --test packages/runtime-host/dist/__tests__/session-collaboration-authority.test.js packages/runtime-host/dist/__tests__/authenticated-websocket.test.js apps/desktop/dist/main/__tests__/runtime-host-collaboration-ipc-main.test.js apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js(56 passed)npm run lintnpm run format:checknpm run check:asf-headersgit diff --checkScreenshots
Owner approval:
Guest result:
AI use
Tool(s) and scope: OpenAI Codex implemented and verified the change under the maintainer's direction and review.
Checklist
Does this PR entail a change in behavior?
中文
摘要
完成 Desktop 协作闭环:拥有请求 authority 的 Guest 可提交一个精确的 Turn 请求并查看其持久结果,Owner 可批准或拒绝待处理请求。重试会保持同一个稳定 Turn identity;终态结果会保留到 Guest 明确关闭为止;Owner 与 Guest 的 projection 均不会产生重叠轮询。collaboration authority 暂时不可用时,界面会如实呈现,同时保留已知的持久授权,而不是伪装成空状态。
关联 #3843
验证
npm run build:testnode --test packages/runtime-host/dist/__tests__/session-collaboration-authority.test.js packages/runtime-host/dist/__tests__/authenticated-websocket.test.js apps/desktop/dist/main/__tests__/runtime-host-collaboration-ipc-main.test.js apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js(56 项通过)npm run lintnpm run format:checknpm run check:asf-headersgit diff --check截图
Owner 审批:
Guest 结果:
AI 使用
OpenAI Codex 在维护者的指导和审核下参与了实现与验证。