Repository navigation
Send all seven RespondToPermission arguments from the daemon relay - #772
Conversation
) SignalR matches a positional hub invocation by argument count before the hub body runs, so the server's two trailing ACP-option parameters must be sent as nulls: a five-argument call is rejected, the server never learns the request was answered, and the web card stays pending after a desktop decision. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
PR Summary by QodoFix permission relay SignalR argument arity
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
1.
|
Closes #771 — AI-2498
What & why
The daemon relays a permission decided in the desktop app to the server through the
RespondToPermissionhub method, which has seven positional parameters. The relay sent five, so SignalR rejected every call before the hub body ran: the agent proceeded on the local answer while the web UI kept the permission card and "needs attention". The daemon now sends all seven, with nulls for the ACP option pair a hook decision never carries. The server-side half, a record-based method plus a wire test pinning the positional arity, is AI-2496.Where to look
The new test hosts a real Kestrel SignalR hub declaring the server's parameter list. A
ServerConnectiondouble that overrides the invoke seam can never observe an argument-count mismatch, which is why the existing tests passed with the bug in place and why the daemon test project gains aMicrosoft.AspNetCore.Appframework reference.Verification
InvalidDataException: Invocation provides 5 argument(s) but target expects 7., the rejection behind the production daemon log lineRelaying the local decision … failed: Failed to invoke 'RespondToPermission' due to an error on the server.; with it, passes.Installed_codex_schema_matches_the_vendored_pinfails on a machine with Codex 0.153.0 against the 0.147.0 pin;Local_socket_stopv2_with_force…failed once under load and passes in isolation and on the re-run.scripts/check-linear-ids.shexits 0; release AOT publish of the daemon reports zero IL2026/IL3050 warnings.