aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change test description with the correct URL namePietro Moro2019-07-261-8/+8
|
* Remove tough to grasp -1 + 1 = 0 from String#toKasper Timm Hansen2019-07-262-2/+4
| | | | | | | | | | | In case a negative position is provided that exceeds the size of the string, we're relying on -1 returned from max to get 0 length by + 1 and let [] with a 0 length returning "" for us. E.g. "hello".to(-7), where -7 + 5 size = -2. That's lower than -1, so we use -1 instead and + 1 would turn it into 0. Instead allow outer bounds access and always return "".
* Merge pull request #36178 from sshaw/fix_time_zone_options_priorityRafael França2019-07-261-3/+4
|\ | | | | Update time_zone_options_for_select docs
| * Update time_zone_options_for_select docssshaw2019-05-041-3/+4
| |
* | Merge pull request #36227 from ↵Rafael França2019-07-262-1/+12
|\ \ | | | | | | | | | | | | betesh/avoid-misleading-error-about-late-attachments Prevent reading inline attachments after `mail` was called from raising an inaccurate exception
| * | Prevent reading inline attachments after `mail` was called from raising an ↵Isaac Betesh2019-05-212-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inaccurate exception Without this change, `attachments.inline['my_attachment'].present?`, for example, would raise the exception `Can't add attachments after mail was called`. I first brought this issue up at https://github.com/rails/rails/issues/16163#issuecomment-437378347. Note that this commit addresses only one of the 2 problems I described in that comment. The other problem is that using `attachments.inline['my_attachment']` for reading an attachment is unnecessary--it's the same as `attachments['my_attachment']`--even before `mail` is called. We could add a warning about the unnecessary use of `inline` but I'm saving that for a later PR since my comment has not received any feedback yet.
* | | Merge pull request #36780 from ↵Rafael França2019-07-261-7/+7
|\ \ \ | | | | | | | | | | | | | | | | abhaynikam/36775-follow-up-change-test-description Change the test description to say the URL helper name in test.
| * | | Change the test description to say the URL helper name in test.Abhay Nikam2019-07-271-7/+7
| | | |
* | | | Fix error 500 caused by ActionController::RoutingError (via fail-safe) when ↵Simone Carletti2019-07-261-1/+17
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | POST parameters are invalid (#29985) * Reproduce error caused by malformed parameters Error: RequestFormat#test_format_does_not_throw_exceptions_when_invalid_POST_parameters: ActionDispatch::Http::Parameters::ParseError: 765: unexpected token at '{record:{content:24.12.1.146}}' /Users/weppos/Mirrors/rails/actionpack/lib/action_dispatch/http/parameters.rb:113:in `rescue in parse_formatted_parameters' /Users/weppos/Mirrors/rails/actionpack/lib/action_dispatch/http/parameters.rb:107:in `parse_formatted_parameters' /Users/weppos/Mirrors/rails/actionpack/lib/action_dispatch/http/request.rb:360:in `block in POST' /Users/weppos/.rvm/gems/ruby-2.3.3/gems/rack-2.0.3/lib/rack/request.rb:57:in `fetch' /Users/weppos/.rvm/gems/ruby-2.3.3/gems/rack-2.0.3/lib/rack/request.rb:57:in `fetch_header' /Users/weppos/Mirrors/rails/actionpack/lib/action_dispatch/http/request.rb:359:in `POST' /Users/weppos/Mirrors/rails/actionpack/lib/action_dispatch/http/parameters.rb:53:in `parameters' /Users/weppos/Mirrors/rails/actionpack/lib/action_dispatch/http/mime_negotiation.rb:62:in `block in formats' /Users/weppos/.rvm/gems/ruby-2.3.3/gems/rack-2.0.3/lib/rack/request.rb:57:in `fetch' /Users/weppos/.rvm/gems/ruby-2.3.3/gems/rack-2.0.3/lib/rack/request.rb:57:in `fetch_header' /Users/weppos/Mirrors/rails/actionpack/lib/action_dispatch/http/mime_negotiation.rb:60:in `formats' /Users/weppos/Mirrors/rails/actionpack/test/dispatch/request_test.rb:891:in `block in <class:RequestFormat>' See GH-29983 * Capture parameter parsing error output and test it This change prevents the log to be displayed in the tests. Moreover, the assertion against the debug ensures that the test effectively triggers the parsing error as expected. * Use a generic value in the test * Switch to assert_match [Simone Carletti + Rafael Mendonça França]
* | | Added a phone_to helper method, on the style of mail_to and sms_to. (#36775)Pietro Moro2019-07-263-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added a phone_to helper method, on the style of mail_to and sms_to. It creates an anchor tag with the href set to tel: *here your number* which, when clicked on a mobile phone, or on a desktop with a supported application, lets the phone app kick in, and it prepopulates it with the phone number specified. [Pietro Moro + Rafael Mendonça França]
* | | Merge pull request #36254 from sharang-d/remove-named-helpersRafael França2019-07-265-14/+14
|\ \ \ | | | | | | | | Use a single term instead of all terms used to describe path and URL helpers together
| * | | Use a single term instead of all terms used to describe path and URL helpers ↵Sharang Dashputre2019-07-265-14/+14
| | | | | | | | | | | | | | | | together
* | | | Merge pull request #36702 from cpruitt/raise-on-transliterate-ascii-8bitRafael França2019-07-262-1/+75
|\ \ \ \ | | | | | | | | | | Handle invalid string encodings and characters in ActiveSupport::Inflector.transliterate
| * | | | Remove comments in test fileCliff Pruitt2019-07-261-7/+0
| | | | |
| * | | | Handle GB18030 strings with invalid characters in transliterateCliff Pruitt2019-07-262-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GB18030 is Unicode compatible and covers all Unicode code points so we can temporarily convert GB18030 strings to UTF-8 to perform the transliteration. After transliterating we want to convert back to GB18030. In all cases of transcoding, we replace invalid or undefined characters with the default replacement character ("?"). This is in line with the behavior of tidy_bytes which is used on the UTF-8 string before transliterating.
| * | | | Handle US-ASCII strings with invalid characters in transliterateCliff Pruitt2019-07-262-19/+26
| | | | | | | | | | | | | | | | | | | | US-ASCII is a subset of UTF-8 so we can temporarily convert US-ASCII strings to UTF-8 to perform the transliteration. After we've converted characters to ASCII representations, we can set the encoding back to US-ASCII to return the same encoding we accepted.
| * | | | Add encoding tests for ActiveSupport::Inflector.transliterateCliff Pruitt2019-07-261-0/+57
| | | | |
| * | | | Raise errors for ASCII-8BIT encoding in ActiveSupport::Inflector::transliterateCliff Pruitt2019-07-262-0/+12
| |/ / / | | | | | | | | | | | | Adds ArgumentErrors to `ActiveSupport::Inflector::transliterate` if a string is with ASCII-8BIT which will raise an error in `unicode_normalize`.
* | | | Merge pull request #36777 from Edouard-chin/ec-git-pretty-credentialsRafael França2019-07-264-9/+185
|\ \ \ \ | | | | | | | | | | Prettify diff generated by git for encrypted file:
| * | | | Prettify diff generated by git for encripted file:Edouard CHIN2019-07-264-9/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - @sinsoku had the idea and started implementing it few months ago but sadly didn't finish it. This PR is taking over his work. The credentials feature has changed a lot since @sinsoku opened hi PR, it was easier to just restart from scratch instead of checking out his branch. Sinsoku will get all the credit he deserves for this idea :) TL;DR on that that feature is to make the `git diff` or `git log` of encrypted files to be readable. The previous implementation was only setting up the git required configuration for the first time Rails was bootstraped, so I decided to instead provide the user a choice to opt-in for readable diff credential whenever a user types the `bin/rails credentials:edit` command. The question won't be asked in the future the user has already answered or if the user already opted in. Co-authored-by: Takumi Shotoku <insoku.listy@gmail.com>
* | | | | Merge pull request #36779 from Shopify/optimize-url-helper-creationRafael França2019-07-261-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Optimize Journey::Route#glob?
| * | | | | Optimize Journey::Route#glob?Jean Boussier2019-07-261-1/+1
| | | | | |
* | | | | | Merge pull request #36776 from ↵Rafael França2019-07-262-3/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | giraffate/fix_join_middle_table_alias_when_using_HABTM Fix join middle table alias when using HABTM
| * | | | | | Fix join middle table alias when using HABTMTakayuki Nakata2019-07-262-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In using HABTM, join middle table alias is combined with the associated models name without sort, while middle table name is combined with those models name with sort. Fixes #36742.
* | | | | | | Merge pull request #36764 from ↵Rafael França2019-07-262-0/+19
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | willianveiga/feature/inputs-inside-disabled-fieldset-are-not-submited-on-remote-true-forms Inputs inside disabled fieldset are not submited on remote: true forms
| * | | | | | | Add test for submitted fields within disabled fieldsetsWillian Gustavo Veiga2019-07-261-0/+18
| | | | | | | |
| * | | | | | | Issue #36728 - Inputs inside disabled fieldset are not submited on remote: ↵Willian Gustavo Veiga2019-07-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | true forms
* | | | | | | | Merge pull request #36213 from st0012/fix-25842Rafael França2019-07-265-7/+60
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Add `Vary: Accept` header when using `Accept` header for response
| * | | | | | | Add `Vary: Accept` header when renderingst00122019-07-265-7/+60
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem description (quoted from @rafaelfranca's excellent explanation in https://github.com/rails/jquery-ujs/issues/318#issuecomment-88129005): > Let say that we requested /tasks/1 using Ajax, and the previous page has the same url. When we click the back button the browser tries to get the response from its cache and it gets the javascript response. With vary we "fix" this behavior because we are telling the browser that the url is the same but it is not from the same type what will skip the cache. And there's a Rails issue discussing about this problem as well https://github.com/rails/rails/issues/25842 Also, according to [RFC 7231 7.1.4](https://tools.ietf.org/html/rfc7231#section-7.1.4) > An origin server SHOULD send a Vary header field when its algorithm > for selecting a representation varies based on aspects of the request > message other than the method and request target we should add `Vary: Accept` header when determining content based on the `Accept` header. Although adding such header by default could cause unnecessary cache invalidation. But this PR only adds the header if: - The format param is not provided - The request is a `xhr` request - The request has accept headers and the headers are valid So if the user - sends request with explicit format, like `/users/1.json` - or sends a normal request (non xhr) - or doesn't specify accept headers then the header won't be added. See the discussion in https://github.com/rails/rails/issues/25842 and https://github.com/rails/rails/pull/36213 for more details.
* | | | | | | Merge pull request #35992 from jduff/include_bccRafael França2019-07-264-1/+39
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix Bcc header missing with emails from conductor and test helpers
| * | | | | | | Fix Bcc header missing with emails from conductor and test helpersJohn Duff2019-07-264-1/+39
| |/ / / / / /
* | | | | | | Merge pull request #36778 from ↵Rafael França2019-07-261-2/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | abhaynikam/remove-unwanted-javascript-compile-from-test Removed webpacker:compile step from scaffold test as it is not required
| * | | | | | | Removed webpacker:compile step from scaffold test as it is not required and ↵Abhay Nikam2019-07-261-2/+0
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | assets are already precompiled in build_app step
* | | | | | | Merge pull request #36372 from instructure-bridge/6-0-stableRafael França2019-07-262-8/+21
| | | | | | | | | | | | | | | | | | | | | Don't break configurations.each, .first before the deprecation period
* | | | | | | Merge pull request #36771 from ajn123/add-documentation-for-csrf-javascriptRafael França2019-07-261-0/+18
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | [ci skip] add CSRF token explanation for javascript documentation
| * | | | | | | [ci skip] add CSRF token explanation for javascript documentationajn1232019-07-261-0/+18
| | | | | | | |
* | | | | | | | Merge pull request #36772 from sharang-d/default-for-digestRafael França2019-07-261-1/+1
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Add a default value for arg `format` in `ActionView::Digestor.digest()`
| * | | | | | | Add a default value for arg `format` in `ActionView::Digestor.digest()`Sharang Dashputre2019-07-261-1/+1
|/ / / / / / /
* | | | | | | Merge pull request #36300 from okuramasafumi/make-handle-options-privateRafael França2019-07-261-22/+22
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Make `handle_options` method private
| * | | | | | | Make `handle_options` method privateOKURA Masafumi2019-05-181-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `handle_options` method in `CookieJar` is used internal only, so it should be private.
* | | | | | | | Merge pull request #35334 from sharang-d/digest-doc-updateRafael França2019-07-261-3/+4
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Update comment for ActionView::Digestor.digest [ci skip]
| * | | | | | | | Update comment for ActionView::Digestor.digest [ci skip]Sharang Dashputre2019-04-161-3/+4
| | | | | | | | |
* | | | | | | | | Merge pull request #36180 from jonathanhefner/optimize-string-fromRafael França2019-07-251-2/+3
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Avoid extra allocation in String#from and #to
| * | | | | | | | | Avoid extra allocation in String#from and #toJonathan Hefner2019-05-051-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes unnecessary Range object allocations for a significant speed-up. String#from Comparison: new: 3378594.0 i/s old: 2380129.8 i/s - 1.42x slower String#to Comparison: new: 2866175.7 i/s old: 2304406.4 i/s - 1.24x slower
* | | | | | | | | | Use correct variable in `secure_compare!`yuuji.yaginuma2019-07-262-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Messages::Rotator` has `@on_rotation` not `@rotation`. https://github.com/rails/rails/blob/72bc0806a7b378cd544e8fbf7ab22d74b7913ffb/activesupport/lib/active_support/messages/rotator.rb#L11
* | | | | | | | | | Merge pull request #36005 from shioyama/plain_matcher_firstRafael França2019-07-251-9/+1
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / |/| | | | | | | | | Make plain matcher match first, not last
| * | | | | | | | | Remove plain methodChris Salzberg2019-05-311-4/+0
| | | | | | | | | |
| * | | | | | | | | Make plain matcher match first, not lastChris Salzberg2019-05-311-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code takes the "plain" matcher with no prefix and suffix and puts it at the end of the matchers array such that it is de-prioritized among all matchers. The comment explaining this code, originally from commimt 8b8b7143efe dated in 2011, is in a context where detection from matchers happened immediately. In that situation, the plain matcher would indeed always match first and no others would ever be used. However, the current code does not immediately detect one match but rather maps matchers to matches for the method_name. Detection only happens for matches whose attribute name is valid. In this context, there is no need to bump the plain matcher to the end of the array, since it will only be selected if the attribute name it catpures matches a valid attribute name.
* | | | | | | | | | Merge pull request #36504 from mtsmfm/mtsmfm/fix-flaky-render-testRafael França2019-07-251-4/+20
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Fix flaky test ActionControllerBaseRenderTest#test_direct_render_to_string
| * | | | | | | | | | Fix flaky test ActionControllerBaseRenderTest#test_direct_render_to_stringFumiaki MATSUSHIMA2019-07-261-4/+20
|/ / / / / / / / / /