Friday, July 29, 2022

Cache invalidation via ActiveStorage::Blob, Conditionally executing has_secure_password, etc

Posted by Emmanuel Hayford

Maadwo! Emmanuel with some updates on activities in Rails over the last week.

Allow passing Hash on secure password validations You can now pass an option hash to has_secure_password. If the option evaluates to true, then has_secure_password executes along with validations, otherwise it doesn’t. 

Touch model records after ActiveStorage::Blob is analyzed Models directly associated to an ActiveStorage::Blob will now be touched if the blob in question is re-analysed, invalidating a model’s cache and fixing a race condition where a record can be requested and have a cache entry built.

Generate master.key even when require_master_key Previously, if config.require_master_key was set to true in config/application.rb, the credentials:edit command couldn’t automatically generate a master key file, this PR fixes that. The same fix also applies to encrypted:edit.

Return Promise<void> from Turbo.visit When consumer applications navigate through the Turbo.visit, a Promise<void> is now returned that will resolve when the visit is complete. If a visit fails or is cancelled, the Promise will be rejected.

That’s it for this week. Until next time!

13 people contributed to Rails since the last time.