From: Adam Hoyle Date: Sat, 10 Sep 2022 15:10:08 +0000 (+0100) Subject: Merge branch 'master' into feature/add-communities-page X-Git-Tag: live~1930^2~2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/7e5cbe87ed37f9cba8224fa4049047d7f981f66a?ds=sidebyside;hp=-c Merge branch 'master' into feature/add-communities-page # Conflicts: # Gemfile.lock # package.json # yarn.lock --- 7e5cbe87ed37f9cba8224fa4049047d7f981f66a diff --combined Gemfile index e17772d34,718bd262b..7bad308b4 --- a/Gemfile +++ b/Gemfile @@@ -1,7 -1,7 +1,7 @@@ source "https://rubygems.org" # Require rails - gem "rails", "6.1.4.1" + gem "rails", "7.0.4" # Require json for multi_json gem "json" @@@ -36,23 -36,25 +36,26 @@@ gem "image_optim_rails # Use argon2 for password hashing gem "argon2" + # Support brotli compression for assets + gem "sprockets-exporters_pack" + # Load rails plugins gem "actionpack-page_caching", ">= 1.2.0" gem "activerecord-import" gem "active_record_union" - gem "bootstrap", "~> 4.5.0" - gem "bootstrap_form", "~> 4.0" + gem "bootstrap", "~> 5.1.0" + gem "bootstrap_form", "~> 5.0" gem "cancancan" - gem "composite_primary_keys", "~> 13.0.0", "!= 13.0.1" + gem "composite_primary_keys", "~> 14.0.0" gem "config" gem "delayed_job_active_record" +gem "frozen_record" gem "http_accept_language", "~> 2.1.1" - gem "i18n-js", ">= 3.0.0" + gem "i18n-js", "~> 3.9.2" gem "oauth-plugin", ">= 0.5.1" gem "openstreetmap-deadlock_retry", ">= 1.3.1", :require => "deadlock_retry" gem "rack-cors" - gem "rails-i18n", "~> 6.0.0" + gem "rails-i18n", "~> 7.0.0" gem "rinku", ">= 2.0.6", :require => "rails_rinku" gem "strong_migrations" gem "validates_email_format_of", ">= 1.5.1" @@@ -74,7 -76,7 +77,7 @@@ gem "omniauth-rails_csrf_protection", " gem "omniauth-windowslive" # Doorkeeper for OAuth2 - gem "doorkeeper" + gem "doorkeeper", "~> 5.5.4" gem "doorkeeper-i18n" # Markdown formatting support @@@ -145,14 -147,14 +148,14 @@@ group :test d gem "erb_lint", :require => false gem "factory_bot_rails" gem "minitest", "~> 5.1" - gem "puma", "~> 5.3" + gem "puma", "~> 5.6" gem "rails-controller-testing" gem "rubocop" gem "rubocop-minitest" gem "rubocop-performance" gem "rubocop-rails" gem "rubocop-rake" - gem "selenium-webdriver", "~> 3.142.7" + gem "selenium-webdriver" gem "simplecov", :require => false gem "simplecov-lcov", :require => false gem "webmock" diff --combined Gemfile.lock index bfd0152c1,4de9076ef..6e2c335eb --- a/Gemfile.lock +++ b/Gemfile.lock @@@ -1,132 -1,138 +1,138 @@@ GEM remote: https://rubygems.org/ specs: - aasm (5.2.0) + aasm (5.3.0) concurrent-ruby (~> 1.0) - actioncable (6.1.4.1) - actionpack (= 6.1.4.1) - activesupport (= 6.1.4.1) + actioncable (7.0.4) + actionpack (= 7.0.4) + activesupport (= 7.0.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - 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) + actionmailbox (7.0.4) + actionpack (= 7.0.4) + activejob (= 7.0.4) + activerecord (= 7.0.4) + activestorage (= 7.0.4) + activesupport (= 7.0.4) mail (>= 2.7.1) - 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) + net-imap + net-pop + net-smtp + actionmailer (7.0.4) + actionpack (= 7.0.4) + actionview (= 7.0.4) + activejob (= 7.0.4) + activesupport (= 7.0.4) mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp rails-dom-testing (~> 2.0) - actionpack (6.1.4.1) - actionview (= 6.1.4.1) - activesupport (= 6.1.4.1) - rack (~> 2.0, >= 2.0.9) + actionpack (7.0.4) + actionview (= 7.0.4) + activesupport (= 7.0.4) + rack (~> 2.0, >= 2.2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) actionpack-page_caching (1.2.4) actionpack (>= 4.0.0) - 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) + actiontext (7.0.4) + actionpack (= 7.0.4) + activerecord (= 7.0.4) + activestorage (= 7.0.4) + activesupport (= 7.0.4) + globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (6.1.4.1) - activesupport (= 6.1.4.1) + actionview (7.0.4) + activesupport (= 7.0.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) active_record_union (1.3.0) activerecord (>= 4.0) - activejob (6.1.4.1) - activesupport (= 6.1.4.1) + activejob (7.0.4) + activesupport (= 7.0.4) globalid (>= 0.3.6) - activemodel (6.1.4.1) - activesupport (= 6.1.4.1) - activerecord (6.1.4.1) - activemodel (= 6.1.4.1) - activesupport (= 6.1.4.1) - activerecord-import (1.2.0) - activerecord (>= 3.2) - 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) + activemodel (7.0.4) + activesupport (= 7.0.4) + activerecord (7.0.4) + activemodel (= 7.0.4) + activesupport (= 7.0.4) + activerecord-import (1.4.0) + activerecord (>= 4.2) + activestorage (7.0.4) + actionpack (= 7.0.4) + activejob (= 7.0.4) + activerecord (= 7.0.4) + activesupport (= 7.0.4) + marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.4.1) + activesupport (7.0.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - annotate (3.1.1) - activerecord (>= 3.2, < 7.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) + annotate (3.2.0) + activerecord (>= 3.2, < 8.0) rake (>= 10.4, < 14.0) argon2 (2.1.1) ffi (~> 1.14) ffi-compiler (~> 1.0) ast (2.4.2) - autoprefixer-rails (10.3.3.0) + autoprefixer-rails (10.4.7.0) execjs (~> 2) aws-eventstream (1.2.0) - aws-partitions (1.539.0) - aws-sdk-core (3.124.0) + aws-partitions (1.628.0) + aws-sdk-core (3.144.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.52.0) - aws-sdk-core (~> 3, >= 3.122.0) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.58.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.109.0) - aws-sdk-core (~> 3, >= 3.122.0) + aws-sdk-s3 (1.114.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sigv4 (1.4.0) + aws-sigv4 (1.5.1) aws-eventstream (~> 1, >= 1.0.2) better_errors (2.9.1) coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) - better_html (1.0.16) - actionview (>= 4.0) - activesupport (>= 4.0) + better_html (2.0.1) + actionview (>= 6.0) + activesupport (>= 6.0) ast (~> 2.0) erubi (~> 1.4) - html_tokenizer (~> 0.0.6) parser (>= 2.4) smart_properties binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) - bootsnap (1.9.3) - msgpack (~> 1.0) - bootstrap (4.5.3) + bootsnap (1.13.0) + msgpack (~> 1.2) + bootstrap (5.1.3) autoprefixer-rails (>= 9.1.0) - popper_js (>= 1.14.3, < 2) + popper_js (>= 2.9.3, < 3) sassc-rails (>= 2.0.0) - bootstrap_form (4.5.0) + bootstrap_form (5.1.0) actionpack (>= 5.2) activemodel (>= 5.2) - brakeman (5.1.2) + brakeman (5.3.1) + brotli (0.4.0) browser (5.3.1) builder (3.2.4) bzip2-ffi (1.1.0) ffi (~> 1.0) - cancancan (3.3.0) - canonical-rails (0.2.13) - rails (>= 4.1, <= 7.0) - capybara (3.36.0) + cancancan (3.4.0) + canonical-rails (0.2.14) + rails (>= 4.1, <= 7.1) + capybara (3.37.1) addressable matrix mini_mime (>= 0.1.3) @@@ -135,45 -141,45 +141,45 @@@ rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - childprocess (3.0.0) + childprocess (4.1.0) coderay (1.1.3) - composite_primary_keys (13.0.0) - activerecord (~> 6.1.0) - concurrent-ruby (1.1.9) - config (3.1.0) + composite_primary_keys (14.0.4) + activerecord (~> 7.0.2) + concurrent-ruby (1.1.10) + config (4.0.0) deep_merge (~> 1.2, >= 1.2.1) dry-validation (~> 1.0, >= 1.0.0) connection_pool (2.2.5) crack (0.4.5) rexml crass (1.0.6) - dalli (3.1.0) + dalli (3.2.2) debug_inspector (1.1.0) - deep_merge (1.2.1) - delayed_job (4.1.9) - activesupport (>= 3.0, < 6.2) - delayed_job_active_record (4.1.6) - activerecord (>= 3.0, < 6.2) + deep_merge (1.2.2) + delayed_job (4.1.10) + activesupport (>= 3.0, < 8.0) + delayed_job_active_record (4.1.7) + activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) + digest (3.1.0) docile (1.4.0) doorkeeper (5.5.4) railties (>= 5) - doorkeeper-i18n (5.2.3) + doorkeeper-i18n (5.2.4) doorkeeper (>= 5.2) - dry-configurable (0.13.0) + dry-configurable (0.15.0) concurrent-ruby (~> 1.0) dry-core (~> 0.6) - dry-container (0.9.0) + dry-container (0.10.1) concurrent-ruby (~> 1.0) - dry-configurable (~> 0.13, >= 0.13.0) - dry-core (0.7.1) + dry-core (0.8.1) concurrent-ruby (~> 1.0) - dry-inflector (0.2.1) - dry-initializer (3.0.4) + dry-inflector (0.3.0) + dry-initializer (3.1.1) dry-logic (1.2.0) concurrent-ruby (~> 1.0) dry-core (~> 0.5, >= 0.5) - dry-schema (1.8.0) + dry-schema (1.10.2) concurrent-ruby (~> 1.0) dry-configurable (~> 0.13, >= 0.13.0) dry-core (~> 0.5, >= 0.5) @@@ -186,55 -192,37 +192,39 @@@ dry-core (~> 0.5, >= 0.5) dry-inflector (~> 0.1, >= 0.1.2) dry-logic (~> 1.0, >= 1.0.2) - dry-validation (1.7.0) + dry-validation (1.8.1) concurrent-ruby (~> 1.0) dry-container (~> 0.7, >= 0.7.1) dry-core (~> 0.5, >= 0.5) dry-initializer (~> 3.0) dry-schema (~> 1.8, >= 1.8.0) - erb_lint (0.1.1) + erb_lint (0.2.0) activesupport - better_html (~> 1.0.7) - html_tokenizer + better_html (>= 2.0.1) parser (>= 2.7.1.4) rainbow rubocop smart_properties - erubi (1.10.0) + erubi (1.11.0) execjs (2.8.1) exifr (1.3.9) - factory_bot (6.2.0) + factory_bot (6.2.1) activesupport (>= 5.0.0) factory_bot_rails (6.2.0) factory_bot (~> 6.2.0) railties (>= 5.0.0) - faraday (1.8.0) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0.1) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - multipart-post (>= 1.2, < 3) + faraday (2.5.2) + faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - ffi (1.15.4) + faraday-net_http (3.0.0) + ffi (1.15.5) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake ffi-libarchive (1.1.3) ffi (~> 1.0) + frozen_record (0.26.0) + activemodel fspath (3.1.2) gd2-ffij (0.4.0) ffi (>= 1.0.0) @@@ -242,12 -230,11 +232,11 @@@ activesupport (>= 5.0) hashdiff (1.0.1) hashie (5.0.0) - html_tokenizer (0.0.7) htmlentities (4.3.4) http_accept_language (2.1.1) - i18n (1.8.11) + i18n (1.12.0) concurrent-ruby (~> 1.0) - i18n-js (3.9.0) + i18n-js (3.9.2) i18n (>= 0.6.6) image_optim (0.31.1) exifr (~> 1.2, >= 1.2.2) @@@ -255,35 -242,36 +244,36 @@@ image_size (>= 1.5, < 4) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) - image_optim_rails (0.4.3) + image_optim_rails (0.5.0) image_optim (~> 0.24) - rails + railties sprockets - image_processing (1.12.1) + image_processing (1.12.2) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) - image_size (3.0.1) - in_threads (1.5.4) - jbuilder (2.11.3) + image_size (3.0.2) + in_threads (1.6.0) + jbuilder (2.11.5) + actionview (>= 5.0.0) activesupport (>= 5.0.0) - jmespath (1.4.0) - jquery-rails (4.4.0) + jmespath (1.6.1) + jquery-rails (4.5.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - json (2.6.1) - jwt (2.3.0) + json (2.6.2) + jwt (2.5.0) kgio (2.11.4) - kramdown (2.3.1) + kramdown (2.4.0) rexml - libxml-ruby (3.2.1) - listen (3.7.0) + libxml-ruby (3.2.3) + listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logstasher (2.1.5) activesupport (>= 5.2) request_store - loofah (2.12.0) + loofah (2.18.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) mail (2.7.1) @@@ -294,15 -282,28 +284,28 @@@ method_source (1.0.0) mini_magick (4.11.0) mini_mime (1.1.2) - mini_portile2 (2.6.1) - minitest (5.14.4) - msgpack (1.4.2) + mini_portile2 (2.8.0) + minitest (5.16.3) + msgpack (1.5.6) multi_json (1.15.0) multi_xml (0.6.0) - multipart-post (2.1.1) + net-imap (0.2.3) + digest + net-protocol + strscan + net-pop (0.1.1) + digest + net-protocol + timeout + net-protocol (0.1.3) + timeout + net-smtp (0.3.1) + digest + net-protocol + timeout nio4r (2.5.8) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) + nokogiri (1.13.8) + mini_portile2 (~> 2.8.0) racc (~> 1.4) oauth (0.4.7) oauth-plugin (0.5.1) @@@ -310,8 -311,8 +313,8 @@@ oauth (~> 0.4.4) oauth2 (>= 0.5.0) rack - oauth2 (1.4.7) - faraday (>= 0.8, < 2.0) + oauth2 (1.4.10) + faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) multi_json (~> 1.3) multi_xml (~> 0.5) @@@ -325,7 -326,7 +328,7 @@@ omniauth-github (2.0.0) omniauth (~> 2.0) omniauth-oauth2 (~> 1.7.1) - omniauth-google-oauth2 (1.0.0) + omniauth-google-oauth2 (1.0.1) jwt (>= 2.0) oauth2 (~> 1.1) omniauth (~> 2.0) @@@ -336,57 -337,56 +339,56 @@@ omniauth-oauth (1.2.0) oauth omniauth (>= 1.0, < 3) - omniauth-oauth2 (1.7.2) - oauth2 (~> 1.4) + omniauth-oauth2 (1.7.3) + oauth2 (>= 1.4, < 3) omniauth (>= 1.9, < 3) omniauth-openid (2.0.1) omniauth (>= 1.0, < 3.0) rack-openid (~> 1.4.0) - omniauth-rails_csrf_protection (1.0.0) + omniauth-rails_csrf_protection (1.0.1) actionpack (>= 4.2) omniauth (~> 2.0) omniauth-windowslive (0.0.12) multi_json (~> 1.12) omniauth-oauth2 (~> 1.4) openstreetmap-deadlock_retry (1.3.1) - parallel (1.21.0) - parser (3.0.3.1) + parallel (1.22.1) + parser (3.1.2.1) ast (~> 2.4.1) - pg (1.2.3) - popper_js (1.16.0) + pg (1.4.3) + popper_js (2.11.5) progress (3.6.0) - public_suffix (4.0.6) - puma (5.5.2) + public_suffix (5.0.0) + puma (5.6.5) nio4r (~> 2.0) quad_tile (1.0.1) r2 (0.2.7) racc (1.6.0) - rack (2.2.3) + rack (2.2.4) rack-cors (1.1.1) rack (>= 2.0.0) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (2.1.0) + rack-protection (2.2.2) rack - rack-test (1.1.0) - rack (>= 1.0, < 3) + rack-test (2.0.2) + rack (>= 1.3) rack-uri_sanitizer (0.0.2) - 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) + rails (7.0.4) + actioncable (= 7.0.4) + actionmailbox (= 7.0.4) + actionmailer (= 7.0.4) + actionpack (= 7.0.4) + actiontext (= 7.0.4) + actionview (= 7.0.4) + activejob (= 7.0.4) + activemodel (= 7.0.4) + activerecord (= 7.0.4) + activestorage (= 7.0.4) + activesupport (= 7.0.4) bundler (>= 1.15.0) - railties (= 6.1.4.1) - sprockets-rails (>= 2.0.0) + railties (= 7.0.4) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@@ -394,48 -394,50 +396,50 @@@ rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.4.2) + rails-html-sanitizer (1.4.3) loofah (~> 2.3) - rails-i18n (6.0.0) + rails-i18n (7.0.5) i18n (>= 0.7, < 2) - railties (>= 6.0.0, < 7) - railties (6.1.4.1) - actionpack (= 6.1.4.1) - activesupport (= 6.1.4.1) + railties (>= 6.0.0, < 8) + railties (7.0.4) + actionpack (= 7.0.4) + activesupport (= 7.0.4) method_source - rake (>= 0.13) + rake (>= 12.2) thor (~> 1.0) - rainbow (3.0.0) + zeitwerk (~> 2.5) + rainbow (3.1.1) rake (13.0.6) - rb-fsevent (0.11.0) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - regexp_parser (2.2.0) - request_store (1.5.0) + regexp_parser (2.5.0) + request_store (1.5.1) rack (>= 1.4) rexml (3.2.5) rinku (2.0.6) rotp (6.2.0) - rubocop (1.23.0) + rubocop (1.36.0) + json (~> 2.3) parallel (~> 1.10) - parser (>= 3.0.0.0) + parser (>= 3.1.2.1) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) - rexml - rubocop-ast (>= 1.12.0, < 2.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.20.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.14.0) - parser (>= 3.0.1.1) - rubocop-minitest (0.17.0) + rubocop-ast (1.21.0) + parser (>= 3.1.1.0) + rubocop-minitest (0.22.0) rubocop (>= 0.90, < 2.0) - rubocop-performance (1.12.0) + rubocop-performance (1.14.3) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.12.4) + rubocop-rails (2.16.0) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.7.0, < 2.0) + rubocop (>= 1.33.0, < 2.0) rubocop-rake (0.6.0) rubocop (~> 1.0) ruby-openid (2.9.2) @@@ -455,47 -457,55 +459,55 @@@ sprockets (> 3.0) sprockets-rails tilt - secure_headers (6.3.3) - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) + secure_headers (6.4.0) + selenium-webdriver (4.4.0) + childprocess (>= 0.5, < 5.0) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) simplecov (0.21.2) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov-lcov (0.8.0) - simplecov_json_formatter (0.1.3) - smart_properties (1.16.3) - sprockets (4.0.2) + simplecov_json_formatter (0.1.4) + smart_properties (1.17.0) + sprockets (4.1.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.4.1) + sprockets-exporters_pack (0.1.2) + brotli (>= 0.2.0) + sprockets (>= 4.0.0.beta3) + sprockets-rails (3.4.2) actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - strong_migrations (0.7.8) - activerecord (>= 5) - terser (1.1.8) + strong_migrations (1.3.0) + activerecord (>= 5.2) + strscan (3.0.4) + terser (1.1.12) execjs (>= 0.3.0, < 3) - thor (1.1.0) - tilt (2.0.10) - tzinfo (2.0.4) + thor (1.2.1) + tilt (2.0.11) + timeout (0.3.0) + tzinfo (2.0.5) concurrent-ruby (~> 1.0) - unicode-display_width (2.1.0) - validates_email_format_of (1.6.3) + unicode-display_width (2.2.0) + validates_email_format_of (1.7.2) i18n vendorer (0.2.0) - webmock (3.14.0) + webmock (3.18.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) + websocket (1.2.9) websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.5.1) + zeitwerk (2.6.0) PLATFORMS ruby @@@ -512,31 -522,30 +524,31 @@@ DEPENDENCIE better_errors binding_of_caller bootsnap (>= 1.4.2) - bootstrap (~> 4.5.0) - bootstrap_form (~> 4.0) + bootstrap (~> 5.1.0) + bootstrap_form (~> 5.0) brakeman browser bzip2-ffi cancancan canonical-rails capybara (>= 2.15) - composite_primary_keys (~> 13.0.0, != 13.0.1) + composite_primary_keys (~> 14.0.0) config connection_pool dalli debug_inspector delayed_job_active_record - doorkeeper + doorkeeper (~> 5.5.4) doorkeeper-i18n erb_lint factory_bot_rails faraday ffi-libarchive + frozen_record gd2-ffij (>= 0.4.0) htmlentities http_accept_language (~> 2.1.1) - i18n-js (>= 3.0.0) + i18n-js (~> 3.9.2) image_optim_rails image_processing jbuilder (~> 2.7) @@@ -561,14 -570,14 +573,14 @@@ omniauth-windowslive openstreetmap-deadlock_retry (>= 1.3.1) pg - puma (~> 5.3) + puma (~> 5.6) quad_tile (~> 1.0.1) r2 (~> 0.2.7) rack-cors rack-uri_sanitizer - rails (= 6.1.4.1) + rails (= 7.0.4) rails-controller-testing - rails-i18n (~> 6.0.0) + rails-i18n (~> 7.0.0) rinku (>= 2.0.6) rotp rubocop @@@ -579,9 -588,10 +591,10 @@@ sanitize sassc-rails secure_headers - selenium-webdriver (~> 3.142.7) + selenium-webdriver simplecov simplecov-lcov + sprockets-exporters_pack strong_migrations terser validates_email_format_of (>= 1.5.1) @@@ -589,4 -599,4 +602,4 @@@ webmock BUNDLED WITH - 2.2.19 + 2.3.7 diff --combined app/abilities/ability.rb index f33ce182d,e9fd6f7bb..e022f7993 --- a/app/abilities/ability.rb +++ b/app/abilities/ability.rb @@@ -7,7 -7,7 +7,7 @@@ class Abilit can [:relation, :relation_history, :way, :way_history, :node, :node_history, :changeset, :note, :new_note, :query], :browse can :search, :direction - can [:index, :permalink, :edit, :help, :fixthemap, :offline, :export, :about, :preview, :copyright, :key, :id], :site + can [:index, :permalink, :edit, :help, :fixthemap, :offline, :export, :about, :communities, :preview, :copyright, :key, :id], :site can [:finish, :embed], :export can [:search, :search_latlon, :search_ca_postcode, :search_osm_nominatim, :search_geonames, :search_osm_nominatim_reverse, :search_geonames_reverse], :geocoder @@@ -23,7 -23,7 +23,7 @@@ can [:index, :show], Redaction can [:new, :create, :destroy], :session can [:index, :show, :data, :georss, :picture, :icon], Trace - can [:terms, :new, :create, :save, :show, :auth_success, :auth_failure], User + can [:terms, :new, :create, :save, :suspended, :show, :auth_success, :auth_failure], User can [:index, :show, :blocks_on, :blocks_by], UserBlock can [:index, :show], Node can [:index, :show, :full, :ways_for_node], Way @@@ -36,12 -36,14 +36,14 @@@ if user can :welcome, :site can [:revoke, :authorize], :oauth + can [:show], :deletion if Settings.status != "database_offline" can [:index, :new, :create, :show, :edit, :update, :destroy], ClientApplication can [:index, :new, :create, :show, :edit, :update, :destroy], :oauth2_application can [:index, :destroy], :oauth2_authorized_application can [:new, :show, :create, :destroy], :oauth2_authorization + can [:edit, :update, :destroy], :account can [:show], :dashboard can [:new, :create, :edit, :update, :comment, :subscribe, :unsubscribe], DiaryEntry can [:make_friend, :remove_friend], Friendship diff --combined app/controllers/site_controller.rb index 50435ca85,02852dc67..9d9cf0f39 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@@ -7,6 -7,7 +7,7 @@@ class SiteController < ApplicationContr before_action :redirect_browse_params, :only => :index before_action :redirect_map_params, :only => [:index, :edit, :export] before_action :require_oauth, :only => [:index] + before_action :require_user, :only => [:id] before_action :update_totp, :only => [:index] authorize_resource :class => false @@@ -106,10 -107,6 +107,10 @@@ @locale = params[:about_locale] || I18n.locale end + def communities + @local_chapters = Community.where(:type => "osm-lc").where.not(:id => "OSMF") + end + def export; end def offline; end diff --combined app/views/layouts/_header.html.erb index 904665ca7,27314cfc7..e4f640e35 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@@ -18,7 -18,7 +18,7 @@@ :class => "btn btn-outline-primary geolink editlink", :id => "editanchor", :data => { :editor => preferred_editor } %> - +