aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Different versions of ffprobe can return subtly different video lengthsWill Jessop2019-07-141-1/+1
| | | | Specify a range so we can take this into account, but not get caught out by 0, nil or way too large values.
* Merge pull request #36675 from kamipo/fix_activestorage_failureRyuta Kamizono2019-07-141-1/+0
|\ | | | | Fix activestorage CI failure due to ffprove version differece
| * Fix activestorage CI failure due to ffprove version differeceRyuta Kamizono2019-07-141-1/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our CI environment is upgraded from stretch to buster then ffprove version is also upgraded from 3.2.14 to 4.1.3. https://packages.debian.org/stretch/ffmpeg https://packages.debian.org/buster/ffmpeg Somehow those ffprove returns different metadata for `rotated_video.mp4`. ``` $ ffprobe -print_format json -show_streams -v error rotated_video.mp4 > ffprobe41.json $ diff -ub ffprobe32.json ffprobe41.json --- ffprobe32.json 2019-07-14 20:02:13.000000000 +0900 +++ ffprobe41.json 2019-07-14 19:59:08.000000000 +0900 @@ -27,8 +27,8 @@ "time_base": "1/17594", "start_pts": 3976, "start_time": "0.225986", - "duration_ts": 91981, - "duration": "5.227975", + "duration_ts": 88000, + "duration": "5.001705", "bit_rate": "321546", "bits_per_raw_sample": "8", "nb_frames": "44", @@ -78,8 +78,8 @@ "time_base": "1/44100", "start_pts": 0, "start_time": "0.000000", - "duration_ts": 227865, - "duration": "5.167007", + "duration_ts": 227850, + "duration": "5.166667", "bit_rate": "109732", "max_bit_rate": "109732", "nb_frames": "223", ``` In the case on the `test "analyzing a rotated video"`, most important part is `assert_equal 90, metadata[:angle]`, the accidental difference of duration for ffprove version is out of scope for the test.
* Merge pull request #36658 from Shopify/duplicable-changesRyuta Kamizono2019-07-142-118/+8
|\ | | | | Remove dead code in duplicable.rb
| * Implement UnboundMethod#duplicable?Jean Boussier2019-07-122-2/+11
| |
| * Remove dead code in duplicable.rbJean Boussier2019-07-111-120/+1
| |
* | Update guide for render file:John Hawthorn2019-07-131-19/+17
| | | | | | | | | | | | | | | | | | | | Most of this section was written from the time that render file: was the default, before CVE-2016-0752. This updates the guide to the Rails 6 `render file:` behaviour, moves it to a more appropriate part of the file. [ci skip]
* | Remove obsolete or discouraged render examplesJohn Hawthorn2019-07-131-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Most of these examples no longer work. The ability to render an absolute path was removed as part of CVE-2016-0752. In Rails 6 we changed `render file:` to only take exact paths and always to render them as raw files. Rendering a template with its extensions _is_ supported, but I don't think should be recommended. This also removes `render file:` from an example where it isn't relevant. [ci skip]
* | let the upgrading guide point to the autoloading guide for STIs [skip ci]Xavier Noria2019-07-131-14/+1
| |
* | simplifies Zeitwerk compat instructions in upgrading guide [skip ci]Xavier Noria2019-07-121-35/+5
| |
* | improves zeitwerk:checkXavier Noria2019-07-121-73/+25
| |
* | ports edits to the upgrading guide [skip ci]Xavier Noria2019-07-121-0/+23
| |
* | make sure zeitwerk:check only deals with directories [closes #36461]Xavier Noria2019-07-121-4/+5
| |
* | active_support/deprecation has to be already required via ↵Akira Matsuda2019-07-129-12/+0
| | | | | | | | active_support/rails.rb
* | active_support/deprecation is not in use hereAkira Matsuda2019-07-122-2/+0
| |
* | active_support/rails has to be required via abstract_controller.rbAkira Matsuda2019-07-121-1/+0
| |
* | A type class or nil has to respond_to :to_sAkira Matsuda2019-07-121-2/+1
| |
* | No Woman, No tryAkira Matsuda2019-07-123-3/+0
| |
* | try (Just a Little Bit Harder)Akira Matsuda2019-07-121-2/+1
| |
* | active_support/dependencies/autoload is already required via active_support.rbAkira Matsuda2019-07-124-7/+0
| |
* | Make sure to require active_support.rb before requiring active_support/rails.rbAkira Matsuda2019-07-121-0/+1
| |
* | These are already required via rails/command.rbAkira Matsuda2019-07-121-2/+0
| |
* | minor edit [skip ci]Xavier Noria2019-07-111-1/+1
| |
* | completes first version of the new autoloading guide [skip ci]Xavier Noria2019-07-111-14/+78
| |
* | Improve changelog entry, remove extraneous word [ci skip]Carlos Antonio da Silva2019-07-111-2/+2
|/
* Do not use hard tabs in CHANGELOGs [ci skip]Ryuta Kamizono2019-07-111-6/+6
| | | | | | It doesn't work as indentation preperly. https://github.com/rails/rails/blob/ba7634d304008a4e6170fd701a2b7e75e1d83aea/activesupport/CHANGELOG.md
* Merge pull request #36647 from ↵Ryuta Kamizono2019-07-112-1/+6
|\ | | | | | | | | | | giraffate/fix_exists_with_distinct_and_offset_and_order_in_postgresql Fix `relation.exists?` with giving `distinct`, `offset` and `order` for joined table
| * Fix `relation.exists?` with giving `distinct`, `offset` and `order` for ↵Takayuki Nakata2019-07-102-1/+6
| | | | | | | | | | | | | | | | | | | | | | joined table The error happens in PostgreSQL when using `relation.exists?` with `distinct`, `offset` and `order` for joined table. However, the error does not happen if either `distinct` or `offset` is removed. This behavior is confusing. Fixes #36632
* | Merge pull request #36653 from y-yagi/check_error_number_instead_of_messageYuji Yaginuma2019-07-112-2/+6
|\ \ | | | | | | MySQL: Check error number instead of a message
| * | MySQL: Check error number instead of a messageyuuji.yaginuma2019-07-112-2/+6
| |/ | | | | | | To be able to check regardless of locale.
* | Adds support for configuring HTTP Feature Policy (#33439)Jacob Bednarz2019-07-1014-1/+608
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A HTTP feature policy is Yet Another HTTP header for instructing the browser about which features the application intends to make use of and to lock down access to others. This is a new security mechanism that ensures that should an application become compromised or a third party attempts an unexpected action, the browser will override it and maintain the intended UX. WICG specification: https://wicg.github.io/feature-policy/ The end result is a HTTP header that looks like the following: ``` Feature-Policy: geolocation 'none'; autoplay https://example.com ``` This will prevent the browser from using geolocation and only allow autoplay on `https://example.com`. Full feature list can be found over in the WICG repository[1]. As of today Chrome and Safari have public support[2] for this functionality with Firefox working on support[3] and Edge still pending acceptance of the suggestion[4]. #### Examples Using an initializer ```rb # config/initializers/feature_policy.rb Rails.application.config.feature_policy do |f| f.geolocation :none f.camera :none f.payment "https://secure.example.com" f.fullscreen :self end ``` In a controller ```rb class SampleController < ApplicationController def index feature_policy do |f| f.geolocation "https://example.com" end end end ``` Some of you might realise that the HTTP feature policy looks pretty close to that of a Content Security Policy; and you're right. So much so that I used the Content Security Policy DSL from #31162 as the starting point for this change. This change *doesn't* introduce support for defining a feature policy on an iframe and this has been intentionally done to split the HTTP header and the HTML element (`iframe`) support. If this is successful, I'll look to add that on it's own. Full documentation on HTTP feature policies can be found at https://wicg.github.io/feature-policy/. Google have also published[5] a great in-depth write up of this functionality. [1]: https://github.com/WICG/feature-policy/blob/master/features.md [2]: https://www.chromestatus.com/feature/5694225681219584 [3]: https://bugzilla.mozilla.org/show_bug.cgi?id=1390801 [4]: https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/33507907-support-feature-policy [5]: https://developers.google.com/web/updates/2018/06/feature-policy
* | Merge pull request #36645 from Shopify/arel-dispatch-cacheRyuta Kamizono2019-07-111-1/+1
|\ \ | | | | | | Share the Arel dispatch cache between connections
| * | Share the Arel dispatch cache between connectionsJean Boussier2019-07-101-1/+1
| | |
* | | Merge pull request #36637 from Shopify/share-quote-cacheRyuta Kamizono2019-07-114-7/+14
|\ \ \ | | | | | | | | Share the column and table name quote cache between connections
| * | | Share the column and table name quote cache between connectionsJean Boussier2019-07-094-7/+14
| |/ /
* | | Merge pull request #36618 from engwan/fix-query-cache-with-shared-ar-connectionEileen M. Uchitelle2019-07-103-5/+26
|\ \ \ | | | | | | | | Fix query cache when using shared connections
| * | | Fix query cache when using shared connectionsHeinrich Lee Yu2019-07-083-5/+26
| | | | | | | | | | | | | | | | | | | | Enables the query cache on the correct connection when shared connections across threads are enabled
* | | | fixes link [skip ci]Xavier Noria2019-07-101-1/+1
| | | |
* | | | fixes link [skip ci]Xavier Noria2019-07-101-1/+1
| |_|/ |/| |
* | | updates the guides table of contents [skip ci]Xavier Noria2019-07-091-2/+6
| | |
* | | renames and revises the autoloading guide for classic mode [skip ci]Xavier Noria2019-07-091-0/+1351
| | |
* | | autoloading guide revamped for Zeitwerk mode [skip ci]Xavier Noria2019-07-091-1254/+108
| |/ |/| | | | | This is a first draft only, needs polishing for final.
* | Merge pull request #36612 from ↵Yuji Yaginuma2019-07-091-1/+1
|\ \ | | | | | | | | | | | | y-yagi/make_setup_works_when_using_with_locales_other_than_en Make "bin/setup" works when using PostgreSQL with locales other than en locale
| * | Make "bin/setup" works when using PostgreSQL with locales other than en localeyuuji.yaginuma2019-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PostgreSQL adapter uses an error message to determine if a database exists or not. https://github.com/rails/rails/blob/74ef67b16de67d2ae2f996e50a18a93aebf68fe6/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L49 However, this message is properly converted according to the locale. So this check does not work correctly for non-en locales. As a result, `db:prepare` cannot correctly determine if a database exists, and `bin/setup`, which depends on the task, does not work correctly if the database does not exist. It checks to exist if the "does not exist" exists, but that message is also used in other error messages(e.g. "role does not exist"). So cannot check correctly also in en locale. https://github.com/postgres/postgres/blob/master/src/backend/po/ja.po#L10542 It would be fine could check the status, but in my understanding, when a connecting fails, only the status `CONNECTION_BAD` be used, and it seems that details cannot be checked. https://www.postgresql.org/docs/11/libpq-status.html#LIBPQ-PQSTATUS I fixed to check whether the error message contains a database name. This is probably not accurate but can check it better now.
* | | Merge pull request #36624 from ultrawebmarketing/patch-1Ryuta Kamizono2019-07-091-2/+2
|\ \ \ | | | | | | | | | | | | | | | | update example url for add_source [ci skip]
| * | | update example url for add_sourceultrawebmarketing2019-07-081-2/+2
| | | | | | | | | | | | http://code.whytheluckystiff.net is now just a spam site. Use http://gems.github.com as an example instead.
* | | | Merge pull request #36627 from robertomiranda/patch-4Ryuta Kamizono2019-07-091-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Fix indentation 💇‍♀️ [ci skip]
| * | | Fix indentation 💇‍♀️Roberto Miranda2019-07-081-1/+1
|/ / / | | | | | | Ref https://github.com/rails/rails/pull/36621#discussion_r301208961
* | | Merge pull request #36471 from itsWill/add_database_exist_methodGuillermo Iguaran2019-07-088-0/+71
|\ \ \ | | | | | | | | Add database_exists? method to connection adapters
| * \ \ Merge branch 'master' into add_database_exist_methodGuillermo Iguaran2019-07-0892-221/+795
| |\ \ \ | |/ / / |/| | |