aboutsummaryrefslogtreecommitdiffstats
path: root/activestorage
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.
* 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.
* Unify to use 4 spaces indentation in CHANGELOGs [ci skip]Ryuta Kamizono2019-06-051-41/+42
| | | | | Especially, somehow `CHANGELOG.md` in actiontext and activestorage in master branch had used 3 spaces indentation.
* Add a changelog entry for 165785eGeorge Claghorn2019-05-301-2/+11
|
* Skip image analysis on ImageMagick errorGeorge Claghorn2019-05-301-0/+3
|
* Add :allow_nil option to delegate_missing_to; use in ActiveStorageMatt Tanous2019-05-232-1/+16
| | | | attachment
* Mirror direct uploadsGeorge Claghorn2019-05-2211-66/+135
|
* S3: permit uploading files larger than 5 GBGeorge Claghorn2019-05-163-6/+69
| | | Use multipart uploads for files larger than 100 MB. Dynamically calculate part size based on total object size and maximum part count.
* Remove outdated cross-origin redirection testsGeorge Claghorn2019-05-152-55/+0
|
* Inline anemic methodsGeorge Claghorn2019-05-151-10/+4
|
* Halve string allocations in S3 streaming and partial downloadsGeorge Claghorn2019-04-261-2/+2
| | | | See 19770d6.
* Start Rails 6.1 developmentRafael Mendonça França2019-04-243-187/+4
|
* Fix markup in CHANGELOGs [ci skip]Ryuta Kamizono2019-04-251-2/+4
| | | | Need to new line to break line in the markdown.
* Update changelog for a bug-fix to read better [ci skip]Sharang Dashputre2019-04-241-1/+1
|
* Don't fail ImageAnalyzer on unsupported typesGuilherme Mansur2019-04-243-4/+24
| | | | | | | | | | Fix: #36065 The IamgeAnalyzer passes a image to ImageMagick without checking if the image is supported by ImageMagick. This patch checks that image is supported and if not logs an error and returns an empty hash instead of raising an error. This is the same error handling we do when we encounter a LoadError when mini_magick is not installed.
* Merge pull request #36045 from yfxie/fix-normalize-the-hash-of-transformationsGeorge Claghorn2019-04-212-1/+9
|\ | | | | ActiveStorage - normalize the hash of transformations
| * normalize the hash of transformationsYi Feng2019-04-202-1/+9
| |
* | Allow ActiveStorage to generate variants of BMP imagesYounes SERRAJ2019-04-214-0/+17
|/
* Output junit format test reportFumiaki MATSUSHIMA2019-04-041-0/+2
|
* url -> URL where apt except inside actionpack/Sharang Dashputre2019-04-014-8/+8
|
* Revert "Add ActiveStorage.service_configurations and ActiveStorage.service"George Claghorn2019-03-314-36/+30
| | | | This reverts commit 002684e36e813469c3585e193f0698784c88278b.
* Add ActiveStorage.service_configurations and ActiveStorage.serviceGeorge Claghorn2019-03-314-30/+36
| | | | | | * Allow plugins to access the global service and alternative service configs before ActiveStorage::Blob loads. * Make ActiveStorage.service_configurations the default second argument to ActiveStorage::Service.configure. Plugins that just want to use an alternative service defined in config/storage.yml needn't pass in the config themselves.
* Require railties for all Active Storage dependenciesGeorge Claghorn2019-03-301-0/+4
|
* Specify Active Storage's dependency on Active JobGeorge Claghorn2019-03-301-1/+2
|
* Add load hook for ActiveStorage::AttachmentGeorge Claghorn2019-03-282-2/+4
|
* Add ActiveStorage::Service#openGeorge Claghorn2019-03-286-30/+32
|
* Traducir del: inglésEugeniu Tambur2019-03-191-1/+1
| | | | | 44/5000 Checking for the existence of only one table
* Fix for migration active_storage migrationEugeniu Tambur2019-03-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "active_storage_attachments" does not exist* Updating to rails 6.0.0.beta3 if the command rake app:update is used a new migration file is generated: ```ruby # db/migrate/add_foreign_key_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb class AddForeignKeyConstraintToActiveStorageAttachmentsForBlobId < ActiveRecord::Migration[6.0] def up unless foreign_key_exists?(:active_storage_attachments, column: :blob_id) add_foreign_key :active_storage_attachments, :active_storage_blobs, column: :blob_id end end end ``` **If the project does not have previously installed active storage** this mgiration causes an error: ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "active_storage_attachments" does not exist **Error output:** PG::UndefinedTable: ERROR: relation "active_storage_attachments" does not exist activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `async_exec' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `block (2 levels) in execute' activesupport-6.0.0.beta3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' activesupport-6.0.0.beta3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' activesupport-6.0.0.beta3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:89:in `block in execute' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract_adapter.rb:643:in `block (2 levels) in log' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract_adapter.rb:642:in `block in log' activesupport-6.0.0.beta3/lib/active_support/notifications/instrumenter.rb:23:in `instrument' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract_adapter.rb:633:in `log' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/postgresql/database_statements.rb:88:in `execute' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/schema_statements.rb:977:in `add_foreign_key' activerecord-6.0.0.beta3/lib/active_record/migration.rb:875:in `block in method_missing' activerecord-6.0.0.beta3/lib/active_record/migration.rb:843:in `block in say_with_time' activerecord-6.0.0.beta3/lib/active_record/migration.rb:843:in `say_with_time' activerecord-6.0.0.beta3/lib/active_record/migration.rb:864:in `method_missing' /db/migrate/20190315102607_add_foreign_key_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb:5:in `up' activerecord-6.0.0.beta3/lib/active_record/migration.rb:816:in `exec_migration' activerecord-6.0.0.beta3/lib/active_record/migration.rb:797:in `block (2 levels) in migrate' activerecord-6.0.0.beta3/lib/active_record/migration.rb:796:in `block in migrate' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `with_connection' activerecord-6.0.0.beta3/lib/active_record/migration.rb:795:in `migrate' activerecord-6.0.0.beta3/lib/active_record/migration.rb:985:in `migrate' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1293:in `block in execute_migration_in_transaction' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1344:in `block in ddl_transaction' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/database_statements.rb:265:in `block in transaction' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/transaction.rb:272:in `block in within_new_transaction' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/transaction.rb:270:in `within_new_transaction' activerecord-6.0.0.beta3/lib/active_record/connection_adapters/abstract/database_statements.rb:265:in `transaction' activerecord-6.0.0.beta3/lib/active_record/transactions.rb:212:in `transaction' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1344:in `ddl_transaction' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1292:in `execute_migration_in_transaction' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1264:in `block in migrate_without_lock' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1263:in `each' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1263:in `migrate_without_lock' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1211:in `block in migrate' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1364:in `with_advisory_lock' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1211:in `migrate' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1044:in `up' activerecord-6.0.0.beta3/lib/active_record/migration.rb:1019:in `migrate' activerecord-6.0.0.beta3/lib/active_record/tasks/database_tasks.rb:191:in `migrate' activerecord-6.0.0.beta3/lib/active_record/railties/databases.rake:78:in `block (3 levels) in <main>' activerecord-6.0.0.beta3/lib/active_record/railties/databases.rake:76:in `each' activerecord-6.0.0.beta3/lib/active_record/railties/databases.rake:76:in `block (2 levels) in <main>' railties-6.0.0.beta3/lib/rails/commands/rake/rake_command.rb:23:in `block in perform' railties-6.0.0.beta3/lib/rails/commands/rake/rake_command.rb:20:in `perform' railties-6.0.0.beta3/lib/rails/command.rb:48:in `invoke' railties-6.0.0.beta3/lib/rails/commands.rb:18:in `<main>' bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require' bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi' bootsnap-1.4.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:83:in `register' bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi' bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require' activesupport-6.0.0.beta3/lib/active_support/dependencies.rb:297:in `block in require' activesupport-6.0.0.beta3/lib/active_support/dependencies.rb:263:in `load_dependency' activesupport-6.0.0.beta3/lib/active_support/dependencies.rb:297:in `require' bin/rails:4:in `<main>'
* GCS service: skip unnecessary bucket lookupsGeorge Claghorn2019-03-141-1/+1
|
* Merge tag 'v6.0.0.beta3'eileencodes2019-03-133-2/+7
|\ | | | | | | v6.0.0.beta3 release
| * Prep releaseeileencodes2019-03-113-2/+7
| | | | | | | | | | | | | | * Update RAILS_VERSION * Bundle * rake update_versions * rake changelog:header
* | Squish the deprecation messages across the codebasePrathamesh Sonpatki2019-03-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sample example -> Before: prathamesh@Prathameshs-MacBook-Pro-2 blog *$ rails server thin DEPRECATION WARNING: Passing the Rack server name as a regular argument is deprecated and will be removed in the next Rails version. Please, use the -u option instead. After: prathamesh@Prathameshs-MacBook-Pro-2 squish_app *$ rails server thin DEPRECATION WARNING: Passing the Rack server name as a regular argument is deprecated and will be removed in the next Rails version. Please, use the -u option instead.
* | Merge pull request #35559 from ↵Kasper Timm Hansen2019-03-091-0/+2
|\ \ | | | | | | | | | | | | ashishprajapati/ashishprajapati/important_textual_improvements Added missing guide links in documentation and minor wording fix
| * | Added missing guide links in README documentation and minor wording fix [ci ↵ashishprajapati2019-03-101-0/+2
| | | | | | | | | | | | skip]
* | | Fix links in gemspec and docs from http to https.Abhay Nikam2019-03-091-1/+1
| | |
* | | Updated links from http to https in guides, docs, etcAbhay Nikam2019-03-091-2/+2
|/ /
* | Decrypt the ASt test config if availableMatthew Draper2019-03-051-0/+8
| |
* | Merge pull request #35412 from abhchand/correctly-load-blob-associationGeorge Claghorn2019-02-263-0/+7
|\ \ | |/ |/| Ensure that the `_blob` association is properly loaded when attaching `::One`
| * [ActiveStorage] Ensure that the `_blob` association is properly loaded when ↵Abhishek Chandrasekhar2019-02-263-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | attaching `::One` Consider a model with `One` and `Many` attachments configured: class User < ActiveRecord::Base has_one_attached :avatar has_many_attached :highlights end === One Attachment After attaching `One` attachment (`:avatar`), we can see that the associated `_blob` record (`:avatar_blob`) still returns as `nil`. user.avatar.attach(blob) user.avatar_attachment.present? => true user.avatar_blob.present? => false # Incorrect! This is a false negative. It happens because after the attachment and blob are built: 1. The record already has its `_blob` association loaded, as `nil` 2. the `::Attachment` is associated with the record but the `::Blob` only gets associated with the `::Attachment`, not the record itself In reality, the blob does in fact exist. We can verify this as follows: user.avatar.attach(blob) user.avatar_attachment.blob.present? => true # Blob does exist! The fix in this change is to simply assign the `::Blob` when assigning the `::Attachment`. After this fix is applied, we correctly observe: user.avatar.attach(blob) user.avatar_attachment.present? => true user.avatar_blob.present? => true # Woohoo! === Many Attachments We don't see this issue with `Many` attachments because the `_blob` association is already loaded as part of attaching more/newer blobs. user.highlights.attach(blob) user.highlights_attachments.any? => true user.highlights_blobs.any? => true
* | Preparing for 6.0.0.beta2 releaseRafael Mendonça França2019-02-253-2/+7
|/
* Add missing require to active_storage.rbEugene Kenny2019-02-201-0/+1
| | | | | | | Since b21f50d8ae36d9b50b673579e17bccbe55363b34, requiring active_storage on its own has failed with the following error: activestorage/lib/active_storage.rb:55:in `<module:ActiveStorage>': undefined method `minutes' for 5:Integer (NoMethodError)
* Delegated path_for to primary in the MirrorServiceAbhay Nikam2019-02-142-1/+5
|
* Allow configuring the Azure Storage service with extra client optionsgarytaylor2019-02-041-2/+2
|
* Merge pull request #35043 from simoleone/activestorage/s3/content-typeEileen M. Uchitelle2019-02-012-2/+20
|\ | | | | include the content type when uploading to S3
| * include the content type when uploading to S3Simo Leone2019-01-242-2/+20
| |
* | ActiveStorage typo fix.alkesh262019-01-311-1/+1
| |
* | Fix usage documentation in VideoAnalyzerCarlos Ramirez III2019-01-281-1/+1
| | | | | | The code snippet within the usage documentation comment used the wrong object namespace for the ActiveStorage::Analyzer::VideoAnalyzer
* | Add CHANGELOG entries for npm package renames [ci skip]Javan Makhmali2019-01-281-0/+6
| |
* | Prefer ImageProcessing's resize_to_limit macro over resize_to_fitGeorge Claghorn2019-01-245-12/+12
|/ | | | Don't upsize images smaller than the specified dimensions.
* Revert ensure external redirects are explicitly allowedGannon McGibbon2019-01-222-2/+2
|