-
Notifications
You must be signed in to change notification settings - Fork 21.7k
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
Allow rack >= 3
in Rails.
#46594
Allow rack >= 3
in Rails.
#46594
Conversation
You'll have to bundle update As for the failure you see, it was fixed on |
There is a similar pull request #45741 Please consider closing one of them. |
Wouldn't this also allow rack 4? |
f5896de
to
f87c7c5
Compare
d440fbb
to
0c66e84
Compare
On my local dev machine, just considering |
One thing I could use some help with is adding Rack 2 and Rack 3 to the test matrix. It is probably only strictly required for |
1d6c828
to
9be1e57
Compare
Great talk at RubyConfAU today @ioquatix! Looking forward to my rails 7.1 app being more awesome. Thanks for all the work! |
A related issue: #47456 |
This comment was marked as outdated.
This comment was marked as outdated.
6eb7f48
to
92afa7a
Compare
92afa7a
to
fdf34d0
Compare
|
||
post :render_body, params: params.dup | ||
post :render_body, body: body |
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 don't think setting the body directly is the right fix here.
This would bypass the body_stream
branch in ActionDispatch::Request#body
and there is already have a test for it.
This is currently failing on CI, so I tried a different fix and submitted a PR targeting main to bring back CI to green.
|
||
assert_equal params.to_query, @response.body | ||
assert_equal body, @response.body |
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 test pass for me on main with Rack 3.0
Unless I am missing something, I don't think we need to change it anymore.
Rack 3 drops the requirement for input bodies to be rewindable, and params, once read, may not be available for "raw_post". Update the tests to prefer to use raw "body:" rather than "params:" which can be consumed by Rack::Request in Rack 3.
Okay, as far as I'm concerned, this is now all working the best it can be for a 7.1 release. Thanks everyone for your huge effort and patience. It was truely a multi-year project. @zzak I'd also recommend we make the rack-3 parts of the CI non-optional if they aren't already. |
The last version of actionpack (7.0.6) still wants rack to be ~> 2.0, >= 2.2.4. |
The work to support Rack 3 has been done on the |
There is some test failure when running against edge Rails, due to the dependencies installing Rack 3 which is [not yet supported][1]. Pinning our Rack version prevents the failures. Once the linked Rails PR has landed, we can remove this constraint. [1]: rails/rails#46594
There is some test failure when running against edge Rails, due to the dependencies installing Rack 3 which is [not yet supported][1]. Pinning our Rack version prevents the failures. Once the linked Rails PR has landed, we can remove this constraint. [1]: rails/rails#46594
This was previously blocked, see rails/rails#46594. Rails 7.1 now supports rack 3 and Capybara assumes rack 3, making tests fail when run via rake (but not bin/test).
This was previously blocked, see rails/rails#46594. Rails 7.1 now supports rack 3 and Capybara assumes rack 3, making tests fail when run via rake (but not bin/test).
Allow Rack 3 to be used in Rails.
Blocked By: