-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Reapply "Add app-server transport layer with websocket support" #11370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
638b825 to
7560a70
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7560a70d4e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…-loops # Conflicts: # codex-rs/Cargo.lock
jif-oai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This transfer the back pressure to the ingress in practice so it means we rely on the ingress to error/drop events once everything is full.
I would prefer an explicit handling on our side instead but this can be done in a follow-up
jif-oai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we lost optOutNotificationMethods (we should have a use of should_skip_notification_for_connection). Maybe it's just because we need to merge main
The rest lgtm but I guess we will iterate on this code. It's getting quite complex
Reapply "Add app-server transport layer with websocket support" with additional fixes from https://github.com/openai/codex/pull/11313/changes to avoid deadlocking.
This reverts commit 47356ff.
Summary
To avoid deadlocking when queues are full, we maintain separate tokio tasks dedicated to incoming vs outgoing event handling
run_main_with_transporttransport_event_rx)outgoing_rx+thread_created_rx)Validation
Integration tests, testing thoroughly e2e in codex app w/ >10 concurrent requests