diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f9bb078e7..baef2aab2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,8 @@ jobs: fail-fast: false matrix: ruby: - - '3.0' - - '3.1' + - '3.2' + - '3.3' db: - mysql - postgresql diff --git a/.ruby-version b/.ruby-version index 8c50098d8..eb39e5382 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1 +3.3 diff --git a/Changelog.md b/Changelog.md index 114d08405..01f364ad8 100644 --- a/Changelog.md +++ b/Changelog.md @@ -34,9 +34,9 @@ With this release, we switched from `unicorn` to `puma` to run our applications. We use yarn to install the frontend dependencies now, so you need to have that installed. See here for how to install it: https://yarnpkg.com/en/docs/install -## Suggested Ruby version: 3.1 +## Suggested Ruby version: 3.3 -We recommend setting up new pods using Ruby 3.1, and updating existing pods to this version as well. Ruby 2.7 is EOL and no longer supported. +We recommend setting up new pods using Ruby 3.3, and updating existing pods to this version as well. Ruby 2.7 is EOL and no longer supported. ## Refactor * Add bootstrapping for using ECMAScript 6 with automatic transpiling for compatibility [#7581](https://github.com/diaspora/diaspora/pull/7581) [#8397](https://github.com/diaspora/diaspora/pull/8397) @@ -53,7 +53,7 @@ We recommend setting up new pods using Ruby 3.1, and updating existing pods to t * Drop `strip_exif` flag and always remove exif data from uploaded images [#8417](https://github.com/diaspora/diaspora/pull/8417) * Replace `apparition` with `cuprite` [#8418](https://github.com/diaspora/diaspora/pull/8418) * Remove `i18n-inflector-rails` for translations [#8420](https://github.com/diaspora/diaspora/pull/8420) -* Add ruby 3.0 and 3.1 support [#8423](https://github.com/diaspora/diaspora/pull/8423) [#8426](https://github.com/diaspora/diaspora/pull/8426) [#8427](https://github.com/diaspora/diaspora/pull/8427) +* Add ruby 3 support [#8423](https://github.com/diaspora/diaspora/pull/8423) [#8426](https://github.com/diaspora/diaspora/pull/8426) [#8427](https://github.com/diaspora/diaspora/pull/8427) [#8448](https://github.com/diaspora/diaspora/pull/8448) * Add CORS headers to nodeinfo endpoints to allow for client-side fetching [#8436](https://github.com/diaspora/diaspora/pull/8436) ## Bug fixes diff --git a/Gemfile b/Gemfile index d286fb931..7f8d251b3 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" -gem "rails", "6.1.7.4" +gem "rails", "6.1.7.8" # needed for actionmailer, can be removed when upgrading to rails 7 gem "net-imap", require: false @@ -11,11 +11,11 @@ gem "net-smtp", require: false # Legacy Rails features, remove me! # responders (class level) -gem "responders", "3.1.0" +gem "responders", "3.1.1" # Appserver -gem "puma", "6.3.0", require: false +gem "puma", "6.4.2", require: false # Federation @@ -25,13 +25,13 @@ gem "diaspora_federation-rails", "1.1.0" # API and JSON gem "acts_as_api", "1.0.1" -gem "json", "2.6.3" -gem "json-schema", "4.0.0" +gem "json", "2.7.2" +gem "json-schema", "4.3.0" gem "yajl-ruby", "1.4.3" # Authentication -gem "devise", "4.9.2" +gem "devise", "4.9.4" gem "devise_lastseenable", "0.0.6" gem "devise-two-factor", "4.1.0" gem "rqrcode", "2.2.0" @@ -43,28 +43,28 @@ gem "simple_captcha2", "0.5.0", require: "simple_captcha" # Background processing gem "redis", "4.8.1" -gem "sidekiq", "6.5.9" +gem "sidekiq", "6.5.12" # Scheduled processing -gem "sidekiq-cron", "1.10.1" +gem "sidekiq-cron", "1.12.0" # Compression -gem "terser", "1.1.16" +gem "terser", "1.2.2" # Configuration -gem "configurate", "0.5.0" -gem "toml-rb", "2.2.0" +gem "configurate", "0.6.0" +gem "toml-rb", "3.0.1" # Cross-origin resource sharing -gem "rack-cors", "2.0.1", require: "rack/cors" +gem "rack-cors", "2.0.2", require: "rack/cors" # CSS -gem "autoprefixer-rails", "10.4.13.0" +gem "autoprefixer-rails", "10.4.16.0" gem "bootstrap-sass", "3.4.1" gem "bootstrap-switch-rails", "3.3.3" # 3.3.4 and 3.3.5 is broken, see https://github.com/Bttstrp/bootstrap-switch/issues/691 gem "sassc-rails", "2.1.2" @@ -73,18 +73,18 @@ gem "sprockets-rails", "3.4.2" # Database group :mysql, optional: true do - gem "mysql2", "0.5.5" + gem "mysql2", "0.5.6" end group :postgresql, optional: true do - gem "pg", "1.5.3" + gem "pg", "1.5.6" end -gem "activerecord-import", "1.4.1" +gem "activerecord-import", "1.7.0" # File uploading -gem "carrierwave", "2.2.4" -gem "fog-aws", "3.19.0" +gem "carrierwave", "3.0.7" +gem "fog-aws", "3.22.0" gem "mini_magick", "4.12.0" # GUID generation @@ -94,25 +94,25 @@ gem "uuid", "2.3.9" gem "babel-transpiler", "0.7.0" gem "handlebars_assets", "0.23.9" -gem "jquery-rails", "4.5.0" -gem "jquery-ui-rails", "5.0.5" +gem "jquery-rails", "4.6.0" +gem "jquery-ui-rails", "7.0.0" gem "js_image_paths", "0.2.0" -gem "js-routes", "2.2.5" +gem "js-routes", "2.2.8" # Localization gem "http_accept_language", "2.1.1" -gem "rails-i18n", "7.0.7" +gem "rails-i18n", "7.0.9" # Map -gem "leaflet-rails", "1.9.3" +gem "leaflet-rails", "1.9.4" # Parsing -gem "nokogiri", "1.15.2" +gem "nokogiri", "1.16.5" gem "open_graph_reader", "0.7.2" # also update User-Agent in features/support/webmock.rb and open_graph_cache_spec.rb gem "redcarpet", "3.6.0" -gem "ruby-oembed", "0.16.1" +gem "ruby-oembed", "0.17.0" gem "twitter-text", "3.1.0" # RTL support @@ -125,32 +125,32 @@ gem "secure_headers", "6.5.0" # Services -gem "omniauth", "2.1.1" -gem "omniauth-rails_csrf_protection", "1.0.1" +gem "omniauth", "2.1.2" +gem "omniauth-rails_csrf_protection", "1.0.2" gem "omniauth-tumblr", "1.2" gem "omniauth-twitter", "1.4.0" gem "omniauth-wordpress", "0.2.2" gem "twitter", "8.0.0" # OpenID Connect -gem "openid_connect", "2.2.0" +gem "openid_connect", "2.3.0" # Serializers -gem "active_model_serializers", "0.9.9" +gem "active_model_serializers", "0.9.12" # Tags -gem "acts-as-taggable-on", "9.0.1" +gem "acts-as-taggable-on", "10.0.0" # URIs and HTTP -gem "addressable", "2.8.4", require: "addressable/uri" -gem "faraday", "2.7.7" +gem "addressable", "2.8.6", require: "addressable/uri" +gem "faraday", "2.9.0" gem "faraday-cookie_jar", "0.0.7" gem "faraday-follow_redirects", "0.3.0" -gem "faraday-typhoeus", "1.0.0", require: false -gem "typhoeus", "1.4.0" +gem "faraday-typhoeus", "1.1.0", require: false +gem "typhoeus", "1.4.1" # Views @@ -173,7 +173,7 @@ gem "rubyzip", "2.3.2", require: "zip" # https://github.com/gitlabhq/gitlabhq/issues/3826 # https://github.com/gitlabhq/gitlabhq/pull/3852 # https://github.com/discourse/discourse/pull/238 -gem "minitest", "5.18.1" +gem "minitest", "5.23.1" gem "versionist", "2.0.1" @@ -194,19 +194,19 @@ group :production do # we don"t install these on travis to speed up test runs # Third party asset hosting - gem "asset_sync", "2.18.0", require: false + gem "asset_sync", "2.19.1", require: false end group :development do # Linters - gem "haml_lint", "0.46.0", require: false - gem "pronto", "0.11.1", require: false + gem "haml_lint", "0.58.0", require: false + gem "pronto", "0.11.2", require: false gem "pronto-eslint", "0.11.1", require: false gem "pronto-haml", "0.11.1", require: false gem "pronto-rubocop", "0.11.5", require: false gem "pronto-scss", "0.11.0", require: false - gem "rubocop", "1.53.1", require: false - gem "rubocop-rails", "2.20.2", require: false + gem "rubocop", "1.64.0", require: false + gem "rubocop-rails", "2.25.0", require: false gem "faraday-retry", require: false # used by pronto/octokit @@ -219,7 +219,7 @@ group :development do gem "turbo_dev_assets", "0.0.2" - gem "listen", "3.8.0" + gem "listen", "3.9.0" end group :test do @@ -231,28 +231,28 @@ group :test do # Cucumber (integration tests) - gem "capybara", "3.39.2" - gem "cuprite", "0.14.3" + gem "capybara", "3.40.0" + gem "cuprite", "0.15" gem "database_cleaner-active_record", "2.1.0" gem "cucumber-api-steps", "0.14", require: false # General helpers - gem "factory_bot_rails", "6.2.0" - gem "shoulda-matchers", "5.3.0" - gem "timecop", "0.9.6" - gem "webmock", "3.18.1", require: false + gem "factory_bot_rails", "6.4.3" + gem "shoulda-matchers", "6.2.0" + gem "timecop", "0.9.8" + gem "webmock", "3.23.1", require: false gem "diaspora_federation-test", "1.1.0" end group :development, :test do # RSpec (unit tests, some integration tests) - gem "rspec-rails", "6.0.3" + gem "rspec-rails", "6.1.2" # Cucumber (integration tests) - gem "cucumber-rails", "2.6.1", require: false + gem "cucumber-rails", "3.0.0", require: false # Jasmine (client side application tests (JS)) gem "chrome_remote", "0.3.0" diff --git a/Gemfile.lock b/Gemfile.lock index 60a189e00..3e3a506bb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,96 +1,98 @@ GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.4) - actionpack (= 6.1.7.4) - activesupport (= 6.1.7.4) + actioncable (6.1.7.8) + actionpack (= 6.1.7.8) + activesupport (= 6.1.7.8) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.4) - actionpack (= 6.1.7.4) - activejob (= 6.1.7.4) - activerecord (= 6.1.7.4) - activestorage (= 6.1.7.4) - activesupport (= 6.1.7.4) + actionmailbox (6.1.7.8) + actionpack (= 6.1.7.8) + activejob (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) mail (>= 2.7.1) - actionmailer (6.1.7.4) - actionpack (= 6.1.7.4) - actionview (= 6.1.7.4) - activejob (= 6.1.7.4) - activesupport (= 6.1.7.4) + actionmailer (6.1.7.8) + actionpack (= 6.1.7.8) + actionview (= 6.1.7.8) + activejob (= 6.1.7.8) + activesupport (= 6.1.7.8) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.4) - actionview (= 6.1.7.4) - activesupport (= 6.1.7.4) + actionpack (6.1.7.8) + actionview (= 6.1.7.8) + activesupport (= 6.1.7.8) 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.7.4) - actionpack (= 6.1.7.4) - activerecord (= 6.1.7.4) - activestorage (= 6.1.7.4) - activesupport (= 6.1.7.4) + actiontext (6.1.7.8) + actionpack (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) nokogiri (>= 1.8.5) - actionview (6.1.7.4) - activesupport (= 6.1.7.4) + actionview (6.1.7.8) + activesupport (= 6.1.7.8) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - active_model_serializers (0.9.9) + active_model_serializers (0.9.12) activemodel (>= 3.2) concurrent-ruby (~> 1.0) - activejob (6.1.7.4) - activesupport (= 6.1.7.4) + activejob (6.1.7.8) + activesupport (= 6.1.7.8) globalid (>= 0.3.6) - activemodel (6.1.7.4) - activesupport (= 6.1.7.4) - activerecord (6.1.7.4) - activemodel (= 6.1.7.4) - activesupport (= 6.1.7.4) - activerecord-import (1.4.1) + activemodel (6.1.7.8) + activesupport (= 6.1.7.8) + activerecord (6.1.7.8) + activemodel (= 6.1.7.8) + activesupport (= 6.1.7.8) + activerecord-import (1.7.0) activerecord (>= 4.2) - activestorage (6.1.7.4) - actionpack (= 6.1.7.4) - activejob (= 6.1.7.4) - activerecord (= 6.1.7.4) - activesupport (= 6.1.7.4) + activestorage (6.1.7.8) + actionpack (= 6.1.7.8) + activejob (= 6.1.7.8) + activerecord (= 6.1.7.8) + activesupport (= 6.1.7.8) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.4) + activesupport (6.1.7.8) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - acts-as-taggable-on (9.0.1) - activerecord (>= 6.0, < 7.1) + acts-as-taggable-on (10.0.0) + activerecord (>= 6.1, < 7.2) acts_as_api (1.0.1) activemodel (>= 3.0.0) activesupport (>= 3.0.0) rack (>= 1.1.0) - addressable (2.8.4) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) - asset_sync (2.18.0) + asset_sync (2.19.1) activemodel (>= 4.1.0) fog-core mime-types (>= 2.99) unf ast (2.4.2) - attr_encrypted (4.0.0) + attr_encrypted (4.1.0) encryptor (~> 3.0.0) - attr_required (1.0.1) - autoprefixer-rails (10.4.13.0) + attr_required (1.0.2) + autoprefixer-rails (10.4.16.0) execjs (~> 2) babel-source (5.8.35) babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) execjs (~> 2.0) - bcrypt (3.1.19) - bindata (2.4.15) + base64 (0.2.0) + bcrypt (3.1.20) + bigdecimal (3.1.8) + bindata (2.5.0) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) @@ -98,22 +100,21 @@ GEM buftok (0.3.0) builder (3.2.4) byebug (11.1.3) - capybara (3.39.2) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.4) - activemodel (>= 5.0.0) - activesupport (>= 5.0.0) + carrierwave (3.0.7) + activemodel (>= 6.0.0) + activesupport (>= 6.0.0) addressable (~> 2.6) image_processing (~> 1.1) marcel (~> 1.0.0) - mini_mime (>= 0.1.3) ssrf_filter (~> 1.0) celluloid (0.17.4) celluloid-essentials @@ -141,56 +142,55 @@ GEM chunky_png (1.4.0) citrus (3.0.2) coderay (1.1.3) - concurrent-ruby (1.2.2) - configurate (0.5.0) + concurrent-ruby (1.3.1) + configurate (0.6.0) connection_pool (2.4.1) - crack (0.4.5) + crack (1.0.0) + bigdecimal rexml crass (1.0.6) - cucumber (8.0.0) - builder (~> 3.2, >= 3.2.4) - cucumber-ci-environment (~> 9.0, >= 9.0.4) - cucumber-core (~> 11.0, >= 11.0.0) - cucumber-cucumber-expressions (~> 15.1, >= 15.1.1) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-html-formatter (~> 19.1, >= 19.1.0) - cucumber-messages (~> 18.0, >= 18.0.0) - diff-lcs (~> 1.5, >= 1.5.0) - mime-types (~> 3.4, >= 3.4.1) - multi_test (~> 1.1, >= 1.1.0) - sys-uname (~> 1.2, >= 1.2.2) + csv (3.3.0) + cucumber (9.2.0) + builder (~> 3.2) + cucumber-ci-environment (> 9, < 11) + cucumber-core (> 13, < 14) + cucumber-cucumber-expressions (~> 17.0) + cucumber-gherkin (> 24, < 28) + cucumber-html-formatter (> 20.3, < 22) + cucumber-messages (> 19, < 25) + diff-lcs (~> 1.5) + mini_mime (~> 1.1) + multi_test (~> 1.1) + sys-uname (~> 1.2) cucumber-api-steps (0.14.0) cucumber (>= 2.0.2) jsonpath (>= 0.1.2) - cucumber-ci-environment (9.2.0) - cucumber-core (11.0.0) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-cucumber-expressions (15.2.0) - cucumber-gherkin (23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-html-formatter (19.2.0) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-messages (18.0.0) - cucumber-rails (2.6.1) - capybara (>= 2.18, < 4) - cucumber (>= 3.2, < 9) - mime-types (~> 3.3) - nokogiri (~> 1.10) - railties (>= 5.0, < 8) - rexml (~> 3.0) - webrick (~> 1.7) - cucumber-tag-expressions (4.1.0) - cuprite (0.14.3) + cucumber-ci-environment (10.0.1) + cucumber-core (13.0.2) + cucumber-gherkin (>= 27, < 28) + cucumber-messages (>= 20, < 23) + cucumber-tag-expressions (> 5, < 7) + cucumber-cucumber-expressions (17.1.0) + bigdecimal + cucumber-gherkin (27.0.0) + cucumber-messages (>= 19.1.4, < 23) + cucumber-html-formatter (21.3.1) + cucumber-messages (> 19, < 25) + cucumber-messages (22.0.0) + cucumber-rails (3.0.0) + capybara (>= 3.11, < 4) + cucumber (>= 5, < 10) + railties (>= 5.2, < 8) + cucumber-tag-expressions (6.1.0) + cuprite (0.15) capybara (~> 3.0) - ferrum (~> 0.13.0) + ferrum (~> 0.14.0) database_cleaner-active_record (2.1.0) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.3) - devise (4.9.2) + date (3.3.4) + devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -219,10 +219,11 @@ GEM diaspora_federation (= 1.1.0) fabrication (~> 2.29) uuid (~> 2.3, >= 2.3.8) - diff-lcs (1.5.0) + diff-lcs (1.5.1) docile (1.4.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20240107) + email_validator (2.2.4) + activemodel encryptor (3.0.0) equalizer (0.0.11) erubi (1.12.0) @@ -230,55 +231,56 @@ GEM execjs multi_json (>= 1.3) rake - et-orbi (1.2.7) + et-orbi (1.2.11) tzinfo ethon (0.16.0) ffi (>= 1.15.0) - excon (0.100.0) - execjs (2.8.1) + excon (0.110.0) + execjs (2.9.1) eye (0.10.0) celluloid (~> 0.17.3) celluloid-io (~> 0.17.0) kostya-sigar (~> 2.0.0) state_machines thor - fabrication (2.30.0) - factory_bot (6.2.1) + fabrication (2.31.0) + factory_bot (6.4.6) activesupport (>= 5.0.0) - factory_bot_rails (6.2.0) - factory_bot (~> 6.2.0) + factory_bot_rails (6.4.3) + factory_bot (~> 6.4) railties (>= 5.0.0) - faraday (2.7.7) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) http-cookie (~> 1.0.0) faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) - faraday-net_http (3.0.2) - faraday-retry (1.0.3) - faraday-typhoeus (1.0.0) + faraday-net_http (3.1.0) + net-http + faraday-retry (2.2.1) + faraday (~> 2.0) + faraday-typhoeus (1.1.0) faraday (~> 2.0) typhoeus (~> 1.4) - ferrum (0.13) + ferrum (0.14) addressable (~> 2.5) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (>= 0.6, < 0.8) - ffi (1.15.5) - ffi-compiler (1.0.1) - ffi (>= 1.0.0) + ffi (1.17.0) + ffi-compiler (1.3.2) + ffi (>= 1.15.5) rake fixture_builder (0.5.2) activerecord (>= 2) activesupport (>= 2) hashdiff - fog-aws (3.19.0) + fog-aws (3.22.0) fog-core (~> 2.1) fog-json (~> 1.1) fog-xml (~> 0.1) - fog-core (2.3.0) + fog-core (2.4.0) builder excon (~> 0.71) formatador (>= 0.2, < 2.0) @@ -290,8 +292,8 @@ GEM fog-core nokogiri (>= 1.5.11, < 2.0.0) formatador (1.1.0) - fugit (1.8.1) - et-orbi (~> 1, >= 1.2.7) + fugit (1.11.0) + et-orbi (~> 1, >= 1.2.11) raabro (~> 1.4) fuubar (2.5.1) rspec-core (~> 3.0) @@ -299,19 +301,19 @@ GEM gitlab (4.19.0) httparty (~> 0.20) terminal-table (>= 1.5.1) - globalid (1.1.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) gon (6.4.0) actionpack (>= 3.0.20) i18n (>= 0.7) multi_json request_store (>= 1.0) - haml (6.1.1) + haml (6.3.0) temple (>= 0.8.2) thor tilt - haml_lint (0.46.0) - haml (>= 4.0, < 6.2) + haml_lint (0.58.0) + haml (>= 5.0) parallel (~> 1.10) rainbow rubocop (>= 1.0) @@ -324,21 +326,22 @@ GEM execjs (~> 2.0) sprockets (>= 2.0.0) tilt (>= 1.2) - hashdiff (1.0.1) + hashdiff (1.1.0) hashie (5.0.0) http (5.1.1) addressable (~> 2.8) http-cookie (~> 1.0) http-form_data (~> 2.2) llhttp-ffi (~> 0.4.0) - http-cookie (1.0.5) + http-cookie (1.0.6) domain_name (~> 0.5) http-form_data (2.3.0) http_accept_language (2.1.1) - httparty (0.21.0) + httparty (0.22.0) + csv mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) - i18n (1.14.1) + i18n (1.14.5) concurrent-ruby (~> 1.0) idn-ruby (0.1.5) image_processing (1.12.2) @@ -352,34 +355,37 @@ GEM webrick jasmine-core (3.10.1) jasmine-jquery-rails (2.0.3) - jquery-rails (4.5.0) + jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (5.0.5) + jquery-ui-rails (7.0.0) railties (>= 3.2.16) - js-routes (2.2.5) + js-routes (2.2.8) railties (>= 4) js_image_paths (0.2.0) rails (>= 4.0, < 8.0) sprockets (>= 3.0.0) - json (2.6.3) - json-jwt (1.16.3) + json (2.7.2) + json-jwt (1.16.6) activesupport (>= 4.2) aes_key_wrap + base64 bindata faraday (~> 2.0) faraday-follow_redirects - json-schema (4.0.0) + json-schema (4.3.0) addressable (>= 2.8) - jsonpath (1.1.3) + jsonpath (1.1.5) multi_json - jwt (2.7.1) + jwt (2.8.1) + base64 kostya-sigar (2.0.10) language_server-protocol (3.17.0.3) - leaflet-rails (1.9.3) - rails (>= 4.2.0) - listen (3.8.0) + leaflet-rails (1.9.4) + actionpack (>= 4.2.0) + railties (>= 4.2.0) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) little-plugger (1.1.4) @@ -391,7 +397,7 @@ GEM multi_json (~> 1.14) logging-rails (0.6.0) logging (>= 1.8) - loofah (2.21.3) + loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) macaddr (1.7.2) @@ -401,38 +407,41 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) matrix (0.4.2) memoizable (0.4.2) thread_safe (~> 0.3, >= 0.3.1) - method_source (1.0.0) - mime-types (3.4.1) + method_source (1.1.0) + mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2023.0218.1) + mime-types-data (3.2024.0507) mini_magick (4.12.0) - mini_mime (1.1.2) - mini_portile2 (2.8.2) - minitest (5.18.1) + mini_mime (1.1.5) + mini_portile2 (2.8.7) + minitest (5.23.1) mobile-fu (1.4.0) rack-mobile-detect rails multi_json (1.15.0) multi_test (1.1.0) - multi_xml (0.6.0) - multipart-post (2.3.0) - mysql2 (0.5.5) + multi_xml (0.7.1) + bigdecimal (~> 3.1) + multipart-post (2.4.1) + mysql2 (0.5.6) naught (1.1.0) - net-imap (0.3.6) + net-http (0.4.1) + uri + net-imap (0.4.12) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.1) + net-protocol (0.2.2) timeout - net-smtp (0.3.3) + net-smtp (0.5.0) net-protocol - nio4r (2.5.9) - nokogiri (1.15.2) + nio4r (2.7.3) + nokogiri (1.16.5) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth (1.1.0) @@ -448,10 +457,10 @@ GEM rack (>= 1.2, < 4) snaky_hash (~> 2.0) version_gem (~> 1.1) - octokit (6.1.1) + octokit (7.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) - omniauth (2.1.1) + omniauth (2.1.2) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection @@ -461,7 +470,7 @@ GEM omniauth-oauth2 (1.8.0) oauth2 (>= 1.4, < 3) omniauth (~> 2.0) - omniauth-rails_csrf_protection (1.0.1) + omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) omniauth (~> 2.0) omniauth-tumblr (1.2) @@ -475,30 +484,30 @@ GEM open_graph_reader (0.7.2) faraday (>= 0.9.0) nokogiri (~> 1.6) - openid_connect (2.2.0) + openid_connect (2.3.0) activemodel attr_required (>= 1.0.0) + email_validator faraday (~> 2.0) faraday-follow_redirects json-jwt (>= 1.16) - net-smtp + mail rack-oauth2 (~> 2.2) swd (~> 2.0) tzinfo - validate_email validate_url webfinger (~> 2.0) orm_adapter (0.5.0) - parallel (1.23.0) - parser (3.2.2.3) + parallel (1.24.0) + parser (3.3.2.0) ast (~> 2.4.1) racc - pg (1.5.3) + pg (1.5.6) phantomjs (2.1.1.0) - pronto (0.11.1) + pronto (0.11.2) gitlab (>= 4.4.0, < 5.0) httparty (>= 0.13.7, < 1.0) - octokit (>= 4.7.0, < 7.0) + octokit (>= 4.7.0, < 8.0) rainbow (>= 2.2, < 4.0) rexml (>= 3.2.5, < 4.0) rugged (>= 0.23.0, < 2.0) @@ -521,20 +530,20 @@ GEM pry-byebug (3.10.1) byebug (~> 11.0) pry (>= 0.13, < 0.15) - public_suffix (5.0.1) - puma (6.3.0) + public_suffix (5.0.5) + puma (6.4.2) nio4r (~> 2.0) raabro (1.4.0) - racc (1.7.1) - rack (2.2.7) - rack-cors (2.0.1) + racc (1.8.0) + rack (2.2.9) + rack-cors (2.0.2) rack (>= 2.0.0) rack-google-analytics (1.2.0) actionpack activesupport rack-mobile-detect (0.4.0) rack - rack-oauth2 (2.2.0) + rack-oauth2 (2.2.1) activesupport attr_required faraday (~> 2.0) @@ -542,111 +551,114 @@ GEM json-jwt (>= 1.11.0) rack (>= 2.1.0) rack-piwik (0.3.0) - rack-protection (3.0.6) - rack + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) rack-rewrite (1.5.1) rack-ssl (1.4.1) rack rack-test (2.1.0) rack (>= 1.3) - rails (6.1.7.4) - actioncable (= 6.1.7.4) - actionmailbox (= 6.1.7.4) - actionmailer (= 6.1.7.4) - actionpack (= 6.1.7.4) - actiontext (= 6.1.7.4) - actionview (= 6.1.7.4) - activejob (= 6.1.7.4) - activemodel (= 6.1.7.4) - activerecord (= 6.1.7.4) - activestorage (= 6.1.7.4) - activesupport (= 6.1.7.4) + rails (6.1.7.8) + actioncable (= 6.1.7.8) + actionmailbox (= 6.1.7.8) + actionmailer (= 6.1.7.8) + actionpack (= 6.1.7.8) + actiontext (= 6.1.7.8) + actionview (= 6.1.7.8) + activejob (= 6.1.7.8) + activemodel (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) bundler (>= 1.15.0) - railties (= 6.1.7.4) + railties (= 6.1.7.8) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - rails-i18n (7.0.7) + rails-i18n (7.0.9) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) rails-timeago (2.20.0) actionpack (>= 5.2) activesupport (>= 5.2) - railties (6.1.7.4) - actionpack (= 6.1.7.4) - activesupport (= 6.1.7.4) + railties (6.1.7.8) + actionpack (= 6.1.7.8) + activesupport (= 6.1.7.8) method_source rake (>= 12.2) thor (~> 1.0) rainbow (3.1.1) - rake (13.0.6) + rake (13.2.1) rb-fsevent (0.11.2) - rb-inotify (0.10.1) + rb-inotify (0.11.1) ffi (~> 1.0) redcarpet (3.6.0) redis (4.8.1) - regexp_parser (2.8.1) - request_store (1.5.1) + regexp_parser (2.9.2) + request_store (1.7.0) rack (>= 1.4) - responders (3.1.0) + responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.2.5) - rotp (6.2.2) + rexml (3.2.8) + strscan (>= 3.0.9) + rotp (6.3.0) rqrcode (2.2.0) chunky_png (~> 1.0) rqrcode_core (~> 1.0) rqrcode_core (1.2.0) - rspec-core (3.12.2) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.3) + rspec-core (3.13.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) + rspec-support (~> 3.13.0) rspec-json_expectations (2.2.0) - rspec-mocks (3.12.5) + rspec-mocks (3.13.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-rails (6.0.3) + rspec-support (~> 3.13.0) + rspec-rails (6.1.2) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) - rspec-core (~> 3.12) - rspec-expectations (~> 3.12) - rspec-mocks (~> 3.12) - rspec-support (~> 3.12) - rspec-support (3.12.1) - rubocop (1.53.1) + rspec-core (~> 3.13) + rspec-expectations (~> 3.13) + rspec-mocks (~> 3.13) + rspec-support (~> 3.13) + rspec-support (3.13.1) + rubocop (1.64.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.3) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) - parser (>= 3.2.1.0) - rubocop-rails (2.20.2) + rubocop-ast (1.31.3) + parser (>= 3.3.1.0) + rubocop-rails (2.25.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) - ruby-oembed (0.16.1) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-oembed (0.17.0) ruby-progressbar (1.13.0) - ruby-vips (2.1.4) + ruby-vips (2.2.1) ffi (~> 1.12) - ruby2_keywords (0.0.5) rubyzip (2.3.2) - rugged (1.6.3) + rugged (1.7.2) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) @@ -666,13 +678,13 @@ GEM scss_lint (0.60.0) sass (~> 3.5, >= 3.5.5) secure_headers (6.5.0) - shoulda-matchers (5.3.0) + shoulda-matchers (6.2.0) activesupport (>= 5.2.0) - sidekiq (6.5.9) + sidekiq (6.5.12) connection_pool (>= 2.2.5, < 3) rack (~> 2.0) redis (>= 4.5.0, < 5) - sidekiq-cron (1.10.1) + sidekiq-cron (1.12.0) fugit (~> 1.8) globalid (>= 1.0.1) sidekiq (>= 6) @@ -690,17 +702,18 @@ GEM snaky_hash (2.0.1) hashie version_gem (~> 1.1, >= 1.1.1) - sprockets (4.2.0) + sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) sprockets-rails (3.4.2) actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - ssrf_filter (1.1.1) - state_machines (0.5.0) + ssrf_filter (1.1.2) + state_machines (0.6.0) string-direction (1.2.2) - swd (2.0.2) + strscan (3.1.0) + swd (2.0.3) activesupport (>= 3) attr_required (>= 0.0.5) faraday (~> 2.0) @@ -709,19 +722,20 @@ GEM ffi (~> 1.1) sysexits (1.2.0) systemu (2.6.5) - temple (0.10.2) + temple (0.10.3) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - terser (1.1.16) + terser (1.2.2) execjs (>= 0.3.0, < 3) - thor (1.2.2) + thor (1.3.1) thread_safe (0.3.6) - tilt (2.2.0) - timecop (0.9.6) - timeout (0.4.0) + tilt (2.3.0) + timecop (0.9.8) + timeout (0.4.1) timers (4.3.5) - toml-rb (2.2.0) + toml-rb (3.0.1) citrus (~> 3.0, > 3.0) + racc (~> 1.7) turbo_dev_assets (0.0.2) twitter (8.0.0) addressable (~> 2.3) @@ -737,168 +751,166 @@ GEM twitter-text (3.1.0) idn-ruby unf (~> 0.1.0) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unf (0.1.4) unf_ext - unf_ext (0.0.8.2) - unicode-display_width (2.4.2) + unf_ext (0.0.9.1) + unicode-display_width (2.5.0) + uri (0.13.0) uuid (2.3.9) macaddr (~> 1.0) valid (1.2.0) - validate_email (0.1.6) - activemodel (>= 3.0) - mail (>= 2.2.5) validate_url (1.0.15) activemodel (>= 3.0.0) public_suffix - version_gem (1.1.3) + version_gem (1.1.4) versionist (2.0.1) activesupport (>= 3) railties (>= 3) yard (~> 0.9.20) warden (1.2.9) rack (>= 2.0.9) - webfinger (2.1.2) + webfinger (2.1.3) activesupport faraday (~> 2.0) faraday-follow_redirects - webmock (3.18.1) + webmock (3.23.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) webrick (1.8.1) - websocket-driver (0.7.5) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) will_paginate (4.0.0) xpath (3.2.0) nokogiri (~> 1.8) yajl-ruby (1.4.3) - yard (0.9.34) - zeitwerk (2.6.8) + yard (0.9.36) + zeitwerk (2.6.15) PLATFORMS ruby DEPENDENCIES - active_model_serializers (= 0.9.9) - activerecord-import (= 1.4.1) - acts-as-taggable-on (= 9.0.1) + active_model_serializers (= 0.9.12) + activerecord-import (= 1.7.0) + acts-as-taggable-on (= 10.0.0) acts_as_api (= 1.0.1) - addressable (= 2.8.4) - asset_sync (= 2.18.0) - autoprefixer-rails (= 10.4.13.0) + addressable (= 2.8.6) + asset_sync (= 2.19.1) + autoprefixer-rails (= 10.4.16.0) babel-transpiler (= 0.7.0) bootstrap-sass (= 3.4.1) bootstrap-switch-rails (= 3.3.3) - capybara (= 3.39.2) - carrierwave (= 2.2.4) + capybara (= 3.40.0) + carrierwave (= 3.0.7) chrome_remote (= 0.3.0) - configurate (= 0.5.0) + configurate (= 0.6.0) cucumber-api-steps (= 0.14) - cucumber-rails (= 2.6.1) - cuprite (= 0.14.3) + cucumber-rails (= 3.0.0) + cuprite (= 0.15) database_cleaner-active_record (= 2.1.0) - devise (= 4.9.2) + devise (= 4.9.4) devise-two-factor (= 4.1.0) devise_lastseenable (= 0.0.6) diaspora_federation-json_schema (= 1.1.0) diaspora_federation-rails (= 1.1.0) diaspora_federation-test (= 1.1.0) eye (= 0.10.0) - factory_bot_rails (= 6.2.0) - faraday (= 2.7.7) + factory_bot_rails (= 6.4.3) + faraday (= 2.9.0) faraday-cookie_jar (= 0.0.7) faraday-follow_redirects (= 0.3.0) faraday-retry - faraday-typhoeus (= 1.0.0) + faraday-typhoeus (= 1.1.0) fixture_builder (= 0.5.2) - fog-aws (= 3.19.0) + fog-aws (= 3.22.0) fuubar (= 2.5.1) gon (= 6.4.0) - haml_lint (= 0.46.0) + haml_lint (= 0.58.0) hamlit (= 3.0.3) handlebars_assets (= 0.23.9) http_accept_language (= 2.1.1) jasmine (= 3.10.0) jasmine-jquery-rails (= 2.0.3) - jquery-rails (= 4.5.0) - jquery-ui-rails (= 5.0.5) - js-routes (= 2.2.5) + jquery-rails (= 4.6.0) + jquery-ui-rails (= 7.0.0) + js-routes (= 2.2.8) js_image_paths (= 0.2.0) - json (= 2.6.3) - json-schema (= 4.0.0) - leaflet-rails (= 1.9.3) - listen (= 3.8.0) + json (= 2.7.2) + json-schema (= 4.3.0) + leaflet-rails (= 1.9.4) + listen (= 3.9.0) logging-rails (= 0.6.0) mini_magick (= 4.12.0) - minitest (= 5.18.1) + minitest (= 5.23.1) mobile-fu (= 1.4.0) - mysql2 (= 0.5.5) + mysql2 (= 0.5.6) net-imap net-pop net-smtp - nokogiri (= 1.15.2) - omniauth (= 2.1.1) - omniauth-rails_csrf_protection (= 1.0.1) + nokogiri (= 1.16.5) + omniauth (= 2.1.2) + omniauth-rails_csrf_protection (= 1.0.2) omniauth-tumblr (= 1.2) omniauth-twitter (= 1.4.0) omniauth-wordpress (= 0.2.2) open_graph_reader (= 0.7.2) - openid_connect (= 2.2.0) - pg (= 1.5.3) - pronto (= 0.11.1) + openid_connect (= 2.3.0) + pg (= 1.5.6) + pronto (= 0.11.2) pronto-eslint (= 0.11.1) pronto-haml (= 0.11.1) pronto-rubocop (= 0.11.5) pronto-scss (= 0.11.0) pry pry-byebug - puma (= 6.3.0) - rack-cors (= 2.0.1) + puma (= 6.4.2) + rack-cors (= 2.0.2) rack-google-analytics (= 1.2.0) rack-piwik (= 0.3.0) rack-rewrite (= 1.5.1) rack-ssl (= 1.4.1) - rails (= 6.1.7.4) + rails (= 6.1.7.8) rails-controller-testing (= 1.0.5) - rails-i18n (= 7.0.7) + rails-i18n (= 7.0.9) rails-timeago (= 2.20.0) redcarpet (= 3.6.0) redis (= 4.8.1) - responders (= 3.1.0) + responders (= 3.1.1) rqrcode (= 2.2.0) rspec-json_expectations (~> 2.1) - rspec-rails (= 6.0.3) - rubocop (= 1.53.1) - rubocop-rails (= 2.20.2) - ruby-oembed (= 0.16.1) + rspec-rails (= 6.1.2) + rubocop (= 1.64.0) + rubocop-rails (= 2.25.0) + ruby-oembed (= 0.17.0) rubyzip (= 2.3.2) sassc-rails (= 2.1.2) secure_headers (= 6.5.0) - shoulda-matchers (= 5.3.0) - sidekiq (= 6.5.9) - sidekiq-cron (= 1.10.1) + shoulda-matchers (= 6.2.0) + sidekiq (= 6.5.12) + sidekiq-cron (= 1.12.0) simple_captcha2 (= 0.5.0) simplecov (= 0.22.0) sinon-rails (= 1.15.0) sprockets-rails (= 3.4.2) string-direction (= 1.2.2) - terser (= 1.1.16) - timecop (= 0.9.6) - toml-rb (= 2.2.0) + terser (= 1.2.2) + timecop (= 0.9.8) + toml-rb (= 3.0.1) turbo_dev_assets (= 0.0.2) twitter (= 8.0.0) twitter-text (= 3.1.0) - typhoeus (= 1.4.0) + typhoeus (= 1.4.1) uuid (= 2.3.9) versionist (= 2.0.1) - webmock (= 3.18.1) + webmock (= 3.23.1) will_paginate (= 4.0.0) yajl-ruby (= 1.4.3) BUNDLED WITH - 2.3.18 + 2.5.9 diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js index c9b366b40..4db844178 100644 --- a/app/assets/javascripts/main.js +++ b/app/assets/javascripts/main.js @@ -12,8 +12,8 @@ //= require jquery.timeago //= require jquery-ui/core //= require jquery-ui/widget -//= require jquery-ui/mouse -//= require jquery-ui/sortable +//= require jquery-ui/widgets/mouse +//= require jquery-ui/widgets/sortable //= require keycodes //= require jquery.autoSuggest.custom //= require fine-uploader/fine-uploader/fine-uploader diff --git a/app/uploaders/secure_uploader.rb b/app/uploaders/secure_uploader.rb index 486c70e0a..18afbc7bc 100644 --- a/app/uploaders/secure_uploader.rb +++ b/app/uploaders/secure_uploader.rb @@ -4,7 +4,7 @@ class SecureUploader < CarrierWave::Uploader::Base protected def extension - ".#{original_filename.split('.').drop(1).join('.')}" if original_filename.present? + ".#{file.filename.split('.').drop(1).join('.')}" if file.present? && file.respond_to?(:filename) end def secure_token(bytes=16) diff --git a/config/boot.rb b/config/boot.rb index 4fe16d4e8..35f16d8a6 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -6,3 +6,11 @@ require "bundler/setup" # Set up gems listed in the Gemfile. # Load configuration early require_relative "load_config" + +# Ruby 3.2 removed the `exists?` alias from `File`, but at least the `logging-rails` gem still uses it. +# This is only a workaround, and we need a different long-term solution. It looks like the `logging-rails` gem +# is not maintained anymore, so we maybe need to find a replacement. But since this is the only thing preventing +# us from upgrading to Ruby >= 3.2, we can just create our own alias for now. +class << File + alias exists? exist? +end diff --git a/docker/develop/Dockerfile b/docker/develop/Dockerfile index ccf705ac9..8afaee119 100644 --- a/docker/develop/Dockerfile +++ b/docker/develop/Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/amd64/ruby:3.1-slim-bullseye +FROM docker.io/amd64/ruby:3.3-slim-bullseye RUN DEBIAN_FRONTEND=noninteractive \ apt-get update && \ diff --git a/package.json b/package.json index 09ec681ac..c872b4c51 100644 --- a/package.json +++ b/package.json @@ -4,15 +4,15 @@ "license": "AGPL-3.0", "private": true, "dependencies": { - "autosize": "4.0.2", - "backbone": "1.3.3", + "autosize": "6.0.1", + "backbone": "1.6.0", "blueimp-gallery": "2.33.0", "bootstrap-markdown": "2.10.0", - "corejs-typeahead": "1.2.1", - "cropperjs": "1.4.3", - "fine-uploader": "5.13.0", - "highlightjs": "9.12.0", - "jquery": "3.6.0", + "corejs-typeahead": "1.3.4", + "cropperjs": "1.6.2", + "fine-uploader": "5.16.2", + "highlightjs": "9.16.2", + "jquery": "3.7.0", "jquery-placeholder": "2.3.1", "jquery.are-you-sure": "1.9.0", "markdown-it": "8.4.2", @@ -24,7 +24,7 @@ "markdown-it-sanitizer": "0.4.3", "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", - "perfect-scrollbar": "1.4.0", + "perfect-scrollbar": "1.5.5", "pica": "5.0.0" }, "devDependencies": { diff --git a/spec/models/person_spec.rb b/spec/models/person_spec.rb index d6fd9acef..e43ab3bd4 100644 --- a/spec/models/person_spec.rb +++ b/spec/models/person_spec.rb @@ -30,13 +30,15 @@ describe Person, type: :model do describe ".local" do it "returns only local people" do - Person.local =~ [@person] + expect(Person.local.map(&:id)).to include(@user.person.id) + expect(Person.local.map(&:id)).to_not include(@person.id) end end describe ".remote" do - it "returns only local people" do - Person.remote =~ [@user.person] + it "returns only remote people" do + expect(Person.remote.map(&:id)).to include(@person.id) + expect(Person.remote.map(&:id)).to_not include(@user.person.id) end end diff --git a/yarn.lock b/yarn.lock index e549024d1..57d601b25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,15 +9,15 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -autosize@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/autosize/-/autosize-4.0.2.tgz#073cfd07c8bf45da4b9fd153437f5bafbba1e4c9" - integrity sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA== +autosize@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/autosize/-/autosize-6.0.1.tgz#64ee78dd7029be959eddd3afbbd33235b957e10f" + integrity sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ== -backbone@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.3.3.tgz#4cc80ea7cb1631ac474889ce40f2f8bc683b2999" - integrity sha512-aK+k3TiU4tQDUrRCymDDE7XDFnMVuyE6zbZ4JX7mb4pJbQTVOH997/kyBzb8wB2s5Y/Oh7EUfj+sZhwRPxWwow== +backbone@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.6.0.tgz#5cdfa25257819b223109a77a74dde26d38995930" + integrity sha512-13PUjmsgw/49EowNcQvfG4gmczz1ximTMhUktj0Jfrjth0MVaTxehpU+qYYX4MxnuIuhmvBLC6/ayxuAGnOhbA== dependencies: underscore ">=1.8.3" @@ -36,37 +36,37 @@ core-js@^2.4.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -corejs-typeahead@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/corejs-typeahead/-/corejs-typeahead-1.2.1.tgz#345a8afe664cc494075b59b64777807f0b3f132b" - integrity sha512-g22FqtnuB8CPq4K/dpPW2Th4fW50PCBBc4H1XWyrZQl22BM6JKDw2owfCLMHoCaQQapMkAPfNsUoR/TJeFEgrg== +corejs-typeahead@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/corejs-typeahead/-/corejs-typeahead-1.3.4.tgz#dad8c5ab63579947b5d665eee3b538479847b0f8" + integrity sha512-4SAc1UWszc05IyG9te1JHSeLas5WUWKmKAB8m9E6AAmHCpYhdSaySkblVSIUwQG2FR5uAsaeHbKM+pkEP7SiNw== dependencies: jquery ">=1.11" -cropperjs@1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/cropperjs/-/cropperjs-1.4.3.tgz#dc44d6c9e73269e7f96894c726ab91e8913f9e90" - integrity sha512-fsUjHuS9mvKVh2aXVRgNcUDlFplW+v4eEB6sOHVI9kMV4G3GViSD4p1qvNLg1ko4ZhOnF0L8/9uXcY4s2bFQPg== +cropperjs@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/cropperjs/-/cropperjs-1.6.2.tgz#d1a5d627d880581cca41b7901f06923500e4201b" + integrity sha512-nhymn9GdnV3CqiEHJVai54TULFAE3VshJTXSqSJKa8yXAKyBKDWdhHarnlIPrshJ0WMFTGuFvG02YjLXfPiuOA== entities@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== -fine-uploader@5.13.0: - version "5.13.0" - resolved "https://registry.yarnpkg.com/fine-uploader/-/fine-uploader-5.13.0.tgz#091c1fafb2ee7219283f259fd9aae828c0e45574" - integrity sha512-qRNMJ/7vMwVchnByflf6xd4zqkTpoHmplMRu2ZXZQ+rTM/kGh8Zz2PM9HFAn1R8T7dBnVJg8pW+aoE9XQzlbsw== +fine-uploader@5.16.2: + version "5.16.2" + resolved "https://registry.yarnpkg.com/fine-uploader/-/fine-uploader-5.16.2.tgz#0d878da1cd2753f80683ac091df5daff9ffb8c44" + integrity sha512-y8giOn50k7rwMj/Y50Q/Sph8/DqZIao9YE7eOTrvwPfY7FpQwiNeqIOIsaP9CNPkXVNpUKGxZb0D1JvYSwrJZg== glur@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/glur/-/glur-1.1.2.tgz#f20ea36db103bfc292343921f1f91e83c3467689" integrity sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA== -highlightjs@9.12.0: - version "9.12.0" - resolved "https://registry.yarnpkg.com/highlightjs/-/highlightjs-9.12.0.tgz#9b84eb42a7aa8488eb69ac79fec44cf495bf72a1" - integrity sha512-eAhWMtDZaOZIQdxIP4UEB1vNp/CVXQPdMSihTSuaExhFIRC0BVpXbtP3mTP1hDoGOyh7nbB3cuC3sOPhG5wGDA== +highlightjs@9.16.2: + version "9.16.2" + resolved "https://registry.yarnpkg.com/highlightjs/-/highlightjs-9.16.2.tgz#07ea6cc7c93340fc440734fb7abf28558f1f0fe1" + integrity sha512-FK1vmMj8BbEipEy8DLIvp71t5UsC7n2D6En/UfM/91PCwmOpj6f2iu0Y0coRC62KSRHHC+dquM2xMULV/X7NFg== inherits@^2.0.3: version "2.0.4" @@ -90,10 +90,10 @@ jquery.are-you-sure@1.9.0: dependencies: jquery ">=1.4.2" -jquery@3.6.0, jquery@>=1.11, jquery@>=1.4.2: - version "3.6.0" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" - integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== +jquery@3.7.0, jquery@>=1.11, jquery@>=1.4.2: + version "3.7.0" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.0.tgz#fe2c01a05da500709006d8790fe21c8a39d75612" + integrity sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ== linkify-it@^2.0.0: version "2.2.0" @@ -188,10 +188,10 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -perfect-scrollbar@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.4.0.tgz#5d014ef9775e1f43058a1dbae9ed1daf0e7091f1" - integrity sha512-/2Sk/khljhdrsamjJYS5NjrH+GKEHEwh7zFSiYyxROyYKagkE4kSn2zDQDRTOMo8mpT2jikxx6yI1dG7lNP/hw== +perfect-scrollbar@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz#41a211a2fb52a7191eff301432134ea47052b27f" + integrity sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g== pica@5.0.0: version "5.0.0" @@ -214,9 +214,9 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== underscore@>=1.8.3: - version "1.13.4" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.4.tgz#7886b46bbdf07f768e0052f1828e1dcab40c0dee" - integrity sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ== + version "1.13.6" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" + integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== webworkify@^1.5.0: version "1.5.0"