From 71dbd7288cd060465033ffc42a918b62ac47006f Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Sun, 7 Mar 2021 23:55:32 -0800 Subject: [PATCH 01/47] update_attributes -> update --- app/models/users/user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/users/user.rb b/app/models/users/user.rb index f498643b..893acb68 100644 --- a/app/models/users/user.rb +++ b/app/models/users/user.rb @@ -277,7 +277,7 @@ class User < ApplicationRecord params.delete(:username) end - result = update_attributes(params, *options) + result = update(params, *options) clean_up_passwords result end From db6dba8f32eb17d129b90f595f157d6e1fbb0872 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Mon, 8 Mar 2021 00:04:07 -0800 Subject: [PATCH 02/47] Upgrade to rails 6.1 --- Gemfile.lock | 128 ++++++++++++++++++++++++++------------------------- 1 file changed, 66 insertions(+), 62 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1f6b5058..cec52c49 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -41,38 +41,40 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (6.0.3.4) - actionpack (= 6.0.3.4) + actioncable (6.1.3) + actionpack (= 6.1.3) + activesupport (= 6.1.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.0.3.4) - actionpack (= 6.0.3.4) - activejob (= 6.0.3.4) - activerecord (= 6.0.3.4) - activestorage (= 6.0.3.4) - activesupport (= 6.0.3.4) + actionmailbox (6.1.3) + actionpack (= 6.1.3) + activejob (= 6.1.3) + activerecord (= 6.1.3) + activestorage (= 6.1.3) + activesupport (= 6.1.3) mail (>= 2.7.1) - actionmailer (6.0.3.4) - actionpack (= 6.0.3.4) - actionview (= 6.0.3.4) - activejob (= 6.0.3.4) + actionmailer (6.1.3) + actionpack (= 6.1.3) + actionview (= 6.1.3) + activejob (= 6.1.3) + activesupport (= 6.1.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.0.3.4) - actionview (= 6.0.3.4) - activesupport (= 6.0.3.4) - rack (~> 2.0, >= 2.0.8) + actionpack (6.1.3) + actionview (= 6.1.3) + activesupport (= 6.1.3) + rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.0.3.4) - actionpack (= 6.0.3.4) - activerecord (= 6.0.3.4) - activestorage (= 6.0.3.4) - activesupport (= 6.0.3.4) + actiontext (6.1.3) + actionpack (= 6.1.3) + activerecord (= 6.1.3) + activestorage (= 6.1.3) + activesupport (= 6.1.3) nokogiri (>= 1.8.5) - actionview (6.0.3.4) - activesupport (= 6.0.3.4) + actionview (6.1.3) + activesupport (= 6.1.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -81,29 +83,31 @@ GEM activerecord (>= 4.0) active_storage_validations (0.9.2) rails (>= 5.2.0) - activejob (6.0.3.4) - activesupport (= 6.0.3.4) + activejob (6.1.3) + activesupport (= 6.1.3) globalid (>= 0.3.6) - activemodel (6.0.3.4) - activesupport (= 6.0.3.4) + activemodel (6.1.3) + activesupport (= 6.1.3) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (6.0.3.4) - activemodel (= 6.0.3.4) - activesupport (= 6.0.3.4) - activestorage (6.0.3.4) - actionpack (= 6.0.3.4) - activejob (= 6.0.3.4) - activerecord (= 6.0.3.4) + activerecord (6.1.3) + activemodel (= 6.1.3) + activesupport (= 6.1.3) + activestorage (6.1.3) + actionpack (= 6.1.3) + activejob (= 6.1.3) + activerecord (= 6.1.3) + activesupport (= 6.1.3) marcel (~> 0.3.1) - activesupport (6.0.3.4) + mimemagic (~> 0.3.2) + activesupport (6.1.3) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) acts_as_list (1.0.3) activerecord (>= 4.2) addressable (2.7.0) @@ -1178,7 +1182,7 @@ GEM domain_name (~> 0.5) http-form_data (2.3.0) http_parser.rb (0.6.0) - i18n (1.8.7) + i18n (1.8.9) concurrent-ruby (~> 1.0) ibm_cloud_sdk_core (1.1.1) concurrent-ruby (~> 1.0) @@ -1253,7 +1257,7 @@ GEM mini_portile2 (2.5.0) mini_racer (0.3.1) libv8 (~> 8.4.255) - minitest (5.14.3) + minitest (5.14.4) mixpanel-ruby (2.2.2) multi_json (1.14.1) multi_test (0.1.2) @@ -1262,7 +1266,7 @@ GEM nenv (0.3.0) nested_form (0.3.2) newrelic_rpm (6.15.0) - nio4r (2.5.5) + nio4r (2.5.7) nokogiri (1.11.1) mini_portile2 (~> 2.5.0) racc (~> 1.4) @@ -1324,20 +1328,20 @@ GEM rack rack-test (1.1.0) rack (>= 1.0, < 3) - rails (6.0.3.4) - actioncable (= 6.0.3.4) - actionmailbox (= 6.0.3.4) - actionmailer (= 6.0.3.4) - actionpack (= 6.0.3.4) - actiontext (= 6.0.3.4) - actionview (= 6.0.3.4) - activejob (= 6.0.3.4) - activemodel (= 6.0.3.4) - activerecord (= 6.0.3.4) - activestorage (= 6.0.3.4) - activesupport (= 6.0.3.4) - bundler (>= 1.3.0) - railties (= 6.0.3.4) + rails (6.1.3) + actioncable (= 6.1.3) + actionmailbox (= 6.1.3) + actionmailer (= 6.1.3) + actionpack (= 6.1.3) + actiontext (= 6.1.3) + actionview (= 6.1.3) + activejob (= 6.1.3) + activemodel (= 6.1.3) + activerecord (= 6.1.3) + activestorage (= 6.1.3) + activesupport (= 6.1.3) + bundler (>= 1.15.0) + railties (= 6.1.3) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -1370,12 +1374,12 @@ GEM sassc-rails (>= 1.3, < 3) rails_serve_static_assets (0.0.5) rails_stdout_logging (0.0.5) - railties (6.0.3.4) - actionpack (= 6.0.3.4) - activesupport (= 6.0.3.4) + railties (6.1.3) + actionpack (= 6.1.3) + activesupport (= 6.1.3) method_source rake (>= 0.8.7) - thor (>= 0.20.3, < 2.0) + thor (~> 1.0) rainbow (3.0.0) rake (13.0.3) rb-fsevent (0.10.4) @@ -1500,8 +1504,8 @@ GEM tilt (2.0.10) timeago_js (3.0.2.2) tribute (3.6.0.0) - tzinfo (1.2.9) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) tzinfo-data (1.2021.1) tzinfo (>= 1.0.0) uglifier (4.2.0) From 014ea1c3f8985c713c45b2460d214e4229e3a341 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Thu, 29 Jul 2021 02:15:50 -0700 Subject: [PATCH 03/47] bundle update --- Gemfile.lock | 1290 ++++++++++++++++++++++++++------------------------ 1 file changed, 673 insertions(+), 617 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c2f13fbe..baecfdc6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -41,40 +41,40 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (6.1.3) - actionpack (= 6.1.3) - activesupport (= 6.1.3) + actioncable (6.1.4) + actionpack (= 6.1.4) + activesupport (= 6.1.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.3) - actionpack (= 6.1.3) - activejob (= 6.1.3) - activerecord (= 6.1.3) - activestorage (= 6.1.3) - activesupport (= 6.1.3) + actionmailbox (6.1.4) + actionpack (= 6.1.4) + activejob (= 6.1.4) + activerecord (= 6.1.4) + activestorage (= 6.1.4) + activesupport (= 6.1.4) mail (>= 2.7.1) - actionmailer (6.1.3) - actionpack (= 6.1.3) - actionview (= 6.1.3) - activejob (= 6.1.3) - activesupport (= 6.1.3) + actionmailer (6.1.4) + actionpack (= 6.1.4) + actionview (= 6.1.4) + activejob (= 6.1.4) + activesupport (= 6.1.4) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.3) - actionview (= 6.1.3) - activesupport (= 6.1.3) + actionpack (6.1.4) + actionview (= 6.1.4) + activesupport (= 6.1.4) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.3) - actionpack (= 6.1.3) - activerecord (= 6.1.3) - activestorage (= 6.1.3) - activesupport (= 6.1.3) + actiontext (6.1.4) + actionpack (= 6.1.4) + activerecord (= 6.1.4) + activestorage (= 6.1.4) + activesupport (= 6.1.4) nokogiri (>= 1.8.5) - actionview (6.1.3) - activesupport (= 6.1.3) + actionview (6.1.4) + activesupport (= 6.1.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -83,31 +83,31 @@ GEM activerecord (>= 4.0) active_storage_validations (0.9.5) rails (>= 5.2.0) - activejob (6.1.3) - activesupport (= 6.1.3) + activejob (6.1.4) + activesupport (= 6.1.4) globalid (>= 0.3.6) - activemodel (6.1.3) - activesupport (= 6.1.3) + activemodel (6.1.4) + activesupport (= 6.1.4) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (6.1.3) - activemodel (= 6.1.3) - activesupport (= 6.1.3) - activestorage (6.1.3) - actionpack (= 6.1.3) - activejob (= 6.1.3) - activerecord (= 6.1.3) - activesupport (= 6.1.3) - marcel (~> 0.3.1) - mimemagic (~> 0.3.2) - activesupport (6.1.3) + activerecord (6.1.4) + activemodel (= 6.1.4) + activesupport (= 6.1.4) + activestorage (6.1.4) + actionpack (= 6.1.4) + activejob (= 6.1.4) + activerecord (= 6.1.4) + activesupport (= 6.1.4) + marcel (~> 1.0.0) + mini_mime (>= 1.1.0) + activesupport (6.1.4) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) acts_as_list (1.0.4) activerecord (>= 4.2) addressable (2.7.0) @@ -116,633 +116,663 @@ GEM rails authority (3.3.0) activesupport (>= 3.0.0) - autoprefixer-rails (9.8.4) - execjs + autoprefixer-rails (10.2.5.1) + execjs (> 0) aws-eventstream (1.1.1) - aws-partitions (1.469.0) + aws-partitions (1.480.0) aws-sdk (3.0.2) aws-sdk-resources (~> 3) - aws-sdk-accessanalyzer (1.17.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-accessanalyzer (1.20.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-acm (1.41.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-acm (1.43.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-acmpca (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-acmpca (1.37.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-alexaforbusiness (1.46.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-alexaforbusiness (1.48.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-amplify (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-amplify (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-amplifybackend (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-amplifybackend (1.6.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-apigateway (1.61.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-apigateway (1.63.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-apigatewaymanagementapi (1.21.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-apigatewaymanagementapi (1.22.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-apigatewayv2 (1.32.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-apigatewayv2 (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-appconfig (1.14.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-appconfig (1.15.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-appflow (1.9.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-appflow (1.12.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-appintegrationsservice (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-appintegrationsservice (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-applicationautoscaling (1.51.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-applicationautoscaling (1.52.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-applicationdiscoveryservice (1.35.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-applicationcostprofiler (1.1.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-applicationinsights (1.18.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-applicationdiscoveryservice (1.36.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-appmesh (1.35.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-applicationinsights (1.19.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-appregistry (1.5.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-appmesh (1.37.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-appstream (1.51.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-appregistry (1.6.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-appsync (1.40.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-apprunner (1.1.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-athena (1.37.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-appstream (1.53.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-auditmanager (1.4.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-appsync (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-augmentedairuntime (1.12.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-athena (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-autoscaling (1.58.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-auditmanager (1.9.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-autoscalingplans (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-augmentedairuntime (1.14.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-backup (1.28.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-autoscaling (1.65.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-batch (1.45.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-autoscalingplans (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-braket (1.7.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-backup (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-budgets (1.38.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-batch (1.49.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-chime (1.42.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-braket (1.9.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloud9 (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-budgets (1.39.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-clouddirectory (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-chime (1.52.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudformation (1.49.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloud9 (1.36.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudfront (1.49.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-clouddirectory (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudhsm (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudformation (1.54.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudhsmv2 (1.33.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudfront (1.54.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudsearch (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudhsm (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudsearchdomain (1.24.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudhsmv2 (1.34.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudtrail (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudsearch (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudwatch (1.50.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudsearchdomain (1.25.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudwatchevents (1.44.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudtrail (1.36.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudwatchlogs (1.40.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudwatch (1.53.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codeartifact (1.8.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudwatchevents (1.48.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codebuild (1.71.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cloudwatchlogs (1.42.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codecommit (1.42.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codeartifact (1.11.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codedeploy (1.39.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codebuild (1.75.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codeguruprofiler (1.15.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codecommit (1.43.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codegurureviewer (1.16.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codedeploy (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codepipeline (1.44.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codeguruprofiler (1.16.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codestar (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codegurureviewer (1.19.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codestarconnections (1.14.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codepipeline (1.45.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-codestarnotifications (1.10.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codestar (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cognitoidentity (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codestarconnections (1.16.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cognitoidentityprovider (1.50.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-codestarnotifications (1.11.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-cognitosync (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cognitoidentity (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-comprehend (1.45.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cognitoidentityprovider (1.55.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-comprehendmedical (1.25.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-cognitosync (1.28.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-computeoptimizer (1.16.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-comprehend (1.47.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-configservice (1.59.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-comprehendmedical (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-connect (1.42.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-computeoptimizer (1.20.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-connectcontactlens (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-configservice (1.63.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-connectparticipant (1.11.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-connect (1.47.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-core (3.114.3) + aws-sdk-connectcontactlens (1.3.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-connectparticipant (1.12.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.118.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-costandusagereportservice (1.30.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-costandusagereportservice (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-costexplorer (1.59.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-costexplorer (1.63.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-customerprofiles (1.4.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-customerprofiles (1.8.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-databasemigrationservice (1.52.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-databasemigrationservice (1.55.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-dataexchange (1.13.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-dataexchange (1.14.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-datapipeline (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-datapipeline (1.28.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-datasync (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-datasync (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-dax (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-dax (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-detective (1.15.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-detective (1.19.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-devicefarm (1.41.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-devicefarm (1.43.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-devopsguru (1.5.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-devopsguru (1.9.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-directconnect (1.40.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-directconnect (1.44.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-directoryservice (1.39.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-directoryservice (1.40.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-dlm (1.40.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-dlm (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-docdb (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-docdb (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-dynamodb (1.60.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-dynamodb (1.61.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-dynamodbstreams (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-dynamodbstreams (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ebs (1.13.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ebs (1.14.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ec2 (1.227.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ec2 (1.252.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ec2instanceconnect (1.13.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ec2instanceconnect (1.15.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ecr (1.42.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ecr (1.43.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ecrpublic (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ecrpublic (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ecs (1.75.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ecs (1.82.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-efs (1.39.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-efs (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-eks (1.51.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-eks (1.59.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticache (1.54.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-elasticache (1.58.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticbeanstalk (1.42.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-elasticbeanstalk (1.43.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticinference (1.12.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-elasticinference (1.13.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticloadbalancing (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-elasticloadbalancing (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticloadbalancingv2 (1.61.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-elasticloadbalancingv2 (1.65.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticsearchservice (1.51.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-elasticsearchservice (1.53.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-elastictranscoder (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-elastictranscoder (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-emr (1.44.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-emr (1.47.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-emrcontainers (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-emrcontainers (1.5.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-eventbridge (1.22.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-eventbridge (1.26.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-firehose (1.37.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-finspace (1.3.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-fms (1.35.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-finspacedata (1.2.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-forecastqueryservice (1.12.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-firehose (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-forecastservice (1.17.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-fis (1.2.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-frauddetector (1.17.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-fms (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-fsx (1.35.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-forecastqueryservice (1.13.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-gamelift (1.42.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-forecastservice (1.22.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-glacier (1.37.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-frauddetector (1.20.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-globalaccelerator (1.30.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-fsx (1.39.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-glue (1.85.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-gamelift (1.45.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-gluedatabrew (1.6.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-glacier (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-greengrass (1.39.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-globalaccelerator (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-greengrassv2 (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-glue (1.91.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-groundstation (1.17.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-gluedatabrew (1.10.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-guardduty (1.45.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-greengrass (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-health (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-greengrassv2 (1.5.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-healthlake (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-groundstation (1.19.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-honeycode (1.6.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-guardduty (1.46.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iam (1.49.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-health (1.37.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-identitystore (1.5.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-healthlake (1.5.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-imagebuilder (1.20.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-honeycode (1.7.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-importexport (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iam (1.58.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-identitystore (1.7.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-imagebuilder (1.26.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-importexport (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv2 (~> 1.0) - aws-sdk-inspector (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-inspector (1.35.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iot (1.67.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iot (1.70.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iot1clickdevicesservice (1.28.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iot1clickdevicesservice (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iot1clickprojects (1.28.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iot1clickprojects (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotanalytics (1.38.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotanalytics (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotdataplane (1.28.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotdataplane (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotdeviceadvisor (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotdeviceadvisor (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotevents (1.23.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotevents (1.25.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ioteventsdata (1.15.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ioteventsdata (1.17.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotfleethub (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotfleethub (1.3.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotjobsdataplane (1.27.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotjobsdataplane (1.28.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotsecuretunneling (1.11.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotsecuretunneling (1.12.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotsitewise (1.20.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotsitewise (1.26.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotthingsgraph (1.14.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotthingsgraph (1.15.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-iotwireless (1.5.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-iotwireless (1.12.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ivs (1.8.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ivs (1.10.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kafka (1.35.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kafka (1.37.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kendra (1.22.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kendra (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesis (1.32.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kinesis (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesisanalytics (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kinesisanalytics (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesisanalyticsv2 (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kinesisanalyticsv2 (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesisvideo (1.32.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kinesisvideo (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesisvideoarchivedmedia (1.33.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kinesisvideoarchivedmedia (1.35.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesisvideomedia (1.28.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kinesisvideomedia (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesisvideosignalingchannels (1.10.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kinesisvideosignalingchannels (1.11.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-kms (1.44.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kms (1.45.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lakeformation (1.13.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lakeformation (1.15.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lambda (1.61.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lambda (1.65.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lambdapreview (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lambdapreview (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lex (1.35.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lex (1.37.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lexmodelbuildingservice (1.44.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lexmodelbuildingservice (1.48.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lexmodelsv2 (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lexmodelsv2 (1.7.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lexruntimev2 (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lexruntimev2 (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-licensemanager (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-licensemanager (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lightsail (1.46.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lightsail (1.53.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-locationservice (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-locationservice (1.6.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-lookoutforvision (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lookoutequipment (1.1.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-machinelearning (1.27.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lookoutforvision (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-macie (1.28.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-lookoutmetrics (1.5.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-macie2 (1.25.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-machinelearning (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-managedblockchain (1.22.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-macie (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-marketplacecatalog (1.11.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-macie2 (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-marketplacecommerceanalytics (1.32.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-managedblockchain (1.24.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-marketplaceentitlementservice (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-marketplacecatalog (1.13.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-marketplacemetering (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-marketplacecommerceanalytics (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mediaconnect (1.30.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-marketplaceentitlementservice (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mediaconvert (1.64.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-marketplacemetering (1.35.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-medialive (1.67.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mediaconnect (1.35.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mediapackage (1.38.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mediaconvert (1.70.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mediapackagevod (1.22.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-medialive (1.74.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mediastore (1.32.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mediapackage (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mediastoredata (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mediapackagevod (1.25.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mediatailor (1.36.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mediastore (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-migrationhub (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mediastoredata (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-migrationhubconfig (1.11.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mediatailor (1.42.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mobile (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mgn (1.2.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mq (1.36.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-migrationhub (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mturk (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-migrationhubconfig (1.12.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-mwaa (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mobile (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-neptune (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mq (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-networkfirewall (1.4.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mturk (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-networkmanager (1.11.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-mwaa (1.6.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-opsworks (1.32.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-neptune (1.36.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-opsworkscm (1.42.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-networkfirewall (1.5.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-organizations (1.58.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-networkmanager (1.12.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-outposts (1.15.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-nimblestudio (1.2.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-personalize (1.22.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-opsworks (1.33.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-personalizeevents (1.17.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-opsworkscm (1.44.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-personalizeruntime (1.22.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-organizations (1.60.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-pi (1.27.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-outposts (1.18.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-pinpoint (1.52.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-personalize (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-pinpointemail (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-personalizeevents (1.19.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-pinpointsmsvoice (1.23.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-personalizeruntime (1.23.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-polly (1.40.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-pi (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-pricing (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-pinpoint (1.54.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-prometheusservice (1.3.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-pinpointemail (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-qldb (1.13.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-pinpointsmsvoice (1.24.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-qldbsession (1.13.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-polly (1.42.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-quicksight (1.44.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-pricing (1.29.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ram (1.24.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-prometheusservice (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-rds (1.117.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-proton (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-rdsdataservice (1.25.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-qldb (1.17.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-redshift (1.55.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-qldbsession (1.14.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-redshiftdataapiservice (1.6.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-quicksight (1.49.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-rekognition (1.49.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ram (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-resourcegroups (1.35.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-rds (1.123.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-resourcegroupstaggingapi (1.37.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-rdsdataservice (1.26.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-resources (3.94.1) + aws-sdk-redshift (1.66.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-redshiftdataapiservice (1.9.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-rekognition (1.52.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-resourcegroups (1.37.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-resourcegroupstaggingapi (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-resources (3.106.0) aws-sdk-accessanalyzer (~> 1) aws-sdk-acm (~> 1) aws-sdk-acmpca (~> 1) @@ -756,10 +786,12 @@ GEM aws-sdk-appflow (~> 1) aws-sdk-appintegrationsservice (~> 1) aws-sdk-applicationautoscaling (~> 1) + aws-sdk-applicationcostprofiler (~> 1) aws-sdk-applicationdiscoveryservice (~> 1) aws-sdk-applicationinsights (~> 1) aws-sdk-appmesh (~> 1) aws-sdk-appregistry (~> 1) + aws-sdk-apprunner (~> 1) aws-sdk-appstream (~> 1) aws-sdk-appsync (~> 1) aws-sdk-athena (~> 1) @@ -839,7 +871,10 @@ GEM aws-sdk-emr (~> 1) aws-sdk-emrcontainers (~> 1) aws-sdk-eventbridge (~> 1) + aws-sdk-finspace (~> 1) + aws-sdk-finspacedata (~> 1) aws-sdk-firehose (~> 1) + aws-sdk-fis (~> 1) aws-sdk-fms (~> 1) aws-sdk-forecastqueryservice (~> 1) aws-sdk-forecastservice (~> 1) @@ -897,7 +932,9 @@ GEM aws-sdk-licensemanager (~> 1) aws-sdk-lightsail (~> 1) aws-sdk-locationservice (~> 1) + aws-sdk-lookoutequipment (~> 1) aws-sdk-lookoutforvision (~> 1) + aws-sdk-lookoutmetrics (~> 1) aws-sdk-machinelearning (~> 1) aws-sdk-macie (~> 1) aws-sdk-macie2 (~> 1) @@ -914,6 +951,7 @@ GEM aws-sdk-mediastore (~> 1) aws-sdk-mediastoredata (~> 1) aws-sdk-mediatailor (~> 1) + aws-sdk-mgn (~> 1) aws-sdk-migrationhub (~> 1) aws-sdk-migrationhubconfig (~> 1) aws-sdk-mobile (~> 1) @@ -923,6 +961,7 @@ GEM aws-sdk-neptune (~> 1) aws-sdk-networkfirewall (~> 1) aws-sdk-networkmanager (~> 1) + aws-sdk-nimblestudio (~> 1) aws-sdk-opsworks (~> 1) aws-sdk-opsworkscm (~> 1) aws-sdk-organizations (~> 1) @@ -937,6 +976,7 @@ GEM aws-sdk-polly (~> 1) aws-sdk-pricing (~> 1) aws-sdk-prometheusservice (~> 1) + aws-sdk-proton (~> 1) aws-sdk-qldb (~> 1) aws-sdk-qldbsession (~> 1) aws-sdk-quicksight (~> 1) @@ -951,6 +991,9 @@ GEM aws-sdk-robomaker (~> 1) aws-sdk-route53 (~> 1) aws-sdk-route53domains (~> 1) + aws-sdk-route53recoverycluster (~> 1) + aws-sdk-route53recoverycontrolconfig (~> 1) + aws-sdk-route53recoveryreadiness (~> 1) aws-sdk-route53resolver (~> 1) aws-sdk-s3 (~> 1) aws-sdk-s3control (~> 1) @@ -977,6 +1020,8 @@ GEM aws-sdk-sns (~> 1) aws-sdk-sqs (~> 1) aws-sdk-ssm (~> 1) + aws-sdk-ssmcontacts (~> 1) + aws-sdk-ssmincidents (~> 1) aws-sdk-ssoadmin (~> 1) aws-sdk-ssooidc (~> 1) aws-sdk-states (~> 1) @@ -1001,168 +1046,183 @@ GEM aws-sdk-workmailmessageflow (~> 1) aws-sdk-workspaces (~> 1) aws-sdk-xray (~> 1) - aws-sdk-robomaker (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-robomaker (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-route53 (1.47.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-route53 (1.51.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-route53domains (1.30.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-route53domains (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-route53resolver (1.24.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-route53recoverycluster (1.1.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.96.1) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-route53recoverycontrolconfig (1.1.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53recoveryreadiness (1.1.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53resolver (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.97.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) - aws-sdk-s3control (1.30.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-s3control (1.37.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-s3outposts (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-s3outposts (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-sagemaker (1.81.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sagemaker (1.94.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-sagemakeredgemanager (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sagemakeredgemanager (1.3.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-sagemakerfeaturestoreruntime (1.2.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sagemakerfeaturestoreruntime (1.4.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-sagemakerruntime (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sagemakerruntime (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-savingsplans (1.14.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-savingsplans (1.16.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-schemas (1.12.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-schemas (1.13.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-secretsmanager (1.46.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-secretsmanager (1.47.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-securityhub (1.41.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-securityhub (1.49.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-serverlessapplicationrepository (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-serverlessapplicationrepository (1.35.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-servicecatalog (1.59.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-servicecatalog (1.61.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-servicediscovery (1.34.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-servicediscovery (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-servicequotas (1.14.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-servicequotas (1.15.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ses (1.38.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ses (1.39.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-sesv2 (1.17.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sesv2 (1.18.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-shield (1.36.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-shield (1.39.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-signer (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-signer (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-simpledb (1.26.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-simpledb (1.27.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv2 (~> 1.0) - aws-sdk-sms (1.29.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sms (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-snowball (1.37.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-snowball (1.40.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-sns (1.39.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sns (1.43.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-sqs (1.37.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-sqs (1.41.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ssm (1.106.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ssm (1.113.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ssoadmin (1.7.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ssmcontacts (1.3.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-ssooidc (1.10.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ssmincidents (1.1.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-states (1.39.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ssoadmin (1.8.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-storagegateway (1.54.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-ssooidc (1.11.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-support (1.30.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-states (1.40.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-swf (1.27.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-storagegateway (1.57.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-synthetics (1.12.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-support (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-textract (1.24.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-swf (1.28.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-timestreamquery (1.4.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-synthetics (1.14.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-timestreamwrite (1.4.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-textract (1.26.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-transcribeservice (1.52.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-timestreamquery (1.5.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-transcribestreamingservice (1.27.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-timestreamwrite (1.5.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-transfer (1.32.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-transcribeservice (1.56.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-translate (1.31.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-transcribestreamingservice (1.30.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-waf (1.38.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-transfer (1.36.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-wafregional (1.39.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-translate (1.32.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-wafv2 (1.18.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-waf (1.39.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-wellarchitected (1.4.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-wafregional (1.40.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-workdocs (1.30.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-wafv2 (1.22.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-worklink (1.23.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-wellarchitected (1.6.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-workmail (1.36.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-workdocs (1.31.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-workmailmessageflow (1.12.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-worklink (1.24.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-workspaces (1.51.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-workmail (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) - aws-sdk-xray (1.37.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-workmailmessageflow (1.13.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-workspaces (1.54.0) + aws-sdk-core (~> 3, >= 3.118.0) + aws-sigv4 (~> 1.1) + aws-sdk-xray (1.38.0) + aws-sdk-core (~> 3, >= 3.118.0) aws-sigv4 (~> 1.1) aws-sigv2 (1.0.2) - aws-sigv4 (1.2.3) + aws-sigv4 (1.2.4) aws-eventstream (~> 1, >= 1.0.2) babel-source (5.8.35) babel-transpiler (0.7.0) @@ -1197,22 +1257,22 @@ GEM execjs coffee-script-source (1.12.2) concurrent-ruby (1.1.9) - connection_pool (2.2.3) + connection_pool (2.2.5) crass (1.0.6) csv (3.2.0) d3-rails (5.9.2) railties (>= 3.1) database_cleaner (2.0.1) database_cleaner-active_record (~> 2.0.0) - database_cleaner-active_record (2.0.0) + database_cleaner-active_record (2.0.1) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) dateslices (0.0.4) rails (> 4) - db_text_search (0.3.1) + db_text_search (0.3.2) activerecord (>= 4.1.15, < 7.0) - debug_inspector (1.0.0) + debug_inspector (1.1.0) devise (4.8.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -1225,15 +1285,15 @@ GEM engtagger (0.2.1) erubi (1.10.0) eventmachine (1.2.7) - execjs (2.7.0) - faraday (0.17.3) + execjs (2.8.1) + faraday (0.17.4) multipart-post (>= 1.2, < 3) faraday_middleware (0.14.0) faraday (>= 0.7.4, < 1.0) faye-websocket (0.11.1) eventmachine (>= 0.12.0) websocket-driver (>= 0.5.1) - ffi (1.15.0) + ffi (1.15.3) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake @@ -1241,11 +1301,11 @@ GEM flamegraph (0.9.5) font-awesome-rails (4.7.0.7) railties (>= 3.2, < 7) - friendly_id (5.3.0) + friendly_id (5.4.2) activerecord (>= 4.0.0) - globalid (0.4.2) - activesupport (>= 4.2.0) - haml (5.1.2) + globalid (0.5.1) + activesupport (>= 5.0) + haml (5.2.2) temple (>= 0.8.0) tilt html-pipeline (2.14.0) @@ -1257,7 +1317,7 @@ GEM http-cookie (~> 1.0) http-form_data (~> 2.2) http-parser (~> 1.2.0) - http-cookie (1.0.3) + http-cookie (1.0.4) domain_name (~> 0.5) http-form_data (2.3.0) http-parser (1.2.3) @@ -1278,7 +1338,7 @@ GEM image_processing (1.12.1) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) - inline_svg (1.7.1) + inline_svg (1.7.2) activesupport (>= 3.0) nokogiri (>= 1.6) jmespath (1.4.0) @@ -1288,7 +1348,7 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (6.0.1) railties (>= 3.2.16) - json (2.3.0) + json (2.5.1) jwt (2.2.3) kaminari (1.2.1) activesupport (>= 4.1.0) @@ -1308,7 +1368,7 @@ GEM kramdown (~> 2.0) language_filter (0.3.01) libv8-node (15.14.0.1) - listen (3.5.1) + listen (3.6.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) loofah (2.10.0) @@ -1316,8 +1376,7 @@ GEM nokogiri (>= 1.5.9) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) + marcel (1.0.1) material_icons (2.2.1) railties (>= 3.2) medium-editor-rails (2.3.1) @@ -1328,7 +1387,7 @@ GEM method_source (1.0.0) mime-types (3.3.1) mime-types-data (~> 3.2015) - mime-types-data (3.2020.0512) + mime-types-data (3.2021.0704) mimemagic (0.3.10) nokogiri (~> 1) rake @@ -1347,9 +1406,9 @@ GEM nokogiri (1.11.7) mini_portile2 (~> 2.5.0) racc (~> 1.4) - nokogumbo (2.0.2) + nokogumbo (2.0.5) nokogiri (~> 1.8, >= 1.8.4) - onebox (1.9.29) + onebox (1.9.30) addressable (~> 2.7.0) htmlentities (~> 4.3) multi_json (~> 1.11) @@ -1394,20 +1453,20 @@ GEM rack rack-test (1.1.0) rack (>= 1.0, < 3) - rails (6.1.3) - actioncable (= 6.1.3) - actionmailbox (= 6.1.3) - actionmailer (= 6.1.3) - actionpack (= 6.1.3) - actiontext (= 6.1.3) - actionview (= 6.1.3) - activejob (= 6.1.3) - activemodel (= 6.1.3) - activerecord (= 6.1.3) - activestorage (= 6.1.3) - activesupport (= 6.1.3) + rails (6.1.4) + actioncable (= 6.1.4) + actionmailbox (= 6.1.4) + actionmailer (= 6.1.4) + actionpack (= 6.1.4) + actiontext (= 6.1.4) + actionview (= 6.1.4) + activejob (= 6.1.4) + activemodel (= 6.1.4) + activerecord (= 6.1.4) + activestorage (= 6.1.4) + activesupport (= 6.1.4) bundler (>= 1.15.0) - railties (= 6.1.3) + railties (= 6.1.4) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) @@ -1418,7 +1477,7 @@ GEM rails (>= 3.2) rails-ujs (0.1.0) railties (>= 3.1) - rails_admin (2.1.1) + rails_admin (2.2.0) activemodel-serializers-xml (>= 1.0) builder (~> 3.1) haml (>= 4.0, < 6) @@ -1430,17 +1489,15 @@ GEM rails (>= 5.0, < 7) remotipart (~> 1.3) sassc-rails (>= 1.3, < 3) - rails_serve_static_assets (0.0.5) - rails_stdout_logging (0.0.5) - railties (6.0.3.4) - actionpack (= 6.0.3.4) - activesupport (= 6.0.3.4) + railties (6.1.4) + actionpack (= 6.1.4) + activesupport (= 6.1.4) method_source - rake (>= 0.8.7) - thor (>= 0.20.3, < 2.0) + rake (>= 0.13) + thor (~> 1.0) rake (13.0.6) rb-fsevent (0.11.0) - rb-gravatar (1.0.5) + rb-gravatar (1.0.6) rb-inotify (0.10.1) ffi (~> 1.0) react-rails (2.6.1) @@ -1450,7 +1507,7 @@ GEM railties (>= 3.2) tilt redcarpet (3.5.1) - redis (4.3.1) + redis (4.4.0) remotipart (1.4.4) responders (3.0.1) actionpack (>= 5.0) @@ -1458,10 +1515,10 @@ GEM rexml (3.2.5) rinku (2.0.6) rmagick (4.2.2) - ruby-vips (2.0.17) - ffi (~> 1.9) - rubyzip (2.0.0) - sanitize (5.2.1) + ruby-vips (2.1.2) + ffi (~> 1.12) + rubyzip (2.3.2) + sanitize (5.2.3) crass (~> 1.0.2) nokogiri (>= 1.8.0) nokogumbo (~> 2.0) @@ -1511,21 +1568,20 @@ GEM terrapin (0.6.0) climate_control (>= 0.0.3, < 1.0) text-hyphen (1.4.1) - textstat (0.1.6) + textstat (0.1.7) text-hyphen (~> 1.4, >= 1.4.1) thor (1.1.0) - thread_safe (0.3.6) tilt (2.0.10) timeago_js (3.0.2.2) tribute (3.6.0.0) - tzinfo (1.2.9) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext unf_ext (0.0.7.7) - uniform_notifier (1.14.1) + uniform_notifier (1.14.2) warden (1.2.9) rack (>= 2.0.9) web-console (4.1.0) From f0dd74436bb076497d6504b604baf4b581ebf4ee Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Thu, 29 Jul 2021 02:21:14 -0700 Subject: [PATCH 04/47] rails active_storage:update --- ...e_to_active_storage_blobs.active_storage.rb | 18 ++++++++++++++++++ ...e_storage_variant_records.active_storage.rb | 12 ++++++++++++ db/schema.rb | 16 ++++++++++++---- 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20210729092029_add_service_name_to_active_storage_blobs.active_storage.rb create mode 100644 db/migrate/20210729092030_create_active_storage_variant_records.active_storage.rb diff --git a/db/migrate/20210729092029_add_service_name_to_active_storage_blobs.active_storage.rb b/db/migrate/20210729092029_add_service_name_to_active_storage_blobs.active_storage.rb new file mode 100644 index 00000000..9967a132 --- /dev/null +++ b/db/migrate/20210729092029_add_service_name_to_active_storage_blobs.active_storage.rb @@ -0,0 +1,18 @@ +# This migration comes from active_storage (originally 20190112182829) +class AddServiceNameToActiveStorageBlobs < ActiveRecord::Migration[6.0] + def up + unless column_exists?(:active_storage_blobs, :service_name) + add_column :active_storage_blobs, :service_name, :string + + if configured_service = ActiveStorage::Blob.service.name + ActiveStorage::Blob.unscoped.update_all(service_name: configured_service) + end + + change_column :active_storage_blobs, :service_name, :string, null: false + end + end + + def down + remove_column :active_storage_blobs, :service_name + end +end diff --git a/db/migrate/20210729092030_create_active_storage_variant_records.active_storage.rb b/db/migrate/20210729092030_create_active_storage_variant_records.active_storage.rb new file mode 100644 index 00000000..a2862695 --- /dev/null +++ b/db/migrate/20210729092030_create_active_storage_variant_records.active_storage.rb @@ -0,0 +1,12 @@ +# This migration comes from active_storage (originally 20191206030411) +class CreateActiveStorageVariantRecords < ActiveRecord::Migration[6.0] + def change + create_table :active_storage_variant_records do |t| + t.belongs_to :blob, null: false, index: false + t.string :variation_digest, null: false + + t.index %i[ blob_id variation_digest ], name: "index_active_storage_variant_records_uniqueness", unique: true + t.foreign_key :active_storage_blobs, column: :blob_id + end + end +end diff --git a/db/schema.rb b/db/schema.rb index d1fb2b45..a8d7ac9d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -2,15 +2,15 @@ # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. # -# This file is the source Rails uses to define your schema when running `rails -# db:schema:load`. When creating a new database, `rails db:schema:load` tends to +# This file is the source Rails uses to define your schema when running `bin/rails +# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to # be faster and is potentially less error prone than running all of your # migrations from scratch. Old migrations may fail to apply correctly if those # migrations use external dependencies or application code. # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_07_05_005416) do +ActiveRecord::Schema.define(version: 2021_07_29_092030) do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false @@ -27,12 +27,19 @@ ActiveRecord::Schema.define(version: 2021_07_05_005416) do t.string "filename", null: false t.string "content_type" t.text "metadata" - t.bigint "byte_size", null: false + t.integer "byte_size", null: false t.string "checksum", null: false t.datetime "created_at", null: false + t.string "service_name", null: false t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true end + create_table "active_storage_variant_records", force: :cascade do |t| + t.bigint "blob_id", null: false + t.string "variation_digest", null: false + t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true + end + create_table "api_keys", force: :cascade do |t| t.integer "user_id" t.string "key" @@ -3637,6 +3644,7 @@ ActiveRecord::Schema.define(version: 2021_07_05_005416) do end add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" + add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" add_foreign_key "api_keys", "users" add_foreign_key "api_requests", "application_integrations" add_foreign_key "api_requests", "integration_authorizations" From 72543282d357a6765b6bdfaac248e22c76b442ee Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Thu, 29 Jul 2021 11:49:55 -0700 Subject: [PATCH 05/47] placeholder for testing against thredded master --- Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile b/Gemfile index 0a253993..f94cfcb1 100644 --- a/Gemfile +++ b/Gemfile @@ -75,6 +75,7 @@ gem 'barnes' # Forum gem 'thredded', git: 'https://github.com/indentlabs/thredded.git', branch: 'feature/report-posts' +# gem 'thredded', git: 'https://github.com/thredded/thredded', branch: 'master' gem 'rails-ujs' gem 'language_filter' From f874ad0d0eb26fac476d6aaa3ed44077d19b64e0 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Tue, 14 Sep 2021 19:22:35 -0700 Subject: [PATCH 06/47] placeholder for 6.1 thredded --- Gemfile | 1 + Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index f94cfcb1..3f3b2533 100644 --- a/Gemfile +++ b/Gemfile @@ -76,6 +76,7 @@ gem 'barnes' # Forum gem 'thredded', git: 'https://github.com/indentlabs/thredded.git', branch: 'feature/report-posts' # gem 'thredded', git: 'https://github.com/thredded/thredded', branch: 'master' +# gem 'thredded', git: 'https://github.com/sudara/thredded', branch: 'master' gem 'rails-ujs' gem 'language_filter' diff --git a/Gemfile.lock b/Gemfile.lock index baecfdc6..a1195fde 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -116,8 +116,8 @@ GEM rails authority (3.3.0) activesupport (>= 3.0.0) - autoprefixer-rails (10.2.5.1) - execjs (> 0) + autoprefixer-rails (10.3.3.0) + execjs (~> 2) aws-eventstream (1.1.1) aws-partitions (1.480.0) aws-sdk (3.0.2) @@ -1440,7 +1440,7 @@ GEM nio4r (~> 2.0) puma-heroku (2.0.0) puma (>= 5.0, < 6.0) - pundit (2.1.0) + pundit (2.1.1) activesupport (>= 3.0.0) racc (1.5.2) rack (2.2.3) From d5589cc2a6b0749009abae5030f82f8035662180 Mon Sep 17 00:00:00 2001 From: drusepth Date: Tue, 5 Oct 2021 01:28:39 -0700 Subject: [PATCH 07/47] destroy page tags when deleting pages --- app/models/concerns/has_page_tags.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/concerns/has_page_tags.rb b/app/models/concerns/has_page_tags.rb index b1ada5cb..cfcdb1eb 100644 --- a/app/models/concerns/has_page_tags.rb +++ b/app/models/concerns/has_page_tags.rb @@ -4,6 +4,6 @@ module HasPageTags extend ActiveSupport::Concern included do - has_many :page_tags, as: :page + has_many :page_tags, as: :page, dependent: :destroy end end From 5c61a3d5eaeea72a5b795d9622fb1ff2fb2a6e27 Mon Sep 17 00:00:00 2001 From: drusepth Date: Tue, 5 Oct 2021 01:28:53 -0700 Subject: [PATCH 08/47] add rake task for cleaning up orphaned page tags --- lib/tasks/one_off.rake | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/tasks/one_off.rake b/lib/tasks/one_off.rake index fe94a703..bbd826c4 100644 --- a/lib/tasks/one_off.rake +++ b/lib/tasks/one_off.rake @@ -1,4 +1,15 @@ namespace :one_off do + desc "Clean up orphaned page tags" + task clean_orphaned_page_tags: :environment do + PageTag.find_each do |page_tag| + referenced_page = page_tag.page + + if page.nil? + page_tag.destroy + end + end + end + desc "Alert users who've saved at least one tree" task trees_notification: :environment do reference_code = 'green-trees' From 118b09febdfebed4b56156832b97d4ac2edc668e Mon Sep 17 00:00:00 2001 From: drusepth Date: Thu, 7 Oct 2021 14:50:11 -0700 Subject: [PATCH 09/47] fix orphan fix --- lib/tasks/one_off.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/one_off.rake b/lib/tasks/one_off.rake index bbd826c4..aba9f648 100644 --- a/lib/tasks/one_off.rake +++ b/lib/tasks/one_off.rake @@ -4,7 +4,7 @@ namespace :one_off do PageTag.find_each do |page_tag| referenced_page = page_tag.page - if page.nil? + if referenced_page.nil? page_tag.destroy end end From c312d439994bae70f605d3c9af1f67d40a90a195 Mon Sep 17 00:00:00 2001 From: drusepth Date: Thu, 7 Oct 2021 15:57:16 -0700 Subject: [PATCH 10/47] add cached word count to attributes, backfill task --- app/jobs/cache_attribute_word_count_job.rb | 30 +++++++++++++++++++ app/models/page_data/attribute.rb | 4 +++ ...5520_add_word_count_cache_to_attributes.rb | 5 ++++ db/schema.rb | 3 +- lib/tasks/backfill.rake | 24 +++++++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 app/jobs/cache_attribute_word_count_job.rb create mode 100644 db/migrate/20211007215520_add_word_count_cache_to_attributes.rb diff --git a/app/jobs/cache_attribute_word_count_job.rb b/app/jobs/cache_attribute_word_count_job.rb new file mode 100644 index 00000000..fd1238dc --- /dev/null +++ b/app/jobs/cache_attribute_word_count_job.rb @@ -0,0 +1,30 @@ +class CacheAttributeWordCountJob < ApplicationJob + queue_as :cache + + def perform(*args) + attribute_id = args.shift + attribute = Attribute.find_by(id: attribute_id) + + return if attribute.nil? + return if attribute.value.nil? || attribute.value.blank? + + word_count = WordCountAnalyzer::Counter.new( + ellipsis: 'no_special_treatment', + hyperlink: 'count_as_one', + contraction: 'count_as_one', + hyphenated_word: 'count_as_one', + date: 'no_special_treatment', + number: 'count', + numbered_list: 'ignore', + xhtml: 'remove', + forward_slash: 'count_as_multiple_except_dates', + backslash: 'count_as_one', + dotted_line: 'ignore', + dashed_line: 'ignore', + underscore: 'ignore', + stray_punctuation: 'ignore' + ).count(attribute.value) + + attribute.update!(word_count_cache: word_count) + end +end diff --git a/app/models/page_data/attribute.rb b/app/models/page_data/attribute.rb index cdd17cb1..53bf6182 100644 --- a/app/models/page_data/attribute.rb +++ b/app/models/page_data/attribute.rb @@ -19,6 +19,10 @@ class Attribute < ApplicationRecord end end + after_commit do + CacheAttributeWordCountJob.perform_later(self.id) if saved_changes.key?('value') + end + after_save do entity.touch end diff --git a/db/migrate/20211007215520_add_word_count_cache_to_attributes.rb b/db/migrate/20211007215520_add_word_count_cache_to_attributes.rb new file mode 100644 index 00000000..f72faabd --- /dev/null +++ b/db/migrate/20211007215520_add_word_count_cache_to_attributes.rb @@ -0,0 +1,5 @@ +class AddWordCountCacheToAttributes < ActiveRecord::Migration[6.0] + def change + add_column :attributes, :word_count_cache, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index 91d7d384..6f325752 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_09_15_030031) do +ActiveRecord::Schema.define(version: 2021_10_07_215520) do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false @@ -165,6 +165,7 @@ ActiveRecord::Schema.define(version: 2021_09_15_030031) do t.datetime "created_at" t.datetime "updated_at" t.datetime "deleted_at" + t.integer "word_count_cache" t.index ["attribute_field_id", "deleted_at", "entity_id", "entity_type"], name: "attributes_afi_deleted_at_entity_id_entity_type" t.index ["attribute_field_id", "deleted_at"], name: "index_attributes_on_attribute_field_id_and_deleted_at" t.index ["attribute_field_id", "user_id", "entity_type", "entity_id", "deleted_at"], name: "attributes_afi_ui_et_ei_da" diff --git a/lib/tasks/backfill.rake b/lib/tasks/backfill.rake index 713ded00..4f27e383 100644 --- a/lib/tasks/backfill.rake +++ b/lib/tasks/backfill.rake @@ -1,4 +1,28 @@ namespace :backfill do + desc "Backfill cached word counts on all attributes" + task attribute_word_count_caches: :environment do + Attribute.where(cached_word_count: nil).find_each do |attribute| + word_count = WordCountAnalyzer::Counter.new( + ellipsis: 'no_special_treatment', + hyperlink: 'count_as_one', + contraction: 'count_as_one', + hyphenated_word: 'count_as_one', + date: 'no_special_treatment', + number: 'count', + numbered_list: 'ignore', + xhtml: 'remove', + forward_slash: 'count_as_multiple_except_dates', + backslash: 'count_as_one', + dotted_line: 'ignore', + dashed_line: 'ignore', + underscore: 'ignore', + stray_punctuation: 'ignore' + ).count(attribute.value) + + attribute.update_column(:word_count_cache, word_count) + end + end + desc "Backfill cached word counts on all documents" task document_word_count_caches: :environment do Document.where(cached_word_count: nil).where.not(body: [nil, ""]).find_each(batch_size: 500) do |document| From 3e0d2210c2b1fbec8c61142580a32a9b513bc05f Mon Sep 17 00:00:00 2001 From: drusepth Date: Thu, 7 Oct 2021 17:03:44 -0700 Subject: [PATCH 11/47] cache aggregated word counts on worldbuilding pages --- .../cache_sum_attribute_word_count_job.rb | 19 +++++++++++++++++++ app/models/concerns/is_content_page.rb | 5 +++++ app/models/page_data/attribute.rb | 8 +++++++- app/models/word_count_update.rb | 4 ++++ ...0211007234707_create_word_count_updates.rb | 12 ++++++++++++ db/schema.rb | 15 ++++++++++++++- lib/tasks/backfill.rake | 2 +- test/fixtures/word_count_updates.yml | 15 +++++++++++++++ test/models/word_count_update_test.rb | 7 +++++++ 9 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 app/jobs/cache_sum_attribute_word_count_job.rb create mode 100644 app/models/word_count_update.rb create mode 100644 db/migrate/20211007234707_create_word_count_updates.rb create mode 100644 test/fixtures/word_count_updates.yml create mode 100644 test/models/word_count_update_test.rb diff --git a/app/jobs/cache_sum_attribute_word_count_job.rb b/app/jobs/cache_sum_attribute_word_count_job.rb new file mode 100644 index 00000000..e8d8ebd4 --- /dev/null +++ b/app/jobs/cache_sum_attribute_word_count_job.rb @@ -0,0 +1,19 @@ +class CacheSumAttributeWordCountJob < ApplicationJob + queue_as :cache + + def perform(*args) + entity_type = args.shift + entity_id = args.shift + + entity = entity_type.constantize.find_by(id: entity_id) + sum_attribute_word_count = Attribute.where(entity_type: entity_type, entity_id: entity_id).sum(:word_count_cache) + + update = entity.word_count_updates.find_or_initialize_by( + for_date: DateTime.current, + ) + update.word_count = sum_attribute_word_count + update.user_id ||= entity.user_id + + update.save! + end +end diff --git a/app/models/concerns/is_content_page.rb b/app/models/concerns/is_content_page.rb index ad0b69fd..718797a4 100644 --- a/app/models/concerns/is_content_page.rb +++ b/app/models/concerns/is_content_page.rb @@ -18,6 +18,11 @@ module IsContentPage has_many :timeline_events, through: :timeline_event_entities has_many :timelines, -> { distinct }, through: :timeline_events + has_many :word_count_updates, as: :entity, dependent: :destroy + def latest_word_count_cache + word_count_updates.order('for_date DESC').limit(1).first.try(:word_count) || 0 + end + scope :unarchived, -> { where(archived_at: nil) } def archive! update!(archived_at: DateTime.now) diff --git a/app/models/page_data/attribute.rb b/app/models/page_data/attribute.rb index 53bf6182..a08f3cc2 100644 --- a/app/models/page_data/attribute.rb +++ b/app/models/page_data/attribute.rb @@ -20,7 +20,13 @@ class Attribute < ApplicationRecord end after_commit do - CacheAttributeWordCountJob.perform_later(self.id) if saved_changes.key?('value') + if saved_changes.key?('value') + # Cache the updated word count on this attribute + CacheAttributeWordCountJob.perform_later(self.id) + + # Cache the updated word count on the page this attribute belongs to + CacheSumAttributeWordCountJob.perform_later(self.entity_type, self.entity_id) + end end after_save do diff --git a/app/models/word_count_update.rb b/app/models/word_count_update.rb new file mode 100644 index 00000000..1f26dccc --- /dev/null +++ b/app/models/word_count_update.rb @@ -0,0 +1,4 @@ +class WordCountUpdate < ApplicationRecord + belongs_to :user + belongs_to :entity, polymorphic: true +end diff --git a/db/migrate/20211007234707_create_word_count_updates.rb b/db/migrate/20211007234707_create_word_count_updates.rb new file mode 100644 index 00000000..2d1b84ee --- /dev/null +++ b/db/migrate/20211007234707_create_word_count_updates.rb @@ -0,0 +1,12 @@ +class CreateWordCountUpdates < ActiveRecord::Migration[6.0] + def change + create_table :word_count_updates do |t| + t.references :user, null: false, foreign_key: true + t.references :entity, polymorphic: true, null: false + t.integer :word_count + t.date :for_date + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 6f325752..f74e1526 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_10_07_215520) do +ActiveRecord::Schema.define(version: 2021_10_07_234707) do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false @@ -3637,6 +3637,18 @@ ActiveRecord::Schema.define(version: 2021_10_07_215520) do t.integer "habitat_id" end + create_table "word_count_updates", force: :cascade do |t| + t.integer "user_id", null: false + t.string "entity_type", null: false + t.integer "entity_id", null: false + t.integer "word_count" + t.date "for_date" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["entity_type", "entity_id"], name: "index_word_count_updates_on_entity_type_and_entity_id" + t.index ["user_id"], name: "index_word_count_updates_on_user_id" + end + add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" add_foreign_key "api_keys", "users" add_foreign_key "api_requests", "application_integrations" @@ -4048,4 +4060,5 @@ ActiveRecord::Schema.define(version: 2021_10_07_215520) do add_foreign_key "vehicles", "users" add_foreign_key "votes", "users" add_foreign_key "votes", "votables" + add_foreign_key "word_count_updates", "users" end diff --git a/lib/tasks/backfill.rake b/lib/tasks/backfill.rake index 4f27e383..f2ed3945 100644 --- a/lib/tasks/backfill.rake +++ b/lib/tasks/backfill.rake @@ -1,7 +1,7 @@ namespace :backfill do desc "Backfill cached word counts on all attributes" task attribute_word_count_caches: :environment do - Attribute.where(cached_word_count: nil).find_each do |attribute| + Attribute.where(word_count_cache: nil).where.not(value: ["", " ", ".", nil]).find_each do |attribute| word_count = WordCountAnalyzer::Counter.new( ellipsis: 'no_special_treatment', hyperlink: 'count_as_one', diff --git a/test/fixtures/word_count_updates.yml b/test/fixtures/word_count_updates.yml new file mode 100644 index 00000000..172493ff --- /dev/null +++ b/test/fixtures/word_count_updates.yml @@ -0,0 +1,15 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + user: one + entity: one + entity_type: Entity + word_count: 1 + for_date: 2021-10-07 + +two: + user: two + entity: two + entity_type: Entity + word_count: 1 + for_date: 2021-10-07 diff --git a/test/models/word_count_update_test.rb b/test/models/word_count_update_test.rb new file mode 100644 index 00000000..9f0e4d0b --- /dev/null +++ b/test/models/word_count_update_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class WordCountUpdateTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From b087c42e57b1338a99e1c4e1c5bd7a343f8a8f57 Mon Sep 17 00:00:00 2001 From: drusepth Date: Thu, 7 Oct 2021 18:38:32 -0700 Subject: [PATCH 12/47] don't error (and therefore retry) if someone deletes a doc getting rev-saved --- app/jobs/save_document_revision_job.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/jobs/save_document_revision_job.rb b/app/jobs/save_document_revision_job.rb index d52d737f..d88ba876 100644 --- a/app/jobs/save_document_revision_job.rb +++ b/app/jobs/save_document_revision_job.rb @@ -4,8 +4,8 @@ class SaveDocumentRevisionJob < ApplicationJob def perform(*args) document_id = args.shift - document = Document.find(document_id) - return unless document.present? + document = Document.find_by(id: document_id) + return unless document # Update cached word count for the document regardless of how often this is called new_word_count = document.computed_word_count From 72049a1fc82c3cbe3897f4d604e606f69ba84e6d Mon Sep 17 00:00:00 2001 From: drusepth Date: Thu, 7 Oct 2021 18:46:40 -0700 Subject: [PATCH 13/47] save document word count updates, too --- app/jobs/save_document_revision_job.rb | 8 ++++++++ app/models/documents/document.rb | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/app/jobs/save_document_revision_job.rb b/app/jobs/save_document_revision_job.rb index d88ba876..95fc4101 100644 --- a/app/jobs/save_document_revision_job.rb +++ b/app/jobs/save_document_revision_job.rb @@ -11,6 +11,14 @@ class SaveDocumentRevisionJob < ApplicationJob new_word_count = document.computed_word_count document.update(cached_word_count: new_word_count) + # Save a WordCountUpdate for this document for today + update = document.word_count_updates.find_or_initialize_by( + for_date: DateTime.current, + ) + update.word_count = new_word_count + update.user_id ||= document.user_id + update.save! + # Make sure we're only storing revisions at least every 5 min latest_revision = document.document_revisions.order('created_at DESC').limit(1).first if latest_revision.present? && latest_revision.created_at > 5.minutes.ago diff --git a/app/models/documents/document.rb b/app/models/documents/document.rb index a28e3eb8..cbbd1027 100644 --- a/app/models/documents/document.rb +++ b/app/models/documents/document.rb @@ -26,6 +26,12 @@ class Document < ApplicationRecord attr_accessor :tagged_text + # Duplicated from is_content_page since we don't include that here yet + has_many :word_count_updates, as: :entity, dependent: :destroy + def latest_word_count_cache + word_count_updates.order('for_date DESC').limit(1).first.try(:word_count) || 0 + end + KEYS_TO_TRIGGER_REVISION_ON_CHANGE = %w(title body synopsis notes_text) def self.color From 1d0c609cb07a32357d51f07f5887c97ee9d3058b Mon Sep 17 00:00:00 2001 From: drusepth Date: Sat, 9 Oct 2021 22:46:10 -0700 Subject: [PATCH 14/47] include the current user's shared universes in contributable universes cache --- app/models/users/user.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/models/users/user.rb b/app/models/users/user.rb index 9c7583af..9b761fc8 100644 --- a/app/models/users/user.rb +++ b/app/models/users/user.rb @@ -122,6 +122,9 @@ class User < ApplicationRecord def contributable_universe_ids # TODO: email confirmation needs to happen for data safety / privacy (only verified emails) @contributable_universe_ids ||= Contributor.where('email = ? OR user_id = ?', self.email, self.id).pluck(:universe_id) + @contributable_universe_ids += Contributor.where(universe_id: my_universe_ids).pluck(:universe_id) + + @contributable_universe_ids.uniq end # TODO: rename this to #{content_type}_shared_with_me From 083c64a06e6f0efedfacd8263f87d9286814aedd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:00:47 +0000 Subject: [PATCH 15/47] Bump redis from 4.4.0 to 4.5.1 Bumps [redis](https://github.com/redis/redis-rb) from 4.4.0 to 4.5.1. - [Release notes](https://github.com/redis/redis-rb/releases) - [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md) - [Commits](https://github.com/redis/redis-rb/compare/v4.4.0...v4.5.1) --- updated-dependencies: - dependency-name: redis dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ff4e7ef5..9b659bf6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1526,7 +1526,7 @@ GEM railties (>= 3.2) tilt redcarpet (3.5.1) - redis (4.4.0) + redis (4.5.1) remotipart (1.4.4) responders (3.0.1) actionpack (>= 5.0) From 877990bc15eebad6a6ac757845a5d11c628b3bbf Mon Sep 17 00:00:00 2001 From: drusepth Date: Mon, 25 Oct 2021 21:05:40 -0700 Subject: [PATCH 16/47] pull in thredded 6.1 support --- Gemfile.lock | 174 +++++++++++++++++++++++++-------------------------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ff4e7ef5..d29d4ec1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,13 +13,13 @@ GIT GIT remote: https://github.com/indentlabs/thredded.git - revision: b9a3976e310bb4eeb3f9a4b30d6c176d15a28ce1 + revision: 6ed40273e4696fc4f32013e4f2a101ff8658b960 branch: feature/report-posts specs: thredded (0.16.16) active_record_union (>= 1.3.0) autoprefixer-rails - db_text_search (~> 0.3.0) + db_text_search (~> 0.3.2) friendly_id html-pipeline htmlentities @@ -28,10 +28,10 @@ GIT kramdown (>= 2.0.0) kramdown-parser-gfm nokogiri - onebox (~> 1.8, >= 1.8.99) + onebox (>= 1.8.99) pundit (>= 1.1.0) rails (>= 4.2.10, != 6.0.0.rc2) - rb-gravatar + rails_gravatar rinku sanitize sassc-rails (>= 2.0.0) @@ -41,38 +41,40 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (6.0.3.4) - actionpack (= 6.0.3.4) + actioncable (6.1.4.1) + actionpack (= 6.1.4.1) + activesupport (= 6.1.4.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.0.3.4) - actionpack (= 6.0.3.4) - activejob (= 6.0.3.4) - activerecord (= 6.0.3.4) - activestorage (= 6.0.3.4) - activesupport (= 6.0.3.4) + actionmailbox (6.1.4.1) + actionpack (= 6.1.4.1) + activejob (= 6.1.4.1) + activerecord (= 6.1.4.1) + activestorage (= 6.1.4.1) + activesupport (= 6.1.4.1) mail (>= 2.7.1) - actionmailer (6.0.3.4) - actionpack (= 6.0.3.4) - actionview (= 6.0.3.4) - activejob (= 6.0.3.4) + actionmailer (6.1.4.1) + actionpack (= 6.1.4.1) + actionview (= 6.1.4.1) + activejob (= 6.1.4.1) + activesupport (= 6.1.4.1) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.0.3.4) - actionview (= 6.0.3.4) - activesupport (= 6.0.3.4) - rack (~> 2.0, >= 2.0.8) + actionpack (6.1.4.1) + actionview (= 6.1.4.1) + activesupport (= 6.1.4.1) + rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.0.3.4) - actionpack (= 6.0.3.4) - activerecord (= 6.0.3.4) - activestorage (= 6.0.3.4) - activesupport (= 6.0.3.4) + actiontext (6.1.4.1) + actionpack (= 6.1.4.1) + activerecord (= 6.1.4.1) + activestorage (= 6.1.4.1) + activesupport (= 6.1.4.1) nokogiri (>= 1.8.5) - actionview (6.0.3.4) - activesupport (= 6.0.3.4) + actionview (6.1.4.1) + activesupport (= 6.1.4.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -81,37 +83,39 @@ GEM activerecord (>= 4.0) active_storage_validations (0.9.5) rails (>= 5.2.0) - activejob (6.0.3.4) - activesupport (= 6.0.3.4) + activejob (6.1.4.1) + activesupport (= 6.1.4.1) globalid (>= 0.3.6) - activemodel (6.0.3.4) - activesupport (= 6.0.3.4) + activemodel (6.1.4.1) + activesupport (= 6.1.4.1) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (6.0.3.4) - activemodel (= 6.0.3.4) - activesupport (= 6.0.3.4) - activestorage (6.0.3.4) - actionpack (= 6.0.3.4) - activejob (= 6.0.3.4) - activerecord (= 6.0.3.4) - marcel (~> 0.3.1) - activesupport (6.0.3.4) + activerecord (6.1.4.1) + activemodel (= 6.1.4.1) + activesupport (= 6.1.4.1) + activestorage (6.1.4.1) + actionpack (= 6.1.4.1) + activejob (= 6.1.4.1) + activerecord (= 6.1.4.1) + activesupport (= 6.1.4.1) + marcel (~> 1.0.0) + mini_mime (>= 1.1.0) + activesupport (6.1.4.1) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) acts_as_list (1.0.4) activerecord (>= 4.2) - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) authority (3.3.0) activesupport (>= 3.0.0) - autoprefixer-rails (9.8.4) - execjs + autoprefixer-rails (10.3.3.0) + execjs (~> 2) aws-eventstream (1.2.0) aws-partitions (1.503.0) aws-sdk (3.1.0) @@ -1288,7 +1292,7 @@ GEM database_cleaner-core (2.0.1) dateslices (0.0.4) rails (> 4) - db_text_search (0.3.1) + db_text_search (0.3.2) activerecord (>= 4.1.15, < 7.0) debug_inspector (1.0.0) devise (4.8.0) @@ -1303,7 +1307,7 @@ GEM engtagger (0.2.1) erubi (1.10.0) eventmachine (1.2.7) - execjs (2.7.0) + execjs (2.8.1) faraday (0.17.3) multipart-post (>= 1.2, < 3) faraday_middleware (0.14.0) @@ -1319,7 +1323,7 @@ GEM flamegraph (0.9.5) font-awesome-rails (4.7.0.7) railties (>= 3.2, < 7) - friendly_id (5.3.0) + friendly_id (5.4.2) activerecord (>= 4.0.0) globalid (0.5.2) activesupport (>= 5.0) @@ -1356,7 +1360,7 @@ GEM image_processing (1.12.1) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) - inline_svg (1.7.1) + inline_svg (1.7.2) activesupport (>= 3.0) nokogiri (>= 1.6) jmespath (1.4.0) @@ -1394,8 +1398,7 @@ GEM nokogiri (>= 1.5.9) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) + marcel (1.0.2) material_icons (2.2.1) railties (>= 3.2) medium-editor-rails (2.3.1) @@ -1411,7 +1414,7 @@ GEM nokogiri (~> 1) rake mini_magick (4.11.0) - mini_mime (1.1.0) + mini_mime (1.1.2) mini_portile2 (2.6.1) mini_racer (0.4.0) libv8-node (~> 15.14.0.0) @@ -1425,10 +1428,8 @@ GEM nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) - nokogumbo (2.0.2) - nokogiri (~> 1.8, >= 1.8.4) - onebox (1.9.29) - addressable (~> 2.7.0) + onebox (2.2.19) + addressable (~> 2.8.0) htmlentities (~> 4.3) multi_json (~> 1.11) mustache @@ -1459,9 +1460,9 @@ GEM nio4r (~> 2.0) puma-heroku (2.0.0) puma (>= 5.0, < 6.0) - pundit (2.1.0) + pundit (2.1.1) activesupport (>= 3.0.0) - racc (1.5.2) + racc (1.6.0) rack (2.2.3) rack-mini-profiler (2.3.3) rack (>= 1.2.0) @@ -1472,20 +1473,20 @@ GEM rack rack-test (1.1.0) rack (>= 1.0, < 3) - rails (6.0.3.4) - actioncable (= 6.0.3.4) - actionmailbox (= 6.0.3.4) - actionmailer (= 6.0.3.4) - actionpack (= 6.0.3.4) - actiontext (= 6.0.3.4) - actionview (= 6.0.3.4) - activejob (= 6.0.3.4) - activemodel (= 6.0.3.4) - activerecord (= 6.0.3.4) - activestorage (= 6.0.3.4) - activesupport (= 6.0.3.4) - bundler (>= 1.3.0) - railties (= 6.0.3.4) + rails (6.1.4.1) + actioncable (= 6.1.4.1) + actionmailbox (= 6.1.4.1) + actionmailer (= 6.1.4.1) + actionpack (= 6.1.4.1) + actiontext (= 6.1.4.1) + actionview (= 6.1.4.1) + activejob (= 6.1.4.1) + activemodel (= 6.1.4.1) + activerecord (= 6.1.4.1) + activestorage (= 6.1.4.1) + activesupport (= 6.1.4.1) + bundler (>= 1.15.0) + railties (= 6.1.4.1) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) @@ -1508,15 +1509,16 @@ GEM rails (>= 5.0, < 7) remotipart (~> 1.3) sassc-rails (>= 1.3, < 3) - railties (6.0.3.4) - actionpack (= 6.0.3.4) - activesupport (= 6.0.3.4) + rails_gravatar (1.0.4) + actionview + railties (6.1.4.1) + actionpack (= 6.1.4.1) + activesupport (= 6.1.4.1) method_source - rake (>= 0.8.7) - thor (>= 0.20.3, < 2.0) + rake (>= 0.13) + thor (~> 1.0) rake (13.0.6) rb-fsevent (0.11.0) - rb-gravatar (1.0.5) rb-inotify (0.10.1) ffi (~> 1.0) react-rails (2.6.1) @@ -1537,10 +1539,9 @@ GEM ruby-vips (2.0.17) ffi (~> 1.9) rubyzip (2.0.0) - sanitize (5.2.1) + sanitize (6.0.0) crass (~> 1.0.2) - nokogiri (>= 1.8.0) - nokogumbo (~> 2.0) + nokogiri (>= 1.12.0) sass-rails (6.0.0) sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) @@ -1590,12 +1591,11 @@ GEM textstat (0.1.6) text-hyphen (~> 1.4, >= 1.4.1) thor (1.1.0) - thread_safe (0.3.6) tilt (2.0.10) timeago_js (3.0.2.2) tribute (3.6.0.0) - tzinfo (1.2.9) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) @@ -1619,7 +1619,7 @@ GEM websocket-extensions (0.1.5) word_count_analyzer (1.0.1) engtagger - zeitwerk (2.4.2) + zeitwerk (2.5.1) PLATFORMS ruby From af9b47839ef26a6ebc4eb3386017c19a9759ce71 Mon Sep 17 00:00:00 2001 From: drusepth Date: Mon, 25 Oct 2021 21:06:07 -0700 Subject: [PATCH 17/47] safety on job --- app/jobs/cache_sum_attribute_word_count_job.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/jobs/cache_sum_attribute_word_count_job.rb b/app/jobs/cache_sum_attribute_word_count_job.rb index e8d8ebd4..63dad69a 100644 --- a/app/jobs/cache_sum_attribute_word_count_job.rb +++ b/app/jobs/cache_sum_attribute_word_count_job.rb @@ -6,8 +6,9 @@ class CacheSumAttributeWordCountJob < ApplicationJob entity_id = args.shift entity = entity_type.constantize.find_by(id: entity_id) - sum_attribute_word_count = Attribute.where(entity_type: entity_type, entity_id: entity_id).sum(:word_count_cache) + return if entity.nil? + sum_attribute_word_count = Attribute.where(entity_type: entity_type, entity_id: entity_id).sum(:word_count_cache) update = entity.word_count_updates.find_or_initialize_by( for_date: DateTime.current, ) From 89cf300b51debec7d9e9c010f9a22551c8f9660b Mon Sep 17 00:00:00 2001 From: drusepth Date: Mon, 25 Oct 2021 21:06:19 -0700 Subject: [PATCH 18/47] add helpful cache rake task --- lib/tasks/backfill.rake | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/tasks/backfill.rake b/lib/tasks/backfill.rake index f2ed3945..bd36c8ed 100644 --- a/lib/tasks/backfill.rake +++ b/lib/tasks/backfill.rake @@ -23,6 +23,36 @@ namespace :backfill do end end + task :most_used_attribute_word_counts: :environment do + word_counts = {} + Attribute.where(word_count_cache: nil).group(:value).order('count_id DESC').limit(500).count(:id).each do |value, count| + word_count = WordCountAnalyzer::Counter.new( + ellipsis: 'no_special_treatment', + hyperlink: 'count_as_one', + contraction: 'count_as_one', + hyphenated_word: 'count_as_one', + date: 'no_special_treatment', + number: 'count', + numbered_list: 'ignore', + xhtml: 'remove', + forward_slash: 'count_as_multiple_except_dates', + backslash: 'count_as_one', + dotted_line: 'ignore', + dashed_line: 'ignore', + underscore: 'ignore', + stray_punctuation: 'ignore' + ).count(value) + + word_counts[word_count] ||= [] + word_counts[word_count].push value + puts "#{value} x #{count}: #{word_count} words" + end + + word_counts.each do |count, values| + Attribute.where(word_count_cache: nil, value: values).update_all(word_count_cache: count) + end + end + desc "Backfill cached word counts on all documents" task document_word_count_caches: :environment do Document.where(cached_word_count: nil).where.not(body: [nil, ""]).find_each(batch_size: 500) do |document| From d0ccf2b1c1c444742fd8f53023b65e433e9aa0ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Oct 2021 04:10:23 +0000 Subject: [PATCH 19/47] Bump puma from 5.5.0 to 5.5.2 Bumps [puma](https://github.com/puma/puma) from 5.5.0 to 5.5.2. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v5.5.0...v5.5.2) --- updated-dependencies: - dependency-name: puma dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d29d4ec1..c02a8552 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1456,7 +1456,7 @@ GEM coderay (~> 1.1) method_source (~> 1.0) public_suffix (4.0.6) - puma (5.5.0) + puma (5.5.1) nio4r (~> 2.0) puma-heroku (2.0.0) puma (>= 5.0, < 6.0) From 3ec0f77fad84e2cf4d827546f477e93806e01d82 Mon Sep 17 00:00:00 2001 From: drusepth Date: Tue, 26 Oct 2021 10:21:55 -0700 Subject: [PATCH 20/47] typo --- lib/tasks/backfill.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/backfill.rake b/lib/tasks/backfill.rake index bd36c8ed..d8db6a3e 100644 --- a/lib/tasks/backfill.rake +++ b/lib/tasks/backfill.rake @@ -23,7 +23,7 @@ namespace :backfill do end end - task :most_used_attribute_word_counts: :environment do + task most_used_attribute_word_counts: :environment do word_counts = {} Attribute.where(word_count_cache: nil).group(:value).order('count_id DESC').limit(500).count(:id).each do |value, count| word_count = WordCountAnalyzer::Counter.new( From ac4d98a8bc9092709c99dc1eea725ba8e007e4f0 Mon Sep 17 00:00:00 2001 From: drusepth Date: Tue, 26 Oct 2021 10:22:11 -0700 Subject: [PATCH 21/47] typo --- lib/tasks/backfill.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/backfill.rake b/lib/tasks/backfill.rake index bd36c8ed..d8db6a3e 100644 --- a/lib/tasks/backfill.rake +++ b/lib/tasks/backfill.rake @@ -23,7 +23,7 @@ namespace :backfill do end end - task :most_used_attribute_word_counts: :environment do + task most_used_attribute_word_counts: :environment do word_counts = {} Attribute.where(word_count_cache: nil).group(:value).order('count_id DESC').limit(500).count(:id).each do |value, count| word_count = WordCountAnalyzer::Counter.new( From c111e9ec5d42533c35fd166086dfcd0ba79416ca Mon Sep 17 00:00:00 2001 From: drusepth Date: Tue, 26 Oct 2021 23:34:35 -0700 Subject: [PATCH 22/47] Gravatar fix --- app/views/layouts/forum.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/layouts/forum.html.erb b/app/views/layouts/forum.html.erb index 1375a61a..2901e560 100644 --- a/app/views/layouts/forum.html.erb +++ b/app/views/layouts/forum.html.erb @@ -10,7 +10,7 @@ <%= javascript_include_tag 'thredded', async: !Rails.application.config.assets.debug, defer: true %> - <%== Gravatar.prefetch_dns %> + <%== RailsGravatar.prefetch_dns_tag %> <%= render 'layouts/sidenav' if user_signed_in? %> From 4a57426b8e061f9a78eb3e74fe9e98af0beb4768 Mon Sep 17 00:00:00 2001 From: drusepth Date: Wed, 27 Oct 2021 00:01:05 -0700 Subject: [PATCH 23/47] resolve 6.1 migration issues --- db/schema.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/schema.rb b/db/schema.rb index 9c3dd977..187d87ad 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_10_07_234707) do +ActiveRecord::Schema.define(version: 2021_10_27_065954) do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false From 69386315245bf4e9b7e1452a4f8d5dee709dcf27 Mon Sep 17 00:00:00 2001 From: drusepth Date: Wed, 27 Oct 2021 00:12:06 -0700 Subject: [PATCH 24/47] I... forgot the migration --- ...27065954_add_service_name_migration_again.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 db/migrate/20211027065954_add_service_name_migration_again.rb diff --git a/db/migrate/20211027065954_add_service_name_migration_again.rb b/db/migrate/20211027065954_add_service_name_migration_again.rb new file mode 100644 index 00000000..e352ceb9 --- /dev/null +++ b/db/migrate/20211027065954_add_service_name_migration_again.rb @@ -0,0 +1,17 @@ +class AddServiceNameMigrationAgain < ActiveRecord::Migration[6.1] + def up + unless column_exists?(:active_storage_blobs, :service_name) + add_column :active_storage_blobs, :service_name, :string + + if configured_service = ActiveStorage::Blob.service.name + ActiveStorage::Blob.unscoped.update_all(service_name: configured_service) + end + + change_column :active_storage_blobs, :service_name, :string, null: false + end + end + + def down + remove_column :active_storage_blobs, :service_name + end +end From 84ab204c801d02fd3cf0c32750ac8f19ad919265 Mon Sep 17 00:00:00 2001 From: drusepth Date: Wed, 10 Nov 2021 21:55:42 -0800 Subject: [PATCH 25/47] skip favorite_control queries --- app/views/content/display/_favorite_control.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/content/display/_favorite_control.html.erb b/app/views/content/display/_favorite_control.html.erb index d7c727b3..9f14be78 100644 --- a/app/views/content/display/_favorite_control.html.erb +++ b/app/views/content/display/_favorite_control.html.erb @@ -8,7 +8,7 @@ end %> -<% if content.persisted? && user_signed_in? && content.user == current_user %> +<% if content.persisted? && user_signed_in? && content.user_id == current_user.try(:id) %> Date: Thu, 11 Nov 2021 00:04:24 -0800 Subject: [PATCH 26/47] cache image uploads to avoid n+1 query on content#index pages --- app/controllers/content_controller.rb | 5 +++++ app/views/content/list/_cards.html.erb | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/controllers/content_controller.rb b/app/controllers/content_controller.rb index 9b99761c..4eea63bc 100644 --- a/app/controllers/content_controller.rb +++ b/app/controllers/content_controller.rb @@ -55,6 +55,11 @@ class ContentController < ApplicationController @questioned_content = @content.sample @attribute_field_to_question = SerendipitousService.question_for(@questioned_content) + @random_image_including_private_pool_cache = ImageUpload.where( + content_type: @content_type_class.name, + content_id: @content.pluck(:id) + ).group_by { |image| [image.content_type, image.content_id] } + # Uh, do we ever actually make JSON requests to logged-in user pages? respond_to do |format| format.html { render 'content/index' } diff --git a/app/views/content/list/_cards.html.erb b/app/views/content/list/_cards.html.erb index f0e04816..d447532e 100644 --- a/app/views/content/list/_cards.html.erb +++ b/app/views/content/list/_cards.html.erb @@ -1,10 +1,15 @@
<% content_list.each.with_index do |content, i| %> + <% + content_image = @random_image_including_private_pool_cache[[content.page_type, content.id]] + .sample + .try(:src, :medium) || asset_path("card-headers/#{content.page_type.downcase.pluralize}.jpg") + %>
<%= render partial: 'content/display/favorite_control', locals: { content: content } %> -
+
From 8cd54092cea8ee963f24a240411eddce148ee955 Mon Sep 17 00:00:00 2001 From: drusepth Date: Thu, 11 Nov 2021 00:19:36 -0800 Subject: [PATCH 27/47] skip n+1 on linkable images in content#edit --- app/controllers/content_controller.rb | 4 ++++ .../content/form/field_types/_migration_link.html.erb | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/controllers/content_controller.rb b/app/controllers/content_controller.rb index 4eea63bc..ec99a8d9 100644 --- a/app/controllers/content_controller.rb +++ b/app/controllers/content_controller.rb @@ -152,6 +152,10 @@ class ContentController < ApplicationController return redirect_to @content, notice: t(:no_do_permission) end + @random_image_including_private_pool_cache = ImageUpload.where( + user_id: current_user.id, + ).group_by { |image| [image.content_type, image.content_id] } + respond_to do |format| format.html { render 'content/edit', locals: { content: @content } } format.json { render json: @content } diff --git a/app/views/content/form/field_types/_migration_link.html.erb b/app/views/content/form/field_types/_migration_link.html.erb index b879ae13..034e2d64 100644 --- a/app/views/content/form/field_types/_migration_link.html.erb +++ b/app/views/content/form/field_types/_migration_link.html.erb @@ -30,8 +30,13 @@ ) %> <% @linkables_raw.fetch(page_type.name, []).each do |linkable| %> + <% + linkable_image = @random_image_including_private_pool_cache.fetch([linkable.page_type, linkable.id], []) + .sample + .try(:src, :thumb) || asset_path("card-headers/#{linkable.page_type.downcase.pluralize}.jpg") + %>