Use kwargs with resolv-replace gem version >= 0.2.0#1096
Conversation
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code |
|
The JRuby CI failure on this PR is caused by a pre-existing issue that your change exposes more broadly: JRuby 10.1.0.0 (Ruby 4.0 compat) does not support Error: The fix (being applied to @supports_connect_timeout = RUBY_ENGINE == 'ruby' && RUBY_VERSION >= '3.0' &&
(params == TCPSOCKET_NATIVE_PARAMETERS || params.any? { |type, _| type == :keyrest })This PR will need to incorporate that guard before it can merge. On JRuby, 🤖 Generated with Claude Code |
|
@jasonpenny can you please rebase against main and make any other changes that may be required per my last comment? Thanks. |
did you push a commit? I don't see it in GitHub (so this is still branched off of |
|
@jasonpenny Sorry, Claude didn't do the push - fixed now. Can you please rebase now and resolve? Thanks |
58761ab to
f1b51d5
Compare
|
rebased, and I believe I resolved the RUBY_ENGINE issue |
|
Thanks! |
|
@petergoldstein can we anticipate a |
|
@mattwd7 Released |
When upgrading from v2 to latest, I hit a lot of errors about
ruby/3.3.0/gems/timeout-0.4.3/lib/timeout.rb:95:in 'new': can't alloc thread (ThreadError)in a project that is using the resolv-replace bundled gem.resolv-replacev0.2.0 updated itsTCPSocket#initializepatch to forward**kwargs, which meansconnect_timeout:should now work correctly when that version is loaded. Previously,supports_connect_timeout?treated anyresolv-replace-patchedTCPSocketas incompatible.What changed
supports_connect_timeout?now checks the parameter signature ofTCPSocket#initializemore precisely instead of requiring an exact match against the native[[:rest]]signature:[[:rest]], returnstrue(unchanged)**kwargs(a:keyrestentry), returnstrue(new):keyrestentry, returnsfalse(unchanged)This PR was generated with the assistance of claude code