diff --git a/.rubocop.yml b/.rubocop.yml index 5b6980af4..71c3b4bd0 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,7 +1,8 @@ require: rubocop-rails AllCops: - TargetRubyVersion: 2.3 + TargetRubyVersion: 2.6 + NewCops: enable Exclude: - "bin/**/*" - "db/schema.rb" diff --git a/Gemfile b/Gemfile index ac8f47a37..7f2a7eae5 100644 --- a/Gemfile +++ b/Gemfile @@ -2,11 +2,11 @@ source "https://rubygems.org" -gem "rails", "5.2.4.3" +gem "rails", "5.2.5" # Legacy Rails features, remove me! # responders (class level) -gem "responders", "2.4.1" +gem "responders", "3.0.1" # Appserver @@ -27,8 +27,8 @@ gem "yajl-ruby", "1.4.1" # Authentication -gem "devise", "4.7.1" -gem "devise-two-factor", "3.0.3" +gem "devise", "4.7.3" +gem "devise-two-factor", "4.0.0" gem "devise_lastseenable", "0.0.6" gem "rqrcode", "1.1.2" @@ -38,12 +38,12 @@ gem "simple_captcha2", "0.5.0", require: "simple_captcha" # Background processing -gem "redis", "3.3.5" # Pinned to 3.3.x because of https://github.com/antirez/redis/issues/4272 -gem "sidekiq", "5.2.8" +gem "redis", "4.2.5" +gem "sidekiq", "6.2.1" # Scheduled processing -gem "sidekiq-cron", "1.1.0" +gem "sidekiq-cron", "1.2.0" # Compression @@ -60,9 +60,9 @@ gem "rack-cors", "1.1.1", require: "rack/cors" # CSS -gem "autoprefixer-rails", "8.6.5" +gem "autoprefixer-rails", "10.2.4.0" gem "bootstrap-sass", "3.4.1" -gem "bootstrap-switch-rails", "3.3.3" # 3.3.4 is broken, see https://github.com/Bttstrp/bootstrap-switch/issues/691 +gem "bootstrap-switch-rails", "3.3.5" gem "compass-rails", "3.1.0" gem "sass-rails", "5.0.7" gem "sprockets-rails", "3.2.1" @@ -147,9 +147,9 @@ gem "leaflet-rails", "1.6.0" # Parsing -gem "nokogiri", "1.10.9" -gem "open_graph_reader", "0.7.0" # also update User-Agent in features/support/webmock.rb -gem "redcarpet", "3.5.0" +gem "nokogiri", "1.11.3" +gem "open_graph_reader", "0.7.1" # also update User-Agent in features/support/webmock.rb and open_graph_cache_spec.rb +gem "redcarpet", "3.5.1" gem "ruby-oembed", "0.12.0" gem "twitter-text", "3.0.0" @@ -159,7 +159,7 @@ gem "string-direction", "1.2.2" # Security Headers -gem "secure_headers", "6.3.0" +gem "secure_headers", "6.3.2" # Services @@ -186,12 +186,12 @@ gem "addressable", "2.7.0", require: "addressable/uri" gem "faraday", "0.15.4" gem "faraday_middleware", "0.13.1" gem "faraday-cookie_jar", "0.0.6" -gem "typhoeus", "1.3.1" +gem "typhoeus", "1.4.0" # Views gem "gon", "6.3.2" -gem "hamlit", "2.11.0" +gem "hamlit", "2.14.6" gem "mobile-fu", "1.4.0" gem "rails-timeago", "2.18.0" gem "will_paginate", "3.3.0" @@ -202,7 +202,7 @@ gem "logging-rails", "0.6.0", require: "logging/rails" # Reading and writing zip files -gem "rubyzip", "1.3.0", require: "zip" +gem "rubyzip", "2.3.0", require: "zip" # Prevent occasions where minitest is not bundled in # packaged versions of ruby. See following issues/prs: @@ -241,31 +241,22 @@ group :production do # we don"t install these on travis to speed up test runs end group :development do - # Automatic test runs - gem "guard", "2.16.1", require: false - gem "guard-rspec", "4.7.3", require: false - gem "guard-rubocop", "1.3.0", require: false - gem "rb-fsevent", "0.10.3", require: false - gem "rb-inotify", "0.10.1", require: false - # Linters - gem "haml_lint", "0.35.0", require: false - gem "pronto", "0.10.0", require: false - gem "pronto-eslint", "0.10.0", require: false - gem "pronto-haml", "0.10.0", require: false - gem "pronto-rubocop", "0.10.0", require: false - gem "pronto-scss", "0.10.0", require: false - gem "rubocop", "0.80.1", require: false - gem "rubocop-rails", "2.4.1", require: false - - # Preloading environment + gem "haml_lint", "0.37.0", require: false + gem "pronto", "0.11.0", require: false + gem "pronto-eslint", "0.11.0", require: false + gem "pronto-haml", "0.11.0", require: false + gem "pronto-rubocop", "0.11.1", require: false + gem "pronto-scss", "0.11.0", require: false + gem "rubocop", "0.93.1", require: false + gem "rubocop-rails", "2.9.1", require: false # Debugging gem "pry" gem "pry-byebug" # test coverage - gem "simplecov", "0.16.1", require: false + gem "simplecov", "0.21.2", require: false gem "turbo_dev_assets", "0.0.2" end @@ -274,38 +265,38 @@ group :test do # RSpec (unit tests, some integration tests) gem "fixture_builder", "0.5.2" - gem "fuubar", "2.5.0" + gem "fuubar", "2.5.1" gem "json-schema-rspec", "0.0.4" gem "rspec-json_expectations", "~> 2.1" # Cucumber (integration tests) gem "apparition", "0.6.0" - gem "capybara", "3.15.0" - gem "database_cleaner", "1.8.3" + gem "capybara", "3.35.3" + gem "database_cleaner-active_record", "1.8.0" gem "cucumber-api-steps", "0.14", require: false # General helpers - gem "factory_bot_rails", "6.1.0" - gem "shoulda-matchers", "4.0.1" - gem "timecop", "0.9.1" - gem "webmock", "3.8.3", require: false + gem "factory_bot_rails", "6.1.0" + gem "shoulda-matchers", "4.5.1" + gem "timecop", "0.9.4" + gem "webmock", "3.12.2", require: false gem "diaspora_federation-test", "0.2.6" end group :development, :test do # RSpec (unit tests, some integration tests) - gem "rspec-rails", "3.9.1" + gem "rspec-rails", "5.0.1" # Cucumber (integration tests) - gem "cucumber-rails", "2.0.0", require: false + gem "cucumber-rails", "2.3.0", require: false # Jasmine (client side application tests (JS)) gem "chrome_remote", "0.3.0" - gem "jasmine", "3.6.0" + gem "jasmine", "3.7.0" gem "jasmine-jquery-rails", "2.0.3" gem "rails-assets-jasmine-ajax", "4.0.0", source: "https://gems.diasporafoundation.org" gem "sinon-rails", "1.15.0" diff --git a/Gemfile.lock b/Gemfile.lock index 1b00774fc..755d1d5ab 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,25 +2,25 @@ GEM remote: https://rubygems.org/ remote: https://gems.diasporafoundation.org/ specs: - actioncable (5.2.4.3) - actionpack (= 5.2.4.3) + actioncable (5.2.5) + actionpack (= 5.2.5) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.4.3) - actionpack (= 5.2.4.3) - actionview (= 5.2.4.3) - activejob (= 5.2.4.3) + actionmailer (5.2.5) + actionpack (= 5.2.5) + actionview (= 5.2.5) + activejob (= 5.2.5) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.2.4.3) - actionview (= 5.2.4.3) - activesupport (= 5.2.4.3) + actionpack (5.2.5) + actionview (= 5.2.5) + activesupport (= 5.2.5) rack (~> 2.0, >= 2.0.8) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.4.3) - activesupport (= 5.2.4.3) + actionview (5.2.5) + activesupport (= 5.2.5) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -28,22 +28,22 @@ GEM active_model_serializers (0.9.7) activemodel (>= 3.2) concurrent-ruby (~> 1.0) - activejob (5.2.4.3) - activesupport (= 5.2.4.3) + activejob (5.2.5) + activesupport (= 5.2.5) globalid (>= 0.3.6) - activemodel (5.2.4.3) - activesupport (= 5.2.4.3) - activerecord (5.2.4.3) - activemodel (= 5.2.4.3) - activesupport (= 5.2.4.3) + activemodel (5.2.5) + activesupport (= 5.2.5) + activerecord (5.2.5) + activemodel (= 5.2.5) + activesupport (= 5.2.5) arel (>= 9.0) activerecord-import (1.0.4) activerecord (>= 3.2) - activestorage (5.2.4.3) - actionpack (= 5.2.4.3) - activerecord (= 5.2.4.3) - marcel (~> 0.3.1) - activesupport (5.2.4.3) + activestorage (5.2.5) + actionpack (= 5.2.5) + activerecord (= 5.2.5) + marcel (~> 1.0.0) + activesupport (5.2.5) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -56,7 +56,7 @@ GEM rack (>= 1.1.0) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - aes_key_wrap (1.0.1) + aes_key_wrap (1.1.0) apparition (0.6.0) capybara (~> 3.13, < 4) websocket-driver (>= 0.6.5) @@ -66,33 +66,32 @@ GEM fog-core mime-types (>= 2.99) unf - ast (2.4.0) + ast (2.4.2) attr_encrypted (3.1.0) encryptor (~> 3.0.0) attr_required (1.0.1) - autoprefixer-rails (8.6.5) + autoprefixer-rails (10.2.4.0) execjs babel-source (5.8.35) babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) execjs (~> 2.0) - backports (3.17.0) - bcrypt (3.1.13) - bindata (2.4.6) + bcrypt (3.1.16) + bindata (2.4.8) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) - bootstrap-switch-rails (3.3.3) + bootstrap-switch-rails (3.3.5) buftok (0.2.0) builder (3.2.4) - byebug (11.1.1) - capybara (3.15.0) + byebug (11.1.3) + capybara (3.35.3) addressable mini_mime (>= 0.1.3) nokogiri (~> 1.8) rack (>= 1.6.0) rack-test (>= 0.6.3) - regexp_parser (~> 1.2) + regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) carrierwave (1.3.1) activemodel (>= 4.0.0) @@ -121,9 +120,9 @@ GEM timers (>= 4.1.1) chrome_remote (0.3.0) websocket-driver (~> 0.6) - chunky_png (1.3.11) + chunky_png (1.4.0) citrus (3.0.2) - coderay (1.1.2) + coderay (1.1.3) compass (1.0.3) chunky_png (~> 1.2) compass-core (~> 1.0.2) @@ -140,50 +139,68 @@ GEM compass (~> 1.0.0) sass-rails (< 5.1) sprockets (< 4.0) - concurrent-ruby (1.1.6) + concurrent-ruby (1.1.8) configurate (0.5.0) - connection_pool (2.2.2) - crack (0.4.3) - safe_yaml (~> 1.0.0) + connection_pool (2.2.3) + crack (0.4.5) + rexml crass (1.0.6) - cucumber (3.1.2) - builder (>= 2.1.2) - cucumber-core (~> 3.2.0) - cucumber-expressions (~> 6.0.1) - cucumber-wire (~> 0.0.1) - diff-lcs (~> 1.3) - gherkin (~> 5.1.0) - multi_json (>= 1.7.5, < 2.0) - multi_test (>= 0.1.2) + cucumber (5.3.0) + builder (~> 3.2, >= 3.2.4) + cucumber-core (~> 8.0, >= 8.0.1) + cucumber-create-meta (~> 2.0, >= 2.0.2) + cucumber-cucumber-expressions (~> 10.3, >= 10.3.0) + cucumber-gherkin (~> 15.0, >= 15.0.2) + cucumber-html-formatter (~> 9.0, >= 9.0.0) + cucumber-messages (~> 13.1, >= 13.1.0) + cucumber-wire (~> 4.0, >= 4.0.1) + diff-lcs (~> 1.4, >= 1.4.4) + multi_test (~> 0.1, >= 0.1.2) + sys-uname (~> 1.2, >= 1.2.1) cucumber-api-steps (0.14.0) cucumber (>= 2.0.2) jsonpath (>= 0.1.2) - cucumber-core (3.2.1) - backports (>= 3.8.0) - cucumber-tag_expressions (~> 1.1.0) - gherkin (~> 5.0) - cucumber-expressions (6.0.1) - cucumber-rails (2.0.0) - capybara (>= 2.12, < 4) - cucumber (>= 3.0.2, < 4) - mime-types (>= 2.0, < 4) + cucumber-core (8.0.1) + cucumber-gherkin (~> 15.0, >= 15.0.2) + cucumber-messages (~> 13.0, >= 13.0.1) + cucumber-tag-expressions (~> 2.0, >= 2.0.4) + cucumber-create-meta (2.0.4) + cucumber-messages (~> 13.1, >= 13.1.0) + sys-uname (~> 1.2, >= 1.2.1) + cucumber-cucumber-expressions (10.3.0) + cucumber-gherkin (15.0.2) + cucumber-messages (~> 13.0, >= 13.0.1) + cucumber-html-formatter (9.0.0) + cucumber-messages (~> 13.0, >= 13.0.1) + cucumber-messages (13.2.1) + protobuf-cucumber (~> 3.10, >= 3.10.8) + cucumber-rails (2.3.0) + capybara (>= 2.18, < 4) + cucumber (>= 3.0.2, < 6) + mime-types (~> 3.2) nokogiri (~> 1.8) - railties (>= 4.2, < 7) - cucumber-tag_expressions (1.1.1) - cucumber-wire (0.0.1) - database_cleaner (1.8.3) - devise (4.7.1) + railties (>= 5.0, < 7) + cucumber-tag-expressions (2.0.4) + cucumber-wire (4.0.1) + cucumber-core (~> 8.0, >= 8.0.1) + cucumber-cucumber-expressions (~> 10.3, >= 10.3.0) + cucumber-messages (~> 13.0, >= 13.0.1) + database_cleaner (1.8.5) + database_cleaner-active_record (1.8.0) + activerecord + database_cleaner (~> 1.8.0) + devise (4.7.3) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-two-factor (3.0.3) - activesupport (< 5.3) + devise-two-factor (4.0.0) + activesupport (< 6.2) attr_encrypted (>= 1.3, < 4, != 2) devise (~> 4.0) - railties (< 5.3) - rotp (~> 2.0) + railties (< 6.2) + rotp (~> 6.0) devise_lastseenable (0.0.6) devise rails (>= 3.0.4) @@ -201,15 +218,15 @@ GEM diaspora_federation (= 0.2.6) fabrication (~> 2.16) uuid (~> 2.3, >= 2.3.8) - diff-lcs (1.3) - docile (1.3.2) + diff-lcs (1.4.4) + docile (1.3.5) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) encryptor (3.0.0) entypo-rails (3.0.0) railties (>= 4.1, < 6) equalizer (0.0.11) - erubi (1.9.0) + erubi (1.10.0) eslintrb (2.1.0) execjs multi_json (>= 1.3) @@ -218,7 +235,7 @@ GEM tzinfo ethon (0.12.0) ffi (>= 1.3.0) - excon (0.73.0) + excon (0.79.0) execjs (2.7.0) eye (0.10.0) celluloid (~> 0.17.3) @@ -226,7 +243,7 @@ GEM kostya-sigar (~> 2.0.0) state_machines thor - fabrication (2.21.0) + fabrication (2.22.0) factory_bot (6.1.0) activesupport (>= 5.0.0) factory_bot_rails (6.1.0) @@ -252,7 +269,7 @@ GEM fog-json (~> 1.1) fog-xml (~> 0.1) ipaddress (~> 0.8) - fog-core (2.2.0) + fog-core (2.2.3) builder excon (~> 0.71) formatador (~> 0.2) @@ -264,17 +281,16 @@ GEM fog-core nokogiri (>= 1.5.11, < 2.0.0) formatador (0.2.5) - fugit (1.3.3) + fugit (1.4.4) et-orbi (~> 1.1, >= 1.1.8) - raabro (~> 1.1) - fuubar (2.5.0) + raabro (~> 1.4) + fuubar (2.5.1) rspec-core (~> 3.0) ruby-progressbar (~> 1.4) - get_process_mem (0.2.5) + get_process_mem (0.2.7) ffi (~> 1.0) - gherkin (5.1.0) - gitlab (4.14.0) - httparty (~> 0.14, >= 0.14.0) + gitlab (4.17.0) + httparty (~> 0.18) terminal-table (~> 1.5, >= 1.5.1) globalid (0.4.2) activesupport (>= 4.2.0) @@ -283,32 +299,16 @@ GEM i18n (>= 0.7) multi_json request_store (>= 1.0) - guard (2.16.1) - formatador (>= 0.2.4) - listen (>= 2.7, < 4.0) - lumberjack (>= 1.0.12, < 2.0) - nenv (~> 0.1) - notiffany (~> 0.0) - pry (>= 0.9.12) - shellany (~> 0.0) - thor (>= 0.18.1) - guard-compat (1.2.1) - guard-rspec (4.7.3) - guard (~> 2.1) - guard-compat (~> 1.1) - rspec (>= 2.99.0, < 4.0) - guard-rubocop (1.3.0) - guard (~> 2.0) - rubocop (~> 0.20) - haml (5.1.2) + haml (5.2.1) temple (>= 0.8.0) tilt - haml_lint (0.35.0) - haml (>= 4.0, < 5.2) + haml_lint (0.37.0) + haml (>= 4.0, < 5.3) + parallel (~> 1.10) rainbow rubocop (>= 0.50.0) sysexits (~> 1.1) - hamlit (2.11.0) + hamlit (2.14.6) temple (>= 0.8.2) thor tilt @@ -318,7 +318,7 @@ GEM tilt (>= 1.2) hashdiff (1.0.1) hashie (4.1.0) - http (4.3.0) + http (4.4.1) addressable (~> 2.3) http-cookie (~> 1.0) http-form_data (~> 2.2) @@ -330,11 +330,11 @@ GEM ffi-compiler (>= 1.0, < 2.0) http_accept_language (2.1.1) http_parser.rb (0.6.0) - httparty (0.18.0) + httparty (0.18.1) mime-types (~> 3.0) multi_xml (>= 0.5.2) httpclient (2.8.3) - i18n (1.8.3) + i18n (1.8.10) concurrent-ruby (~> 1.0) i18n-inflector (2.6.7) i18n (>= 0.4.1) @@ -344,13 +344,12 @@ GEM railties (>= 3.0.0) idn-ruby (0.1.0) ipaddress (0.8.3) - jaro_winkler (1.5.4) - jasmine (3.6.0) - jasmine-core (~> 3.6.0) + jasmine (3.7.0) + jasmine-core (~> 3.7.0) phantomjs rack (>= 1.2.1) rake - jasmine-core (3.6.0) + jasmine-core (3.7.1) jasmine-jquery-rails (2.0.3) jquery-rails (4.3.5) rails-dom-testing (>= 1, < 3) @@ -363,7 +362,7 @@ GEM rails (>= 4.0, < 6.0) sprockets (>= 3.0.0) json (2.3.0) - json-jwt (1.11.0) + json-jwt (1.13.0) activesupport (>= 4.2) aes_key_wrap bindata @@ -372,83 +371,72 @@ GEM json-schema-rspec (0.0.4) json-schema (~> 2.5) rspec - jsonpath (1.0.5) + jsonpath (1.1.0) multi_json - to_regexp (~> 0.2.1) - jwt (2.2.1) + jwt (2.2.2) kgio (2.11.3) kostya-sigar (2.0.8) leaflet-rails (1.6.0) rails (>= 4.2.0) - listen (3.2.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) little-plugger (1.1.4) - logging (2.2.2) + logging (2.3.0) little-plugger (~> 1.1) - multi_json (~> 1.10) + multi_json (~> 1.14) logging-rails (0.6.0) logging (>= 1.8) - loofah (2.5.0) + loofah (2.9.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) - lumberjack (1.2.4) macaddr (1.7.2) systemu (~> 2.6.5) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) + marcel (1.0.1) markdown-it-html5-embed (1.0.0) markerb (1.1.0) memoizable (0.4.2) thread_safe (~> 0.3, >= 0.3.1) - method_source (0.9.2) + method_source (1.0.0) + middleware (0.1.0) mime-types (3.3.1) mime-types-data (~> 3.2015) - mime-types-data (3.2019.1009) - mimemagic (0.3.10) - nokogiri (~> 1) - rake + mime-types-data (3.2021.0225) mini_magick (4.10.1) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.1) + mini_mime (1.1.0) + mini_portile2 (2.5.0) + minitest (5.14.4) mobile-fu (1.4.0) rack-mobile-detect rails - multi_json (1.14.1) + multi_json (1.15.0) multi_test (0.1.2) multi_xml (0.6.0) multipart-post (2.1.1) mysql2 (0.5.3) naught (1.1.0) - nenv (0.3.0) - nio4r (2.5.2) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - notiffany (0.1.3) - nenv (~> 0.1) - shellany (~> 0.0) - oauth (0.5.4) - oauth2 (1.4.4) + nio4r (2.5.7) + nokogiri (1.11.3) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) + oauth (0.5.6) + oauth2 (1.4.7) faraday (>= 0.8, < 2.0) jwt (>= 1.0, < 3.0) multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) - octokit (4.18.0) + octokit (4.20.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) omniauth (1.9.1) hashie (>= 3.4.6) rack (>= 1.6.2, < 3) - omniauth-oauth (1.1.0) + omniauth-oauth (1.2.0) oauth - omniauth (~> 1.0) - omniauth-oauth2 (1.6.0) - oauth2 (~> 1.1) - omniauth (~> 1.9) + omniauth (>= 1.0, < 3) + omniauth-oauth2 (1.7.1) + oauth2 (~> 1.4) + omniauth (>= 1.9, < 3) omniauth-tumblr (1.2) multi_json omniauth-oauth (~> 1.0) @@ -457,7 +445,7 @@ GEM rack omniauth-wordpress (0.2.2) omniauth-oauth2 (>= 1.1.0) - open_graph_reader (0.7.0) + open_graph_reader (0.7.1) faraday (>= 0.9.0) nokogiri (~> 1.6) openid_connect (1.1.8) @@ -471,39 +459,47 @@ GEM validate_url webfinger (>= 1.0.1) orm_adapter (0.5.0) - parallel (1.19.1) - parser (2.7.0.4) - ast (~> 2.4.0) + parallel (1.20.1) + parser (3.0.1.0) + ast (~> 2.4.1) pg (1.2.3) phantomjs (2.1.1.0) - pronto (0.10.0) - gitlab (~> 4.0, >= 4.0.0) + pronto (0.11.0) + gitlab (~> 4.4, >= 4.4.0) httparty (>= 0.13.7) octokit (~> 4.7, >= 4.7.0) rainbow (>= 2.2, < 4.0) - rugged (~> 0.24, >= 0.23.0) - thor (~> 0.20.0) - pronto-eslint (0.10.0) + rexml (~> 3.2) + rugged (>= 0.23.0, < 1.1.0) + thor (>= 0.20.3, < 2.0) + pronto-eslint (0.11.0) eslintrb (~> 2.0, >= 2.0.0) - pronto (~> 0.10.0) - pronto-haml (0.10.0) + pronto (~> 0.11.0) + pronto-haml (0.11.0) haml_lint (~> 0.23) - pronto (~> 0.10.0) - pronto-rubocop (0.10.0) - pronto (~> 0.10.0) - rubocop (~> 0.50, >= 0.49.1) - pronto-scss (0.10.0) - pronto (~> 0.10.0) + pronto (~> 0.11.0) + rubocop (< 1.0) + pronto-rubocop (0.11.1) + pronto (~> 0.11.0) + rubocop (>= 0.63.1, < 2.0) + pronto-scss (0.11.0) + pronto (~> 0.11.0) scss_lint (~> 0.43, >= 0.43.0) - pry (0.12.2) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - pry-byebug (3.8.0) + protobuf-cucumber (3.10.8) + activesupport (>= 3.2) + middleware + thor + thread_safe + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.9.0) byebug (~> 11.0) - pry (~> 0.10) - public_suffix (4.0.3) - raabro (1.1.6) - rack (2.0.9) + pry (~> 0.13.0) + public_suffix (4.0.6) + raabro (1.4.0) + racc (1.5.2) + rack (2.2.3) rack-cors (1.1.1) rack (>= 2.0.0) rack-google-analytics (1.2.0) @@ -511,32 +507,30 @@ GEM activesupport rack-mobile-detect (0.4.0) rack - rack-oauth2 (1.10.1) + rack-oauth2 (1.16.0) activesupport attr_required httpclient json-jwt (>= 1.11.0) - rack + rack (>= 2.1.0) rack-piwik (0.3.0) - rack-protection (2.0.8.1) - rack rack-rewrite (1.5.1) rack-ssl (1.4.1) rack rack-test (1.1.0) rack (>= 1.0, < 3) - rails (5.2.4.3) - actioncable (= 5.2.4.3) - actionmailer (= 5.2.4.3) - actionpack (= 5.2.4.3) - actionview (= 5.2.4.3) - activejob (= 5.2.4.3) - activemodel (= 5.2.4.3) - activerecord (= 5.2.4.3) - activestorage (= 5.2.4.3) - activesupport (= 5.2.4.3) + rails (5.2.5) + actioncable (= 5.2.5) + actionmailer (= 5.2.5) + actionpack (= 5.2.5) + actionview (= 5.2.5) + activejob (= 5.2.5) + activemodel (= 5.2.5) + activerecord (= 5.2.5) + activestorage (= 5.2.5) + activesupport (= 5.2.5) bundler (>= 1.3.0) - railties (= 5.2.4.3) + railties (= 5.2.5) sprockets-rails (>= 2.0.0) rails-assets-autosize (4.0.2) rails-assets-backbone (1.3.3) @@ -588,70 +582,73 @@ GEM rails-timeago (2.18.0) actionpack (>= 3.1) activesupport (>= 3.1) - railties (5.2.4.3) - actionpack (= 5.2.4.3) - activesupport (= 5.2.4.3) + railties (5.2.5) + actionpack (= 5.2.5) + activesupport (= 5.2.5) method_source rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) rainbow (3.0.0) raindrops (0.19.1) rake (12.3.3) - rb-fsevent (0.10.3) + rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) - redcarpet (3.5.0) - redis (3.3.5) - regexp_parser (1.7.0) + redcarpet (3.5.1) + redis (4.2.5) + regexp_parser (2.1.1) request_store (1.5.0) rack (>= 1.4) - responders (2.4.1) - actionpack (>= 4.2.0, < 6.0) - railties (>= 4.2.0, < 6.0) - rexml (3.2.4) - rotp (2.1.2) + responders (3.0.1) + actionpack (>= 5.0) + railties (>= 5.0) + rexml (3.2.5) + rotp (6.2.0) rqrcode (1.1.2) chunky_png (~> 1.0) rqrcode_core (~> 0.1) - rqrcode_core (0.1.2) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.1) - rspec-support (~> 3.9.1) - rspec-expectations (3.9.1) + rqrcode_core (0.2.0) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) + rspec-support (~> 3.10.0) rspec-json_expectations (2.2.0) - rspec-mocks (3.9.1) + rspec-mocks (3.10.2) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-rails (3.9.1) - actionpack (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.2) - rubocop (0.80.1) - jaro_winkler (~> 1.5.1) + rspec-support (~> 3.10.0) + rspec-rails (5.0.1) + actionpack (>= 5.2) + activesupport (>= 5.2) + railties (>= 5.2) + rspec-core (~> 3.10) + rspec-expectations (~> 3.10) + rspec-mocks (~> 3.10) + rspec-support (~> 3.10) + rspec-support (3.10.2) + rubocop (0.93.1) parallel (~> 1.10) - parser (>= 2.7.0.1) + parser (>= 2.7.1.5) rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8) rexml + rubocop-ast (>= 0.6.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-rails (2.4.1) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (1.4.1) + parser (>= 2.7.1.5) + rubocop-rails (2.9.1) + activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 0.72.0) + rubocop (>= 0.90.0, < 2.0) ruby-oembed (0.12.0) - ruby-progressbar (1.10.1) - rubyzip (1.3.0) - rugged (0.99.0) - safe_yaml (1.0.5) + ruby-progressbar (1.11.0) + rubyzip (2.3.0) + rugged (1.0.1) sass (3.4.25) sass-rails (5.0.7) railties (>= 4.0.0, < 6) @@ -667,26 +664,25 @@ GEM scss_lint (0.55.0) rake (>= 0.9, < 13) sass (~> 3.4.20) - secure_headers (6.3.0) - shellany (0.0.1) - shoulda-matchers (4.0.1) + secure_headers (6.3.2) + shoulda-matchers (4.5.1) activesupport (>= 4.2.0) - sidekiq (5.2.8) - connection_pool (~> 2.2, >= 2.2.2) - rack (< 2.1.0) - rack-protection (>= 1.5.0) - redis (>= 3.3.5, < 5) - sidekiq-cron (1.1.0) + sidekiq (6.2.1) + connection_pool (>= 2.2.2) + rack (~> 2.0) + redis (>= 4.2.0) + sidekiq-cron (1.2.0) fugit (~> 1.1) sidekiq (>= 4.2.1) simple_captcha2 (0.5.0) rails (>= 4.1) simple_oauth (0.3.1) - simplecov (0.16.1) + simplecov (0.21.2) docile (~> 1.1) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.2) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.2) sinon-rails (1.15.0) railties (>= 3.1) sprockets (3.7.2) @@ -702,21 +698,22 @@ GEM sprockets (>= 3.0.0) state_machines (0.5.0) string-direction (1.2.2) - swd (1.1.2) + swd (1.2.0) activesupport (>= 3) attr_required (>= 0.0.5) httpclient (>= 2.4) + sys-uname (1.2.2) + ffi (~> 1.1) sysexits (1.2.0) systemu (2.6.5) temple (0.8.2) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - thor (0.20.3) + thor (1.1.0) thread_safe (0.3.6) tilt (2.0.10) - timecop (0.9.1) - timers (4.3.0) - to_regexp (0.2.1) + timecop (0.9.4) + timers (4.3.3) toml-rb (2.0.1) citrus (~> 3.0, > 3.0) turbo_dev_assets (0.0.2) @@ -734,16 +731,16 @@ GEM twitter-text (3.0.0) idn-ruby unf (~> 0.1.0) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.7) + tzinfo (1.2.9) thread_safe (~> 0.1) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext - unf_ext (0.0.7.6) - unicode-display_width (1.6.1) + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) unicorn (5.5.3) kgio (~> 2.6) raindrops (~> 0.7) @@ -756,30 +753,30 @@ GEM validate_email (0.1.6) activemodel (>= 3.0) mail (>= 2.2.5) - validate_url (1.0.8) + validate_url (1.0.13) activemodel (>= 3.0.0) public_suffix versionist (2.0.1) activesupport (>= 3) railties (>= 3) yard (~> 0.9.20) - warden (1.2.8) - rack (>= 2.0.6) + warden (1.2.9) + rack (>= 2.0.9) webfinger (1.1.0) activesupport httpclient (>= 2.4) - webmock (3.8.3) + webmock (3.12.2) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.2) + websocket-driver (0.7.3) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) will_paginate (3.3.0) xpath (3.2.0) nokogiri (~> 1.8) yajl-ruby (1.4.1) - yard (0.9.24) + yard (0.9.26) PLATFORMS ruby @@ -792,19 +789,19 @@ DEPENDENCIES addressable (= 2.7.0) apparition (= 0.6.0) asset_sync (= 2.11.0) - autoprefixer-rails (= 8.6.5) + autoprefixer-rails (= 10.2.4.0) bootstrap-sass (= 3.4.1) - bootstrap-switch-rails (= 3.3.3) - capybara (= 3.15.0) + bootstrap-switch-rails (= 3.3.5) + capybara (= 3.35.3) carrierwave (= 1.3.1) chrome_remote (= 0.3.0) compass-rails (= 3.1.0) configurate (= 0.5.0) cucumber-api-steps (= 0.14) - cucumber-rails (= 2.0.0) - database_cleaner (= 1.8.3) - devise (= 4.7.1) - devise-two-factor (= 3.0.3) + cucumber-rails (= 2.3.0) + database_cleaner-active_record (= 1.8.0) + devise (= 4.7.3) + devise-two-factor (= 4.0.0) devise_lastseenable (= 0.0.6) diaspora_federation-json_schema (= 0.2.6) diaspora_federation-rails (= 0.2.6) @@ -817,17 +814,14 @@ DEPENDENCIES faraday_middleware (= 0.13.1) fixture_builder (= 0.5.2) fog-aws (= 3.5.2) - fuubar (= 2.5.0) + fuubar (= 2.5.1) gon (= 6.3.2) - guard (= 2.16.1) - guard-rspec (= 4.7.3) - guard-rubocop (= 1.3.0) - haml_lint (= 0.35.0) - hamlit (= 2.11.0) + haml_lint (= 0.37.0) + hamlit (= 2.14.6) handlebars_assets (= 0.23.8) http_accept_language (= 2.1.1) i18n-inflector-rails (= 1.0.7) - jasmine (= 3.6.0) + jasmine (= 3.7.0) jasmine-jquery-rails (= 2.0.3) jquery-rails (= 4.3.5) js-routes (= 1.4.9) @@ -843,19 +837,19 @@ DEPENDENCIES minitest mobile-fu (= 1.4.0) mysql2 (= 0.5.3) - nokogiri (= 1.10.9) + nokogiri (= 1.11.3) omniauth (= 1.9.1) omniauth-tumblr (= 1.2) omniauth-twitter (= 1.4.0) omniauth-wordpress (= 0.2.2) - open_graph_reader (= 0.7.0) + open_graph_reader (= 0.7.1) openid_connect (= 1.1.8) pg (= 1.2.3) - pronto (= 0.10.0) - pronto-eslint (= 0.10.0) - pronto-haml (= 0.10.0) - pronto-rubocop (= 0.10.0) - pronto-scss (= 0.10.0) + pronto (= 0.11.0) + pronto-eslint (= 0.11.0) + pronto-haml (= 0.11.0) + pronto-rubocop (= 0.11.1) + pronto-scss (= 0.11.0) pry pry-byebug rack-cors (= 1.1.1) @@ -863,7 +857,7 @@ DEPENDENCIES rack-piwik (= 0.3.0) rack-rewrite (= 1.5.1) rack-ssl (= 1.4.1) - rails (= 5.2.4.3) + rails (= 5.2.5) rails-assets-autosize (= 4.0.2)! rails-assets-backbone (= 1.3.3)! rails-assets-blueimp-gallery (= 2.33.0)! @@ -890,41 +884,39 @@ DEPENDENCIES rails-controller-testing (= 1.0.4) rails-i18n (= 5.1.3) rails-timeago (= 2.18.0) - rb-fsevent (= 0.10.3) - rb-inotify (= 0.10.1) - redcarpet (= 3.5.0) - redis (= 3.3.5) - responders (= 2.4.1) + redcarpet (= 3.5.1) + redis (= 4.2.5) + responders (= 3.0.1) rqrcode (= 1.1.2) rspec-json_expectations (~> 2.1) - rspec-rails (= 3.9.1) - rubocop (= 0.80.1) - rubocop-rails (= 2.4.1) + rspec-rails (= 5.0.1) + rubocop (= 0.93.1) + rubocop-rails (= 2.9.1) ruby-oembed (= 0.12.0) - rubyzip (= 1.3.0) + rubyzip (= 2.3.0) sass-rails (= 5.0.7) - secure_headers (= 6.3.0) - shoulda-matchers (= 4.0.1) - sidekiq (= 5.2.8) - sidekiq-cron (= 1.1.0) + secure_headers (= 6.3.2) + shoulda-matchers (= 4.5.1) + sidekiq (= 6.2.1) + sidekiq-cron (= 1.2.0) simple_captcha2 (= 0.5.0) - simplecov (= 0.16.1) + simplecov (= 0.21.2) sinon-rails (= 1.15.0) sprockets-es6 (= 0.9.2) sprockets-rails (= 3.2.1) string-direction (= 1.2.2) - timecop (= 0.9.1) + timecop (= 0.9.4) toml-rb (= 2.0.1) turbo_dev_assets (= 0.0.2) twitter (= 7.0.0) twitter-text (= 3.0.0) - typhoeus (= 1.3.1) + typhoeus (= 1.4.0) uglifier (= 4.2.0) unicorn (= 5.5.3) unicorn-worker-killer (= 0.4.4) uuid (= 2.3.9) versionist (= 2.0.1) - webmock (= 3.8.3) + webmock (= 3.12.2) will_paginate (= 3.3.0) yajl-ruby (= 1.4.1) diff --git a/Guardfile b/Guardfile deleted file mode 100644 index f10147bba..000000000 --- a/Guardfile +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -guard :rspec, cmd: "bin/spring rspec", all_on_start: false, all_after_pass: false do - watch(/^spec\/.+_spec\.rb$/) - watch(/^lib\/(.+)\.rb$/) {|m| "spec/lib/#{m[1]}_spec.rb" } - watch(/spec\/spec_helper.rb/) { "spec" } - - # Rails example - watch(/^spec\/.+_spec\.rb$/) - watch(/^app\/(.+)\.rb$/) {|m| "spec/#{m[1]}_spec.rb" } - watch(/^lib\/(.+)\.rb$/) {|m| "spec/lib/#{m[1]}_spec.rb" } - watch(%r{^app/controllers/(.+)_(controller)\.rb$}) {|m| - ["spec/routing/#{m[1]}_routing_spec.rb", - "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", - "spec/acceptance/#{m[1]}_spec.rb"] - } - watch(%r{^spec/support/(.+)\.rb$}) { "spec" } - watch("spec/spec_helper.rb") { "spec" } - watch("config/routes.rb") { "spec/routing" } - watch("app/controllers/application_controller.rb") { "spec/controllers" } - - # Capybara request specs - watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) {|m| "spec/requests/#{m[1]}_spec.rb" } -end - -guard :rubocop, all_on_start: false, keep_failed: false do - watch(/(?:app|config|db|lib|features|spec)\/.+\.rb$/) - watch(/(config.ru|Gemfile|Guardfile|Rakefile)$/) -end diff --git a/app/models/user.rb b/app/models/user.rb index 8ab4f9be6..bfc97325b 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -4,6 +4,8 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. +require "attr_encrypted" + class User < ApplicationRecord include AuthenticationToken include Connecting diff --git a/bin/guard b/bin/guard deleted file mode 100755 index 0c1a532bd..000000000 --- a/bin/guard +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env ruby -# -# This file was generated by Bundler. -# -# The application 'guard' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -require 'pathname' -ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile", - Pathname.new(__FILE__).realpath) - -require 'rubygems' -require 'bundler/setup' - -load Gem.bin_path('guard', 'guard') diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 8f996504a..104e94a82 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -1,16 +1,16 @@ # frozen_string_literal: true -require 'sidekiq_middlewares' -require 'sidekiq/middleware/i18n' +require "sidekiq_middlewares" +require "sidekiq/middleware/i18n" # Single process-mode -if AppConfig.environment.single_process_mode? && Rails.env != "test" - if Rails.env == 'production' +if AppConfig.environment.single_process_mode? && !Rails.env.test? + if Rails.env.production? warn "WARNING: You are running Diaspora in production without Sidekiq" warn " workers turned on. Please set single_process_mode to false in" warn " config/diaspora.toml." end - require 'sidekiq/testing/inline' + require "sidekiq/testing/inline" end Sidekiq.configure_server do |config| @@ -20,35 +20,15 @@ Sidekiq.configure_server do |config| chain.add SidekiqMiddlewares::CleanAndShortBacktraces end - # Set connection pool on Heroku - database_url = ENV['DATABASE_URL'] - if(database_url) - ENV['DATABASE_URL'] = "#{database_url}?pool=#{AppConfig.environment.sidekiq.concurrency.get}" + # Set connection pool to match concurrency + database_url = ENV["DATABASE_URL"] + if database_url + ENV["DATABASE_URL"] = "#{database_url}?pool=#{AppConfig.environment.sidekiq.concurrency.get}" ActiveRecord::Base.establish_connection end # Make sure each Sidekiq process has its own sequence of UUIDs UUID.generator.next_sequence - - # wrap the logger to add the sidekiq job context to the log - class SidekiqLogger < SimpleDelegator - SPACE = " " - - # only info is used with context - def info(data=nil) - return false if Logger::Severity::INFO < level - data = yield if data.nil? && block_given? - __getobj__.info("#{context}#{data}") - end - - # from sidekiq/logging.rb - def context - c = Thread.current[:sidekiq_context] - "#{c.join(SPACE)}: " if c && c.any? - end - end - - Sidekiq::Logging.logger = SidekiqLogger.new(Logging.logger[Sidekiq]) end Sidekiq.configure_client do |config| diff --git a/features/support/env.rb b/features/support/env.rb index 1d67651d3..d8cfcbd3a 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -7,6 +7,7 @@ ENV["RAILS_ENV"] ||= "test" # Have all rests run with english browser locale ENV["LANG"] = "C" +require "database_cleaner/active_record" require "cucumber/rails" require "capybara/rails" @@ -52,6 +53,7 @@ Capybara.default_max_wait_time = 30 # of your scenarios, as this makes it hard to discover errors in your application. ActionController::Base.allow_rescue = false +DatabaseCleaner.strategy = :truncation Cucumber::Rails::Database.autorun_database_cleaner = true Cucumber::Rails::World.use_transactional_tests = false diff --git a/features/support/webmock.rb b/features/support/webmock.rb index cce1de904..3068944d4 100644 --- a/features/support/webmock.rb +++ b/features/support/webmock.rb @@ -7,7 +7,7 @@ Before do stub_request(:head, /.+/).with( headers: { "Accept" => "text/html", - "User-Agent" => "OpenGraphReader/0.7.0 (+https://github.com/jhass/open_graph_reader)" + "User-Agent" => "OpenGraphReader/0.7.1 (+https://github.com/jhass/open_graph_reader)" } ).to_return(status: 200, body: "", headers: {"Content-Type" => "text/plain"}) end diff --git a/lib/tasks/cucumber.rake b/lib/tasks/cucumber.rake index 815d35f6a..068d3ddbf 100644 --- a/lib/tasks/cucumber.rake +++ b/lib/tasks/cucumber.rake @@ -20,7 +20,7 @@ begin t.binary = vendored_cucumber_bin # If nil, the gem's binary is used. t.fork = true # You may get faster startup if you set this to false t.profile = 'default' - t.cucumber_opts = %w[--retry 3 --no-strict-flaky --fail-fast] + t.cucumber_opts = %w[--retry 3 --no-strict-flaky --fail-fast --publish-quiet] end Cucumber::Rake::Task.new({:wip => 'db:test:prepare'}, 'Run features that are being worked on') do |t| diff --git a/spec/models/open_graph_cache_spec.rb b/spec/models/open_graph_cache_spec.rb index 799f726ac..e205baa76 100644 --- a/spec/models/open_graph_cache_spec.rb +++ b/spec/models/open_graph_cache_spec.rb @@ -63,7 +63,7 @@ describe OpenGraphCache, type: :model do stub_request(:head, "http:///wetter.com") .with(headers: { "Accept" => "text/html", - "User-Agent" => "OpenGraphReader/0.7.0 (+https://github.com/jhass/open_graph_reader)" + "User-Agent" => "OpenGraphReader/0.7.1 (+https://github.com/jhass/open_graph_reader)" }) .to_return(status: 200, body: "", headers: {"Set-Cookie" => "Dabgroup=A;path=/;Expires=Thu, 23 May 2019 16:12:01 GMT;httpOnly"})