Repository navigation
address review: assignment scan and wasm TLS - #8716
Conversation
Skip comments and lambda defaults in the condition assignment scanner. Restrict the suite-header colon fallback to yield targets. Capture __del__ before calling it. Store browser socket timeouts as f64 and accept integers. Fail closed when wasm verify_mode is not CERT_NONE. Export getpeercert and feed MemoryBIO EOF. Assisted-by: Grok:grok-4.6
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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe pull request updates compiler scanners, object finalization lookup, WebAssembly socket timeout handling, and WebAssembly SSL behavior. ChangesCompiler scanner updates
Object finalization lookup
Socket timeout handling
SSL connection behavior
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The compiler, socket, destructor, and WebAssembly SSL changes show no concrete merge-blocking regression. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 73144c4a75
ℹ️ 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".
| let colon = top_level_colon(bytes, target_start, target_end)?; | ||
| let after = skip_horizontal_whitespace(bytes, colon + 1); | ||
| if after >= target_end { | ||
| if after >= target_end || !starts_identifier(bytes, after, b"yield") { |
There was a problem hiding this comment.
Allow parentheses before the post-header yield
For the documented input def f(): (yield bar) = y, after points to ( rather than yield, so this guard returns None and disables the suite-header fallback it is intended to preserve. Consequently, the existing parenthesized_yield_assignment_uses_invalid_target_message and parenthesized_yield_augassign_uses_illegal_expression_message tests receive a generic parser diagnostic instead of their required CPython-compatible messages; inspect or parse the post-colon expression through its parentheses before rejecting it.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Applied. The suite-header fallback still starts at the first token after :, but the yield check now walks through grouping parentheses, so def f(): (yield bar) = y keeps the invalid-target messages.
— commented by Claude
Walk through grouping parentheses before requiring yield after a suite-header colon. Assisted-by: Grok:grok-4.6
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f7e2a3429a
ℹ️ 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".
| } else if eof { | ||
| conn.feed_tls(&[]).map_err(|err| map_tls(vm, err))?; |
There was a problem hiding this comment.
Drain buffered plaintext before reporting BIO EOF
When the incoming MemoryBIO has reached EOF, every call to pump() now feeds an empty slice, and TlsConnection::feed_tls immediately returns ZeroReturn or Eof. If the final TLS records produced more plaintext than the previous read(len) consumed—for example, the peer sent a response and closed while the caller reads it in small chunks—the next read() fails here before consulting rustls's buffered plaintext, making the remainder permanently inaccessible. The non-WASM SSL path explicitly checks pending_plaintext() and returns those bytes before propagating either clean or unexpected EOF; this path needs the same ordering.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Applied. pump now feeds BIO EOF only when rustls has no pending plaintext, so a later read() still returns the leftover application data before ZeroReturn/EOF.
— commented by Claude
* address review: assignment scan and wasm TLS Skip comments and lambda defaults in the condition assignment scanner. Restrict the suite-header colon fallback to yield targets. Capture __del__ before calling it. Store browser socket timeouts as f64 and accept integers. Fail closed when wasm verify_mode is not CERT_NONE. Export getpeercert and feed MemoryBIO EOF. Assisted-by: Grok:grok-4.6 * address review: parenthesized yield suite header Walk through grouping parentheses before requiring yield after a suite-header colon. Assisted-by: Grok:grok-4.6
Follow-up to #8701 review comments that landed after the squash merge.
#comments and lambda defaults incondition_plain_assignmentyieldtargets__del__before calling it so the unraisable names the destructor that ran_sockettimeouts asf64bits and accept integers viaArgIntoFloatverify_mode != CERT_NONE; exportgetpeercert; feed MemoryBIO EOF into TLSAssisted-by: Grok:grok-4.6
Summary by CodeRabbit
Bug Fixes
API Changes
getpeercert, returning DER data or an empty result after handshake completion.