From 4ee2b46b32aa76223282dd09b491c5d06b1405a1 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Sun, 19 Feb 2023 20:58:47 +0100 Subject: [PATCH 001/251] add sharing to telegram --- app/controllers/ajax/answer_controller.rb | 18 +++-- app/helpers/social_helper.rb | 5 +- app/helpers/social_helper/telegram_methods.rb | 23 ++++++ .../controllers/inbox_sharing_controller.ts | 5 +- app/views/inbox/_entry.html.haml | 3 + .../ajax/answer_controller_spec.rb | 72 ++++++++++++++----- .../social_helper/telegram_methods_spec.rb | 47 ++++++++++++ spec/views/inbox/_entry.html.haml_spec.rb | 4 ++ 8 files changed, 152 insertions(+), 25 deletions(-) create mode 100644 app/helpers/social_helper/telegram_methods.rb create mode 100644 spec/helpers/social_helper/telegram_methods_spec.rb diff --git a/app/controllers/ajax/answer_controller.rb b/app/controllers/ajax/answer_controller.rb index 859ae794..e038ae69 100644 --- a/app/controllers/ajax/answer_controller.rb +++ b/app/controllers/ajax/answer_controller.rb @@ -5,6 +5,7 @@ require "cgi" class Ajax::AnswerController < AjaxController include SocialHelper::TwitterMethods include SocialHelper::TumblrMethods + include SocialHelper::TelegramMethods def create params.require :id @@ -41,13 +42,7 @@ class Ajax::AnswerController < AjaxController @response[:message] = t(".success") @response[:success] = true - if current_user.sharing_enabled - @response[:sharing] = { - twitter: twitter_share_url(answer), - tumblr: tumblr_share_url(answer), - custom: CGI.escape(prepare_tweet(answer)) - } - end + @response[:sharing] = sharing_hash(answer) if current_user.sharing_enabled return if inbox @@ -74,4 +69,13 @@ class Ajax::AnswerController < AjaxController @response[:message] = t(".success") @response[:success] = true end + + private + + def sharing_hash(answer) = { + twitter: twitter_share_url(answer), + tumblr: tumblr_share_url(answer), + telegram: telegram_share_url(answer), + custom: CGI.escape(prepare_tweet(answer)), + } end diff --git a/app/helpers/social_helper.rb b/app/helpers/social_helper.rb index 00447583..e1ffe35f 100644 --- a/app/helpers/social_helper.rb +++ b/app/helpers/social_helper.rb @@ -1,4 +1,7 @@ +# frozen_string_literal: true + module SocialHelper include SocialHelper::TwitterMethods include SocialHelper::TumblrMethods -end \ No newline at end of file + include SocialHelper::TelegramMethods +end diff --git a/app/helpers/social_helper/telegram_methods.rb b/app/helpers/social_helper/telegram_methods.rb new file mode 100644 index 00000000..ec13f9ea --- /dev/null +++ b/app/helpers/social_helper/telegram_methods.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require "cgi" + +module SocialHelper::TelegramMethods + include MarkdownHelper + + def telegram_text(answer) + # using twitter_markdown here as it removes all formatting + "#{twitter_markdown answer.question.content}\n———\n#{twitter_markdown answer.content}" + end + + def telegram_share_url(answer) + url = answer_url( + id: answer.id, + username: answer.user.screen_name, + host: APP_CONFIG["hostname"], + protocol: (APP_CONFIG["https"] ? :https : :http) + ) + + %(https://t.me/share/url?url=#{CGI.escape(url)}&text=#{CGI.escape(telegram_text(answer))}) + end +end diff --git a/app/javascript/retrospring/controllers/inbox_sharing_controller.ts b/app/javascript/retrospring/controllers/inbox_sharing_controller.ts index 48f0a905..6d0218b1 100644 --- a/app/javascript/retrospring/controllers/inbox_sharing_controller.ts +++ b/app/javascript/retrospring/controllers/inbox_sharing_controller.ts @@ -1,10 +1,11 @@ import { Controller } from '@hotwired/stimulus'; export default class extends Controller { - static targets = ['twitter', 'tumblr', 'custom']; + static targets = ['twitter', 'tumblr', 'telegram', 'custom']; declare readonly twitterTarget: HTMLAnchorElement; declare readonly tumblrTarget: HTMLAnchorElement; + declare readonly telegramTarget: HTMLAnchorElement; declare readonly customTarget: HTMLAnchorElement; declare readonly hasCustomTarget: boolean; @@ -20,6 +21,7 @@ export default class extends Controller { if (this.autoCloseValue) { this.twitterTarget.addEventListener('click', () => this.close()); this.tumblrTarget.addEventListener('click', () => this.close()); + this.telegramTarget.addEventListener('click', () => this.close()); if (this.hasCustomTarget) { this.customTarget.addEventListener('click', () => this.close()); @@ -36,6 +38,7 @@ export default class extends Controller { this.twitterTarget.href = this.configValue['twitter']; this.tumblrTarget.href = this.configValue['tumblr']; + this.telegramTarget.href = this.configValue['telegram']; if (this.hasCustomTarget) { this.customTarget.href = `${this.customTarget.href}${this.configValue['custom']}`; diff --git a/app/views/inbox/_entry.html.haml b/app/views/inbox/_entry.html.haml index 769d4f10..eb92ed7d 100644 --- a/app/views/inbox/_entry.html.haml +++ b/app/views/inbox/_entry.html.haml @@ -49,6 +49,9 @@ %a.btn.btn-primary{ href: "#", data: { inbox_sharing_target: "tumblr" }, target: "_blank" } %i.fab.fa-tumblr.fa-fw Tumblr + %a.btn.btn-primary{ href: "#", data: { inbox_sharing_target: "telegram" }, target: "_blank" } + %i.fab.fa-telegram.fa-fw + Telegram - if current_user.sharing_custom_url.present? %a.btn.btn-primary{ href: current_user.sharing_custom_url, data: { inbox_sharing_target: "custom" }, target: "_blank" } = current_user.display_sharing_custom_url diff --git a/spec/controllers/ajax/answer_controller_spec.rb b/spec/controllers/ajax/answer_controller_spec.rb index 93374bb5..18c65354 100644 --- a/spec/controllers/ajax/answer_controller_spec.rb +++ b/spec/controllers/ajax/answer_controller_spec.rb @@ -13,7 +13,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do id:, answer:, share: shared_services&.to_json, - inbox: + inbox:, }.compact end @@ -42,7 +42,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do "success" => false, # caught by rescue_from, so status is not peter_dinklage "status" => "parameter_error", - "message" => anything + "message" => anything, } end @@ -70,13 +70,33 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => true, "status" => "okay", - "message" => anything + "message" => anything, } end include_examples "creates the answer" it_behaves_like "fails when answer content is empty" + + context "when the user has sharing enabled" do + before do + user.sharing_enabled = true + user.save + end + + let(:expected_response) do + super().merge( + "sharing" => { + "twitter" => a_string_matching("https://twitter.com/"), + "tumblr" => a_string_matching("https://www.tumblr.com/"), + "telegram" => a_string_matching("https://t.me/"), + "custom" => a_string_matching(/Werfen\+Sie\+nicht\+l%C3%A4nger\+das\+Fenster\+zum\+Geld\+hinaus%21/), + } + ) + end + + include_examples "creates the answer" + end end context "when the inbox entry does not belong to the user" do @@ -85,7 +105,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => "fail", - "message" => anything + "message" => anything, } end @@ -100,7 +120,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => true, "status" => "okay", - "message" => anything + "message" => anything, } end @@ -129,13 +149,33 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do "success" => true, "status" => "okay", "message" => anything, - "render" => anything + "render" => anything, } end include_examples "creates the answer" it_behaves_like "fails when answer content is empty" + + context "when the user has sharing enabled" do + before do + user.sharing_enabled = true + user.save + end + + let(:expected_response) do + super().merge( + "sharing" => { + "twitter" => a_string_matching("https://twitter.com/"), + "tumblr" => a_string_matching("https://www.tumblr.com/"), + "telegram" => a_string_matching("https://t.me/"), + "custom" => a_string_matching(/Werfen\+Sie\+nicht\+l%C3%A4nger\+das\+Fenster\+zum\+Geld\+hinaus%21/), + } + ) + end + + include_examples "creates the answer" + end end context "when question asker does not allow strangers to answer (i.e. question was not in inbox)" do @@ -144,7 +184,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => "privacy_stronk", - "message" => anything + "message" => anything, } end @@ -160,7 +200,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => "answering_other_blocked_self", - "message" => I18n.t("errors.answering_other_blocked_self") + "message" => I18n.t("errors.answering_other_blocked_self"), } end @@ -176,7 +216,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => "answering_self_blocked_other", - "message" => I18n.t("errors.answering_self_blocked_other") + "message" => I18n.t("errors.answering_self_blocked_other"), } end @@ -196,7 +236,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do "success" => false, # caught by rescue_from, so status is not peter_dinklage "status" => "parameter_error", - "message" => anything + "message" => anything, } end @@ -214,7 +254,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => "err", - "message" => anything + "message" => anything, } end @@ -230,7 +270,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do let(:params) do { - answer: answer_id + answer: answer_id, } end @@ -242,7 +282,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => true, "status" => "okay", - "message" => anything + "message" => anything, } end @@ -259,7 +299,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => "nopriv", - "message" => anything + "message" => anything, } end @@ -311,7 +351,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => anything, - "message" => anything + "message" => anything, } end @@ -324,7 +364,7 @@ describe Ajax::AnswerController, :ajax_controller, type: :controller do { "success" => false, "status" => "nopriv", - "message" => anything + "message" => anything, } end diff --git a/spec/helpers/social_helper/telegram_methods_spec.rb b/spec/helpers/social_helper/telegram_methods_spec.rb new file mode 100644 index 00000000..5e180373 --- /dev/null +++ b/spec/helpers/social_helper/telegram_methods_spec.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +require "rails_helper" + +describe SocialHelper::TelegramMethods, type: :helper do + let(:user) { FactoryBot.create(:user) } + let(:answer) do + FactoryBot.create( + :answer, + user:, + content: "this is an answer\nwith multiple lines\nand **FORMATTING**", + question_content: "this is a question .... or is it?" + ) + end + + before do + stub_const("APP_CONFIG", { + "hostname" => "example.com", + "https" => true, + "items_per_page" => 5, + }) + end + + describe "#telegram_text" do + subject { telegram_text(answer) } + + it "returns a proper text for sharing" do + expect(subject).to eq(<<~TEXT.strip) + this is a question .... or is it? + ——— + this is an answer + with multiple lines + and FORMATTING + TEXT + end + end + + describe "#telegram_share_url" do + subject { telegram_share_url(answer) } + + it "returns a proper share link" do + expect(subject).to eq(<<~URL.strip) + https://t.me/share/url?url=https%3A%2F%2Fexample.com%2F%40#{answer.user.screen_name}%2Fa%2F#{answer.id}&text=this+is+a+question+....+or+is+it%3F%0A%E2%80%94%E2%80%94%E2%80%94%0Athis+is+an+answer%0Awith+multiple+lines%0Aand+FORMATTING + URL + end + end +end diff --git a/spec/views/inbox/_entry.html.haml_spec.rb b/spec/views/inbox/_entry.html.haml_spec.rb index 72243982..a94c2c1c 100644 --- a/spec/views/inbox/_entry.html.haml_spec.rb +++ b/spec/views/inbox/_entry.html.haml_spec.rb @@ -82,6 +82,10 @@ describe "inbox/_entry.html.haml", type: :view do expect(rendered).to have_css(%(.inbox-entry__sharing.d-none)) end + it "has a link-button to share to telegram" do + expect(rendered).to have_css(%(.inbox-entry__sharing a.btn[data-inbox-sharing-target="telegram"])) + end + it "has a link-button to share to tumblr" do expect(rendered).to have_css(%(.inbox-entry__sharing a.btn[data-inbox-sharing-target="tumblr"])) end From 0451e2fedd40365d354f22f89f783b4ffcad1136 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Sun, 19 Feb 2023 21:15:56 +0100 Subject: [PATCH 002/251] actions/_share: add telegram --- app/views/actions/_share.html.haml | 3 +++ config/locales/views.en.yml | 1 + spec/views/actions/_share.html.haml_spec.rb | 29 +++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 spec/views/actions/_share.html.haml_spec.rb diff --git a/app/views/actions/_share.html.haml b/app/views/actions/_share.html.haml index 85dbdd4e..65daacc2 100644 --- a/app/views/actions/_share.html.haml +++ b/app/views/actions/_share.html.haml @@ -5,5 +5,8 @@ %a.dropdown-item{ href: tumblr_share_url(answer), target: "_blank" } %i.fa.fa-fw.fa-tumblr = t(".tumblr") + %a.dropdown-item{ href: telegram_share_url(answer), target: "_blank" } + %i.fa.fa-fw.fa-telegram + = t(".telegram") %a.dropdown-item{ href: "#", name: "ab-share" } = t(".other") diff --git a/config/locales/views.en.yml b/config/locales/views.en.yml index d16c9ce5..ba7a2d65 100644 --- a/config/locales/views.en.yml +++ b/config/locales/views.en.yml @@ -81,6 +81,7 @@ en: share: twitter: "Share on Twitter" tumblr: "Share on Tumblr" + telegram: "Share on Telegram" other: "Share on other apps..." admin: announcement: diff --git a/spec/views/actions/_share.html.haml_spec.rb b/spec/views/actions/_share.html.haml_spec.rb new file mode 100644 index 00000000..16153d1c --- /dev/null +++ b/spec/views/actions/_share.html.haml_spec.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +require "rails_helper" + +describe "actions/_share.html.haml", type: :view do + let(:answer) { FactoryBot.create(:answer, user: FactoryBot.create(:user)) } + + subject(:rendered) do + render partial: "actions/share", locals: { + answer:, + } + end + + it "has a dropdown item to share to twitter" do + expect(rendered).to have_css(%(a.dropdown-item[href^="https://twitter.com/"][target="_blank"])) + end + + it "has a dropdown item to share to tumblr" do + expect(rendered).to have_css(%(a.dropdown-item[href^="https://www.tumblr.com/"][target="_blank"])) + end + + it "has a dropdown item to share to telegram" do + expect(rendered).to have_css(%(a.dropdown-item[href^="https://t.me/"][target="_blank"])) + end + + it "has a dropdown item to share to anywhere else" do + expect(rendered).to have_css(%(a.dropdown-item[name="ab-share"])) + end +end From c054aa25feaa03882983e625840e09439e39b58a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 09:57:46 +0000 Subject: [PATCH 003/251] Bump devise-i18n from 1.10.2 to 1.10.3 Bumps [devise-i18n](https://github.com/tigrish/devise-i18n) from 1.10.2 to 1.10.3. - [Release notes](https://github.com/tigrish/devise-i18n/releases) - [Changelog](https://github.com/tigrish/devise-i18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/tigrish/devise-i18n/compare/v1.10.2...v1.10.3) --- updated-dependencies: - dependency-name: devise-i18n dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f7d3b596..47a3b906 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -126,7 +126,7 @@ GEM devise-async (1.0.0) activejob (>= 5.0) devise (>= 4.0) - devise-i18n (1.10.2) + devise-i18n (1.10.3) devise (>= 4.8.0) diff-lcs (1.5.0) docile (1.4.0) @@ -267,7 +267,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.8) - nokogiri (1.14.1) + nokogiri (1.14.2) mini_portile2 (~> 2.8.0) racc (~> 1.4) oj (3.14.2) @@ -336,9 +336,9 @@ GEM regexp_parser (2.7.0) request_store (1.5.1) rack (>= 1.4) - responders (3.0.1) - actionpack (>= 5.0) - railties (>= 5.0) + responders (3.1.0) + actionpack (>= 5.2) + railties (>= 5.2) rexml (3.2.5) rolify (6.0.1) rotp (6.2.0) @@ -474,7 +474,7 @@ GEM websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.6) + zeitwerk (2.6.7) PLATFORMS ruby From c53860374bbe46a30940daf03902b4cbe9fc3d3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 09:59:40 +0000 Subject: [PATCH 004/251] Bump fog-aws from 3.17.0 to 3.18.0 Bumps [fog-aws](https://github.com/fog/fog-aws) from 3.17.0 to 3.18.0. - [Release notes](https://github.com/fog/fog-aws/releases) - [Changelog](https://github.com/fog/fog-aws/blob/master/CHANGELOG.md) - [Commits](https://github.com/fog/fog-aws/compare/v3.17.0...v3.18.0) --- updated-dependencies: - dependency-name: fog-aws dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f7d3b596..96573d6c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -158,7 +158,7 @@ GEM faker (3.1.1) i18n (>= 1.8.11, < 2) ffi (1.15.5) - fog-aws (3.17.0) + fog-aws (3.18.0) fog-core (~> 2.1) fog-json (~> 1.1) fog-xml (~> 0.1) @@ -241,7 +241,7 @@ GEM method_source (1.0.0) mime-types (3.4.1) mime-types-data (~> 3.2015) - mime-types-data (3.2022.0105) + mime-types-data (3.2023.0218.1) mimemagic (0.4.3) nokogiri (~> 1) rake @@ -267,7 +267,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.8) - nokogiri (1.14.1) + nokogiri (1.14.2) mini_portile2 (~> 2.8.0) racc (~> 1.4) oj (3.14.2) From 4d05335fe77f7b1e2264579022898ecc07d80fe4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 10:00:23 +0000 Subject: [PATCH 005/251] Bump dry-types from 1.7.0 to 1.7.1 Bumps [dry-types](https://github.com/dry-rb/dry-types) from 1.7.0 to 1.7.1. - [Release notes](https://github.com/dry-rb/dry-types/releases) - [Changelog](https://github.com/dry-rb/dry-types/blob/main/CHANGELOG.md) - [Commits](https://github.com/dry-rb/dry-types/compare/v1.7.0...v1.7.1) --- updated-dependencies: - dependency-name: dry-types dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f7d3b596..0e56503f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,15 +135,15 @@ GEM zeitwerk (~> 2.6) dry-inflector (1.0.0) dry-initializer (3.1.1) - dry-logic (1.4.0) + dry-logic (1.5.0) concurrent-ruby (~> 1.0) dry-core (~> 1.0, < 2) zeitwerk (~> 2.6) - dry-types (1.7.0) + dry-types (1.7.1) concurrent-ruby (~> 1.0) - dry-core (~> 1.0, < 2) - dry-inflector (~> 1.0, < 2) - dry-logic (>= 1.4, < 2) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) zeitwerk (~> 2.6) erubi (1.12.0) excon (0.99.0) @@ -474,7 +474,7 @@ GEM websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.6) + zeitwerk (2.6.7) PLATFORMS ruby From 32906ba403bf5dc3a9e5f0b58a9f71ab8e8066b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 10:01:12 +0000 Subject: [PATCH 006/251] Bump esbuild from 0.17.8 to 0.17.9 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.8 to 0.17.9. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.8...v0.17.9) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index bca4b7f0..360f2c69 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.8", + "esbuild": "^0.17.9", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 6324ee68..a84b6cf5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz#b3d5b65a3b2e073a6c7ee36b1f3c30c8f000315b" - integrity sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ== +"@esbuild/android-arm64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.9.tgz#d7d7231918e962475a8d538efb281a2ab95302bc" + integrity sha512-bqds/6lXsCA7JhHGKIM/R80sy3BAIBR0HWyeas0bW57QVHT3Rz5sf4oUVS4ZsmN+J+8IgNnaIT2PXZ0pnRcLKg== -"@esbuild/android-arm@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.8.tgz#c41e496af541e175369d48164d0cf01a5f656cf6" - integrity sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w== +"@esbuild/android-arm@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.9.tgz#7c2e3899715e190ace63291adc005ee8726d3ad9" + integrity sha512-efHnZVJldh2e18fK40RYzYTTRDzZ0QgL9V/73PSsAH43BauvjVwkqSHPhbcn77H0EQOUM2JPuO/XCg7jcKt94A== -"@esbuild/android-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.8.tgz#080fa67c29be77f5a3ca5ee4cc78d5bf927e3a3b" - integrity sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg== +"@esbuild/android-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.9.tgz#9c4994df308a4f0ef753d5933871213d974d2e42" + integrity sha512-pP+MLR/k8BAYZuOqEkjAaQd9/pzbNS52pNFiXgdiCHb/16u6o7s0rPF8vPlVg+1s8ii+M6HrymL4534xYwCQCA== -"@esbuild/darwin-arm64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz#053622bf9a82f43d5c075b7818e02618f7b4a397" - integrity sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg== +"@esbuild/darwin-arm64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.9.tgz#7bebec932d1ac73048d804f223b46c9744eac548" + integrity sha512-Gdbnu/RCIGHE/zqLHZwujTXnHz0lBQxK9+llrbxm5tO46CMhqiOhUuA5Zt6q2imULNoPJtxmhspHSAQtcx2pkw== -"@esbuild/darwin-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz#8a1aadb358d537d8efad817bb1a5bff91b84734b" - integrity sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw== +"@esbuild/darwin-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.9.tgz#c0d2c3b951b186fcdd851de08be2649c9e545331" + integrity sha512-GEZsUsDjJnCTVWuaq1cJ1Y3oV9GmNj/h4j6jA29VYSip7S7nSSiAo4dQFBJg734QKZZFos8fHc4abJpoN2ebGw== -"@esbuild/freebsd-arm64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz#e6738d0081ba0721a5c6c674e84c6e7fcea61989" - integrity sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A== +"@esbuild/freebsd-arm64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.9.tgz#b357eda2c38b17bb9f3d217a063caae51caeb637" + integrity sha512-l3v6bZdpZIG4RpNKObqNqJhDvqQO5JqQlU2S+KyMCbf0xQhYCbTuhu5kKY8hndM1oKhmqq6VfPWhOSf6P3XT/g== -"@esbuild/freebsd-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz#1855e562f2b730f4483f6e94086e9e2597feb4c3" - integrity sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q== +"@esbuild/freebsd-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.9.tgz#1d2889efe8e7a824d15175081c7992f7ae8be925" + integrity sha512-o/qhS0gbIdS0AjgiT0mbdiRIyNVRD31N81c1H7NNM4p6jVkSvScqo0v9eYJ+30mPhJsL26BwSNiuFJzD/SCyuw== -"@esbuild/linux-arm64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz#481da38952721a3fdb77c17a36ceaacc4270b5c5" - integrity sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww== +"@esbuild/linux-arm64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.9.tgz#838dae7c417ea76195eff90a31da78fe1b4dd43c" + integrity sha512-o3bvDJn9txfMxrCVJATbL3NeksMT9MGqSN7vTeG9g+387rDzfUiWpF5CN/L0MoI3QTicTydEDOx0PVX8/q+nCA== -"@esbuild/linux-arm@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz#18127072b270bb6321c6d11be20bfd30e0d6ad17" - integrity sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA== +"@esbuild/linux-arm@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.9.tgz#a3a1b074a08dd9ee85b76e0ff2a8dafaf87a884b" + integrity sha512-AhSVW1uIbcXssQ1D+Mn0txGgcxU32ikvIxuqkmjLC7dUpcX0JuwkPgdqTOicuBjG06GV4WvXSHcKCBUjN+oBxA== -"@esbuild/linux-ia32@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz#ee400af7b3bc69e8ca2e593ca35156ffb9abd54f" - integrity sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA== +"@esbuild/linux-ia32@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.9.tgz#b6cf70ea799a16318fa492fcd996748f65c9b0c6" + integrity sha512-fh3Eb+jMHDJUd08vEYL8swRT7zJo4lhrcG8NYuosHVeT49XQ0Bn9xLMtgtYXjCw5aB11aphAUwnzawvDqJCqTQ== -"@esbuild/linux-loong64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz#8c509d8a454693d39824b83b3f66c400872fce82" - integrity sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA== +"@esbuild/linux-loong64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.9.tgz#5c6968022ba45b8a182889260165631959616c3c" + integrity sha512-+DvqOzQLkXonfQTHo4PTlbiTCfz0Rx6oYn3fQrUlPX2PffGOth4HjuP4jHeFbw0YFfOErhjM6n481nB4VTmmFQ== -"@esbuild/linux-mips64el@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz#f2b0d36e63fb26bc3f95b203b6a80638292101ca" - integrity sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA== +"@esbuild/linux-mips64el@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.9.tgz#e12f789e606b6bd239c69a56c50869b1c73bc7cb" + integrity sha512-9O0HhtxRzx9OOqavv7kIONncJXxhzrbDFmOD+cJ/3UUsy8dn52J6X2xCeUOxbmEOXYP2K+uha7b1AXG/URhF5Q== -"@esbuild/linux-ppc64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz#1e628be003e036e90423716028cc884fe5ba25bd" - integrity sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw== +"@esbuild/linux-ppc64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.9.tgz#95ed6f6e86b55086225356adea68f1132f0de745" + integrity sha512-tOwSTDZ0X5rcYK3OyfJVf4fFlvYLv3HGCOJxdE9gZVeRkXXd6O9CJ/A4Li1Tt9JQs9kJcFWCXxCwhY70h+t9iw== -"@esbuild/linux-riscv64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz#419a815cb4c3fb9f1b78ef5295f5b48b8bf6427a" - integrity sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw== +"@esbuild/linux-riscv64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.9.tgz#152280429f9eb04bea9896c6855a3ac917f2035c" + integrity sha512-mmirCaZItLSPw7loFPHvdDXO0A2I+cYOQ96eerbWEjqi9V4u+vvYSoUR3Or7HLe1JUZS+T0YWN+jPUASc1hqzg== -"@esbuild/linux-s390x@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz#291c49ae5c3d11d226352755c0835911fe1a9e5c" - integrity sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw== +"@esbuild/linux-s390x@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.9.tgz#4b64f84e7fad4b42dd4cb95ec8c8525c7f2c8447" + integrity sha512-zuL5TDhxstsvxYVZ1McsnfNrO6vlpZmxiNShJmYuYPt8COBJ/4iRkwHZ5Rbf1OkEVazB3/WASNtopv1/Gq19IQ== -"@esbuild/linux-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz#03199d91c76faf80bd54104f5cbf0a489bc39f6a" - integrity sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA== +"@esbuild/linux-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.9.tgz#0ec61046dab79be9f08df37a10b9966fd1d940b5" + integrity sha512-jVa5NKqwBmq57aNDZOSnNuRTV5GrI93HdjTlyQyRrOs7OSEQq2r9NyaGd6KmzuxLz19XTanFt4WeGoLnjFT1Ug== -"@esbuild/netbsd-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz#b436d767e1b21852f9ed212e2bb57f77203b0ae2" - integrity sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q== +"@esbuild/netbsd-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.9.tgz#50b1fc5a6e0d13c8ff2b29a154cd7770194489d9" + integrity sha512-BRoQyPJ7aiQ7USFCtGmmrYTbRDa9muZAwoYchfqspd+ef8n2kKcXGQ0K2OqcLEqNFOwhLpAY4y4YAl22FbP+BA== -"@esbuild/openbsd-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz#d1481d8539e21d4729cd04a0450a26c2c8789e89" - integrity sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg== +"@esbuild/openbsd-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.9.tgz#2fd6643f99810091320b583dea0245e3b0cdc64e" + integrity sha512-gDCVw9M2k8tyA9GokQEeh+L2gl0EZeGIIj5WB5H97Mb0ADq5Ea8vWyQs2iY1Q/tebcuP8cUoOZWxkCsmlyl1NA== -"@esbuild/sunos-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz#2cfb8126e079b2c00fd1bf095541e9f5c47877e4" - integrity sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw== +"@esbuild/sunos-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.9.tgz#fa0e4b67b6213423c7a57f2d4ecec19c6f4c3012" + integrity sha512-f89/xt0Hzp7POTDJYSJvotyFXatxXBGXJyFFTQGJW+NTYhFHaMcrrb41OB3L8sfzYi3PSlM3pZnwlEk1QiBX2g== -"@esbuild/win32-arm64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz#7c6ecfd097ca23b82119753bf7072bbaefe51e3a" - integrity sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg== +"@esbuild/win32-arm64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.9.tgz#85d396aa986f5671f151df5aea1d54fb7626979d" + integrity sha512-jrU/SBHXc3NPS5mPgYeL8pgIrBTwdrnaoLtygkQtuPzz0oBjsTyxV46tZoOctv4Q1Jq06+4zsJWkTzVaoik8FQ== -"@esbuild/win32-ia32@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz#cffec63c3cb0ef8563a04df4e09fa71056171d00" - integrity sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w== +"@esbuild/win32-ia32@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.9.tgz#1de54043d30ff2ada4f6316e1ce8ad097a02ec42" + integrity sha512-/oVEu7DurNFM0E6qA18R8xkbYU6xilaTnqG65rqm4XJo8ONuqTzLnj/93bQps7RJIxPI+yKPl0Zx2KifvWUa5A== -"@esbuild/win32-x64@0.17.8": - version "0.17.8" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz#200a0965cf654ac28b971358ecdca9cc5b44c335" - integrity sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg== +"@esbuild/win32-x64@0.17.9": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.9.tgz#3d928444d650010b55a601f5fb225ff20487ca44" + integrity sha512-PLKuXKwlPljFrzzsUO6hHNWcYeE4a8FOX/6AJ7U7PajgKqtBGw2mGYxsfJHGb+UdfgdOapIOsYPgzMTG+SGDrg== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -835,33 +835,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.8: - version "0.17.8" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.8.tgz#f7f799abc7cdce3f0f2e3e0c01f120d4d55193b4" - integrity sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g== +esbuild@^0.17.9: + version "0.17.9" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.9.tgz#d4ff32649d503989e7c2623c239901f7f26b3417" + integrity sha512-m3b2MR76QkwKPw/KQBlBJVaIncfQhhXsDMCFPoyqEOIziV+O7BAKqOYT1NbHsnFUX0/98CLWxUfM5stzh4yq4Q== optionalDependencies: - "@esbuild/android-arm" "0.17.8" - "@esbuild/android-arm64" "0.17.8" - "@esbuild/android-x64" "0.17.8" - "@esbuild/darwin-arm64" "0.17.8" - "@esbuild/darwin-x64" "0.17.8" - "@esbuild/freebsd-arm64" "0.17.8" - "@esbuild/freebsd-x64" "0.17.8" - "@esbuild/linux-arm" "0.17.8" - "@esbuild/linux-arm64" "0.17.8" - "@esbuild/linux-ia32" "0.17.8" - "@esbuild/linux-loong64" "0.17.8" - "@esbuild/linux-mips64el" "0.17.8" - "@esbuild/linux-ppc64" "0.17.8" - "@esbuild/linux-riscv64" "0.17.8" - "@esbuild/linux-s390x" "0.17.8" - "@esbuild/linux-x64" "0.17.8" - "@esbuild/netbsd-x64" "0.17.8" - "@esbuild/openbsd-x64" "0.17.8" - "@esbuild/sunos-x64" "0.17.8" - "@esbuild/win32-arm64" "0.17.8" - "@esbuild/win32-ia32" "0.17.8" - "@esbuild/win32-x64" "0.17.8" + "@esbuild/android-arm" "0.17.9" + "@esbuild/android-arm64" "0.17.9" + "@esbuild/android-x64" "0.17.9" + "@esbuild/darwin-arm64" "0.17.9" + "@esbuild/darwin-x64" "0.17.9" + "@esbuild/freebsd-arm64" "0.17.9" + "@esbuild/freebsd-x64" "0.17.9" + "@esbuild/linux-arm" "0.17.9" + "@esbuild/linux-arm64" "0.17.9" + "@esbuild/linux-ia32" "0.17.9" + "@esbuild/linux-loong64" "0.17.9" + "@esbuild/linux-mips64el" "0.17.9" + "@esbuild/linux-ppc64" "0.17.9" + "@esbuild/linux-riscv64" "0.17.9" + "@esbuild/linux-s390x" "0.17.9" + "@esbuild/linux-x64" "0.17.9" + "@esbuild/netbsd-x64" "0.17.9" + "@esbuild/openbsd-x64" "0.17.9" + "@esbuild/sunos-x64" "0.17.9" + "@esbuild/win32-arm64" "0.17.9" + "@esbuild/win32-ia32" "0.17.9" + "@esbuild/win32-x64" "0.17.9" escape-string-regexp@^1.0.5: version "1.0.5" From e23872862a7a4d665fbb0336296cbfbdbc4cdda4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 10:02:32 +0000 Subject: [PATCH 007/251] Bump @melloware/coloris from 0.17.1 to 0.18.0 Bumps [@melloware/coloris](https://github.com/melloware/coloris-npm) from 0.17.1 to 0.18.0. - [Release notes](https://github.com/melloware/coloris-npm/releases) - [Commits](https://github.com/melloware/coloris-npm/compare/0.17.1...0.18.0) --- updated-dependencies: - dependency-name: "@melloware/coloris" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bca4b7f0..75d2cdd9 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "@fortawesome/fontawesome-free": "^6.3.0", "@hotwired/stimulus": "^3.2.1", "@hotwired/turbo-rails": "^7.2.5", - "@melloware/coloris": "^0.17.1", + "@melloware/coloris": "^0.18.0", "@popperjs/core": "^2.11", "@rails/request.js": "^0.0.8", "bootstrap": "^5.2", diff --git a/yarn.lock b/yarn.lock index 6324ee68..dc1ad6fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -216,10 +216,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@melloware/coloris@^0.17.1": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.17.1.tgz#06b16fa8a9bbdbc6f5005953e5f1946949c10f52" - integrity sha512-EF+XlJEPcn4amdiOnXqhdZLSHfgVugVv3I538lypFAcyskc8DSx/GY5/oTLLSf83t1BeMcoee9JxFC9r5Xnr5w== +"@melloware/coloris@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.18.0.tgz#80be501412567cea699fcaf370f1a0576b44766e" + integrity sha512-XF0OiDVkqYuqscUWFe2uFJORIOsus5JB+AQ4hEFMJjM2xJTkzrCmsIFkTwxjt/2PXeZwuo50ZDcZIiW3X5ZG0Q== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From 7c98522a92d1c0c360fdb40c4d1c3023449935e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 10:03:28 +0000 Subject: [PATCH 008/251] Bump sass from 1.58.0 to 1.58.3 Bumps [sass](https://github.com/sass/dart-sass) from 1.58.0 to 1.58.3. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.58.0...1.58.3) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bca4b7f0..5c0678f9 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.58.0", + "sass": "^1.58.3", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^4.9.5" diff --git a/yarn.lock b/yarn.lock index 6324ee68..ee19c9d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2110,10 +2110,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.58.0: - version "1.58.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc" - integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg== +sass@^1.58.3: + version "1.58.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.3.tgz#2348cc052061ba4f00243a208b09c40e031f270d" + integrity sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 6ada9ae0cfad628569a188b017c9b4907b8a5782 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Wed, 22 Feb 2023 21:17:35 +0100 Subject: [PATCH 009/251] Only lint changed files --- .github/workflows/lint.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4916381e..4a10b556 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,69 +12,101 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.3.0 + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v35 + with: + files: "**/*.rb" - name: Install dependencies run: sudo apt update && sudo apt-get install -y libpq-dev libxml2-dev libxslt1-dev libmagickwand-dev imagemagick libidn11-dev + if: steps.changed-files.outputs.any_changed == 'true' - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true + if: steps.changed-files.outputs.any_changed == 'true' - name: Run rubocop uses: reviewdog/action-rubocop@v2 with: rubocop_version: gemfile rubocop_extensions: rubocop-rails:gemfile reporter: github-pr-check + if: steps.changed-files.outputs.any_changed == 'true' eslint: name: ESLint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.3.0 + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v35 + with: + files: "**/*.ts" - name: Set up Node 14 uses: actions/setup-node@v3 with: node-version: '14' cache: 'yarn' + if: steps.changed-files.outputs.any_changed == 'true' - name: Install node modules run: | npm i -g yarn yarn install --frozen-lockfile + if: steps.changed-files.outputs.any_changed == 'true' - uses: reviewdog/action-eslint@v1 with: reporter: github-check eslint_flags: '--ext .ts app/javascript' + if: steps.changed-files.outputs.any_changed == 'true' haml-lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.3.0 + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v35 + with: + files: "**/*.haml" - name: Install dependencies run: sudo apt update && sudo apt-get install -y libpq-dev libxml2-dev libxslt1-dev libmagickwand-dev imagemagick libidn11-dev + if: steps.changed-files.outputs.any_changed == 'true' - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true + if: steps.changed-files.outputs.any_changed == 'true' - uses: patch-technology/action-haml-lint@0.4 with: reporter: github-check rubocop_version: gemfile + if: steps.changed-files.outputs.any_changed == 'true' stylelint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.3.0 + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v35 + with: + files: "**/*.scss" - name: Set up Node 14 uses: actions/setup-node@v3 with: node-version: '14' cache: 'yarn' + if: steps.changed-files.outputs.any_changed == 'true' - name: Install node modules run: | npm i -g yarn yarn install --frozen-lockfile + if: steps.changed-files.outputs.any_changed == 'true' - name: stylelint uses: pixeldesu/action-stylelint@5ec750b03a94da735352bdb02e9dfc3d5af33aba with: github_token: ${{ secrets.github_token }} reporter: github-pr-check stylelint_input: 'app/assets/stylesheets/**/*.scss' + if: steps.changed-files.outputs.any_changed == 'true' From cdcff88649ad24fef88631318ed78a18edf550e5 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Thu, 23 Feb 2023 16:52:33 +0100 Subject: [PATCH 010/251] Always register PWA This is required for installability. --- app/javascript/retrospring/common.ts | 2 ++ app/javascript/retrospring/features/webpush/enable.ts | 6 +++--- app/javascript/retrospring/initializers/serviceWorker.ts | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 app/javascript/retrospring/initializers/serviceWorker.ts diff --git a/app/javascript/retrospring/common.ts b/app/javascript/retrospring/common.ts index 811e9a8a..a0b37013 100644 --- a/app/javascript/retrospring/common.ts +++ b/app/javascript/retrospring/common.ts @@ -1,10 +1,12 @@ import '@hotwired/turbo-rails'; import initializeBootstrap from './initializers/bootstrap'; +import initializeServiceWorker from './initializers/serviceWorker'; import initializeStimulus from './initializers/stimulus'; export default function start(): void { try { initializeBootstrap(); + initializeServiceWorker(); initializeStimulus(); } catch (e) { // initialization errors diff --git a/app/javascript/retrospring/features/webpush/enable.ts b/app/javascript/retrospring/features/webpush/enable.ts index 332a76ec..c92aed64 100644 --- a/app/javascript/retrospring/features/webpush/enable.ts +++ b/app/javascript/retrospring/features/webpush/enable.ts @@ -8,7 +8,7 @@ export function enableHandler (event: Event): void { const sender = event.target as HTMLButtonElement; try { - installServiceWorker() + getServiceWorker() .then(subscribe) .then(async subscription => { return Notification.requestPermission().then(permission => { @@ -51,8 +51,8 @@ export function enableHandler (event: Event): void { } } -async function installServiceWorker(): Promise { - return navigator.serviceWorker.register("/service_worker.js", { scope: "/" }); +async function getServiceWorker(): Promise { + return navigator.serviceWorker.getRegistration("/"); } async function getServerKey(): Promise { diff --git a/app/javascript/retrospring/initializers/serviceWorker.ts b/app/javascript/retrospring/initializers/serviceWorker.ts new file mode 100644 index 00000000..fdf5f1ff --- /dev/null +++ b/app/javascript/retrospring/initializers/serviceWorker.ts @@ -0,0 +1,3 @@ +export default function (): void { + navigator.serviceWorker.register("/service_worker.js", { scope: "/" }); +} From a316fcf8c0d4f6d6313c62c6d1a7db9c7b0da3f0 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Thu, 23 Feb 2023 16:52:58 +0100 Subject: [PATCH 011/251] Fix empty WebP icons --- public/icons/maskable_icon_x1024.webp | Bin 0 -> 13266 bytes public/icons/maskable_icon_x128.webp | Bin 0 -> 1354 bytes public/icons/maskable_icon_x144.webp | Bin 4836 -> 1426 bytes public/icons/maskable_icon_x192.webp | Bin 0 -> 2082 bytes public/icons/maskable_icon_x384.webp | Bin 0 -> 4410 bytes public/icons/maskable_icon_x48.webp | Bin 0 -> 470 bytes public/icons/maskable_icon_x512.webp | Bin 0 -> 6116 bytes public/icons/maskable_icon_x72.webp | Bin 0 -> 698 bytes public/icons/maskable_icon_x96.webp | Bin 0 -> 928 bytes 9 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/icons/maskable_icon_x1024.webp b/public/icons/maskable_icon_x1024.webp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..15f297d87d37097e7e24d6511365717ebd8f5f91 100644 GIT binary patch literal 13266 zcmeHtQ|pm9|}J+ql)|@BYu}?t91Rr#tS$-A`*o zjM%aFoNLatc8pMx6cZa`0RYrRg%s2jI0(D{#P-QRKY*wKpa4+51c^c!vZBHQ;s;F1 zI%Fs_+jl31lU#g{`;70@g7aUkm(EXHm3MY;%L%c0Z?y;CFK}JKJgYsOd z@@6hH*qLRu<~Vt`FBN+ZgH@fQ&STI?C7#{7!p#Oh8PuqM{#T$s8n*JY+CN@en9#Wl ztMq~G6Sv!}+htg#$A#&a+7*Ts7n%XtWWcn8{&V$T zcGVE!mzdV^?o-w(L-dDIt4|FyEZ+ez5K=u>$npQO4T`d(GmNhrdh}drLBUh0Hq-NTKbx`qMp;H0Uc$R2(KEL1gdc<5-qW4A3hsax-C>7VuTJK9ib`3 z^tKqcPz$GYEEk|XamkfPj0fD6;y4|Vg!lg<@%f8Ex@)5Wd;Ras0hHvFK25(=q2vc%Gt3P7knpygl3!hib|0f|2eO_{X&1$a^c-2`g z%cZ3~xDhxVn$vNdw$X%6*}lt%SV<=U1I)X;7g(uN69PvLBM+Ak|4mMfSCkrij>}OD zMn+Tr;j0xNx%es#jLHby5;((f8s`qFIzhd|R_1n+>!&IoSZm$jv3F9^)=| zC>{zPVtDZg6fM#JfpLYauy`jMDiq5IsPexpbQ(^kTr31xDheENnSXq-2sDgjLcqgg zoB^^ZGbJr>`R_@3nWYLv-mFUv=0J4rcE$q!Ql)2CK%2kcemH@P zY48AV#V=8J(o4$)U^(26d{ZEY>sA~Zrhf{HYsTmB>>V;kI-V7`VeazGqTkANu~2f@ z_79iJp6b@&4AP_&guh{2U5(VC-$~hvoEGzV(%{P3jA@0HfMHDgc@_#DZ7ijMnICUL zuZ#auS(m%2HX(4`;az^3KTv^vnAJI=Xqv6R@E@B|WjdSK5|Y3u3Nn^543BWNYXwlX z5*E`%cTw(m7$G2NU&)zV{D#~8cTu`D>J4N9tIov-m~(gKz!$(ReN9go>rQ$V{|0mE zSSm5YvI!CI-vh*_$H*-0bG8Wo&Cow8ANW87bQd+3%vu4Ecy@8K160egR<4@)XLk_# zSfIXgCDt1?@6$b$rNL$cSDcJJtL?uS!5@#Y?EbPL-#z9s_vQU_!-m}V$8AtYM%bQ{D_kb9rrsGC*-v{tyHava2fhHN<=m-|}!Td=_ivqww`9jqelwiTgiv zyjs`UUJJX`q)tfy5i)0VnY<%vaZd+c3#X`gpe^ya3V@8sko>aUOQK)bwNcyD(u#K z;k9j2EV6#xeIn2l3QByTTedp2YV{MfC%(}AN&J8Dz$tm?GbM)dXUptMf@v z;Y!zL#|f(u7(=CaA?u!eu{!b5Gtl}ZhK2@AI%(ULetUK14GO3KQhv@?1ga$i-wkRs z^w5fK&j`zU#&MFcM56W&QB3Z41nh(CdcQU=scw-noHsz!LWPlqFe9Qj=}P}LufKbq zkcU%jl)?(* z=adP^f zENRT9N7nzTTK%)PdA-#o@zzM8JsEd78cOZ;cqadP0Vc}-@2LC*Pd*w1Z#={2ecgF} z%-p&l2cwT3=YJ&GKa1f%r~ez&{~!EcZmVmb0iSPU?C*jwWc{EQAYFj}@yPGZqQX8| zEyRrJ0OB8hti#SyLo^2^@E@(@&faYePB0|8z}OeR>&K}4&L(WQWs;?5=&bo#mQ@tP z>A*?@7e6q1zF55>G>}@5oDRh@1+8)_1PTZs`*4{LQAr%a5CdKd!F1^uOi=|K+e0=N zO8%;f6!LD2{ppj6DuBb^L8CXcO3ViU_zlz7sQg5mHa%@+@D%=(TU;vVzuh$2ut_8b zs2*0+LyR}6n?$e=E3~>`2-hFwp6bSvMi;!E_q>^d$NjW9C9bt`*HmN|WP}tmeb5G( z($x+wX?U5i9}^Lhz$rg1@6|6J5hR=)hYRZWoX)}8HE9Fy7(Mn3M|+g5!Zzo31Aa+M zVKfD|;IOKx{i&=k&uKjUIjxv%Wmis;b>ee#8#Zff7R{SOcRFL&oT;@T^r|EGDRuK4 zsWuEJYR}Kuj!nIN-KOeQPN5v@94mDX4gl!l^l}&!*%cEZr!;5T^W!U5Ht$)&I*2CO zUB+zb6R;%X)re}0AsHyN|4IrsAG2EO1zo^!3&Bm@%rSp?8(w&5Aa?D2r4Z|E!K-&4e9%FYcvGd-@)94JOxkJZP-q)P`B7x4T%E}-5|}edv$8m59`ysGQE4Hz<(Nh z`dbucbpD>ksDnY{!bKYK$ol5WZ)omLyf(JiMktowfUErc zK6~70H{oRTF0tP@aSY7<5C7A~ToCU-6{yZ67sTJFBQVB>;;3zK=c7Z&g>b21t8YETKW*=v z%iZ$?P36?S!Yzcyo+8;Prj^$qmDRZ;71+6cg-ZT?Fzk>^Ty3uuao(Ffo4eq!BGv2OYT< z9+0gjjoA-a&F+CjwhOxE1MZcpegW|88qpglm`zn^#D20<@{R5x=?zPDL=n1}l%O&i ztg9+E>1ZyI7fT7Q-rzq_tbGVmopDZ02XVEZ!#&wq_6@sL-7Sv*C|ZrJQRku&*MZWv#<6|LS!ch4Lbj@-FJ>O#fhUhkOX>TWgnw%be=Au3Du-Vo zymB(qEsu$K9!y3Z(nN=&Rkl8CXjvZaZzT~CuARC;X45IpslLtk#)uKo^TE`x zSQ)7D@H-;Dh0^^U1!fE^-W-^NL6g{?+(m3iO@xB2GTRJzT`^BHCLxkiM)qFwJJy-b`z8IUk}B zdO8e8-fmnk9=jELxs7V(H4<#9$Y6;<)B>e+pX><72hW6~n3$~}&`vVS>d0n_$lO|U zZeWYUDVh@Uu-{nrgM?*QYT=Y5<~>BTBF+D3Q#N@G2@!Lg#$K6rA z3%ts9$iw%YR;Q%to{3p(<;cc4n|M%JaHzaW+vuIEx-yu$2gNln4B$P|WiO1?zr&bd zJatv$fO5P#J!DV*N?0}jZld|Yquz4*9>f@Y+44T zp{@_HiA)d>$pwB~M0^PMCcTp*?W+|^Tm}dXif=Fzu2@XNO|g$Uc+Y`ytnaPpj!7Pv zkfygk`9EcO7U&iOrRgr$8y7_uWuf~rjz#r-Y0!&?rkl^W=x-{D)hw%= za=8ZE7~;g1-&BD<(0|lKm|fRF-w=w=%?r@-R%6yo@wz2%1O@$U0sn0_z}ir1S`j89 zl^(TKm2=l)#Ys(c6`Y47d`2cFL=oKBOtSnmUl@Mjhu);QozbBm(f}N zN7%=VfP&{#Lo`Bf;Bq>pHva=6)w3XsHaZ!+68ZsiVV8kU>!>AYt#ef%j#%hk^{-Kl z{lOgV98k#723S1TN8q@}`woz}VjIu{F8}xn7&_4>p(Kwi8Zf#hSk1Z(^B~GT0A>gw zEf}6iBfE)LlS>BE$ca*uRilrP7B8DY023y3;}2f{)CVE3^;W3YyO~GTCSAX~N`->#<+mc? zs!^BST$w`HNfV`(?@!7&o|6v@ZnRqD0C)G8%r!Ko0SFV5w(ozB zdoVIga=%I3EXfU`rJ}G5+0_>zl@hmps~nirOtsJeEzf?sRDrBA zV;dYhitp!$>B!~@+Oo^T%tY?xr0^{Szg|aajgIY0LY5v<|1^d*Y#dqr%(w^SPcW0! zPW^4ScrFb=tOh|AW1(YD8&ZruyMxcy(xU2P4R*0I@O7K{3c;*kddS({qUo#Bvh1(| zJ#dmt-yg0c$*}>&(0lww`SSmFbmWFOEA|(FG$u zX?kiVNacej30R7(`+B)eM1YRbb3TMb(x}gSQO{?$ktX%{*u?3tF(_jf@T-QJGXQW? z^>-t{a#TPaieafT#NM%r^peZR2_Vlg?argkc;=`u3+9}z0vgw)N~Sr04(v%Rq%8aI zgv9=_b@T#h(nQ}olHjb)y2EH3Uaa6sxXs6!ORy^&f1S#YILDDmmPKj1Obp~RlF^NNb0hqF>Zo&^NJjbj(WZ2)~ z@b|06l>FgB3401LHFhr7#!6wNn0C=fLHsu5Ky)pi86?R9`+4~oJc*iWarOYv2bUrO zP~=i~U|=h!#x)zI*N;*Aq$~$#6n~#gIX<31!4J0+*F#@J0KlSp0^0-?V4DH8{Daa2YaG$zb?S2l5mCV|z5~#X4jFhS|#Z^3kZKBcWRGmGHIbTab%F*gl4+ zcm2DiFnRsq&!}f(_@7T2!`_^SaA3RbiX4G~{HY{H+ZKH^0S8t1pe66K--I!2HqD%v zH*Unk8BM1->CQK$fLIt|#V+mGc8R|QH1&y&NDWX5uMz96KmNk+Y&u0rrwQCU7RX^IxTM{H^=@!dKAJ2)8sF^xa4b7SpBTie)Ff5do zlkaN)P$o;lOh`K+ETK@yBC)d`W;E(?x6H+7p+7Yj!fdRtnK2m`PA;B)?M4tp$=olW z&`EYY_$;K2fhpO4ckp%fj8Bx)`Q9@yoncJVTjbWAWOL=O@!4EqS5t+eV}2FW-1O;% zvqS$|1c`?VHBVu|^*4`cwp#Skg@h#N)Y+TV-rS_{N@L4z@1>VOijnw={La@1c5QZ` zaV~y>31x|jv236Fwq0cwDx*{|8z?k`jV>5nDA@=_0;+^u+0Q$b^}Z%H)KVY^AAl#3u|bsYf#fwZEd#yf0ts{7XeXv|!t|c(u=3l4Gte7}HAE{K z#W0g}-#nLybtH^NHK(kGw``7(mir`&NtnE(v>?Lg?8>R(FM=hlLzR{)uzY(0nDIo~ zvVtaNUnrmwh~=v~h;$z}e|*W2lu-1PPku10YGq#pzF>|nnIdJ323`A#wX$D__PTk> z%ou!iD~fg+C>(Fl?uXX$M>d=u>oJY+ECzynQ5;0A;>V(+1DU8WXCfUhJ>;yGIG`-( zmK+V+3ixc!ezgN9%}b2)WMlDQr#Lk@u)*tions}kL~3w=xvm)(=jP3mQr52xx@JU$ z7L*e>W9gBECoBI0i4>1mX(m8Yn3-@jsr(Ub7Xr! zJM2~O-B=4?P3$Awxr3PSr|8VKO>5@fwKc@sK0iBy7d3nNcW*SoC9#<8Yhh+s-~*th zhm6?T)e5-~-}sYIl&g_##9+@?hTNj^SMr09gC(DXS$I>PY?Ya>rQejDaDv@_pjgPM zU&q6C*Zike9>hDZ|YND+#_XC zC-qD%zVjzi_s9^RYjsryyK76F8pPQ~&_QQToF7nIMv-eIgS*k#q+494HQ-RPl)YSL za;RI2Z-M@T!1**Sw1+fdTt~?pK!(LDif$M{pK5jeW-Xo>4clFNw5WYYw-mhT`cQbU z(e*?S%O^JXwLJr>jFAe_4~pGvlENDx2J9wtzsGxYDcz?A$quv3u^Dn8&;@unI0!j- zsB+r{>Mv|UCU9|5IX;xQCn0`o-w08`87IN)OKS7M)4ph2o9!p-^3dMC z6R22IXUXB}#qfS1i@htWmIh%uK%gnu%ah=z1bTwGP_tEfcYBH=`<{(u7k3z?d5>I1 zr|%`tpqdyEO@+#}Qdd$%XprM)lc7Zc0U5UBQ9~~iERCl23yl|j1ym|~2A`cS@=7~Q zH)f9T5r|iudUxQ0Sbp1HF^cYsky9u#`!eLxtgJ)zt4%1+9cl#18|`2Yu2d>~L^@(H~F_Pnpdw64g7fJ7DD0`Zb#Xn(5~cB`|SvkhVG@UmLW!Dga@_iz!tz;V+lAeJ{puXRBg^5CJ;N zb=)Gm8I2JPXmGkq zzU%73mN8JatM`yeTehXhRz6 z3w1KPQ1~GZT2Me|p!tCyil z`zb2eNX735dz`U8zRK<*;WHYrddiiwb+KPr2}sF zPo)fR^Ly`uGK#d3+NmJMP980 zPy&Mq&UaIn*_`lCd{UpiS*0z=jXTnb0nn!JA_C$K8jgA9;@eVb{W&yv3HT=mWu`8a zL@bZx*>?k6p2A;p^Fpflb#KkC{3}V)eBp4&6&Y%(UY*f)x=O?pc4X#4S|Q)XBBGi@ z)puV8!lbp_bKX}_iLj=bes`f4s8oYB zP4<`0=hSX#5bQOHDtTiMv1-SDMrFfi)Rx^(sbN@Okh5>Lj=Xh`ZO z7c95JM>qTl>&hjA>uYm#h#JUJt1|~b6bu=`;01P8c8^GJ-KD0{Hf8@oov0?7cB%8p z)`FE(vnC5<1^Br5v?h1CZ_T&ACkVuxLK{ya(bOA*Ij-{F)axnHi7@b{AZfQfzTJ)a zK4JvJ4vj{yuiDW8lzQRUnzv?)SpsNGwxM2*ILJoiWAFs~DSPcPvPuTYEA@!0OCg@5k5l%Kl+%iiw zP_~UA2Mc~jEG1*RUs$HL@Z~GW=NybsI+DLrL2)|u{^4$kSP}G^OkEB2Rv2Qv+B$=W zWd$vJ7A8IaJ@j%SjiaqupNb8U0T++eg6~wMpm6vr*5J*ASZ1lFV6U`v#iJ{@vxB8Z4wb=3hO{1N&SrsmuX&*k#{rx6*8`--vh>d@vqGrBQY znE~pUH@OS()-=g_x%-D#<&r;;^Ie|^4DHfzLbyUKKtWy9LXe-u*t~?+xr@*!#C@r$ z9vG5#E!JJ?iN#n74Wj>2D2eXNGL)z{izE=u(GN6B{R7CGoC=gC@1U!Ng!~X7u9I_l zx9`pYQam8TB$6pl#dEF4wNwu820O(1F2_#gv!H?0=L{zKg+4s?92&Qr*Y&Q}b@z5f zHxsK?tfoBs=meEhf6*>ZN?b5alwEn6PJB{JrzH*wWkW*{@R*jsSS@~nPNG3ceB6

U0K;dxSHgSJGzUOSRY^yapEsJ1OD&otK36j|*~&iOJ9WAG_VjnC!&!EVf`4n@<%ENSg5;;!lAI9#!O;)ZLlId$=~r zBI_?hO&?rVWUCK(jp}W|PZa=w5hTrz{Wcz03eJ8RjO<_&%3N|GgBf15I?R!`u)=TD zx-Olle068nGI=zzbD5&aWe1}VBC9KJb9dY*liDEGl?y~XJ4?cgf!k^dwx7#dz3<8tJ4QxcG1G3(>F87?%C09%(~#PpBBnK{g4mehQK zz(K0mC%URRDa|$m+Q-fN`hH84wDYWDDL@*qfi^_BZFaO*G2fhfjP?MK312t?6(8|(LeenrzNFMeq5Bqf#T z!#wTn)76imp9|53Ts9p~Sc-jY86VQ%{#?ak{opWKt=W-x4{`Zpb#Mlb(?3=eSGSCS zcP5NH-~tV8b8#YLmp|DmXM{P1!9__O3V(C-`Y}4&rvrK^*^LnpkLQ$NVd(a~FZGW^ zVYJ@9^N77jxsCq$)=OKO{+zS?i4&^*!epp>c**2OBa@5#+VemMm;^Z%l`Dv;&}5LR zO*)5e1dq)qJ-)`m(CUu%56)|CPi+7e!Rs)_%x`}7(P4&94ICaFWO$7J2~%N}UTrj? ztusJEZh#46=9Z+(ecb+5Vm_G_jUqio;H!vcpkwAnXw2ciRCHG*sn{ZG?0&JtDWnoCDKB*^bJIt#kIa1uaC4a zX~y%W&84e>lr<4doR@;TnevLMx2QC-Xp#&IM#5baYo4 z?5R;ubTd6QJ3)63O^WdCfrO2R3KWr>uU-2Nr7;myZn!D9VdIE<@v8Aa+x%YsMX3jK z4vSo!d-<4Dx&q_LO&oU~U$gpmB>y2UqX(nmN+ODcX7V?C(gp_C>0?8eow@}GUm5=~ z0JO^OTnp3>6^3C@bDbS=+MIPNoFxbF9e%q?AgKiaKwoqRlyf34yfBBzy}(&!Dp2k@ zZP7VhUJp```S`O*1VKi}RRBY~ zpWeas&}#6~qD;PN4H@j_SpB{*mio7?vciLO1_qGx*ntcCS)&Gv-XQgm$Yh6x{j1BM zUfzg){jh0u!57Q}$8H4-vH4>*{VvmIkcwAVG)|?sft;k&87$aF znkLCk+45j%quOoPYfiK?ws|C18vHf#-qv{{sc>D9INv&8AxJ2acy?b*Rc*BHr~ z!+M1&(`8~TSspbnYC=zfVdwn^_|4NmIxAnJS~x)cLQyF!31|rlC+`lur{K?j9fEL^ zg7SP&$yHJCIX*TlNsU|kGy`;GaZ@P-+C9o(@t%pu>Ls^y8bAxuVRwKv4@ zX_p~9zXc~7UrENI5R_|DF&0GE81Wn}1wK`h)2Z!wXktNX;d0&~zey;B7(H6?ZPIX{ zm8eB9pHfC|Na@JDqC@;FUKfi|q?&AvpU6O_F*(j}2ZVn~r&Y>)-?7UszBfyl5zq z5F?g9E+C%o4BEw3IXH#|@#%5*r14$c7`YUI`Yj`<0wK+fZQp@S4-DtUigKL7U{A;T7md4XY1 z#jn}`$hL&xDhnV|f2 zSA0||tlfi=c^xg5?;RAJ_?rjWeQ_$a!rk^MHU1QYn0<95lmdYs9h#<3jvXVfOb(Kf z6`$>phPbEAtE)VA8tL>;3|JVSAb$WrZhgXO)%E-aG+`L&7$N8gU$M?#8CxpkwZF2B zz}qKlYV6kfrg#M@4??p8L3c~?rh_@KB(~n|rGEBNB*EMx$~K3rZTUs2o*0{70$4ZX zmUodm3ney&OgT9tUAFp77HxZSl4GBfCpW7zyw1t_@GL)t%_^qgC0`#B06ID3WgR(3%V<6qJKHy)bnv{G;?+E_rtdBtE*rRI8IZL! z0X?t6l){kH(HQmqr-cfcmPiE(qq-i9SAzoAdYy7{SlqO{49H*A~a+rI+fXh z)eiumyi;gUplzxOj2>9$|MJiOWxu@L zZ2GIv%u^glJmU_koKdu;4i}+2B2Da@?0#*JKMU&~cumMsy_prcLlHB-p&^IbHe2{q znl!p6!T?ZD6 z_lPiD*o``eBOYQ5q2i97G-IGp!K^imsUK8j2e?V zhc2)Bwd1IJbNB#lw3Z3Ac=?k2;w4%9 z64$0Q&hL_qMBF1E-zF(PgsB|+6uF>FDW6Y98fTtl-;3~uf(47CImMvLZrgNf*3j=jm zkx~)-bjQQ75J|%(aQVs;CUIH8(=QfTHS1E^t^aTs0wkx?G9V2(cp-ku%_P@CQ zgnb+simY2q7Jm6%&g-5*9zlm6)^6Mzjv>=%?x!5draWU*H;w@5_qbM6w?A{&v zX*VBzg4Zw@DnD;)A#V@e%Y3p1nN)uNZI7*$ce<$+N706vjMo=YX8qM@X6>L{=h z2~FFp;f6GT0Yjkvt#;XYfc>2HdGuxH8PpZLo%?r`=i<&pt+}$T}Umx)YKhkOsYWnB&%@&zl!8~#B093<5$RMDx2WT*K9e;?~|?s zN5j5?jv8(_6fJQ0ipkx<8WLQ$XtGlcigtReBl97)DZAye!2Jxt?C23Z8+ zzWxeg$TnkKHl|eUa9JEfbySOE=YXy1Fj*L!X<~2vQIv~-! z$6qom<>CN+ViPS&A=9xsb{Tv#KkS$|0a_KDkmhmM)u-vqs(yB!$>6@dxSyS2TV8LV z7?FjRrKsnr{7$E^{8Vz4hYlr@j0S_@{PxjbpdujS*RWTq&1BwWP{WvkZlPBUaJ3^Q zPqMUwv0?p{eMaW@M36&A<^#NLz(wCto!I<6Vi_Ac8^$p^{%}m12+$8ezuVueGBreX z|J#UGv)2>_E}!S^6VKSGL613rPe`3Uv>Yn#hlC&*Otr4OPMAhdtfDL#HUTgsYzOW1 zAZG^B3U2t8(|#xXdlHeYhtj6?V)hX%{~nawuL}|5IPQ2#h7;RhZ57oR9SE!oPb^&R zIN~hOHz)AY^1BRv8Copq;L&ul&C6t0c=4l=3B&g<`{fGngCBm<PMte0 z);dB~YM^BLxvZ4?>bwe9pe;}aXHpJPKbCFnES|a9QT|c|a?|6^mdE?`@JDg%hl|@3 zsmr5&vtL~f^$ZyR?(f*RXu`dFfA2irguq`IaxDkjECqp|sDx~n@5U&NLC8Bk?@ou(YswL{c3zzWzwT~?7-PFTu(y*K` z{eSV{3xZ-x#-Pk`iMlfXU0uLvl^dq`t`QQ3^zDQG+Z;glvab6fu}b!vr}_n6AD{FO|rchVY%YYhsWJp;r(aNag^pt%g55*liowQ)^FrB zxq|$sG(xd6$5qo!0-R<;qX|Z*q42ys=PDVI!mk&Al{*Do*RcVZ*cduHszSQ(NGl(; z)fU+%mHC%X8SpN6SKKvnE9k$^YaNxS`jqML$`Cs9<0H4_Sho37>FH|kxZ=+Hy@6k1 z^Wp3aVq+QyIP3gRxM@sqX|qsr*MozSNa!oZ?~gaD-5_JHR9uE-gxiB!F4_YfS>-}L zV;35WKaw#WPo702uar$K#f2qeU%$=}C#P(mTsQ9-T+vr^PyK<^y#r$_4FSE+Ta7~n zd$`#e1IVu+V;%$kw^~Z_mo8N~q(=<4`*HIm^;#=wkJH8qIL=gkRGib}hvu&70ZQ{< gxkKsnK2=9;05L6Ul40$+H@1$Lq*1K^0000009z5w>Hq)$ literal 4836 zcmVFUS?=!c?(Xi^?(XhYeQ~zbTW9Z$L=GD#bglHh*tvtiLT3uj5d2-M?pim-r7|oc zhK$%=EOduA;%4U%)eUj$30#SA2=D3)cX!uRyViP<&>4iYC(z*;z)8vcIa470llj$A z)anci3EiP)fTu4m8S9TfNbH;&6VeemW4Hq#a-PK?PKIWc5*1^x2!^2lh?M9?IL}&) z!JinHutKK5xE>g?gvWfXP98Sjyq%+JAz7rvVsmyB&@BjBmR&n7woG^Hz{~N_DB}?4Ll6-nA`#(e z#Br~0YfWsl$j`+SiVN5fl)&J{`RYO~%@cna6ebNpSA`%P8KbA2W1pV(Ke;;i{HE>i z&j24`BAtdOXm4S)$^G)QX)6dmV8md7dOCZz{hNV)5K|E&5pB)veDFA1MfJQYyQ0ia z7K_qCqm0NXPm9WOyKZW9)Ag&iHbx;#q!9^@e0-U$v=EEUC!7|;QYN}8?E=L1Z8VrOG0st(@lel_{I=o=RVh)qs6n4 zadd3+%lju00Rf+0pJpo%=?B9p zm!z#c*qcPS*U4iQnJI&ZkpQKYhPH=C(Q&iI{gRZTKxhlHIO)Iqs5mq%&ZdipB`8fn zuyE$8EOxO$c==?JCP8S;)ahGqU1!sX80*X&6{z3aWo6{^ifl5Iv_F0UC$c zVE!x~4;UhYorM|~dV8QQRvKrgB?|(OwffllBs}8w@uCVcN|mIPZMJX5u;3miFQtW= z3Shu2rKFU+oJc7ZC0S0|+>voEYHCyHp(J z86S`Ro51;dj?zR=+k{T|q)tkRiwp;r0R8)43=vo9sU~uMz0{>Hb*a2e$7B#tKsle$ zJioGJ&&F0;x5s?&_^mB;bkV^^D+9gUTs49=Sw6jl$~YnHd8%@$2pZ_)lyC08lbbeH zPWt26Pj)(ZUUp!+MPd08wwxM<0tcvz%vV$0efP4nkzrxRA&7Kc*K@8GfeSXRIPBEG zllfDF6VTNla>(QG2%RnLb#%RG^I~z*%OOB8nOU0W-R=1GK22RG^g0GnFEi%?Hk=w% zUK=M7^f59x!l93oIw_HmWDp2sb+xnE(n)tGsAInXhd+F7xZuuOT4|6GKd;KJsgBX!*w+6}1U*xGD_>9vKMl zjAzAwxjS<~0bW2k1qIvyPXfF%rg$+@Ym$@O>-;4ZLAay-w1QaS%)h`&(WLe~d!2|w z!)&p9SWf7*T_6NPQ`IEDzUMWqtsL?~vyz4j3h-nl)8P$P#&>c2FG~)dB=LjHOFEg1 z!=_dl>h|?QcHFh9Z#Z}GJKO@Ht+U4X_OJw)ir9Mh)wVqGvpYLM zv!$8eQQ82LB`9sB!Oh`Oblm%76av4JNG|BwQUb?GkQV%DUB${MGbJ?P}cEBB-931t|bfwEK zD8Q3dRvOx5LCnS_$Cs9M6H*ABfMMEH;%N!3Q7x@QSI3)kZp5Ahc)i zSWO$h`x?oKIKpCHK$Vq7nlkwYndwqV;b=SvnhC}iXlnO$LtUISW0Fxo_a9IVGn4O0 ztqfFEXk26XJ23iTE3VvhRn{SOH;}ENjZzb_mOFLi; zMEZdNXeNX+UrqUr@aTu+0&T0e(|TARqPwcCkzvXJ-{?26B;(?e&*O)wD^6r2|w+O4)4tbLruWlH!o1ol3xG z&Ly0?uBrS+R*{KgUcr{1ueDPWhGvjkJvq}mfO%%~ycG8ha!U!VUH1mr6X&Q};My6X zZS@1f_mIqQ-sns`;pM4Tay%m*tdkwY6H7zzvjLLmS?8@7BZ%oW_}UD(`^XA2OTg zmlXKTYae(w!Izn#s3@6sOjeLuyY1iQV?PhuZk(mawJZaK097!5ZSBar=LkiXXkUp1 z5(Djc4Yk$H4fS+UQ6`w*SoVg?mqlraRY$k4+tN+|Pp15Pojisy`}hx59o>EOOXcMi zSE!hm13l(Kszvg=fJbOaN)AujW|LR{tF*`@bv@cZ!odEGFElx+>eC4c-wM> z-hUc}DOpBD7j0?&QHMW@B9p(h&Cg`34Y#J&;oy@xec9e_H!GNm_|rJxXW&m@R91vPa zE*yt*@Pv=gOO~W0o(rc2#_!~y>z6{pULJPPU#~NB@V2-8)M4!DW~t7m4IUVuFnd{X z*Im~n^H0y=%+Ca$_ZyX z+9A9(hq=Yz%1M6|B1U%FA6JrxBohG;R6(P(;EsCtDkfssoY*_eR}P9Z91$_|8|9WP z(1ywSS?PBUpMSCDN`V1F2w~atH!ctGf`>eiqK+yzd!4D>><%Wj-#oslB*Lda1Vm6y zvRE|E&aN`Hd;B*;S;9oRuIJ=j4FVVI=sQds^{CtZ9~9xfm+v12iqp65#EeAS#4xn6dt zvxBBNF|Lih{_J)(Zo05lg3=gx5uqKnjtb3{2096(;U<6qh=2^tC`l==jM*#pH$NUU z2_1AkM00`Kf-Ss5Xp5z-B6GRk=F8|#WD0tZQAXy|S z&;atjg9;mF1RZaXn+UxJpWlS@=c+6^0%YDaa%q{arGu}ZPX3(izJIk~LoJ!|-kD^9 zM+jL~D1A8M-WQ+e;mS&j>biJX9}uGi;o&~0EA(_h=QhnraLaC(o%xAxG{cBypCAX` zQ!6dOApkLF*}hHGZ)dvPgahdUqbZX|YH1`6^GI)2)1eFS@D%DA;1Mf zud~I{7UCf{kD)*W>gylDr0}o5n8Uy)_7+ITe{+TuLVyZY6wkK$oxCu3ROddify)+2wraAWmvK7t7$g#E*l#vyjwJ4+S|5bmHZder?B z;&z*EX5a#*ocmj{XXAUa%`o~%IdA>e^g#2}E&cY>O9md+n%IcouDhr2>q!+X+0hsh zg8BrhpBCbQO9%m$lUIe7XD`jHI@td11J7=L=akR)_C~tfY5o2AV+Wnz?WjNAVt(V` zvs21B{{FJMY$i{E@NBO#)E&X%1z6TXEi1kJ(B##}cZ-pl5zquM#qG>;v|ULannn|; zosw#hnQh7x>!qb`@d3|DBIZ(L-mWfm{g)n%3vW00&t8~w>)%0m=pZ<1AOZ(UcM4$?{PFrruEX^5a}J$*AK`HM*J-^#$+Q-`k+j|c21pv$asLhpfB&qS+_ZI&RWF1S?J+I|;L zzd+R5z!eh-H5Y;pSTVSAg%f|tABUjH&+usr)RxNd{!8He{eel?FRKqVMuo{a=KgMj zvE@#N$tQ;~711j|QzrZL28dwHoHv@OFn;9Y+wdqvXy*5i(%!;99{>E97H3M1o}=U8 zH{<2|T9qUU2N9fsN&8>#clYDRheq8!XUf$frsPoDUsf5}N>MvMBbf-^V7*^yp)zBB z;+Z;IFwvcIa@u|jXJY~-h<`I(K!6Yem~tEi!AAg7PG-ULRFoQT&@8XeC@Xc^Y$fS7 zKVO*B&&}pbdv~1a0yYT2WHC}&XXaps-TMbq5PUoXvkaxaaL$Tc{|H2r_BtLe+1dM) zf>7w8W-O_0v3l{(+1u`ae*_Cw0^HTp|J{HXX$VSV`N^{nz8LI%e6`QvMcdz>L4L-t zV5CQ!(vpZ3v^+yJP^+uVZ}~jb2@#R-Io2FsJBPC%Cm1g&FzclyHeVl{{KJ*UAR>|c z_BJ+NzBscOrAr3EP6#H83#@ahDUBu>k;dsxgA}WV+NeyM#re8qAg&1r%#xft4wnW4 Kac%y;)5106vjOpi8BsBO#;F>2RIb^!2TTHU^Hmk=ht1DyHcer5Im=gH;+_Mg^A{8y@v@xE-`WB!01TfWSHx!Fyg zJnVb@Pe*_;+CTC?z(2m>AAlF)pU`(vKnK;&K?#Z~PG`PCez*1x=>hwyG#G>O^p|Y2 zvYKJ;hh-&|`3LZeDR!eNrG1|Mg^<=!{J0I0%O&4Y`|+k8NImVgy4UtF1G^$Pb=wWA z_4Vmf(FPcCT?vXP*UCw;5>4jp58}^RP1hMPUNmpw9=#242Rly~aQI^0DH@ zP*8ju&rMjrFHRPrUeV2HC9_-Ui(IA4{YwwYZsXUbfV(NCP3qbqZBh%oN9K)|c2iK$ z=yp>~J6};_)u?X^q3%Lglr!eE?=?3Wh<_dgWOMdfb85DU9s=oucE&^%#!LK zC_4CLgwOQC^O~sgIG!4?@caD<_&VDE-^Py^0tv16aDaq+lZ7034O(p_E+#18XmSHW+qn2VkbYD z@uk5Kr?6)USTpV_{}g%{z!EBH6=Lg&6zfC3c^n748cEp0x3o-D6`VoEK`i0n@1)Jd za`OAj(fwz<3I8PX0YvX6miFlZTtIb<&Ft#oNvM&H39_*g^GlJ?RQi`}uitYbY;R-UV{)s2dhD1Y~&mPLY0UYKf5QtqDnl$b!*DQ%FcbyRu7S~dHh?*r{)XZ7_uZsGiRTWRzGp|7~Uk8 zip?U&+SR8G2#IOwOwKKlXCT*mlSh{lHsY=W`Vvf}%lRtt$%qUhzIz=5Z;=uuG3Lw7 z4cu5NhAg%1ruw)bkQ~V3dMxHiYqswvYrLk0MJP3$Dc|HHS zCb>r~AW=LqqY`?e%#d?*dMX$0^}aR0mBR#S%xeFd8$Us%ZFI0LHP%{Jd|*s851rJ0 zpN?O*`9%g>JTaV1NH$I+Z6;WgkieC4xvA_9@rc&Rr!e(VB_W_tbY;^ZPJIeW38H@8*SHSe0y}-6qc8Rr*^ob2TI*ozT zhe3(zgLJ$sqG8+kBj&2Z7j78UKg#U2GTpZ-w#T;8MZRGIbYO~k zo*S_5-(9IG0PiI3V{q{Qwk_SV;M_n*r|mP8j$kNThG~!>$RUf>IyMHPd@w3e7=Kih zIc90z-dx36TiKTUHefcxs{SQZH@zi0N*9EY5!!e7zqvS(osDJ$+8fn1r`(UzAb%HX z^3n3sZERMGF+j*sCp)l^#`l@1tKejH=q6S;^buaH>-?B0uW|JRTpam-c%xh%hdi zn3N|5Zl=MQ#LTTA_ZBlGh~5w+tu^eOz&(3^Bv(GV+Ba0>p%jk>ZMTz1zzIMFK^);#^c8Zb z_1H(>X0-W*?LGi@Vh|KLVos`pNbF(Z(=QTDSc^Sp@y^3{L31GUZtd?Maw?!AhXCCFVrZdn zz3jLLH#ChHZM^3&Q#PCNwm0aPSf;>~4m?H6A?<5zLN$9#yu*ZWdg=-_!hnkOs^h2Z z#x<7xQ!+(>(QlOpV}B%qhX)m_bX6#5K#@K)p-#mvta5%cudC1>WmYxwrvbE`yJ%!N z=-1iy*1rfFk@%eh31OHiRF(3cA0?p6i#da$Yd%@t`Tb-`Xc1B)3z9o_EfIk@DCw4C!IR1T7*tBO@A=v##d0Y)3SO?*H8g8sw1Z;32u_chSA Ma@=a5000000A%P9m;e9( literal 0 HcmV?d00001 diff --git a/public/icons/maskable_icon_x384.webp b/public/icons/maskable_icon_x384.webp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ea6a9f15ecca0be9ea3e745ed355e19f87758e85 100644 GIT binary patch literal 4410 zcma)9M?4&iquh;E!V02`&gwmSUA+Y>dinGkEUPC(FVUk0!RmxqUG&vkq6X1>^xnJo zFYo+*Z%#9pIn2yu-l{4o2@nAQ28wbpeV8ac%fC3x8jua-2m%HHr4v>1)r$%X@(Oe* zs;XW-w}s#PXOwRb&L$KP-yTWKyIvuSX<=$lBMG^F{U6r@zC37O10FPY(3=>SPt#w< zuC94uPlq&$(m}Llw8O}jEV}#W=KJUdAND7V@yEtfGM2!XE#oVg*H7nK7cCuS#W z>~dGK*aW`aRKHO@;`cFrPM)Ao?&f#u0 zuHb6=a6Q`IQ<>CM6S@Isn>EW=AJxeQ-e)#1+IRcsNWMa{%J_G>?F>!ux856a&Q3cT z%_?6bUwo->&d(sDz96OT|yZ*4XCS`^QI5<$fvxw+$r>D~f6!!(sT%>ci zi&4JUWc?7@xnuUTxT@aQKj#K{dmj=ClBm%yHsBRYI?BwEJ?Tg#T`af4G}hwvk-=Kr zEI;=A7383MSc{&0!YXOO#KQ4mFOJsnwCjD0Dl{d#d(Dn6>gE?UeYj>W%DmDR7QTAf zm3F&3!{>5E<7nHH=L>_uEFwR+XI+slBFwB4SX$;lJ-IP^VO}CQClt1S$Sdgl)fyYH zLu0o|C>Rz$7L-$+7~^VAVVwl#67mw1#%YWBg{(lGn;PHuI{pot*ZsX+79W_~MHK9pT zVPcT4RS=l+3h*ze=~#W~@w0aid&7h?V&GuY*hRB$O14B1|DT~kCP@aR} z;xkDwmcn_-TJ8$fu$8N(l<{R zZ14n8B-QpctlX`6?-iR%qRZt|qQZZ{)A1(K!I=|Ceg>P?iq5Rj;dE>jT0;?8Z9e5? z(%e9uJ)iy1&U>AJid976i^syr2Sip~1OngTWcPH8xm*$a?3kOzNc3%^A{PYcvO<1u zlJH?wn?W3c;e)GGvgaK^g7OpGX=jZfNst=vgnI3Bd@9~FJF#{V=3}C^8`+C+*+2#T z6XM0!Mvpcp+m{m~6#i$Q-o$@sTBpziL?&Z2mdP4M7NtfQBHGiomYjx|IQ+`Rsq7a3 zg(lQ7;FJMT5g#EeHci(-?6^KuV;7xe`pSiBr$u-$10@&oK9rr!6}J|QEh@#R%gO|t z^@iR)YDuXCLL`#XWDz39mICxh;T#m$Uh%v||4lC8DMKy}ZJfY0+$W8*exo#aN&Si- z1N+$j7k+~wzEON`tjuehye;5dtHg^Z>yHu~z;`upn1Ih9ttRMKo#qDZ1m&6?b$550 zLPJ0ZM-#2`2dOEg_=6DP2i>{hdCX|9J2Q~RFz``$GX(wXr_k2+i&K5O0^@^ZT?w8f zfILRY^(eceRzQ!x0F8tsYskcnPHfx7qjOCbe)|*zP_H5VDs@9*NbypKu49o5t#k4g;VYnR$Nh1Em&@XfMzq$dp`#f#YlJ=zO;}pqzQ1Nv*cl zcLg5VK`Q7xS}6cC-J$xcPsu&<9-Dutr)W9%AXGR!3vd^8vNSC8t+dhGHn^0|L}#cA zw^HFA>SAR3k|tSXZQvsMOG@kJwaJb~4=I7jHwOe}|`BPxF$E zC$3s1ID9;@#c(y5t3ns1qfg}M2A~3*FcHrS63mMHKeZ%w7H&+Rdoxo{?0W2}t3 z@dJ%8cDbNl09c+LY#iSC3ec+so!;{lK2vW6!G0Ih^qqeNej;Y}iW9^m<%*&3ee4Bv8$HlR{1E%7jSbg$Qd|pHT+^({cm@*jyq;2qUycLUj!Lx>= zuI?_LIigxk`QuKNk*iY^qeb?YKtjQ`JSYno7TmhXN<||#4s8UdaNWHut16SKm1IGkq*=DE4iTnxXTFv|=pkA8%bw{&Vi>XdD8xp9H&EB*Vi}pti5FUJumZ7{*90ynNP%z7%|1gfl*{TZ!3Aofhv?-^)@? z`Ut%1k{vOy>WIacN`+a8uM^ihch51(95zv%X8QU~1N>pTH1*t~M{DI=1RA?jdh=l* zf&?3?B@U)@Yl)y_kz^*Jqc{ANZ&vnt?JaL>QZKayqV)x6zYEg(3(EXl=EnXEsvYQ# zzdflbMgA>HE6FQHII!B=>^?S4wu~!Gu;GHXl3Z2(j9er!@?=WyTvC&iX=OYL(FVpq zHP)oftS0Rj*Y7c0N-^B#O3)2x2J3x5Ix6RP$J8E#WwigZsEOaCX>5y{j{=J?^=|j{ zE$x+@%TcLQAI`xFU_)8<{F(-&2vk8{lk=Vff1>Hqd{zAA#E*YA+ofx!jfQC5)ToS!Cq6o}#G}lhR>oouqzp{HN z?FO%3sM?CEQr`vBgv5>mvtIY3q)wjuZV7}u9Gmwc#z)&N%EZc!y+VVNa_b)J+I!Sa z;J&&ZEI{=ZnK;JyACL=;=-X|bu48xfYS%azO*rp&$JoF;9`vl4Dyx$lsGH|7>EVZc zQ=Pe&QBzuNld@%aXY%O8*ytx|cdEkNu!Q-r|LpNhBdubNaXz*GZ{|NY9sUA8CKI`d zvm`D0bjjur?nlB1p*G8#yZx_~B>O&q3D?O3tv{yj#+g^x{Ys5F>7yk+6*ULPW(!^w zl=X~3%s&qAO9B;Nix{t%hwdxGB7+BZZ&klZC;j{clO0}4XniFWo2JM1#J)^=9)TEb zo2!dH)QBm3sxH8FXhx_Qd^RBubKe=0n%Uud}{+e9BA;}xMuGf9q|y@vLC{k2&$HC0a}1i zo}w}xh-@cI%Q?JR7MdxBxk4hb2?wUjqCl+%_v?rqgO1(G%&HNb@PiK8zLPvja0Ei@ejrCQSE4hW{)X?6B~n+y`g zz;0$N}vj z7EHm6@UxzkowiKS>IFy@PY3s#2x+i$>Sn&uVS;(QOe{lqIO7QJ^z)BVH-eRABt*!w zu#0St>_K$;dEjbDG*c^^%a4GDLpu+!W^WM7!-rIPGGWyL%EG@am${&cxOkqgJo&(j z;dg3V$=&^iYjw*?EaC3+i@^`BTa;t2A5*k56v#@Zz;qK|jx`?Ku1B(VD%VlK`M)I) z9J-ExKgnkjA#A z6%;k;*6p;h^y$oc1T^8uhVwNcm0Hhh?bu%lL4L^!KPqMl+X1TlCBh8J+8y9|WD;PD zF@&T|e9kT9-~g6UMDXB%SW5DBTJ?ufZ>xuy>!`YJZdVNE%D4=mxmM3Hr9 zGkfAdJd3G&)#dbkXb(F#m*JsGJZ2kF1HU@c>Lg@N4~UOvL=h3;Cong&gOS#%^w!Um zF!9+-b(nXW_jej>fn!v@Jl>q?P{3GE7*HW*-9M0D)&pM;2EVg!N)ldQiW@J`qG)zi zS9f5u`10MorfG?{tFdgeM#f(qzy>_)no(%u=PVt;ecu2#FTv9|i#vKJ6I;jnC5grO UfhDwD@Y;oKJj~+X-|oNoAM^{A#Q*>R literal 0 HcmV?d00001 diff --git a/public/icons/maskable_icon_x48.webp b/public/icons/maskable_icon_x48.webp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f8b1c16305255674d5bc8d480e444e09cfbd57b9 100644 GIT binary patch literal 470 zcmV;{0V)1cNk&G_0RRA3MM6+kP&gpM0RR9H3ILq}Dlh;r06vjGnn@+2q9G%V_^=WQ zKpA81(SS`GBSEs}oDjx*UHt*<1^jFK52H7&-$IYtGyplf5^PFqewEGKNf9fs#sIAf zv`D*Br^z^e;Uxe70RHfsL;ubt{qlapdhpc`J=J$XGXDQKNBF3xK0_V!;gWo(k0cCp z(}z0|>79Xku2)Fyl}-vc#LPJ9{DEJ z7Fx{xi9~2>;6{mcrH{@9`v(87r2_7>NA-5n;4)B;RZAI%k$9D>ef1mX1VLah$o(ok zjOu9cAxy5jhbQi_2FXUjijL7fD8Z5kxSoK(wOU?r&Z1*S5-d{-((PBmYWaKiN3dCxWfU0q{?F6Vs_nC4)YF-S7(cwx`ery?$_g)cx3x5&kfBKkU zMJ-M_f$21md^*OmkHG1A%jU8k&+Qhy@05MM5UmC0#DZHlaKjq+5hqae^@8w%a;9Pt z)&TS*g~{A;trz>UWxySNa(yQ6C?^LCG&_4PFVgcF46zx^s(1a-g|!7o{$6Y2y|1DP M?VH+*!B)Tk0E9{5EC2ui literal 0 HcmV?d00001 diff --git a/public/icons/maskable_icon_x512.webp b/public/icons/maskable_icon_x512.webp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a90e2bcf62164ffc6985ce49d8729fc92370beaa 100644 GIT binary patch literal 6116 zcmcJT6Fd|qy>>~kWT4Px_hZ5mM$sjZk7hgr6dGaV3Cj%DMh+LYJt7K zd+t5wdH#VrZ)VQCnKR$deBX?|nu^L#Y5>4kSwYuG_cim(KlRK@6Tz%{yETS z-Bv036yj`h4fwxkm$(Lm7OppVI40UHzRfZroaDtX8C3eexg*|QGVgaltDT>fm^MF$ za{oFxfui(0ogH+Rb^c1~gS=+Y9CiZjPckY6J|ydt#_I4@hj4b1Mn*4h=|x`hYUUC4 zX8m`CuRj&tv5<`5MLPx#Op6wJ67iluns_IJQNk%oO$BXOhs8@2K^U=2Q)XjKu!4&I zT9)(XZQDUY?Pwj8G_P-Lg+>baNd>vS{XIg#M7Qu2pYbyQhkL>(RlMa@CEG41GzSVE<*6@pI_$-!9mir81+VY=u-6Z0#48Y20 zvhq<+wBX9aI19H2Fw2odmKxE$v)q(p18r)M9Lh62Vwv{Ll zv!=lbnyHf}6F(fHhO|j}nip~b1puGT*g+Wc1_Ix&LRT2Ic2|!U$D;c@VS(Bhrd>9J}Johv!U3kC0xg-HBbDq3b7 zX6n^D;g2Y6oZkC{J~w<234PTI`HwA=B};u>VgDmv+5rGhDB|C!2UkYfd;Wu2kBvQd zOsPU%v{HNkRUt3nKS8}qo&QTW^Mp1rhp#*H=OF>6*+1siuvtH>swj^DJz52 zs20$r$WZ5x9>D=@AM=8&Q7lqc0SHH}S-XV926QlSENHq(cpuvlF#x}CD1~Gn-m>RWg?|cl&6xHj zAffCNf+n!J+P1L|a9b8v6dn>2B^NG*}`{;(Ew@Ah^&i4>GS)zV4y)6zvw zK&^sNMGW}b6e)acgS5}q(~|{Vg)ib{hTG~j95r=0(=5vQ9fnrGIf_59_uA=~D~oo@ zeayFMTcfj8*bx}5!1VV;09CofU3wy9eWMW<8ZFU$W20*KO9n4XP65 zOQ06KsfSv*D0wu`wSAo5d&Er`VORt6`?S9?3O5&B%vUT^Cy|cq%hFvf@29a|Kgo~3 z+^mgRtVFXjDpt|`Ma7wL3{y8EtCwoAz->s66eVjrWDa))N}IPW0mXU zo(G)^r*wV)vx7vrXoxqPqvR9Zg*kkt_ugs zZBT8NU22SLC&_`z38lBmz5FaJ^r>dq7_#awBxVxJ1Ug_blV6&PR82p>{{28|Uw$P_ zT<1wa^-BK z$nABQhgS+nS@ZGCm*Yv~W)e<&b5P?irb;5Nf!1G5n{VtxO+FgNnW+>!BD3KU7#2(B zH0dS3*=ROT{6QGhjT0p|O@zFfblf%U!m$!eP8b~l5wTTM)qgX|k1zPqt0%b5vokoq z*nkf|RanlV3hMfRZiZ26bdD{l@JpFDjR>$q$)L~(m*9(*91#vu@b(^Q?<^Fv{yv)et& z)_mk##j>WFAN(_}Fl6}3a}JFj0s#s=IpTKgyapwIiyiWo*}nX>mAFO}VDw54ZAZ%E z(MTeWsH5QPw493bFHgp$64w69>1T~YB($9j`Kv0i@p|meOWnr%Xsjf<@wbO0$6B0>Q55q{<0r9e|m&<$UYA z6(JT|t(B6%ir!~#a3$G#W|8>u=y`dro>~SiLqoE^e<9UX9HL)Rsz@W9ewKjWdd%RG zAL?Ywt=n;-v5}@q0U*)Qpv3_{8XpxjM({WFE>-x^f$-`&!i3FUJr+&fi{xs3Lt!~Z zn=w&e%F7Sr#6`-}=ah}du~u0ed4;XFL2=lJkjjIWZqH2&(aSf^)7n^W5kHFUt*z z#JPY)^gXAgL^jdOn)(!(ByX=ayM}A?=G1NLf0c-HTyHz@)#M)2hIfnk;sngFv`;4< zq?5HY?^Fd)@hJha7Idp&j5Y#M0o@nRLExrXVh#5hCR2Ts`5%%MHE!*|WyWb3uUlHf zYR_Om6Xo6UA3DpL7aU31k6Q~8=X|p@^ivKxXx!DW7dlYAr=3$t%N2wAycQEHltPAz zlwlAzY(`|WI= zCcfnmhu}Np*(c-HuKVm9`m7lLP?D`Yo26W!QW>cw8K)879wXt1xiAGs{1P*HvyY$dAvuYGg4B_Q(`nWdIHO z)Y5Mg%_{6~w~>s<$hSLeM4kQ$XkyqP(S4ItujB6MluQ4^NWUOOY3(&r?zlPM42y-` z--Zj#5mBixp`8mEy@1uKFF)q`jlZY9QSczM%XfX6%SrNt-{Z7wERUys1BLe*Ju~4V z^nB6gxreu=dL9471%>7fkHYX;Od_OVTdM<|`az|kNSW-tNrl`lC0)01?1F3_lZcjC ztt+dST_y~jcb%#UMAhGgK2BK^EN1CwTZ*q{q*T;ovti(uHG3V^w9AUNzZ+Z?`wD%I zv#kZ&eK=q&X~&R?=Esi@l)8ztoX3lK(?S2MVG|(Iz-WSz0*L-d%5ht7g=2k&N<{atRXv$2Jy zCi(v1kB#>Sc1b zBPb?fx#uNg)+-|aM45W14SO!WAjdWEsvf^J5opDfgs)yhRxR%mdK&D529s`p0$pN0 zlz$*IuW|WCH!phZhAOuT^XpMKj3!07!263nN6I>b>1eMRFEm))Sdor~h@-WuQt!Uk zskNXFxuDD(rS0UJ*3d@U3efna2*TcX&My5BMqeDGRdWK3DZ;Q*Yj}(s%MWthvd`~} z)k$#oW@aIo>9JSo90R3Yqv{{!yQAZETW^zXx^^#ZP7{sBIESqpG^MJK6(cvtSlR1}!G{ttog-dzWpD*zJ#7 zLWM)uV6uIZ9YG~=U0eMX8WPdA`@A}3tY&rtX|p548Tt-R)x1=_dBI?c$VMiLx5L~n zI1{Udqd<9r=}fdd(Nd=*d`j977VuGpSyV|ObH>kzewx#2B_;>LVT!#6gKJSYMWgzn zFAf4BMKn0+bR@HH&M|cLl^kT+>M>f*Qg(Klfps_9r(&q%4*S2 z3&%=gidF4~i!a3A-{*Jc96AU!tTlS@<@7B6%GnPk8(5F@nHy!sScJJ?H%yIA^ zsqS_S{XU_qeV@xQLbUPn+i7cSg?{nmKMZfaA?(s}O5Y92>L>Ook%Nfh~_wOlP0>xt%{JDPB7r?rJjE1{kD22{Q2>oI+?WwxMN zEH|o zOE2HmtdUZPY!Cg$`?9{Mp0+WKL0&rLm6SUD_L;qz!Fqijv4Te8ZA_3wHU9}t}Z@TbE@eiSnCLwu{cev2w|Glh9lwr`EPNMfl zxypiRPR(v`;13W*yLCQ>RT^G}1F4ocr>OAI=vW{6O^B_d4)||h($|!XCfr|@i)atC z+d$0vv$!k@5GxLw@##ZGLt9R%Uey9mIGKx042`@LQ6QOWECgD5Tq09@hSL?KaEQ&K z-t$KM-McDEB5`ik_T!zY5ofM^_Em1r&YRI!i&_$Bj@COLbW!+XMy^<4&%SFGSkfn5 zw!QF%Y@V!|yip#y2!a_gDZYYCrJ944|Cq#JA|@Q>^R9x`R8bf;I1!r%3kzRoi~_~5 zbF)nwh{8;+Whf4 zSzLZ_PHzRIOiIEF1aU4b8SA_JF1FnzirDz5RD28dITT*#z7)N;0})7vhqirJJg5KM z?VwXx!o~1MD zuOumIIqfxhGd{ktyHj>M&9_@_CAr&E$v^@FUQw;VQySf)r7~2x92m>Lyz$Yli2lOYB93mh^mvkW zN!iNN#5iBRh@<5;Y%Wr4_{hI(uuVYntMQ|FOA1Zo(`y~7%A7qmp$neVbwT^Ub)m4J zz?Ktv!wgi68O=au?>>H*JJR>{N8fDp!h@yGt{DOG8z=Mahv+a_3)SB>!jj3~FQ6wd znOo>L+|vUV`VO{)E@=VRL*-`!lidN*Z_h#ywj_Q8?l zivrq(7V^B1=SRRB!CPTwF5b(XjYAId-bT=)?H!WC8zR@KLULSDSq*h36q_r1lGzJf5ftBcgvLpX^p4E24*Hmj3lc5y_z{sKU(f z{;F)PbEn?*iG`%X39mp)n%01ZiA4WdAP@a!rt}b>l<-KUYI-iNgNZV_tuOQbP-2m{slTh=;Z(a literal 0 HcmV?d00001 diff --git a/public/icons/maskable_icon_x72.webp b/public/icons/maskable_icon_x72.webp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5c39dcd03d7d5fe502cbaabab5b27f21b3984f38 100644 GIT binary patch literal 698 zcmV;r0!95&Nk&Gp0ssJ4MM6+kP&go_0ssK;4gj42Do6lG06vjKn@T05A|a=>T8OX` z31a}#W3W~OYzE*B;tk?yh!Q(65#TpvIIjtsK&DOOPw8(`PwmA=R4!5{$}i~jCrw!R zf9U7zOV0|L#sY2}tmadb>_$wm543y7SQ&!R@SWiVciFJm@B35?a+%@f=qxI16$tXGLUgXnJs=r!3(Qtx*G4g=t-WvxPL1Fs7VOAmy7B%-<|_C*p&osd6+{@-jm7ImMiaBw;BIbgt0GZ z)9eHlBCVT*&-Jjz*V{T1pNhyP{cVv44{$+nZlW2gQ*nuqf~I8T+8PRbqpJYWz|UV0 ze?4?R&)ff6++lI^0-^XePpd=#fBBve+1Pi$h>p6;Eb%!M6U ztDd>LBZkmx6--Q9($!YP!k;5u=%x&qUFuqaDhOx3H$Jf7T0@@><;4f* z_>gpWS|i>PBkOPU@@^A5iDxZD+hx zWRd&GW^&0~^4A9^xBtUf>%3n1pJsf59kTecC4%%k(!nnVuie2<`!!z$eOPM!%u1XR zXA#iVzXxH=(~Mx~0sg3z)$x0t1?+?US+QFFynKuCfqaS~tNRGAgB}8KYs9L}!hj%^ z3+}BgU;A!)gj7gN{N$4Z{w@nd@*v%FQRjk=#gfNX_XYZ{tC5pn?XdMXv z^|jI~^n)-<0^K&_kdgM2eBJn6sDZRjqQojcYqAJZyFy1_EFgf6Sw|coWiuW^=FT3w zJbYQLXujVbu@+EG%|}58Vt3}k$rW=o%krv zzpNaYJiRLYVYH+l9RupC;_pAw>|T|QRwRy!-d0NWo&&Y0UCG2oSUUxnt?-0#2R$Lp z&U6b-*eo>cQdk7yuqk^)Ou{bs&D(X~eL5t;2>G>z+CxE}O2^HU2GUrt9>Ck97-|%8SFKPiO_Z_GT3c=0AS9aK257y5Txt(BO zD!#3sQbDQW1E=_4aJuxC?Nq=JVvp0pRvZhw@aK9@wJtVuj6|G~W6q$(1NHj=0000g C&&q)S literal 0 HcmV?d00001 From 8cbfd273bc710f32d5e737ff60adeae2bae668dd Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 24 Feb 2023 22:59:13 +0100 Subject: [PATCH 012/251] Refactor counters to use `counter_cache` --- app/models/answer.rb | 11 ++--------- app/models/comment.rb | 10 ++-------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/app/models/answer.rb b/app/models/answer.rb index d1e3e645..5e43464b 100644 --- a/app/models/answer.rb +++ b/app/models/answer.rb @@ -1,8 +1,8 @@ class Answer < ApplicationRecord extend Answer::TimelineMethods - belongs_to :user - belongs_to :question + belongs_to :user, counter_cache: :answered_count + belongs_to :question, counter_cache: :answer_count has_many :comments, dependent: :destroy has_many :smiles, class_name: "Appendable::Reaction", foreign_key: :parent_id, dependent: :destroy has_many :subscriptions, dependent: :destroy @@ -18,15 +18,12 @@ class Answer < ApplicationRecord SHORT_ANSWER_MAX_LENGTH = 640 - # rubocop:disable Rails/SkipsModelValidations after_create do Inbox.where(user: self.user, question: self.question).destroy_all Notification.notify self.question.user, self unless self.question.user == self.user or self.question.user.nil? Subscription.subscribe self.user, self Subscription.subscribe self.question.user, self unless self.question.author_is_anonymous - user.increment! :answered_count - question.increment! :answer_count end before_destroy do @@ -39,19 +36,15 @@ class Answer < ApplicationRecord end end - user&.decrement! :answered_count - question&.decrement! :answer_count self.smiles.each do |smile| Notification.denotify self.user, smile end self.comments.each do |comment| - comment.user&.decrement! :commented_count Subscription.denotify comment, self end Notification.denotify question&.user, self Subscription.destruct self end - # rubocop:enable Rails/SkipsModelValidations def notification_type(*_args) Notification::QuestionAnswered diff --git a/app/models/comment.rb b/app/models/comment.rb index 7e982170..3b43999e 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -1,18 +1,15 @@ class Comment < ApplicationRecord - belongs_to :user - belongs_to :answer + belongs_to :user, counter_cache: :commented_count + belongs_to :answer, counter_cache: :comment_count validates :user_id, presence: true validates :answer_id, presence: true has_many :smiles, class_name: "Appendable::Reaction", foreign_key: :parent_id, dependent: :destroy validates :content, length: { maximum: 512 } - # rubocop:disable Rails/SkipsModelValidations after_create do Subscription.subscribe self.user, answer, false Subscription.notify self, answer - user.increment! :commented_count - answer.increment! :comment_count end before_destroy do @@ -25,10 +22,7 @@ class Comment < ApplicationRecord end Subscription.denotify self, answer - user&.decrement! :commented_count - answer&.decrement! :comment_count end - # rubocop:enable Rails/SkipsModelValidations def notification_type(*_args) Notification::Commented From 322032ef997465f29d9431871384f445a8d70505 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Feb 2023 09:15:01 +0000 Subject: [PATCH 013/251] Bump esbuild from 0.17.9 to 0.17.10 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.9 to 0.17.10. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.9...v0.17.10) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index 352be654..4886267c 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.9", + "esbuild": "^0.17.10", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 4f0617be..f4251335 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.9.tgz#d7d7231918e962475a8d538efb281a2ab95302bc" - integrity sha512-bqds/6lXsCA7JhHGKIM/R80sy3BAIBR0HWyeas0bW57QVHT3Rz5sf4oUVS4ZsmN+J+8IgNnaIT2PXZ0pnRcLKg== +"@esbuild/android-arm64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.10.tgz#ad2ee47dd021035abdfb0c38848ff77a1e1918c4" + integrity sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g== -"@esbuild/android-arm@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.9.tgz#7c2e3899715e190ace63291adc005ee8726d3ad9" - integrity sha512-efHnZVJldh2e18fK40RYzYTTRDzZ0QgL9V/73PSsAH43BauvjVwkqSHPhbcn77H0EQOUM2JPuO/XCg7jcKt94A== +"@esbuild/android-arm@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.10.tgz#bb5a68af8adeb94b30eadee7307404dc5237d076" + integrity sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw== -"@esbuild/android-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.9.tgz#9c4994df308a4f0ef753d5933871213d974d2e42" - integrity sha512-pP+MLR/k8BAYZuOqEkjAaQd9/pzbNS52pNFiXgdiCHb/16u6o7s0rPF8vPlVg+1s8ii+M6HrymL4534xYwCQCA== +"@esbuild/android-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.10.tgz#751d5d8ae9ece1efa9627b689c888eb85b102360" + integrity sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA== -"@esbuild/darwin-arm64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.9.tgz#7bebec932d1ac73048d804f223b46c9744eac548" - integrity sha512-Gdbnu/RCIGHE/zqLHZwujTXnHz0lBQxK9+llrbxm5tO46CMhqiOhUuA5Zt6q2imULNoPJtxmhspHSAQtcx2pkw== +"@esbuild/darwin-arm64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.10.tgz#85601ee7efb2129cd3218d5bcbe8da1173bc1e8b" + integrity sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg== -"@esbuild/darwin-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.9.tgz#c0d2c3b951b186fcdd851de08be2649c9e545331" - integrity sha512-GEZsUsDjJnCTVWuaq1cJ1Y3oV9GmNj/h4j6jA29VYSip7S7nSSiAo4dQFBJg734QKZZFos8fHc4abJpoN2ebGw== +"@esbuild/darwin-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.10.tgz#362c7e988c61fe72d5edef4f717e4b4fc728da98" + integrity sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ== -"@esbuild/freebsd-arm64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.9.tgz#b357eda2c38b17bb9f3d217a063caae51caeb637" - integrity sha512-l3v6bZdpZIG4RpNKObqNqJhDvqQO5JqQlU2S+KyMCbf0xQhYCbTuhu5kKY8hndM1oKhmqq6VfPWhOSf6P3XT/g== +"@esbuild/freebsd-arm64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.10.tgz#e8a85a46ede7c3a048a12f16b9d551d25adc8bb1" + integrity sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ== -"@esbuild/freebsd-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.9.tgz#1d2889efe8e7a824d15175081c7992f7ae8be925" - integrity sha512-o/qhS0gbIdS0AjgiT0mbdiRIyNVRD31N81c1H7NNM4p6jVkSvScqo0v9eYJ+30mPhJsL26BwSNiuFJzD/SCyuw== +"@esbuild/freebsd-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.10.tgz#cd0a1b68bffbcb5b65e65b3fd542e8c7c3edd86b" + integrity sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg== -"@esbuild/linux-arm64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.9.tgz#838dae7c417ea76195eff90a31da78fe1b4dd43c" - integrity sha512-o3bvDJn9txfMxrCVJATbL3NeksMT9MGqSN7vTeG9g+387rDzfUiWpF5CN/L0MoI3QTicTydEDOx0PVX8/q+nCA== +"@esbuild/linux-arm64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.10.tgz#13b183f432512ed9d9281cc89476caeebe9e9123" + integrity sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA== -"@esbuild/linux-arm@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.9.tgz#a3a1b074a08dd9ee85b76e0ff2a8dafaf87a884b" - integrity sha512-AhSVW1uIbcXssQ1D+Mn0txGgcxU32ikvIxuqkmjLC7dUpcX0JuwkPgdqTOicuBjG06GV4WvXSHcKCBUjN+oBxA== +"@esbuild/linux-arm@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.10.tgz#dd11e0a5faa3ea94dc80278a601c3be7b4fdf1da" + integrity sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA== -"@esbuild/linux-ia32@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.9.tgz#b6cf70ea799a16318fa492fcd996748f65c9b0c6" - integrity sha512-fh3Eb+jMHDJUd08vEYL8swRT7zJo4lhrcG8NYuosHVeT49XQ0Bn9xLMtgtYXjCw5aB11aphAUwnzawvDqJCqTQ== +"@esbuild/linux-ia32@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.10.tgz#4d836f87b92807d9292379963c4888270d282405" + integrity sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw== -"@esbuild/linux-loong64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.9.tgz#5c6968022ba45b8a182889260165631959616c3c" - integrity sha512-+DvqOzQLkXonfQTHo4PTlbiTCfz0Rx6oYn3fQrUlPX2PffGOth4HjuP4jHeFbw0YFfOErhjM6n481nB4VTmmFQ== +"@esbuild/linux-loong64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.10.tgz#92eb2ee200c17ef12c7fb3b648231948699e7a4c" + integrity sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA== -"@esbuild/linux-mips64el@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.9.tgz#e12f789e606b6bd239c69a56c50869b1c73bc7cb" - integrity sha512-9O0HhtxRzx9OOqavv7kIONncJXxhzrbDFmOD+cJ/3UUsy8dn52J6X2xCeUOxbmEOXYP2K+uha7b1AXG/URhF5Q== +"@esbuild/linux-mips64el@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.10.tgz#14f7d50c40fe7f7ee545a9bd07c6f6e4cba5570e" + integrity sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg== -"@esbuild/linux-ppc64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.9.tgz#95ed6f6e86b55086225356adea68f1132f0de745" - integrity sha512-tOwSTDZ0X5rcYK3OyfJVf4fFlvYLv3HGCOJxdE9gZVeRkXXd6O9CJ/A4Li1Tt9JQs9kJcFWCXxCwhY70h+t9iw== +"@esbuild/linux-ppc64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.10.tgz#1ab5802e93ae511ce9783e1cb95f37df0f84c4af" + integrity sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ== -"@esbuild/linux-riscv64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.9.tgz#152280429f9eb04bea9896c6855a3ac917f2035c" - integrity sha512-mmirCaZItLSPw7loFPHvdDXO0A2I+cYOQ96eerbWEjqi9V4u+vvYSoUR3Or7HLe1JUZS+T0YWN+jPUASc1hqzg== +"@esbuild/linux-riscv64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.10.tgz#4fae25201ef7ad868731d16c8b50b0e386c4774a" + integrity sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ== -"@esbuild/linux-s390x@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.9.tgz#4b64f84e7fad4b42dd4cb95ec8c8525c7f2c8447" - integrity sha512-zuL5TDhxstsvxYVZ1McsnfNrO6vlpZmxiNShJmYuYPt8COBJ/4iRkwHZ5Rbf1OkEVazB3/WASNtopv1/Gq19IQ== +"@esbuild/linux-s390x@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.10.tgz#126254d8335bb3586918b1ca60beb4abb46e6d54" + integrity sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg== -"@esbuild/linux-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.9.tgz#0ec61046dab79be9f08df37a10b9966fd1d940b5" - integrity sha512-jVa5NKqwBmq57aNDZOSnNuRTV5GrI93HdjTlyQyRrOs7OSEQq2r9NyaGd6KmzuxLz19XTanFt4WeGoLnjFT1Ug== +"@esbuild/linux-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.10.tgz#7fa4667b2df81ea0538e1b75e607cf04e526ce91" + integrity sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg== -"@esbuild/netbsd-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.9.tgz#50b1fc5a6e0d13c8ff2b29a154cd7770194489d9" - integrity sha512-BRoQyPJ7aiQ7USFCtGmmrYTbRDa9muZAwoYchfqspd+ef8n2kKcXGQ0K2OqcLEqNFOwhLpAY4y4YAl22FbP+BA== +"@esbuild/netbsd-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.10.tgz#2d24727ddc2305619685bf237a46d6087a02ee9a" + integrity sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA== -"@esbuild/openbsd-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.9.tgz#2fd6643f99810091320b583dea0245e3b0cdc64e" - integrity sha512-gDCVw9M2k8tyA9GokQEeh+L2gl0EZeGIIj5WB5H97Mb0ADq5Ea8vWyQs2iY1Q/tebcuP8cUoOZWxkCsmlyl1NA== +"@esbuild/openbsd-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.10.tgz#bf3fc38ee6ecf028c1f0cfe11f61d53cc75fef12" + integrity sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig== -"@esbuild/sunos-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.9.tgz#fa0e4b67b6213423c7a57f2d4ecec19c6f4c3012" - integrity sha512-f89/xt0Hzp7POTDJYSJvotyFXatxXBGXJyFFTQGJW+NTYhFHaMcrrb41OB3L8sfzYi3PSlM3pZnwlEk1QiBX2g== +"@esbuild/sunos-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.10.tgz#8deabd6dfec6256f80bb101bc59d29dbae99c69b" + integrity sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg== -"@esbuild/win32-arm64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.9.tgz#85d396aa986f5671f151df5aea1d54fb7626979d" - integrity sha512-jrU/SBHXc3NPS5mPgYeL8pgIrBTwdrnaoLtygkQtuPzz0oBjsTyxV46tZoOctv4Q1Jq06+4zsJWkTzVaoik8FQ== +"@esbuild/win32-arm64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.10.tgz#1ec1ee04c788c4c57a83370b6abf79587b3e4965" + integrity sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg== -"@esbuild/win32-ia32@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.9.tgz#1de54043d30ff2ada4f6316e1ce8ad097a02ec42" - integrity sha512-/oVEu7DurNFM0E6qA18R8xkbYU6xilaTnqG65rqm4XJo8ONuqTzLnj/93bQps7RJIxPI+yKPl0Zx2KifvWUa5A== +"@esbuild/win32-ia32@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.10.tgz#a362528d7f3ad5d44fa8710a96764677ef92ebe9" + integrity sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ== -"@esbuild/win32-x64@0.17.9": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.9.tgz#3d928444d650010b55a601f5fb225ff20487ca44" - integrity sha512-PLKuXKwlPljFrzzsUO6hHNWcYeE4a8FOX/6AJ7U7PajgKqtBGw2mGYxsfJHGb+UdfgdOapIOsYPgzMTG+SGDrg== +"@esbuild/win32-x64@0.17.10": + version "0.17.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.10.tgz#ac779220f2da96afd480fb3f3148a292f66e7fc3" + integrity sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -835,33 +835,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.9: - version "0.17.9" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.9.tgz#d4ff32649d503989e7c2623c239901f7f26b3417" - integrity sha512-m3b2MR76QkwKPw/KQBlBJVaIncfQhhXsDMCFPoyqEOIziV+O7BAKqOYT1NbHsnFUX0/98CLWxUfM5stzh4yq4Q== +esbuild@^0.17.10: + version "0.17.10" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.10.tgz#3be050561b34c5dc05b46978f4e1f326d5cc9437" + integrity sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A== optionalDependencies: - "@esbuild/android-arm" "0.17.9" - "@esbuild/android-arm64" "0.17.9" - "@esbuild/android-x64" "0.17.9" - "@esbuild/darwin-arm64" "0.17.9" - "@esbuild/darwin-x64" "0.17.9" - "@esbuild/freebsd-arm64" "0.17.9" - "@esbuild/freebsd-x64" "0.17.9" - "@esbuild/linux-arm" "0.17.9" - "@esbuild/linux-arm64" "0.17.9" - "@esbuild/linux-ia32" "0.17.9" - "@esbuild/linux-loong64" "0.17.9" - "@esbuild/linux-mips64el" "0.17.9" - "@esbuild/linux-ppc64" "0.17.9" - "@esbuild/linux-riscv64" "0.17.9" - "@esbuild/linux-s390x" "0.17.9" - "@esbuild/linux-x64" "0.17.9" - "@esbuild/netbsd-x64" "0.17.9" - "@esbuild/openbsd-x64" "0.17.9" - "@esbuild/sunos-x64" "0.17.9" - "@esbuild/win32-arm64" "0.17.9" - "@esbuild/win32-ia32" "0.17.9" - "@esbuild/win32-x64" "0.17.9" + "@esbuild/android-arm" "0.17.10" + "@esbuild/android-arm64" "0.17.10" + "@esbuild/android-x64" "0.17.10" + "@esbuild/darwin-arm64" "0.17.10" + "@esbuild/darwin-x64" "0.17.10" + "@esbuild/freebsd-arm64" "0.17.10" + "@esbuild/freebsd-x64" "0.17.10" + "@esbuild/linux-arm" "0.17.10" + "@esbuild/linux-arm64" "0.17.10" + "@esbuild/linux-ia32" "0.17.10" + "@esbuild/linux-loong64" "0.17.10" + "@esbuild/linux-mips64el" "0.17.10" + "@esbuild/linux-ppc64" "0.17.10" + "@esbuild/linux-riscv64" "0.17.10" + "@esbuild/linux-s390x" "0.17.10" + "@esbuild/linux-x64" "0.17.10" + "@esbuild/netbsd-x64" "0.17.10" + "@esbuild/openbsd-x64" "0.17.10" + "@esbuild/sunos-x64" "0.17.10" + "@esbuild/win32-arm64" "0.17.10" + "@esbuild/win32-ia32" "0.17.10" + "@esbuild/win32-x64" "0.17.10" escape-string-regexp@^1.0.5: version "1.0.5" From 8fb6989ee788c6aab7c4e2edd982ce1019351c8f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Feb 2023 09:15:56 +0000 Subject: [PATCH 014/251] Bump rubocop-rails from 2.17.4 to 2.18.0 Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.17.4 to 2.18.0. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.17.4...v2.18.0) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index fb0afd81..5152a12c 100644 --- a/Gemfile +++ b/Gemfile @@ -93,7 +93,7 @@ group :development, :test do gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false gem "rubocop", "~> 1.45" - gem "rubocop-rails", "~> 2.17" + gem "rubocop-rails", "~> 2.18" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false gem "simplecov-cobertura", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 74f8dd0a..7f632336 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -104,7 +104,7 @@ GEM chunky_png (1.4.0) coderay (1.1.3) colorize (0.8.1) - concurrent-ruby (1.2.0) + concurrent-ruby (1.2.2) connection_pool (2.3.0) crass (1.0.6) cssbundling-rails (1.1.2) @@ -391,7 +391,7 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.26.0) parser (>= 3.2.1.0) - rubocop-rails (2.17.4) + rubocop-rails (2.18.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) @@ -542,7 +542,7 @@ DEPENDENCIES rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) rubocop (~> 1.45) - rubocop-rails (~> 2.17) + rubocop-rails (~> 2.18) ruby-progressbar rubyzip (~> 2.3) sanitize From 8ba8cc8e0fe0768a7007daa3b957dcb91a7a180d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Feb 2023 09:17:17 +0000 Subject: [PATCH 015/251] Bump devise-i18n from 1.10.3 to 1.11.0 Bumps [devise-i18n](https://github.com/tigrish/devise-i18n) from 1.10.3 to 1.11.0. - [Release notes](https://github.com/tigrish/devise-i18n/releases) - [Changelog](https://github.com/tigrish/devise-i18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/tigrish/devise-i18n/compare/v1.10.3...v1.11.0) --- updated-dependencies: - dependency-name: devise-i18n dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 74f8dd0a..cdff2654 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -104,7 +104,7 @@ GEM chunky_png (1.4.0) coderay (1.1.3) colorize (0.8.1) - concurrent-ruby (1.2.0) + concurrent-ruby (1.2.2) connection_pool (2.3.0) crass (1.0.6) cssbundling-rails (1.1.2) @@ -117,7 +117,7 @@ GEM database_cleaner-core (2.0.1) date (3.3.3) debug_inspector (1.1.0) - devise (4.8.1) + devise (4.9.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -126,8 +126,8 @@ GEM devise-async (1.0.0) activejob (>= 5.0) devise (>= 4.0) - devise-i18n (1.10.3) - devise (>= 4.8.0) + devise-i18n (1.11.0) + devise (>= 4.9.0) diff-lcs (1.5.0) docile (1.4.0) dry-core (1.0.0) From 63bd30987b02e339af13d4c9fcf2612c0496acff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Feb 2023 09:17:28 +0000 Subject: [PATCH 016/251] Bump pg from 1.4.5 to 1.4.6 Bumps [pg](https://github.com/ged/ruby-pg) from 1.4.5 to 1.4.6. - [Release notes](https://github.com/ged/ruby-pg/releases) - [Changelog](https://github.com/ged/ruby-pg/blob/master/History.md) - [Commits](https://github.com/ged/ruby-pg/compare/v1.4.5...v1.4.6) --- updated-dependencies: - dependency-name: pg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 74f8dd0a..309b28bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -276,7 +276,7 @@ GEM parallel (1.22.1) parser (3.2.1.0) ast (~> 2.4.1) - pg (1.4.5) + pg (1.4.6) pghero (3.1.0) activerecord (>= 6) prometheus-client (4.0.0) From 2f7d6c6835ab6ab26c339cf8dd59ef016b9b5e93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Feb 2023 19:55:11 +0000 Subject: [PATCH 017/251] Bump pghero from 3.1.0 to 3.2.0 Bumps [pghero](https://github.com/ankane/pghero) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/ankane/pghero/releases) - [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/pghero/compare/v3.1.0...v3.2.0) --- updated-dependencies: - dependency-name: pghero dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 309b28bd..fe28bd9a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -104,7 +104,7 @@ GEM chunky_png (1.4.0) coderay (1.1.3) colorize (0.8.1) - concurrent-ruby (1.2.0) + concurrent-ruby (1.2.2) connection_pool (2.3.0) crass (1.0.6) cssbundling-rails (1.1.2) @@ -277,7 +277,7 @@ GEM parser (3.2.1.0) ast (~> 2.4.1) pg (1.4.6) - pghero (3.1.0) + pghero (3.2.0) activerecord (>= 6) prometheus-client (4.0.0) public_suffix (4.0.7) From aba260d728da4a2dbcbff69bf674b237293b0841 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Mar 2023 15:17:27 +0000 Subject: [PATCH 018/251] Bump rubocop from 1.45.1 to 1.47.0 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.45.1 to 1.47.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.45.1...v1.47.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 5152a12c..2f617724 100644 --- a/Gemfile +++ b/Gemfile @@ -92,7 +92,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.45" + gem "rubocop", "~> 1.47" gem "rubocop-rails", "~> 2.18" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 7e92678e..9643ba50 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -379,17 +379,17 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.45.1) + rubocop (1.47.0) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.24.1, < 2.0) + rubocop-ast (>= 1.26.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.26.0) + rubocop-ast (1.27.0) parser (>= 3.2.1.0) rubocop-rails (2.18.0) activesupport (>= 4.2.0) @@ -541,7 +541,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.45) + rubocop (~> 1.47) rubocop-rails (~> 2.18) ruby-progressbar rubyzip (~> 2.3) From 0360ce557265492c32c1949403588de7d157299c Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Wed, 1 Mar 2023 16:19:44 +0100 Subject: [PATCH 019/251] Revert "Bump devise-i18n from 1.10.3 to 1.11.0" --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 37118016..879ab5b0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -117,7 +117,7 @@ GEM database_cleaner-core (2.0.1) date (3.3.3) debug_inspector (1.1.0) - devise (4.9.0) + devise (4.8.1) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -126,8 +126,8 @@ GEM devise-async (1.0.0) activejob (>= 5.0) devise (>= 4.0) - devise-i18n (1.11.0) - devise (>= 4.9.0) + devise-i18n (1.10.3) + devise (>= 4.8.0) diff-lcs (1.5.0) docile (1.4.0) dry-core (1.0.0) From f1809c4dd3ca473cf3d022f890db209b62d6e73e Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 13:53:27 +0100 Subject: [PATCH 020/251] Disable fog in tests --- .../settings/profile_picture_controller_spec.rb | 7 +++++++ spec/lib/use_case/data_export/user_spec.rb | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/spec/controllers/settings/profile_picture_controller_spec.rb b/spec/controllers/settings/profile_picture_controller_spec.rb index 6e1bc692..d36168c7 100644 --- a/spec/controllers/settings/profile_picture_controller_spec.rb +++ b/spec/controllers/settings/profile_picture_controller_spec.rb @@ -5,6 +5,13 @@ require "rails_helper" describe Settings::ProfilePictureController, type: :controller do describe "#update" do subject { patch :update, params: { user: avatar_params } } + + before do + stub_const("APP_CONFIG", { + "fog" => {} + }) + end + let(:avatar_params) do { profile_picture: fixture_file_upload("banana_racc.jpg", "image/jpeg") diff --git a/spec/lib/use_case/data_export/user_spec.rb b/spec/lib/use_case/data_export/user_spec.rb index 9f01e1ef..91ee7e08 100644 --- a/spec/lib/use_case/data_export/user_spec.rb +++ b/spec/lib/use_case/data_export/user_spec.rb @@ -3,6 +3,12 @@ require "rails_helper" describe UseCase::DataExport::User, :data_export do + before do + stub_const("APP_CONFIG", { + "fog" => {} + }) + end + let(:user_params) do { email: "fizzyraccoon@bsnss.biz", From 36c52db8b97eb43271b79c219bab4450b7cf7393 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 14:06:16 +0100 Subject: [PATCH 021/251] Fix lint errors --- .../settings/profile_picture_controller_spec.rb | 8 ++++---- spec/lib/use_case/data_export/user_spec.rb | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/spec/controllers/settings/profile_picture_controller_spec.rb b/spec/controllers/settings/profile_picture_controller_spec.rb index d36168c7..77fe078e 100644 --- a/spec/controllers/settings/profile_picture_controller_spec.rb +++ b/spec/controllers/settings/profile_picture_controller_spec.rb @@ -8,13 +8,13 @@ describe Settings::ProfilePictureController, type: :controller do before do stub_const("APP_CONFIG", { - "fog" => {} - }) + "fog" => {}, + }) end let(:avatar_params) do { - profile_picture: fixture_file_upload("banana_racc.jpg", "image/jpeg") + profile_picture: fixture_file_upload("banana_racc.jpg", "image/jpeg"), } end @@ -25,7 +25,7 @@ describe Settings::ProfilePictureController, type: :controller do it "enqueues a Sidekiq job to process the uploaded profile picture" do subject - expect(::CarrierWave::Workers::ProcessAsset).to have_enqueued_sidekiq_job("User", user.id.to_s, "profile_picture") + expect(CarrierWave::Workers::ProcessAsset).to have_enqueued_sidekiq_job("User", user.id.to_s, "profile_picture") end it "redirects to the edit_user_profile page" do diff --git a/spec/lib/use_case/data_export/user_spec.rb b/spec/lib/use_case/data_export/user_spec.rb index 91ee7e08..293f70fe 100644 --- a/spec/lib/use_case/data_export/user_spec.rb +++ b/spec/lib/use_case/data_export/user_spec.rb @@ -5,8 +5,8 @@ require "rails_helper" describe UseCase::DataExport::User, :data_export do before do stub_const("APP_CONFIG", { - "fog" => {} - }) + "fog" => {}, + }) end let(:user_params) do @@ -41,8 +41,8 @@ describe UseCase::DataExport::User, :data_export do location: "Binland", motivation_header: "", website: "https://retrospring.net", - allow_long_questions: true - } + allow_long_questions: true, + }, } end @@ -97,7 +97,7 @@ describe UseCase::DataExport::User, :data_export do privacy_noindex: false, sharing_enabled: false, sharing_autoclose: false, - sharing_custom_url: nil + sharing_custom_url: nil, }, profile: { display_name: "Fizzy Raccoon", @@ -108,12 +108,12 @@ describe UseCase::DataExport::User, :data_export do created_at: user.profile.created_at.as_json, updated_at: user.profile.updated_at.as_json, anon_display_name: nil, - allow_long_questions: true + allow_long_questions: true, }, roles: { administrator: false, - moderator: false - } + moderator: false, + }, } ) end From 7ea647b2ff9c7f852b48704a51b8813136317bab Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 15:24:17 +0100 Subject: [PATCH 022/251] Return turbo stream when resetting 2FA recovery codes --- .../two_factor_authentication/otp_authentication_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/settings/two_factor_authentication/otp_authentication_controller.rb b/app/controllers/settings/two_factor_authentication/otp_authentication_controller.rb index ff83ad4d..75fb4251 100644 --- a/app/controllers/settings/two_factor_authentication/otp_authentication_controller.rb +++ b/app/controllers/settings/two_factor_authentication/otp_authentication_controller.rb @@ -42,6 +42,6 @@ class Settings::TwoFactorAuthentication::OtpAuthenticationController < Applicati def reset current_user.totp_recovery_codes.delete_all @recovery_keys = TotpRecoveryCode.generate_for(current_user) - render "settings/two_factor_authentication/otp_authentication/recovery_keys" + render "settings/two_factor_authentication/otp_authentication/recovery_keys", status: :see_other end end From 1cec1d0423d4856c2d5b0ba8962ed2ac717f72f7 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 15:51:50 +0100 Subject: [PATCH 023/251] Fix print styling for 2FA recovery codes page --- app/assets/stylesheets/components/_totp-setup.scss | 8 +++++++- app/views/layouts/base.html.haml | 2 +- app/views/navigation/_main.html.haml | 2 +- .../otp_authentication/recovery_keys.html.haml | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/assets/stylesheets/components/_totp-setup.scss b/app/assets/stylesheets/components/_totp-setup.scss index 2bcf341b..ddb80d76 100644 --- a/app/assets/stylesheets/components/_totp-setup.scss +++ b/app/assets/stylesheets/components/_totp-setup.scss @@ -47,6 +47,12 @@ &__recovery { &-container { max-width: 455px; + + @media print { + .card { + box-shadow: none; + } + } } &-icon { @@ -73,4 +79,4 @@ #user_otp_attempt { @extend %totp-input; -} \ No newline at end of file +} diff --git a/app/views/layouts/base.html.haml b/app/views/layouts/base.html.haml index f8464ac6..8cfb34cf 100644 --- a/app/views/layouts/base.html.haml +++ b/app/views/layouts/base.html.haml @@ -18,7 +18,7 @@ %link{ rel: 'icon', href: '/icons/maskable_icon_x192.png', sizes: '192x192' } %link{ rel: 'icon', href: '/images/favicon/favicon-32.png', sizes: '32x32' } %title= yield(:title) - = stylesheet_link_tag 'application', data: { 'turbo-track': 'reload' } + = stylesheet_link_tag 'application', data: { 'turbo-track': 'reload' }, media: 'all' = javascript_include_tag 'application', data: { 'turbo-track': 'reload' }, defer: true = csrf_meta_tags = yield(:og) diff --git a/app/views/navigation/_main.html.haml b/app/views/navigation/_main.html.haml index 3d08fa1e..5683e787 100644 --- a/app/views/navigation/_main.html.haml +++ b/app/views/navigation/_main.html.haml @@ -3,5 +3,5 @@ = render 'navigation/mobile', notifications: notifications = render 'modal/ask' -%button.btn.btn-primary.btn-fab.d-block.d-lg-none{ data: { bs_target: '#modal-ask-followers', bs_toggle: :modal }, type: 'button' } +%button.btn.btn-primary.btn-fab.d-block.d-lg-none.d-print-none{ data: { bs_target: '#modal-ask-followers', bs_toggle: :modal }, type: 'button' } %i.fa.fa-pencil-square-o diff --git a/app/views/settings/two_factor_authentication/otp_authentication/recovery_keys.html.haml b/app/views/settings/two_factor_authentication/otp_authentication/recovery_keys.html.haml index d2823926..692d9296 100644 --- a/app/views/settings/two_factor_authentication/otp_authentication/recovery_keys.html.haml +++ b/app/views/settings/two_factor_authentication/otp_authentication/recovery_keys.html.haml @@ -4,7 +4,7 @@ .card .card-body .d-none.d-print-block.totp-setup__recovery-icon - %i.fa.fa-comments + %img{ src: "/icons/icon.svg", width: 96 } %h1.totp-setup__recovery-title= t(".heading", app_name: APP_CONFIG['site_name']) %ul.totp-setup__recovery-codes From 1dbcb3dd6f868a93512b20cfe7653bfe36d01a0c Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 15:58:18 +0100 Subject: [PATCH 024/251] Appease the dog overlords --- app/assets/stylesheets/components/_totp-setup.scss | 1 + app/views/layouts/base.html.haml | 2 +- app/views/navigation/_main.html.haml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/components/_totp-setup.scss b/app/assets/stylesheets/components/_totp-setup.scss index ddb80d76..9856151a 100644 --- a/app/assets/stylesheets/components/_totp-setup.scss +++ b/app/assets/stylesheets/components/_totp-setup.scss @@ -49,6 +49,7 @@ max-width: 455px; @media print { + .card { box-shadow: none; } diff --git a/app/views/layouts/base.html.haml b/app/views/layouts/base.html.haml index 8cfb34cf..2ea7f5cf 100644 --- a/app/views/layouts/base.html.haml +++ b/app/views/layouts/base.html.haml @@ -18,7 +18,7 @@ %link{ rel: 'icon', href: '/icons/maskable_icon_x192.png', sizes: '192x192' } %link{ rel: 'icon', href: '/images/favicon/favicon-32.png', sizes: '32x32' } %title= yield(:title) - = stylesheet_link_tag 'application', data: { 'turbo-track': 'reload' }, media: 'all' + = stylesheet_link_tag "application", data: { 'turbo-track': "reload" }, media: "all" = javascript_include_tag 'application', data: { 'turbo-track': 'reload' }, defer: true = csrf_meta_tags = yield(:og) diff --git a/app/views/navigation/_main.html.haml b/app/views/navigation/_main.html.haml index 5683e787..989717df 100644 --- a/app/views/navigation/_main.html.haml +++ b/app/views/navigation/_main.html.haml @@ -3,5 +3,5 @@ = render 'navigation/mobile', notifications: notifications = render 'modal/ask' -%button.btn.btn-primary.btn-fab.d-block.d-lg-none.d-print-none{ data: { bs_target: '#modal-ask-followers', bs_toggle: :modal }, type: 'button' } +%button.btn.btn-primary.btn-fab.d-block.d-lg-none.d-print-none{ data: { bs_target: "#modal-ask-followers", bs_toggle: :modal }, type: "button" } %i.fa.fa-pencil-square-o From f3c7132103f6b0f6bd2584c8dedbec2b6a3577ef Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 20:37:25 +0100 Subject: [PATCH 025/251] Allow use of `USE_FOG_IN_TESTS` env var --- .../settings/profile_picture_controller_spec.rb | 8 +++++--- spec/lib/use_case/data_export/user_spec.rb | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/spec/controllers/settings/profile_picture_controller_spec.rb b/spec/controllers/settings/profile_picture_controller_spec.rb index 77fe078e..727e8f61 100644 --- a/spec/controllers/settings/profile_picture_controller_spec.rb +++ b/spec/controllers/settings/profile_picture_controller_spec.rb @@ -7,9 +7,11 @@ describe Settings::ProfilePictureController, type: :controller do subject { patch :update, params: { user: avatar_params } } before do - stub_const("APP_CONFIG", { - "fog" => {}, - }) + if ENV["USE_FOG_IN_TESTS"].blank? + stub_const("APP_CONFIG", { + "fog" => {}, + }) + end end let(:avatar_params) do diff --git a/spec/lib/use_case/data_export/user_spec.rb b/spec/lib/use_case/data_export/user_spec.rb index 293f70fe..99d5d09e 100644 --- a/spec/lib/use_case/data_export/user_spec.rb +++ b/spec/lib/use_case/data_export/user_spec.rb @@ -4,9 +4,11 @@ require "rails_helper" describe UseCase::DataExport::User, :data_export do before do - stub_const("APP_CONFIG", { - "fog" => {}, - }) + if ENV["USE_FOG_IN_TESTS"].blank? + stub_const("APP_CONFIG", { + "fog" => {}, + }) + end end let(:user_params) do From 20433c987eafce1ff15af142e0edfb3f5ba174e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Mar 2023 09:56:51 +0000 Subject: [PATCH 026/251] Bump turbo-rails from 1.3.3 to 1.4.0 Bumps [turbo-rails](https://github.com/hotwired/turbo-rails) from 1.3.3 to 1.4.0. - [Release notes](https://github.com/hotwired/turbo-rails/releases) - [Commits](https://github.com/hotwired/turbo-rails/compare/v1.3.3...v1.4.0) --- updated-dependencies: - dependency-name: turbo-rails dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 446d13a6..3ff482ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -248,7 +248,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.2) mini_portile2 (2.8.1) - minitest (5.17.0) + minitest (5.18.0) msgpack (1.6.0) multi_json (1.15.0) multi_xml (0.6.0) @@ -287,7 +287,7 @@ GEM activesupport (>= 3.0.0) questiongenerator (1.1.0) racc (1.6.2) - rack (2.2.6.2) + rack (2.2.6.3) rack-test (2.0.2) rack (>= 1.3) rails (6.1.7.2) @@ -452,7 +452,7 @@ GEM tldv (0.1.0) tldv-data (~> 1.0) tldv-data (1.0.2022121701) - turbo-rails (1.3.3) + turbo-rails (1.4.0) actionpack (>= 6.0.0) activejob (>= 6.0.0) railties (>= 6.0.0) From 9767306a52f4568a85dfcd391f88a7ca74c229e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Mar 2023 09:57:35 +0000 Subject: [PATCH 027/251] Bump puma from 6.1.0 to 6.1.1 Bumps [puma](https://github.com/puma/puma) from 6.1.0 to 6.1.1. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v6.1.0...v6.1.1) --- updated-dependencies: - dependency-name: puma dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 446d13a6..9461bfa6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -281,7 +281,7 @@ GEM activerecord (>= 6) prometheus-client (4.0.0) public_suffix (4.0.7) - puma (6.1.0) + puma (6.1.1) nio4r (~> 2.0) pundit (2.3.0) activesupport (>= 3.0.0) From bc0e6dc2ef9709496e58ea128aff57242072625a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Mar 2023 09:57:50 +0000 Subject: [PATCH 028/251] Bump @hotwired/turbo-rails from 7.2.5 to 7.3.0 Bumps [@hotwired/turbo-rails](https://github.com/hotwired/turbo-rails) from 7.2.5 to 7.3.0. - [Release notes](https://github.com/hotwired/turbo-rails/releases) - [Commits](https://github.com/hotwired/turbo-rails/commits) --- updated-dependencies: - dependency-name: "@hotwired/turbo-rails" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 4886267c..ee65cc5e 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@fontsource/lexend": "^4.5.15", "@fortawesome/fontawesome-free": "^6.3.0", "@hotwired/stimulus": "^3.2.1", - "@hotwired/turbo-rails": "^7.2.5", + "@hotwired/turbo-rails": "^7.3.0", "@melloware/coloris": "^0.18.0", "@popperjs/core": "^2.11", "@rails/request.js": "^0.0.8", diff --git a/yarn.lock b/yarn.lock index f4251335..d320c852 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,18 +189,18 @@ resolved "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.1.tgz#e3de23623b0c52c247aba4cd5d530d257008676b" integrity sha512-HGlzDcf9vv/EQrMJ5ZG6VWNs8Z/xMN+1o2OhV1gKiSG6CqZt5MCBB1gRg5ILiN3U0jEAxuDTNPRfBcnZBDmupQ== -"@hotwired/turbo-rails@^7.2.5": - version "7.2.5" - resolved "https://registry.yarnpkg.com/@hotwired/turbo-rails/-/turbo-rails-7.2.5.tgz#74fc3395a29a76df2bb8835aa88c86885cffde4c" - integrity sha512-F8ztmARxd/XBdevRa//HoJGZ7u+Unb0J7cQUeUP+pBvt9Ta2TJJ7a2TORAOhjC8Zgxx+LKwm/1UUHqN3ojjiGw== +"@hotwired/turbo-rails@^7.3.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@hotwired/turbo-rails/-/turbo-rails-7.3.0.tgz#422c21752509f3edcd6c7b2725bbe9e157815f51" + integrity sha512-fvhO64vp/a2UVQ3jue9WTc2JisMv9XilIC7ViZmXAREVwiQ2S4UC7Go8f9A1j4Xu7DBI6SbFdqILk5ImqVoqyA== dependencies: - "@hotwired/turbo" "^7.2.5" + "@hotwired/turbo" "^7.3.0" "@rails/actioncable" "^7.0" -"@hotwired/turbo@^7.2.5": - version "7.2.5" - resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-7.2.5.tgz#2d9d6bde8a9549c3aea8970445ade16ffd56719a" - integrity sha512-o5PByC/mWkmTe4pWnKrixhPECJUxIT/NHtxKqjq7n9Fj6JlNza1pgxdTCJVIq+PI0j95U+7mA3N4n4A/QYZtZQ== +"@hotwired/turbo@^7.3.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-7.3.0.tgz#2226000fff1aabda9fd9587474565c9929dbf15d" + integrity sha512-Dcu+NaSvHLT7EjrDrkEmH4qET2ZJZ5IcCWmNXxNQTBwlnE5tBZfN6WxZ842n5cHV52DH/AKNirbPBtcEXDLW4g== "@humanwhocodes/config-array@^0.5.0": version "0.5.0" From 7479f17501a3086fc7daaffd5e228137da094674 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Mar 2023 09:58:39 +0000 Subject: [PATCH 029/251] Bump esbuild from 0.17.10 to 0.17.11 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.10 to 0.17.11. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.10...v0.17.11) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index 4886267c..40b8c058 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.10", + "esbuild": "^0.17.11", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index f4251335..498f11d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.10.tgz#ad2ee47dd021035abdfb0c38848ff77a1e1918c4" - integrity sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g== +"@esbuild/android-arm64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.11.tgz#52c3e6cabc19c5e4c1c0c01cb58f0442338e1c14" + integrity sha512-QnK4d/zhVTuV4/pRM4HUjcsbl43POALU2zvBynmrrqZt9LPcLA3x1fTZPBg2RRguBQnJcnU059yKr+bydkntjg== -"@esbuild/android-arm@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.10.tgz#bb5a68af8adeb94b30eadee7307404dc5237d076" - integrity sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw== +"@esbuild/android-arm@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.11.tgz#f3fc768235aecbeb840d0049fdf13cd28592105f" + integrity sha512-CdyX6sRVh1NzFCsf5vw3kULwlAhfy9wVt8SZlrhQ7eL2qBjGbFhRBWkkAzuZm9IIEOCKJw4DXA6R85g+qc8RDw== -"@esbuild/android-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.10.tgz#751d5d8ae9ece1efa9627b689c888eb85b102360" - integrity sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA== +"@esbuild/android-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.11.tgz#443ed47771a7e917e4282469ba350d117473550c" + integrity sha512-3PL3HKtsDIXGQcSCKtWD/dy+mgc4p2Tvo2qKgKHj9Yf+eniwFnuoQ0OUhlSfAEpKAFzF9N21Nwgnap6zy3L3MQ== -"@esbuild/darwin-arm64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.10.tgz#85601ee7efb2129cd3218d5bcbe8da1173bc1e8b" - integrity sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg== +"@esbuild/darwin-arm64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.11.tgz#0e8c78d94d5759a48521dbfd83189d2ed3499a16" + integrity sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw== -"@esbuild/darwin-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.10.tgz#362c7e988c61fe72d5edef4f717e4b4fc728da98" - integrity sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ== +"@esbuild/darwin-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.11.tgz#2405cfdf70eb961c7cf973463ca7263dc2004c88" + integrity sha512-iB0dQkIHXyczK3BZtzw1tqegf0F0Ab5texX2TvMQjiJIWXAfM4FQl7D909YfXWnB92OQz4ivBYQ2RlxBJrMJOw== -"@esbuild/freebsd-arm64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.10.tgz#e8a85a46ede7c3a048a12f16b9d551d25adc8bb1" - integrity sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ== +"@esbuild/freebsd-arm64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.11.tgz#d5138e873e15f87bd4564c024dfa00ef37e623fd" + integrity sha512-7EFzUADmI1jCHeDRGKgbnF5sDIceZsQGapoO6dmw7r/ZBEKX7CCDnIz8m9yEclzr7mFsd+DyasHzpjfJnmBB1Q== -"@esbuild/freebsd-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.10.tgz#cd0a1b68bffbcb5b65e65b3fd542e8c7c3edd86b" - integrity sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg== +"@esbuild/freebsd-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.11.tgz#e850b58b8fabf8e9ef0e125af3c25229ad2d6c38" + integrity sha512-iPgenptC8i8pdvkHQvXJFzc1eVMR7W2lBPrTE6GbhR54sLcF42mk3zBOjKPOodezzuAz/KSu8CPyFSjcBMkE9g== -"@esbuild/linux-arm64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.10.tgz#13b183f432512ed9d9281cc89476caeebe9e9123" - integrity sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA== +"@esbuild/linux-arm64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.11.tgz#2bfb93d0809ec2357c12ebb27736b750c9ae0aa5" + integrity sha512-Qxth3gsWWGKz2/qG2d5DsW/57SeA2AmpSMhdg9TSB5Svn2KDob3qxfQSkdnWjSd42kqoxIPy3EJFs+6w1+6Qjg== -"@esbuild/linux-arm@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.10.tgz#dd11e0a5faa3ea94dc80278a601c3be7b4fdf1da" - integrity sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA== +"@esbuild/linux-arm@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.11.tgz#e56fb3b76828317a704f4a167c5bd790fe5314e7" + integrity sha512-M9iK/d4lgZH0U5M1R2p2gqhPV/7JPJcRz+8O8GBKVgqndTzydQ7B2XGDbxtbvFkvIs53uXTobOhv+RyaqhUiMg== -"@esbuild/linux-ia32@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.10.tgz#4d836f87b92807d9292379963c4888270d282405" - integrity sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw== +"@esbuild/linux-ia32@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.11.tgz#59fa1c49b271793d14eb5effc757e8c0d0cb2cab" + integrity sha512-dB1nGaVWtUlb/rRDHmuDQhfqazWE0LMro/AIbT2lWM3CDMHJNpLckH+gCddQyhhcLac2OYw69ikUMO34JLt3wA== -"@esbuild/linux-loong64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.10.tgz#92eb2ee200c17ef12c7fb3b648231948699e7a4c" - integrity sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA== +"@esbuild/linux-loong64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.11.tgz#89575bc189099c03a36daa54f3f481780c7fd502" + integrity sha512-aCWlq70Q7Nc9WDnormntGS1ar6ZFvUpqr8gXtO+HRejRYPweAFQN615PcgaSJkZjhHp61+MNLhzyVALSF2/Q0g== -"@esbuild/linux-mips64el@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.10.tgz#14f7d50c40fe7f7ee545a9bd07c6f6e4cba5570e" - integrity sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg== +"@esbuild/linux-mips64el@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.11.tgz#0e18ca039dc7e4645efd8edc1b10952933eb6b1b" + integrity sha512-cGeGNdQxqY8qJwlYH1BP6rjIIiEcrM05H7k3tR7WxOLmD1ZxRMd6/QIOWMb8mD2s2YJFNRuNQ+wjMhgEL2oCEw== -"@esbuild/linux-ppc64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.10.tgz#1ab5802e93ae511ce9783e1cb95f37df0f84c4af" - integrity sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ== +"@esbuild/linux-ppc64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.11.tgz#2d152cb3a253afb8c100a165ad132dc96f36cb11" + integrity sha512-BdlziJQPW/bNe0E8eYsHB40mYOluS+jULPCjlWiHzDgr+ZBRXPtgMV1nkLEGdpjrwgmtkZHEGEPaKdS/8faLDA== -"@esbuild/linux-riscv64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.10.tgz#4fae25201ef7ad868731d16c8b50b0e386c4774a" - integrity sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ== +"@esbuild/linux-riscv64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.11.tgz#c6ac494a81221d53d65b33e665c7df1747952d3c" + integrity sha512-MDLwQbtF+83oJCI1Cixn68Et/ME6gelmhssPebC40RdJaect+IM+l7o/CuG0ZlDs6tZTEIoxUe53H3GmMn8oMA== -"@esbuild/linux-s390x@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.10.tgz#126254d8335bb3586918b1ca60beb4abb46e6d54" - integrity sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg== +"@esbuild/linux-s390x@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.11.tgz#4bad33894bc7415cea4be8fa90fe456226a424ad" + integrity sha512-4N5EMESvws0Ozr2J94VoUD8HIRi7X0uvUv4c0wpTHZyZY9qpaaN7THjosdiW56irQ4qnJ6Lsc+i+5zGWnyqWqQ== -"@esbuild/linux-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.10.tgz#7fa4667b2df81ea0538e1b75e607cf04e526ce91" - integrity sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg== +"@esbuild/linux-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.11.tgz#903fda743459f530a16a6c6ee8d2c0f6c1a12fc7" + integrity sha512-rM/v8UlluxpytFSmVdbCe1yyKQd/e+FmIJE2oPJvbBo+D0XVWi1y/NQ4iTNx+436WmDHQBjVLrbnAQLQ6U7wlw== -"@esbuild/netbsd-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.10.tgz#2d24727ddc2305619685bf237a46d6087a02ee9a" - integrity sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA== +"@esbuild/netbsd-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.11.tgz#b589239fe7d9b16ee03c5e191f3f5b640f1518a1" + integrity sha512-4WaAhuz5f91h3/g43VBGdto1Q+X7VEZfpcWGtOFXnggEuLvjV+cP6DyLRU15IjiU9fKLLk41OoJfBFN5DhPvag== -"@esbuild/openbsd-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.10.tgz#bf3fc38ee6ecf028c1f0cfe11f61d53cc75fef12" - integrity sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig== +"@esbuild/openbsd-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.11.tgz#b355019754116bef39ec688f8fd2fe6471b9779b" + integrity sha512-UBj135Nx4FpnvtE+C8TWGp98oUgBcmNmdYgl5ToKc0mBHxVVqVE7FUS5/ELMImOp205qDAittL6Ezhasc2Ev/w== -"@esbuild/sunos-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.10.tgz#8deabd6dfec6256f80bb101bc59d29dbae99c69b" - integrity sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg== +"@esbuild/sunos-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.11.tgz#2ea47fb592e68406e5025a7696dc714fc6a115dc" + integrity sha512-1/gxTifDC9aXbV2xOfCbOceh5AlIidUrPsMpivgzo8P8zUtczlq1ncFpeN1ZyQJ9lVs2hILy1PG5KPp+w8QPPg== -"@esbuild/win32-arm64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.10.tgz#1ec1ee04c788c4c57a83370b6abf79587b3e4965" - integrity sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg== +"@esbuild/win32-arm64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.11.tgz#47e6fdab17c4c52e6e0d606dd9cb843b29826325" + integrity sha512-vtSfyx5yRdpiOW9yp6Ax0zyNOv9HjOAw8WaZg3dF5djEHKKm3UnoohftVvIJtRh0Ec7Hso0RIdTqZvPXJ7FdvQ== -"@esbuild/win32-ia32@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.10.tgz#a362528d7f3ad5d44fa8710a96764677ef92ebe9" - integrity sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ== +"@esbuild/win32-ia32@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.11.tgz#a97273aa3164c8d8f501899f55cc75a4a79599a3" + integrity sha512-GFPSLEGQr4wHFTiIUJQrnJKZhZjjq4Sphf+mM76nQR6WkQn73vm7IsacmBRPkALfpOCHsopSvLgqdd4iUW2mYw== -"@esbuild/win32-x64@0.17.10": - version "0.17.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.10.tgz#ac779220f2da96afd480fb3f3148a292f66e7fc3" - integrity sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw== +"@esbuild/win32-x64@0.17.11": + version "0.17.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.11.tgz#9be796d93ae27b636da32d960899a4912bca27a1" + integrity sha512-N9vXqLP3eRL8BqSy8yn4Y98cZI2pZ8fyuHx6lKjiG2WABpT2l01TXdzq5Ma2ZUBzfB7tx5dXVhge8X9u0S70ZQ== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -835,33 +835,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.10: - version "0.17.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.10.tgz#3be050561b34c5dc05b46978f4e1f326d5cc9437" - integrity sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A== +esbuild@^0.17.11: + version "0.17.11" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.11.tgz#9f3122643b21d7e7731e42f18576c10bfa28152b" + integrity sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg== optionalDependencies: - "@esbuild/android-arm" "0.17.10" - "@esbuild/android-arm64" "0.17.10" - "@esbuild/android-x64" "0.17.10" - "@esbuild/darwin-arm64" "0.17.10" - "@esbuild/darwin-x64" "0.17.10" - "@esbuild/freebsd-arm64" "0.17.10" - "@esbuild/freebsd-x64" "0.17.10" - "@esbuild/linux-arm" "0.17.10" - "@esbuild/linux-arm64" "0.17.10" - "@esbuild/linux-ia32" "0.17.10" - "@esbuild/linux-loong64" "0.17.10" - "@esbuild/linux-mips64el" "0.17.10" - "@esbuild/linux-ppc64" "0.17.10" - "@esbuild/linux-riscv64" "0.17.10" - "@esbuild/linux-s390x" "0.17.10" - "@esbuild/linux-x64" "0.17.10" - "@esbuild/netbsd-x64" "0.17.10" - "@esbuild/openbsd-x64" "0.17.10" - "@esbuild/sunos-x64" "0.17.10" - "@esbuild/win32-arm64" "0.17.10" - "@esbuild/win32-ia32" "0.17.10" - "@esbuild/win32-x64" "0.17.10" + "@esbuild/android-arm" "0.17.11" + "@esbuild/android-arm64" "0.17.11" + "@esbuild/android-x64" "0.17.11" + "@esbuild/darwin-arm64" "0.17.11" + "@esbuild/darwin-x64" "0.17.11" + "@esbuild/freebsd-arm64" "0.17.11" + "@esbuild/freebsd-x64" "0.17.11" + "@esbuild/linux-arm" "0.17.11" + "@esbuild/linux-arm64" "0.17.11" + "@esbuild/linux-ia32" "0.17.11" + "@esbuild/linux-loong64" "0.17.11" + "@esbuild/linux-mips64el" "0.17.11" + "@esbuild/linux-ppc64" "0.17.11" + "@esbuild/linux-riscv64" "0.17.11" + "@esbuild/linux-s390x" "0.17.11" + "@esbuild/linux-x64" "0.17.11" + "@esbuild/netbsd-x64" "0.17.11" + "@esbuild/openbsd-x64" "0.17.11" + "@esbuild/sunos-x64" "0.17.11" + "@esbuild/win32-arm64" "0.17.11" + "@esbuild/win32-ia32" "0.17.11" + "@esbuild/win32-x64" "0.17.11" escape-string-regexp@^1.0.5: version "1.0.5" From 2a9cb638d68a8fd8a641344b33ebe882c167edf1 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Mon, 6 Mar 2023 20:17:33 +0100 Subject: [PATCH 030/251] remove ruby-progressbar --- Gemfile | 2 -- Gemfile.lock | 1 - 2 files changed, 3 deletions(-) diff --git a/Gemfile b/Gemfile index 2f617724..6217dfa4 100644 --- a/Gemfile +++ b/Gemfile @@ -42,8 +42,6 @@ gem "rolify", "~> 6.0" gem "dry-initializer", "~> 3.1" gem "dry-types", "~> 1.7" -gem "ruby-progressbar" - gem "pghero" gem "rails_admin" gem "sentry-rails" diff --git a/Gemfile.lock b/Gemfile.lock index d4c46024..15f9d8d3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -543,7 +543,6 @@ DEPENDENCIES rspec-sidekiq (~> 3.0) rubocop (~> 1.47) rubocop-rails (~> 2.18) - ruby-progressbar rubyzip (~> 2.3) sanitize sassc-rails From d51eabaf02d86b1cf9d932d91f5e90439b39605e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Mar 2023 19:40:04 +0000 Subject: [PATCH 031/251] Bump ruby-progressbar from 1.11.0 to 1.13.0 Bumps [ruby-progressbar](https://github.com/jfelchner/ruby-progressbar) from 1.11.0 to 1.13.0. - [Release notes](https://github.com/jfelchner/ruby-progressbar/releases) - [Changelog](https://github.com/jfelchner/ruby-progressbar/blob/master/CHANGELOG.md) - [Commits](https://github.com/jfelchner/ruby-progressbar/compare/releases/v1.11.0...releases/v1.13.0) --- updated-dependencies: - dependency-name: ruby-progressbar dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 15f9d8d3..3f9be02b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -395,7 +395,7 @@ GEM activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) - ruby-progressbar (1.11.0) + ruby-progressbar (1.13.0) ruby-vips (2.1.4) ffi (~> 1.12) rubyzip (2.3.2) From abff39557d68707a03d9711398bad463b7f413eb Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 7 Mar 2023 17:56:39 +0100 Subject: [PATCH 032/251] Allow multi-line comments --- app/assets/stylesheets/components/_comments.scss | 16 +++++++++------- .../features/answerbox/comment/index.ts | 2 +- .../features/answerbox/comment/new.ts | 4 +++- app/views/answerbox/_comments.html.haml | 11 +++++++---- config/locales/views.en.yml | 1 + 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/app/assets/stylesheets/components/_comments.scss b/app/assets/stylesheets/components/_comments.scss index fed1e673..68564eba 100644 --- a/app/assets/stylesheets/components/_comments.scss +++ b/app/assets/stylesheets/components/_comments.scss @@ -24,18 +24,20 @@ } &__input { - padding-right: 2.5rem; - &.is-invalid { background-image: none; } } - &__character-count { - position: absolute; - z-index: 5; - right: .5rem; - top: .5rem; + &__compose-wrapper { + display: flex; + } + + &__submit-wrapper { + display: flex; + flex-direction: column; + text-align: center; + margin-left: .5rem; } } diff --git a/app/javascript/retrospring/features/answerbox/comment/index.ts b/app/javascript/retrospring/features/answerbox/comment/index.ts index 5168fd57..e5ba00bd 100644 --- a/app/javascript/retrospring/features/answerbox/comment/index.ts +++ b/app/javascript/retrospring/features/answerbox/comment/index.ts @@ -13,6 +13,6 @@ export default (): void => { { type: 'click', target: '[data-action=ab-comment-destroy]', handler: commentDestroyHandler, global: true }, { type: 'compositionstart', target: '[name=ab-comment-new]', handler: commentComposeStart, global: true }, { type: 'compositionend', target: '[name=ab-comment-new]', handler: commentComposeEnd, global: true }, - { type: 'keyup', target: '[name=ab-comment-new]', handler: commentCreateHandler, global: true } + { type: 'keydown', target: '[name=ab-comment-new]', handler: commentCreateHandler, global: true } ]); } diff --git a/app/javascript/retrospring/features/answerbox/comment/new.ts b/app/javascript/retrospring/features/answerbox/comment/new.ts index 7bbb8043..4ecd14b2 100644 --- a/app/javascript/retrospring/features/answerbox/comment/new.ts +++ b/app/javascript/retrospring/features/answerbox/comment/new.ts @@ -16,7 +16,9 @@ export function commentCreateHandler(event: KeyboardEvent): boolean { const counter = document.querySelector(`#ab-comment-charcount-${id}`); const group = document.querySelector(`[name=ab-comment-new-group][data-a-id="${id}"]`); - if (event.which === 13) { + console.debug("comment create", event.ctrlKey, event.metaKey, event.which); + + if ((event.ctrlKey || event.metaKey) && event.which === 13) { event.preventDefault(); if (input.value.length > 512) { diff --git a/app/views/answerbox/_comments.html.haml b/app/views/answerbox/_comments.html.haml index ff77e2ee..c59070b5 100644 --- a/app/views/answerbox/_comments.html.haml +++ b/app/views/answerbox/_comments.html.haml @@ -25,10 +25,13 @@ %span.caret = render "actions/comment", comment: comment, answer: a - if user_signed_in? - .form-group.has-feedback.comment__input-group.input-group{ + .comment__compose-wrapper{ name: "ab-comment-new-group", data: { a_id: a.id, controller: "character-count", character_count_max_value: 512 } } - %input.form-control.comment__input{ type: :text, placeholder: t(".placeholder"), name: "ab-comment-new", data: { a_id: a.id, "character-count-target": "input" } } - %span.text-muted.form-control-feedback.comment__character-count{ id: "ab-comment-charcount-#{a.id}", data: { "character-count-target": "counter" } } 512 - %button.btn.btn-primary.d-none{ type: :button, name: "ab-comment-new-submit", data: { a_id: a.id, "character-count-target": "action" } }= t(".action") + .form-group.has-feedback.comment__input-group.input-group + %textarea.form-control.comment__input{ type: :text, placeholder: t(".placeholder"), name: "ab-comment-new", data: { a_id: a.id, "character-count-target": "input" } } + .comment__submit-wrapper + %button.btn.btn-primary{ type: :button, name: "ab-comment-new-submit", title: t(".action"), data: { a_id: a.id, "character-count-target": "action" } } + %i.fa.fa-paper-plane-o + %span.text-muted.form-control-feedback.comment__character-count{ id: "ab-comment-charcount-#{a.id}", data: { "character-count-target": "counter" } } 512 diff --git a/config/locales/views.en.yml b/config/locales/views.en.yml index ba7a2d65..422e2f79 100644 --- a/config/locales/views.en.yml +++ b/config/locales/views.en.yml @@ -120,6 +120,7 @@ en: comments: none: "There are no comments yet." placeholder: "Comment..." + action: "Post comment" smiles: none: "No one smiled this yet." application: From febcf42b613fd50b4a767096804a19d5157eefce Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 25 Feb 2023 15:44:51 +0100 Subject: [PATCH 033/251] Update PWA notification page on page load --- app/helpers/bootstrap_helper.rb | 3 ++- .../controllers/pwa_badge_controller.ts | 18 ++++++++++++++++++ .../retrospring/initializers/stimulus.ts | 2 ++ app/views/navigation/_desktop.html.haml | 2 +- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 app/javascript/retrospring/controllers/pwa_badge_controller.ts diff --git a/app/helpers/bootstrap_helper.rb b/app/helpers/bootstrap_helper.rb index 9445de93..730713f2 100644 --- a/app/helpers/bootstrap_helper.rb +++ b/app/helpers/bootstrap_helper.rb @@ -5,6 +5,7 @@ module BootstrapHelper options = { badge: nil, badge_color: nil, + badge_attr: {}, icon: nil, class: "" }.merge(options) @@ -29,7 +30,7 @@ module BootstrapHelper ("badge-pill" if options[:badge_pill]) ].compact.join(" ") - body += " #{content_tag(:span, options[:badge], class: badge_class)}".html_safe + body += " #{content_tag(:span, options[:badge], class: badge_class, **options[:badge_attr])}".html_safe end content_tag(:li, link_to(body.html_safe, path, class: "nav-link"), class: classes) diff --git a/app/javascript/retrospring/controllers/pwa_badge_controller.ts b/app/javascript/retrospring/controllers/pwa_badge_controller.ts new file mode 100644 index 00000000..3fccef3f --- /dev/null +++ b/app/javascript/retrospring/controllers/pwa_badge_controller.ts @@ -0,0 +1,18 @@ +import { Controller } from '@hotwired/stimulus'; + +export default class extends Controller { + isPwa: boolean; + badgeCapable: boolean; + + initialize(): void { + this.isPwa = window.matchMedia('(display-mode: standalone)').matches; + this.badgeCapable = "setAppBadge" in navigator; + } + + connect(): void { + if (this.isPwa && this.badgeCapable) { + const count = Number.parseInt(this.element.innerText); + navigator.setAppBadge(count); + } + } +} diff --git a/app/javascript/retrospring/initializers/stimulus.ts b/app/javascript/retrospring/initializers/stimulus.ts index 6239a1f9..b0c93d0f 100644 --- a/app/javascript/retrospring/initializers/stimulus.ts +++ b/app/javascript/retrospring/initializers/stimulus.ts @@ -10,6 +10,7 @@ import CapabilitiesController from "retrospring/controllers/capabilities_control import CropperController from "retrospring/controllers/cropper_controller"; import InboxSharingController from "retrospring/controllers/inbox_sharing_controller"; import ToastController from "retrospring/controllers/toast_controller"; +import PwaBadgeController from "retrospring/controllers/pwa_badge_controller"; /** * This module sets up Stimulus and our controllers @@ -29,6 +30,7 @@ export default function (): void { window['Stimulus'].register('cropper', CropperController); window['Stimulus'].register('format-popup', FormatPopupController); window['Stimulus'].register('inbox-sharing', InboxSharingController); + window['Stimulus'].register('pwa-badge', PwaBadgeController); window['Stimulus'].register('theme', ThemeController); window['Stimulus'].register('toast', ToastController); } diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index eb8aba63..4739226f 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -10,7 +10,7 @@ DEV %ul.nav.navbar-nav.me-auto = nav_entry t("navigation.timeline"), root_path, icon: 'home' - = nav_entry t("navigation.inbox"), '/inbox', icon: 'inbox', badge: inbox_count + = nav_entry t("navigation.inbox"), '/inbox', icon: 'inbox', badge: inbox_count, badge_attr: { data: { controller: "pwa-badge" } } - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? = nav_entry t("navigation.discover"), discover_path, icon: 'compass' %ul.nav.navbar-nav From 1ec5ffa6d23568490be6c636f8905c497f0b7ff4 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 25 Feb 2023 15:46:11 +0100 Subject: [PATCH 034/251] Cache inbox and notification counters --- app/helpers/application_helper.rb | 24 ------------------- app/models/inbox.rb | 8 ++++--- app/models/notification.rb | 2 +- app/models/user.rb | 1 + app/models/user/inbox_methods.rb | 17 +++++++++++++ app/models/user/notification_methods.rb | 14 +++++++++++ app/views/navigation/_main.html.haml | 6 +++-- ...ification_and_inbox_timestamps_to_users.rb | 10 ++++++++ db/schema.rb | 4 +++- 9 files changed, 55 insertions(+), 31 deletions(-) create mode 100644 app/models/user/notification_methods.rb create mode 100644 db/migrate/20230225143633_add_notification_and_inbox_timestamps_to_users.rb diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 5c69fa9c..b8cbeb15 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4,30 +4,6 @@ module ApplicationHelper include ApplicationHelper::GraphMethods include ApplicationHelper::TitleMethods - def inbox_count - return 0 unless user_signed_in? - - count = Inbox.select("COUNT(id) AS count") - .where(new: true) - .where(user_id: current_user.id) - .group(:user_id) - .order(:count) - .first - return nil if count.nil? - return nil unless count.count.positive? - - count.count - end - - def notification_count - return 0 unless user_signed_in? - - count = Notification.for(current_user).where(new: true).count - return nil unless count.positive? - - count - end - def privileged?(user) !current_user.nil? && ((current_user == user) || current_user.mod?) end diff --git a/app/models/inbox.rb b/app/models/inbox.rb index 8c8c602f..41372957 100644 --- a/app/models/inbox.rb +++ b/app/models/inbox.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Inbox < ApplicationRecord - belongs_to :user + belongs_to :user, touch: :inbox_updated_at belongs_to :question attr_accessor :returning @@ -29,7 +29,6 @@ class Inbox < ApplicationRecord def as_push_notification { - type: :inbox, title: I18n.t( "frontend.push_notifications.inbox.title", user: if question.author_is_anonymous @@ -39,7 +38,10 @@ class Inbox < ApplicationRecord end ), icon: question.author_is_anonymous ? "/icons/maskable_icon_x128.png" : question.user.profile_picture.url(:small), - body: question.content.truncate(Question::SHORT_QUESTION_MAX_LENGTH) + body: question.content.truncate(Question::SHORT_QUESTION_MAX_LENGTH), + data: { + click_url: "/inbox", + } } end end diff --git a/app/models/notification.rb b/app/models/notification.rb index 60890d17..34be42e1 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Notification < ApplicationRecord - belongs_to :recipient, class_name: "User" + belongs_to :recipient, class_name: "User", touch: :notifications_updated_at belongs_to :target, polymorphic: true class << self diff --git a/app/models/user.rb b/app/models/user.rb index 725582ef..92427a5d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -8,6 +8,7 @@ class User < ApplicationRecord # rubocop:disable Metrics/ClassLength include User::AnswerMethods include User::BanMethods include User::InboxMethods + include User::NotificationMethods include User::QuestionMethods include User::PushNotificationMethods include User::ReactionMethods diff --git a/app/models/user/inbox_methods.rb b/app/models/user/inbox_methods.rb index 1d961ce2..15276579 100644 --- a/app/models/user/inbox_methods.rb +++ b/app/models/user/inbox_methods.rb @@ -12,4 +12,21 @@ module User::InboxMethods .order(:created_at) .reverse_order end + + def unread_inbox_count + Rails.cache.fetch("#{inbox_cache_key}/unread_inbox_count") do + count = Inbox.select("COUNT(id) AS count") + .where(new: true) + .where(user_id: id) + .group(:user_id) + .order(:count) + .first + return nil if count.nil? + return nil unless count.count.positive? + + count.count + end + end + + def inbox_cache_key = "#{cache_key}-#{inbox_updated_at}" end diff --git a/app/models/user/notification_methods.rb b/app/models/user/notification_methods.rb new file mode 100644 index 00000000..d123f121 --- /dev/null +++ b/app/models/user/notification_methods.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module User::NotificationMethods + def unread_notification_count + Rails.cache.fetch("#{notification_cache_key}/unread_notification_count") do + count = Notification.for(self).where(new: true).count + return nil unless count.positive? + + count + end + end + + def notification_cache_key = "#{cache_key}-#{notifications_updated_at}" +end diff --git a/app/views/navigation/_main.html.haml b/app/views/navigation/_main.html.haml index 989717df..76baee17 100644 --- a/app/views/navigation/_main.html.haml +++ b/app/views/navigation/_main.html.haml @@ -1,6 +1,8 @@ - notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4) -= render 'navigation/desktop', notifications: notifications -= render 'navigation/mobile', notifications: notifications +- inbox_count = current_user.unread_inbox_count +- notification_count = current_user.unread_notification_count += render 'navigation/desktop', notifications:, inbox_count:, notification_count: += render 'navigation/mobile', inbox_count:, notification_count: = render 'modal/ask' %button.btn.btn-primary.btn-fab.d-block.d-lg-none.d-print-none{ data: { bs_target: "#modal-ask-followers", bs_toggle: :modal }, type: "button" } diff --git a/db/migrate/20230225143633_add_notification_and_inbox_timestamps_to_users.rb b/db/migrate/20230225143633_add_notification_and_inbox_timestamps_to_users.rb new file mode 100644 index 00000000..953a9207 --- /dev/null +++ b/db/migrate/20230225143633_add_notification_and_inbox_timestamps_to_users.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +class AddNotificationAndInboxTimestampsToUsers < ActiveRecord::Migration[6.1] + def change + change_table :users, bulk: true do |t| + t.timestamp :notifications_updated_at + t.timestamp :inbox_updated_at + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 4d54a933..3cabc240 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2023_02_18_142952) do +ActiveRecord::Schema.define(version: 2023_02_25_143633) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -364,6 +364,8 @@ ActiveRecord::Schema.define(version: 2023_02_18_142952) do t.boolean "sharing_enabled", default: false t.boolean "sharing_autoclose", default: false t.string "sharing_custom_url" + t.datetime "notifications_updated_at" + t.datetime "inbox_updated_at" t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true t.index ["email"], name: "index_users_on_email", unique: true t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true From 369ae1b3789423e5b69b363a6c235a32c978a65c Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 25 Feb 2023 15:46:34 +0100 Subject: [PATCH 035/251] Update PWA badge on push notification --- app/models/user/push_notification_methods.rb | 8 +++++++- public/service_worker.js | 15 +++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/models/user/push_notification_methods.rb b/app/models/user/push_notification_methods.rb index 01138633..fd8eae03 100644 --- a/app/models/user/push_notification_methods.rb +++ b/app/models/user/push_notification_methods.rb @@ -9,11 +9,17 @@ module User::PushNotificationMethods n.app = app n.registration_ids = [s.subscription.symbolize_keys] n.data = { - message: resource.as_push_notification.to_json + message: resource.as_push_notification.merge(notification_data).to_json, } n.save! PushNotificationWorker.perform_async(n.id) end end + + def notification_data = { + data: { + badge: current_user.unread_inbox_count, + }, + } end diff --git a/public/service_worker.js b/public/service_worker.js index 8662f085..3e88521c 100644 --- a/public/service_worker.js +++ b/public/service_worker.js @@ -11,27 +11,22 @@ const OFFLINE_CACHE_PATHS = [ self.addEventListener('push', function (event) { if (event.data) { - const notification = event.data.json(); + const contents = event.data.json(); + navigator.setAppBadge(contents.data.badge); - event.waitUntil(self.registration.showNotification(notification.title, { - body: notification.body, - tag: notification.type, - icon: notification.icon, - })); + event.waitUntil(self.registration.showNotification(contents.title, contents)); } else { console.error("Push event received, but it didn't contain any data.", event); } }); self.addEventListener('notificationclick', async event => { - if (event.notification.tag === 'inbox') { + if ("click_url" in event.notification.data) { event.preventDefault(); - return clients.openWindow("/inbox", "_blank").then(result => { + return clients.openWindow(event.notification.data.click_url, "_blank").then(result => { event.notification.close(); return result; }); - } else { - console.warn(`Unhandled notification tag: ${event.notification.tag}`); } }); From 68e0f02a2de9fce5d6aa7eaacf004dd13a62cb45 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 27 Feb 2023 18:45:49 +0100 Subject: [PATCH 036/251] Adapt tests to match new counter methods --- app/models/user/inbox_methods.rb | 19 ++++---- app/models/user/notification_methods.rb | 9 ++-- spec/helpers/application_helper_spec.rb | 44 ------------------- spec/models/user/inbox_methods_spec.rb | 29 ++++++++++++ spec/models/user/notification_methods_spec.rb | 31 +++++++++++++ 5 files changed, 74 insertions(+), 58 deletions(-) create mode 100644 spec/models/user/inbox_methods_spec.rb create mode 100644 spec/models/user/notification_methods_spec.rb diff --git a/app/models/user/inbox_methods.rb b/app/models/user/inbox_methods.rb index 15276579..8e3b00fe 100644 --- a/app/models/user/inbox_methods.rb +++ b/app/models/user/inbox_methods.rb @@ -14,19 +14,16 @@ module User::InboxMethods end def unread_inbox_count - Rails.cache.fetch("#{inbox_cache_key}/unread_inbox_count") do - count = Inbox.select("COUNT(id) AS count") - .where(new: true) - .where(user_id: id) - .group(:user_id) - .order(:count) - .first - return nil if count.nil? - return nil unless count.count.positive? + Rails.cache.fetch(inbox_cache_key) do + count = Inbox.where(new: true, user_id: id).count(:id) - count.count + # Returning +nil+ here in order to not display a counter + # at all when there isn't anything in the user's inbox + return nil unless count.positive? + + count end end - def inbox_cache_key = "#{cache_key}-#{inbox_updated_at}" + def inbox_cache_key = "#{cache_key}/unread_inbox_count-#{inbox_updated_at}" end diff --git a/app/models/user/notification_methods.rb b/app/models/user/notification_methods.rb index d123f121..db7e5018 100644 --- a/app/models/user/notification_methods.rb +++ b/app/models/user/notification_methods.rb @@ -2,13 +2,16 @@ module User::NotificationMethods def unread_notification_count - Rails.cache.fetch("#{notification_cache_key}/unread_notification_count") do - count = Notification.for(self).where(new: true).count + Rails.cache.fetch(notification_cache_key) do + count = Notification.for(self).where(new: true).count(:id) + + # Returning +nil+ here in order to not display a counter + # at all when there aren't any notifications return nil unless count.positive? count end end - def notification_cache_key = "#{cache_key}-#{notifications_updated_at}" + def notification_cache_key = "#{cache_key}/unread_notification_count-#{notifications_updated_at}" end diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index abec3188..15d7601b 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -3,50 +3,6 @@ require "rails_helper" describe ApplicationHelper, type: :helper do - describe "#inbox_count" do - context "no signed in user" do - it "should return 0 as inbox count" do - expect(helper.inbox_count).to eq(0) - end - end - - context "user is signed in" do - let(:user) { FactoryBot.create(:user) } - let(:question) { FactoryBot.create(:question) } - - before do - sign_in(user) - Inbox.create(user_id: user.id, question_id: question.id, new: true) - end - - it "should return the inbox count" do - expect(helper.inbox_count).to eq(1) - end - end - end - - describe "#notification_count" do - context "no signed in user" do - it "should return 0 as notification count" do - expect(helper.notification_count).to eq(0) - end - end - - context "user is signed in" do - let(:user) { FactoryBot.create(:user) } - let(:another_user) { FactoryBot.create(:user) } - - before do - sign_in(user) - another_user.follow(user) - end - - it "should return the notification count" do - expect(helper.notification_count).to eq(1) - end - end - end - describe "#privileged" do context "current user and checked user do not match" do let(:user) { FactoryBot.create(:user) } diff --git a/spec/models/user/inbox_methods_spec.rb b/spec/models/user/inbox_methods_spec.rb new file mode 100644 index 00000000..efa7d16e --- /dev/null +++ b/spec/models/user/inbox_methods_spec.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +require "rails_helper" + +describe User::InboxMethods do + context "given a user" do + let(:user) { FactoryBot.create(:user) } + + describe "#unread_inbox_count" do + subject { user.unread_inbox_count } + + context "user has no questions in their inbox" do + it "should return nil" do + expect(subject).to eq(nil) + end + end + + context "user has 1 question in their inbox" do + # FactoryBot seems to have issues with setting the +new+ field on inbox entries + # so we can create it manually instead + let!(:inbox) { Inbox.create(question: FactoryBot.create(:question), user:, new: true) } + + it "should return 1" do + expect(subject).to eq(1) + end + end + end + end +end diff --git a/spec/models/user/notification_methods_spec.rb b/spec/models/user/notification_methods_spec.rb new file mode 100644 index 00000000..550d3116 --- /dev/null +++ b/spec/models/user/notification_methods_spec.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +require "rails_helper" + +describe User::NotificationMethods do + context "given a user" do + let(:user) { FactoryBot.create(:user) } + + describe "#unread_notification_count" do + subject { user.unread_notification_count } + + context "user has no notifications" do + it "should return nil" do + expect(subject).to eq(nil) + end + end + + context "user has a notification" do + let(:other_user) { FactoryBot.create(:user) } + + before do + other_user.follow(user) + end + + it "should return 1" do + expect(subject).to eq(1) + end + end + end + end +end From 14379acbd38444c2881448ea1ad5f1613df4d852 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 4 Mar 2023 17:49:24 +0100 Subject: [PATCH 037/251] Fix incorrect access of `unread_inbox_count` in `notification_data` --- app/models/user/push_notification_methods.rb | 2 +- spec/workers/question_worker_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/user/push_notification_methods.rb b/app/models/user/push_notification_methods.rb index fd8eae03..b7b8f5d9 100644 --- a/app/models/user/push_notification_methods.rb +++ b/app/models/user/push_notification_methods.rb @@ -19,7 +19,7 @@ module User::PushNotificationMethods def notification_data = { data: { - badge: current_user.unread_inbox_count, + badge: unread_inbox_count, }, } end diff --git a/spec/workers/question_worker_spec.rb b/spec/workers/question_worker_spec.rb index 8070392b..0795e55b 100644 --- a/spec/workers/question_worker_spec.rb +++ b/spec/workers/question_worker_spec.rb @@ -78,7 +78,7 @@ describe QuestionWorker do user: receiver, subscription: { endpoint: "This will not be used", - keys: {} + keys: {}, } ) receiver.follow(user) From b93453dee48b4e2be68a3a12289140f2f5b43619 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 4 Mar 2023 17:50:53 +0100 Subject: [PATCH 038/251] Remove eager load from notifications Unsure of how this managed to work before but eager loading polymorphic associations is not possible in this way. --- app/models/notification.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/notification.rb b/app/models/notification.rb index 34be42e1..3e15eae4 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -11,11 +11,11 @@ class Notification < ApplicationRecord define_cursor_paginator :cursored_for_type, :for_type def for(recipient, **kwargs) - where(kwargs.merge!(recipient:)).includes(:target).order(:created_at).reverse_order + where(kwargs.merge!(recipient:)).order(:created_at).reverse_order end def for_type(recipient, type, **kwargs) - where(kwargs.merge!(recipient:)).includes(:target).where(type:).order(:created_at).reverse_order + where(kwargs.merge!(recipient:)).where(type:).order(:created_at).reverse_order end def notify(recipient, target) From d5c27dcfb4ef37ea8b999bfabd9d9be0a7292193 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 4 Mar 2023 17:51:07 +0100 Subject: [PATCH 039/251] Exclude caching timestamps from data exports --- lib/use_case/data_export/user.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/use_case/data_export/user.rb b/lib/use_case/data_export/user.rb index 4f7f8445..2bd4ceb1 100644 --- a/lib/use_case/data_export/user.rb +++ b/lib/use_case/data_export/user.rb @@ -13,6 +13,8 @@ module UseCase otp_secret_key reset_password_sent_at reset_password_token + inbox_updated_at + notifications_updated_at ].freeze IGNORED_FIELDS_PROFILES = %i[ From 3c052e9e0e894dbdb6cfdce7dbf80597081e64c6 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 4 Mar 2023 18:40:29 +0100 Subject: [PATCH 040/251] Fix trivial lint issues --- app/models/inbox.rb | 6 ++++-- app/views/navigation/_desktop.html.haml | 2 +- app/views/navigation/_main.html.haml | 13 +++++++------ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/models/inbox.rb b/app/models/inbox.rb index 41372957..6a74687f 100644 --- a/app/models/inbox.rb +++ b/app/models/inbox.rb @@ -27,6 +27,8 @@ class Inbox < ApplicationRecord self.destroy end + def notification_icon = question.author_is_anonymous ? "/icons/maskable_icon_x128.png" : question.user.profile_picture.url(:small) + def as_push_notification { title: I18n.t( @@ -37,11 +39,11 @@ class Inbox < ApplicationRecord question.user.profile.safe_name end ), - icon: question.author_is_anonymous ? "/icons/maskable_icon_x128.png" : question.user.profile_picture.url(:small), + icon: notification_icon, body: question.content.truncate(Question::SHORT_QUESTION_MAX_LENGTH), data: { click_url: "/inbox", - } + }, } end end diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index 4739226f..2d8093bc 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -10,7 +10,7 @@ DEV %ul.nav.navbar-nav.me-auto = nav_entry t("navigation.timeline"), root_path, icon: 'home' - = nav_entry t("navigation.inbox"), '/inbox', icon: 'inbox', badge: inbox_count, badge_attr: { data: { controller: "pwa-badge" } } + = nav_entry t("navigation.inbox"), "/inbox", icon: "inbox", badge: inbox_count, badge_attr: { data: { controller: "pwa-badge" } } - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? = nav_entry t("navigation.discover"), discover_path, icon: 'compass' %ul.nav.navbar-nav diff --git a/app/views/navigation/_main.html.haml b/app/views/navigation/_main.html.haml index 76baee17..a58e50b1 100644 --- a/app/views/navigation/_main.html.haml +++ b/app/views/navigation/_main.html.haml @@ -1,9 +1,10 @@ -- notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4) -- inbox_count = current_user.unread_inbox_count -- notification_count = current_user.unread_notification_count -= render 'navigation/desktop', notifications:, inbox_count:, notification_count: -= render 'navigation/mobile', inbox_count:, notification_count: +:ruby + notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4) + inbox_count = current_user.unread_inbox_count + notification_count = current_user.unread_notification_count += render "navigation/desktop", notifications:, inbox_count:, notification_count: += render "navigation/mobile", inbox_count:, notification_count: -= render 'modal/ask' += render "modal/ask" %button.btn.btn-primary.btn-fab.d-block.d-lg-none.d-print-none{ data: { bs_target: "#modal-ask-followers", bs_toggle: :modal }, type: "button" } %i.fa.fa-pencil-square-o From fc90b746c9ad91fdd03bb79a03c7d8f7e81f5744 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 7 Mar 2023 19:14:57 +0100 Subject: [PATCH 041/251] Remove debug --- app/javascript/retrospring/features/answerbox/comment/new.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/javascript/retrospring/features/answerbox/comment/new.ts b/app/javascript/retrospring/features/answerbox/comment/new.ts index 4ecd14b2..cdadf221 100644 --- a/app/javascript/retrospring/features/answerbox/comment/new.ts +++ b/app/javascript/retrospring/features/answerbox/comment/new.ts @@ -16,8 +16,6 @@ export function commentCreateHandler(event: KeyboardEvent): boolean { const counter = document.querySelector(`#ab-comment-charcount-${id}`); const group = document.querySelector(`[name=ab-comment-new-group][data-a-id="${id}"]`); - console.debug("comment create", event.ctrlKey, event.metaKey, event.which); - if ((event.ctrlKey || event.metaKey) && event.which === 13) { event.preventDefault(); From 4e150945e58aa53cb892c5db2f52713c883d1084 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Thu, 9 Mar 2023 20:08:15 +0100 Subject: [PATCH 042/251] typoed_email_validator: add new endings to the typo list --- app/validators/typoed_email_validator.rb | 1 + spec/models/user_spec.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/app/validators/typoed_email_validator.rb b/app/validators/typoed_email_validator.rb index e529e1fb..f2f8e5d7 100644 --- a/app/validators/typoed_email_validator.rb +++ b/app/validators/typoed_email_validator.rb @@ -22,6 +22,7 @@ class TypoedEmailValidator < ActiveModel::EachValidator gmali.com gmaul.com gnail.com + hornail.com hotamil.com hotmai.com hotmaill.com diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 01d3fc47..2981df53 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -130,6 +130,7 @@ RSpec.describe User, type: :model do include_examples "invalid email", "fritz.fantom@gmali.com" include_examples "invalid email", "fritz.fantom@gmaul.com" include_examples "invalid email", "fritz.fantom@gnail.com" + include_examples "invalid email", "fritz.fantom@hornail.com" include_examples "invalid email", "fritz.fantom@hotamil.com" include_examples "invalid email", "fritz.fantom@hotmai.com" include_examples "invalid email", "fritz.fantom@hotmailcom" From ceb55c656e31b36ba5ebcca5bba9a3ff75580c61 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 10 Mar 2023 21:06:11 +0100 Subject: [PATCH 043/251] Appease the dog overlords --- app/assets/stylesheets/components/_comments.scss | 2 +- app/views/answerbox/_comments.html.haml | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/components/_comments.scss b/app/assets/stylesheets/components/_comments.scss index 68564eba..9b0ff50d 100644 --- a/app/assets/stylesheets/components/_comments.scss +++ b/app/assets/stylesheets/components/_comments.scss @@ -37,7 +37,7 @@ display: flex; flex-direction: column; text-align: center; - margin-left: .5rem; + margin-left: 0.5rem; } } diff --git a/app/views/answerbox/_comments.html.haml b/app/views/answerbox/_comments.html.haml index c59070b5..70456738 100644 --- a/app/views/answerbox/_comments.html.haml +++ b/app/views/answerbox/_comments.html.haml @@ -32,6 +32,11 @@ .form-group.has-feedback.comment__input-group.input-group %textarea.form-control.comment__input{ type: :text, placeholder: t(".placeholder"), name: "ab-comment-new", data: { a_id: a.id, "character-count-target": "input" } } .comment__submit-wrapper - %button.btn.btn-primary{ type: :button, name: "ab-comment-new-submit", title: t(".action"), data: { a_id: a.id, "character-count-target": "action" } } + %button.btn.btn-primary{ + type: :button, + name: "ab-comment-new-submit", + title: t(".action"), + data: { a_id: a.id, "character-count-target": "action" } + } %i.fa.fa-paper-plane-o %span.text-muted.form-control-feedback.comment__character-count{ id: "ab-comment-charcount-#{a.id}", data: { "character-count-target": "counter" } } 512 From 9b3ec56437e14aff325c6e80d293d76867aef429 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Mar 2023 09:57:08 +0000 Subject: [PATCH 044/251] Bump database_cleaner from 2.0.1 to 2.0.2 Bumps [database_cleaner](https://github.com/DatabaseCleaner/database_cleaner) from 2.0.1 to 2.0.2. - [Release notes](https://github.com/DatabaseCleaner/database_cleaner/releases) - [Changelog](https://github.com/DatabaseCleaner/database_cleaner/blob/main/History.rdoc) - [Commits](https://github.com/DatabaseCleaner/database_cleaner/compare/v2.0.1...v2.0.2) --- updated-dependencies: - dependency-name: database_cleaner dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3f9be02b..45ed9d15 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -109,9 +109,9 @@ GEM crass (1.0.6) cssbundling-rails (1.1.2) railties (>= 6.0.0) - database_cleaner (2.0.1) - database_cleaner-active_record (~> 2.0.0) - database_cleaner-active_record (2.0.1) + database_cleaner (2.0.2) + database_cleaner-active_record (>= 2, < 3) + database_cleaner-active_record (2.1.0) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) From cf7070d148edd7fb18b3567d4309999715aeaa25 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Mar 2023 09:57:35 +0000 Subject: [PATCH 045/251] Bump rubocop from 1.47.0 to 1.48.1 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.47.0 to 1.48.1. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.47.0...v1.48.1) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 6217dfa4..485b018e 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.47" + gem "rubocop", "~> 1.48" gem "rubocop-rails", "~> 2.18" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 3f9be02b..71506508 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -274,7 +274,7 @@ GEM openssl (3.1.0) orm_adapter (0.5.0) parallel (1.22.1) - parser (3.2.1.0) + parser (3.2.1.1) ast (~> 2.4.1) pg (1.4.6) pghero (3.2.0) @@ -379,7 +379,7 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.47.0) + rubocop (1.48.1) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) @@ -541,7 +541,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.47) + rubocop (~> 1.48) rubocop-rails (~> 2.18) rubyzip (~> 2.3) sanitize From d274f947027a94a73d009b36311d0a0daf2d4e70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Mar 2023 09:57:54 +0000 Subject: [PATCH 046/251] Bump pghero from 3.2.0 to 3.3.0 Bumps [pghero](https://github.com/ankane/pghero) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/ankane/pghero/releases) - [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/pghero/compare/v3.2.0...v3.3.0) --- updated-dependencies: - dependency-name: pghero dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3f9be02b..b634d617 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -277,7 +277,7 @@ GEM parser (3.2.1.0) ast (~> 2.4.1) pg (1.4.6) - pghero (3.2.0) + pghero (3.3.0) activerecord (>= 6) prometheus-client (4.0.0) public_suffix (4.0.7) From 22d7dbcc224f836a84075686804b6fb0ae3d742f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Mar 2023 09:58:14 +0000 Subject: [PATCH 047/251] Bump rspec-mocks from 3.12.3 to 3.12.4 Bumps [rspec-mocks](https://github.com/rspec/rspec-mocks) from 3.12.3 to 3.12.4. - [Release notes](https://github.com/rspec/rspec-mocks/releases) - [Changelog](https://github.com/rspec/rspec-mocks/blob/main/Changelog.md) - [Commits](https://github.com/rspec/rspec-mocks/compare/v3.12.3...v3.12.4) --- updated-dependencies: - dependency-name: rspec-mocks dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3f9be02b..5b7e2be2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -364,7 +364,7 @@ GEM rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.12.3) + rspec-mocks (3.12.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-rails (6.0.1) From 890ced6849b8f4bdb45c9e87c34140dc8a6d3339 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Mar 2023 09:58:18 +0000 Subject: [PATCH 048/251] Bump sass from 1.58.3 to 1.59.2 Bumps [sass](https://github.com/sass/dart-sass) from 1.58.3 to 1.59.2. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.58.3...1.59.2) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 66bf51a3..c82322a0 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.58.3", + "sass": "^1.59.2", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^4.9.5" diff --git a/yarn.lock b/yarn.lock index f8502dda..4a75f683 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2110,10 +2110,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.58.3: - version "1.58.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.3.tgz#2348cc052061ba4f00243a208b09c40e031f270d" - integrity sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A== +sass@^1.59.2: + version "1.59.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.59.2.tgz#537f6d11614d4f20f97696f23ad358ee398b1937" + integrity sha512-jJyO6SmbzkJexF8MUorHx5tAilcgabioYxT/BHbY4+OvoqmbHxsYlrjZ8Adhqcgl6Zqwie0TgMXLCAmPFxXOuw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 089ed2b9e36c36b13913a3b8c095482cc8dfbf2b Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Tue, 14 Mar 2023 17:04:08 +0100 Subject: [PATCH 049/251] Bump rack from 2.2.6.3 to 2.2.6.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 59cb7e32..e1a22c93 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -287,7 +287,7 @@ GEM activesupport (>= 3.0.0) questiongenerator (1.1.0) racc (1.6.2) - rack (2.2.6.3) + rack (2.2.6.4) rack-test (2.0.2) rack (>= 1.3) rails (6.1.7.2) From cd7af83b37c202bfb85c887e3493e3dc29a14059 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Tue, 14 Mar 2023 17:04:57 +0100 Subject: [PATCH 050/251] Bump tldv-data from 1.0.2022121701 to 1.0.2023031000 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e1a22c93..31a99bce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -451,7 +451,7 @@ GEM timeout (0.3.1) tldv (0.1.0) tldv-data (~> 1.0) - tldv-data (1.0.2022121701) + tldv-data (1.0.2023031000) turbo-rails (1.4.0) actionpack (>= 6.0.0) activejob (>= 6.0.0) From af572d0683329ccab1bbcd6e8d31d481765d0bb8 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Tue, 14 Mar 2023 17:29:32 +0100 Subject: [PATCH 051/251] use GitHub Packages Container Registry instead of Docker Hub --- .github/workflows/build-image.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 32d8f2d0..319787e7 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -37,11 +37,12 @@ jobs: ;; esac - - name: Login to Docker Hub + - name: Login to registry uses: docker/login-action@v2 with: - username: ${{ vars.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} if: github.event_name != 'pull_request' - name: Build and push @@ -54,4 +55,4 @@ jobs: context: . file: Containerfile push: ${{ github.event_name != 'pull_request' }} - tags: retrospring/retrospring:${{ env.RETROSPRING_VERSION }} + tags: ghcr.io/retrospring/retrospring:${{ env.RETROSPRING_VERSION }} From ab0d482673f514b6e0582351bb15b7dc3cfad7b6 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Tue, 14 Mar 2023 18:18:52 +0100 Subject: [PATCH 052/251] Containerfile: add some labels --- Containerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Containerfile b/Containerfile index 2e740498..700b458e 100644 --- a/Containerfile +++ b/Containerfile @@ -2,6 +2,11 @@ FROM registry.opensuse.org/opensuse/leap:15.4 +LABEL org.opencontainers.image.title="Retrospring (production)" +LABEL org.opencontainers.image.description="Image containing everything to run Retrospring in production mode. Do not use this for development." +LABEL org.opencontainers.image.vendor="The Retrospring team" +LABEL org.opencontainers.image.url="https://github.com/Retrospring/retrospring" + ARG RETROSPRING_VERSION=2023.0131.1 ARG RUBY_VERSION=3.1.2 ARG RUBY_INSTALL_VERSION=0.9.0 From da186747ccc9d928a84797cd588bab44e8a19cc6 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 18 Mar 2023 15:24:36 +0100 Subject: [PATCH 053/251] Handle clicking the comment submit button --- .../features/answerbox/comment/index.ts | 5 +- .../features/answerbox/comment/new.ts | 98 +++++++++++-------- 2 files changed, 60 insertions(+), 43 deletions(-) diff --git a/app/javascript/retrospring/features/answerbox/comment/index.ts b/app/javascript/retrospring/features/answerbox/comment/index.ts index e5ba00bd..c98d043b 100644 --- a/app/javascript/retrospring/features/answerbox/comment/index.ts +++ b/app/javascript/retrospring/features/answerbox/comment/index.ts @@ -1,6 +1,6 @@ import registerEvents from "retrospring/utilities/registerEvents"; import { commentDestroyHandler } from "./destroy"; -import {commentComposeEnd, commentComposeStart, commentCreateHandler} from "./new"; +import { commentComposeEnd, commentComposeStart, commentCreateClickHandler, commentCreateKeyboardHandler } from "./new"; import { commentReportHandler } from "./report"; import { commentSmileHandler } from "./smile"; import { commentToggleHandler } from "./toggle"; @@ -13,6 +13,7 @@ export default (): void => { { type: 'click', target: '[data-action=ab-comment-destroy]', handler: commentDestroyHandler, global: true }, { type: 'compositionstart', target: '[name=ab-comment-new]', handler: commentComposeStart, global: true }, { type: 'compositionend', target: '[name=ab-comment-new]', handler: commentComposeEnd, global: true }, - { type: 'keydown', target: '[name=ab-comment-new]', handler: commentCreateHandler, global: true } + { type: 'keydown', target: '[name=ab-comment-new]', handler: commentCreateKeyboardHandler, global: true }, + { type: 'click', target: '[name=ab-comment-new-submit]', handler: commentCreateClickHandler, global: true } ]); } diff --git a/app/javascript/retrospring/features/answerbox/comment/new.ts b/app/javascript/retrospring/features/answerbox/comment/new.ts index cdadf221..154448e7 100644 --- a/app/javascript/retrospring/features/answerbox/comment/new.ts +++ b/app/javascript/retrospring/features/answerbox/comment/new.ts @@ -5,7 +5,50 @@ import { showNotification, showErrorNotification } from 'utilities/notifications let compositionJustEnded = false; -export function commentCreateHandler(event: KeyboardEvent): boolean { +function createComment(input: HTMLInputElement, id: string, counter: Element, group: Element) { + if (input.value.length > 512) { + group.classList.add('has-error'); + return true; + } + + input.disabled = true; + + post('/ajax/create_comment', { + body: { + answer: id, + comment: input.value + }, + contentType: 'application/json' + }) + .then(async response => { + const data = await response.json; + + if (data.success) { + document.querySelector(`#ab-comments-${id}`).innerHTML = data.render; + const commentCount = document.getElementById(`#ab-comment-count-${id}`); + if (commentCount) { + commentCount.innerHTML = data.count; + } + input.value = ''; + counter.innerHTML = String(512); + + const sub = document.querySelector(`[data-action=ab-submarine][data-a-id="${id}"]`); + sub.dataset.torpedo = "no" + sub.children[0].nextSibling.textContent = ' ' + I18n.translate('voc.unsubscribe'); + } + + showNotification(data.message, data.success); + }) + .catch(err => { + console.log(err); + showErrorNotification(I18n.translate('frontend.error.message')); + }) + .finally(() => { + input.disabled = false; + }); +} + +export function commentCreateKeyboardHandler(event: KeyboardEvent): boolean { if (compositionJustEnded && event.which == 13) { compositionJustEnded = false; return; @@ -19,49 +62,22 @@ export function commentCreateHandler(event: KeyboardEvent): boolean { if ((event.ctrlKey || event.metaKey) && event.which === 13) { event.preventDefault(); - if (input.value.length > 512) { - group.classList.add('has-error'); - return true; - } - - input.disabled = true; - - post('/ajax/create_comment', { - body: { - answer: id, - comment: input.value - }, - contentType: 'application/json' - }) - .then(async response => { - const data = await response.json; - - if (data.success) { - document.querySelector(`#ab-comments-${id}`).innerHTML = data.render; - const commentCount = document.getElementById(`#ab-comment-count-${id}`); - if (commentCount) { - commentCount.innerHTML = data.count; - } - input.value = ''; - counter.innerHTML = String(512); - - const sub = document.querySelector(`[data-action=ab-submarine][data-a-id="${id}"]`); - sub.dataset.torpedo = "no" - sub.children[0].nextSibling.textContent = ' ' + I18n.translate('voc.unsubscribe'); - } - - showNotification(data.message, data.success); - }) - .catch(err => { - console.log(err); - showErrorNotification(I18n.translate('frontend.error.message')); - }) - .finally(() => { - input.disabled = false; - }); + createComment(input, id, counter, group); } } +export function commentCreateClickHandler(event: MouseEvent): void { + event.preventDefault(); + + const button = event.target as HTMLButtonElement; + const id = button.dataset.aId; + const input = document.querySelector(`[name="ab-comment-new"][data-a-id="${id}"]`); + const counter = document.querySelector(`#ab-comment-charcount-${id}`); + const group = document.querySelector(`[name=ab-comment-new-group][data-a-id="${id}"]`); + + createComment(input, id, counter, group); +} + export function commentComposeStart(): boolean { compositionJustEnded = false; return true; From e10f2871613cc6723c9dd64359a388283c9ed7d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 09:57:37 +0000 Subject: [PATCH 054/251] Bump rails from 6.1.7.2 to 6.1.7.3 Bumps [rails](https://github.com/rails/rails) from 6.1.7.2 to 6.1.7.3. - [Release notes](https://github.com/rails/rails/releases) - [Commits](https://github.com/rails/rails/compare/v6.1.7.2...v6.1.7.3) --- updated-dependencies: - dependency-name: rails dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 108 +++++++++++++++++++++++++-------------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 31a99bce..da4f6edc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,40 +9,40 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.2) - actionpack (= 6.1.7.2) - activesupport (= 6.1.7.2) + actioncable (6.1.7.3) + actionpack (= 6.1.7.3) + activesupport (= 6.1.7.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.2) - actionpack (= 6.1.7.2) - activejob (= 6.1.7.2) - activerecord (= 6.1.7.2) - activestorage (= 6.1.7.2) - activesupport (= 6.1.7.2) + actionmailbox (6.1.7.3) + actionpack (= 6.1.7.3) + activejob (= 6.1.7.3) + activerecord (= 6.1.7.3) + activestorage (= 6.1.7.3) + activesupport (= 6.1.7.3) mail (>= 2.7.1) - actionmailer (6.1.7.2) - actionpack (= 6.1.7.2) - actionview (= 6.1.7.2) - activejob (= 6.1.7.2) - activesupport (= 6.1.7.2) + actionmailer (6.1.7.3) + actionpack (= 6.1.7.3) + actionview (= 6.1.7.3) + activejob (= 6.1.7.3) + activesupport (= 6.1.7.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.2) - actionview (= 6.1.7.2) - activesupport (= 6.1.7.2) + actionpack (6.1.7.3) + actionview (= 6.1.7.3) + activesupport (= 6.1.7.3) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.2) - actionpack (= 6.1.7.2) - activerecord (= 6.1.7.2) - activestorage (= 6.1.7.2) - activesupport (= 6.1.7.2) + actiontext (6.1.7.3) + actionpack (= 6.1.7.3) + activerecord (= 6.1.7.3) + activestorage (= 6.1.7.3) + activesupport (= 6.1.7.3) nokogiri (>= 1.8.5) - actionview (6.1.7.2) - activesupport (= 6.1.7.2) + actionview (6.1.7.3) + activesupport (= 6.1.7.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -50,26 +50,26 @@ GEM active_model_otp (2.3.1) activemodel rotp (~> 6.2.0) - activejob (6.1.7.2) - activesupport (= 6.1.7.2) + activejob (6.1.7.3) + activesupport (= 6.1.7.3) globalid (>= 0.3.6) - activemodel (6.1.7.2) - activesupport (= 6.1.7.2) + activemodel (6.1.7.3) + activesupport (= 6.1.7.3) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (6.1.7.2) - activemodel (= 6.1.7.2) - activesupport (= 6.1.7.2) - activestorage (6.1.7.2) - actionpack (= 6.1.7.2) - activejob (= 6.1.7.2) - activerecord (= 6.1.7.2) - activesupport (= 6.1.7.2) + activerecord (6.1.7.3) + activemodel (= 6.1.7.3) + activesupport (= 6.1.7.3) + activestorage (6.1.7.3) + actionpack (= 6.1.7.3) + activejob (= 6.1.7.3) + activerecord (= 6.1.7.3) + activesupport (= 6.1.7.3) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.2) + activesupport (6.1.7.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -288,22 +288,22 @@ GEM questiongenerator (1.1.0) racc (1.6.2) rack (2.2.6.4) - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) - rails (6.1.7.2) - actioncable (= 6.1.7.2) - actionmailbox (= 6.1.7.2) - actionmailer (= 6.1.7.2) - actionpack (= 6.1.7.2) - actiontext (= 6.1.7.2) - actionview (= 6.1.7.2) - activejob (= 6.1.7.2) - activemodel (= 6.1.7.2) - activerecord (= 6.1.7.2) - activestorage (= 6.1.7.2) - activesupport (= 6.1.7.2) + rails (6.1.7.3) + actioncable (= 6.1.7.3) + actionmailbox (= 6.1.7.3) + actionmailer (= 6.1.7.3) + actionpack (= 6.1.7.3) + actiontext (= 6.1.7.3) + actionview (= 6.1.7.3) + activejob (= 6.1.7.3) + activemodel (= 6.1.7.3) + activerecord (= 6.1.7.3) + activestorage (= 6.1.7.3) + activesupport (= 6.1.7.3) bundler (>= 1.15.0) - railties (= 6.1.7.2) + railties (= 6.1.7.3) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -323,9 +323,9 @@ GEM nested_form (~> 0.3) rails (>= 6.0, < 8) turbo-rails (~> 1.0) - railties (6.1.7.2) - actionpack (= 6.1.7.2) - activesupport (= 6.1.7.2) + railties (6.1.7.3) + actionpack (= 6.1.7.3) + activesupport (= 6.1.7.3) method_source rake (>= 12.2) thor (~> 1.0) From 83dba817902998e425b8ca8f358ecd8aa5f08b37 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 09:57:45 +0000 Subject: [PATCH 055/251] Bump esbuild from 0.17.11 to 0.17.12 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.11 to 0.17.12. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.11...v0.17.12) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index c82322a0..6995c1c0 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.11", + "esbuild": "^0.17.12", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 4a75f683..309d22c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.11.tgz#52c3e6cabc19c5e4c1c0c01cb58f0442338e1c14" - integrity sha512-QnK4d/zhVTuV4/pRM4HUjcsbl43POALU2zvBynmrrqZt9LPcLA3x1fTZPBg2RRguBQnJcnU059yKr+bydkntjg== +"@esbuild/android-arm64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.12.tgz#15a8e2b407d03989b899e325151dc2e96d19c620" + integrity sha512-WQ9p5oiXXYJ33F2EkE3r0FRDFVpEdcDiwNX3u7Xaibxfx6vQE0Sb8ytrfQsA5WO6kDn6mDfKLh6KrPBjvkk7xA== -"@esbuild/android-arm@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.11.tgz#f3fc768235aecbeb840d0049fdf13cd28592105f" - integrity sha512-CdyX6sRVh1NzFCsf5vw3kULwlAhfy9wVt8SZlrhQ7eL2qBjGbFhRBWkkAzuZm9IIEOCKJw4DXA6R85g+qc8RDw== +"@esbuild/android-arm@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.12.tgz#677a09297e1f4f37aba7b4fc4f31088b00484985" + integrity sha512-E/sgkvwoIfj4aMAPL2e35VnUJspzVYl7+M1B2cqeubdBhADV4uPon0KCc8p2G+LqSJ6i8ocYPCqY3A4GGq0zkQ== -"@esbuild/android-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.11.tgz#443ed47771a7e917e4282469ba350d117473550c" - integrity sha512-3PL3HKtsDIXGQcSCKtWD/dy+mgc4p2Tvo2qKgKHj9Yf+eniwFnuoQ0OUhlSfAEpKAFzF9N21Nwgnap6zy3L3MQ== +"@esbuild/android-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.12.tgz#b292729eef4e0060ae1941f6a021c4d2542a3521" + integrity sha512-m4OsaCr5gT+se25rFPHKQXARMyAehHTQAz4XX1Vk3d27VtqiX0ALMBPoXZsGaB6JYryCLfgGwUslMqTfqeLU0w== -"@esbuild/darwin-arm64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.11.tgz#0e8c78d94d5759a48521dbfd83189d2ed3499a16" - integrity sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw== +"@esbuild/darwin-arm64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.12.tgz#efa35318df931da05825894e1787b976d55adbe3" + integrity sha512-O3GCZghRIx+RAN0NDPhyyhRgwa19MoKlzGonIb5hgTj78krqp9XZbYCvFr9N1eUxg0ZQEpiiZ4QvsOQwBpP+lg== -"@esbuild/darwin-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.11.tgz#2405cfdf70eb961c7cf973463ca7263dc2004c88" - integrity sha512-iB0dQkIHXyczK3BZtzw1tqegf0F0Ab5texX2TvMQjiJIWXAfM4FQl7D909YfXWnB92OQz4ivBYQ2RlxBJrMJOw== +"@esbuild/darwin-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.12.tgz#e7b54bb3f6dc81aadfd0485cd1623c648157e64d" + integrity sha512-5D48jM3tW27h1qjaD9UNRuN+4v0zvksqZSPZqeSWggfMlsVdAhH3pwSfQIFJwcs9QJ9BRibPS4ViZgs3d2wsCA== -"@esbuild/freebsd-arm64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.11.tgz#d5138e873e15f87bd4564c024dfa00ef37e623fd" - integrity sha512-7EFzUADmI1jCHeDRGKgbnF5sDIceZsQGapoO6dmw7r/ZBEKX7CCDnIz8m9yEclzr7mFsd+DyasHzpjfJnmBB1Q== +"@esbuild/freebsd-arm64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.12.tgz#99a18a8579d6299c449566fe91d9b6a54cf2a591" + integrity sha512-OWvHzmLNTdF1erSvrfoEBGlN94IE6vCEaGEkEH29uo/VoONqPnoDFfShi41Ew+yKimx4vrmmAJEGNoyyP+OgOQ== -"@esbuild/freebsd-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.11.tgz#e850b58b8fabf8e9ef0e125af3c25229ad2d6c38" - integrity sha512-iPgenptC8i8pdvkHQvXJFzc1eVMR7W2lBPrTE6GbhR54sLcF42mk3zBOjKPOodezzuAz/KSu8CPyFSjcBMkE9g== +"@esbuild/freebsd-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.12.tgz#0e090190fede307fb4022f671791a50dd5121abd" + integrity sha512-A0Xg5CZv8MU9xh4a+7NUpi5VHBKh1RaGJKqjxe4KG87X+mTjDE6ZvlJqpWoeJxgfXHT7IMP9tDFu7IZ03OtJAw== -"@esbuild/linux-arm64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.11.tgz#2bfb93d0809ec2357c12ebb27736b750c9ae0aa5" - integrity sha512-Qxth3gsWWGKz2/qG2d5DsW/57SeA2AmpSMhdg9TSB5Svn2KDob3qxfQSkdnWjSd42kqoxIPy3EJFs+6w1+6Qjg== +"@esbuild/linux-arm64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.12.tgz#7fe2a69f8a1a7153fa2b0f44aabcadb59475c7e0" + integrity sha512-cK3AjkEc+8v8YG02hYLQIQlOznW+v9N+OI9BAFuyqkfQFR+DnDLhEM5N8QRxAUz99cJTo1rLNXqRrvY15gbQUg== -"@esbuild/linux-arm@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.11.tgz#e56fb3b76828317a704f4a167c5bd790fe5314e7" - integrity sha512-M9iK/d4lgZH0U5M1R2p2gqhPV/7JPJcRz+8O8GBKVgqndTzydQ7B2XGDbxtbvFkvIs53uXTobOhv+RyaqhUiMg== +"@esbuild/linux-arm@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.12.tgz#b87c76ebf1fe03e01fd6bb5cfc2f3c5becd5ee93" + integrity sha512-WsHyJ7b7vzHdJ1fv67Yf++2dz3D726oO3QCu8iNYik4fb5YuuReOI9OtA+n7Mk0xyQivNTPbl181s+5oZ38gyA== -"@esbuild/linux-ia32@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.11.tgz#59fa1c49b271793d14eb5effc757e8c0d0cb2cab" - integrity sha512-dB1nGaVWtUlb/rRDHmuDQhfqazWE0LMro/AIbT2lWM3CDMHJNpLckH+gCddQyhhcLac2OYw69ikUMO34JLt3wA== +"@esbuild/linux-ia32@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.12.tgz#9e9357090254524d32e6708883a47328f3037858" + integrity sha512-jdOBXJqcgHlah/nYHnj3Hrnl9l63RjtQ4vn9+bohjQPI2QafASB5MtHAoEv0JQHVb/xYQTFOeuHnNYE1zF7tYw== -"@esbuild/linux-loong64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.11.tgz#89575bc189099c03a36daa54f3f481780c7fd502" - integrity sha512-aCWlq70Q7Nc9WDnormntGS1ar6ZFvUpqr8gXtO+HRejRYPweAFQN615PcgaSJkZjhHp61+MNLhzyVALSF2/Q0g== +"@esbuild/linux-loong64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.12.tgz#9deb605f9e2c82f59412ddfefb4b6b96d54b5b5b" + integrity sha512-GTOEtj8h9qPKXCyiBBnHconSCV9LwFyx/gv3Phw0pa25qPYjVuuGZ4Dk14bGCfGX3qKF0+ceeQvwmtI+aYBbVA== -"@esbuild/linux-mips64el@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.11.tgz#0e18ca039dc7e4645efd8edc1b10952933eb6b1b" - integrity sha512-cGeGNdQxqY8qJwlYH1BP6rjIIiEcrM05H7k3tR7WxOLmD1ZxRMd6/QIOWMb8mD2s2YJFNRuNQ+wjMhgEL2oCEw== +"@esbuild/linux-mips64el@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.12.tgz#6ef170b974ddf5e6acdfa5b05f22b6e9dfd2b003" + integrity sha512-o8CIhfBwKcxmEENOH9RwmUejs5jFiNoDw7YgS0EJTF6kgPgcqLFjgoc5kDey5cMHRVCIWc6kK2ShUePOcc7RbA== -"@esbuild/linux-ppc64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.11.tgz#2d152cb3a253afb8c100a165ad132dc96f36cb11" - integrity sha512-BdlziJQPW/bNe0E8eYsHB40mYOluS+jULPCjlWiHzDgr+ZBRXPtgMV1nkLEGdpjrwgmtkZHEGEPaKdS/8faLDA== +"@esbuild/linux-ppc64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.12.tgz#1638d3d4acf1d34aaf37cf8908c2e1cefed16204" + integrity sha512-biMLH6NR/GR4z+ap0oJYb877LdBpGac8KfZoEnDiBKd7MD/xt8eaw1SFfYRUeMVx519kVkAOL2GExdFmYnZx3A== -"@esbuild/linux-riscv64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.11.tgz#c6ac494a81221d53d65b33e665c7df1747952d3c" - integrity sha512-MDLwQbtF+83oJCI1Cixn68Et/ME6gelmhssPebC40RdJaect+IM+l7o/CuG0ZlDs6tZTEIoxUe53H3GmMn8oMA== +"@esbuild/linux-riscv64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.12.tgz#135b6e9270a8e2de2b9094bb21a287517df520ef" + integrity sha512-jkphYUiO38wZGeWlfIBMB72auOllNA2sLfiZPGDtOBb1ELN8lmqBrlMiucgL8awBw1zBXN69PmZM6g4yTX84TA== -"@esbuild/linux-s390x@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.11.tgz#4bad33894bc7415cea4be8fa90fe456226a424ad" - integrity sha512-4N5EMESvws0Ozr2J94VoUD8HIRi7X0uvUv4c0wpTHZyZY9qpaaN7THjosdiW56irQ4qnJ6Lsc+i+5zGWnyqWqQ== +"@esbuild/linux-s390x@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.12.tgz#21e40830770c5d08368e300842bde382ce97d615" + integrity sha512-j3ucLdeY9HBcvODhCY4b+Ds3hWGO8t+SAidtmWu/ukfLLG/oYDMaA+dnugTVAg5fnUOGNbIYL9TOjhWgQB8W5g== -"@esbuild/linux-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.11.tgz#903fda743459f530a16a6c6ee8d2c0f6c1a12fc7" - integrity sha512-rM/v8UlluxpytFSmVdbCe1yyKQd/e+FmIJE2oPJvbBo+D0XVWi1y/NQ4iTNx+436WmDHQBjVLrbnAQLQ6U7wlw== +"@esbuild/linux-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.12.tgz#76c1c199871d48e1aaa47a762fb9e0dca52e1f7a" + integrity sha512-uo5JL3cgaEGotaqSaJdRfFNSCUJOIliKLnDGWaVCgIKkHxwhYMm95pfMbWZ9l7GeW9kDg0tSxcy9NYdEtjwwmA== -"@esbuild/netbsd-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.11.tgz#b589239fe7d9b16ee03c5e191f3f5b640f1518a1" - integrity sha512-4WaAhuz5f91h3/g43VBGdto1Q+X7VEZfpcWGtOFXnggEuLvjV+cP6DyLRU15IjiU9fKLLk41OoJfBFN5DhPvag== +"@esbuild/netbsd-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.12.tgz#c7c3b3017a4b938c76c35f66af529baf62eac527" + integrity sha512-DNdoRg8JX+gGsbqt2gPgkgb00mqOgOO27KnrWZtdABl6yWTST30aibGJ6geBq3WM2TIeW6COs5AScnC7GwtGPg== -"@esbuild/openbsd-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.11.tgz#b355019754116bef39ec688f8fd2fe6471b9779b" - integrity sha512-UBj135Nx4FpnvtE+C8TWGp98oUgBcmNmdYgl5ToKc0mBHxVVqVE7FUS5/ELMImOp205qDAittL6Ezhasc2Ev/w== +"@esbuild/openbsd-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.12.tgz#05d04217d980e049001afdbeacbb58d31bb5cefb" + integrity sha512-aVsENlr7B64w8I1lhHShND5o8cW6sB9n9MUtLumFlPhG3elhNWtE7M1TFpj3m7lT3sKQUMkGFjTQBrvDDO1YWA== -"@esbuild/sunos-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.11.tgz#2ea47fb592e68406e5025a7696dc714fc6a115dc" - integrity sha512-1/gxTifDC9aXbV2xOfCbOceh5AlIidUrPsMpivgzo8P8zUtczlq1ncFpeN1ZyQJ9lVs2hILy1PG5KPp+w8QPPg== +"@esbuild/sunos-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.12.tgz#cf3862521600e4eb6c440ec3bad31ed40fb87ef3" + integrity sha512-qbHGVQdKSwi0JQJuZznS4SyY27tYXYF0mrgthbxXrZI3AHKuRvU+Eqbg/F0rmLDpW/jkIZBlCO1XfHUBMNJ1pg== -"@esbuild/win32-arm64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.11.tgz#47e6fdab17c4c52e6e0d606dd9cb843b29826325" - integrity sha512-vtSfyx5yRdpiOW9yp6Ax0zyNOv9HjOAw8WaZg3dF5djEHKKm3UnoohftVvIJtRh0Ec7Hso0RIdTqZvPXJ7FdvQ== +"@esbuild/win32-arm64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.12.tgz#43dd7fb5be77bf12a1550355ab2b123efd60868e" + integrity sha512-zsCp8Ql+96xXTVTmm6ffvoTSZSV2B/LzzkUXAY33F/76EajNw1m+jZ9zPfNJlJ3Rh4EzOszNDHsmG/fZOhtqDg== -"@esbuild/win32-ia32@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.11.tgz#a97273aa3164c8d8f501899f55cc75a4a79599a3" - integrity sha512-GFPSLEGQr4wHFTiIUJQrnJKZhZjjq4Sphf+mM76nQR6WkQn73vm7IsacmBRPkALfpOCHsopSvLgqdd4iUW2mYw== +"@esbuild/win32-ia32@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.12.tgz#9940963d0bff4ea3035a84e2b4c6e41c5e6296eb" + integrity sha512-FfrFjR4id7wcFYOdqbDfDET3tjxCozUgbqdkOABsSFzoZGFC92UK7mg4JKRc/B3NNEf1s2WHxJ7VfTdVDPN3ng== -"@esbuild/win32-x64@0.17.11": - version "0.17.11" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.11.tgz#9be796d93ae27b636da32d960899a4912bca27a1" - integrity sha512-N9vXqLP3eRL8BqSy8yn4Y98cZI2pZ8fyuHx6lKjiG2WABpT2l01TXdzq5Ma2ZUBzfB7tx5dXVhge8X9u0S70ZQ== +"@esbuild/win32-x64@0.17.12": + version "0.17.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.12.tgz#3a11d13e9a5b0c05db88991b234d8baba1f96487" + integrity sha512-JOOxw49BVZx2/5tW3FqkdjSD/5gXYeVGPDcB0lvap0gLQshkh1Nyel1QazC+wNxus3xPlsYAgqU1BUmrmCvWtw== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -835,33 +835,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.11: - version "0.17.11" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.11.tgz#9f3122643b21d7e7731e42f18576c10bfa28152b" - integrity sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg== +esbuild@^0.17.12: + version "0.17.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.12.tgz#2ad7523bf1bc01881e9d904bc04e693bd3bdcf2f" + integrity sha512-bX/zHl7Gn2CpQwcMtRogTTBf9l1nl+H6R8nUbjk+RuKqAE3+8FDulLA+pHvX7aA7Xe07Iwa+CWvy9I8Y2qqPKQ== optionalDependencies: - "@esbuild/android-arm" "0.17.11" - "@esbuild/android-arm64" "0.17.11" - "@esbuild/android-x64" "0.17.11" - "@esbuild/darwin-arm64" "0.17.11" - "@esbuild/darwin-x64" "0.17.11" - "@esbuild/freebsd-arm64" "0.17.11" - "@esbuild/freebsd-x64" "0.17.11" - "@esbuild/linux-arm" "0.17.11" - "@esbuild/linux-arm64" "0.17.11" - "@esbuild/linux-ia32" "0.17.11" - "@esbuild/linux-loong64" "0.17.11" - "@esbuild/linux-mips64el" "0.17.11" - "@esbuild/linux-ppc64" "0.17.11" - "@esbuild/linux-riscv64" "0.17.11" - "@esbuild/linux-s390x" "0.17.11" - "@esbuild/linux-x64" "0.17.11" - "@esbuild/netbsd-x64" "0.17.11" - "@esbuild/openbsd-x64" "0.17.11" - "@esbuild/sunos-x64" "0.17.11" - "@esbuild/win32-arm64" "0.17.11" - "@esbuild/win32-ia32" "0.17.11" - "@esbuild/win32-x64" "0.17.11" + "@esbuild/android-arm" "0.17.12" + "@esbuild/android-arm64" "0.17.12" + "@esbuild/android-x64" "0.17.12" + "@esbuild/darwin-arm64" "0.17.12" + "@esbuild/darwin-x64" "0.17.12" + "@esbuild/freebsd-arm64" "0.17.12" + "@esbuild/freebsd-x64" "0.17.12" + "@esbuild/linux-arm" "0.17.12" + "@esbuild/linux-arm64" "0.17.12" + "@esbuild/linux-ia32" "0.17.12" + "@esbuild/linux-loong64" "0.17.12" + "@esbuild/linux-mips64el" "0.17.12" + "@esbuild/linux-ppc64" "0.17.12" + "@esbuild/linux-riscv64" "0.17.12" + "@esbuild/linux-s390x" "0.17.12" + "@esbuild/linux-x64" "0.17.12" + "@esbuild/netbsd-x64" "0.17.12" + "@esbuild/openbsd-x64" "0.17.12" + "@esbuild/sunos-x64" "0.17.12" + "@esbuild/win32-arm64" "0.17.12" + "@esbuild/win32-ia32" "0.17.12" + "@esbuild/win32-x64" "0.17.12" escape-string-regexp@^1.0.5: version "1.0.5" From 1d419f06378424c321b2135bdb4acc79f32fa746 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 09:57:57 +0000 Subject: [PATCH 056/251] Bump pghero from 3.3.0 to 3.3.1 Bumps [pghero](https://github.com/ankane/pghero) from 3.3.0 to 3.3.1. - [Release notes](https://github.com/ankane/pghero/releases) - [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/pghero/compare/v3.3.0...v3.3.1) --- updated-dependencies: - dependency-name: pghero dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 31a99bce..7cd07f9d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -277,7 +277,7 @@ GEM parser (3.2.1.1) ast (~> 2.4.1) pg (1.4.6) - pghero (3.3.0) + pghero (3.3.1) activerecord (>= 6) prometheus-client (4.0.0) public_suffix (4.0.7) From 71a25f723e304b67d7bbb44c4cb98c4ace3c9e7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 09:58:26 +0000 Subject: [PATCH 057/251] Bump stylelint-scss from 4.4.0 to 4.5.0 Bumps [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) from 4.4.0 to 4.5.0. - [Release notes](https://github.com/stylelint-scss/stylelint-scss/releases) - [Changelog](https://github.com/stylelint-scss/stylelint-scss/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint-scss/stylelint-scss/compare/v4.4.0...v4.5.0) --- updated-dependencies: - dependency-name: stylelint-scss dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c82322a0..9a46af9b 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", "stylelint-config-standard-scss": "^6.1.0", - "stylelint-scss": "^4.4.0" + "stylelint-scss": "^4.5.0" } } diff --git a/yarn.lock b/yarn.lock index 4a75f683..4587d97e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2313,10 +2313,10 @@ stylelint-config-standard@^29.0.0: dependencies: stylelint-config-recommended "^9.0.0" -stylelint-scss@^4.0.0, stylelint-scss@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.4.0.tgz#87ce9d049eff1ce67cce788780fbfda63099017e" - integrity sha512-Qy66a+/30aylFhPmUArHhVsHOun1qrO93LGT15uzLuLjWS7hKDfpFm34mYo1ndR4MCo8W4bEZM1+AlJRJORaaw== +stylelint-scss@^4.0.0, stylelint-scss@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.5.0.tgz#c270fff4f0dad65a7a39178be883062c6552482a" + integrity sha512-/+rQ8FePOiwT5xblOHkujYzRYfSjmE6HYhLpqJShL+9wH6/HaAVj4mWpXlpEsM3ZgIpOblG9Y+/BycSJzWgjNw== dependencies: lodash "^4.17.21" postcss-media-query-parser "^0.2.3" From 38f7f912e4a46c6ff6eec57dd95f821645a3f347 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 09:59:01 +0000 Subject: [PATCH 058/251] Bump sass from 1.59.2 to 1.59.3 Bumps [sass](https://github.com/sass/dart-sass) from 1.59.2 to 1.59.3. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.59.2...1.59.3) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c82322a0..dc90e561 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.59.2", + "sass": "^1.59.3", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^4.9.5" diff --git a/yarn.lock b/yarn.lock index 4a75f683..9a6a2291 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2110,10 +2110,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.59.2: - version "1.59.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.59.2.tgz#537f6d11614d4f20f97696f23ad358ee398b1937" - integrity sha512-jJyO6SmbzkJexF8MUorHx5tAilcgabioYxT/BHbY4+OvoqmbHxsYlrjZ8Adhqcgl6Zqwie0TgMXLCAmPFxXOuw== +sass@^1.59.3: + version "1.59.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.59.3.tgz#a1ddf855d75c70c26b4555df4403e1bbf8e4403f" + integrity sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From c29936967f57171254d6467c45d12a080fdc7582 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 10:01:57 +0000 Subject: [PATCH 059/251] Bump actions/checkout from 3.3.0 to 3.4.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.3.0...v3.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/build-image.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/lint.yml | 8 ++++---- .github/workflows/retrospring.yml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 319787e7..ba2aff4e 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -20,7 +20,7 @@ jobs: cancel-in-progress: true steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - name: Discover build-time variables run: | diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 7238441c..fc9dda4f 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -33,7 +33,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.4.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4a10b556..6af716e7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: name: Rubocop runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -37,7 +37,7 @@ jobs: name: ESLint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -63,7 +63,7 @@ jobs: haml-lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -86,7 +86,7 @@ jobs: stylelint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 diff --git a/.github/workflows/retrospring.yml b/.github/workflows/retrospring.yml index d22a2768..9b0f6cda 100644 --- a/.github/workflows/retrospring.yml +++ b/.github/workflows/retrospring.yml @@ -41,7 +41,7 @@ jobs: BUNDLE_WITHOUT: 'production' steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - name: Install dependencies run: sudo apt update && sudo apt-get install -y libpq-dev libxml2-dev libxslt1-dev libmagickwand-dev imagemagick libidn11-dev - name: Set up Ruby From 9b5b4c110124fcc14a059782718b85748fddf9ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 10:14:57 +0000 Subject: [PATCH 060/251] Bump typescript from 4.9.5 to 5.0.2 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.5 to 5.0.2. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.5...v5.0.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2ba7c942..2a31f6b3 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "sass": "^1.59.3", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", - "typescript": "^4.9.5" + "typescript": "^5.0.2" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", diff --git a/yarn.lock b/yarn.lock index c38c20ff..60fecbb7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2507,10 +2507,10 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -typescript@^4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" + integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== unbox-primitive@^1.0.1: version "1.0.1" From 765397d8130ce3177cf99b84f487c2d4808d07e3 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Mon, 20 Feb 2023 21:06:10 +0100 Subject: [PATCH 061/251] filter out non-anon questions from blocked/muted users in home timeline --- app/models/user/relationship/block.rb | 20 +++- app/models/user/relationship/mute.rb | 26 +++++- app/models/user/timeline_methods.rb | 12 ++- spec/models/user_spec.rb | 126 +++++++++++++++++++++++++- 4 files changed, 177 insertions(+), 7 deletions(-) diff --git a/app/models/user/relationship/block.rb b/app/models/user/relationship/block.rb index 674fdb46..01cd25ed 100644 --- a/app/models/user/relationship/block.rb +++ b/app/models/user/relationship/block.rb @@ -21,12 +21,16 @@ class User raise Errors::BlockingSelf if target_user == self unfollow_and_remove(target_user) - create_relationship(active_block_relationships, target_user) + create_relationship(active_block_relationships, target_user).tap do + expire_blocked_user_ids_cache + end end # Unblock an user def unblock(target_user) - destroy_relationship(active_block_relationships, target_user) + destroy_relationship(active_block_relationships, target_user).tap do + expire_blocked_user_ids_cache + end end # Is self blocking target_user? @@ -34,6 +38,16 @@ class User relationship_active?(blocked_users, target_user) end + # Expire the blocked user ids cache + def expire_blocked_user_ids_cache = Rails.cache.delete(cache_key_blocked_user_ids) + + # Cached ids of the blocked users + def blocked_user_ids_cached + Rails.cache.fetch(cache_key_blocked_user_ids, expires_in: 1.hour) do + blocked_user_ids + end + end + private def unfollow_and_remove(target_user) @@ -43,6 +57,8 @@ class User inboxes.joins(:question).where(questions: { user_id: target_user.id, author_is_anonymous: false }).destroy_all ListMember.joins(:list).where(list: { user_id: target_user.id }, user_id: id).destroy_all end + + def cache_key_blocked_user_ids = "#{cache_key}/blocked_user_ids" end end end diff --git a/app/models/user/relationship/mute.rb b/app/models/user/relationship/mute.rb index 08fe286e..58e2b0a1 100644 --- a/app/models/user/relationship/mute.rb +++ b/app/models/user/relationship/mute.rb @@ -16,19 +16,41 @@ class User has_many :muted_by_users, through: :passive_mute_relationships, source: :source end + # Mute an user def mute(target_user) raise Errors::MutingSelf if target_user == self - create_relationship(active_mute_relationships, target_user) + create_relationship(active_mute_relationships, target_user).tap do + expire_muted_user_ids_cache + end end + # Unmute an user def unmute(target_user) - destroy_relationship(active_mute_relationships, target_user) + destroy_relationship(active_mute_relationships, target_user).tap do + expire_muted_user_ids_cache + end end + # Is self muting target_user? def muting?(target_user) relationship_active?(muted_users, target_user) end + + # Expires the muted user ids cache + def expire_muted_user_ids_cache = Rails.cache.delete(cache_key_muted_user_ids) + + # Cached ids of the muted users + def muted_user_ids_cached + Rails.cache.fetch(cache_key_muted_user_ids, expires_in: 1.hour) do + muted_user_ids + end + end + + private + + # Cache key for the muted_user_ids + def cache_key_muted_user_ids = "#{cache_key}/muted_user_ids" end end end diff --git a/app/models/user/timeline_methods.rb b/app/models/user/timeline_methods.rb index a0fa8c55..822f9d8f 100644 --- a/app/models/user/timeline_methods.rb +++ b/app/models/user/timeline_methods.rb @@ -8,7 +8,17 @@ module User::TimelineMethods # @return [ActiveRecord::Relation] the user's timeline def timeline Answer - .where("user_id in (?) OR user_id = ?", following_ids, id) + .then do |query| + blocked_and_muted_user_ids = blocked_user_ids_cached + muted_user_ids_cached + next query if blocked_and_muted_user_ids.empty? + + # build a more complex query if we block or mute someone + # otherwise the query ends up as "anon OR (NOT anon AND user_id NOT IN (NULL))" which will only return anonymous questions + query + .joins(:question) + .where("questions.author_is_anonymous OR (NOT questions.author_is_anonymous AND questions.user_id NOT IN (?))", blocked_and_muted_user_ids) + end + .where("answers.user_id in (?) OR answers.user_id = ?", following_ids, id) .order(:created_at) .reverse_order .includes(comments: %i[user smiles], question: { user: :profile }, user: [:profile], smiles: [:user]) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 2981df53..4097c4a2 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -69,7 +69,7 @@ RSpec.describe User, type: :model do describe "email validation" do subject do - FactoryBot.build(:user, email: email).tap(&:validate).errors[:email] + FactoryBot.build(:user, email:).tap(&:validate).errors[:email] end shared_examples_for "valid email" do |example_email| @@ -211,12 +211,134 @@ RSpec.describe User, type: :model do expect(subject).to eq(expected) end end + + context "user follows users with answers to questions from blocked or muted users" do + let(:blocked_user) { FactoryBot.create(:user) } + let(:muted_user) { FactoryBot.create(:user) } + let(:user1) { FactoryBot.create(:user) } + let(:user2) { FactoryBot.create(:user) } + let!(:answer_to_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a true anonymous coward", + question: FactoryBot.create( + :question, + author_is_anonymous: true + ) + ) + end + let!(:answer_to_normal_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a normal user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_normal_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a cowardly user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: true + ) + ) + end + let!(:answer_to_blocked_user) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_blocked_user_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user who's a coward", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: true + ) + ) + end + let!(:answer_to_muted_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_muted_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user who's a coward", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: true + ) + ) + end + + before do + me.follow user1 + me.follow user2 + end + + it "includes all answers to questions the user follows" do + expect(subject).to include(answer_to_anonymous) + expect(subject).to include(answer_to_normal_user) + expect(subject).to include(answer_to_normal_user_anonymous) + expect(subject).to include(answer_to_blocked_user_anonymous) + expect(subject).to include(answer_to_muted_user_anonymous) + expect(subject).to include(answer_to_blocked_user) + expect(subject).to include(answer_to_muted_user) + end + + context "when blocking and muting some users" do + before do + me.block blocked_user + me.mute muted_user + end + + it "only includes answers to questions from users the user doesn't block or mute" do + expect(subject).to include(answer_to_anonymous) + expect(subject).to include(answer_to_normal_user) + expect(subject).to include(answer_to_normal_user_anonymous) + expect(subject).to include(answer_to_blocked_user_anonymous) + expect(subject).to include(answer_to_muted_user_anonymous) + expect(subject).not_to include(answer_to_blocked_user) + expect(subject).not_to include(answer_to_muted_user) + end + end + end end describe "#cursored_timeline" do let(:last_id) { nil } - subject { me.cursored_timeline(last_id: last_id, size: 3) } + subject { me.cursored_timeline(last_id:, size: 3) } context "user answered nothing and is not following anyone" do include_examples "result is blank" From f1a1321a25a12a1126416738160c287576964dda Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Mon, 20 Feb 2023 21:27:24 +0100 Subject: [PATCH 062/251] filter out non-anon questions from blocked/muted users in list timeline --- app/controllers/timeline_controller.rb | 2 +- app/models/list/timeline_methods.rb | 18 ++- spec/models/list_spec.rb | 185 ++++++++++++++++++++++--- 3 files changed, 184 insertions(+), 21 deletions(-) diff --git a/app/controllers/timeline_controller.rb b/app/controllers/timeline_controller.rb index 14a27a5c..30c3fc48 100644 --- a/app/controllers/timeline_controller.rb +++ b/app/controllers/timeline_controller.rb @@ -11,7 +11,7 @@ class TimelineController < ApplicationController def list @title = list_title(@list) - paginate_timeline { |args| @list.cursored_timeline(**args) } + paginate_timeline { |args| @list.cursored_timeline(**args, current_user:) } end def public diff --git a/app/models/list/timeline_methods.rb b/app/models/list/timeline_methods.rb index 3cf68e5e..7909d544 100644 --- a/app/models/list/timeline_methods.rb +++ b/app/models/list/timeline_methods.rb @@ -6,7 +6,21 @@ module List::TimelineMethods define_cursor_paginator :cursored_timeline, :timeline # @return [Array] the lists' timeline - def timeline - Answer.where('user_id in (?)', members.pluck(:user_id)).order(:created_at).reverse_order + def timeline(current_user: nil) + Answer + .then do |query| + next query unless current_user + + blocked_and_muted_user_ids = current_user.blocked_user_ids_cached + current_user.muted_user_ids_cached + next query if blocked_and_muted_user_ids.empty? + + # build a more complex query if we block or mute someone + # otherwise the query ends up as "anon OR (NOT anon AND user_id NOT IN (NULL))" which will only return anonymous questions + query + .joins(:question) + .where("questions.author_is_anonymous OR (NOT questions.author_is_anonymous AND questions.user_id NOT IN (?))", blocked_and_muted_user_ids) + .where.not(answers: { user_id: blocked_and_muted_user_ids }) + end + .where(answers: { user_id: members.pluck(:user_id) }).order(:created_at).reverse_order end end diff --git a/spec/models/list_spec.rb b/spec/models/list_spec.rb index 4732d873..8e5068dd 100644 --- a/spec/models/list_spec.rb +++ b/spec/models/list_spec.rb @@ -1,24 +1,24 @@ # frozen_string_literal: true -require 'rails_helper' +require "rails_helper" RSpec.describe(List, type: :model) do - let(:user) { FactoryBot.build(:user) } + let(:user) { FactoryBot.create(:user) } - describe 'name mangling' do + describe "name mangling" do subject do - List.new(user: user, display_name: display_name).tap(&:validate) + List.new(user:, display_name:).tap(&:validate) end { - 'great list' => 'great-list', - 'followers' => '-followers-', - ' followers ' => '-followers-', - " the game \t\nyes" => 'the-game-yes', + "great list" => "great-list", + "followers" => "-followers-", + " followers " => "-followers-", + " the game \t\nyes" => "the-game-yes", # not nice, but this is just the way it is: - "\u{1f98a} :3" => '3', - "\u{1f98a}" => '' + "\u{1f98a} :3" => "3", + "\u{1f98a}" => "", }.each do |display_name, expected_name| context "when display name is #{display_name.inspect}" do let(:display_name) { display_name } @@ -28,31 +28,31 @@ RSpec.describe(List, type: :model) do end end - describe 'validations' do + describe "validations" do subject do - List.new(user: user, display_name: display_name).validate + List.new(user:, display_name:).validate end context "when display name is 'great list' (valid)" do - let(:display_name) { 'great list' } + let(:display_name) { "great list" } it { is_expected.to be true } end context "when display name is '1' (valid)" do - let(:display_name) { '1' } + let(:display_name) { "1" } it { is_expected.to be true } end - context 'when display name is the letter E 621 times (invalid, too long)' do - let(:display_name) { 'E' * 621 } + context "when display name is the letter E 621 times (invalid, too long)" do + let(:display_name) { "E" * 621 } it { is_expected.to be false } end - context 'when display name is an empty string (invalid, as `name` would be empty)' do - let(:display_name) { '' } + context "when display name is an empty string (invalid, as `name` would be empty)" do + let(:display_name) { "" } it { is_expected.to be false } end @@ -63,4 +63,153 @@ RSpec.describe(List, type: :model) do it { is_expected.to be false } end end + + describe "#timeline" do + let(:list) { List.create(user:, display_name: "test list") } + let(:user1) { FactoryBot.create(:user) } + let(:user2) { FactoryBot.create(:user) } + + let(:blocked_user) { FactoryBot.create(:user) } + let(:muted_user) { FactoryBot.create(:user) } + let!(:answer_to_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a true anonymous coward", + question: FactoryBot.create( + :question, + author_is_anonymous: true + ) + ) + end + let!(:answer_to_normal_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a normal user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_normal_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a cowardly user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: true + ) + ) + end + let!(:answer_from_blocked_user) do + FactoryBot.create( + :answer, + user: blocked_user, + content: "answer from a blocked user", + question: FactoryBot.create(:question) + ) + end + let!(:answer_to_blocked_user) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_blocked_user_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user who's a coward", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: true + ) + ) + end + let!(:answer_from_muted_user) do + FactoryBot.create( + :answer, + user: muted_user, + content: "answer from a muted user", + question: FactoryBot.create(:question) + ) + end + let!(:answer_to_muted_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_muted_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user who's a coward", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: true + ) + ) + end + + before do + list.add_member user1 + list.add_member user2 + list.add_member blocked_user + list.add_member muted_user + + # block it here already, to test behaviour without a `current_user` passed in + user.block blocked_user + user.mute muted_user + end + + subject { list.timeline } + + it "includes all answers to questions from users in the list" do + expect(subject).to include(answer_to_anonymous) + expect(subject).to include(answer_to_normal_user) + expect(subject).to include(answer_to_normal_user_anonymous) + expect(subject).to include(answer_to_blocked_user_anonymous) + expect(subject).to include(answer_to_muted_user_anonymous) + expect(subject).to include(answer_to_blocked_user) + expect(subject).to include(answer_to_muted_user) + expect(subject).to include(answer_from_blocked_user) + expect(subject).to include(answer_from_muted_user) + end + + context "when given a current user who blocks and mutes some users" do + subject { list.timeline current_user: user } + + it "only includes answers to questions from users the user doesn't block or mute" do + expect(subject).to include(answer_to_anonymous) + expect(subject).to include(answer_to_normal_user) + expect(subject).to include(answer_to_normal_user_anonymous) + expect(subject).to include(answer_to_blocked_user_anonymous) + expect(subject).to include(answer_to_muted_user_anonymous) + expect(subject).not_to include(answer_to_blocked_user) + expect(subject).not_to include(answer_from_blocked_user) + expect(subject).not_to include(answer_to_muted_user) + expect(subject).not_to include(answer_from_muted_user) + end + end + end end From 920187bc88c6efb5e51380e14bc8b2fbbffff36a Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Mon, 20 Feb 2023 21:38:50 +0100 Subject: [PATCH 063/251] filter out non-anon questions from blocked/muted users in public timeline --- app/controllers/timeline_controller.rb | 2 +- app/models/answer/timeline_methods.rb | 15 ++- spec/models/answer_spec.rb | 145 ++++++++++++++++++++++++- 3 files changed, 159 insertions(+), 3 deletions(-) diff --git a/app/controllers/timeline_controller.rb b/app/controllers/timeline_controller.rb index 30c3fc48..4445af6a 100644 --- a/app/controllers/timeline_controller.rb +++ b/app/controllers/timeline_controller.rb @@ -16,7 +16,7 @@ class TimelineController < ApplicationController def public @title = generate_title(t(".title")) - paginate_timeline { |args| Answer.cursored_public_timeline(**args) } + paginate_timeline { |args| Answer.cursored_public_timeline(**args, current_user:) } end private diff --git a/app/models/answer/timeline_methods.rb b/app/models/answer/timeline_methods.rb index 732ba2bd..8c6085bf 100644 --- a/app/models/answer/timeline_methods.rb +++ b/app/models/answer/timeline_methods.rb @@ -5,8 +5,21 @@ module Answer::TimelineMethods define_cursor_paginator :cursored_public_timeline, :public_timeline - def public_timeline + def public_timeline(current_user: nil) joins(:user) + .then do |query| + next query unless current_user + + blocked_and_muted_user_ids = current_user.blocked_user_ids_cached + current_user.muted_user_ids_cached + next query if blocked_and_muted_user_ids.empty? + + # build a more complex query if we block or mute someone + # otherwise the query ends up as "anon OR (NOT anon AND user_id NOT IN (NULL))" which will only return anonymous questions + query + .joins(:question) + .where("questions.author_is_anonymous OR (NOT questions.author_is_anonymous AND questions.user_id NOT IN (?))", blocked_and_muted_user_ids) + .where.not(answers: { user_id: blocked_and_muted_user_ids }) + end .where(users: { privacy_allow_public_timeline: true }) .order(:created_at) .reverse_order diff --git a/spec/models/answer_spec.rb b/spec/models/answer_spec.rb index 12fc9ed4..cd6654c4 100644 --- a/spec/models/answer_spec.rb +++ b/spec/models/answer_spec.rb @@ -23,7 +23,7 @@ describe Answer, type: :model do context "user has the question in their inbox" do before do - Inbox.create(user: user, question: question, new: true) + Inbox.create(user:, question:, new: true) end it "should remove the question from the user's inbox" do @@ -91,4 +91,147 @@ describe Answer, type: :model do expect { subject.destroy }.to change { question.answer_count }.by(-1) end end + + describe ".public_timeline" do + let(:user) { FactoryBot.create(:user) } + let(:user1) { FactoryBot.create(:user) } + let(:user2) { FactoryBot.create(:user) } + + let(:blocked_user) { FactoryBot.create(:user) } + let(:muted_user) { FactoryBot.create(:user) } + let!(:answer_to_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a true anonymous coward", + question: FactoryBot.create( + :question, + author_is_anonymous: true + ) + ) + end + let!(:answer_to_normal_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a normal user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_normal_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a cowardly user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: true + ) + ) + end + let!(:answer_from_blocked_user) do + FactoryBot.create( + :answer, + user: blocked_user, + content: "answer from a blocked user", + question: FactoryBot.create(:question) + ) + end + let!(:answer_to_blocked_user) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_blocked_user_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user who's a coward", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: true + ) + ) + end + let!(:answer_from_muted_user) do + FactoryBot.create( + :answer, + user: muted_user, + content: "answer from a muted user", + question: FactoryBot.create(:question) + ) + end + let!(:answer_to_muted_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: false + ) + ) + end + let!(:answer_to_muted_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user who's a coward", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: true + ) + ) + end + + subject { Answer.public_timeline } + + it "includes all answers to questions from all the users" do + expect(subject).to include(answer_to_anonymous) + expect(subject).to include(answer_to_normal_user) + expect(subject).to include(answer_to_normal_user_anonymous) + expect(subject).to include(answer_to_blocked_user_anonymous) + expect(subject).to include(answer_to_muted_user_anonymous) + expect(subject).to include(answer_to_blocked_user) + expect(subject).to include(answer_to_muted_user) + expect(subject).to include(answer_from_blocked_user) + expect(subject).to include(answer_from_muted_user) + end + + context "when given a current user who blocks and mutes some users" do + before do + user.block blocked_user + user.mute muted_user + end + + subject { Answer.public_timeline current_user: user } + + it "only includes answers to questions from users the user doesn't block or mute" do + expect(subject).to include(answer_to_anonymous) + expect(subject).to include(answer_to_normal_user) + expect(subject).to include(answer_to_normal_user_anonymous) + expect(subject).to include(answer_to_blocked_user_anonymous) + expect(subject).to include(answer_to_muted_user_anonymous) + expect(subject).not_to include(answer_to_blocked_user) + expect(subject).not_to include(answer_from_blocked_user) + expect(subject).not_to include(answer_to_muted_user) + expect(subject).not_to include(answer_from_muted_user) + end + end + end end From 1791ea2d1aa5ceafc126119c25d42d874eec5b63 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Mon, 20 Feb 2023 21:47:46 +0100 Subject: [PATCH 064/251] move timeline test data to shared context --- spec/models/answer_spec.rb | 106 +----------------- spec/models/list_spec.rb | 106 +----------------- spec/models/user_spec.rb | 94 +--------------- spec/shared_examples/timeline_test_data.rb | 123 +++++++++++++++++++++ 4 files changed, 130 insertions(+), 299 deletions(-) create mode 100644 spec/shared_examples/timeline_test_data.rb diff --git a/spec/models/answer_spec.rb b/spec/models/answer_spec.rb index cd6654c4..bca0c829 100644 --- a/spec/models/answer_spec.rb +++ b/spec/models/answer_spec.rb @@ -92,112 +92,8 @@ describe Answer, type: :model do end end - describe ".public_timeline" do + describe ".public_timeline", timeline_test_data: true do let(:user) { FactoryBot.create(:user) } - let(:user1) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } - - let(:blocked_user) { FactoryBot.create(:user) } - let(:muted_user) { FactoryBot.create(:user) } - let!(:answer_to_anonymous) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a true anonymous coward", - question: FactoryBot.create( - :question, - author_is_anonymous: true - ) - ) - end - let!(:answer_to_normal_user) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a normal user", - question: FactoryBot.create( - :question, - user: user1, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_normal_user_anonymous) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a cowardly user", - question: FactoryBot.create( - :question, - user: user1, - author_is_anonymous: true - ) - ) - end - let!(:answer_from_blocked_user) do - FactoryBot.create( - :answer, - user: blocked_user, - content: "answer from a blocked user", - question: FactoryBot.create(:question) - ) - end - let!(:answer_to_blocked_user) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a blocked user", - question: FactoryBot.create( - :question, - user: blocked_user, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_blocked_user_anonymous) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a blocked user who's a coward", - question: FactoryBot.create( - :question, - user: blocked_user, - author_is_anonymous: true - ) - ) - end - let!(:answer_from_muted_user) do - FactoryBot.create( - :answer, - user: muted_user, - content: "answer from a muted user", - question: FactoryBot.create(:question) - ) - end - let!(:answer_to_muted_user) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a muted user", - question: FactoryBot.create( - :question, - user: muted_user, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_muted_user_anonymous) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a muted user who's a coward", - question: FactoryBot.create( - :question, - user: muted_user, - author_is_anonymous: true - ) - ) - end subject { Answer.public_timeline } diff --git a/spec/models/list_spec.rb b/spec/models/list_spec.rb index 8e5068dd..8cedd6d7 100644 --- a/spec/models/list_spec.rb +++ b/spec/models/list_spec.rb @@ -64,112 +64,8 @@ RSpec.describe(List, type: :model) do end end - describe "#timeline" do + describe "#timeline", timeline_test_data: true do let(:list) { List.create(user:, display_name: "test list") } - let(:user1) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } - - let(:blocked_user) { FactoryBot.create(:user) } - let(:muted_user) { FactoryBot.create(:user) } - let!(:answer_to_anonymous) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a true anonymous coward", - question: FactoryBot.create( - :question, - author_is_anonymous: true - ) - ) - end - let!(:answer_to_normal_user) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a normal user", - question: FactoryBot.create( - :question, - user: user1, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_normal_user_anonymous) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a cowardly user", - question: FactoryBot.create( - :question, - user: user1, - author_is_anonymous: true - ) - ) - end - let!(:answer_from_blocked_user) do - FactoryBot.create( - :answer, - user: blocked_user, - content: "answer from a blocked user", - question: FactoryBot.create(:question) - ) - end - let!(:answer_to_blocked_user) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a blocked user", - question: FactoryBot.create( - :question, - user: blocked_user, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_blocked_user_anonymous) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a blocked user who's a coward", - question: FactoryBot.create( - :question, - user: blocked_user, - author_is_anonymous: true - ) - ) - end - let!(:answer_from_muted_user) do - FactoryBot.create( - :answer, - user: muted_user, - content: "answer from a muted user", - question: FactoryBot.create(:question) - ) - end - let!(:answer_to_muted_user) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a muted user", - question: FactoryBot.create( - :question, - user: muted_user, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_muted_user_anonymous) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a muted user who's a coward", - question: FactoryBot.create( - :question, - user: muted_user, - author_is_anonymous: true - ) - ) - end before do list.add_member user1 diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 4097c4a2..c3071896 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -212,95 +212,7 @@ RSpec.describe User, type: :model do end end - context "user follows users with answers to questions from blocked or muted users" do - let(:blocked_user) { FactoryBot.create(:user) } - let(:muted_user) { FactoryBot.create(:user) } - let(:user1) { FactoryBot.create(:user) } - let(:user2) { FactoryBot.create(:user) } - let!(:answer_to_anonymous) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a true anonymous coward", - question: FactoryBot.create( - :question, - author_is_anonymous: true - ) - ) - end - let!(:answer_to_normal_user) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a normal user", - question: FactoryBot.create( - :question, - user: user1, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_normal_user_anonymous) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a cowardly user", - question: FactoryBot.create( - :question, - user: user1, - author_is_anonymous: true - ) - ) - end - let!(:answer_to_blocked_user) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a blocked user", - question: FactoryBot.create( - :question, - user: blocked_user, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_blocked_user_anonymous) do - FactoryBot.create( - :answer, - user: user1, - content: "answer to a blocked user who's a coward", - question: FactoryBot.create( - :question, - user: blocked_user, - author_is_anonymous: true - ) - ) - end - let!(:answer_to_muted_user) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a muted user", - question: FactoryBot.create( - :question, - user: muted_user, - author_is_anonymous: false - ) - ) - end - let!(:answer_to_muted_user_anonymous) do - FactoryBot.create( - :answer, - user: user2, - content: "answer to a muted user who's a coward", - question: FactoryBot.create( - :question, - user: muted_user, - author_is_anonymous: true - ) - ) - end - + context "user follows users with answers to questions from blocked or muted users", timeline_test_data: true do before do me.follow user1 me.follow user2 @@ -314,6 +226,8 @@ RSpec.describe User, type: :model do expect(subject).to include(answer_to_muted_user_anonymous) expect(subject).to include(answer_to_blocked_user) expect(subject).to include(answer_to_muted_user) + expect(subject).not_to include(answer_from_blocked_user) + expect(subject).not_to include(answer_from_muted_user) end context "when blocking and muting some users" do @@ -330,6 +244,8 @@ RSpec.describe User, type: :model do expect(subject).to include(answer_to_muted_user_anonymous) expect(subject).not_to include(answer_to_blocked_user) expect(subject).not_to include(answer_to_muted_user) + expect(subject).not_to include(answer_from_blocked_user) + expect(subject).not_to include(answer_from_muted_user) end end end diff --git a/spec/shared_examples/timeline_test_data.rb b/spec/shared_examples/timeline_test_data.rb new file mode 100644 index 00000000..06ae644b --- /dev/null +++ b/spec/shared_examples/timeline_test_data.rb @@ -0,0 +1,123 @@ +# frozen_string_literal: true + +RSpec.shared_context "Timeline test data" do + let(:user1) { FactoryBot.create(:user) } + + let(:user2) { FactoryBot.create(:user) } + + let(:blocked_user) { FactoryBot.create(:user) } + + let(:muted_user) { FactoryBot.create(:user) } + + let!(:answer_to_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a true anonymous coward", + question: FactoryBot.create( + :question, + author_is_anonymous: true + ) + ) + end + + let!(:answer_to_normal_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a normal user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: false + ) + ) + end + + let!(:answer_to_normal_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a cowardly user", + question: FactoryBot.create( + :question, + user: user1, + author_is_anonymous: true + ) + ) + end + + let!(:answer_from_blocked_user) do + FactoryBot.create( + :answer, + user: blocked_user, + content: "answer from a blocked user", + question: FactoryBot.create(:question) + ) + end + + let!(:answer_to_blocked_user) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: false + ) + ) + end + + let!(:answer_to_blocked_user_anonymous) do + FactoryBot.create( + :answer, + user: user1, + content: "answer to a blocked user who's a coward", + question: FactoryBot.create( + :question, + user: blocked_user, + author_is_anonymous: true + ) + ) + end + + let!(:answer_from_muted_user) do + FactoryBot.create( + :answer, + user: muted_user, + content: "answer from a muted user", + question: FactoryBot.create(:question) + ) + end + + let!(:answer_to_muted_user) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: false + ) + ) + end + + let!(:answer_to_muted_user_anonymous) do + FactoryBot.create( + :answer, + user: user2, + content: "answer to a muted user who's a coward", + question: FactoryBot.create( + :question, + user: muted_user, + author_is_anonymous: true + ) + ) + end +end + +RSpec.configure do |config| + config.include_context "Timeline test data", timeline_test_data: true +end From 18421df9d040a77a3091968a8ffacc1494da58d4 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 21 Feb 2023 09:50:28 +0100 Subject: [PATCH 065/251] Add tests for `QuestionController` --- spec/controllers/question_controller_spec.rb | 62 ++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 spec/controllers/question_controller_spec.rb diff --git a/spec/controllers/question_controller_spec.rb b/spec/controllers/question_controller_spec.rb new file mode 100644 index 00000000..c8daf340 --- /dev/null +++ b/spec/controllers/question_controller_spec.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +require "rails_helper" + +describe QuestionController, type: :controller do + describe "#show" do + subject { get :show, params: { id: question.id, username: question.user.screen_name } } + + before do + stub_const("APP_CONFIG", { + "site_name" => "Specspring", + "hostname" => "test.host", + "https" => false, + "items_per_page" => 10, + }) + end + + context "question exists" do + let(:question) { FactoryBot.create(:question, user: FactoryBot.create(:user)) } + + context "no answers" do + it "renders an empty list" do + expect(subject).to have_http_status(:ok) + expect(assigns(:question)).to eq(question) + expect(assigns(:answers)).to be_empty + expect(assigns(:answers_last_id)).to be_nil + expect(assigns(:more_data_available)).to eq(false) + end + end + + context "some answers" do + before do + num_answers.times do + FactoryBot.create(:answer, question:, user: FactoryBot.create(:user)) + end + end + + let(:num_answers) { 10 } + + it "renders a list of questions" do + expect(subject).to have_http_status(:ok) + expect(assigns(:question)).to eq(question) + expect(assigns(:answers).length).to eq(10) + expect(assigns(:answers_last_id)).to_not be_nil + expect(assigns(:more_data_available)).to eq(false) + end + + context "enough answers to paginate" do + let(:num_answers) { 11 } + + it "renders a list of questions" do + expect(subject).to have_http_status(:ok) + expect(assigns(:question)).to eq(question) + expect(assigns(:answers).length).to eq(10) + expect(assigns(:answers_last_id)).to_not be_nil + expect(assigns(:more_data_available)).to eq(true) + end + end + end + end + end +end From 1ffa2e51253a9072c2da154ff4030c35404484b5 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Tue, 21 Feb 2023 10:12:13 +0100 Subject: [PATCH 066/251] filter out non-anon questions from blocked/muted users in questions view --- app/controllers/question_controller.rb | 6 +- app/models/question/answer_methods.rb | 11 +- spec/controllers/question_controller_spec.rb | 21 +++- spec/models/question_spec.rb | 107 +++++++++++++++---- 4 files changed, 117 insertions(+), 28 deletions(-) diff --git a/app/controllers/question_controller.rb b/app/controllers/question_controller.rb index f8a3ffa1..9d9c2891 100644 --- a/app/controllers/question_controller.rb +++ b/app/controllers/question_controller.rb @@ -1,9 +1,11 @@ +# frozen_string_literal: true + class QuestionController < ApplicationController def show @question = Question.find(params[:id]) - @answers = @question.cursored_answers(last_id: params[:last_id]) + @answers = @question.cursored_answers(last_id: params[:last_id], current_user:) @answers_last_id = @answers.map(&:id).min - @more_data_available = !@question.cursored_answers(last_id: @answers_last_id, size: 1).count.zero? + @more_data_available = !@question.cursored_answers(last_id: @answers_last_id, size: 1, current_user:).count.zero? respond_to do |format| format.html diff --git a/app/models/question/answer_methods.rb b/app/models/question/answer_methods.rb index 2de7f3b2..efb94a7b 100644 --- a/app/models/question/answer_methods.rb +++ b/app/models/question/answer_methods.rb @@ -5,8 +5,17 @@ module Question::AnswerMethods define_cursor_paginator :cursored_answers, :ordered_answers - def ordered_answers + def ordered_answers(current_user: nil) answers + .then do |query| + next query unless current_user + + blocked_and_muted_user_ids = current_user.blocked_user_ids_cached + current_user.muted_user_ids_cached + next query if blocked_and_muted_user_ids.empty? + + query + .where.not(answers: { user_id: blocked_and_muted_user_ids }) + end .order(:created_at) .reverse_order end diff --git a/spec/controllers/question_controller_spec.rb b/spec/controllers/question_controller_spec.rb index c8daf340..59baab9d 100644 --- a/spec/controllers/question_controller_spec.rb +++ b/spec/controllers/question_controller_spec.rb @@ -8,11 +8,11 @@ describe QuestionController, type: :controller do before do stub_const("APP_CONFIG", { - "site_name" => "Specspring", - "hostname" => "test.host", - "https" => false, - "items_per_page" => 10, - }) + "site_name" => "Specspring", + "hostname" => "test.host", + "https" => false, + "items_per_page" => 10, + }) end context "question exists" do @@ -56,6 +56,17 @@ describe QuestionController, type: :controller do expect(assigns(:more_data_available)).to eq(true) end end + + context "when signed in" do + before do + sign_in(FactoryBot.create(:user)) + end + + it "is fine" do + # basic test to make sure nothing breaks with an user + expect(subject).to have_http_status(:ok) + end + end end end end diff --git a/spec/models/question_spec.rb b/spec/models/question_spec.rb index 7da9eab0..ab4e6cfc 100644 --- a/spec/models/question_spec.rb +++ b/spec/models/question_spec.rb @@ -1,30 +1,97 @@ -require 'rails_helper' +# frozen_string_literal: true -RSpec.describe Question, :type => :model do - before :each do - @question = Question.new( - content: 'Is this a question?', - user: FactoryBot.create(:user) - ) +require "rails_helper" + +RSpec.describe Question, type: :model do + let(:user) { FactoryBot.create :user } + + let(:question) { Question.new(content: "Is this a question?", user:) } + + subject { question } + + it { is_expected.to respond_to(:content) } + + describe "#content" do + it "returns a string" do + expect(question.content).to match "Is this a question?" + end end - subject { @question } + context "when it has many answers" do + before do + 5.times do |i| + Answer.create( + content: "This is an answer. #{i}", + user: FactoryBot.create(:user), + question: + ) + end + end - it { should respond_to(:content) } + its(:answer_count) { is_expected.to eq 5 } - it '#content returns a string' do - expect(@question.content).to match 'Is this a question?' + it "deletes the answers when deleted" do + first_answer_id = question.answers.first.id + question.destroy + expect { Answer.find(first_answer_id) }.to raise_error(ActiveRecord::RecordNotFound) + end end - it 'has many answers' do - 5.times { |i| Answer.create(content: "This is an answer. #{i}", user: FactoryBot.create(:user), question: @question) } - expect(@question.answer_count).to match 5 - end + describe "#ordered_answers" do + let(:normal_user) { FactoryBot.create(:user) } - it 'also deletes the answers when deleted' do - 5.times { |i| Answer.create(content: "This is an answer. #{i}", user: FactoryBot.create(:user), question: @question) } - first_answer_id = @question.answers.first.id - @question.destroy - expect{Answer.find(first_answer_id)}.to raise_error(ActiveRecord::RecordNotFound) + let(:blocked_user) { FactoryBot.create(:user) } + + let(:muted_user) { FactoryBot.create(:user) } + + let!(:answer_from_normal_user) do + FactoryBot.create( + :answer, + user: normal_user, + content: "answer from a normal user", + question: + ) + end + + let!(:answer_from_blocked_user) do + FactoryBot.create( + :answer, + user: blocked_user, + content: "answer from a blocked user", + question: + ) + end + + let!(:answer_from_muted_user) do + FactoryBot.create( + :answer, + user: muted_user, + content: "answer from a blocked user", + question: + ) + end + + subject { question.ordered_answers } + + it "includes all answers to questions" do + expect(subject).to include(answer_from_normal_user) + expect(subject).to include(answer_from_blocked_user) + expect(subject).to include(answer_from_muted_user) + end + + context "when given a current user who blocks and mutes some users" do + before do + user.block blocked_user + user.mute muted_user + end + + subject { question.ordered_answers current_user: user } + + it "only includes answers to questions from users the user doesn't block or mute" do + expect(subject).to include(answer_from_normal_user) + expect(subject).not_to include(answer_from_blocked_user) + expect(subject).not_to include(answer_from_muted_user) + end + end end end From 6f59abe9ddfffb26248fd495164e47c606216488 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Wed, 8 Mar 2023 21:37:39 +0100 Subject: [PATCH 067/251] Update app/models/user/relationship/mute.rb Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com> --- app/models/user/relationship/mute.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/user/relationship/mute.rb b/app/models/user/relationship/mute.rb index 58e2b0a1..c68d68ac 100644 --- a/app/models/user/relationship/mute.rb +++ b/app/models/user/relationship/mute.rb @@ -16,7 +16,7 @@ class User has_many :muted_by_users, through: :passive_mute_relationships, source: :source end - # Mute an user + # Mute a user def mute(target_user) raise Errors::MutingSelf if target_user == self From 06ecdd9e517dd0203d9f37f57e5922a3ea95ead3 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 18 Feb 2023 15:46:09 +0100 Subject: [PATCH 068/251] Upgrade Devise to 4.9.0 --- Gemfile.lock | 2 +- config/initializers/devise.rb | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3615d3ad..d4903cfe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -117,7 +117,7 @@ GEM database_cleaner-core (2.0.1) date (3.3.3) debug_inspector (1.1.0) - devise (4.8.1) + devise (4.9.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 1345aea6..947195a4 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -253,4 +253,19 @@ Devise.setup do |config| # When using omniauth, Devise cannot automatically set Omniauth path, # so you need to do it manually. For the users scope, it would be: # config.omniauth_path_prefix = '/my_engine/users/auth' + + # ==> Hotwire/Turbo configuration + # When using Devise with Hotwire/Turbo, the http status for error responses + # and some redirects must match the following. The default in Devise for existing + # apps is `200 OK` and `302 Found respectively`, but new apps are generated with + # these new defaults that match Hotwire/Turbo behavior. + # Note: These might become the new default in future versions of Devise. + config.responder.error_status = :unprocessable_entity + config.responder.redirect_status = :see_other + + # ==> Configuration for :registerable + + # When set to false, does not sign a user in automatically after their password is + # changed. Defaults to true, so a user is signed in automatically after changing a password. + # config.sign_in_after_change_password = true end From c43543f8d385ea7301c2dc9e4ed2335de7d08894 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 18 Feb 2023 15:46:18 +0100 Subject: [PATCH 069/251] Revert "Disable Turbo for all Devise forms" This reverts commit 8226198f76a0231d7cf808310989b255fc7c525f. --- app/views/devise/confirmations/new.html.haml | 2 +- app/views/devise/passwords/edit.html.haml | 2 +- app/views/devise/passwords/new.html.haml | 2 +- app/views/devise/registrations/new.html.haml | 2 +- app/views/devise/sessions/new.html.haml | 2 +- app/views/devise/unlocks/new.html.haml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/views/devise/confirmations/new.html.haml b/app/views/devise/confirmations/new.html.haml index a3d2e34c..df41170a 100644 --- a/app/views/devise/confirmations/new.html.haml +++ b/app/views/devise/confirmations/new.html.haml @@ -5,7 +5,7 @@ .card.mt-3 .card-body %h1 Resend confirmation instructions - = bootstrap_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }, data: { turbo: false }) do |f| + = bootstrap_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| = render 'devise/shared/error_messages', resource: resource = f.text_field :screen_name, autofocus: true, label: 'User name' diff --git a/app/views/devise/passwords/edit.html.haml b/app/views/devise/passwords/edit.html.haml index e1cdfbed..9bbebfba 100644 --- a/app/views/devise/passwords/edit.html.haml +++ b/app/views/devise/passwords/edit.html.haml @@ -5,7 +5,7 @@ .card.mt-3 .card-body %h1 Change your password - = bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }, data: { turbo: false }) do |f| + = bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| = render 'devise/shared/error_messages', resource: resource = f.hidden_field :reset_password_token diff --git a/app/views/devise/passwords/new.html.haml b/app/views/devise/passwords/new.html.haml index 13ca7e11..32ce5335 100644 --- a/app/views/devise/passwords/new.html.haml +++ b/app/views/devise/passwords/new.html.haml @@ -5,7 +5,7 @@ .card.mt-3 .card-body %h1 Forgot your password? - = bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }, data: { turbo: false }) do |f| + = bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| = render 'devise/shared/error_messages', resource: resource = f.email_field :email, autofocus: true, label: 'Email address' diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml index d0fa29d6..698e63b9 100644 --- a/app/views/devise/registrations/new.html.haml +++ b/app/views/devise/registrations/new.html.haml @@ -5,7 +5,7 @@ .card.mt-3 .card-body %h1= t(".title") - = bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name), data: { turbo: false }) do |f| + = bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| = render "devise/shared/error_messages", resource: resource = render "layouts/messages" diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml index a5cf3639..09e82bc5 100644 --- a/app/views/devise/sessions/new.html.haml +++ b/app/views/devise/sessions/new.html.haml @@ -6,7 +6,7 @@ .card.mt-3 .card-body %h1.mb-3.mt-0= t(".title") - = bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name), data: { turbo: false }) do |f| + = bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| = f.text_field :login, autofocus: true, autocomplete: :username = f.password_field :password, autocomplete: "current-password" diff --git a/app/views/devise/unlocks/new.html.haml b/app/views/devise/unlocks/new.html.haml index e5f2bf50..d4371be6 100644 --- a/app/views/devise/unlocks/new.html.haml +++ b/app/views/devise/unlocks/new.html.haml @@ -3,7 +3,7 @@ %h1 Resend unlock instructions = render 'layouts/messages' - = bootstrap_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }, data: { turbo: false }) do |f| + = bootstrap_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| = render 'devise/shared/error_messages', resource: resource = f.email_field :email, autofocus: true, label: 'Email address' From 3fa607f39c1445aa206f92235c5cffc0c907c482 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 21 Feb 2023 22:56:49 +0100 Subject: [PATCH 070/251] Clean up `User::SessionsController` --- app/controllers/user/sessions_controller.rb | 69 +++++++++++++-------- config/locales/controllers.en.yml | 8 +-- 2 files changed, 47 insertions(+), 30 deletions(-) diff --git a/app/controllers/user/sessions_controller.rb b/app/controllers/user/sessions_controller.rb index 8829e017..b7efedc7 100644 --- a/app/controllers/user/sessions_controller.rb +++ b/app/controllers/user/sessions_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class User::SessionsController < Devise::SessionsController def new session.delete(:user_sign_in_uid) @@ -5,35 +7,13 @@ class User::SessionsController < Devise::SessionsController end def create - if session.has_key?(:user_sign_in_uid) - self.resource = User.find(session.delete(:user_sign_in_uid)) - else - self.resource = warden.authenticate!(auth_options) - end + authenticate! if resource.active_for_authentication? && resource.otp_module_enabled? if params[:user][:otp_attempt].blank? - session[:user_sign_in_uid] = resource.id - sign_out(resource) - warden.lock! - render "auth/two_factor_authentication" + prompt_for_2fa else - if params[:user][:otp_attempt].length == 8 - found = TotpRecoveryCode.where(user_id: resource.id, code: params[:user][:otp_attempt].downcase).delete_all - if found == 1 - flash[:info] = t(".info", count: TotpRecoveryCode.where(user_id: resource.id).count) - continue_sign_in(resource, resource_name) - else - flash[:error] = t(".error") - redirect_to new_user_session_url - end - elsif resource.authenticate_otp(params[:user][:otp_attempt], drift: APP_CONFIG.fetch(:otp_drift_period, 30).to_i) - continue_sign_in(resource, resource_name) - else - sign_out(resource) - flash[:error] = t(".error") - redirect_to new_user_session_url - end + attempt_2fa end else continue_sign_in(resource, resource_name) @@ -42,10 +22,47 @@ class User::SessionsController < Devise::SessionsController private + def authenticate! + self.resource = session.key?(:user_sign_in_uid) ? User.find(session.delete(:user_sign_in_uid)) : warden.authenticate!(auth_options) + end + def continue_sign_in(resource, resource_name) set_flash_message!(:notice, :signed_in) sign_in(resource_name, resource) yield resource if block_given? respond_with resource, location: after_sign_in_path_for(resource) end -end \ No newline at end of file + + def prompt_for_2fa + session[:user_sign_in_uid] = resource.id + sign_out(resource) + warden.lock! + render "auth/two_factor_authentication" + end + + def attempt_2fa + if params[:user][:otp_attempt].length == 8 + try_recovery_code + elsif resource.authenticate_otp(params[:user][:otp_attempt], drift: APP_CONFIG.fetch(:otp_drift_period, 30).to_i) + continue_sign_in(resource, resource_name) + else + fail_2fa + end + end + + def try_recovery_code + found = TotpRecoveryCode.where(user_id: resource.id, code: params[:user][:otp_attempt].downcase).delete_all + if found == 1 + flash[:info] = t(".info", count: TotpRecoveryCode.where(user_id: resource.id).count) + continue_sign_in(resource, resource_name) + else + fail_2fa + end + end + + def fail_2fa + sign_out(resource) + flash[:error] = t(".error") + redirect_to new_user_session_url + end +end diff --git a/config/locales/controllers.en.yml b/config/locales/controllers.en.yml index ff41c0c6..b0347cc9 100644 --- a/config/locales/controllers.en.yml +++ b/config/locales/controllers.en.yml @@ -202,10 +202,10 @@ en: banned: "I'm sorry, %{name}, I'm afraid I can't do that." reason: "Ban reason: %{reason}" until: "Banned until: %{time}" - info: - one: "You have only one recovery code remaining. Please regenerate your recovery codes from the security settings to avoid being locked out!" - other: "You have %{count} recovery codes remaining." - error: :errors.invalid_otp + info: + one: "You have only one recovery code remaining. Please regenerate your recovery codes from the security settings to avoid being locked out!" + other: "You have %{count} recovery codes remaining." + error: :errors.invalid_otp registrations: destroy: export_pending: "You may not delete your account while account data is currently being exported." From 010f871eb29d6f8cfff5504f103b8d3a0684961d Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 19 Mar 2023 15:48:34 +0100 Subject: [PATCH 071/251] Disable Turbo on sign in forms --- app/views/devise/passwords/edit.html.haml | 2 +- app/views/devise/sessions/new.html.haml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/devise/passwords/edit.html.haml b/app/views/devise/passwords/edit.html.haml index 9bbebfba..0106de7a 100644 --- a/app/views/devise/passwords/edit.html.haml +++ b/app/views/devise/passwords/edit.html.haml @@ -5,7 +5,7 @@ .card.mt-3 .card-body %h1 Change your password - = bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| + = bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put, data: { turbo: false } }) do |f| = render 'devise/shared/error_messages', resource: resource = f.hidden_field :reset_password_token diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml index 09e82bc5..a5cf3639 100644 --- a/app/views/devise/sessions/new.html.haml +++ b/app/views/devise/sessions/new.html.haml @@ -6,7 +6,7 @@ .card.mt-3 .card-body %h1.mb-3.mt-0= t(".title") - = bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| + = bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name), data: { turbo: false }) do |f| = f.text_field :login, autofocus: true, autocomplete: :username = f.password_field :password, autocomplete: "current-password" From eda522ce8ba93fd28f3ad041529419c8c8ddcb9c Mon Sep 17 00:00:00 2001 From: Karina Kwiatek <6197148+raccube@users.noreply.github.com> Date: Thu, 23 Mar 2023 18:26:58 +0100 Subject: [PATCH 072/251] Remove extra space Co-authored-by: Georg Gadinger --- app/controllers/user/sessions_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/user/sessions_controller.rb b/app/controllers/user/sessions_controller.rb index b7efedc7..ff6c9b9e 100644 --- a/app/controllers/user/sessions_controller.rb +++ b/app/controllers/user/sessions_controller.rb @@ -37,7 +37,7 @@ class User::SessionsController < Devise::SessionsController session[:user_sign_in_uid] = resource.id sign_out(resource) warden.lock! - render "auth/two_factor_authentication" + render "auth/two_factor_authentication" end def attempt_2fa From 3295bf5b0d160e326b047f1eaa68d62717e91540 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:57:26 +0000 Subject: [PATCH 073/251] Bump prometheus-client from 4.0.0 to 4.1.0 Bumps [prometheus-client](https://github.com/prometheus/client_ruby) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/prometheus/client_ruby/releases) - [Changelog](https://github.com/prometheus/client_ruby/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_ruby/compare/v4.0.0...v4.1.0) --- updated-dependencies: - dependency-name: prometheus-client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 485b018e..c32dd125 100644 --- a/Gemfile +++ b/Gemfile @@ -116,4 +116,4 @@ gem "openssl", "~> 3.1" # mail 2.8.0 breaks sendmail usage: https://github.com/mikel/mail/issues/1538 gem "mail", "~> 2.7.1" -gem "prometheus-client", "~> 4.0" +gem "prometheus-client", "~> 4.1" diff --git a/Gemfile.lock b/Gemfile.lock index d4903cfe..479451ad 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -279,7 +279,7 @@ GEM pg (1.4.6) pghero (3.3.1) activerecord (>= 6) - prometheus-client (4.0.0) + prometheus-client (4.1.0) public_suffix (4.0.7) puma (6.1.1) nio4r (~> 2.0) @@ -523,7 +523,7 @@ DEPENDENCIES openssl (~> 3.1) pg pghero - prometheus-client (~> 4.0) + prometheus-client (~> 4.1) puma pundit (~> 2.3) questiongenerator (~> 1.1) From 12807e2d36046d7a980d58a7ea49683a5d56065a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:58:01 +0000 Subject: [PATCH 074/251] Bump rails_admin from 3.1.1 to 3.1.2 Bumps [rails_admin](https://github.com/sferik/rails_admin) from 3.1.1 to 3.1.2. - [Release notes](https://github.com/sferik/rails_admin/releases) - [Changelog](https://github.com/railsadminteam/rails_admin/blob/master/CHANGELOG.md) - [Commits](https://github.com/sferik/rails_admin/compare/v3.1.1...v3.1.2) --- updated-dependencies: - dependency-name: rails_admin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d4903cfe..44d17cb4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -317,7 +317,7 @@ GEM rails-i18n (7.0.6) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - rails_admin (3.1.1) + rails_admin (3.1.2) activemodel-serializers-xml (>= 1.0) kaminari (>= 0.14, < 2.0) nested_form (~> 0.3) From 24762a5a809617583a29563607cbcf16548a9ee7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:58:07 +0000 Subject: [PATCH 075/251] Bump esbuild from 0.17.12 to 0.17.14 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.12 to 0.17.14. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.12...v0.17.14) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index 2a31f6b3..88e5957b 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.12", + "esbuild": "^0.17.14", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 60fecbb7..3070f4ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.12.tgz#15a8e2b407d03989b899e325151dc2e96d19c620" - integrity sha512-WQ9p5oiXXYJ33F2EkE3r0FRDFVpEdcDiwNX3u7Xaibxfx6vQE0Sb8ytrfQsA5WO6kDn6mDfKLh6KrPBjvkk7xA== +"@esbuild/android-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.14.tgz#4624cea3c8941c91f9e9c1228f550d23f1cef037" + integrity sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg== -"@esbuild/android-arm@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.12.tgz#677a09297e1f4f37aba7b4fc4f31088b00484985" - integrity sha512-E/sgkvwoIfj4aMAPL2e35VnUJspzVYl7+M1B2cqeubdBhADV4uPon0KCc8p2G+LqSJ6i8ocYPCqY3A4GGq0zkQ== +"@esbuild/android-arm@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.14.tgz#74fae60fcab34c3f0e15cb56473a6091ba2b53a6" + integrity sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g== -"@esbuild/android-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.12.tgz#b292729eef4e0060ae1941f6a021c4d2542a3521" - integrity sha512-m4OsaCr5gT+se25rFPHKQXARMyAehHTQAz4XX1Vk3d27VtqiX0ALMBPoXZsGaB6JYryCLfgGwUslMqTfqeLU0w== +"@esbuild/android-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.14.tgz#f002fbc08d5e939d8314bd23bcfb1e95d029491f" + integrity sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng== -"@esbuild/darwin-arm64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.12.tgz#efa35318df931da05825894e1787b976d55adbe3" - integrity sha512-O3GCZghRIx+RAN0NDPhyyhRgwa19MoKlzGonIb5hgTj78krqp9XZbYCvFr9N1eUxg0ZQEpiiZ4QvsOQwBpP+lg== +"@esbuild/darwin-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.14.tgz#b8dcd79a1dd19564950b4ca51d62999011e2e168" + integrity sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw== -"@esbuild/darwin-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.12.tgz#e7b54bb3f6dc81aadfd0485cd1623c648157e64d" - integrity sha512-5D48jM3tW27h1qjaD9UNRuN+4v0zvksqZSPZqeSWggfMlsVdAhH3pwSfQIFJwcs9QJ9BRibPS4ViZgs3d2wsCA== +"@esbuild/darwin-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.14.tgz#4b49f195d9473625efc3c773fc757018f2c0d979" + integrity sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g== -"@esbuild/freebsd-arm64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.12.tgz#99a18a8579d6299c449566fe91d9b6a54cf2a591" - integrity sha512-OWvHzmLNTdF1erSvrfoEBGlN94IE6vCEaGEkEH29uo/VoONqPnoDFfShi41Ew+yKimx4vrmmAJEGNoyyP+OgOQ== +"@esbuild/freebsd-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.14.tgz#480923fd38f644c6342c55e916cc7c231a85eeb7" + integrity sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A== -"@esbuild/freebsd-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.12.tgz#0e090190fede307fb4022f671791a50dd5121abd" - integrity sha512-A0Xg5CZv8MU9xh4a+7NUpi5VHBKh1RaGJKqjxe4KG87X+mTjDE6ZvlJqpWoeJxgfXHT7IMP9tDFu7IZ03OtJAw== +"@esbuild/freebsd-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.14.tgz#a6b6b01954ad8562461cb8a5e40e8a860af69cbe" + integrity sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw== -"@esbuild/linux-arm64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.12.tgz#7fe2a69f8a1a7153fa2b0f44aabcadb59475c7e0" - integrity sha512-cK3AjkEc+8v8YG02hYLQIQlOznW+v9N+OI9BAFuyqkfQFR+DnDLhEM5N8QRxAUz99cJTo1rLNXqRrvY15gbQUg== +"@esbuild/linux-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.14.tgz#1fe2f39f78183b59f75a4ad9c48d079916d92418" + integrity sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g== -"@esbuild/linux-arm@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.12.tgz#b87c76ebf1fe03e01fd6bb5cfc2f3c5becd5ee93" - integrity sha512-WsHyJ7b7vzHdJ1fv67Yf++2dz3D726oO3QCu8iNYik4fb5YuuReOI9OtA+n7Mk0xyQivNTPbl181s+5oZ38gyA== +"@esbuild/linux-arm@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.14.tgz#18d594a49b64e4a3a05022c005cb384a58056a2a" + integrity sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg== -"@esbuild/linux-ia32@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.12.tgz#9e9357090254524d32e6708883a47328f3037858" - integrity sha512-jdOBXJqcgHlah/nYHnj3Hrnl9l63RjtQ4vn9+bohjQPI2QafASB5MtHAoEv0JQHVb/xYQTFOeuHnNYE1zF7tYw== +"@esbuild/linux-ia32@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.14.tgz#f7f0182a9cfc0159e0922ed66c805c9c6ef1b654" + integrity sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ== -"@esbuild/linux-loong64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.12.tgz#9deb605f9e2c82f59412ddfefb4b6b96d54b5b5b" - integrity sha512-GTOEtj8h9qPKXCyiBBnHconSCV9LwFyx/gv3Phw0pa25qPYjVuuGZ4Dk14bGCfGX3qKF0+ceeQvwmtI+aYBbVA== +"@esbuild/linux-loong64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.14.tgz#5f5305fdffe2d71dd9a97aa77d0c99c99409066f" + integrity sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ== -"@esbuild/linux-mips64el@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.12.tgz#6ef170b974ddf5e6acdfa5b05f22b6e9dfd2b003" - integrity sha512-o8CIhfBwKcxmEENOH9RwmUejs5jFiNoDw7YgS0EJTF6kgPgcqLFjgoc5kDey5cMHRVCIWc6kK2ShUePOcc7RbA== +"@esbuild/linux-mips64el@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.14.tgz#a602e85c51b2f71d2aedfe7f4143b2f92f97f3f5" + integrity sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg== -"@esbuild/linux-ppc64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.12.tgz#1638d3d4acf1d34aaf37cf8908c2e1cefed16204" - integrity sha512-biMLH6NR/GR4z+ap0oJYb877LdBpGac8KfZoEnDiBKd7MD/xt8eaw1SFfYRUeMVx519kVkAOL2GExdFmYnZx3A== +"@esbuild/linux-ppc64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.14.tgz#32d918d782105cbd9345dbfba14ee018b9c7afdf" + integrity sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ== -"@esbuild/linux-riscv64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.12.tgz#135b6e9270a8e2de2b9094bb21a287517df520ef" - integrity sha512-jkphYUiO38wZGeWlfIBMB72auOllNA2sLfiZPGDtOBb1ELN8lmqBrlMiucgL8awBw1zBXN69PmZM6g4yTX84TA== +"@esbuild/linux-riscv64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.14.tgz#38612e7b6c037dff7022c33f49ca17f85c5dec58" + integrity sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw== -"@esbuild/linux-s390x@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.12.tgz#21e40830770c5d08368e300842bde382ce97d615" - integrity sha512-j3ucLdeY9HBcvODhCY4b+Ds3hWGO8t+SAidtmWu/ukfLLG/oYDMaA+dnugTVAg5fnUOGNbIYL9TOjhWgQB8W5g== +"@esbuild/linux-s390x@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.14.tgz#4397dff354f899e72fd035d72af59a700c465ccb" + integrity sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww== -"@esbuild/linux-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.12.tgz#76c1c199871d48e1aaa47a762fb9e0dca52e1f7a" - integrity sha512-uo5JL3cgaEGotaqSaJdRfFNSCUJOIliKLnDGWaVCgIKkHxwhYMm95pfMbWZ9l7GeW9kDg0tSxcy9NYdEtjwwmA== +"@esbuild/linux-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.14.tgz#6c5cb99891b6c3e0c08369da3ef465e8038ad9c2" + integrity sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw== -"@esbuild/netbsd-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.12.tgz#c7c3b3017a4b938c76c35f66af529baf62eac527" - integrity sha512-DNdoRg8JX+gGsbqt2gPgkgb00mqOgOO27KnrWZtdABl6yWTST30aibGJ6geBq3WM2TIeW6COs5AScnC7GwtGPg== +"@esbuild/netbsd-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.14.tgz#5fa5255a64e9bf3947c1b3bef5e458b50b211994" + integrity sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ== -"@esbuild/openbsd-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.12.tgz#05d04217d980e049001afdbeacbb58d31bb5cefb" - integrity sha512-aVsENlr7B64w8I1lhHShND5o8cW6sB9n9MUtLumFlPhG3elhNWtE7M1TFpj3m7lT3sKQUMkGFjTQBrvDDO1YWA== +"@esbuild/openbsd-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.14.tgz#74d14c79dcb6faf446878cc64284aa4e02f5ca6f" + integrity sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g== -"@esbuild/sunos-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.12.tgz#cf3862521600e4eb6c440ec3bad31ed40fb87ef3" - integrity sha512-qbHGVQdKSwi0JQJuZznS4SyY27tYXYF0mrgthbxXrZI3AHKuRvU+Eqbg/F0rmLDpW/jkIZBlCO1XfHUBMNJ1pg== +"@esbuild/sunos-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.14.tgz#5c7d1c7203781d86c2a9b2ff77bd2f8036d24cfa" + integrity sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA== -"@esbuild/win32-arm64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.12.tgz#43dd7fb5be77bf12a1550355ab2b123efd60868e" - integrity sha512-zsCp8Ql+96xXTVTmm6ffvoTSZSV2B/LzzkUXAY33F/76EajNw1m+jZ9zPfNJlJ3Rh4EzOszNDHsmG/fZOhtqDg== +"@esbuild/win32-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.14.tgz#dc36ed84f1390e73b6019ccf0566c80045e5ca3d" + integrity sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ== -"@esbuild/win32-ia32@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.12.tgz#9940963d0bff4ea3035a84e2b4c6e41c5e6296eb" - integrity sha512-FfrFjR4id7wcFYOdqbDfDET3tjxCozUgbqdkOABsSFzoZGFC92UK7mg4JKRc/B3NNEf1s2WHxJ7VfTdVDPN3ng== +"@esbuild/win32-ia32@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.14.tgz#0802a107afa9193c13e35de15a94fe347c588767" + integrity sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w== -"@esbuild/win32-x64@0.17.12": - version "0.17.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.12.tgz#3a11d13e9a5b0c05db88991b234d8baba1f96487" - integrity sha512-JOOxw49BVZx2/5tW3FqkdjSD/5gXYeVGPDcB0lvap0gLQshkh1Nyel1QazC+wNxus3xPlsYAgqU1BUmrmCvWtw== +"@esbuild/win32-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.14.tgz#e81fb49de05fed91bf74251c9ca0343f4fc77d31" + integrity sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -835,33 +835,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.12: - version "0.17.12" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.12.tgz#2ad7523bf1bc01881e9d904bc04e693bd3bdcf2f" - integrity sha512-bX/zHl7Gn2CpQwcMtRogTTBf9l1nl+H6R8nUbjk+RuKqAE3+8FDulLA+pHvX7aA7Xe07Iwa+CWvy9I8Y2qqPKQ== +esbuild@^0.17.14: + version "0.17.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.14.tgz#d61a22de751a3133f3c6c7f9c1c3e231e91a3245" + integrity sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw== optionalDependencies: - "@esbuild/android-arm" "0.17.12" - "@esbuild/android-arm64" "0.17.12" - "@esbuild/android-x64" "0.17.12" - "@esbuild/darwin-arm64" "0.17.12" - "@esbuild/darwin-x64" "0.17.12" - "@esbuild/freebsd-arm64" "0.17.12" - "@esbuild/freebsd-x64" "0.17.12" - "@esbuild/linux-arm" "0.17.12" - "@esbuild/linux-arm64" "0.17.12" - "@esbuild/linux-ia32" "0.17.12" - "@esbuild/linux-loong64" "0.17.12" - "@esbuild/linux-mips64el" "0.17.12" - "@esbuild/linux-ppc64" "0.17.12" - "@esbuild/linux-riscv64" "0.17.12" - "@esbuild/linux-s390x" "0.17.12" - "@esbuild/linux-x64" "0.17.12" - "@esbuild/netbsd-x64" "0.17.12" - "@esbuild/openbsd-x64" "0.17.12" - "@esbuild/sunos-x64" "0.17.12" - "@esbuild/win32-arm64" "0.17.12" - "@esbuild/win32-ia32" "0.17.12" - "@esbuild/win32-x64" "0.17.12" + "@esbuild/android-arm" "0.17.14" + "@esbuild/android-arm64" "0.17.14" + "@esbuild/android-x64" "0.17.14" + "@esbuild/darwin-arm64" "0.17.14" + "@esbuild/darwin-x64" "0.17.14" + "@esbuild/freebsd-arm64" "0.17.14" + "@esbuild/freebsd-x64" "0.17.14" + "@esbuild/linux-arm" "0.17.14" + "@esbuild/linux-arm64" "0.17.14" + "@esbuild/linux-ia32" "0.17.14" + "@esbuild/linux-loong64" "0.17.14" + "@esbuild/linux-mips64el" "0.17.14" + "@esbuild/linux-ppc64" "0.17.14" + "@esbuild/linux-riscv64" "0.17.14" + "@esbuild/linux-s390x" "0.17.14" + "@esbuild/linux-x64" "0.17.14" + "@esbuild/netbsd-x64" "0.17.14" + "@esbuild/openbsd-x64" "0.17.14" + "@esbuild/sunos-x64" "0.17.14" + "@esbuild/win32-arm64" "0.17.14" + "@esbuild/win32-ia32" "0.17.14" + "@esbuild/win32-x64" "0.17.14" escape-string-regexp@^1.0.5: version "1.0.5" From cba053d0aa283635479bb1efe11a539c8881eb73 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:58:19 +0000 Subject: [PATCH 076/251] Bump sass from 1.59.3 to 1.60.0 Bumps [sass](https://github.com/sass/dart-sass) from 1.59.3 to 1.60.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.59.3...1.60.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2a31f6b3..757650c9 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.59.3", + "sass": "^1.60.0", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.0.2" diff --git a/yarn.lock b/yarn.lock index 60fecbb7..a5737fa0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2110,10 +2110,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.59.3: - version "1.59.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.59.3.tgz#a1ddf855d75c70c26b4555df4403e1bbf8e4403f" - integrity sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ== +sass@^1.60.0: + version "1.60.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.60.0.tgz#657f0c23a302ac494b09a5ba8497b739fb5b5a81" + integrity sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From d61431843a08da0f417de6eebe32a6d3875ec219 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:58:26 +0000 Subject: [PATCH 077/251] Bump connection_pool from 2.3.0 to 2.4.0 Bumps [connection_pool](https://github.com/mperham/connection_pool) from 2.3.0 to 2.4.0. - [Release notes](https://github.com/mperham/connection_pool/releases) - [Changelog](https://github.com/mperham/connection_pool/blob/main/Changes.md) - [Commits](https://github.com/mperham/connection_pool/compare/v2.3.0...v2.4.0) --- updated-dependencies: - dependency-name: connection_pool dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d4903cfe..73530147 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -105,7 +105,7 @@ GEM coderay (1.1.3) colorize (0.8.1) concurrent-ruby (1.2.2) - connection_pool (2.3.0) + connection_pool (2.4.0) crass (1.0.6) cssbundling-rails (1.1.2) railties (>= 6.0.0) From 5be102c6f92e39957717bf619ab1cf001a049fb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:58:32 +0000 Subject: [PATCH 078/251] Bump @popperjs/core from 2.11.6 to 2.11.7 Bumps [@popperjs/core](https://github.com/popperjs/popper-core) from 2.11.6 to 2.11.7. - [Release notes](https://github.com/popperjs/popper-core/releases) - [Commits](https://github.com/popperjs/popper-core/compare/v2.11.6...v2.11.7) --- updated-dependencies: - dependency-name: "@popperjs/core" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 60fecbb7..a0ec5ee9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -243,9 +243,9 @@ fastq "^1.6.0" "@popperjs/core@^2.11": - version "2.11.6" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + version "2.11.7" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.7.tgz#ccab5c8f7dc557a52ca3288c10075c9ccd37fff7" + integrity sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw== "@rails/actioncable@^7.0": version "7.0.3" From 2cd75302ed55e01e68ebb744edecbee4679567da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:58:46 +0000 Subject: [PATCH 079/251] Bump stylelint-scss from 4.5.0 to 4.6.0 Bumps [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) from 4.5.0 to 4.6.0. - [Release notes](https://github.com/stylelint-scss/stylelint-scss/releases) - [Changelog](https://github.com/stylelint-scss/stylelint-scss/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint-scss/stylelint-scss/compare/v4.5.0...v4.6.0) --- updated-dependencies: - dependency-name: stylelint-scss dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 2a31f6b3..5c8d5a47 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", "stylelint-config-standard-scss": "^6.1.0", - "stylelint-scss": "^4.5.0" + "stylelint-scss": "^4.6.0" } } diff --git a/yarn.lock b/yarn.lock index 60fecbb7..46131b4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -712,6 +712,11 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -1672,7 +1677,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -lodash@*, lodash@^4.17.21: +lodash@*: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -1963,7 +1968,7 @@ postcss-scss@^4.0.2: resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.6.tgz#5d62a574b950a6ae12f2aa89b60d63d9e4432bfd" integrity sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ== -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.6: +postcss-selector-parser@^6.0.11: version "6.0.11" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== @@ -1971,7 +1976,7 @@ postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.6: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== @@ -2313,16 +2318,16 @@ stylelint-config-standard@^29.0.0: dependencies: stylelint-config-recommended "^9.0.0" -stylelint-scss@^4.0.0, stylelint-scss@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.5.0.tgz#c270fff4f0dad65a7a39178be883062c6552482a" - integrity sha512-/+rQ8FePOiwT5xblOHkujYzRYfSjmE6HYhLpqJShL+9wH6/HaAVj4mWpXlpEsM3ZgIpOblG9Y+/BycSJzWgjNw== +stylelint-scss@^4.0.0, stylelint-scss@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.6.0.tgz#f7602d6d562bb256802e38e3fd5e49c46d2e31b6" + integrity sha512-M+E0BQim6G4XEkaceEhfVjP/41C9Klg5/tTPTCQVlgw/jm2tvB+OXJGaU0TDP5rnTCB62aX6w+rT+gqJW/uwjA== dependencies: - lodash "^4.17.21" + dlv "^1.1.3" postcss-media-query-parser "^0.2.3" postcss-resolve-nested-selector "^0.1.1" - postcss-selector-parser "^6.0.6" - postcss-value-parser "^4.1.0" + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" stylelint@^14.16.1: version "14.16.1" From f46cdc8808948492cc951a8f4c5fc21a46b93c8c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 09:59:47 +0000 Subject: [PATCH 080/251] Bump actions/checkout from 3.4.0 to 3.5.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 3.4.0 to 3.5.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.4.0...v3.5.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/build-image.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/lint.yml | 8 ++++---- .github/workflows/retrospring.yml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index ba2aff4e..fab15bbe 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -20,7 +20,7 @@ jobs: cancel-in-progress: true steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - name: Discover build-time variables run: | diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fc9dda4f..f494baf8 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -33,7 +33,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3.4.0 + uses: actions/checkout@v3.5.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 6af716e7..d38cdd8a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: name: Rubocop runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -37,7 +37,7 @@ jobs: name: ESLint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -63,7 +63,7 @@ jobs: haml-lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -86,7 +86,7 @@ jobs: stylelint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 diff --git a/.github/workflows/retrospring.yml b/.github/workflows/retrospring.yml index 9b0f6cda..e7a799ab 100644 --- a/.github/workflows/retrospring.yml +++ b/.github/workflows/retrospring.yml @@ -41,7 +41,7 @@ jobs: BUNDLE_WITHOUT: 'production' steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - name: Install dependencies run: sudo apt update && sudo apt-get install -y libpq-dev libxml2-dev libxslt1-dev libmagickwand-dev imagemagick libidn11-dev - name: Set up Ruby From a9cf00f75ec9ddbcd825f0e847105d8e6dbc5438 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Sun, 26 Mar 2023 10:31:49 +0200 Subject: [PATCH 081/251] metrics: add counter for created/destroyed users --- .rubocop.yml | 3 +++ app/models/user.rb | 6 ++++++ lib/retrospring/metrics.rb | 10 ++++++++++ spec/models/user_spec.rb | 39 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index acd3db74..ed74d1c9 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -134,3 +134,6 @@ Style/EndlessMethod: Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: consistent_comma + +Style/TrailingCommaInArguments: + EnforcedStyleForMultiline: consistent_comma diff --git a/app/models/user.rb b/app/models/user.rb index 92427a5d..2b2241e0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -85,8 +85,14 @@ class User < ApplicationRecord # rubocop:disable Metrics/ClassLength end end + after_destroy do + Retrospring::Metrics::USERS_DESTROYED.increment + end + after_create do Profile.create(user_id: id) if Profile.where(user_id: id).count.zero? + + Retrospring::Metrics::USERS_CREATED.increment end # use the screen name as parameter for url helpers diff --git a/lib/retrospring/metrics.rb b/lib/retrospring/metrics.rb index 7c52dcb6..3c715e5c 100644 --- a/lib/retrospring/metrics.rb +++ b/lib/retrospring/metrics.rb @@ -43,6 +43,16 @@ module Retrospring docstring: "How many comments got created" ) + USERS_CREATED = counter( + :retrospring_users_created_total, + docstring: "How many users got created" + ) + + USERS_DESTROYED = counter( + :retrospring_users_destroyed_total, + docstring: "How many users deleted their accounts" + ) + # metrics from Sidekiq::Stats.new SIDEKIQ = { processed: gauge( diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 2981df53..b3fe0836 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -33,6 +33,45 @@ RSpec.describe User, type: :model do end end + describe "callbacks" do + describe "before_destroy" do + it "marks reports about this user as deleted" do + other_user = FactoryBot.create(:user) + other_user.report me, "va tutto benissimo" + + expect { me.destroy } + .to change { Reports::User.find_by(target_id: me.id).deleted? } + .from(false) + .to(true) + end + end + + describe "after_destroy" do + it "increments the users_destroyed metric" do + expect { me.destroy }.to change { Retrospring::Metrics::USERS_DESTROYED.values.values.sum }.by(1) + end + end + + describe "after_create" do + subject :user do + User.create!( + screen_name: "konqi", + email: "konqi@example.rrerr.net", + password: "dragonsRQt5", + ) + end + + it "creates a profile for the user" do + expect { user }.to change { Profile.count }.by(1) + expect(Profile.find_by(user:).user).to eq(user) + end + + it "increments the users_created metric" do + expect { user }.to change { Retrospring::Metrics::USERS_CREATED.values.values.sum }.by(1) + end + end + end + describe "custom sharing url validation" do subject do FactoryBot.build(:user, sharing_custom_url: url).tap(&:validate).errors[:sharing_custom_url] From 3508f846e7c598ccab4f0b088e212ff1456a7055 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Wed, 29 Mar 2023 08:03:13 +0200 Subject: [PATCH 082/251] pet the cyber canine 9000 --- lib/retrospring/metrics.rb | 26 +++++++++++++------------- spec/models/user_spec.rb | 6 +++--- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/retrospring/metrics.rb b/lib/retrospring/metrics.rb index 3c715e5c..9c5ea3bb 100644 --- a/lib/retrospring/metrics.rb +++ b/lib/retrospring/metrics.rb @@ -24,65 +24,65 @@ module Retrospring labels: [:version], preset_labels: { version: Retrospring::Version.to_s, - } + }, ).tap { _1.set 1 } QUESTIONS_ASKED = counter( :retrospring_questions_asked_total, docstring: "How many questions got asked", - labels: %i[anonymous followers generated] + labels: %i[anonymous followers generated], ) QUESTIONS_ANSWERED = counter( :retrospring_questions_answered_total, - docstring: "How many questions got answered" + docstring: "How many questions got answered", ) COMMENTS_CREATED = counter( :retrospring_comments_created_total, - docstring: "How many comments got created" + docstring: "How many comments got created", ) USERS_CREATED = counter( :retrospring_users_created_total, - docstring: "How many users got created" + docstring: "How many users got created", ) USERS_DESTROYED = counter( :retrospring_users_destroyed_total, - docstring: "How many users deleted their accounts" + docstring: "How many users deleted their accounts", ) # metrics from Sidekiq::Stats.new SIDEKIQ = { processed: gauge( :sidekiq_processed, - docstring: "Number of jobs processed by Sidekiq" + docstring: "Number of jobs processed by Sidekiq", ), failed: gauge( :sidekiq_failed, - docstring: "Number of jobs that failed" + docstring: "Number of jobs that failed", ), scheduled_size: gauge( :sidekiq_scheduled_jobs, - docstring: "Number of jobs that are enqueued" + docstring: "Number of jobs that are enqueued", ), retry_size: gauge( :sidekiq_retried_jobs, - docstring: "Number of jobs that are being retried" + docstring: "Number of jobs that are being retried", ), dead_size: gauge( :sidekiq_dead_jobs, - docstring: "Number of jobs that are dead" + docstring: "Number of jobs that are dead", ), processes_size: gauge( :sidekiq_processes, - docstring: "Number of active Sidekiq processes" + docstring: "Number of active Sidekiq processes", ), queue_enqueued: gauge( :sidekiq_queues_enqueued, docstring: "Number of enqueued jobs per queue", - labels: %i[queue] + labels: %i[queue], ), }.freeze end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index b3fe0836..6a938a48 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -10,7 +10,7 @@ RSpec.describe User, type: :model do @user = User.new( screen_name: "FunnyMeme2004", password: "y_u_no_secure_password?", - email: "nice.meme@nsa.gov" + email: "nice.meme@nsa.gov", ) Profile.new(user: @user) end @@ -108,7 +108,7 @@ RSpec.describe User, type: :model do describe "email validation" do subject do - FactoryBot.build(:user, email: email).tap(&:validate).errors[:email] + FactoryBot.build(:user, email:).tap(&:validate).errors[:email] end shared_examples_for "valid email" do |example_email| @@ -255,7 +255,7 @@ RSpec.describe User, type: :model do describe "#cursored_timeline" do let(:last_id) { nil } - subject { me.cursored_timeline(last_id: last_id, size: 3) } + subject { me.cursored_timeline(last_id:, size: 3) } context "user answered nothing and is not following anyone" do include_examples "result is blank" From e4320ea9ac393a401b3f07b882bafde76bebe59d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 09:56:55 +0000 Subject: [PATCH 083/251] Bump rubocop from 1.48.1 to 1.49.0 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.48.1 to 1.49.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.48.1...v1.49.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index c32dd125..5b19d5d5 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.48" + gem "rubocop", "~> 1.49" gem "rubocop-rails", "~> 2.18" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index adc7dd5a..e825257c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -274,7 +274,7 @@ GEM openssl (3.1.0) orm_adapter (0.5.0) parallel (1.22.1) - parser (3.2.1.1) + parser (3.2.2.0) ast (~> 2.4.1) pg (1.4.6) pghero (3.3.1) @@ -379,17 +379,17 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.48.1) + rubocop (1.49.0) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.26.0, < 2.0) + rubocop-ast (>= 1.28.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.27.0) + rubocop-ast (1.28.0) parser (>= 3.2.1.0) rubocop-rails (2.18.0) activesupport (>= 4.2.0) @@ -541,7 +541,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.48) + rubocop (~> 1.49) rubocop-rails (~> 2.18) rubyzip (~> 2.3) sanitize From 9480fe273cd9cc84a8c979f9f7abb1c52b34a6b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 09:57:24 +0000 Subject: [PATCH 084/251] Bump puma from 6.1.1 to 6.2.1 Bumps [puma](https://github.com/puma/puma) from 6.1.1 to 6.2.1. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v6.1.1...v6.2.1) --- updated-dependencies: - dependency-name: puma dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index adc7dd5a..9322e5d6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -266,7 +266,7 @@ GEM timeout net-smtp (0.3.3) net-protocol - nio4r (2.5.8) + nio4r (2.5.9) nokogiri (1.14.2) mini_portile2 (~> 2.8.0) racc (~> 1.4) @@ -281,7 +281,7 @@ GEM activerecord (>= 6) prometheus-client (4.1.0) public_suffix (4.0.7) - puma (6.1.1) + puma (6.2.1) nio4r (~> 2.0) pundit (2.3.0) activesupport (>= 3.0.0) From 38aea83d72591bfa2568124e22d01c7bfb925826 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 09:57:34 +0000 Subject: [PATCH 085/251] Bump @fortawesome/fontawesome-free from 6.3.0 to 6.4.0 Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0) --- updated-dependencies: - dependency-name: "@fortawesome/fontawesome-free" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ef73449e..9fc6d273 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "@fontsource/lexend": "^4.5.15", - "@fortawesome/fontawesome-free": "^6.3.0", + "@fortawesome/fontawesome-free": "^6.4.0", "@hotwired/stimulus": "^3.2.1", "@hotwired/turbo-rails": "^7.3.0", "@melloware/coloris": "^0.18.0", diff --git a/yarn.lock b/yarn.lock index 2b9d67ac..75841f0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -179,10 +179,10 @@ resolved "https://registry.yarnpkg.com/@fontsource/lexend/-/lexend-4.5.15.tgz#ee033b850224d05b665d6661bf8d32c950f166bb" integrity sha512-6edLmDmte8pJWtQ1NIahcJq0iWlf6b0/JLwkd7WbDQ3C5tZWnxjvbP4RSklMv4MPzGjpuYuYnc+QANbjUws1oA== -"@fortawesome/fontawesome-free@^6.3.0": - version "6.3.0" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.3.0.tgz#b5877182692a6f7a39d1108837bec24247ba4bd7" - integrity sha512-qVtd5i1Cc7cdrqnTWqTObKQHjPWAiRwjUPaXObaeNPcy7+WKxJumGBx66rfSFgK6LNpIasVKkEgW8oyf0tmPLA== +"@fortawesome/fontawesome-free@^6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.0.tgz#1ee0c174e472c84b23cb46c995154dc383e3b4fe" + integrity sha512-0NyytTlPJwB/BF5LtRV8rrABDbe3TdTXqNB3PdZ+UUUZAEIrdOJdmABqKjt4AXwIoJNaRVVZEXxpNrqvE1GAYQ== "@hotwired/stimulus@^3.2.1": version "3.2.1" From fe2ac28fc9c469901b4006b33d6bc3f5d543974d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 09:57:51 +0000 Subject: [PATCH 086/251] Bump devise from 4.9.0 to 4.9.1 Bumps [devise](https://github.com/heartcombo/devise) from 4.9.0 to 4.9.1. - [Release notes](https://github.com/heartcombo/devise/releases) - [Changelog](https://github.com/heartcombo/devise/blob/main/CHANGELOG.md) - [Commits](https://github.com/heartcombo/devise/compare/v4.9.0...v4.9.1) --- updated-dependencies: - dependency-name: devise dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index c32dd125..af29e89c 100644 --- a/Gemfile +++ b/Gemfile @@ -24,7 +24,7 @@ gem "bootstrap_form", "~> 5.0" gem "carrierwave", "~> 2.0" gem "carrierwave_backgrounder", git: "https://github.com/raccube/carrierwave_backgrounder.git" gem "colorize" -gem "devise", "~> 4.0" +gem "devise", "~> 4.9" gem "devise-async" gem "devise-i18n" gem "fog-aws" diff --git a/Gemfile.lock b/Gemfile.lock index adc7dd5a..fde043a5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -117,7 +117,7 @@ GEM database_cleaner-core (2.0.1) date (3.3.3) debug_inspector (1.1.0) - devise (4.9.0) + devise (4.9.1) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -232,7 +232,7 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.19.1) + loofah (2.20.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) mail (2.7.1) @@ -493,7 +493,7 @@ DEPENDENCIES connection_pool cssbundling-rails (~> 1.1) database_cleaner - devise (~> 4.0) + devise (~> 4.9) devise-async devise-i18n dry-initializer (~> 3.1) From f7b4bde01a901d65e3d2573af550fbf253c4fd0a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 09:58:12 +0000 Subject: [PATCH 087/251] Bump esbuild from 0.17.14 to 0.17.15 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.14 to 0.17.15. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.14...v0.17.15) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index ef73449e..405322ae 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.14", + "esbuild": "^0.17.15", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 2b9d67ac..0b01777b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.14.tgz#4624cea3c8941c91f9e9c1228f550d23f1cef037" - integrity sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg== +"@esbuild/android-arm64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz#893ad71f3920ccb919e1757c387756a9bca2ef42" + integrity sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA== -"@esbuild/android-arm@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.14.tgz#74fae60fcab34c3f0e15cb56473a6091ba2b53a6" - integrity sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g== +"@esbuild/android-arm@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.15.tgz#143e0d4e4c08c786ea410b9a7739779a9a1315d8" + integrity sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg== -"@esbuild/android-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.14.tgz#f002fbc08d5e939d8314bd23bcfb1e95d029491f" - integrity sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng== +"@esbuild/android-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.15.tgz#d2d12a7676b2589864281b2274355200916540bc" + integrity sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ== -"@esbuild/darwin-arm64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.14.tgz#b8dcd79a1dd19564950b4ca51d62999011e2e168" - integrity sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw== +"@esbuild/darwin-arm64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz#2e88e79f1d327a2a7d9d06397e5232eb0a473d61" + integrity sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA== -"@esbuild/darwin-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.14.tgz#4b49f195d9473625efc3c773fc757018f2c0d979" - integrity sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g== +"@esbuild/darwin-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz#9384e64c0be91388c57be6d3a5eaf1c32a99c91d" + integrity sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg== -"@esbuild/freebsd-arm64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.14.tgz#480923fd38f644c6342c55e916cc7c231a85eeb7" - integrity sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A== +"@esbuild/freebsd-arm64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz#2ad5a35bc52ebd9ca6b845dbc59ba39647a93c1a" + integrity sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg== -"@esbuild/freebsd-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.14.tgz#a6b6b01954ad8562461cb8a5e40e8a860af69cbe" - integrity sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw== +"@esbuild/freebsd-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz#b513a48446f96c75fda5bef470e64d342d4379cd" + integrity sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ== -"@esbuild/linux-arm64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.14.tgz#1fe2f39f78183b59f75a4ad9c48d079916d92418" - integrity sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g== +"@esbuild/linux-arm64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz#9697b168175bfd41fa9cc4a72dd0d48f24715f31" + integrity sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA== -"@esbuild/linux-arm@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.14.tgz#18d594a49b64e4a3a05022c005cb384a58056a2a" - integrity sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg== +"@esbuild/linux-arm@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz#5b22062c54f48cd92fab9ffd993732a52db70cd3" + integrity sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw== -"@esbuild/linux-ia32@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.14.tgz#f7f0182a9cfc0159e0922ed66c805c9c6ef1b654" - integrity sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ== +"@esbuild/linux-ia32@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz#eb28a13f9b60b5189fcc9e98e1024f6b657ba54c" + integrity sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q== -"@esbuild/linux-loong64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.14.tgz#5f5305fdffe2d71dd9a97aa77d0c99c99409066f" - integrity sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ== +"@esbuild/linux-loong64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz#32454bdfe144cf74b77895a8ad21a15cb81cfbe5" + integrity sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ== -"@esbuild/linux-mips64el@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.14.tgz#a602e85c51b2f71d2aedfe7f4143b2f92f97f3f5" - integrity sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg== +"@esbuild/linux-mips64el@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz#af12bde0d775a318fad90eb13a0455229a63987c" + integrity sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ== -"@esbuild/linux-ppc64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.14.tgz#32d918d782105cbd9345dbfba14ee018b9c7afdf" - integrity sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ== +"@esbuild/linux-ppc64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz#34c5ed145b2dfc493d3e652abac8bd3baa3865a5" + integrity sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg== -"@esbuild/linux-riscv64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.14.tgz#38612e7b6c037dff7022c33f49ca17f85c5dec58" - integrity sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw== +"@esbuild/linux-riscv64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz#87bd515e837f2eb004b45f9e6a94dc5b93f22b92" + integrity sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA== -"@esbuild/linux-s390x@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.14.tgz#4397dff354f899e72fd035d72af59a700c465ccb" - integrity sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww== +"@esbuild/linux-s390x@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz#20bf7947197f199ddac2ec412029a414ceae3aa3" + integrity sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg== -"@esbuild/linux-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.14.tgz#6c5cb99891b6c3e0c08369da3ef465e8038ad9c2" - integrity sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw== +"@esbuild/linux-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz#31b93f9c94c195e852c20cd3d1914a68aa619124" + integrity sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg== -"@esbuild/netbsd-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.14.tgz#5fa5255a64e9bf3947c1b3bef5e458b50b211994" - integrity sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ== +"@esbuild/netbsd-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz#8da299b3ac6875836ca8cdc1925826498069ac65" + integrity sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA== -"@esbuild/openbsd-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.14.tgz#74d14c79dcb6faf446878cc64284aa4e02f5ca6f" - integrity sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g== +"@esbuild/openbsd-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz#04a1ec3d4e919714dba68dcf09eeb1228ad0d20c" + integrity sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w== -"@esbuild/sunos-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.14.tgz#5c7d1c7203781d86c2a9b2ff77bd2f8036d24cfa" - integrity sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA== +"@esbuild/sunos-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz#6694ebe4e16e5cd7dab6505ff7c28f9c1c695ce5" + integrity sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ== -"@esbuild/win32-arm64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.14.tgz#dc36ed84f1390e73b6019ccf0566c80045e5ca3d" - integrity sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ== +"@esbuild/win32-arm64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz#1f95b2564193c8d1fee8f8129a0609728171d500" + integrity sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q== -"@esbuild/win32-ia32@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.14.tgz#0802a107afa9193c13e35de15a94fe347c588767" - integrity sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w== +"@esbuild/win32-ia32@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz#c362b88b3df21916ed7bcf75c6d09c6bf3ae354a" + integrity sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w== -"@esbuild/win32-x64@0.17.14": - version "0.17.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.14.tgz#e81fb49de05fed91bf74251c9ca0343f4fc77d31" - integrity sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA== +"@esbuild/win32-x64@0.17.15": + version "0.17.15" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz#c2e737f3a201ebff8e2ac2b8e9f246b397ad19b8" + integrity sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -840,33 +840,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.14: - version "0.17.14" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.14.tgz#d61a22de751a3133f3c6c7f9c1c3e231e91a3245" - integrity sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw== +esbuild@^0.17.15: + version "0.17.15" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.15.tgz#209ebc87cb671ffb79574db93494b10ffaf43cbc" + integrity sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw== optionalDependencies: - "@esbuild/android-arm" "0.17.14" - "@esbuild/android-arm64" "0.17.14" - "@esbuild/android-x64" "0.17.14" - "@esbuild/darwin-arm64" "0.17.14" - "@esbuild/darwin-x64" "0.17.14" - "@esbuild/freebsd-arm64" "0.17.14" - "@esbuild/freebsd-x64" "0.17.14" - "@esbuild/linux-arm" "0.17.14" - "@esbuild/linux-arm64" "0.17.14" - "@esbuild/linux-ia32" "0.17.14" - "@esbuild/linux-loong64" "0.17.14" - "@esbuild/linux-mips64el" "0.17.14" - "@esbuild/linux-ppc64" "0.17.14" - "@esbuild/linux-riscv64" "0.17.14" - "@esbuild/linux-s390x" "0.17.14" - "@esbuild/linux-x64" "0.17.14" - "@esbuild/netbsd-x64" "0.17.14" - "@esbuild/openbsd-x64" "0.17.14" - "@esbuild/sunos-x64" "0.17.14" - "@esbuild/win32-arm64" "0.17.14" - "@esbuild/win32-ia32" "0.17.14" - "@esbuild/win32-x64" "0.17.14" + "@esbuild/android-arm" "0.17.15" + "@esbuild/android-arm64" "0.17.15" + "@esbuild/android-x64" "0.17.15" + "@esbuild/darwin-arm64" "0.17.15" + "@esbuild/darwin-x64" "0.17.15" + "@esbuild/freebsd-arm64" "0.17.15" + "@esbuild/freebsd-x64" "0.17.15" + "@esbuild/linux-arm" "0.17.15" + "@esbuild/linux-arm64" "0.17.15" + "@esbuild/linux-ia32" "0.17.15" + "@esbuild/linux-loong64" "0.17.15" + "@esbuild/linux-mips64el" "0.17.15" + "@esbuild/linux-ppc64" "0.17.15" + "@esbuild/linux-riscv64" "0.17.15" + "@esbuild/linux-s390x" "0.17.15" + "@esbuild/linux-x64" "0.17.15" + "@esbuild/netbsd-x64" "0.17.15" + "@esbuild/openbsd-x64" "0.17.15" + "@esbuild/sunos-x64" "0.17.15" + "@esbuild/win32-arm64" "0.17.15" + "@esbuild/win32-ia32" "0.17.15" + "@esbuild/win32-x64" "0.17.15" escape-string-regexp@^1.0.5: version "1.0.5" From 65a46827324f491a85e8ce1c557e7836735aa39c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 13:16:50 +0000 Subject: [PATCH 088/251] Bump rspec-mocks from 3.12.4 to 3.12.5 Bumps [rspec-mocks](https://github.com/rspec/rspec-mocks) from 3.12.4 to 3.12.5. - [Release notes](https://github.com/rspec/rspec-mocks/releases) - [Changelog](https://github.com/rspec/rspec-mocks/blob/main/Changelog.md) - [Commits](https://github.com/rspec/rspec-mocks/compare/v3.12.4...v3.12.5) --- updated-dependencies: - dependency-name: rspec-mocks dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e825257c..01210678 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -364,7 +364,7 @@ GEM rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.12.4) + rspec-mocks (3.12.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-rails (6.0.1) From 6ee3d3771e4535c85c33928261ffe30bb4d67974 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 15:15:33 +0000 Subject: [PATCH 089/251] Bump typescript from 5.0.2 to 5.0.3 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.2 to 5.0.3. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 93343dbd..c33aadda 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "sass": "^1.60.0", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", - "typescript": "^5.0.2" + "typescript": "^5.0.3" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", diff --git a/yarn.lock b/yarn.lock index 025546e6..033a463c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2512,10 +2512,10 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -typescript@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" - integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== +typescript@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.3.tgz#fe976f0c826a88d0a382007681cbb2da44afdedf" + integrity sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA== unbox-primitive@^1.0.1: version "1.0.1" From b7cc96288c88d847a4a5b8ad4ffab425bf192509 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 09:58:05 +0000 Subject: [PATCH 090/251] Bump devise from 4.9.1 to 4.9.2 Bumps [devise](https://github.com/heartcombo/devise) from 4.9.1 to 4.9.2. - [Release notes](https://github.com/heartcombo/devise/releases) - [Changelog](https://github.com/heartcombo/devise/blob/main/CHANGELOG.md) - [Commits](https://github.com/heartcombo/devise/compare/v4.9.1...v4.9.2) --- updated-dependencies: - dependency-name: devise dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0772202a..3955a009 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -117,7 +117,7 @@ GEM database_cleaner-core (2.0.1) date (3.3.3) debug_inspector (1.1.0) - devise (4.9.1) + devise (4.9.2) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) From 3ccf00e9849a9a769baa881002ce4329419b7f16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 09:58:22 +0000 Subject: [PATCH 091/251] Bump sass from 1.60.0 to 1.61.0 Bumps [sass](https://github.com/sass/dart-sass) from 1.60.0 to 1.61.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.60.0...1.61.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c33aadda..562a6337 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.60.0", + "sass": "^1.61.0", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.0.3" diff --git a/yarn.lock b/yarn.lock index 033a463c..b76d6c15 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2115,10 +2115,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.60.0: - version "1.60.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.60.0.tgz#657f0c23a302ac494b09a5ba8497b739fb5b5a81" - integrity sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ== +sass@^1.61.0: + version "1.61.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.61.0.tgz#d1f6761bb833887b8fdab32a24e052c40531d02b" + integrity sha512-PDsN7BrVkNZK2+dj/dpKQAWZavbAQ87IXqVvw2+oEYI+GwlTWkvbQtL7F2cCNbMqJEYKPh1EcjSxsnqIb/kyaQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 8bd2248ba7dbeedeb299736df201dcd7b9d43b5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 09:58:40 +0000 Subject: [PATCH 092/251] Bump rubocop-rails from 2.18.0 to 2.19.0 Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.18.0 to 2.19.0. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.18.0...v2.19.0) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index d2944a04..254fa690 100644 --- a/Gemfile +++ b/Gemfile @@ -91,7 +91,7 @@ group :development, :test do gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false gem "rubocop", "~> 1.49" - gem "rubocop-rails", "~> 2.18" + gem "rubocop-rails", "~> 2.19" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false gem "simplecov-cobertura", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 0772202a..b8221f76 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -391,7 +391,7 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.28.0) parser (>= 3.2.1.0) - rubocop-rails (2.18.0) + rubocop-rails (2.19.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) @@ -542,7 +542,7 @@ DEPENDENCIES rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) rubocop (~> 1.49) - rubocop-rails (~> 2.18) + rubocop-rails (~> 2.19) rubyzip (~> 2.3) sanitize sassc-rails From 4ad824dcad3905eafb40b4343176bc210824fcf5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 09:59:30 +0000 Subject: [PATCH 093/251] Bump oj from 3.14.2 to 3.14.3 Bumps [oj](https://github.com/ohler55/oj) from 3.14.2 to 3.14.3. - [Release notes](https://github.com/ohler55/oj/releases) - [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md) - [Commits](https://github.com/ohler55/oj/compare/v3.14.2...v3.14.3) --- updated-dependencies: - dependency-name: oj dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0772202a..f8df756a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -270,7 +270,7 @@ GEM nokogiri (1.14.2) mini_portile2 (~> 2.8.0) racc (~> 1.4) - oj (3.14.2) + oj (3.14.3) openssl (3.1.0) orm_adapter (0.5.0) parallel (1.22.1) From a8c5b4174e365953e13452f8f24bf832cb095cf9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 10:00:20 +0000 Subject: [PATCH 094/251] Bump esbuild from 0.17.15 to 0.17.16 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.15 to 0.17.16. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.15...v0.17.16) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index c33aadda..e18080db 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.15", + "esbuild": "^0.17.16", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 033a463c..9c9929e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz#893ad71f3920ccb919e1757c387756a9bca2ef42" - integrity sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA== +"@esbuild/android-arm64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz#7b18cab5f4d93e878306196eed26b6d960c12576" + integrity sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q== -"@esbuild/android-arm@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.15.tgz#143e0d4e4c08c786ea410b9a7739779a9a1315d8" - integrity sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg== +"@esbuild/android-arm@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.16.tgz#5c47f6a7c2cada6ed4b4d4e72d8c66e76d812812" + integrity sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw== -"@esbuild/android-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.15.tgz#d2d12a7676b2589864281b2274355200916540bc" - integrity sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ== +"@esbuild/android-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.16.tgz#8686a6e98359071ffd5312046551943e7244c51a" + integrity sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow== -"@esbuild/darwin-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz#2e88e79f1d327a2a7d9d06397e5232eb0a473d61" - integrity sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA== +"@esbuild/darwin-arm64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz#aa79fbf447630ca0696a596beba962a775bbf394" + integrity sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA== -"@esbuild/darwin-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz#9384e64c0be91388c57be6d3a5eaf1c32a99c91d" - integrity sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg== +"@esbuild/darwin-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz#d5d68ee510507104da7e7503224c647c957e163e" + integrity sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ== -"@esbuild/freebsd-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz#2ad5a35bc52ebd9ca6b845dbc59ba39647a93c1a" - integrity sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg== +"@esbuild/freebsd-arm64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz#b00b4cc8c2e424907cfe3a607384ab24794edd52" + integrity sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA== -"@esbuild/freebsd-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz#b513a48446f96c75fda5bef470e64d342d4379cd" - integrity sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ== +"@esbuild/freebsd-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz#84af4430a07730b50bbc945a90cf7036c1853b76" + integrity sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g== -"@esbuild/linux-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz#9697b168175bfd41fa9cc4a72dd0d48f24715f31" - integrity sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA== +"@esbuild/linux-arm64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz#35571d15de6272c862d9ce6341372fb3cef0f266" + integrity sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA== -"@esbuild/linux-arm@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz#5b22062c54f48cd92fab9ffd993732a52db70cd3" - integrity sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw== +"@esbuild/linux-arm@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz#b65c7cd5b0eadd08f91aab66b9dda81b6a4b2a70" + integrity sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw== -"@esbuild/linux-ia32@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz#eb28a13f9b60b5189fcc9e98e1024f6b657ba54c" - integrity sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q== +"@esbuild/linux-ia32@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz#673a68cb251ce44a00a6422ada29064c5a1cd2c0" + integrity sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA== -"@esbuild/linux-loong64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz#32454bdfe144cf74b77895a8ad21a15cb81cfbe5" - integrity sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ== +"@esbuild/linux-loong64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz#477e2da34ab46ffdbf4740fa6441e80045249385" + integrity sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ== -"@esbuild/linux-mips64el@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz#af12bde0d775a318fad90eb13a0455229a63987c" - integrity sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ== +"@esbuild/linux-mips64el@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz#e1e9687bbdaa831d7c34edc9278200982c1a4bf4" + integrity sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA== -"@esbuild/linux-ppc64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz#34c5ed145b2dfc493d3e652abac8bd3baa3865a5" - integrity sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg== +"@esbuild/linux-ppc64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz#2f19075d63622987e86e83a4b7866cd57b796c60" + integrity sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q== -"@esbuild/linux-riscv64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz#87bd515e837f2eb004b45f9e6a94dc5b93f22b92" - integrity sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA== +"@esbuild/linux-riscv64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz#bbf40a38f03ba2434fe69b5ceeec5d13c742b329" + integrity sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA== -"@esbuild/linux-s390x@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz#20bf7947197f199ddac2ec412029a414ceae3aa3" - integrity sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg== +"@esbuild/linux-s390x@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz#d2b8c0779ccd2b7917cdf0fab8831a468e0f9c01" + integrity sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw== -"@esbuild/linux-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz#31b93f9c94c195e852c20cd3d1914a68aa619124" - integrity sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg== +"@esbuild/linux-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz#da48b39cfdc1b12a74976625f583f031eac43590" + integrity sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g== -"@esbuild/netbsd-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz#8da299b3ac6875836ca8cdc1925826498069ac65" - integrity sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA== +"@esbuild/netbsd-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz#ddef985aed37cc81908d2573b66c0299dbc49037" + integrity sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA== -"@esbuild/openbsd-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz#04a1ec3d4e919714dba68dcf09eeb1228ad0d20c" - integrity sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w== +"@esbuild/openbsd-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz#85035bf89efd66e9068bc72aa6bb85a2c317d090" + integrity sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew== -"@esbuild/sunos-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz#6694ebe4e16e5cd7dab6505ff7c28f9c1c695ce5" - integrity sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ== +"@esbuild/sunos-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz#16338ecab854cb2d831cc9ee9cc21ef69566e1f3" + integrity sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag== -"@esbuild/win32-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz#1f95b2564193c8d1fee8f8129a0609728171d500" - integrity sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q== +"@esbuild/win32-arm64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz#423f46bb744aff897a5f74435469e1ef4952e343" + integrity sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg== -"@esbuild/win32-ia32@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz#c362b88b3df21916ed7bcf75c6d09c6bf3ae354a" - integrity sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w== +"@esbuild/win32-ia32@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz#1978be5b192c7063bd2c8d5960eb213e1964740e" + integrity sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA== -"@esbuild/win32-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz#c2e737f3a201ebff8e2ac2b8e9f246b397ad19b8" - integrity sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA== +"@esbuild/win32-x64@0.17.16": + version "0.17.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz#260f19b0a3300d22c3a3f52722c671dc561edaa3" + integrity sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -840,33 +840,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.15: - version "0.17.15" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.15.tgz#209ebc87cb671ffb79574db93494b10ffaf43cbc" - integrity sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw== +esbuild@^0.17.16: + version "0.17.16" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.16.tgz#5efec24a8ff29e0c157359f27e1b5532a728b720" + integrity sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg== optionalDependencies: - "@esbuild/android-arm" "0.17.15" - "@esbuild/android-arm64" "0.17.15" - "@esbuild/android-x64" "0.17.15" - "@esbuild/darwin-arm64" "0.17.15" - "@esbuild/darwin-x64" "0.17.15" - "@esbuild/freebsd-arm64" "0.17.15" - "@esbuild/freebsd-x64" "0.17.15" - "@esbuild/linux-arm" "0.17.15" - "@esbuild/linux-arm64" "0.17.15" - "@esbuild/linux-ia32" "0.17.15" - "@esbuild/linux-loong64" "0.17.15" - "@esbuild/linux-mips64el" "0.17.15" - "@esbuild/linux-ppc64" "0.17.15" - "@esbuild/linux-riscv64" "0.17.15" - "@esbuild/linux-s390x" "0.17.15" - "@esbuild/linux-x64" "0.17.15" - "@esbuild/netbsd-x64" "0.17.15" - "@esbuild/openbsd-x64" "0.17.15" - "@esbuild/sunos-x64" "0.17.15" - "@esbuild/win32-arm64" "0.17.15" - "@esbuild/win32-ia32" "0.17.15" - "@esbuild/win32-x64" "0.17.15" + "@esbuild/android-arm" "0.17.16" + "@esbuild/android-arm64" "0.17.16" + "@esbuild/android-x64" "0.17.16" + "@esbuild/darwin-arm64" "0.17.16" + "@esbuild/darwin-x64" "0.17.16" + "@esbuild/freebsd-arm64" "0.17.16" + "@esbuild/freebsd-x64" "0.17.16" + "@esbuild/linux-arm" "0.17.16" + "@esbuild/linux-arm64" "0.17.16" + "@esbuild/linux-ia32" "0.17.16" + "@esbuild/linux-loong64" "0.17.16" + "@esbuild/linux-mips64el" "0.17.16" + "@esbuild/linux-ppc64" "0.17.16" + "@esbuild/linux-riscv64" "0.17.16" + "@esbuild/linux-s390x" "0.17.16" + "@esbuild/linux-x64" "0.17.16" + "@esbuild/netbsd-x64" "0.17.16" + "@esbuild/openbsd-x64" "0.17.16" + "@esbuild/sunos-x64" "0.17.16" + "@esbuild/win32-arm64" "0.17.16" + "@esbuild/win32-ia32" "0.17.16" + "@esbuild/win32-x64" "0.17.16" escape-string-regexp@^1.0.5: version "1.0.5" From b00d962ba34e5674a8f5472e6b59b50fd94731b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 20:25:01 +0000 Subject: [PATCH 095/251] Bump typescript from 5.0.3 to 5.0.4 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.3 to 5.0.4. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v5.0.3...v5.0.4) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 019f9db6..daf7b3d2 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "sass": "^1.61.0", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", - "typescript": "^5.0.3" + "typescript": "^5.0.4" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", diff --git a/yarn.lock b/yarn.lock index 3cb375a2..fb7c463e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2512,10 +2512,10 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -typescript@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.3.tgz#fe976f0c826a88d0a382007681cbb2da44afdedf" - integrity sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA== +typescript@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== unbox-primitive@^1.0.1: version "1.0.1" From aac40ae23dfb5905b90cd5c32d6dcb1974380948 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Apr 2023 06:23:41 +0000 Subject: [PATCH 096/251] Bump nokogiri from 1.14.2 to 1.14.3 Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.14.2 to 1.14.3. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.14.2...v1.14.3) --- updated-dependencies: - dependency-name: nokogiri dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1b67b5fe..e3cf01eb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -267,7 +267,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.9) - nokogiri (1.14.2) + nokogiri (1.14.3) mini_portile2 (~> 2.8.0) racc (~> 1.4) oj (3.14.3) From a2d8c84e69186073a0ee5101dc696195222fa98f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 09:56:46 +0000 Subject: [PATCH 097/251] Bump rubocop from 1.49.0 to 1.50.2 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.49.0 to 1.50.2. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.49.0...v1.50.2) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 254fa690..b50aba94 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.49" + gem "rubocop", "~> 1.50" gem "rubocop-rails", "~> 2.19" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index e3cf01eb..d368c775 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -379,7 +379,7 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.49.0) + rubocop (1.50.2) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) @@ -541,7 +541,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.49) + rubocop (~> 1.50) rubocop-rails (~> 2.19) rubyzip (~> 2.3) sanitize From 995e4f1c30e22e6232fa96cb1b8454b4ac310768 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 09:57:18 +0000 Subject: [PATCH 098/251] Bump pghero from 3.3.1 to 3.3.2 Bumps [pghero](https://github.com/ankane/pghero) from 3.3.1 to 3.3.2. - [Release notes](https://github.com/ankane/pghero/releases) - [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/pghero/compare/v3.3.1...v3.3.2) --- updated-dependencies: - dependency-name: pghero dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e3cf01eb..b760994c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -277,7 +277,7 @@ GEM parser (3.2.2.0) ast (~> 2.4.1) pg (1.4.6) - pghero (3.3.1) + pghero (3.3.2) activerecord (>= 6) prometheus-client (4.1.0) public_suffix (4.0.7) From 9ef7d74ffc0a6686ab1b03863f487bb2e68e332c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 09:57:31 +0000 Subject: [PATCH 099/251] Bump sass from 1.61.0 to 1.62.0 Bumps [sass](https://github.com/sass/dart-sass) from 1.61.0 to 1.62.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.61.0...1.62.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index daf7b3d2..8280c675 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.61.0", + "sass": "^1.62.0", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.0.4" diff --git a/yarn.lock b/yarn.lock index fb7c463e..7672c987 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2115,10 +2115,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.61.0: - version "1.61.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.61.0.tgz#d1f6761bb833887b8fdab32a24e052c40531d02b" - integrity sha512-PDsN7BrVkNZK2+dj/dpKQAWZavbAQ87IXqVvw2+oEYI+GwlTWkvbQtL7F2cCNbMqJEYKPh1EcjSxsnqIb/kyaQ== +sass@^1.62.0: + version "1.62.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.0.tgz#3686b2195b93295d20765135e562366b33ece37d" + integrity sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 57e3f97b1deada18e75741ba1d10ff95c98903dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 09:58:03 +0000 Subject: [PATCH 100/251] Bump esbuild from 0.17.16 to 0.17.17 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.16 to 0.17.17. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.16...v0.17.17) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index daf7b3d2..cb777441 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.16", + "esbuild": "^0.17.17", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index fb7c463e..36663198 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz#7b18cab5f4d93e878306196eed26b6d960c12576" - integrity sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q== +"@esbuild/android-arm64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.17.tgz#164b054d58551f8856285f386e1a8f45d9ba3a31" + integrity sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg== -"@esbuild/android-arm@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.16.tgz#5c47f6a7c2cada6ed4b4d4e72d8c66e76d812812" - integrity sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw== +"@esbuild/android-arm@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.17.tgz#1b3b5a702a69b88deef342a7a80df4c894e4f065" + integrity sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg== -"@esbuild/android-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.16.tgz#8686a6e98359071ffd5312046551943e7244c51a" - integrity sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow== +"@esbuild/android-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.17.tgz#6781527e3c4ea4de532b149d18a2167f06783e7f" + integrity sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA== -"@esbuild/darwin-arm64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz#aa79fbf447630ca0696a596beba962a775bbf394" - integrity sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA== +"@esbuild/darwin-arm64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.17.tgz#c5961ef4d3c1cc80dafe905cc145b5a71d2ac196" + integrity sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ== -"@esbuild/darwin-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz#d5d68ee510507104da7e7503224c647c957e163e" - integrity sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ== +"@esbuild/darwin-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.17.tgz#b81f3259cc349691f67ae30f7b333a53899b3c20" + integrity sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg== -"@esbuild/freebsd-arm64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz#b00b4cc8c2e424907cfe3a607384ab24794edd52" - integrity sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA== +"@esbuild/freebsd-arm64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.17.tgz#db846ad16cf916fd3acdda79b85ea867cb100e87" + integrity sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA== -"@esbuild/freebsd-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz#84af4430a07730b50bbc945a90cf7036c1853b76" - integrity sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g== +"@esbuild/freebsd-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.17.tgz#4dd99acbaaba00949d509e7c144b1b6ef9e1815b" + integrity sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw== -"@esbuild/linux-arm64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz#35571d15de6272c862d9ce6341372fb3cef0f266" - integrity sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA== +"@esbuild/linux-arm64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.17.tgz#7f9274140b2bb9f4230dbbfdf5dc2761215e30f6" + integrity sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw== -"@esbuild/linux-arm@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz#b65c7cd5b0eadd08f91aab66b9dda81b6a4b2a70" - integrity sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw== +"@esbuild/linux-arm@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.17.tgz#5c8e44c2af056bb2147cf9ad13840220bcb8948b" + integrity sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg== -"@esbuild/linux-ia32@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz#673a68cb251ce44a00a6422ada29064c5a1cd2c0" - integrity sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA== +"@esbuild/linux-ia32@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.17.tgz#18a6b3798658be7f46e9873fa0c8d4bec54c9212" + integrity sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q== -"@esbuild/linux-loong64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz#477e2da34ab46ffdbf4740fa6441e80045249385" - integrity sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ== +"@esbuild/linux-loong64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.17.tgz#a8d93514a47f7b4232716c9f02aeb630bae24c40" + integrity sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw== -"@esbuild/linux-mips64el@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz#e1e9687bbdaa831d7c34edc9278200982c1a4bf4" - integrity sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA== +"@esbuild/linux-mips64el@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.17.tgz#4784efb1c3f0eac8133695fa89253d558149ee1b" + integrity sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A== -"@esbuild/linux-ppc64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz#2f19075d63622987e86e83a4b7866cd57b796c60" - integrity sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q== +"@esbuild/linux-ppc64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.17.tgz#ef6558ec5e5dd9dc16886343e0ccdb0699d70d3c" + integrity sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ== -"@esbuild/linux-riscv64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz#bbf40a38f03ba2434fe69b5ceeec5d13c742b329" - integrity sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA== +"@esbuild/linux-riscv64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.17.tgz#13a87fdbcb462c46809c9d16bcf79817ecf9ce6f" + integrity sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA== -"@esbuild/linux-s390x@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz#d2b8c0779ccd2b7917cdf0fab8831a468e0f9c01" - integrity sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw== +"@esbuild/linux-s390x@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.17.tgz#83cb16d1d3ac0dca803b3f031ba3dc13f1ec7ade" + integrity sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ== -"@esbuild/linux-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz#da48b39cfdc1b12a74976625f583f031eac43590" - integrity sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g== +"@esbuild/linux-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.17.tgz#7bc400568690b688e20a0c94b2faabdd89ae1a79" + integrity sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg== -"@esbuild/netbsd-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz#ddef985aed37cc81908d2573b66c0299dbc49037" - integrity sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA== +"@esbuild/netbsd-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.17.tgz#1b5dcfbc4bfba80e67a11e9148de836af5b58b6c" + integrity sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA== -"@esbuild/openbsd-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz#85035bf89efd66e9068bc72aa6bb85a2c317d090" - integrity sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew== +"@esbuild/openbsd-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.17.tgz#e275098902291149a5dcd012c9ea0796d6b7adff" + integrity sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA== -"@esbuild/sunos-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz#16338ecab854cb2d831cc9ee9cc21ef69566e1f3" - integrity sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag== +"@esbuild/sunos-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.17.tgz#10603474866f64986c0370a2d4fe5a2bb7fee4f5" + integrity sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q== -"@esbuild/win32-arm64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz#423f46bb744aff897a5f74435469e1ef4952e343" - integrity sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg== +"@esbuild/win32-arm64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.17.tgz#521a6d97ee0f96b7c435930353cc4e93078f0b54" + integrity sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q== -"@esbuild/win32-ia32@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz#1978be5b192c7063bd2c8d5960eb213e1964740e" - integrity sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA== +"@esbuild/win32-ia32@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.17.tgz#56f88462ebe82dad829dc2303175c0e0ccd8e38e" + integrity sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ== -"@esbuild/win32-x64@0.17.16": - version "0.17.16" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz#260f19b0a3300d22c3a3f52722c671dc561edaa3" - integrity sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg== +"@esbuild/win32-x64@0.17.17": + version "0.17.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.17.tgz#2b577b976e6844106715bbe0cdc57cd1528063f9" + integrity sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -840,33 +840,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.16: - version "0.17.16" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.16.tgz#5efec24a8ff29e0c157359f27e1b5532a728b720" - integrity sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg== +esbuild@^0.17.17: + version "0.17.17" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.17.tgz#fa906ab11b11d2ed4700f494f4f764229b25c916" + integrity sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA== optionalDependencies: - "@esbuild/android-arm" "0.17.16" - "@esbuild/android-arm64" "0.17.16" - "@esbuild/android-x64" "0.17.16" - "@esbuild/darwin-arm64" "0.17.16" - "@esbuild/darwin-x64" "0.17.16" - "@esbuild/freebsd-arm64" "0.17.16" - "@esbuild/freebsd-x64" "0.17.16" - "@esbuild/linux-arm" "0.17.16" - "@esbuild/linux-arm64" "0.17.16" - "@esbuild/linux-ia32" "0.17.16" - "@esbuild/linux-loong64" "0.17.16" - "@esbuild/linux-mips64el" "0.17.16" - "@esbuild/linux-ppc64" "0.17.16" - "@esbuild/linux-riscv64" "0.17.16" - "@esbuild/linux-s390x" "0.17.16" - "@esbuild/linux-x64" "0.17.16" - "@esbuild/netbsd-x64" "0.17.16" - "@esbuild/openbsd-x64" "0.17.16" - "@esbuild/sunos-x64" "0.17.16" - "@esbuild/win32-arm64" "0.17.16" - "@esbuild/win32-ia32" "0.17.16" - "@esbuild/win32-x64" "0.17.16" + "@esbuild/android-arm" "0.17.17" + "@esbuild/android-arm64" "0.17.17" + "@esbuild/android-x64" "0.17.17" + "@esbuild/darwin-arm64" "0.17.17" + "@esbuild/darwin-x64" "0.17.17" + "@esbuild/freebsd-arm64" "0.17.17" + "@esbuild/freebsd-x64" "0.17.17" + "@esbuild/linux-arm" "0.17.17" + "@esbuild/linux-arm64" "0.17.17" + "@esbuild/linux-ia32" "0.17.17" + "@esbuild/linux-loong64" "0.17.17" + "@esbuild/linux-mips64el" "0.17.17" + "@esbuild/linux-ppc64" "0.17.17" + "@esbuild/linux-riscv64" "0.17.17" + "@esbuild/linux-s390x" "0.17.17" + "@esbuild/linux-x64" "0.17.17" + "@esbuild/netbsd-x64" "0.17.17" + "@esbuild/openbsd-x64" "0.17.17" + "@esbuild/sunos-x64" "0.17.17" + "@esbuild/win32-arm64" "0.17.17" + "@esbuild/win32-ia32" "0.17.17" + "@esbuild/win32-x64" "0.17.17" escape-string-regexp@^1.0.5: version "1.0.5" From 09bdb4ad09c5435b5384ec9c1dcd7f52fead0d59 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 09:59:39 +0000 Subject: [PATCH 101/251] Bump actions/checkout from 3.5.0 to 3.5.2 Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.0 to 3.5.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.5.0...v3.5.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/build-image.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/lint.yml | 8 ++++---- .github/workflows/retrospring.yml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index fab15bbe..d9614dfb 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -20,7 +20,7 @@ jobs: cancel-in-progress: true steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - name: Discover build-time variables run: | diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f494baf8..0c1e304b 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -33,7 +33,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3.5.0 + uses: actions/checkout@v3.5.2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d38cdd8a..2365f648 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: name: Rubocop runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -37,7 +37,7 @@ jobs: name: ESLint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -63,7 +63,7 @@ jobs: haml-lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 @@ -86,7 +86,7 @@ jobs: stylelint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 diff --git a/.github/workflows/retrospring.yml b/.github/workflows/retrospring.yml index e7a799ab..53a84a22 100644 --- a/.github/workflows/retrospring.yml +++ b/.github/workflows/retrospring.yml @@ -41,7 +41,7 @@ jobs: BUNDLE_WITHOUT: 'production' steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - name: Install dependencies run: sudo apt update && sudo apt-get install -y libpq-dev libxml2-dev libxslt1-dev libmagickwand-dev imagemagick libidn11-dev - name: Set up Ruby From 90f0490517d10878388af08b1015e4f9ca83b423 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 10:13:16 +0000 Subject: [PATCH 102/251] Bump rubocop-rails from 2.19.0 to 2.19.1 Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.19.0 to 2.19.1. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.19.0...v2.19.1) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index cd79ec1f..b4d0aa4b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -391,7 +391,7 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.28.0) parser (>= 3.2.1.0) - rubocop-rails (2.19.0) + rubocop-rails (2.19.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) From 48e63cf472351f15bb87ed5d370e8ddf4850b485 Mon Sep 17 00:00:00 2001 From: Georg Gadinger Date: Sat, 22 Apr 2023 22:05:15 +0200 Subject: [PATCH 103/251] typoed_email_validator: add new endings to the typo list --- app/validators/typoed_email_validator.rb | 1 + spec/models/user_spec.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/app/validators/typoed_email_validator.rb b/app/validators/typoed_email_validator.rb index f2f8e5d7..717fae97 100644 --- a/app/validators/typoed_email_validator.rb +++ b/app/validators/typoed_email_validator.rb @@ -29,6 +29,7 @@ class TypoedEmailValidator < ActiveModel::EachValidator iclooud.com iclould.com icluod.com + maibox.org protonail.com xn--gmail-xk1c.com yahooo.com diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index c3071896..784a6aaf 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -138,6 +138,7 @@ RSpec.describe User, type: :model do include_examples "invalid email", "fritz.fantom@iclooud.com" include_examples "invalid email", "fritz.fantom@iclould.com" include_examples "invalid email", "fritz.fantom@icluod.com" + include_examples "invalid email", "fritz.fantom@maibox.org" include_examples "invalid email", "fritz.fantom@protonail.com" include_examples "invalid email", "fritz.fantom@xn--gmail-xk1c.com" include_examples "invalid email", "fritz.fantom@yahooo.com" From 0777604a329875d300e5a806f8c7e1289b8dc3b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 09:57:21 +0000 Subject: [PATCH 104/251] Bump @melloware/coloris from 0.18.0 to 0.19.1 Bumps [@melloware/coloris](https://github.com/melloware/coloris-npm) from 0.18.0 to 0.19.1. - [Release notes](https://github.com/melloware/coloris-npm/releases) - [Commits](https://github.com/melloware/coloris-npm/compare/0.18.0...0.19.1) --- updated-dependencies: - dependency-name: "@melloware/coloris" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f6ae260e..d243a48d 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "@fortawesome/fontawesome-free": "^6.4.0", "@hotwired/stimulus": "^3.2.1", "@hotwired/turbo-rails": "^7.3.0", - "@melloware/coloris": "^0.18.0", + "@melloware/coloris": "^0.19.1", "@popperjs/core": "^2.11", "@rails/request.js": "^0.0.8", "bootstrap": "^5.2", diff --git a/yarn.lock b/yarn.lock index db157939..5687087a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -216,10 +216,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@melloware/coloris@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.18.0.tgz#80be501412567cea699fcaf370f1a0576b44766e" - integrity sha512-XF0OiDVkqYuqscUWFe2uFJORIOsus5JB+AQ4hEFMJjM2xJTkzrCmsIFkTwxjt/2PXeZwuo50ZDcZIiW3X5ZG0Q== +"@melloware/coloris@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.19.1.tgz#1bfac4515d26b6889f885ac3ff36e2deb6522ba3" + integrity sha512-7C1ue136iQw3UCLy5GoCxXR+u4F1eB0MMmpAwUH2okdQwmdjVNd+OmIQBKVDbM78lMFFJxzvtilWkYV/l8/4rw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From a04b27838ffa799afaea474324e3e1b0dc3f70d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 09:58:14 +0000 Subject: [PATCH 105/251] Bump esbuild from 0.17.17 to 0.17.18 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.17 to 0.17.18. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.17...v0.17.18) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index f6ae260e..64e91276 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.17", + "esbuild": "^0.17.18", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index db157939..1137ab9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.17.tgz#164b054d58551f8856285f386e1a8f45d9ba3a31" - integrity sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg== +"@esbuild/android-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz#4aa8d8afcffb4458736ca9b32baa97d7cb5861ea" + integrity sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw== -"@esbuild/android-arm@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.17.tgz#1b3b5a702a69b88deef342a7a80df4c894e4f065" - integrity sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg== +"@esbuild/android-arm@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.18.tgz#74a7e95af4ee212ebc9db9baa87c06a594f2a427" + integrity sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw== -"@esbuild/android-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.17.tgz#6781527e3c4ea4de532b149d18a2167f06783e7f" - integrity sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA== +"@esbuild/android-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.18.tgz#1dcd13f201997c9fe0b204189d3a0da4eb4eb9b6" + integrity sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg== -"@esbuild/darwin-arm64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.17.tgz#c5961ef4d3c1cc80dafe905cc145b5a71d2ac196" - integrity sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ== +"@esbuild/darwin-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz#444f3b961d4da7a89eb9bd35cfa4415141537c2a" + integrity sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ== -"@esbuild/darwin-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.17.tgz#b81f3259cc349691f67ae30f7b333a53899b3c20" - integrity sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg== +"@esbuild/darwin-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz#a6da308d0ac8a498c54d62e0b2bfb7119b22d315" + integrity sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A== -"@esbuild/freebsd-arm64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.17.tgz#db846ad16cf916fd3acdda79b85ea867cb100e87" - integrity sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA== +"@esbuild/freebsd-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz#b83122bb468889399d0d63475d5aea8d6829c2c2" + integrity sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA== -"@esbuild/freebsd-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.17.tgz#4dd99acbaaba00949d509e7c144b1b6ef9e1815b" - integrity sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw== +"@esbuild/freebsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz#af59e0e03fcf7f221b34d4c5ab14094862c9c864" + integrity sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew== -"@esbuild/linux-arm64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.17.tgz#7f9274140b2bb9f4230dbbfdf5dc2761215e30f6" - integrity sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw== +"@esbuild/linux-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz#8551d72ba540c5bce4bab274a81c14ed01eafdcf" + integrity sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ== -"@esbuild/linux-arm@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.17.tgz#5c8e44c2af056bb2147cf9ad13840220bcb8948b" - integrity sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg== +"@esbuild/linux-arm@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz#e09e76e526df4f665d4d2720d28ff87d15cdf639" + integrity sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg== -"@esbuild/linux-ia32@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.17.tgz#18a6b3798658be7f46e9873fa0c8d4bec54c9212" - integrity sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q== +"@esbuild/linux-ia32@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz#47878860ce4fe73a36fd8627f5647bcbbef38ba4" + integrity sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ== -"@esbuild/linux-loong64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.17.tgz#a8d93514a47f7b4232716c9f02aeb630bae24c40" - integrity sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw== +"@esbuild/linux-loong64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz#3f8fbf5267556fc387d20b2e708ce115de5c967a" + integrity sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ== -"@esbuild/linux-mips64el@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.17.tgz#4784efb1c3f0eac8133695fa89253d558149ee1b" - integrity sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A== +"@esbuild/linux-mips64el@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz#9d896d8f3c75f6c226cbeb840127462e37738226" + integrity sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA== -"@esbuild/linux-ppc64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.17.tgz#ef6558ec5e5dd9dc16886343e0ccdb0699d70d3c" - integrity sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ== +"@esbuild/linux-ppc64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz#3d9deb60b2d32c9985bdc3e3be090d30b7472783" + integrity sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ== -"@esbuild/linux-riscv64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.17.tgz#13a87fdbcb462c46809c9d16bcf79817ecf9ce6f" - integrity sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA== +"@esbuild/linux-riscv64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz#8a943cf13fd24ff7ed58aefb940ef178f93386bc" + integrity sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA== -"@esbuild/linux-s390x@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.17.tgz#83cb16d1d3ac0dca803b3f031ba3dc13f1ec7ade" - integrity sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ== +"@esbuild/linux-s390x@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz#66cb01f4a06423e5496facabdce4f7cae7cb80e5" + integrity sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw== -"@esbuild/linux-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.17.tgz#7bc400568690b688e20a0c94b2faabdd89ae1a79" - integrity sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg== +"@esbuild/linux-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz#23c26050c6c5d1359c7b774823adc32b3883b6c9" + integrity sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA== -"@esbuild/netbsd-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.17.tgz#1b5dcfbc4bfba80e67a11e9148de836af5b58b6c" - integrity sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA== +"@esbuild/netbsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz#789a203d3115a52633ff6504f8cbf757f15e703b" + integrity sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg== -"@esbuild/openbsd-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.17.tgz#e275098902291149a5dcd012c9ea0796d6b7adff" - integrity sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA== +"@esbuild/openbsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz#d7b998a30878f8da40617a10af423f56f12a5e90" + integrity sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA== -"@esbuild/sunos-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.17.tgz#10603474866f64986c0370a2d4fe5a2bb7fee4f5" - integrity sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q== +"@esbuild/sunos-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz#ecad0736aa7dae07901ba273db9ef3d3e93df31f" + integrity sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg== -"@esbuild/win32-arm64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.17.tgz#521a6d97ee0f96b7c435930353cc4e93078f0b54" - integrity sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q== +"@esbuild/win32-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz#58dfc177da30acf956252d7c8ae9e54e424887c4" + integrity sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg== -"@esbuild/win32-ia32@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.17.tgz#56f88462ebe82dad829dc2303175c0e0ccd8e38e" - integrity sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ== +"@esbuild/win32-ia32@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz#340f6163172b5272b5ae60ec12c312485f69232b" + integrity sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw== -"@esbuild/win32-x64@0.17.17": - version "0.17.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.17.tgz#2b577b976e6844106715bbe0cdc57cd1528063f9" - integrity sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg== +"@esbuild/win32-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz#3a8e57153905308db357fd02f57c180ee3a0a1fa" + integrity sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -840,33 +840,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.17: - version "0.17.17" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.17.tgz#fa906ab11b11d2ed4700f494f4f764229b25c916" - integrity sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA== +esbuild@^0.17.18: + version "0.17.18" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.18.tgz#f4f8eb6d77384d68cd71c53eb6601c7efe05e746" + integrity sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w== optionalDependencies: - "@esbuild/android-arm" "0.17.17" - "@esbuild/android-arm64" "0.17.17" - "@esbuild/android-x64" "0.17.17" - "@esbuild/darwin-arm64" "0.17.17" - "@esbuild/darwin-x64" "0.17.17" - "@esbuild/freebsd-arm64" "0.17.17" - "@esbuild/freebsd-x64" "0.17.17" - "@esbuild/linux-arm" "0.17.17" - "@esbuild/linux-arm64" "0.17.17" - "@esbuild/linux-ia32" "0.17.17" - "@esbuild/linux-loong64" "0.17.17" - "@esbuild/linux-mips64el" "0.17.17" - "@esbuild/linux-ppc64" "0.17.17" - "@esbuild/linux-riscv64" "0.17.17" - "@esbuild/linux-s390x" "0.17.17" - "@esbuild/linux-x64" "0.17.17" - "@esbuild/netbsd-x64" "0.17.17" - "@esbuild/openbsd-x64" "0.17.17" - "@esbuild/sunos-x64" "0.17.17" - "@esbuild/win32-arm64" "0.17.17" - "@esbuild/win32-ia32" "0.17.17" - "@esbuild/win32-x64" "0.17.17" + "@esbuild/android-arm" "0.17.18" + "@esbuild/android-arm64" "0.17.18" + "@esbuild/android-x64" "0.17.18" + "@esbuild/darwin-arm64" "0.17.18" + "@esbuild/darwin-x64" "0.17.18" + "@esbuild/freebsd-arm64" "0.17.18" + "@esbuild/freebsd-x64" "0.17.18" + "@esbuild/linux-arm" "0.17.18" + "@esbuild/linux-arm64" "0.17.18" + "@esbuild/linux-ia32" "0.17.18" + "@esbuild/linux-loong64" "0.17.18" + "@esbuild/linux-mips64el" "0.17.18" + "@esbuild/linux-ppc64" "0.17.18" + "@esbuild/linux-riscv64" "0.17.18" + "@esbuild/linux-s390x" "0.17.18" + "@esbuild/linux-x64" "0.17.18" + "@esbuild/netbsd-x64" "0.17.18" + "@esbuild/openbsd-x64" "0.17.18" + "@esbuild/sunos-x64" "0.17.18" + "@esbuild/win32-arm64" "0.17.18" + "@esbuild/win32-ia32" "0.17.18" + "@esbuild/win32-x64" "0.17.18" escape-string-regexp@^1.0.5: version "1.0.5" From 0d284b043aa73f00af528c8f4e5c3c4460cdc02d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 10:00:14 +0000 Subject: [PATCH 106/251] Bump pghero from 3.3.2 to 3.3.3 Bumps [pghero](https://github.com/ankane/pghero) from 3.3.2 to 3.3.3. - [Release notes](https://github.com/ankane/pghero/releases) - [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/pghero/compare/v3.3.2...v3.3.3) --- updated-dependencies: - dependency-name: pghero dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b4d0aa4b..0ae18bba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -277,7 +277,7 @@ GEM parser (3.2.2.0) ast (~> 2.4.1) pg (1.4.6) - pghero (3.3.2) + pghero (3.3.3) activerecord (>= 6) prometheus-client (4.1.0) public_suffix (4.0.7) From 5c848bd6bbe3999c8f3e2751d3aa6c9f19ee9d74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 10:01:18 +0000 Subject: [PATCH 107/251] Bump puma from 6.2.1 to 6.2.2 Bumps [puma](https://github.com/puma/puma) from 6.2.1 to 6.2.2. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v6.2.1...v6.2.2) --- updated-dependencies: - dependency-name: puma dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b4d0aa4b..ec8ce545 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -281,7 +281,7 @@ GEM activerecord (>= 6) prometheus-client (4.1.0) public_suffix (4.0.7) - puma (6.2.1) + puma (6.2.2) nio4r (~> 2.0) pundit (2.3.0) activesupport (>= 3.0.0) From 159bc8a8fd19bbf810cab2d62fd29307778dcfd9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 10:02:19 +0000 Subject: [PATCH 108/251] Bump sentry-sidekiq from 5.8.0 to 5.9.0 Bumps [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) from 5.8.0 to 5.9.0. - [Release notes](https://github.com/getsentry/sentry-ruby/releases) - [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-ruby/compare/5.8.0...5.9.0) --- updated-dependencies: - dependency-name: sentry-sidekiq dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b4d0aa4b..90da97ac 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -410,13 +410,13 @@ GEM sprockets (> 3.0) sprockets-rails tilt - sentry-rails (5.8.0) + sentry-rails (5.9.0) railties (>= 5.0) - sentry-ruby (~> 5.8.0) - sentry-ruby (5.8.0) + sentry-ruby (~> 5.9.0) + sentry-ruby (5.9.0) concurrent-ruby (~> 1.0, >= 1.0.2) - sentry-sidekiq (5.8.0) - sentry-ruby (~> 5.8.0) + sentry-sidekiq (5.9.0) + sentry-ruby (~> 5.9.0) sidekiq (>= 3.0) shoulda-matchers (5.3.0) activesupport (>= 5.2.0) From 1a2650e8107b4d18a2146792a49291bae7e0fbdd Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 7 Feb 2023 23:57:36 +0100 Subject: [PATCH 109/251] Add `@github/hotkey` --- app/javascript/retrospring/common.ts | 2 ++ app/javascript/retrospring/initializers/hotkey.ts | 8 ++++++++ package.json | 1 + yarn.lock | 5 +++++ 4 files changed, 16 insertions(+) create mode 100644 app/javascript/retrospring/initializers/hotkey.ts diff --git a/app/javascript/retrospring/common.ts b/app/javascript/retrospring/common.ts index a0b37013..bc5f3ec6 100644 --- a/app/javascript/retrospring/common.ts +++ b/app/javascript/retrospring/common.ts @@ -1,11 +1,13 @@ import '@hotwired/turbo-rails'; import initializeBootstrap from './initializers/bootstrap'; +import initializeHotkey from './initializers/hotkey'; import initializeServiceWorker from './initializers/serviceWorker'; import initializeStimulus from './initializers/stimulus'; export default function start(): void { try { initializeBootstrap(); + initializeHotkey(); initializeServiceWorker(); initializeStimulus(); } catch (e) { diff --git a/app/javascript/retrospring/initializers/hotkey.ts b/app/javascript/retrospring/initializers/hotkey.ts new file mode 100644 index 00000000..a82d1e96 --- /dev/null +++ b/app/javascript/retrospring/initializers/hotkey.ts @@ -0,0 +1,8 @@ +import { install } from '@github/hotkey' + +export default function (): void { + document.addEventListener('turbo:load', () => { + console.debug("Init Hotkey.") + document.querySelectorAll('[data-hotkey]').forEach(el => install(el as HTMLElement)); + }); +} diff --git a/package.json b/package.json index 98014aa2..1e7b6b95 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "dependencies": { "@fontsource/lexend": "^4.5.15", "@fortawesome/fontawesome-free": "^6.4.0", + "@github/hotkey": "^2.0.1", "@hotwired/stimulus": "^3.2.1", "@hotwired/turbo-rails": "^7.3.0", "@melloware/coloris": "^0.19.1", diff --git a/yarn.lock b/yarn.lock index 73b72f05..e24607d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -184,6 +184,11 @@ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.0.tgz#1ee0c174e472c84b23cb46c995154dc383e3b4fe" integrity sha512-0NyytTlPJwB/BF5LtRV8rrABDbe3TdTXqNB3PdZ+UUUZAEIrdOJdmABqKjt4AXwIoJNaRVVZEXxpNrqvE1GAYQ== +"@github/hotkey@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@github/hotkey/-/hotkey-2.0.1.tgz#24ad6b49313cee5b98368174eab16a4b53a08ec7" + integrity sha512-qKXjAJjtheJbf4ie3hi8IwrHWJZHB5qdojR6JGo6jvQNPpsdUbk/NIdU8sxu4PW41CjW80vfciDMu3MAP3j2Fg== + "@hotwired/stimulus@^3.2.1": version "3.2.1" resolved "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.1.tgz#e3de23623b0c52c247aba4cd5d530d257008676b" From dbd6f96f533ba7000dac13f10b1151c01c8de204 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Wed, 8 Feb 2023 00:00:50 +0100 Subject: [PATCH 110/251] Add navigation shortcuts --- app/helpers/bootstrap_helper.rb | 5 +++-- app/views/navigation/_desktop.html.haml | 10 +++++----- app/views/navigation/dropdown/_profile.html.haml | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/app/helpers/bootstrap_helper.rb b/app/helpers/bootstrap_helper.rb index 730713f2..d1cda2a0 100644 --- a/app/helpers/bootstrap_helper.rb +++ b/app/helpers/bootstrap_helper.rb @@ -7,7 +7,8 @@ module BootstrapHelper badge_color: nil, badge_attr: {}, icon: nil, - class: "" + class: "", + hotkey: nil, }.merge(options) classes = [ @@ -33,7 +34,7 @@ module BootstrapHelper body += " #{content_tag(:span, options[:badge], class: badge_class, **options[:badge_attr])}".html_safe end - content_tag(:li, link_to(body.html_safe, path, class: "nav-link"), class: classes) + content_tag(:li, link_to(body.html_safe, path, class: "nav-link", data: { hotkey: options[:hotkey] }), class: classes) end def list_group_item(body, path, options = {}) diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index 2d8093bc..9332a5c2 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -9,17 +9,17 @@ %span.badge.rounded-pill.bg-warning.text-bg-warning.fs-7 DEV %ul.nav.navbar-nav.me-auto - = nav_entry t("navigation.timeline"), root_path, icon: 'home' - = nav_entry t("navigation.inbox"), "/inbox", icon: "inbox", badge: inbox_count, badge_attr: { data: { controller: "pwa-badge" } } + = nav_entry t("navigation.timeline"), root_path, icon: 'home', hotkey: "g t" + = nav_entry t("navigation.inbox"), "/inbox", icon: "inbox", badge: inbox_count, badge_attr: { data: { controller: "pwa-badge" } }, hotkey: "g i" - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? - = nav_entry t("navigation.discover"), discover_path, icon: 'compass' + = nav_entry t("navigation.discover"), discover_path, icon: 'compass', hotkey: "g d" %ul.nav.navbar-nav - if @user.present? && @user != current_user %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t(".list") } %a.nav-link{ href: '#', data: { bs_target: '#modal-list-memberships', bs_toggle: :modal } } %i.fa.fa-list.hidden-xs %span.d-none.d-sm-inline.d-md-none= t(".list") - = nav_entry t("navigation.notifications"), notifications_path, badge: notification_count, class: 'd-block d-sm-none' + = nav_entry t("navigation.notifications"), notifications_path, badge: notification_count, class: 'd-block d-sm-none', hotkey: "g n" %li.nav-item.dropdown.d-none.d-sm-block %a.nav-link.dropdown-toggle{ href: '#', data: { bs_toggle: :dropdown } } - if notification_count.nil? @@ -30,7 +30,7 @@ %span.badge= notification_count = render 'navigation/dropdown/notifications', notifications: notifications, size: "desktop" %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') } - %a.nav-link{ href: '#', name: 'toggle-all-ask', data: { bs_target: '#modal-ask-followers', bs_toggle: :modal } } + %a.nav-link{ href: '#', name: 'toggle-all-ask', data: { bs_target: '#modal-ask-followers', bs_toggle: :modal, hotkey: "n" } } %i.fa.fa-pencil-square-o %li.nav-item.dropdown.profile--image-dropdown %a.nav-link.dropdown-toggle.p-sm-0{ href: "#", data: { bs_toggle: :dropdown } } diff --git a/app/views/navigation/dropdown/_profile.html.haml b/app/views/navigation/dropdown/_profile.html.haml index 611e8662..02fcd938 100644 --- a/app/views/navigation/dropdown/_profile.html.haml +++ b/app/views/navigation/dropdown/_profile.html.haml @@ -1,6 +1,6 @@ .dropdown-menu.dropdown-menu-end.profile-dropdown{ id: "rs-#{size}-nav-profile" } %h6.dropdown-header.d-none.d-sm-block= current_user.screen_name - %a.dropdown-item{ href: user_path(current_user) } + %a.dropdown-item{ href: user_path(current_user), data: { hotkey: "g p" } } %i.fa.fa-fw.fa-user = t(".profile") %a.dropdown-item{ href: edit_user_registration_path } From a64a4699b0cc6da43e78f6f06cb51867dae2a066 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 17:17:02 +0100 Subject: [PATCH 111/251] Add Stimulus controller for navigation shortcuts --- app/assets/stylesheets/application.sass.scss | 1 + .../stylesheets/components/_hotkey.scss | 5 ++ .../controllers/navigation_controller.ts | 48 +++++++++++++++++++ .../retrospring/initializers/stimulus.ts | 2 + app/views/answerbox/_actions.html.haml | 4 +- app/views/application/_answerbox.html.haml | 2 +- app/views/timeline/timeline.html.haml | 4 +- 7 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 app/assets/stylesheets/components/_hotkey.scss create mode 100644 app/javascript/retrospring/controllers/navigation_controller.ts diff --git a/app/assets/stylesheets/application.sass.scss b/app/assets/stylesheets/application.sass.scss index 43f030dd..969e0231 100644 --- a/app/assets/stylesheets/application.sass.scss +++ b/app/assets/stylesheets/application.sass.scss @@ -107,6 +107,7 @@ $unicodeRangeValues in Lexend.$unicodeMap { "components/comments", "components/container", "components/entry", +"components/hotkey", "components/icons", "components/inbox-actions", "components/inbox-entry", diff --git a/app/assets/stylesheets/components/_hotkey.scss b/app/assets/stylesheets/components/_hotkey.scss new file mode 100644 index 00000000..8e573947 --- /dev/null +++ b/app/assets/stylesheets/components/_hotkey.scss @@ -0,0 +1,5 @@ +.js-hotkey-navigating { + [data-navigation-target="current"] { + outline: var(--primary) solid 4px; + } +} diff --git a/app/javascript/retrospring/controllers/navigation_controller.ts b/app/javascript/retrospring/controllers/navigation_controller.ts new file mode 100644 index 00000000..cfadbc73 --- /dev/null +++ b/app/javascript/retrospring/controllers/navigation_controller.ts @@ -0,0 +1,48 @@ +import { Controller } from "@hotwired/stimulus"; +import { install, uninstall } from "@github/hotkey"; + +export default class extends Controller { + static classes = ["current"]; + static targets = ["current", "traversable"]; + + declare readonly hasCurrentTarget: boolean; + declare readonly currentTarget: HTMLElement; + declare readonly traversableTargets: HTMLElement[]; + + traversableTargetConnected(target: HTMLElement) { + if (!this.hasCurrentTarget) { + const first = this.traversableTargets[0]; + first.dataset.navigationTarget = "current"; + } + } + + currentTargetConnected(target: HTMLElement) { + target.querySelectorAll("[data-selection-hotkey]") + .forEach(el => install(el, el.dataset.selectionHotkey)) + } + + currentTargetDisconnected(target: HTMLElement) { + target.querySelectorAll("[data-selection-hotkey]") + .forEach(el => uninstall(el)) + } + + up(): void { + this.navigate(this.currentTarget.previousElementSibling as HTMLElement); + } + + down(): void { + this.navigate(this.currentTarget.nextElementSibling as HTMLElement); + } + + navigate(target: HTMLElement): void { + if (!document.body.classList.contains("js-hotkey-navigating")) { + document.body.classList.add("js-hotkey-navigating"); + } + + if (target.dataset.navigationTarget == "traversable") { + this.currentTarget.dataset.navigationTarget = "traversable"; + target.dataset.navigationTarget = "current"; + target.scrollIntoView(false); + } + } +} diff --git a/app/javascript/retrospring/initializers/stimulus.ts b/app/javascript/retrospring/initializers/stimulus.ts index b0c93d0f..77a11a62 100644 --- a/app/javascript/retrospring/initializers/stimulus.ts +++ b/app/javascript/retrospring/initializers/stimulus.ts @@ -11,6 +11,7 @@ import CropperController from "retrospring/controllers/cropper_controller"; import InboxSharingController from "retrospring/controllers/inbox_sharing_controller"; import ToastController from "retrospring/controllers/toast_controller"; import PwaBadgeController from "retrospring/controllers/pwa_badge_controller"; +import NavigationController from "retrospring/controllers/navigation_controller"; /** * This module sets up Stimulus and our controllers @@ -31,6 +32,7 @@ export default function (): void { window['Stimulus'].register('format-popup', FormatPopupController); window['Stimulus'].register('inbox-sharing', InboxSharingController); window['Stimulus'].register('pwa-badge', PwaBadgeController); + window['Stimulus'].register('navigation', NavigationController); window['Stimulus'].register('theme', ThemeController); window['Stimulus'].register('toast', ToastController); } diff --git a/app/views/answerbox/_actions.html.haml b/app/views/answerbox/_actions.html.haml index a6438cc2..6003b863 100644 --- a/app/views/answerbox/_actions.html.haml +++ b/app/views/answerbox/_actions.html.haml @@ -1,8 +1,8 @@ -%button.btn.btn-link.answerbox__action{ type: :button, name: "ab-smile", data: { a_id: a.id, action: current_user&.smiled?(a) ? :unsmile : :smile }, disabled: !user_signed_in? } +%button.btn.btn-link.answerbox__action{ type: :button, name: "ab-smile", data: { a_id: a.id, action: current_user&.smiled?(a) ? :unsmile : :smile, selection_hotkey: "l" }, disabled: !user_signed_in? } %i.fa.fa-fw.fa-smile-o %span{ id: "ab-smile-count-#{a.id}" }= a.smiles.count - unless display_all - %button.btn.btn-link.answerbox__action{ type: :button, name: "ab-comments", data: { a_id: a.id, state: :hidden } } + %button.btn.btn-link.answerbox__action{ type: :button, name: "ab-comments", data: { a_id: a.id, state: :hidden, selection_hotkey: "x" } } %i.fa.fa-fw.fa-comments %span{ id: "ab-comment-count-#{a.id}" }= a.comment_count .btn-group diff --git a/app/views/application/_answerbox.html.haml b/app/views/application/_answerbox.html.haml index 20b88963..586f7391 100644 --- a/app/views/application/_answerbox.html.haml +++ b/app/views/application/_answerbox.html.haml @@ -1,5 +1,5 @@ - display_all ||= nil -.card.answerbox{ data: { id: a.id, q_id: a.question.id } } +.card.answerbox{ data: { id: a.id, q_id: a.question.id, navigation_target: "traversable" } } - if @question.nil? = render "answerbox/header", a: a, display_all: display_all .card-body diff --git a/app/views/timeline/timeline.html.haml b/app/views/timeline/timeline.html.haml index 06610059..88c9a690 100644 --- a/app/views/timeline/timeline.html.haml +++ b/app/views/timeline/timeline.html.haml @@ -1,4 +1,6 @@ -#timeline +#timeline{ data: { controller: "navigation" } } + %button.d-none{ data: { hotkey: "j", action: "navigation#down" } } + %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } - @timeline.each do |answer| = render "answerbox", a: answer From 43d80fffcf9b0859e5505e7384b3caef5cefdab6 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 17:29:18 +0100 Subject: [PATCH 112/251] Add shortcut for jumping to answers --- app/views/answerbox/_header.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/answerbox/_header.html.haml b/app/views/answerbox/_header.html.haml index 5e60c114..30dd9738 100644 --- a/app/views/answerbox/_header.html.haml +++ b/app/views/answerbox/_header.html.haml @@ -11,7 +11,7 @@ = t(".asked_html", user: user_screen_name(a.question.user, context_user: a.user, author_identifier: a.question.author_is_anonymous ? a.question.author_identifier: nil), time: time_tooltip(a.question)) - if !a.question.author_is_anonymous && !a.question.direct · - %a{ href: question_path(a.question.user.screen_name, a.question.id) } + %a{ href: question_path(a.question.user.screen_name, a.question.id), data: { selection_hotkey: "a" } } = t(".answers", count: a.question.answer_count) .answerbox__question-body{ data: { controller: a.question.long? ? "collapse" : nil } } .answerbox__question-text{ class: a.question.long? && !display_all ? "collapsed" : "", data: { collapse_target: "content" } } From a39696dd3eb6914a4ea4a8d60453b6375b432acc Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 17:29:38 +0100 Subject: [PATCH 113/251] Add shortcut for writing new comment --- .../retrospring/features/answerbox/comment/hotkey.ts | 7 +++++++ .../retrospring/features/answerbox/comment/index.ts | 2 ++ app/views/answerbox/_comments.html.haml | 1 + 3 files changed, 10 insertions(+) create mode 100644 app/javascript/retrospring/features/answerbox/comment/hotkey.ts diff --git a/app/javascript/retrospring/features/answerbox/comment/hotkey.ts b/app/javascript/retrospring/features/answerbox/comment/hotkey.ts new file mode 100644 index 00000000..0e15dd7f --- /dev/null +++ b/app/javascript/retrospring/features/answerbox/comment/hotkey.ts @@ -0,0 +1,7 @@ +export function commentHotkeyHandler(event: Event): void { + const button = event.target as HTMLButtonElement; + const id = button.dataset.aId; + + document.querySelector(`#ab-comments-section-${id}`).classList.remove('d-none'); + document.querySelector(`[name="ab-comment-new"][data-a-id="${id}"]`).focus(); +} diff --git a/app/javascript/retrospring/features/answerbox/comment/index.ts b/app/javascript/retrospring/features/answerbox/comment/index.ts index c98d043b..3e5a0f81 100644 --- a/app/javascript/retrospring/features/answerbox/comment/index.ts +++ b/app/javascript/retrospring/features/answerbox/comment/index.ts @@ -4,10 +4,12 @@ import { commentComposeEnd, commentComposeStart, commentCreateClickHandler, comm import { commentReportHandler } from "./report"; import { commentSmileHandler } from "./smile"; import { commentToggleHandler } from "./toggle"; +import { commentHotkeyHandler } from "retrospring/features/answerbox/comment/hotkey"; export default (): void => { registerEvents([ { type: 'click', target: '[name=ab-comments]', handler: commentToggleHandler, global: true }, + { type: 'click', target: '[name=ab-open-and-comment]', handler: commentHotkeyHandler, global: true }, { type: 'click', target: '[name=ab-smile-comment]', handler: commentSmileHandler, global: true }, { type: 'click', target: '[data-action=ab-comment-report]', handler: commentReportHandler, global: true }, { type: 'click', target: '[data-action=ab-comment-destroy]', handler: commentDestroyHandler, global: true }, diff --git a/app/views/answerbox/_comments.html.haml b/app/views/answerbox/_comments.html.haml index 70456738..023990e9 100644 --- a/app/views/answerbox/_comments.html.haml +++ b/app/views/answerbox/_comments.html.haml @@ -25,6 +25,7 @@ %span.caret = render "actions/comment", comment: comment, answer: a - if user_signed_in? + %button.d-none{ name: "ab-open-and-comment", data: { a_id: a.id, selection_hotkey: "c" } } .comment__compose-wrapper{ name: "ab-comment-new-group", data: { a_id: a.id, controller: "character-count", character_count_max_value: 512 } From 9572f844ec21a470a9bb37105477fd3f15e1ceab Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 18:45:38 +0100 Subject: [PATCH 114/251] Add hotkey help window --- app/views/layouts/base.html.haml | 1 + .../navigation/dropdown/_profile.html.haml | 4 + app/views/shared/_hotkeys.html.haml | 74 +++++++++++++++++++ config/locales/views.en.yml | 16 ++++ config/locales/voc.en.yml | 1 + 5 files changed, 96 insertions(+) create mode 100644 app/views/shared/_hotkeys.html.haml diff --git a/app/views/layouts/base.html.haml b/app/views/layouts/base.html.haml index 2ea7f5cf..0607c377 100644 --- a/app/views/layouts/base.html.haml +++ b/app/views/layouts/base.html.haml @@ -31,6 +31,7 @@ = render 'shared/announcements' = yield = render "shared/formatting" + = render "shared/hotkeys" .d-none#toasts - if Rails.env.development? #debug diff --git a/app/views/navigation/dropdown/_profile.html.haml b/app/views/navigation/dropdown/_profile.html.haml index 02fcd938..1c736c64 100644 --- a/app/views/navigation/dropdown/_profile.html.haml +++ b/app/views/navigation/dropdown/_profile.html.haml @@ -34,6 +34,10 @@ %i.fa.fa-fw.fa-flask = t(".feedback.features") .dropdown-divider + %a.dropdown-item{ href: "#", data: { bs_target: "#modal-hotkeys", bs_toggle: "modal", hotkey: "Shift+?,?" } } + %i.fa.fa-keyboard + = t(".hotkeys") + .dropdown-divider = link_to destroy_user_session_path, data: { turbo_method: :delete }, class: "dropdown-item" do %i.fa.fa-fw.fa-sign-out = t("voc.logout") diff --git a/app/views/shared/_hotkeys.html.haml b/app/views/shared/_hotkeys.html.haml new file mode 100644 index 00000000..3050ffd8 --- /dev/null +++ b/app/views/shared/_hotkeys.html.haml @@ -0,0 +1,74 @@ +.modal.fade#modal-hotkeys{ aria: { hidden: true, labelledby: 'modal-hotkeys-label' }, role: :dialog, tabindex: -1 } + .modal-dialog + .modal-content + .modal-header + %h5.modal-title#modal-hotkeys-label= t('.title') + %button.btn-close{ data: { bs_dismiss: :modal }, type: :button } + %span.visually-hidden= t("voc.close") + .modal-body + .row + .col-6 + .card + .card-header + %h5.card-title= t('.navigation.title') + %ul.list-group.list-group-flush + %li.list-group-item + = t('navigation.timeline') + %kbd + %kbd g + %kbd t + %li.list-group-item + = t('navigation.inbox') + %kbd + %kbd g + %kbd i + - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? + %li.list-group-item + = t('navigation.discover') + %kbd + %kbd g + %kbd d + %li.list-group-item + = t('navigation.notifications') + %kbd + %kbd g + %kbd n + %li.list-group-item + = t('navigation.dropdown.profile.profile') + %kbd + %kbd g + %kbd p + .col-6 + .card + .card-header + %h5.card-title= t('.global.title') + %ul.list-group.list-group-flush + %li.list-group-item + = t('.global.navigation.up') + %kbd k + %li.list-group-item + = t('.global.navigation.down') + %kbd j + %li.list-group-item + = t('navigation.desktop.ask_question') + %kbd n + %li.list-group-item + = t('.show_dialog') + %kbd ? + .card + .card-header + %h5.card-title= t('.answer.title') + %ul.list-group.list-group-flush + %li.list-group-item + = t('voc.smile') + %kbd l + %li.list-group-item + = t('.answer.view_comments') + %kbd x + %li.list-group-item + = t('.answer.comment') + %kbd c + %li.list-group-item + = t('.answer.all_answers') + %kbd a + diff --git a/config/locales/views.en.yml b/config/locales/views.en.yml index 422e2f79..be169010 100644 --- a/config/locales/views.en.yml +++ b/config/locales/views.en.yml @@ -330,6 +330,7 @@ en: heading: "Feedback" bugs: "Bugs" features: "Feature Requests" + hotkeys: "Keyboard Shortcuts" desktop: ask_question: "Ask a question" list: :user.actions.list @@ -583,6 +584,21 @@ en: question: visible_to_you: "Only visible to you as it was asked directly" visible_mod_mode: "You can see this because you are in moderation view" + hotkeys: + navigation: + title: "Navigation" + title: "Keyboard Shortcuts" + show_dialog: "Show this dialog" + answer: + title: "Answer actions" + view_comments: "View comments" + comment: "Write a comment" + all_answers: "View all answers" + global: + navigation: + up: "Move selection up" + down: "Move selection down" + title: "Site-wide" tabs: admin: announcements: "Announcements" diff --git a/config/locales/voc.en.yml b/config/locales/voc.en.yml index 7f674a7e..a05407eb 100644 --- a/config/locales/voc.en.yml +++ b/config/locales/voc.en.yml @@ -17,6 +17,7 @@ en: mute: "Mute" save: "Save changes" show_anonymous_questions: "Show all questions from this user" + smile: "Smile" subscribe: "Subscribe" unsubscribe: "Unsubscribe" register: "Sign up" From cc73f84152be19d4b5fcbac8d5317883bb247dad Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 18:46:15 +0100 Subject: [PATCH 115/251] Change smile hotkey to `s` --- app/views/answerbox/_actions.html.haml | 2 +- app/views/shared/_hotkeys.html.haml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/answerbox/_actions.html.haml b/app/views/answerbox/_actions.html.haml index 6003b863..4ec1c35d 100644 --- a/app/views/answerbox/_actions.html.haml +++ b/app/views/answerbox/_actions.html.haml @@ -1,4 +1,4 @@ -%button.btn.btn-link.answerbox__action{ type: :button, name: "ab-smile", data: { a_id: a.id, action: current_user&.smiled?(a) ? :unsmile : :smile, selection_hotkey: "l" }, disabled: !user_signed_in? } +%button.btn.btn-link.answerbox__action{ type: :button, name: "ab-smile", data: { a_id: a.id, action: current_user&.smiled?(a) ? :unsmile : :smile, selection_hotkey: "s" }, disabled: !user_signed_in? } %i.fa.fa-fw.fa-smile-o %span{ id: "ab-smile-count-#{a.id}" }= a.smiles.count - unless display_all diff --git a/app/views/shared/_hotkeys.html.haml b/app/views/shared/_hotkeys.html.haml index 3050ffd8..f2d615de 100644 --- a/app/views/shared/_hotkeys.html.haml +++ b/app/views/shared/_hotkeys.html.haml @@ -61,7 +61,7 @@ %ul.list-group.list-group-flush %li.list-group-item = t('voc.smile') - %kbd l + %kbd s %li.list-group-item = t('.answer.view_comments') %kbd x From d684e8d782656c34f8a63fd7c475e459dd92ffd1 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 18:50:27 +0100 Subject: [PATCH 116/251] Add shortcut for viewing answer page --- app/views/application/_answerbox.html.haml | 2 +- app/views/shared/_hotkeys.html.haml | 3 +++ config/locales/views.en.yml | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/views/application/_answerbox.html.haml b/app/views/application/_answerbox.html.haml index 586f7391..36c2a90e 100644 --- a/app/views/application/_answerbox.html.haml +++ b/app/views/application/_answerbox.html.haml @@ -19,7 +19,7 @@ %h6.answerbox__answer-user = raw t(".answered", hide: hidespan(t(".hide"), "d-none d-sm-inline"), user: user_screen_name(a.user)) .answerbox__answer-date - = link_to(raw(t("time.distance_ago", time: time_tooltip(a))), answer_path(a.user.screen_name, a.id)) + = link_to(raw(t("time.distance_ago", time: time_tooltip(a))), answer_path(a.user.screen_name, a.id), data: { selection_hotkey: "l" }) .col-md-6.d-flex.d-md-block.answerbox__actions = render "answerbox/actions", a: a, display_all: display_all - else diff --git a/app/views/shared/_hotkeys.html.haml b/app/views/shared/_hotkeys.html.haml index f2d615de..c250a5e4 100644 --- a/app/views/shared/_hotkeys.html.haml +++ b/app/views/shared/_hotkeys.html.haml @@ -71,4 +71,7 @@ %li.list-group-item = t('.answer.all_answers') %kbd a + %li.list-group-item + = t('.answer.view_answer') + %kbd l diff --git a/config/locales/views.en.yml b/config/locales/views.en.yml index be169010..74b7f51a 100644 --- a/config/locales/views.en.yml +++ b/config/locales/views.en.yml @@ -594,6 +594,7 @@ en: view_comments: "View comments" comment: "Write a comment" all_answers: "View all answers" + view_answer: "View answer page" global: navigation: up: "Move selection up" From b22fc0bd169c22c66b387831776e13e8c391789f Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 18:53:53 +0100 Subject: [PATCH 117/251] Apply hotkeys on question pages --- app/views/question/show.html.haml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/question/show.html.haml b/app/views/question/show.html.haml index 57137240..d6552142 100644 --- a/app/views/question/show.html.haml +++ b/app/views/question/show.html.haml @@ -2,7 +2,9 @@ = render "question", question: @question, hidden: false = render "question", question: @question, hidden: true .container.question-page - #answers + #answers{ data: { controller: "navigation" } } + %button.d-none{ data: { hotkey: "j", action: "navigation#down" } } + %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } - @answers.each do |a| = render "answerbox", a: a, show_question: false From 0eb9a4d08972ae137b21b88185e02ea4ae6119aa Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 18:57:25 +0100 Subject: [PATCH 118/251] Add hotkey for loading more entries --- app/views/inbox/show.html.haml | 1 + app/views/inbox/show.turbo_stream.haml | 1 + app/views/moderation/inbox/index.html.haml | 1 + app/views/moderation/inbox/index.turbo_stream.haml | 1 + app/views/moderation/reports/index.html.haml | 1 + app/views/moderation/reports/index.turbo_stream.haml | 1 + app/views/notifications/index.html.haml | 1 + app/views/notifications/index.turbo_stream.haml | 1 + app/views/question/show.html.haml | 1 + app/views/question/show.turbo_stream.haml | 1 + app/views/shared/_hotkeys.html.haml | 3 +++ app/views/timeline/timeline.html.haml | 1 + app/views/timeline/timeline.turbo_stream.haml | 1 + app/views/user/questions.html.haml | 1 + app/views/user/questions.turbo_stream.haml | 1 + app/views/user/show.html.haml | 1 + app/views/user/show.turbo_stream.haml | 1 + app/views/user/show_follow.html.haml | 1 + app/views/user/show_follow.turbo_stream.haml | 1 + 19 files changed, 21 insertions(+) diff --git a/app/views/inbox/show.html.haml b/app/views/inbox/show.html.haml index 5c5de4e4..870d2597 100644 --- a/app/views/inbox/show.html.haml +++ b/app/views/inbox/show.html.haml @@ -11,4 +11,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id, author: @author }.compact, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/inbox/show.turbo_stream.haml b/app/views/inbox/show.turbo_stream.haml index fffc48fc..4b656a7f 100644 --- a/app/views/inbox/show.turbo_stream.haml +++ b/app/views/inbox/show.turbo_stream.haml @@ -8,4 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id, author: @author }.compact, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/moderation/inbox/index.html.haml b/app/views/moderation/inbox/index.html.haml index de47e09e..c256b109 100644 --- a/app/views/moderation/inbox/index.html.haml +++ b/app/views/moderation/inbox/index.html.haml @@ -14,4 +14,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/moderation/inbox/index.turbo_stream.haml b/app/views/moderation/inbox/index.turbo_stream.haml index 3177f928..d609ad67 100644 --- a/app/views/moderation/inbox/index.turbo_stream.haml +++ b/app/views/moderation/inbox/index.turbo_stream.haml @@ -8,4 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/moderation/reports/index.html.haml b/app/views/moderation/reports/index.html.haml index 9116f8d4..67f6c663 100644 --- a/app/views/moderation/reports/index.html.haml +++ b/app/views/moderation/reports/index.html.haml @@ -8,6 +8,7 @@ class: "btn btn-light", method: :get, params: { last_id: @reports_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } - parent_layout "moderation" diff --git a/app/views/moderation/reports/index.turbo_stream.haml b/app/views/moderation/reports/index.turbo_stream.haml index 8499f49b..a973bf7b 100644 --- a/app/views/moderation/reports/index.turbo_stream.haml +++ b/app/views/moderation/reports/index.turbo_stream.haml @@ -8,4 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @reports_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/notifications/index.html.haml b/app/views/notifications/index.html.haml index 63c65b84..364fa390 100644 --- a/app/views/notifications/index.html.haml +++ b/app/views/notifications/index.html.haml @@ -22,6 +22,7 @@ class: "btn btn-light", method: :get, params: { last_id: @notifications_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, generate_title(t(".title"))) diff --git a/app/views/notifications/index.turbo_stream.haml b/app/views/notifications/index.turbo_stream.haml index 5150c813..fd51cf6d 100644 --- a/app/views/notifications/index.turbo_stream.haml +++ b/app/views/notifications/index.turbo_stream.haml @@ -11,4 +11,5 @@ class: "btn btn-light", method: :get, params: { last_id: @notifications_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/question/show.html.haml b/app/views/question/show.html.haml index d6552142..8a6135e9 100644 --- a/app/views/question/show.html.haml +++ b/app/views/question/show.html.haml @@ -14,6 +14,7 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } - if user_signed_in? && !current_user.answered?(@question) && current_user != @question.user && @question.user&.privacy_allow_stranger_answers diff --git a/app/views/question/show.turbo_stream.haml b/app/views/question/show.turbo_stream.haml index 9ef4eb64..f00a0fd2 100644 --- a/app/views/question/show.turbo_stream.haml +++ b/app/views/question/show.turbo_stream.haml @@ -8,4 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/shared/_hotkeys.html.haml b/app/views/shared/_hotkeys.html.haml index c250a5e4..4229e8ca 100644 --- a/app/views/shared/_hotkeys.html.haml +++ b/app/views/shared/_hotkeys.html.haml @@ -52,6 +52,9 @@ %li.list-group-item = t('navigation.desktop.ask_question') %kbd n + %li.list-group-item + = t('voc.load') + %kbd . %li.list-group-item = t('.show_dialog') %kbd ? diff --git a/app/views/timeline/timeline.html.haml b/app/views/timeline/timeline.html.haml index 88c9a690..d687a424 100644 --- a/app/views/timeline/timeline.html.haml +++ b/app/views/timeline/timeline.html.haml @@ -10,6 +10,7 @@ class: "btn btn-light", method: :get, params: { last_id: @timeline_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, @title || APP_CONFIG["site_name"]) diff --git a/app/views/timeline/timeline.turbo_stream.haml b/app/views/timeline/timeline.turbo_stream.haml index 525cbba9..7358551f 100644 --- a/app/views/timeline/timeline.turbo_stream.haml +++ b/app/views/timeline/timeline.turbo_stream.haml @@ -8,4 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @timeline_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/user/questions.html.haml b/app/views/user/questions.html.haml index ba589f59..7cc374a2 100644 --- a/app/views/user/questions.html.haml +++ b/app/views/user/questions.html.haml @@ -8,6 +8,7 @@ class: "btn btn-light", method: :get, params: { last_id: @questions_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, questions_title(@user)) diff --git a/app/views/user/questions.turbo_stream.haml b/app/views/user/questions.turbo_stream.haml index a48fafe9..7e2fd097 100644 --- a/app/views/user/questions.turbo_stream.haml +++ b/app/views/user/questions.turbo_stream.haml @@ -8,4 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @questions_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/user/show.html.haml b/app/views/user/show.html.haml index 25240a33..0f10f882 100644 --- a/app/views/user/show.html.haml +++ b/app/views/user/show.html.haml @@ -13,6 +13,7 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } :ruby diff --git a/app/views/user/show.turbo_stream.haml b/app/views/user/show.turbo_stream.haml index 4b6ce125..32085b2c 100644 --- a/app/views/user/show.turbo_stream.haml +++ b/app/views/user/show.turbo_stream.haml @@ -8,4 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/user/show_follow.html.haml b/app/views/user/show_follow.html.haml index 699df89a..feab2496 100644 --- a/app/views/user/show_follow.html.haml +++ b/app/views/user/show_follow.html.haml @@ -9,6 +9,7 @@ class: "btn btn-light", method: :get, params: { last_id: @relationships_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, t(".title.#{type}", user: @user.profile.safe_name)) diff --git a/app/views/user/show_follow.turbo_stream.haml b/app/views/user/show_follow.turbo_stream.haml index fe434f69..e67c848b 100644 --- a/app/views/user/show_follow.turbo_stream.haml +++ b/app/views/user/show_follow.turbo_stream.haml @@ -9,4 +9,5 @@ class: "btn btn-light", method: :get, params: { last_id: @relationships_last_id }, + data: { hotkey: "." }, form: { data: { turbo_stream: true } } From e307204375d5d4de7e21d62943e3ad3dcb7a19a4 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 19:20:08 +0100 Subject: [PATCH 119/251] Navigate between traversable elements regardless of parent element --- .../stylesheets/components/_hotkey.scss | 2 +- .../controllers/navigation_controller.ts | 26 ++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/assets/stylesheets/components/_hotkey.scss b/app/assets/stylesheets/components/_hotkey.scss index 8e573947..582e4b77 100644 --- a/app/assets/stylesheets/components/_hotkey.scss +++ b/app/assets/stylesheets/components/_hotkey.scss @@ -1,5 +1,5 @@ .js-hotkey-navigating { - [data-navigation-target="current"] { + .js-hotkey-current-selection { outline: var(--primary) solid 4px; } } diff --git a/app/javascript/retrospring/controllers/navigation_controller.ts b/app/javascript/retrospring/controllers/navigation_controller.ts index cfadbc73..528ba29f 100644 --- a/app/javascript/retrospring/controllers/navigation_controller.ts +++ b/app/javascript/retrospring/controllers/navigation_controller.ts @@ -10,28 +10,42 @@ export default class extends Controller { declare readonly traversableTargets: HTMLElement[]; traversableTargetConnected(target: HTMLElement) { + if (!("navigationIndex" in target.dataset)) { + target.dataset.navigationIndex = this.traversableTargets.indexOf(target).toString(); + } + if (!this.hasCurrentTarget) { const first = this.traversableTargets[0]; - first.dataset.navigationTarget = "current"; + first.dataset.navigationTarget += " current"; } } currentTargetConnected(target: HTMLElement) { + target.classList.add("js-hotkey-current-selection"); + target.querySelectorAll("[data-selection-hotkey]") - .forEach(el => install(el, el.dataset.selectionHotkey)) + .forEach(el => install(el, el.dataset.selectionHotkey)); } currentTargetDisconnected(target: HTMLElement) { + target.classList.remove("js-hotkey-current-selection"); + target.querySelectorAll("[data-selection-hotkey]") - .forEach(el => uninstall(el)) + .forEach(el => uninstall(el)); } up(): void { - this.navigate(this.currentTarget.previousElementSibling as HTMLElement); + const prevIndex = this.traversableTargets.indexOf(this.currentTarget) - 1; + if (prevIndex == -1) return; + + this.navigate(this.traversableTargets[prevIndex]); } down(): void { - this.navigate(this.currentTarget.nextElementSibling as HTMLElement); + const nextIndex = this.traversableTargets.indexOf(this.currentTarget) + 1; + if (nextIndex == this.traversableTargets.length) return; + + this.navigate(this.traversableTargets[nextIndex]); } navigate(target: HTMLElement): void { @@ -41,7 +55,7 @@ export default class extends Controller { if (target.dataset.navigationTarget == "traversable") { this.currentTarget.dataset.navigationTarget = "traversable"; - target.dataset.navigationTarget = "current"; + target.dataset.navigationTarget = "traversable current"; target.scrollIntoView(false); } } From 1aed44dd3d96a871c12a5ba9de3e656fd15f2e83 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 19:20:19 +0100 Subject: [PATCH 120/251] Apply hotkeys on user profiles --- app/views/user/show.html.haml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/views/user/show.html.haml b/app/views/user/show.html.haml index 0f10f882..dff54e2e 100644 --- a/app/views/user/show.html.haml +++ b/app/views/user/show.html.haml @@ -1,11 +1,14 @@ - unless @user.banned? - #pinned-answers - - @pinned_answers.each do |a| - = render "answerbox", a: + %div{ data: { controller: "navigation" } } + %button.d-none{ data: { hotkey: "j", action: "navigation#down" } } + %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } + #pinned-answers + - @pinned_answers.each do |a| + = render "answerbox", a: - #answers - - @answers.each do |a| - = render "answerbox", a: + #answers + - @answers.each do |a| + = render "answerbox", a: - if @more_data_available .d-flex.justify-content-center.justify-content-sm-start#paginator From 9a7dedcafcfcf72bb790a83b4d9f70955dd92e8a Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 19:23:42 +0100 Subject: [PATCH 121/251] Ensure bottom of page is visible while navigating --- app/javascript/retrospring/controllers/navigation_controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/retrospring/controllers/navigation_controller.ts b/app/javascript/retrospring/controllers/navigation_controller.ts index 528ba29f..ae366ca0 100644 --- a/app/javascript/retrospring/controllers/navigation_controller.ts +++ b/app/javascript/retrospring/controllers/navigation_controller.ts @@ -56,7 +56,7 @@ export default class extends Controller { if (target.dataset.navigationTarget == "traversable") { this.currentTarget.dataset.navigationTarget = "traversable"; target.dataset.navigationTarget = "traversable current"; - target.scrollIntoView(false); + target.scrollIntoView({ block: "center", inline: "center" }); } } } From f7b9d90e283ce226fa1f2ec857b49cb6c35d6e8c Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 19:38:31 +0100 Subject: [PATCH 122/251] Appease the dog overlords --- app/assets/stylesheets/application.sass.scss | 42 +++++++++---------- .../stylesheets/components/_hotkey.scss | 1 + .../controllers/navigation_controller.ts | 6 +-- app/views/navigation/_desktop.html.haml | 8 ++-- app/views/shared/_hotkeys.html.haml | 40 +++++++++--------- 5 files changed, 49 insertions(+), 48 deletions(-) diff --git a/app/assets/stylesheets/application.sass.scss b/app/assets/stylesheets/application.sass.scss index 969e0231..e1464641 100644 --- a/app/assets/stylesheets/application.sass.scss +++ b/app/assets/stylesheets/application.sass.scss @@ -100,27 +100,27 @@ $unicodeRangeValues in Lexend.$unicodeMap { */ @import "components/announcements", -"components/answerbox", -"components/avatars", -"components/buttons", -"components/collapse", -"components/comments", -"components/container", -"components/entry", -"components/hotkey", -"components/icons", -"components/inbox-actions", -"components/inbox-entry", -"components/mobile-nav", -"components/navbar", -"components/notifications", -"components/profile", -"components/push-settings", -"components/question", -"components/smiles", -"components/themes", -"components/totp-setup", -"components/userbox"; + "components/answerbox", + "components/avatars", + "components/buttons", + "components/collapse", + "components/comments", + "components/container", + "components/entry", + "components/hotkey", + "components/icons", + "components/inbox-actions", + "components/inbox-entry", + "components/mobile-nav", + "components/navbar", + "components/notifications", + "components/profile", + "components/push-settings", + "components/question", + "components/smiles", + "components/themes", + "components/totp-setup", + "components/userbox"; /** UTILITIES diff --git a/app/assets/stylesheets/components/_hotkey.scss b/app/assets/stylesheets/components/_hotkey.scss index 582e4b77..777f1113 100644 --- a/app/assets/stylesheets/components/_hotkey.scss +++ b/app/assets/stylesheets/components/_hotkey.scss @@ -1,4 +1,5 @@ .js-hotkey-navigating { + .js-hotkey-current-selection { outline: var(--primary) solid 4px; } diff --git a/app/javascript/retrospring/controllers/navigation_controller.ts b/app/javascript/retrospring/controllers/navigation_controller.ts index ae366ca0..b95445eb 100644 --- a/app/javascript/retrospring/controllers/navigation_controller.ts +++ b/app/javascript/retrospring/controllers/navigation_controller.ts @@ -9,7 +9,7 @@ export default class extends Controller { declare readonly currentTarget: HTMLElement; declare readonly traversableTargets: HTMLElement[]; - traversableTargetConnected(target: HTMLElement) { + traversableTargetConnected(target: HTMLElement): void { if (!("navigationIndex" in target.dataset)) { target.dataset.navigationIndex = this.traversableTargets.indexOf(target).toString(); } @@ -20,14 +20,14 @@ export default class extends Controller { } } - currentTargetConnected(target: HTMLElement) { + currentTargetConnected(target: HTMLElement): void { target.classList.add("js-hotkey-current-selection"); target.querySelectorAll("[data-selection-hotkey]") .forEach(el => install(el, el.dataset.selectionHotkey)); } - currentTargetDisconnected(target: HTMLElement) { + currentTargetDisconnected(target: HTMLElement): void { target.classList.remove("js-hotkey-current-selection"); target.querySelectorAll("[data-selection-hotkey]") diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index 9332a5c2..cde52c1d 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -9,17 +9,17 @@ %span.badge.rounded-pill.bg-warning.text-bg-warning.fs-7 DEV %ul.nav.navbar-nav.me-auto - = nav_entry t("navigation.timeline"), root_path, icon: 'home', hotkey: "g t" + = nav_entry t("navigation.timeline"), root_path, icon: "home", hotkey: "g t" = nav_entry t("navigation.inbox"), "/inbox", icon: "inbox", badge: inbox_count, badge_attr: { data: { controller: "pwa-badge" } }, hotkey: "g i" - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? - = nav_entry t("navigation.discover"), discover_path, icon: 'compass', hotkey: "g d" + = nav_entry t("navigation.discover"), discover_path, icon: "compass", hotkey: "g d" %ul.nav.navbar-nav - if @user.present? && @user != current_user %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t(".list") } %a.nav-link{ href: '#', data: { bs_target: '#modal-list-memberships', bs_toggle: :modal } } %i.fa.fa-list.hidden-xs %span.d-none.d-sm-inline.d-md-none= t(".list") - = nav_entry t("navigation.notifications"), notifications_path, badge: notification_count, class: 'd-block d-sm-none', hotkey: "g n" + = nav_entry t("navigation.notifications"), notifications_path, badge: notification_count, class: "d-block d-sm-none", hotkey: "g n" %li.nav-item.dropdown.d-none.d-sm-block %a.nav-link.dropdown-toggle{ href: '#', data: { bs_toggle: :dropdown } } - if notification_count.nil? @@ -30,7 +30,7 @@ %span.badge= notification_count = render 'navigation/dropdown/notifications', notifications: notifications, size: "desktop" %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') } - %a.nav-link{ href: '#', name: 'toggle-all-ask', data: { bs_target: '#modal-ask-followers', bs_toggle: :modal, hotkey: "n" } } + %a.nav-link{ href: "#", name: "toggle-all-ask", data: { bs_target: "#modal-ask-followers", bs_toggle: :modal, hotkey: "n" } } %i.fa.fa-pencil-square-o %li.nav-item.dropdown.profile--image-dropdown %a.nav-link.dropdown-toggle.p-sm-0{ href: "#", data: { bs_toggle: :dropdown } } diff --git a/app/views/shared/_hotkeys.html.haml b/app/views/shared/_hotkeys.html.haml index 4229e8ca..a4109569 100644 --- a/app/views/shared/_hotkeys.html.haml +++ b/app/views/shared/_hotkeys.html.haml @@ -1,8 +1,8 @@ -.modal.fade#modal-hotkeys{ aria: { hidden: true, labelledby: 'modal-hotkeys-label' }, role: :dialog, tabindex: -1 } +.modal.fade#modal-hotkeys{ aria: { hidden: true, labelledby: "modal-hotkeys-label" }, role: :dialog, tabindex: -1 } .modal-dialog .modal-content .modal-header - %h5.modal-title#modal-hotkeys-label= t('.title') + %h5.modal-title#modal-hotkeys-label= t(".title") %button.btn-close{ data: { bs_dismiss: :modal }, type: :button } %span.visually-hidden= t("voc.close") .modal-body @@ -10,71 +10,71 @@ .col-6 .card .card-header - %h5.card-title= t('.navigation.title') + %h5.card-title= t(".navigation.title") %ul.list-group.list-group-flush %li.list-group-item - = t('navigation.timeline') + = t("navigation.timeline") %kbd %kbd g %kbd t %li.list-group-item - = t('navigation.inbox') + = t("navigation.inbox") %kbd %kbd g %kbd i - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? %li.list-group-item - = t('navigation.discover') + = t("navigation.discover") %kbd %kbd g %kbd d %li.list-group-item - = t('navigation.notifications') + = t("navigation.notifications") %kbd %kbd g %kbd n %li.list-group-item - = t('navigation.dropdown.profile.profile') + = t("navigation.dropdown.profile.profile") %kbd %kbd g %kbd p .col-6 .card .card-header - %h5.card-title= t('.global.title') + %h5.card-title= t(".global.title") %ul.list-group.list-group-flush %li.list-group-item - = t('.global.navigation.up') + = t(".global.navigation.up") %kbd k %li.list-group-item - = t('.global.navigation.down') + = t(".global.navigation.down") %kbd j %li.list-group-item - = t('navigation.desktop.ask_question') + = t("navigation.desktop.ask_question") %kbd n %li.list-group-item - = t('voc.load') + = t("voc.load") %kbd . %li.list-group-item - = t('.show_dialog') + = t(".show_dialog") %kbd ? .card .card-header - %h5.card-title= t('.answer.title') + %h5.card-title= t(".answer.title") %ul.list-group.list-group-flush %li.list-group-item - = t('voc.smile') + = t("voc.smile") %kbd s %li.list-group-item - = t('.answer.view_comments') + = t(".answer.view_comments") %kbd x %li.list-group-item - = t('.answer.comment') + = t(".answer.comment") %kbd c %li.list-group-item - = t('.answer.all_answers') + = t(".answer.all_answers") %kbd a %li.list-group-item - = t('.answer.view_answer') + = t(".answer.view_answer") %kbd l From 655b822e54789ff45607f7d489db663cf3e89f3a Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 19 Mar 2023 14:42:01 +0100 Subject: [PATCH 123/251] Add Stimulus controller for handling hotkeys --- .../retrospring/controllers/hotkey_controller.ts | 12 ++++++++++++ app/javascript/retrospring/initializers/stimulus.ts | 2 ++ app/views/inbox/show.html.haml | 2 +- app/views/inbox/show.turbo_stream.haml | 2 +- app/views/moderation/inbox/index.html.haml | 2 +- app/views/moderation/inbox/index.turbo_stream.haml | 2 +- app/views/moderation/reports/index.html.haml | 2 +- app/views/moderation/reports/index.turbo_stream.haml | 2 +- app/views/notifications/index.html.haml | 2 +- app/views/notifications/index.turbo_stream.haml | 2 +- app/views/question/show.html.haml | 2 +- app/views/question/show.turbo_stream.haml | 2 +- app/views/timeline/timeline.html.haml | 2 +- app/views/timeline/timeline.turbo_stream.haml | 2 +- app/views/user/questions.html.haml | 2 +- app/views/user/questions.turbo_stream.haml | 2 +- app/views/user/show.html.haml | 2 +- app/views/user/show.turbo_stream.haml | 2 +- app/views/user/show_follow.html.haml | 2 +- app/views/user/show_follow.turbo_stream.haml | 2 +- 20 files changed, 32 insertions(+), 18 deletions(-) create mode 100644 app/javascript/retrospring/controllers/hotkey_controller.ts diff --git a/app/javascript/retrospring/controllers/hotkey_controller.ts b/app/javascript/retrospring/controllers/hotkey_controller.ts new file mode 100644 index 00000000..2b776fe6 --- /dev/null +++ b/app/javascript/retrospring/controllers/hotkey_controller.ts @@ -0,0 +1,12 @@ +import { Controller } from "@hotwired/stimulus"; +import { install, uninstall } from "@github/hotkey"; + +export default class extends Controller { + connect(): void { + install(this.element); + } + + disconnect(): void { + uninstall(this.element); + } +} diff --git a/app/javascript/retrospring/initializers/stimulus.ts b/app/javascript/retrospring/initializers/stimulus.ts index 77a11a62..aee44e36 100644 --- a/app/javascript/retrospring/initializers/stimulus.ts +++ b/app/javascript/retrospring/initializers/stimulus.ts @@ -8,6 +8,7 @@ import CollapseController from "retrospring/controllers/collapse_controller"; import ThemeController from "retrospring/controllers/theme_controller"; import CapabilitiesController from "retrospring/controllers/capabilities_controller"; import CropperController from "retrospring/controllers/cropper_controller"; +import HotkeyController from "retrospring/controllers/hotkey_controller"; import InboxSharingController from "retrospring/controllers/inbox_sharing_controller"; import ToastController from "retrospring/controllers/toast_controller"; import PwaBadgeController from "retrospring/controllers/pwa_badge_controller"; @@ -30,6 +31,7 @@ export default function (): void { window['Stimulus'].register('collapse', CollapseController); window['Stimulus'].register('cropper', CropperController); window['Stimulus'].register('format-popup', FormatPopupController); + window['Stimulus'].register('hotkey', HotkeyController); window['Stimulus'].register('inbox-sharing', InboxSharingController); window['Stimulus'].register('pwa-badge', PwaBadgeController); window['Stimulus'].register('navigation', NavigationController); diff --git a/app/views/inbox/show.html.haml b/app/views/inbox/show.html.haml index 870d2597..802127ee 100644 --- a/app/views/inbox/show.html.haml +++ b/app/views/inbox/show.html.haml @@ -11,5 +11,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id, author: @author }.compact, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/inbox/show.turbo_stream.haml b/app/views/inbox/show.turbo_stream.haml index 4b656a7f..bbd233bd 100644 --- a/app/views/inbox/show.turbo_stream.haml +++ b/app/views/inbox/show.turbo_stream.haml @@ -8,5 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id, author: @author }.compact, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/moderation/inbox/index.html.haml b/app/views/moderation/inbox/index.html.haml index c256b109..7e400437 100644 --- a/app/views/moderation/inbox/index.html.haml +++ b/app/views/moderation/inbox/index.html.haml @@ -14,5 +14,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/moderation/inbox/index.turbo_stream.haml b/app/views/moderation/inbox/index.turbo_stream.haml index d609ad67..6eca17d0 100644 --- a/app/views/moderation/inbox/index.turbo_stream.haml +++ b/app/views/moderation/inbox/index.turbo_stream.haml @@ -8,5 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @inbox_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/moderation/reports/index.html.haml b/app/views/moderation/reports/index.html.haml index 67f6c663..bf92cdf7 100644 --- a/app/views/moderation/reports/index.html.haml +++ b/app/views/moderation/reports/index.html.haml @@ -8,7 +8,7 @@ class: "btn btn-light", method: :get, params: { last_id: @reports_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } - parent_layout "moderation" diff --git a/app/views/moderation/reports/index.turbo_stream.haml b/app/views/moderation/reports/index.turbo_stream.haml index a973bf7b..e379692f 100644 --- a/app/views/moderation/reports/index.turbo_stream.haml +++ b/app/views/moderation/reports/index.turbo_stream.haml @@ -8,5 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @reports_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/notifications/index.html.haml b/app/views/notifications/index.html.haml index 364fa390..f555ef33 100644 --- a/app/views/notifications/index.html.haml +++ b/app/views/notifications/index.html.haml @@ -22,7 +22,7 @@ class: "btn btn-light", method: :get, params: { last_id: @notifications_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, generate_title(t(".title"))) diff --git a/app/views/notifications/index.turbo_stream.haml b/app/views/notifications/index.turbo_stream.haml index fd51cf6d..4339faae 100644 --- a/app/views/notifications/index.turbo_stream.haml +++ b/app/views/notifications/index.turbo_stream.haml @@ -11,5 +11,5 @@ class: "btn btn-light", method: :get, params: { last_id: @notifications_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/question/show.html.haml b/app/views/question/show.html.haml index 8a6135e9..b21b70f1 100644 --- a/app/views/question/show.html.haml +++ b/app/views/question/show.html.haml @@ -14,7 +14,7 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } - if user_signed_in? && !current_user.answered?(@question) && current_user != @question.user && @question.user&.privacy_allow_stranger_answers diff --git a/app/views/question/show.turbo_stream.haml b/app/views/question/show.turbo_stream.haml index f00a0fd2..34f6be75 100644 --- a/app/views/question/show.turbo_stream.haml +++ b/app/views/question/show.turbo_stream.haml @@ -8,5 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/timeline/timeline.html.haml b/app/views/timeline/timeline.html.haml index d687a424..2b3089b8 100644 --- a/app/views/timeline/timeline.html.haml +++ b/app/views/timeline/timeline.html.haml @@ -10,7 +10,7 @@ class: "btn btn-light", method: :get, params: { last_id: @timeline_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, @title || APP_CONFIG["site_name"]) diff --git a/app/views/timeline/timeline.turbo_stream.haml b/app/views/timeline/timeline.turbo_stream.haml index 7358551f..561309e6 100644 --- a/app/views/timeline/timeline.turbo_stream.haml +++ b/app/views/timeline/timeline.turbo_stream.haml @@ -8,5 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @timeline_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/user/questions.html.haml b/app/views/user/questions.html.haml index 7cc374a2..aa410ffd 100644 --- a/app/views/user/questions.html.haml +++ b/app/views/user/questions.html.haml @@ -8,7 +8,7 @@ class: "btn btn-light", method: :get, params: { last_id: @questions_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, questions_title(@user)) diff --git a/app/views/user/questions.turbo_stream.haml b/app/views/user/questions.turbo_stream.haml index 7e2fd097..6fd71f55 100644 --- a/app/views/user/questions.turbo_stream.haml +++ b/app/views/user/questions.turbo_stream.haml @@ -8,5 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @questions_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/user/show.html.haml b/app/views/user/show.html.haml index dff54e2e..98f36de8 100644 --- a/app/views/user/show.html.haml +++ b/app/views/user/show.html.haml @@ -16,7 +16,7 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } :ruby diff --git a/app/views/user/show.turbo_stream.haml b/app/views/user/show.turbo_stream.haml index 32085b2c..c341e74b 100644 --- a/app/views/user/show.turbo_stream.haml +++ b/app/views/user/show.turbo_stream.haml @@ -8,5 +8,5 @@ class: "btn btn-light", method: :get, params: { last_id: @answers_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } diff --git a/app/views/user/show_follow.html.haml b/app/views/user/show_follow.html.haml index feab2496..ca284ab8 100644 --- a/app/views/user/show_follow.html.haml +++ b/app/views/user/show_follow.html.haml @@ -9,7 +9,7 @@ class: "btn btn-light", method: :get, params: { last_id: @relationships_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } - provide(:title, t(".title.#{type}", user: @user.profile.safe_name)) diff --git a/app/views/user/show_follow.turbo_stream.haml b/app/views/user/show_follow.turbo_stream.haml index e67c848b..a7c3b180 100644 --- a/app/views/user/show_follow.turbo_stream.haml +++ b/app/views/user/show_follow.turbo_stream.haml @@ -9,5 +9,5 @@ class: "btn btn-light", method: :get, params: { last_id: @relationships_last_id }, - data: { hotkey: "." }, + data: { controller: :hotkey, hotkey: "." }, form: { data: { turbo_stream: true } } From 79e742ce1e2d715ca54fdf1cccb412ff1698419b Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 29 Apr 2023 09:21:48 +0200 Subject: [PATCH 124/251] Remove debug --- app/javascript/retrospring/initializers/hotkey.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/app/javascript/retrospring/initializers/hotkey.ts b/app/javascript/retrospring/initializers/hotkey.ts index a82d1e96..d57ddcf9 100644 --- a/app/javascript/retrospring/initializers/hotkey.ts +++ b/app/javascript/retrospring/initializers/hotkey.ts @@ -2,7 +2,6 @@ import { install } from '@github/hotkey' export default function (): void { document.addEventListener('turbo:load', () => { - console.debug("Init Hotkey.") document.querySelectorAll('[data-hotkey]').forEach(el => install(el as HTMLElement)); }); } From 2afb10ab819165f189950d705ad868cf78357ba3 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 29 Apr 2023 14:55:07 +0200 Subject: [PATCH 125/251] Move keyboard shortcuts menu entry out of canny if clause --- app/views/navigation/dropdown/_profile.html.haml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/navigation/dropdown/_profile.html.haml b/app/views/navigation/dropdown/_profile.html.haml index 1c736c64..aef649a9 100644 --- a/app/views/navigation/dropdown/_profile.html.haml +++ b/app/views/navigation/dropdown/_profile.html.haml @@ -34,10 +34,10 @@ %i.fa.fa-fw.fa-flask = t(".feedback.features") .dropdown-divider - %a.dropdown-item{ href: "#", data: { bs_target: "#modal-hotkeys", bs_toggle: "modal", hotkey: "Shift+?,?" } } - %i.fa.fa-keyboard - = t(".hotkeys") - .dropdown-divider + %a.dropdown-item{ href: "#", data: { bs_target: "#modal-hotkeys", bs_toggle: "modal", hotkey: "Shift+?,?,Shift+ß" } } + %i.fa.fa-keyboard + = t(".hotkeys") + .dropdown-divider = link_to destroy_user_session_path, data: { turbo_method: :delete }, class: "dropdown-item" do %i.fa.fa-fw.fa-sign-out = t("voc.logout") From 2666d1750103f97f70a7fabf86a542ff3855872e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 09:57:08 +0000 Subject: [PATCH 126/251] Bump active_model_otp from 2.3.1 to 2.3.2 Bumps [active_model_otp](https://github.com/heapsource/active_model_otp) from 2.3.1 to 2.3.2. - [Release notes](https://github.com/heapsource/active_model_otp/releases) - [Commits](https://github.com/heapsource/active_model_otp/compare/v2.3.1...v2.3.2) --- updated-dependencies: - dependency-name: active_model_otp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 22a0bb8c..55447cd1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -47,7 +47,7 @@ GEM erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - active_model_otp (2.3.1) + active_model_otp (2.3.2) activemodel rotp (~> 6.2.0) activejob (6.1.7.3) @@ -196,7 +196,7 @@ GEM httparty (0.21.0) mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) - i18n (1.12.0) + i18n (1.13.0) concurrent-ruby (~> 1.0) i18n-js (4.0.0) glob @@ -341,7 +341,7 @@ GEM railties (>= 5.2) rexml (3.2.5) rolify (6.0.1) - rotp (6.2.0) + rotp (6.2.2) rpush (7.0.1) activesupport (>= 5.2) jwt (>= 1.5.6) @@ -474,7 +474,7 @@ GEM websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.7) + zeitwerk (2.6.8) PLATFORMS ruby From f38d2782cdb13c1d2d398abdf44d5b6cde8d4750 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 09:58:13 +0000 Subject: [PATCH 127/251] Bump json-schema from 3.0.0 to 4.0.0 Bumps [json-schema](https://github.com/voxpupuli/json-schema) from 3.0.0 to 4.0.0. - [Release notes](https://github.com/voxpupuli/json-schema/releases) - [Changelog](https://github.com/voxpupuli/json-schema/blob/master/CHANGELOG.md) - [Commits](https://github.com/voxpupuli/json-schema/compare/v3.0.0...v4.0.0) --- updated-dependencies: - dependency-name: json-schema dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 22a0bb8c..6b3c9cec 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -75,8 +75,8 @@ GEM minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.4) + public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) bcrypt (3.1.18) better_errors (2.9.1) @@ -208,7 +208,7 @@ GEM jsbundling-rails (1.1.1) railties (>= 6.0.0) json (2.6.3) - json-schema (3.0.0) + json-schema (4.0.0) addressable (>= 2.8) jwt (2.7.0) kaminari (1.2.2) @@ -280,7 +280,7 @@ GEM pghero (3.3.3) activerecord (>= 6) prometheus-client (4.1.0) - public_suffix (4.0.7) + public_suffix (5.0.1) puma (6.2.2) nio4r (~> 2.0) pundit (2.3.0) From 283484177fb03cccc9ce77b396cc501b10dce404 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 09:59:41 +0000 Subject: [PATCH 128/251] Bump sass from 1.62.0 to 1.62.1 Bumps [sass](https://github.com/sass/dart-sass) from 1.62.0 to 1.62.1. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.62.0...1.62.1) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1e7b6b95..f710673a 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.62.0", + "sass": "^1.62.1", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.0.4" diff --git a/yarn.lock b/yarn.lock index e24607d9..364adce3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2120,10 +2120,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.62.0: - version "1.62.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.0.tgz#3686b2195b93295d20765135e562366b33ece37d" - integrity sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg== +sass@^1.62.1: + version "1.62.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.1.tgz#caa8d6bf098935bc92fc73fa169fb3790cacd029" + integrity sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 18a20c4e7b8ef511bdc8d3e4103c4caf3a8da265 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 10:00:11 +0000 Subject: [PATCH 129/251] Bump pg from 1.4.6 to 1.5.3 Bumps [pg](https://github.com/ged/ruby-pg) from 1.4.6 to 1.5.3. - [Release notes](https://github.com/ged/ruby-pg/releases) - [Changelog](https://github.com/ged/ruby-pg/blob/master/History.md) - [Commits](https://github.com/ged/ruby-pg/compare/v1.4.6...v1.5.3) --- updated-dependencies: - dependency-name: pg dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 22a0bb8c..f147445b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -276,7 +276,7 @@ GEM parallel (1.22.1) parser (3.2.2.0) ast (~> 2.4.1) - pg (1.4.6) + pg (1.5.3) pghero (3.3.3) activerecord (>= 6) prometheus-client (4.1.0) From 11e9853890322bfc102b2c24a47d41fb651fcc26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 10:00:21 +0000 Subject: [PATCH 130/251] Bump stylelint-scss from 4.6.0 to 5.0.0 Bumps [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) from 4.6.0 to 5.0.0. - [Release notes](https://github.com/stylelint-scss/stylelint-scss/releases) - [Changelog](https://github.com/stylelint-scss/stylelint-scss/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint-scss/stylelint-scss/compare/v4.6.0...v5.0.0) --- updated-dependencies: - dependency-name: stylelint-scss dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 1e7b6b95..b93c4b60 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,6 @@ "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", "stylelint-config-standard-scss": "^6.1.0", - "stylelint-scss": "^4.6.0" + "stylelint-scss": "^5.0.0" } } diff --git a/yarn.lock b/yarn.lock index e24607d9..1c631f1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2323,7 +2323,7 @@ stylelint-config-standard@^29.0.0: dependencies: stylelint-config-recommended "^9.0.0" -stylelint-scss@^4.0.0, stylelint-scss@^4.6.0: +stylelint-scss@^4.0.0: version "4.6.0" resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.6.0.tgz#f7602d6d562bb256802e38e3fd5e49c46d2e31b6" integrity sha512-M+E0BQim6G4XEkaceEhfVjP/41C9Klg5/tTPTCQVlgw/jm2tvB+OXJGaU0TDP5rnTCB62aX6w+rT+gqJW/uwjA== @@ -2334,6 +2334,16 @@ stylelint-scss@^4.0.0, stylelint-scss@^4.6.0: postcss-selector-parser "^6.0.11" postcss-value-parser "^4.2.0" +stylelint-scss@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.0.0.tgz#2ec6323bac8003fa64871f3fbb75108270e99b83" + integrity sha512-5Ee5kG3JIcP2jk2PMoFMiNmW/815V+wK5o37X5ke90ihWMpPXI9iyqeA6zEWipWSRXeQc0kqbd7hKqiR+wPKNA== + dependencies: + postcss-media-query-parser "^0.2.3" + postcss-resolve-nested-selector "^0.1.1" + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + stylelint@^14.16.1: version "14.16.1" resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.16.1.tgz#b911063530619a1bbe44c2b875fd8181ebdc742d" From 4506d9d0fcad029b29760c4892559486b4e5dd09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 10:18:34 +0000 Subject: [PATCH 131/251] Bump better_errors from 2.9.1 to 2.10.0 Bumps [better_errors](https://github.com/BetterErrors/better_errors) from 2.9.1 to 2.10.0. - [Release notes](https://github.com/BetterErrors/better_errors/releases) - [Commits](https://github.com/BetterErrors/better_errors/compare/v2.9.1...v2.10.0) --- updated-dependencies: - dependency-name: better_errors dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3b19ee94..06d1f73e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -79,10 +79,10 @@ GEM public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) bcrypt (3.1.18) - better_errors (2.9.1) - coderay (>= 1.0.0) + better_errors (2.10.0) erubi (>= 1.0.0) rack (>= 0.9.0) + rouge (>= 1.0.0) binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) bootsnap (1.16.0) @@ -102,7 +102,6 @@ GEM mimemagic (>= 0.3.0) mini_mime (>= 0.1.3) chunky_png (1.4.0) - coderay (1.1.3) colorize (0.8.1) concurrent-ruby (1.2.2) connection_pool (2.4.0) @@ -287,7 +286,7 @@ GEM activesupport (>= 3.0.0) questiongenerator (1.1.0) racc (1.6.2) - rack (2.2.6.4) + rack (2.2.7) rack-test (2.1.0) rack (>= 1.3) rails (6.1.7.3) @@ -342,6 +341,7 @@ GEM rexml (3.2.5) rolify (6.0.1) rotp (6.2.2) + rouge (4.1.0) rpush (7.0.1) activesupport (>= 5.2) jwt (>= 1.5.6) From c9c458252bd297f6d38a49ddfbd7e7f376b87b41 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 7 Mar 2023 19:53:57 +0100 Subject: [PATCH 132/251] Add functionality for marking all notifications as read --- app/controllers/notifications_controller.rb | 10 ++++++++++ app/views/navigation/_desktop.html.haml | 19 +++++++++++-------- app/views/navigation/_mobile.html.haml | 2 +- .../dropdown/_notifications.html.haml | 3 +++ .../notifications.turbo_stream.haml | 13 +++++++++++++ config/locales/views.en.yml | 1 + config/routes.rb | 1 + 7 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 app/views/navigation/notifications.turbo_stream.haml diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index 860dd3ec..f1c885f4 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -25,6 +25,16 @@ class NotificationsController < ApplicationController end end + def read + current_user.notifications.where(new: true).update_all(new: false) + + respond_to do |format| + format.turbo_stream do + render "navigation/notifications", locals: { notifications: [], notification_count: nil } + end + end + end + private def paginate_notifications diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index cde52c1d..d709cf4f 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -19,16 +19,19 @@ %a.nav-link{ href: '#', data: { bs_target: '#modal-list-memberships', bs_toggle: :modal } } %i.fa.fa-list.hidden-xs %span.d-none.d-sm-inline.d-md-none= t(".list") - = nav_entry t("navigation.notifications"), notifications_path, badge: notification_count, class: "d-block d-sm-none", hotkey: "g n" + = nav_entry t("navigation.notifications"), notifications_path, class: "d-block d-sm-none", hotkey: "g n" %li.nav-item.dropdown.d-none.d-sm-block %a.nav-link.dropdown-toggle{ href: '#', data: { bs_toggle: :dropdown } } - - if notification_count.nil? - %i.fa.fa-bell-o - - else - %i.fa.fa-bell - %span.visually-hidden= t("navigation.notifications") - %span.badge= notification_count - = render 'navigation/dropdown/notifications', notifications: notifications, size: "desktop" + %turbo-frame#notification-desktop-icon + - if notification_count.nil? + %i.fa.fa-bell-o + - else + %i.fa.fa-bell + %span.visually-hidden= t("navigation.notifications") + %span.badge= notification_count + .dropdown-menu.dropdown-menu-end.notification-dropdown + %turbo-frame#notifications-dropdown-list + = render 'navigation/dropdown/notifications', notifications:, notification_count: nil %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') } %a.nav-link{ href: "#", name: "toggle-all-ask", data: { bs_target: "#modal-ask-followers", bs_toggle: :modal, hotkey: "n" } } %i.fa.fa-pencil-square-o diff --git a/app/views/navigation/_mobile.html.haml b/app/views/navigation/_mobile.html.haml index 37023212..97e37ccc 100644 --- a/app/views/navigation/_mobile.html.haml +++ b/app/views/navigation/_mobile.html.haml @@ -9,7 +9,7 @@ - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? = nav_entry t("navigation.discover"), discover_path, icon: 'compass', icon_only: true = nav_entry t("navigation.notifications"), notifications_path("all"), icon: notifications_icon, - badge: notification_count, badge_color: "primary", icon_only: true + badge: notification_count, badge_color: "primary", badge_attr: { id: "notification-mobile-count" }, icon_only: true %li.nav-item.profile--image-dropdown %a.nav-link{ href: '#', data: { bs_toggle: 'dropdown', bs_target: '#rs-mobile-nav-profile' }, aria: { controls: 'rs-mobile-nav-profile', expanded: 'false' } } %img.avatar-md.d-inline{ src: current_user.profile_picture.url(:small) } diff --git a/app/views/navigation/dropdown/_notifications.html.haml b/app/views/navigation/dropdown/_notifications.html.haml index 25dd3e79..613cafea 100644 --- a/app/views/navigation/dropdown/_notifications.html.haml +++ b/app/views/navigation/dropdown/_notifications.html.haml @@ -10,6 +10,9 @@ %a.dropdown-item.text-center{ href: notifications_path } %i.fa.fa-fw.fa-chevron-right = t(".new") + = link_to notifications_read_path, class: "dropdown-item text-center", data: { turbo_stream: true, turbo_method: :post } do + %i.fa.fa-fw.fa-check-double + = t(".mark_as_read") - notifications.each do |notification| .dropdown-item = render "notifications/type/#{notification.target.class.name.downcase.split('::').last}", notification: notification diff --git a/app/views/navigation/notifications.turbo_stream.haml b/app/views/navigation/notifications.turbo_stream.haml new file mode 100644 index 00000000..1ff5be9f --- /dev/null +++ b/app/views/navigation/notifications.turbo_stream.haml @@ -0,0 +1,13 @@ += turbo_stream.update "notifications-dropdown-list" do + = render "navigation/dropdown/notifications", notifications: + += turbo_stream.update "notification-desktop-icon" do + - if notification_count.nil? + %i.fa.fa-bell-o + - else + %i.fa.fa-bell + %span.visually-hidden= t("navigation.notifications") + %span.badge= notification_count + += turbo_stream.update "notification-mobile-count" do + %span.badge.badge-primary= notification_count diff --git a/config/locales/views.en.yml b/config/locales/views.en.yml index 74b7f51a..20994bce 100644 --- a/config/locales/views.en.yml +++ b/config/locales/views.en.yml @@ -318,6 +318,7 @@ en: none: :notifications.index.none all: "Show all notifications" new: "Show all new notifications" + mark_as_read: "Mark all as read" profile: profile: "Show profile" settings: "Settings" diff --git a/config/routes.rb b/config/routes.rb index 8f485cb7..3af4b3a8 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -143,6 +143,7 @@ Rails.application.routes.draw do get "/list/:list_name", to: "timeline#list", as: :list_timeline get "/notifications(/:type)", to: "notifications#index", as: :notifications, defaults: { type: "new" } + post "/notifications", to: "notifications#read", as: :notifications_read post "/inbox/create", to: "inbox#create", as: :inbox_create get "/inbox", to: "inbox#show", as: :inbox From 80d8bebe5735b37c23810004da917f7d4f6c9e5e Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 10 Mar 2023 21:08:28 +0100 Subject: [PATCH 133/251] Appease the dog overlords --- app/controllers/notifications_controller.rb | 4 +-- app/views/navigation/_desktop.html.haml | 2 +- .../dropdown/_notifications.html.haml | 35 +++++++++---------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index f1c885f4..8338047f 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -26,12 +26,12 @@ class NotificationsController < ApplicationController end def read - current_user.notifications.where(new: true).update_all(new: false) + current_user.notifications.where(new: true).update_all(new: false) # rubocop:disable Rails/SkipsModelValidations respond_to do |format| format.turbo_stream do render "navigation/notifications", locals: { notifications: [], notification_count: nil } - end + end end end diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index d709cf4f..93a6a027 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -31,7 +31,7 @@ %span.badge= notification_count .dropdown-menu.dropdown-menu-end.notification-dropdown %turbo-frame#notifications-dropdown-list - = render 'navigation/dropdown/notifications', notifications:, notification_count: nil + = render "navigation/dropdown/notifications", notifications:, notification_count: nil %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') } %a.nav-link{ href: "#", name: "toggle-all-ask", data: { bs_target: "#modal-ask-followers", bs_toggle: :modal, hotkey: "n" } } %i.fa.fa-pencil-square-o diff --git a/app/views/navigation/dropdown/_notifications.html.haml b/app/views/navigation/dropdown/_notifications.html.haml index 613cafea..b95fbb63 100644 --- a/app/views/navigation/dropdown/_notifications.html.haml +++ b/app/views/navigation/dropdown/_notifications.html.haml @@ -1,19 +1,18 @@ -.dropdown-menu.dropdown-menu-end.notification-dropdown{ id: "rs-#{size}-nav-notifications" } - - if notifications.count.zero? - %a.dropdown-item.text-center{ href: notifications_path('all') } - %i.fa.fa-fw.fa-chevron-right - = t(".all") - .dropdown-item.text-center.p-2 - %i.fa.fa-bell-o.notification__bell-icon - %p= t(".none") - - else - %a.dropdown-item.text-center{ href: notifications_path } - %i.fa.fa-fw.fa-chevron-right - = t(".new") - = link_to notifications_read_path, class: "dropdown-item text-center", data: { turbo_stream: true, turbo_method: :post } do - %i.fa.fa-fw.fa-check-double - = t(".mark_as_read") - - notifications.each do |notification| - .dropdown-item - = render "notifications/type/#{notification.target.class.name.downcase.split('::').last}", notification: notification +- if notifications.count.zero? + %a.dropdown-item.text-center{ href: notifications_path('all') } + %i.fa.fa-fw.fa-chevron-right + = t(".all") + .dropdown-item.text-center.p-2 + %i.fa.fa-bell-o.notification__bell-icon + %p= t(".none") +- else + %a.dropdown-item.text-center{ href: notifications_path } + %i.fa.fa-fw.fa-chevron-right + = t(".new") + = link_to notifications_read_path, class: "dropdown-item text-center", data: { turbo_stream: true, turbo_method: :post } do + %i.fa.fa-fw.fa-check-double + = t(".mark_as_read") + - notifications.each do |notification| + .dropdown-item + = render "notifications/type/#{notification.target.class.name.downcase.split('::').last}", notification: From 0db44949e6c1ed0e89284f8218319e594b4af750 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 10 Mar 2023 21:16:52 +0100 Subject: [PATCH 134/251] Move `NotificationsController#index` test into their own `describe` block --- .../notifications_controller_spec.rb | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/spec/controllers/notifications_controller_spec.rb b/spec/controllers/notifications_controller_spec.rb index bcae9a8d..97ac8a8e 100644 --- a/spec/controllers/notifications_controller_spec.rb +++ b/spec/controllers/notifications_controller_spec.rb @@ -3,39 +3,41 @@ require "rails_helper" describe NotificationsController do - subject { get :index, params: { type: :new } } + describe "#index" do + subject { get :index, params: { type: :new } } - let(:user) { FactoryBot.create(:user) } + let(:user) { FactoryBot.create(:user) } - before do - sign_in(user) - end - - context "user has no notifications" do - it "should show an empty list" do - subject - expect(response).to render_template(:index) - - expect(controller.instance_variable_get(:@notifications)).to be_empty - end - end - - context "user has notifications" do - let(:other_user) { FactoryBot.create(:user) } - let(:another_user) { FactoryBot.create(:user) } - let(:question) { FactoryBot.create(:question, user: user) } - let!(:answer) { FactoryBot.create(:answer, question: question, user: other_user) } - let!(:subscription) { Subscription.create(user: user, answer: answer) } - let!(:comment) { FactoryBot.create(:comment, answer: answer, user: other_user) } - - it "should show a list of notifications" do - subject - expect(response).to render_template(:index) - expect(controller.instance_variable_get(:@notifications)).to have_attributes(size: 2) + before do + sign_in(user) end - it "marks notifications as read" do - expect { subject }.to change { Notification.for(user).where(new: true).count }.from(2).to(0) + context "user has no notifications" do + it "should show an empty list" do + subject + expect(response).to render_template(:index) + + expect(controller.instance_variable_get(:@notifications)).to be_empty + end + end + + context "user has notifications" do + let(:other_user) { FactoryBot.create(:user) } + let(:another_user) { FactoryBot.create(:user) } + let(:question) { FactoryBot.create(:question, user: user) } + let!(:answer) { FactoryBot.create(:answer, question: question, user: other_user) } + let!(:subscription) { Subscription.create(user: user, answer: answer) } + let!(:comment) { FactoryBot.create(:comment, answer: answer, user: other_user) } + + it "should show a list of notifications" do + subject + expect(response).to render_template(:index) + expect(controller.instance_variable_get(:@notifications)).to have_attributes(size: 2) + end + + it "marks notifications as read" do + expect { subject }.to change { Notification.for(user).where(new: true).count }.from(2).to(0) + end end end end From b5a72be2882542b0933382ec0ba003d17fec9d40 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 10 Mar 2023 21:36:43 +0100 Subject: [PATCH 135/251] Add test for marking all notifications as read --- .../notifications_controller_spec.rb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/spec/controllers/notifications_controller_spec.rb b/spec/controllers/notifications_controller_spec.rb index 97ac8a8e..448c2997 100644 --- a/spec/controllers/notifications_controller_spec.rb +++ b/spec/controllers/notifications_controller_spec.rb @@ -40,4 +40,25 @@ describe NotificationsController do end end end + + describe "#read" do + subject { post :read, format: :turbo_stream } + + let(:recipient) { FactoryBot.create(:user) } + let(:notification_count) { rand(8..20) } + + context "user has some unread notifications" do + before do + notification_count.times do + FactoryBot.create(:user).follow(recipient) + end + + sign_in(recipient) + end + + it "marks all notifications as read" do + expect { subject }.to change { Notification.where(recipient:, new: true).count }.from(notification_count).to(0) + end + end + end end From a3dbad5265aab0b10ccdb180bef7fcfc2ed1544d Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 10 Mar 2023 21:38:44 +0100 Subject: [PATCH 136/251] Fix lint errors in `NotificationController#index` tests --- spec/controllers/notifications_controller_spec.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/controllers/notifications_controller_spec.rb b/spec/controllers/notifications_controller_spec.rb index 448c2997..0ba10a12 100644 --- a/spec/controllers/notifications_controller_spec.rb +++ b/spec/controllers/notifications_controller_spec.rb @@ -24,10 +24,10 @@ describe NotificationsController do context "user has notifications" do let(:other_user) { FactoryBot.create(:user) } let(:another_user) { FactoryBot.create(:user) } - let(:question) { FactoryBot.create(:question, user: user) } - let!(:answer) { FactoryBot.create(:answer, question: question, user: other_user) } - let!(:subscription) { Subscription.create(user: user, answer: answer) } - let!(:comment) { FactoryBot.create(:comment, answer: answer, user: other_user) } + let(:question) { FactoryBot.create(:question, user:) } + let!(:answer) { FactoryBot.create(:answer, question:, user: other_user) } + let!(:subscription) { Subscription.create(user:, answer:) } + let!(:comment) { FactoryBot.create(:comment, answer:, user: other_user) } it "should show a list of notifications" do subject From 57ed3008d3c171440ceb575be4f2de204ac4406c Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 19 Mar 2023 14:54:55 +0100 Subject: [PATCH 137/251] Fix "Content missing" on "Show all notifications" --- app/views/navigation/dropdown/_notifications.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/navigation/dropdown/_notifications.html.haml b/app/views/navigation/dropdown/_notifications.html.haml index b95fbb63..94736452 100644 --- a/app/views/navigation/dropdown/_notifications.html.haml +++ b/app/views/navigation/dropdown/_notifications.html.haml @@ -1,12 +1,12 @@ - if notifications.count.zero? - %a.dropdown-item.text-center{ href: notifications_path('all') } + %a.dropdown-item.text-center{ href: notifications_path('all'), data: { turbo_frame: "_top" } } %i.fa.fa-fw.fa-chevron-right = t(".all") .dropdown-item.text-center.p-2 %i.fa.fa-bell-o.notification__bell-icon %p= t(".none") - else - %a.dropdown-item.text-center{ href: notifications_path } + %a.dropdown-item.text-center{ href: notifications_path, data: { turbo_frame: "_top" } } %i.fa.fa-fw.fa-chevron-right = t(".new") = link_to notifications_read_path, class: "dropdown-item text-center", data: { turbo_stream: true, turbo_method: :post } do From 2604e6b2404d48062304c268b36faa8fd355960f Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Thu, 16 Feb 2023 23:51:38 +0100 Subject: [PATCH 138/251] Prefetch subscriptions --- app/controllers/question_controller.rb | 4 +++- app/controllers/timeline_controller.rb | 4 +++- app/controllers/user_controller.rb | 4 +++- app/views/actions/_answer.html.haml | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/controllers/question_controller.rb b/app/controllers/question_controller.rb index 9d9c2891..0952f8d7 100644 --- a/app/controllers/question_controller.rb +++ b/app/controllers/question_controller.rb @@ -4,8 +4,10 @@ class QuestionController < ApplicationController def show @question = Question.find(params[:id]) @answers = @question.cursored_answers(last_id: params[:last_id], current_user:) - @answers_last_id = @answers.map(&:id).min + answer_ids = @answers.map(&:id) + @answers_last_id = answer_ids.min @more_data_available = !@question.cursored_answers(last_id: @answers_last_id, size: 1, current_user:).count.zero? + @subscribed = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? respond_to do |format| format.html diff --git a/app/controllers/timeline_controller.rb b/app/controllers/timeline_controller.rb index 4445af6a..7e56ba73 100644 --- a/app/controllers/timeline_controller.rb +++ b/app/controllers/timeline_controller.rb @@ -32,8 +32,10 @@ class TimelineController < ApplicationController def paginate_timeline @timeline = yield(last_id: params[:last_id]) - @timeline_last_id = @timeline.map(&:id).min + timeline_ids = @timeline.map(&:id) + @timeline_last_id = timeline_ids.min @more_data_available = !yield(last_id: @timeline_last_id, size: 1).count.zero? + @subscribed = Subscription.where(user: current_user, answer_id: timeline_ids).pluck(:answer_id) if user_signed_in? respond_to do |format| format.html { render "timeline/timeline" } diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 1963b496..56262166 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -7,9 +7,11 @@ class UserController < ApplicationController def show @answers = @user.cursored_answers(last_id: params[:last_id]) + answer_ids = @answers.map(&:id) @pinned_answers = @user.answers.pinned.order(pinned_at: :desc).limit(10) - @answers_last_id = @answers.map(&:id).min + @answers_last_id = answer_ids.min @more_data_available = !@user.cursored_answers(last_id: @answers_last_id, size: 1).count.zero? + @subscribed = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? respond_to do |format| format.html diff --git a/app/views/actions/_answer.html.haml b/app/views/actions/_answer.html.haml index de81c031..b0fe1909 100644 --- a/app/views/actions/_answer.html.haml +++ b/app/views/actions/_answer.html.haml @@ -1,5 +1,5 @@ .dropdown-menu.dropdown-menu-end{ role: :menu } - - if Subscription.is_subscribed(current_user, answer) + - if @subscribed&.include?(answer.id) -# fun joke should subscribe? %a.dropdown-item{ href: "#", data: { a_id: answer.id, action: "ab-submarine", torpedo: "no" } } %i.fa.fa-fw.fa-anchor From 7aed99d187fda6b303dcf879308b71c95f2bcab3 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 17 Feb 2023 00:35:03 +0100 Subject: [PATCH 139/251] Appease the dog overlords --- app/controllers/concerns/paginates_answers.rb | 11 +++++++++++ app/controllers/question_controller.rb | 6 ++++-- app/controllers/timeline_controller.rb | 6 +++--- app/controllers/user_controller.rb | 11 +++++------ app/views/actions/_answer.html.haml | 2 +- app/views/answerbox/_actions.html.haml | 2 +- app/views/application/_answerbox.html.haml | 4 ++-- app/views/question/show.html.haml | 2 +- app/views/question/show.turbo_stream.haml | 2 +- app/views/timeline/timeline.html.haml | 2 +- app/views/user/show.html.haml | 4 ++-- app/views/user/show.turbo_stream.haml | 2 +- 12 files changed, 33 insertions(+), 21 deletions(-) create mode 100644 app/controllers/concerns/paginates_answers.rb diff --git a/app/controllers/concerns/paginates_answers.rb b/app/controllers/concerns/paginates_answers.rb new file mode 100644 index 00000000..83fd5293 --- /dev/null +++ b/app/controllers/concerns/paginates_answers.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module PaginatesAnswers + def paginate_answers + answer_ids = @answers.map(&:id) + answer_ids += @pinned_answers.pluck(:id) if @pinned_answers.present? + @answers_last_id = answer_ids.min + @more_data_available = !@user.cursored_answers(last_id: @answers_last_id, size: 1).count.zero? + Subscription.where(user: current_user, answer_id: answer_ids + @pinned_answers.pluck(:id)).pluck(:answer_id) if user_signed_in? + end +end diff --git a/app/controllers/question_controller.rb b/app/controllers/question_controller.rb index 0952f8d7..77100737 100644 --- a/app/controllers/question_controller.rb +++ b/app/controllers/question_controller.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class QuestionController < ApplicationController + include PaginatesAnswers + def show @question = Question.find(params[:id]) @answers = @question.cursored_answers(last_id: params[:last_id], current_user:) @@ -10,8 +12,8 @@ class QuestionController < ApplicationController @subscribed = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? respond_to do |format| - format.html - format.turbo_stream { render layout: false, status: :see_other } + format.html { render locals: { subscribed_answer_ids: } } + format.turbo_stream { render layout: false, status: :see_other, locals: { subscribed_answer_ids: } } end end end diff --git a/app/controllers/timeline_controller.rb b/app/controllers/timeline_controller.rb index 7e56ba73..75c54e78 100644 --- a/app/controllers/timeline_controller.rb +++ b/app/controllers/timeline_controller.rb @@ -35,11 +35,11 @@ class TimelineController < ApplicationController timeline_ids = @timeline.map(&:id) @timeline_last_id = timeline_ids.min @more_data_available = !yield(last_id: @timeline_last_id, size: 1).count.zero? - @subscribed = Subscription.where(user: current_user, answer_id: timeline_ids).pluck(:answer_id) if user_signed_in? + subscribed_answer_ids = Subscription.where(user: current_user, answer_id: timeline_ids).pluck(:answer_id) if user_signed_in? respond_to do |format| - format.html { render "timeline/timeline" } - format.turbo_stream { render "timeline/timeline", layout: false, status: :see_other } + format.html { render "timeline/timeline", locals: { subscribed_answer_ids: } } + format.turbo_stream { render "timeline/timeline", layout: false, status: :see_other, locals: { subscribed_answer_ids: } } end end end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 56262166..0fc30366 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -1,21 +1,20 @@ # frozen_string_literal: true class UserController < ApplicationController + include PaginatesAnswers + before_action :set_user before_action :hidden_social_graph_redirect, only: %i[followers followings] after_action :mark_notification_as_read, only: %i[show] def show @answers = @user.cursored_answers(last_id: params[:last_id]) - answer_ids = @answers.map(&:id) @pinned_answers = @user.answers.pinned.order(pinned_at: :desc).limit(10) - @answers_last_id = answer_ids.min - @more_data_available = !@user.cursored_answers(last_id: @answers_last_id, size: 1).count.zero? - @subscribed = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? + subscribed_answer_ids = paginate_answers respond_to do |format| - format.html - format.turbo_stream + format.html { render locals: { subscribed_answer_ids: } } + format.turbo_stream { render layout: false, locals: { subscribed_answer_ids: } } end end diff --git a/app/views/actions/_answer.html.haml b/app/views/actions/_answer.html.haml index b0fe1909..e63e452b 100644 --- a/app/views/actions/_answer.html.haml +++ b/app/views/actions/_answer.html.haml @@ -1,5 +1,5 @@ .dropdown-menu.dropdown-menu-end{ role: :menu } - - if @subscribed&.include?(answer.id) + - if subscribed_answer_ids&.include?(answer.id) -# fun joke should subscribe? %a.dropdown-item{ href: "#", data: { a_id: answer.id, action: "ab-submarine", torpedo: "no" } } %i.fa.fa-fw.fa-anchor diff --git a/app/views/answerbox/_actions.html.haml b/app/views/answerbox/_actions.html.haml index 4ec1c35d..5c152abe 100644 --- a/app/views/answerbox/_actions.html.haml +++ b/app/views/answerbox/_actions.html.haml @@ -13,4 +13,4 @@ .btn-group %button.btn.btn-default.btn-sm.dropdown-toggle{ data: { bs_toggle: :dropdown }, aria: { expanded: false } } %span.caret - = render "actions/answer", answer: a + = render "actions/answer", answer: a, subscribed_answer_ids: diff --git a/app/views/application/_answerbox.html.haml b/app/views/application/_answerbox.html.haml index 36c2a90e..b84a5f17 100644 --- a/app/views/application/_answerbox.html.haml +++ b/app/views/application/_answerbox.html.haml @@ -21,7 +21,7 @@ .answerbox__answer-date = link_to(raw(t("time.distance_ago", time: time_tooltip(a))), answer_path(a.user.screen_name, a.id), data: { selection_hotkey: "l" }) .col-md-6.d-flex.d-md-block.answerbox__actions - = render "answerbox/actions", a: a, display_all: display_all + = render "answerbox/actions", a:, display_all:, subscribed_answer_ids: - else .row .col-md-6.text-start.text-muted @@ -33,7 +33,7 @@ %i.fa.fa-thumbtack = t(".pinned") .col-md-6.d-md-flex.answerbox__actions - = render "answerbox/actions", a: a, display_all: display_all + = render "answerbox/actions", a:, display_all:, subscribed_answer_ids: .card-footer{ id: "ab-comments-section-#{a.id}", class: display_all.nil? ? "d-none" : nil } %div{ id: "ab-smiles-#{a.id}" }= render "answerbox/smiles", a: a %div{ id: "ab-comments-#{a.id}" }= render "answerbox/comments", a: a diff --git a/app/views/question/show.html.haml b/app/views/question/show.html.haml index b21b70f1..102389f6 100644 --- a/app/views/question/show.html.haml +++ b/app/views/question/show.html.haml @@ -6,7 +6,7 @@ %button.d-none{ data: { hotkey: "j", action: "navigation#down" } } %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } - @answers.each do |a| - = render "answerbox", a: a, show_question: false + = render "answerbox", a:, show_question: false, subscribed_answer_ids: - if @more_data_available .d-flex.justify-content-center.justify-content-sm-start#paginator diff --git a/app/views/question/show.turbo_stream.haml b/app/views/question/show.turbo_stream.haml index 34f6be75..758a5e23 100644 --- a/app/views/question/show.turbo_stream.haml +++ b/app/views/question/show.turbo_stream.haml @@ -1,6 +1,6 @@ = turbo_stream.append "answers" do - @answers.each do |a| - = render "answerbox", a: a, show_question: false + = render "answerbox", a:, show_question: false, subscribed_answer_ids: = turbo_stream.update "paginator" do - if @more_data_available diff --git a/app/views/timeline/timeline.html.haml b/app/views/timeline/timeline.html.haml index 2b3089b8..6515d9bf 100644 --- a/app/views/timeline/timeline.html.haml +++ b/app/views/timeline/timeline.html.haml @@ -2,7 +2,7 @@ %button.d-none{ data: { hotkey: "j", action: "navigation#down" } } %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } - @timeline.each do |answer| - = render "answerbox", a: answer + = render "answerbox", a: answer, subscribed_answer_ids: - if @more_data_available .d-flex.justify-content-center#paginator diff --git a/app/views/user/show.html.haml b/app/views/user/show.html.haml index 98f36de8..69a03fe8 100644 --- a/app/views/user/show.html.haml +++ b/app/views/user/show.html.haml @@ -4,11 +4,11 @@ %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } #pinned-answers - @pinned_answers.each do |a| - = render "answerbox", a: + = render "answerbox", a:, subscribed_answer_ids: #answers - @answers.each do |a| - = render "answerbox", a: + = render "answerbox", a:, subscribed_answer_ids: - if @more_data_available .d-flex.justify-content-center.justify-content-sm-start#paginator diff --git a/app/views/user/show.turbo_stream.haml b/app/views/user/show.turbo_stream.haml index c341e74b..a3477c47 100644 --- a/app/views/user/show.turbo_stream.haml +++ b/app/views/user/show.turbo_stream.haml @@ -1,6 +1,6 @@ = turbo_stream.append "answers" do - @answers.each do |a| - = render 'answerbox', a: a + = render "answerbox", a:, subscribed_answer_ids: = turbo_stream.update "paginator" do - if @more_data_available From d7997db4920e88b2b7bb0f5675349402d488da4e Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 17 Feb 2023 00:45:40 +0100 Subject: [PATCH 140/251] Check subscription in `answer/show` --- app/controllers/answer_controller.rb | 1 + app/views/answer/show.html.haml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/answer_controller.rb b/app/controllers/answer_controller.rb index d5e70881..110486d1 100644 --- a/app/controllers/answer_controller.rb +++ b/app/controllers/answer_controller.rb @@ -9,6 +9,7 @@ class AnswerController < ApplicationController def show @answer = Answer.includes(comments: %i[user smiles], question: [:user], smiles: [:user]).find(params[:id]) + @subscribed = Subscription.where(user: current_user, answer: @answer).pluck(:id) @display_all = true if user_signed_in? diff --git a/app/views/answer/show.html.haml b/app/views/answer/show.html.haml index 5f84d47d..393b0dd5 100644 --- a/app/views/answer/show.html.haml +++ b/app/views/answer/show.html.haml @@ -1,4 +1,4 @@ - provide(:title, answer_title(@answer)) - provide(:og, answer_opengraph(@answer)) .container-lg.container--main - = render 'answerbox', a: @answer, display_all: @display_all + = render 'answerbox', a: @answer, display_all: @display_all, subscribed_answer_ids: @subscribed From 0771c689ead9cc52fe11c00a161016f73e64f68d Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 17 Feb 2023 01:18:33 +0100 Subject: [PATCH 141/251] Clean up marking notifications as read when viewing an answer --- app/controllers/answer_controller.rb | 23 ++++++++++++----------- app/views/answer/show.html.haml | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/controllers/answer_controller.rb b/app/controllers/answer_controller.rb index 110486d1..3d520116 100644 --- a/app/controllers/answer_controller.rb +++ b/app/controllers/answer_controller.rb @@ -11,17 +11,7 @@ class AnswerController < ApplicationController @answer = Answer.includes(comments: %i[user smiles], question: [:user], smiles: [:user]).find(params[:id]) @subscribed = Subscription.where(user: current_user, answer: @answer).pluck(:id) @display_all = true - - if user_signed_in? - notif = Notification.where(type: "Notification::QuestionAnswered", target_id: @answer.id, recipient_id: current_user.id, new: true).first - notif&.update(new: false) - notif = Notification.where(type: "Notification::Commented", target_id: @answer.comments.pluck(:id), recipient_id: current_user.id, new: true) - notif.update_all(new: false) unless notif.empty? - notif = Notification.where(type: "Notification::Smiled", target_id: @answer.smiles.pluck(:id), recipient_id: current_user.id, new: true) - notif.update_all(new: false) unless notif.empty? - notif = Notification.where(type: "Notification::CommentSmiled", target_id: @answer.comment_smiles.pluck(:id), recipient_id: current_user.id, new: true) - notif.update_all(new: false) unless notif.empty? - end + mark_notifications_as_read if user_signed_in? end def pin @@ -53,4 +43,15 @@ class AnswerController < ApplicationController end end end + + private + + def mark_notifications_as_read + Notification.where(recipient_id: current_user.id, new: true) + .and(Notification.where(type: "Notification::QuestionAnswered", target_id: @answer.id) + .or(Notification.where(type: "Notification::Commented", target_id: @answer.comments.pluck(:id))) + .or(Notification.where(type: "Notification::Smiled", target_id: @answer.smiles.pluck(:id))) + .or(Notification.where(type: "Notification::CommentSmiled", target_id: @answer.comment_smiles.pluck(:id)))) + .update_all(new: false) # rubocop:disable Rails/SkipsModelValidations + end end diff --git a/app/views/answer/show.html.haml b/app/views/answer/show.html.haml index 393b0dd5..8a50232f 100644 --- a/app/views/answer/show.html.haml +++ b/app/views/answer/show.html.haml @@ -1,4 +1,4 @@ - provide(:title, answer_title(@answer)) - provide(:og, answer_opengraph(@answer)) .container-lg.container--main - = render 'answerbox', a: @answer, display_all: @display_all, subscribed_answer_ids: @subscribed + = render "answerbox", a: @answer, display_all: @display_all, subscribed_answer_ids: @subscribed From 904eab8daaedcc043aa8fed3b79fe087f5ed68db Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 17 Feb 2023 09:08:13 +0100 Subject: [PATCH 142/251] Remove now unused `is_subscribed` method --- app/models/subscription.rb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index bab3bf39..e8704d8b 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -7,15 +7,6 @@ class Subscription < ApplicationRecord Subscription.where(answer: target) end - def is_subscribed(recipient, target) - existing = Subscription.find_by(user: recipient, answer: target) - if existing.nil? - false - else - existing.is_active - end - end - def subscribe(recipient, target, force = true) existing = Subscription.find_by(user: recipient, answer: target) if existing.nil? From d77919ee01b6e188764c52cd0f0f50adb710c58f Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 19 Feb 2023 15:50:32 +0100 Subject: [PATCH 143/251] Don't check for user sign in when fetching subscriptions in timeline --- app/controllers/timeline_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/timeline_controller.rb b/app/controllers/timeline_controller.rb index 75c54e78..d905ccd5 100644 --- a/app/controllers/timeline_controller.rb +++ b/app/controllers/timeline_controller.rb @@ -35,7 +35,7 @@ class TimelineController < ApplicationController timeline_ids = @timeline.map(&:id) @timeline_last_id = timeline_ids.min @more_data_available = !yield(last_id: @timeline_last_id, size: 1).count.zero? - subscribed_answer_ids = Subscription.where(user: current_user, answer_id: timeline_ids).pluck(:answer_id) if user_signed_in? + subscribed_answer_ids = Subscription.where(user: current_user, answer_id: timeline_ids).pluck(:answer_id) respond_to do |format| format.html { render "timeline/timeline", locals: { subscribed_answer_ids: } } From 6fc4049f6c250ecf2e65606e129ac4960016f830 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 19 Feb 2023 15:51:19 +0100 Subject: [PATCH 144/251] Pass answer list method into `paginate_answers` --- app/controllers/answer_controller.rb | 8 ++++++-- app/controllers/concerns/paginates_answers.rb | 5 +++-- app/controllers/user_controller.rb | 3 +-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/controllers/answer_controller.rb b/app/controllers/answer_controller.rb index 3d520116..56577a41 100644 --- a/app/controllers/answer_controller.rb +++ b/app/controllers/answer_controller.rb @@ -9,9 +9,13 @@ class AnswerController < ApplicationController def show @answer = Answer.includes(comments: %i[user smiles], question: [:user], smiles: [:user]).find(params[:id]) - @subscribed = Subscription.where(user: current_user, answer: @answer).pluck(:id) @display_all = true - mark_notifications_as_read if user_signed_in? + @subscribed = [] + + return unless user_signed_in? + + @subscribed = Subscription.where(user: current_user, answer: @answer).pluck(:answer_id) + mark_notifications_as_read end def pin diff --git a/app/controllers/concerns/paginates_answers.rb b/app/controllers/concerns/paginates_answers.rb index 83fd5293..bd49d4e2 100644 --- a/app/controllers/concerns/paginates_answers.rb +++ b/app/controllers/concerns/paginates_answers.rb @@ -2,10 +2,11 @@ module PaginatesAnswers def paginate_answers + @answers = yield(last_id: params[:last_id]) answer_ids = @answers.map(&:id) answer_ids += @pinned_answers.pluck(:id) if @pinned_answers.present? @answers_last_id = answer_ids.min - @more_data_available = !@user.cursored_answers(last_id: @answers_last_id, size: 1).count.zero? - Subscription.where(user: current_user, answer_id: answer_ids + @pinned_answers.pluck(:id)).pluck(:answer_id) if user_signed_in? + @more_data_available = !yield(last_id: @answers_last_id, size: 1).count.zero? + Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? end end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 0fc30366..1fe36a4f 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -8,9 +8,8 @@ class UserController < ApplicationController after_action :mark_notification_as_read, only: %i[show] def show - @answers = @user.cursored_answers(last_id: params[:last_id]) @pinned_answers = @user.answers.pinned.order(pinned_at: :desc).limit(10) - subscribed_answer_ids = paginate_answers + subscribed_answer_ids = paginate_answers { |args| @user.cursored_answers(**args) } respond_to do |format| format.html { render locals: { subscribed_answer_ids: } } From 0a97a86d7349206d5f3a2ad03d9d48e883f95c9f Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 19 Feb 2023 15:51:33 +0100 Subject: [PATCH 145/251] Pass `subscribed_answer_ids` into `answerbox` in Turbo Stream --- app/views/timeline/timeline.turbo_stream.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/timeline/timeline.turbo_stream.haml b/app/views/timeline/timeline.turbo_stream.haml index 561309e6..f1d93222 100644 --- a/app/views/timeline/timeline.turbo_stream.haml +++ b/app/views/timeline/timeline.turbo_stream.haml @@ -1,6 +1,6 @@ = turbo_stream.append "timeline" do - @timeline.each do |answer| - = render "answerbox", a: answer + = render "answerbox", a: answer, subscribed_answer_ids: = turbo_stream.update "paginator" do - if @more_data_available From 51638d2eb24af748149846633cd89e87886cdb35 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 27 Feb 2023 21:34:34 +0100 Subject: [PATCH 146/251] Remove `subscriptions.is_active` column --- .../20230227174822_remove_is_active_from_subscriptions.rb | 8 ++++++++ db/schema.rb | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20230227174822_remove_is_active_from_subscriptions.rb diff --git a/db/migrate/20230227174822_remove_is_active_from_subscriptions.rb b/db/migrate/20230227174822_remove_is_active_from_subscriptions.rb new file mode 100644 index 00000000..3b8cb4b5 --- /dev/null +++ b/db/migrate/20230227174822_remove_is_active_from_subscriptions.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class RemoveIsActiveFromSubscriptions < ActiveRecord::Migration[6.1] + def up + execute "DELETE FROM subscriptions WHERE is_active = FALSE" + remove_column :subscriptions, :is_active + end +end diff --git a/db/schema.rb b/db/schema.rb index 3cabc240..39dc6424 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2023_02_25_143633) do +ActiveRecord::Schema.define(version: 2023_02_27_174822) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -261,7 +261,6 @@ ActiveRecord::Schema.define(version: 2023_02_25_143633) do t.bigint "answer_id", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.boolean "is_active", default: true t.index ["user_id", "answer_id"], name: "index_subscriptions_on_user_id_and_answer_id" end From 0132d7b25130d8e2920029e9be0914934b124ffc Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sat, 4 Mar 2023 20:42:51 +0100 Subject: [PATCH 147/251] Remove usages of `is_active` --- .../ajax/subscription_controller.rb | 8 ++++---- app/models/comment.rb | 2 +- app/models/subscription.rb | 18 ++++++------------ .../ajax/subscription_controller_spec.rb | 10 +++++----- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/app/controllers/ajax/subscription_controller.rb b/app/controllers/ajax/subscription_controller.rb index a04520e4..fd574e78 100644 --- a/app/controllers/ajax/subscription_controller.rb +++ b/app/controllers/ajax/subscription_controller.rb @@ -4,14 +4,14 @@ class Ajax::SubscriptionController < AjaxController def subscribe params.require :answer @response[:status] = :okay - state = Subscription.subscribe(current_user, Answer.find(params[:answer])).nil? - @response[:success] = state == false + result = Subscription.subscribe(current_user, Answer.find(params[:answer])) + @response[:success] = result.present? end def unsubscribe params.require :answer @response[:status] = :okay - state = Subscription.unsubscribe(current_user, Answer.find(params[:answer])).nil? - @response[:success] = state == false + result = Subscription.unsubscribe(current_user, Answer.find(params[:answer])) + @response[:success] = result&.destroyed? || false end end diff --git a/app/models/comment.rb b/app/models/comment.rb index 3b43999e..830a6f4e 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -8,7 +8,7 @@ class Comment < ApplicationRecord validates :content, length: { maximum: 512 } after_create do - Subscription.subscribe self.user, answer, false + Subscription.subscribe self.user, answer Subscription.notify self, answer end diff --git a/app/models/subscription.rb b/app/models/subscription.rb index e8704d8b..1eb4fd9e 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -3,17 +3,11 @@ class Subscription < ApplicationRecord belongs_to :answer class << self - def for(target) - Subscription.where(answer: target) - end - - def subscribe(recipient, target, force = true) + def subscribe(recipient, target) existing = Subscription.find_by(user: recipient, answer: target) - if existing.nil? - Subscription.new(user: recipient, answer: target).save! - elsif force - existing.update(is_active: true) - end + return true if existing.present? + + Subscription.create!(user: recipient, answer: target) end def unsubscribe(recipient, target) @@ -22,7 +16,7 @@ class Subscription < ApplicationRecord end subs = Subscription.find_by(user: recipient, answer: target) - subs.update(is_active: false) unless subs.nil? + subs&.destroy end def destruct(target) @@ -46,7 +40,7 @@ class Subscription < ApplicationRecord return nil end - Subscription.where(answer: target, is_active: true).each do |subs| + Subscription.where(answer: target).each do |subs| next unless not subs.user == source.user Notification.notify subs.user, source end diff --git a/spec/controllers/ajax/subscription_controller_spec.rb b/spec/controllers/ajax/subscription_controller_spec.rb index 6a14aeee..23499211 100644 --- a/spec/controllers/ajax/subscription_controller_spec.rb +++ b/spec/controllers/ajax/subscription_controller_spec.rb @@ -33,7 +33,7 @@ describe Ajax::SubscriptionController, :ajax_controller, type: :controller do context "when subscription does not exist" do it "creates a subscription on the answer" do expect { subject }.to(change { answer.subscriptions.count }.by(1)) - expect(answer.subscriptions.where(is_active: true).map { |s| s.user.id }.sort).to eq([answer_user.id, user.id].sort) + expect(answer.subscriptions.map { |s| s.user.id }.sort).to eq([answer_user.id, user.id].sort) end include_examples "returns the expected response" @@ -44,7 +44,7 @@ describe Ajax::SubscriptionController, :ajax_controller, type: :controller do it "does not modify the answer's subscriptions" do expect { subject }.to(change { answer.subscriptions.count }.by(0)) - expect(answer.subscriptions.where(is_active: true).map { |s| s.user.id }.sort).to eq([answer_user.id, user.id].sort) + expect(answer.subscriptions.map { |s| s.user.id }.sort).to eq([answer_user.id, user.id].sort) end include_examples "returns the expected response" @@ -105,8 +105,8 @@ describe Ajax::SubscriptionController, :ajax_controller, type: :controller do before(:each) { Subscription.subscribe(user, answer) } it "removes an active subscription from the answer" do - expect { subject }.to(change { answer.subscriptions.where(is_active: true).count }.by(-1)) - expect(answer.subscriptions.where(is_active: true).map { |s| s.user.id }.sort).to eq([answer_user.id].sort) + expect { subject }.to(change { answer.subscriptions.count }.by(-1)) + expect(answer.subscriptions.map { |s| s.user.id }.sort).to eq([answer_user.id].sort) end include_examples "returns the expected response" @@ -123,7 +123,7 @@ describe Ajax::SubscriptionController, :ajax_controller, type: :controller do it "does not modify the answer's subscriptions" do expect { subject }.to(change { answer.subscriptions.count }.by(0)) - expect(answer.subscriptions.where(is_active: true).map { |s| s.user.id }.sort).to eq([answer_user.id].sort) + expect(answer.subscriptions.map { |s| s.user.id }.sort).to eq([answer_user.id].sort) end include_examples "returns the expected response" From f73fc87991924a8ddd83675f63030ea7d6439fa9 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 13:47:46 +0100 Subject: [PATCH 148/251] Simplify `notify` and `denotify` methods --- app/models/subscription.rb | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 1eb4fd9e..0424c3da 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -36,23 +36,20 @@ class Subscription < ApplicationRecord end def notify(source, target) - if source.nil? or target.nil? - return nil + return nil if source.nil? || target.nil? + + notifications = Subscription.where(answer: target).where.not(user: target.user).map do |s| + { target_id: source.id, target_type: Comment, recipient_id: s.user_id, new: true, type: Notification::Commented } end - Subscription.where(answer: target).each do |subs| - next unless not subs.user == source.user - Notification.notify subs.user, source - end + Notification.insert_all!(notifications) end def denotify(source, target) - if source.nil? or target.nil? - return nil - end - Subscription.where(answer: target).each do |subs| - Notification.denotify subs.user, source - end + return nil if source.nil? or target.nil? + + subs = Subscription.where(answer: target) + Notification.where(target:, recipient: subs.map(&:user)).delete_all end end end From 36d59d100edff8d2436f6821e5bafc9300477316 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 13:48:27 +0100 Subject: [PATCH 149/251] Remove unused `destruct_by` method --- app/models/subscription.rb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 0424c3da..6d6af38e 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -26,15 +26,6 @@ class Subscription < ApplicationRecord Subscription.where(answer: target).destroy_all end - def destruct_by(recipient, target) - if recipient.nil? or target.nil? - return nil - end - - subs = Subscription.find_by(user: recipient, answer: target) - subs.destroy unless subs.nil? - end - def notify(source, target) return nil if source.nil? || target.nil? From fb83f48adf5c0c2100c1dd504145e8ea1ccb3314 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 13:48:59 +0100 Subject: [PATCH 150/251] Fix lint errors --- app/models/subscription.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 6d6af38e..a94d95ab 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Subscription < ApplicationRecord belongs_to :user belongs_to :answer @@ -11,18 +13,15 @@ class Subscription < ApplicationRecord end def unsubscribe(recipient, target) - if recipient.nil? or target.nil? - return nil - end + return nil if recipient.nil? || target.nil? subs = Subscription.find_by(user: recipient, answer: target) subs&.destroy end def destruct(target) - if target.nil? - return nil - end + return nil if target.nil? + Subscription.where(answer: target).destroy_all end @@ -37,7 +36,7 @@ class Subscription < ApplicationRecord end def denotify(source, target) - return nil if source.nil? or target.nil? + return nil if source.nil? || target.nil? subs = Subscription.where(answer: target) Notification.where(target:, recipient: subs.map(&:user)).delete_all From b93058b11df7ff9b02e08114cadb31d8375b771e Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 14:01:56 +0100 Subject: [PATCH 151/251] Fix remaining lint errors --- app/models/comment.rb | 2 +- app/models/subscription.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/comment.rb b/app/models/comment.rb index 830a6f4e..00472037 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -8,7 +8,7 @@ class Comment < ApplicationRecord validates :content, length: { maximum: 512 } after_create do - Subscription.subscribe self.user, answer + Subscription.subscribe user, answer Subscription.notify self, answer end diff --git a/app/models/subscription.rb b/app/models/subscription.rb index a94d95ab..507cc55c 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -32,7 +32,7 @@ class Subscription < ApplicationRecord { target_id: source.id, target_type: Comment, recipient_id: s.user_id, new: true, type: Notification::Commented } end - Notification.insert_all!(notifications) + Notification.insert_all!(notifications) # rubocop:disable Rails/SkipsModelValidations end def denotify(source, target) From 9c4b2e452a905a85b9000751ec85ef15acbb1858 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 5 Mar 2023 14:15:52 +0100 Subject: [PATCH 152/251] Prevent error when no one is subscribed --- app/models/subscription.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 507cc55c..b7971a98 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -32,7 +32,7 @@ class Subscription < ApplicationRecord { target_id: source.id, target_type: Comment, recipient_id: s.user_id, new: true, type: Notification::Commented } end - Notification.insert_all!(notifications) # rubocop:disable Rails/SkipsModelValidations + Notification.insert_all!(notifications) unless notifications.empty? # rubocop:disable Rails/SkipsModelValidations end def denotify(source, target) From bbc0afe292177168308c06171fcf5846604405d9 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 19 Mar 2023 16:00:15 +0100 Subject: [PATCH 153/251] Move subscribed answer IDs to an ivar --- app/controllers/answer_controller.rb | 4 ++-- app/controllers/concerns/paginates_answers.rb | 2 +- app/controllers/question_controller.rb | 4 ++-- app/controllers/timeline_controller.rb | 6 +++--- app/controllers/user_controller.rb | 6 +++--- app/views/answer/show.html.haml | 2 +- app/views/application/_answerbox.html.haml | 2 +- app/views/question/show.html.haml | 2 +- app/views/question/show.turbo_stream.haml | 2 +- app/views/timeline/timeline.html.haml | 2 +- app/views/timeline/timeline.turbo_stream.haml | 2 +- app/views/user/show.html.haml | 4 ++-- app/views/user/show.turbo_stream.haml | 2 +- 13 files changed, 20 insertions(+), 20 deletions(-) diff --git a/app/controllers/answer_controller.rb b/app/controllers/answer_controller.rb index 56577a41..ac52ab40 100644 --- a/app/controllers/answer_controller.rb +++ b/app/controllers/answer_controller.rb @@ -10,11 +10,11 @@ class AnswerController < ApplicationController def show @answer = Answer.includes(comments: %i[user smiles], question: [:user], smiles: [:user]).find(params[:id]) @display_all = true - @subscribed = [] + @subscribed_answer_ids = [] return unless user_signed_in? - @subscribed = Subscription.where(user: current_user, answer: @answer).pluck(:answer_id) + @subscribed_answer_ids = Subscription.where(user: current_user, answer: @answer).pluck(:answer_id) mark_notifications_as_read end diff --git a/app/controllers/concerns/paginates_answers.rb b/app/controllers/concerns/paginates_answers.rb index bd49d4e2..567eee25 100644 --- a/app/controllers/concerns/paginates_answers.rb +++ b/app/controllers/concerns/paginates_answers.rb @@ -7,6 +7,6 @@ module PaginatesAnswers answer_ids += @pinned_answers.pluck(:id) if @pinned_answers.present? @answers_last_id = answer_ids.min @more_data_available = !yield(last_id: @answers_last_id, size: 1).count.zero? - Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? + @subscribed_answer_ids = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? end end diff --git a/app/controllers/question_controller.rb b/app/controllers/question_controller.rb index 77100737..14dbe80e 100644 --- a/app/controllers/question_controller.rb +++ b/app/controllers/question_controller.rb @@ -12,8 +12,8 @@ class QuestionController < ApplicationController @subscribed = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? respond_to do |format| - format.html { render locals: { subscribed_answer_ids: } } - format.turbo_stream { render layout: false, status: :see_other, locals: { subscribed_answer_ids: } } + format.html + format.turbo_stream { render layout: false, status: :see_other } end end end diff --git a/app/controllers/timeline_controller.rb b/app/controllers/timeline_controller.rb index d905ccd5..6b34fdb4 100644 --- a/app/controllers/timeline_controller.rb +++ b/app/controllers/timeline_controller.rb @@ -35,11 +35,11 @@ class TimelineController < ApplicationController timeline_ids = @timeline.map(&:id) @timeline_last_id = timeline_ids.min @more_data_available = !yield(last_id: @timeline_last_id, size: 1).count.zero? - subscribed_answer_ids = Subscription.where(user: current_user, answer_id: timeline_ids).pluck(:answer_id) + @subscribed_answer_ids = Subscription.where(user: current_user, answer_id: timeline_ids).pluck(:answer_id) respond_to do |format| - format.html { render "timeline/timeline", locals: { subscribed_answer_ids: } } - format.turbo_stream { render "timeline/timeline", layout: false, status: :see_other, locals: { subscribed_answer_ids: } } + format.html { render "timeline/timeline" } + format.turbo_stream { render "timeline/timeline", layout: false, status: :see_other } end end end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 1fe36a4f..7b9084b9 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -9,11 +9,11 @@ class UserController < ApplicationController def show @pinned_answers = @user.answers.pinned.order(pinned_at: :desc).limit(10) - subscribed_answer_ids = paginate_answers { |args| @user.cursored_answers(**args) } + paginate_answers { |args| @user.cursored_answers(**args) } respond_to do |format| - format.html { render locals: { subscribed_answer_ids: } } - format.turbo_stream { render layout: false, locals: { subscribed_answer_ids: } } + format.html + format.turbo_stream { render layout: false } end end diff --git a/app/views/answer/show.html.haml b/app/views/answer/show.html.haml index 8a50232f..55f2a90b 100644 --- a/app/views/answer/show.html.haml +++ b/app/views/answer/show.html.haml @@ -1,4 +1,4 @@ - provide(:title, answer_title(@answer)) - provide(:og, answer_opengraph(@answer)) .container-lg.container--main - = render "answerbox", a: @answer, display_all: @display_all, subscribed_answer_ids: @subscribed + = render "answerbox", a: @answer, display_all: @display_all, subscribed_answer_ids: @subscribed_answer_ids diff --git a/app/views/application/_answerbox.html.haml b/app/views/application/_answerbox.html.haml index b84a5f17..2064909e 100644 --- a/app/views/application/_answerbox.html.haml +++ b/app/views/application/_answerbox.html.haml @@ -21,7 +21,7 @@ .answerbox__answer-date = link_to(raw(t("time.distance_ago", time: time_tooltip(a))), answer_path(a.user.screen_name, a.id), data: { selection_hotkey: "l" }) .col-md-6.d-flex.d-md-block.answerbox__actions - = render "answerbox/actions", a:, display_all:, subscribed_answer_ids: + = render "answerbox/actions", a:, display_all: - else .row .col-md-6.text-start.text-muted diff --git a/app/views/question/show.html.haml b/app/views/question/show.html.haml index 102389f6..e1d0b238 100644 --- a/app/views/question/show.html.haml +++ b/app/views/question/show.html.haml @@ -6,7 +6,7 @@ %button.d-none{ data: { hotkey: "j", action: "navigation#down" } } %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } - @answers.each do |a| - = render "answerbox", a:, show_question: false, subscribed_answer_ids: + = render "answerbox", a:, show_question: false, subscribed_answer_ids: @subscribed_answer_ids - if @more_data_available .d-flex.justify-content-center.justify-content-sm-start#paginator diff --git a/app/views/question/show.turbo_stream.haml b/app/views/question/show.turbo_stream.haml index 758a5e23..96facf13 100644 --- a/app/views/question/show.turbo_stream.haml +++ b/app/views/question/show.turbo_stream.haml @@ -1,6 +1,6 @@ = turbo_stream.append "answers" do - @answers.each do |a| - = render "answerbox", a:, show_question: false, subscribed_answer_ids: + = render "answerbox", a:, show_question: false, subscribed_answer_ids: @subscribed_answer_ids = turbo_stream.update "paginator" do - if @more_data_available diff --git a/app/views/timeline/timeline.html.haml b/app/views/timeline/timeline.html.haml index 6515d9bf..4ed197a8 100644 --- a/app/views/timeline/timeline.html.haml +++ b/app/views/timeline/timeline.html.haml @@ -2,7 +2,7 @@ %button.d-none{ data: { hotkey: "j", action: "navigation#down" } } %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } - @timeline.each do |answer| - = render "answerbox", a: answer, subscribed_answer_ids: + = render "answerbox", a: answer, subscribed_answer_ids: @subscribed_answer_ids - if @more_data_available .d-flex.justify-content-center#paginator diff --git a/app/views/timeline/timeline.turbo_stream.haml b/app/views/timeline/timeline.turbo_stream.haml index f1d93222..1802f630 100644 --- a/app/views/timeline/timeline.turbo_stream.haml +++ b/app/views/timeline/timeline.turbo_stream.haml @@ -1,6 +1,6 @@ = turbo_stream.append "timeline" do - @timeline.each do |answer| - = render "answerbox", a: answer, subscribed_answer_ids: + = render "answerbox", a: answer, subscribed_answer_ids: @subscribed_answer_ids = turbo_stream.update "paginator" do - if @more_data_available diff --git a/app/views/user/show.html.haml b/app/views/user/show.html.haml index 69a03fe8..e110ca20 100644 --- a/app/views/user/show.html.haml +++ b/app/views/user/show.html.haml @@ -4,11 +4,11 @@ %button.d-none{ data: { hotkey: "k", action: "navigation#up" } } #pinned-answers - @pinned_answers.each do |a| - = render "answerbox", a:, subscribed_answer_ids: + = render "answerbox", a:, subscribed_answer_ids: @subscribed_answer_ids #answers - @answers.each do |a| - = render "answerbox", a:, subscribed_answer_ids: + = render "answerbox", a:, subscribed_answer_ids: @subscribed_answer_ids - if @more_data_available .d-flex.justify-content-center.justify-content-sm-start#paginator diff --git a/app/views/user/show.turbo_stream.haml b/app/views/user/show.turbo_stream.haml index a3477c47..ae7889ad 100644 --- a/app/views/user/show.turbo_stream.haml +++ b/app/views/user/show.turbo_stream.haml @@ -1,6 +1,6 @@ = turbo_stream.append "answers" do - @answers.each do |a| - = render "answerbox", a:, subscribed_answer_ids: + = render "answerbox", a: = turbo_stream.update "paginator" do - if @more_data_available From 4221f8cee900317eb175b29a35f46f3d75371475 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Wed, 29 Mar 2023 15:35:16 +0200 Subject: [PATCH 154/251] Fix incorrect user being notified and mutes not being respected --- app/models/subscription.rb | 9 ++++++++- spec/models/subscription_spec.rb | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 spec/models/subscription_spec.rb diff --git a/app/models/subscription.rb b/app/models/subscription.rb index b7971a98..66520203 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -28,7 +28,14 @@ class Subscription < ApplicationRecord def notify(source, target) return nil if source.nil? || target.nil? - notifications = Subscription.where(answer: target).where.not(user: target.user).map do |s| + muted_by = Relationships::Mute.where(target: source.user).pluck(&:source_id) + + # As we will need to notify for each person subscribed, + # it's much faster to bulk insert than to use +Notification.notify+ + notifications = Subscription.where(answer: target) + .where.not(user: source.user) + .where.not(user_id: muted_by) + .map do |s| { target_id: source.id, target_type: Comment, recipient_id: s.user_id, new: true, type: Notification::Commented } end diff --git a/spec/models/subscription_spec.rb b/spec/models/subscription_spec.rb new file mode 100644 index 00000000..eac76a29 --- /dev/null +++ b/spec/models/subscription_spec.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +require "rails_helper" + +describe Subscription do + describe "singleton object" do + describe "#notify" do + subject { Subscription.notify(source, target) } + + context "answer with one comment" do + let(:answer_author) { FactoryBot.create(:user) } + let(:answer) { FactoryBot.create(:answer, user: answer_author) } + let(:commenter) { FactoryBot.create(:user) } + let!(:comment) { FactoryBot.create(:comment, answer:, user: commenter) } + let(:source) { comment } + let(:target) { answer } + + it "notifies the target about source" do + # The method we're testing here is already called the +after_create+ of +Comment+ so there already is a notification + expect { subject }.to change { Notification.count }.from(1).to(2) + created = Notification.order(:created_at).first! + expect(created.target).to eq(comment) + expect(created.recipient).to eq(answer_author) + end + end + end + end +end From 142a31f6552afb0f37b55c56f8ec96b0661d6929 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 11 Apr 2023 11:06:34 +0200 Subject: [PATCH 155/251] Set `subscribed_answer_ids` in answerbox when user is not set --- app/views/application/_answerbox.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/application/_answerbox.html.haml b/app/views/application/_answerbox.html.haml index 2064909e..b84a5f17 100644 --- a/app/views/application/_answerbox.html.haml +++ b/app/views/application/_answerbox.html.haml @@ -21,7 +21,7 @@ .answerbox__answer-date = link_to(raw(t("time.distance_ago", time: time_tooltip(a))), answer_path(a.user.screen_name, a.id), data: { selection_hotkey: "l" }) .col-md-6.d-flex.d-md-block.answerbox__actions - = render "answerbox/actions", a:, display_all: + = render "answerbox/actions", a:, display_all:, subscribed_answer_ids: - else .row .col-md-6.text-start.text-muted From 50531d3b6b1ca4c9e0d6479f219358751ad095b9 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 5 May 2023 16:45:42 +0200 Subject: [PATCH 156/251] Cache notifications dropdown based on `notifications_updated_at` --- app/models/user/notification_methods.rb | 1 + app/views/navigation/_desktop.html.haml | 4 +++- app/views/navigation/_main.html.haml | 3 +-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/models/user/notification_methods.rb b/app/models/user/notification_methods.rb index db7e5018..41ad8a2e 100644 --- a/app/models/user/notification_methods.rb +++ b/app/models/user/notification_methods.rb @@ -14,4 +14,5 @@ module User::NotificationMethods end def notification_cache_key = "#{cache_key}/unread_notification_count-#{notifications_updated_at}" + def notification_dropdown_cache_key = "#{cache_key}/notification_dropdown-#{notifications_updated_at}" end diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index 93a6a027..42eb0f8f 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -31,7 +31,9 @@ %span.badge= notification_count .dropdown-menu.dropdown-menu-end.notification-dropdown %turbo-frame#notifications-dropdown-list - = render "navigation/dropdown/notifications", notifications:, notification_count: nil + - Rails.cache.fetch current_user.notification_dropdown_cache_key do + - notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4) + = render 'navigation/dropdown/notifications', notifications:, size: "desktop" %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') } %a.nav-link{ href: "#", name: "toggle-all-ask", data: { bs_target: "#modal-ask-followers", bs_toggle: :modal, hotkey: "n" } } %i.fa.fa-pencil-square-o diff --git a/app/views/navigation/_main.html.haml b/app/views/navigation/_main.html.haml index a58e50b1..72c03da0 100644 --- a/app/views/navigation/_main.html.haml +++ b/app/views/navigation/_main.html.haml @@ -1,8 +1,7 @@ :ruby - notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4) inbox_count = current_user.unread_inbox_count notification_count = current_user.unread_notification_count -= render "navigation/desktop", notifications:, inbox_count:, notification_count: += render "navigation/desktop", inbox_count:, notification_count: = render "navigation/mobile", inbox_count:, notification_count: = render "modal/ask" From 7dc25ba841c722931795bc1e031383f838b0f0a4 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 12:51:40 +0200 Subject: [PATCH 157/251] Appease the robot dog --- app/views/navigation/_desktop.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index 42eb0f8f..35ee9a4f 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -33,7 +33,7 @@ %turbo-frame#notifications-dropdown-list - Rails.cache.fetch current_user.notification_dropdown_cache_key do - notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4) - = render 'navigation/dropdown/notifications', notifications:, size: "desktop" + = render "navigation/dropdown/notifications", notifications:, size: "desktop" %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') } %a.nav-link{ href: "#", name: "toggle-all-ask", data: { bs_target: "#modal-ask-followers", bs_toggle: :modal, hotkey: "n" } } %i.fa.fa-pencil-square-o From f9e42436eae1c6b2e611a272aa0b69c10e221124 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 12:57:52 +0200 Subject: [PATCH 158/251] Bump version to 2023.0507.0 --- lib/retrospring/version.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 78573924..8ff047cd 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -15,11 +15,11 @@ module Retrospring def year = 2023 - def month = 2 + def month = 5 - def day = 19 + def day = 7 - def patch = 2 + def patch = 0 def suffix = "" From 4c6ad5f789ed6ac549340aa75b56de4c6262de05 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 15:10:31 +0200 Subject: [PATCH 159/251] Fix 500 when not logged in --- app/views/shared/_hotkeys.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/shared/_hotkeys.html.haml b/app/views/shared/_hotkeys.html.haml index a4109569..e62c008b 100644 --- a/app/views/shared/_hotkeys.html.haml +++ b/app/views/shared/_hotkeys.html.haml @@ -22,7 +22,7 @@ %kbd %kbd g %kbd i - - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod? + - if APP_CONFIG.dig(:features, :discover, :enabled) || current_user&.mod? %li.list-group-item = t("navigation.discover") %kbd From fa025fda7ec7077e47ad645db1a1bfe56464367f Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 15:10:45 +0200 Subject: [PATCH 160/251] Bump version to 2023.0507.1 --- lib/retrospring/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 8ff047cd..a452e9d8 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -19,7 +19,7 @@ module Retrospring def day = 7 - def patch = 0 + def patch = 1 def suffix = "" From be66f7061d6f5d5adbdd84cba4e4758aff9b1077 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 16:39:02 +0200 Subject: [PATCH 161/251] Fix 500 on Discover --- app/controllers/discover_controller.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/controllers/discover_controller.rb b/app/controllers/discover_controller.rb index 7f415c78..2e1be8b4 100644 --- a/app/controllers/discover_controller.rb +++ b/app/controllers/discover_controller.rb @@ -13,6 +13,9 @@ class DiscoverController < ApplicationController @popular_questions = Question.where("created_at > ?", Time.now.ago(1.week)).order(:answer_count).reverse_order.limit(top_x).includes(:user) @new_users = User.where("asked_count > 0").order(:id).reverse_order.limit(top_x).includes(:profile) + answer_ids = @popular_answers.map(&:id) + @most_discussed.map(&:id) + @subscribed_answer_ids = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) + # .user = the user # .question_count = how many questions did the user ask @users_with_most_questions = Question.select('user_id, COUNT(*) AS question_count'). From 15405e41c52defff3224a5e41030dc06c8b39945 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 16:54:35 +0200 Subject: [PATCH 162/251] Fix incorrect caching method used for notifications dropdown --- app/views/navigation/_desktop.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/navigation/_desktop.html.haml b/app/views/navigation/_desktop.html.haml index 35ee9a4f..05e9a6a3 100644 --- a/app/views/navigation/_desktop.html.haml +++ b/app/views/navigation/_desktop.html.haml @@ -31,7 +31,7 @@ %span.badge= notification_count .dropdown-menu.dropdown-menu-end.notification-dropdown %turbo-frame#notifications-dropdown-list - - Rails.cache.fetch current_user.notification_dropdown_cache_key do + - cache current_user.notification_dropdown_cache_key do - notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4) = render "navigation/dropdown/notifications", notifications:, size: "desktop" %li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') } From 6afa7c6277834c3be15c4b8a3c25feb1db149f70 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 17:00:27 +0200 Subject: [PATCH 163/251] Bump version to 2023.0507.2 --- lib/retrospring/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index a452e9d8..3a6c4eb2 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -19,7 +19,7 @@ module Retrospring def day = 7 - def patch = 1 + def patch = 2 def suffix = "" From 578dd9c6e6e61f6f7ef6d589badd04b0ac0b20c9 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 17:27:34 +0200 Subject: [PATCH 164/251] Pass subscribed answer IDs down in Discover views --- app/views/discover/index.html.haml | 2 +- app/views/discover/tab/_answers.html.haml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/discover/index.html.haml b/app/views/discover/index.html.haml index c18bdd71..405fb46c 100644 --- a/app/views/discover/index.html.haml +++ b/app/views/discover/index.html.haml @@ -17,7 +17,7 @@ %li.nav-item{ role: "presentation" } %a.nav-link{ href: "#comments", role: :tab, aria: { controls: "comments" }, data: { bs_toggle: :tab } }= t(".content.tab.comments") .tab-content.mt-3 - = render "discover/tab/answers", answers: @popular_answers + = render "discover/tab/answers", answers: @popular_answers, subscribed_answer_ids: @subscribed_answer_ids = render "discover/tab/questions", questions: @popular_questions = render "discover/tab/discussed", comments: @most_discussed .col-md-5.col-sm-6 diff --git a/app/views/discover/tab/_answers.html.haml b/app/views/discover/tab/_answers.html.haml index 68f0bd79..4438edec 100644 --- a/app/views/discover/tab/_answers.html.haml +++ b/app/views/discover/tab/_answers.html.haml @@ -1,3 +1,3 @@ .tab-pane.active.fade.show{ role: :tabpanel, id: "answers" } - answers.each do |a| - = render "answerbox", a: a + = render "answerbox", a:, subscribed_answer_ids: From bbbff68c7d59c6a77d53d2933ca6547f4b268c91 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 20:31:32 +0200 Subject: [PATCH 165/251] Fix remaining missing subscribed answers in views --- app/views/discover/index.html.haml | 2 +- app/views/discover/tab/_discussed.html.haml | 2 +- app/views/user/show.turbo_stream.haml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/discover/index.html.haml b/app/views/discover/index.html.haml index 405fb46c..de792f8a 100644 --- a/app/views/discover/index.html.haml +++ b/app/views/discover/index.html.haml @@ -19,7 +19,7 @@ .tab-content.mt-3 = render "discover/tab/answers", answers: @popular_answers, subscribed_answer_ids: @subscribed_answer_ids = render "discover/tab/questions", questions: @popular_questions - = render "discover/tab/discussed", comments: @most_discussed + = render "discover/tab/discussed", comments: @most_discussed, subscribed_answer_ids: @subscribed_answer_ids .col-md-5.col-sm-6 %h2= t(".people.heading") %p= t(".people.description") diff --git a/app/views/discover/tab/_discussed.html.haml b/app/views/discover/tab/_discussed.html.haml index 1a851e68..c86f4171 100644 --- a/app/views/discover/tab/_discussed.html.haml +++ b/app/views/discover/tab/_discussed.html.haml @@ -1,3 +1,3 @@ .tab-pane.fade{ role: :tabpanel, id: "comments" } - comments.each do |a| - = render "answerbox", a: a + = render "answerbox", a: a, subscribed_answer_ids: diff --git a/app/views/user/show.turbo_stream.haml b/app/views/user/show.turbo_stream.haml index ae7889ad..d86873da 100644 --- a/app/views/user/show.turbo_stream.haml +++ b/app/views/user/show.turbo_stream.haml @@ -1,6 +1,6 @@ = turbo_stream.append "answers" do - @answers.each do |a| - = render "answerbox", a: + = render "answerbox", a:, subscribed_answer_ids: @subscribed_answer_ids = turbo_stream.update "paginator" do - if @more_data_available From f15cb930ef0fefc466070660b41f3d1c0a5f400a Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 20:35:00 +0200 Subject: [PATCH 166/251] Appease the robot dog --- app/views/discover/tab/_discussed.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/discover/tab/_discussed.html.haml b/app/views/discover/tab/_discussed.html.haml index c86f4171..7b3b7375 100644 --- a/app/views/discover/tab/_discussed.html.haml +++ b/app/views/discover/tab/_discussed.html.haml @@ -1,3 +1,3 @@ .tab-pane.fade{ role: :tabpanel, id: "comments" } - comments.each do |a| - = render "answerbox", a: a, subscribed_answer_ids: + = render "answerbox", a:, subscribed_answer_ids: From ed6bdfe8cbe5504bfb124cdee080907ef16fd96f Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 20:39:09 +0200 Subject: [PATCH 167/251] Touch `inbox_updated_at` after marking entries as read --- app/controllers/inbox_controller.rb | 5 ++++- spec/controllers/inbox_controller_spec.rb | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/controllers/inbox_controller.rb b/app/controllers/inbox_controller.rb index f6a1aff2..661d49f4 100644 --- a/app/controllers/inbox_controller.rb +++ b/app/controllers/inbox_controller.rb @@ -82,10 +82,13 @@ class InboxController < ApplicationController .where(questions: { user: @author_user, author_is_anonymous: false }) end + # rubocop:disable Rails/SkipsModelValidations def mark_inbox_entries_as_read # using .dup to not modify @inbox -- useful in tests - @inbox&.dup&.update_all(new: false) # rubocop:disable Rails/SkipsModelValidations + @inbox&.dup&.update_all(new: false) + current_user.touch(:inbox_updated_at) end + # rubocop:enable Rails/SkipsModelValidations def increment_metric Retrospring::Metrics::QUESTIONS_ASKED.increment( diff --git a/spec/controllers/inbox_controller_spec.rb b/spec/controllers/inbox_controller_spec.rb index f2ec2c9f..c09663ba 100644 --- a/spec/controllers/inbox_controller_spec.rb +++ b/spec/controllers/inbox_controller_spec.rb @@ -3,7 +3,10 @@ require "rails_helper" describe InboxController, type: :controller do - let(:user) { FactoryBot.create(:user) } + include ActiveSupport::Testing::TimeHelpers + + let(:original_inbox_updated_at) { 1.day.ago } + let(:user) { FactoryBot.create(:user, inbox_updated_at: original_inbox_updated_at) } describe "#show" do shared_examples_for "sets the expected ivars" do @@ -53,7 +56,7 @@ describe InboxController, type: :controller do more_data_available: false, inbox_count: 1, delete_id: "ib-delete-all", - disabled: nil + disabled: nil, } end end @@ -62,6 +65,13 @@ describe InboxController, type: :controller do expect { subject }.to change { inbox_entry.reload.new? }.from(true).to(false) end + it "updates the the timestamp used for caching" do + user.update(inbox_updated_at: original_inbox_updated_at) + travel 1.second do + expect { subject }.to change { user.reload.inbox_updated_at }.from(original_inbox_updated_at).to(Time.now.utc) + end + end + context "when requested the turbo stream format" do subject { get :show, format: :turbo_stream } From 2aaba3e2d90589ad4f6a8404cb26c7ae339ec3c0 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 20:54:54 +0200 Subject: [PATCH 168/251] Touch `notifications_updated_at` after marking entries as read --- app/controllers/notifications_controller.rb | 5 ++++- spec/controllers/notifications_controller_spec.rb | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index 8338047f..defe6410 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -48,10 +48,13 @@ class NotificationsController < ApplicationController .count(:target_type) end + # rubocop:disable Rails/SkipsModelValidations def mark_notifications_as_read # using .dup to not modify @notifications -- useful in tests - @notifications&.dup&.update_all(new: false) # rubocop:disable Rails/SkipsModelValidations + @notifications&.dup&.update_all(new: false) + current_user.touch(:notifications_updated_at) end + # rubocop:enable Rails/SkipsModelValidations def cursored_notifications_for(type:, last_id:, size: nil) cursor_params = { last_id: last_id, size: size }.compact diff --git a/spec/controllers/notifications_controller_spec.rb b/spec/controllers/notifications_controller_spec.rb index 0ba10a12..85241645 100644 --- a/spec/controllers/notifications_controller_spec.rb +++ b/spec/controllers/notifications_controller_spec.rb @@ -3,9 +3,12 @@ require "rails_helper" describe NotificationsController do + include ActiveSupport::Testing::TimeHelpers + describe "#index" do subject { get :index, params: { type: :new } } + let(:original_notifications_updated_at) { 1.day.ago } let(:user) { FactoryBot.create(:user) } before do @@ -38,6 +41,13 @@ describe NotificationsController do it "marks notifications as read" do expect { subject }.to change { Notification.for(user).where(new: true).count }.from(2).to(0) end + + it "updates the the timestamp used for caching" do + user.update(notifications_updated_at: original_notifications_updated_at) + travel 1.second do + expect { subject }.to change { user.reload.notifications_updated_at }.from(original_notifications_updated_at).to(Time.now.utc) + end + end end end From 81b279f1b6c676b4b5ecd081c7d4941a9caa35ed Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 21:04:21 +0200 Subject: [PATCH 169/251] Floor times in tests This passed locally for me on macOS but does not pass on Linux due to a difference in precision for timestamps. --- spec/controllers/inbox_controller_spec.rb | 2 +- spec/controllers/notifications_controller_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/controllers/inbox_controller_spec.rb b/spec/controllers/inbox_controller_spec.rb index c09663ba..94a8accf 100644 --- a/spec/controllers/inbox_controller_spec.rb +++ b/spec/controllers/inbox_controller_spec.rb @@ -68,7 +68,7 @@ describe InboxController, type: :controller do it "updates the the timestamp used for caching" do user.update(inbox_updated_at: original_inbox_updated_at) travel 1.second do - expect { subject }.to change { user.reload.inbox_updated_at }.from(original_inbox_updated_at).to(Time.now.utc) + expect { subject }.to change { user.reload.inbox_updated_at.floor }.from(original_inbox_updated_at.floor).to(Time.now.utc.floor) end end diff --git a/spec/controllers/notifications_controller_spec.rb b/spec/controllers/notifications_controller_spec.rb index 85241645..4eea29cf 100644 --- a/spec/controllers/notifications_controller_spec.rb +++ b/spec/controllers/notifications_controller_spec.rb @@ -45,7 +45,7 @@ describe NotificationsController do it "updates the the timestamp used for caching" do user.update(notifications_updated_at: original_notifications_updated_at) travel 1.second do - expect { subject }.to change { user.reload.notifications_updated_at }.from(original_notifications_updated_at).to(Time.now.utc) + expect { subject }.to change { user.reload.notifications_updated_at.floor }.from(original_notifications_updated_at.floor).to(Time.now.utc.floor) end end end From f4a7326acf6cead1e187fa59dbfaf90fb4ab559e Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Sun, 7 May 2023 21:04:49 +0200 Subject: [PATCH 170/251] Bump version to 2023.0507.3 --- lib/retrospring/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 3a6c4eb2..7e3c5d41 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -19,7 +19,7 @@ module Retrospring def day = 7 - def patch = 2 + def patch = 3 def suffix = "" From aca6fb88023f40b9bb659f873ff9e7d91e584b58 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 May 2023 09:57:02 +0000 Subject: [PATCH 171/251] Bump rspec-rails from 6.0.1 to 6.0.2 Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/rspec/rspec-rails/releases) - [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md) - [Commits](https://github.com/rspec/rspec-rails/compare/v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: rspec-rails dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 06d1f73e..f1650128 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -246,7 +246,7 @@ GEM rake mini_magick (4.12.0) mini_mime (1.1.2) - mini_portile2 (2.8.1) + mini_portile2 (2.8.2) minitest (5.18.0) msgpack (1.6.0) multi_json (1.15.0) @@ -356,9 +356,9 @@ GEM chunky_png (~> 1.0) rqrcode_core (~> 1.0) rqrcode_core (1.2.0) - rspec-core (3.12.0) + rspec-core (3.12.2) rspec-support (~> 3.12.0) - rspec-expectations (3.12.0) + rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-its (1.3.0) @@ -367,14 +367,14 @@ GEM rspec-mocks (3.12.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-rails (6.0.1) + rspec-rails (6.0.2) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) - rspec-core (~> 3.11) - rspec-expectations (~> 3.11) - rspec-mocks (~> 3.11) - rspec-support (~> 3.11) + rspec-core (~> 3.12) + rspec-expectations (~> 3.12) + rspec-mocks (~> 3.12) + rspec-support (~> 3.12) rspec-sidekiq (3.1.0) rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) From 4cab189750391b97b13b8efa32e49e4b230e0b44 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 8 May 2023 18:55:25 +0200 Subject: [PATCH 172/251] Fix notification cache timestamp not being touched after marking all as read --- app/controllers/notifications_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index defe6410..b0088074 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -27,6 +27,7 @@ class NotificationsController < ApplicationController def read current_user.notifications.where(new: true).update_all(new: false) # rubocop:disable Rails/SkipsModelValidations + current_user.touch(:notifications_updated_at) respond_to do |format| format.turbo_stream do From 2db4ce38c9c02e20f92a50a0ec5fb44b30d77f6a Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 8 May 2023 19:00:41 +0200 Subject: [PATCH 173/251] Add stub notification partial for content pending deletion --- app/views/notifications/type/_nilclass.html.haml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/views/notifications/type/_nilclass.html.haml diff --git a/app/views/notifications/type/_nilclass.html.haml b/app/views/notifications/type/_nilclass.html.haml new file mode 100644 index 00000000..a6932516 --- /dev/null +++ b/app/views/notifications/type/_nilclass.html.haml @@ -0,0 +1,2 @@ +-# This is a stub to prevent errors on broken notifications on content being asynchronously destroyed. +- logger.error "Notification ##{notification.id} has a target which doesn't exist. (Target: #{notification.target_type}##{notification.target_id})" From 33bd1ae9e448edf7473f373a5fb326e4f1d866ac Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 8 May 2023 19:16:59 +0200 Subject: [PATCH 174/251] Bump version to 2023.0508.0 --- lib/retrospring/version.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 7e3c5d41..449bee4a 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -17,9 +17,9 @@ module Retrospring def month = 5 - def day = 7 + def day = 8 - def patch = 3 + def patch = 0 def suffix = "" From a37a498fb9ce23d1690848c4216a65c000031f84 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 8 May 2023 20:29:27 +0200 Subject: [PATCH 175/251] Exclude pinned answers from pagination queries --- app/controllers/concerns/paginates_answers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/concerns/paginates_answers.rb b/app/controllers/concerns/paginates_answers.rb index 567eee25..2d5081c5 100644 --- a/app/controllers/concerns/paginates_answers.rb +++ b/app/controllers/concerns/paginates_answers.rb @@ -4,8 +4,8 @@ module PaginatesAnswers def paginate_answers @answers = yield(last_id: params[:last_id]) answer_ids = @answers.map(&:id) - answer_ids += @pinned_answers.pluck(:id) if @pinned_answers.present? @answers_last_id = answer_ids.min + answer_ids += @pinned_answers.pluck(:id) if @pinned_answers.present? @more_data_available = !yield(last_id: @answers_last_id, size: 1).count.zero? @subscribed_answer_ids = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? end From 43b14323f3be5737e25e425b64e242b136381351 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 8 May 2023 20:40:37 +0200 Subject: [PATCH 176/251] Bump version to 2023.0508.1 --- lib/retrospring/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 449bee4a..04de3eab 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -19,7 +19,7 @@ module Retrospring def day = 8 - def patch = 0 + def patch = 1 def suffix = "" From 63372cdeacd9c33559b01538f84046584cd30fc1 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Mon, 8 May 2023 21:45:31 +0200 Subject: [PATCH 177/251] Pass subscribed answer IDs on answer create --- app/controllers/ajax/answer_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/ajax/answer_controller.rb b/app/controllers/ajax/answer_controller.rb index e038ae69..0c401638 100644 --- a/app/controllers/ajax/answer_controller.rb +++ b/app/controllers/ajax/answer_controller.rb @@ -48,7 +48,7 @@ class Ajax::AnswerController < AjaxController # this assign is needed because shared/_answerbox relies on it, I think @question = 1 - @response[:render] = render_to_string(partial: "answerbox", locals: { a: answer, show_question: false }) + @response[:render] = render_to_string(partial: "answerbox", locals: { a: answer, show_question: false, subscribed_answer_ids: [answer.id] }) end def destroy From e096ddc999dc4e262420df90d8fce79e03d3b414 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 9 May 2023 22:51:40 +0200 Subject: [PATCH 178/251] Prevent links from notifications from being opened in the dropdown frame --- app/helpers/user_helper.rb | 6 +++--- app/views/notifications/type/_answer.html.haml | 2 +- app/views/notifications/type/_comment.html.haml | 6 +++--- app/views/notifications/type/_dataexport.html.haml | 2 +- app/views/notifications/type/_follow.html.haml | 2 +- app/views/notifications/type/_reaction.html.haml | 4 ++-- app/views/notifications/type/_webpushsubscription.html.haml | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb index a494a4d1..5d487409 100644 --- a/app/helpers/user_helper.rb +++ b/app/helpers/user_helper.rb @@ -12,7 +12,7 @@ module UserHelper if url return user_path(user) if link_only - return profile_link(user) + return profile_link(user, "_top") end user.profile.safe_name.strip end @@ -23,8 +23,8 @@ module UserHelper private - def profile_link(user) - link_to(user.profile.safe_name, user_path(user), class: ("user--banned" if user.banned?).to_s) + def profile_link(user, target = nil) + link_to(user.profile.safe_name, user_path(user), class: ("user--banned" if user.banned?).to_s, target:) end def should_unmask?(author_identifier) diff --git a/app/views/notifications/type/_answer.html.haml b/app/views/notifications/type/_answer.html.haml index bef0030a..ff2cc2a9 100644 --- a/app/views/notifications/type/_answer.html.haml +++ b/app/views/notifications/type/_answer.html.haml @@ -6,7 +6,7 @@ %img.avatar-xs{ src: notification.target.user.profile_picture.url(:small), loading: :lazy } = t(".heading_html", user: user_screen_name(notification.target.user), - question: link_to(t(".link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.id)), + question: link_to(t(".link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.id), target: "_top"), time: time_tooltip(notification.target)) .list-group .list-group-item diff --git a/app/views/notifications/type/_comment.html.haml b/app/views/notifications/type/_comment.html.haml index 26cb55cd..325ceb61 100644 --- a/app/views/notifications/type/_comment.html.haml +++ b/app/views/notifications/type/_comment.html.haml @@ -7,17 +7,17 @@ - if notification.target.answer.user == current_user = t(".heading_html", user: user_screen_name(notification.target.user), - answer: link_to(t(".active.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id)), + answer: link_to(t(".active.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id), target: "_top"), time: time_tooltip(notification.target)) - elsif notification.target.user == notification.target.answer.user = t(".heading_html", user: user_screen_name(notification.target.user), - answer: link_to(t(".passive.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id)), + answer: link_to(t(".passive.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id), target: "_top"), time: time_tooltip(notification.target)) - else = t(".heading_html", user: user_screen_name(notification.target.user), - answer: link_to(t(".other.link_text_html", user: user_screen_name(notification.target.answer.user, url: false)), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id)), + answer: link_to(t(".other.link_text_html", user: user_screen_name(notification.target.answer.user, url: false)), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id), target: "_top"), time: time_tooltip(notification.target)) .list-group .list-group-item diff --git a/app/views/notifications/type/_dataexport.html.haml b/app/views/notifications/type/_dataexport.html.haml index 3da53c4c..eeffef10 100644 --- a/app/views/notifications/type/_dataexport.html.haml +++ b/app/views/notifications/type/_dataexport.html.haml @@ -5,4 +5,4 @@ %h6.notification__user = t(".heading") .notification__text - = t(".text_html", settings_export: link_to(t(".settings_export"), settings_export_path)) + = t(".text_html", settings_export: link_to(t(".settings_export"), settings_export_path, target: "_top")) diff --git a/app/views/notifications/type/_follow.html.haml b/app/views/notifications/type/_follow.html.haml index ec44fc56..0994b6de 100644 --- a/app/views/notifications/type/_follow.html.haml +++ b/app/views/notifications/type/_follow.html.haml @@ -5,4 +5,4 @@ %h6.notification__user = user_screen_name notification.target.source .notification__text - = t(".heading_html", time: time_ago_in_words(notification.target.created_at)) + = t(".heading_html", time: time_ago_in_words(notification.target.created_at), target: "_top") diff --git a/app/views/notifications/type/_reaction.html.haml b/app/views/notifications/type/_reaction.html.haml index 8462dd88..08716738 100644 --- a/app/views/notifications/type/_reaction.html.haml +++ b/app/views/notifications/type/_reaction.html.haml @@ -7,12 +7,12 @@ - if notification.target.parent_type == 'Answer' = t(".heading_html", user: user_screen_name(notification.target.user), - type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.parent.id)), + type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.parent.id), target: "_top"), time: time_tooltip(notification.target)) - elsif notification.target.parent_type == 'Comment' = t(".heading_html", user: user_screen_name(notification.target.user), - type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.parent.answer.id)), + type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.parent.answer.id), target: "_top"), time: time_tooltip(notification.target)) .list-group .list-group-item diff --git a/app/views/notifications/type/_webpushsubscription.html.haml b/app/views/notifications/type/_webpushsubscription.html.haml index b077f489..599130ce 100644 --- a/app/views/notifications/type/_webpushsubscription.html.haml +++ b/app/views/notifications/type/_webpushsubscription.html.haml @@ -7,4 +7,4 @@ %h6.notification__user = t(".heading") .notification__text - = t(".text_html", settings_push: link_to(t(".settings_push"), settings_push_notifications_path)) + = t(".text_html", settings_push: link_to(t(".settings_push"), settings_push_notifications_path, target: "_top")) From 0d55ff16c3d2f0ff82da26e8630f882232288f91 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 9 May 2023 22:57:18 +0200 Subject: [PATCH 179/251] Appease the dog overlords --- app/views/notifications/type/_comment.html.haml | 11 +++++++++-- app/views/notifications/type/_reaction.html.haml | 16 +++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/views/notifications/type/_comment.html.haml b/app/views/notifications/type/_comment.html.haml index 325ceb61..4e079878 100644 --- a/app/views/notifications/type/_comment.html.haml +++ b/app/views/notifications/type/_comment.html.haml @@ -7,7 +7,10 @@ - if notification.target.answer.user == current_user = t(".heading_html", user: user_screen_name(notification.target.user), - answer: link_to(t(".active.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id), target: "_top"), + answer: link_to(t(".active.link_text"), + answer_path(username: notification.target.user.screen_name, + id: notification.target.answer.id), + target: "_top"), time: time_tooltip(notification.target)) - elsif notification.target.user == notification.target.answer.user = t(".heading_html", @@ -17,7 +20,11 @@ - else = t(".heading_html", user: user_screen_name(notification.target.user), - answer: link_to(t(".other.link_text_html", user: user_screen_name(notification.target.answer.user, url: false)), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id), target: "_top"), + answer: link_to(t(".other.link_text_html", + user: user_screen_name(notification.target.answer.user, url: false)), + answer_path(username: notification.target.user.screen_name, + id: notification.target.answer.id), + target: "_top"), time: time_tooltip(notification.target)) .list-group .list-group-item diff --git a/app/views/notifications/type/_reaction.html.haml b/app/views/notifications/type/_reaction.html.haml index 08716738..e9958905 100644 --- a/app/views/notifications/type/_reaction.html.haml +++ b/app/views/notifications/type/_reaction.html.haml @@ -4,17 +4,23 @@ .flex-grow-1 .notification__heading %img.avatar-xs{ src: notification.target.user.profile_picture.url(:small), loading: :lazy } - - if notification.target.parent_type == 'Answer' + - if notification.target.parent_type == "Answer" = t(".heading_html", user: user_screen_name(notification.target.user), - type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.parent.id), target: "_top"), + type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), + answer_path(username: notification.target.user.screen_name, + id: notification.target.parent.id), + target: "_top"), time: time_tooltip(notification.target)) - - elsif notification.target.parent_type == 'Comment' + - elsif notification.target.parent_type == "Comment" = t(".heading_html", user: user_screen_name(notification.target.user), - type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.parent.answer.id), target: "_top"), + type: link_to(t(".#{notification.target.parent_type.downcase}.link_text"), + answer_path(username: notification.target.user.screen_name, + id: notification.target.parent.answer.id), + target: "_top"), time: time_tooltip(notification.target)) .list-group .list-group-item %h6.notification__list-heading= t("activerecord.models.#{notification.target.parent_type.downcase}.one") - = markdown notification.target.parent.content[0..60] + (notification.target.parent.content.length > 60 ? '[...]' : '') + = markdown notification.target.parent.content[0..60] + (notification.target.parent.content.length > 60 ? "[...]" : "") From 2c7225259160b324e177683aab2d9a5be9722f79 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 9 May 2023 22:57:51 +0200 Subject: [PATCH 180/251] Use Unicode ellipsis --- app/views/notifications/type/_answer.html.haml | 4 ++-- app/views/notifications/type/_comment.html.haml | 4 ++-- app/views/notifications/type/_reaction.html.haml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/notifications/type/_answer.html.haml b/app/views/notifications/type/_answer.html.haml index ff2cc2a9..8850c957 100644 --- a/app/views/notifications/type/_answer.html.haml +++ b/app/views/notifications/type/_answer.html.haml @@ -11,7 +11,7 @@ .list-group .list-group-item %h6.notification__list-heading= t("activerecord.models.question.one") - = markdown notification.target.question.content[0..60] + (notification.target.question.content.length > 60 ? '[...]' : '') + = markdown notification.target.question.content[0..60] + (notification.target.question.content.length > 60 ? '[…]' : '') .list-group-item %h6.notification__list-heading= t("activerecord.models.answer.one") - = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? '[...]' : '') + = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? '[…]' : '') diff --git a/app/views/notifications/type/_comment.html.haml b/app/views/notifications/type/_comment.html.haml index 4e079878..397d03ca 100644 --- a/app/views/notifications/type/_comment.html.haml +++ b/app/views/notifications/type/_comment.html.haml @@ -29,7 +29,7 @@ .list-group .list-group-item %h6.notification__list-heading= t("activerecord.models.answer.one") - = markdown notification.target.answer.content[0..60] + (notification.target.answer.content.length > 60 ? '[...]' : '') + = markdown notification.target.answer.content[0..60] + (notification.target.answer.content.length > 60 ? '[…]' : '') .list-group-item %h6.notification__list-heading= t("activerecord.models.comment.one") - = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? '[...]' : '') + = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? '[…]' : '') diff --git a/app/views/notifications/type/_reaction.html.haml b/app/views/notifications/type/_reaction.html.haml index e9958905..ae9259c1 100644 --- a/app/views/notifications/type/_reaction.html.haml +++ b/app/views/notifications/type/_reaction.html.haml @@ -23,4 +23,4 @@ .list-group .list-group-item %h6.notification__list-heading= t("activerecord.models.#{notification.target.parent_type.downcase}.one") - = markdown notification.target.parent.content[0..60] + (notification.target.parent.content.length > 60 ? "[...]" : "") + = markdown notification.target.parent.content[0..60] + (notification.target.parent.content.length > 60 ? "[…]" : "") From 4bf977e96cd42f1ed19c93d72452f042edf338e4 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 9 May 2023 23:03:26 +0200 Subject: [PATCH 181/251] Fix lint errors for the remaining notification types --- app/views/notifications/type/_answer.html.haml | 4 ++-- app/views/notifications/type/_comment.html.haml | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/views/notifications/type/_answer.html.haml b/app/views/notifications/type/_answer.html.haml index 8850c957..890fb394 100644 --- a/app/views/notifications/type/_answer.html.haml +++ b/app/views/notifications/type/_answer.html.haml @@ -11,7 +11,7 @@ .list-group .list-group-item %h6.notification__list-heading= t("activerecord.models.question.one") - = markdown notification.target.question.content[0..60] + (notification.target.question.content.length > 60 ? '[…]' : '') + = markdown notification.target.question.content[0..60] + (notification.target.question.content.length > 60 ? "[…]" : "") .list-group-item %h6.notification__list-heading= t("activerecord.models.answer.one") - = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? '[…]' : '') + = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? "[…]" : "") diff --git a/app/views/notifications/type/_comment.html.haml b/app/views/notifications/type/_comment.html.haml index 397d03ca..56c3797c 100644 --- a/app/views/notifications/type/_comment.html.haml +++ b/app/views/notifications/type/_comment.html.haml @@ -15,7 +15,10 @@ - elsif notification.target.user == notification.target.answer.user = t(".heading_html", user: user_screen_name(notification.target.user), - answer: link_to(t(".passive.link_text"), answer_path(username: notification.target.user.screen_name, id: notification.target.answer.id), target: "_top"), + answer: link_to(t(".passive.link_text"), + answer_path(username: notification.target.user.screen_name, + id: notification.target.answer.id), + target: "_top"), time: time_tooltip(notification.target)) - else = t(".heading_html", @@ -29,7 +32,7 @@ .list-group .list-group-item %h6.notification__list-heading= t("activerecord.models.answer.one") - = markdown notification.target.answer.content[0..60] + (notification.target.answer.content.length > 60 ? '[…]' : '') + = markdown notification.target.answer.content[0..60] + (notification.target.answer.content.length > 60 ? "[…]" : "") .list-group-item %h6.notification__list-heading= t("activerecord.models.comment.one") - = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? '[…]' : '') + = markdown notification.target.content[0..60] + (notification.target.content.length > 60 ? "[…]" : "") From 46c2412ad8d6aab01ac9973dea3828fcdbc59129 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 9 May 2023 23:08:35 +0200 Subject: [PATCH 182/251] Update tests for `user_screen_name` to include `target` attribute --- spec/helpers/user_helper_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/helpers/user_helper_spec.rb b/spec/helpers/user_helper_spec.rb index 1187070a..254c6b6e 100644 --- a/spec/helpers/user_helper_spec.rb +++ b/spec/helpers/user_helper_spec.rb @@ -123,7 +123,7 @@ describe UserHelper, type: :helper do context "user is not banned" do it "returns a link tag to the user's profile" do - expect(subject).to eq(link_to(user.profile.safe_name, user_path(user), class: "")) + expect(subject).to eq(link_to(user.profile.safe_name, user_path(user), class: "", target: "_top")) end end @@ -133,7 +133,7 @@ describe UserHelper, type: :helper do end it "returns a link tag to the user's profile" do - expect(subject).to eq(link_to(user.profile.safe_name, user_path(user), class: "user--banned")) + expect(subject).to eq(link_to(user.profile.safe_name, user_path(user), class: "user--banned", target: "_top")) end end end From 6643a4763f963664ab33b4c1f46fa7a1ac0bc758 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 9 May 2023 23:20:36 +0200 Subject: [PATCH 183/251] Make `target` a keyword argument for `user_screen_name` helper Co-authored-by: nilsding --- app/helpers/user_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb index 5d487409..0f027e52 100644 --- a/app/helpers/user_helper.rb +++ b/app/helpers/user_helper.rb @@ -12,7 +12,7 @@ module UserHelper if url return user_path(user) if link_only - return profile_link(user, "_top") + return profile_link(user, target: "_top") end user.profile.safe_name.strip end @@ -23,7 +23,7 @@ module UserHelper private - def profile_link(user, target = nil) + def profile_link(user, target: nil) link_to(user.profile.safe_name, user_path(user), class: ("user--banned" if user.banned?).to_s, target:) end From 7e5e7295db2c9e711a80afa18426fa1450e9fc41 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 9 May 2023 23:38:27 +0200 Subject: [PATCH 184/251] Bump version to 2023.0509.0 --- lib/retrospring/version.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 04de3eab..812d3ffa 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -17,9 +17,9 @@ module Retrospring def month = 5 - def day = 8 + def day = 9 - def patch = 1 + def patch = 0 def suffix = "" From 0f6ed87472089352208980d047c4b229e044f221 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 09:57:14 +0000 Subject: [PATCH 185/251] Bump esbuild from 0.17.18 to 0.17.19 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.18 to 0.17.19. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.18...v0.17.19) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index e6559b67..0f6569f8 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.18", + "esbuild": "^0.17.19", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 75abdc11..9bc3c162 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz#4aa8d8afcffb4458736ca9b32baa97d7cb5861ea" - integrity sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw== +"@esbuild/android-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" + integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== -"@esbuild/android-arm@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.18.tgz#74a7e95af4ee212ebc9db9baa87c06a594f2a427" - integrity sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw== +"@esbuild/android-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" + integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== -"@esbuild/android-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.18.tgz#1dcd13f201997c9fe0b204189d3a0da4eb4eb9b6" - integrity sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg== +"@esbuild/android-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" + integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== -"@esbuild/darwin-arm64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz#444f3b961d4da7a89eb9bd35cfa4415141537c2a" - integrity sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ== +"@esbuild/darwin-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" + integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== -"@esbuild/darwin-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz#a6da308d0ac8a498c54d62e0b2bfb7119b22d315" - integrity sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A== +"@esbuild/darwin-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" + integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== -"@esbuild/freebsd-arm64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz#b83122bb468889399d0d63475d5aea8d6829c2c2" - integrity sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA== +"@esbuild/freebsd-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" + integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== -"@esbuild/freebsd-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz#af59e0e03fcf7f221b34d4c5ab14094862c9c864" - integrity sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew== +"@esbuild/freebsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" + integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== -"@esbuild/linux-arm64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz#8551d72ba540c5bce4bab274a81c14ed01eafdcf" - integrity sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ== +"@esbuild/linux-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" + integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== -"@esbuild/linux-arm@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz#e09e76e526df4f665d4d2720d28ff87d15cdf639" - integrity sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg== +"@esbuild/linux-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" + integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== -"@esbuild/linux-ia32@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz#47878860ce4fe73a36fd8627f5647bcbbef38ba4" - integrity sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ== +"@esbuild/linux-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" + integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== -"@esbuild/linux-loong64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz#3f8fbf5267556fc387d20b2e708ce115de5c967a" - integrity sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ== +"@esbuild/linux-loong64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" + integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== -"@esbuild/linux-mips64el@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz#9d896d8f3c75f6c226cbeb840127462e37738226" - integrity sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA== +"@esbuild/linux-mips64el@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" + integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== -"@esbuild/linux-ppc64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz#3d9deb60b2d32c9985bdc3e3be090d30b7472783" - integrity sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ== +"@esbuild/linux-ppc64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" + integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== -"@esbuild/linux-riscv64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz#8a943cf13fd24ff7ed58aefb940ef178f93386bc" - integrity sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA== +"@esbuild/linux-riscv64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" + integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== -"@esbuild/linux-s390x@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz#66cb01f4a06423e5496facabdce4f7cae7cb80e5" - integrity sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw== +"@esbuild/linux-s390x@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" + integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== -"@esbuild/linux-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz#23c26050c6c5d1359c7b774823adc32b3883b6c9" - integrity sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA== +"@esbuild/linux-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" + integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== -"@esbuild/netbsd-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz#789a203d3115a52633ff6504f8cbf757f15e703b" - integrity sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg== +"@esbuild/netbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" + integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== -"@esbuild/openbsd-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz#d7b998a30878f8da40617a10af423f56f12a5e90" - integrity sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA== +"@esbuild/openbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" + integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== -"@esbuild/sunos-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz#ecad0736aa7dae07901ba273db9ef3d3e93df31f" - integrity sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg== +"@esbuild/sunos-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" + integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== -"@esbuild/win32-arm64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz#58dfc177da30acf956252d7c8ae9e54e424887c4" - integrity sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg== +"@esbuild/win32-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" + integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== -"@esbuild/win32-ia32@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz#340f6163172b5272b5ae60ec12c312485f69232b" - integrity sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw== +"@esbuild/win32-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" + integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== -"@esbuild/win32-x64@0.17.18": - version "0.17.18" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz#3a8e57153905308db357fd02f57c180ee3a0a1fa" - integrity sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg== +"@esbuild/win32-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" + integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -845,33 +845,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.18: - version "0.17.18" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.18.tgz#f4f8eb6d77384d68cd71c53eb6601c7efe05e746" - integrity sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w== +esbuild@^0.17.19: + version "0.17.19" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" + integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== optionalDependencies: - "@esbuild/android-arm" "0.17.18" - "@esbuild/android-arm64" "0.17.18" - "@esbuild/android-x64" "0.17.18" - "@esbuild/darwin-arm64" "0.17.18" - "@esbuild/darwin-x64" "0.17.18" - "@esbuild/freebsd-arm64" "0.17.18" - "@esbuild/freebsd-x64" "0.17.18" - "@esbuild/linux-arm" "0.17.18" - "@esbuild/linux-arm64" "0.17.18" - "@esbuild/linux-ia32" "0.17.18" - "@esbuild/linux-loong64" "0.17.18" - "@esbuild/linux-mips64el" "0.17.18" - "@esbuild/linux-ppc64" "0.17.18" - "@esbuild/linux-riscv64" "0.17.18" - "@esbuild/linux-s390x" "0.17.18" - "@esbuild/linux-x64" "0.17.18" - "@esbuild/netbsd-x64" "0.17.18" - "@esbuild/openbsd-x64" "0.17.18" - "@esbuild/sunos-x64" "0.17.18" - "@esbuild/win32-arm64" "0.17.18" - "@esbuild/win32-ia32" "0.17.18" - "@esbuild/win32-x64" "0.17.18" + "@esbuild/android-arm" "0.17.19" + "@esbuild/android-arm64" "0.17.19" + "@esbuild/android-x64" "0.17.19" + "@esbuild/darwin-arm64" "0.17.19" + "@esbuild/darwin-x64" "0.17.19" + "@esbuild/freebsd-arm64" "0.17.19" + "@esbuild/freebsd-x64" "0.17.19" + "@esbuild/linux-arm" "0.17.19" + "@esbuild/linux-arm64" "0.17.19" + "@esbuild/linux-ia32" "0.17.19" + "@esbuild/linux-loong64" "0.17.19" + "@esbuild/linux-mips64el" "0.17.19" + "@esbuild/linux-ppc64" "0.17.19" + "@esbuild/linux-riscv64" "0.17.19" + "@esbuild/linux-s390x" "0.17.19" + "@esbuild/linux-x64" "0.17.19" + "@esbuild/netbsd-x64" "0.17.19" + "@esbuild/openbsd-x64" "0.17.19" + "@esbuild/sunos-x64" "0.17.19" + "@esbuild/win32-arm64" "0.17.19" + "@esbuild/win32-ia32" "0.17.19" + "@esbuild/win32-x64" "0.17.19" escape-string-regexp@^1.0.5: version "1.0.5" From 304747be5aaf209d8d9d012c201085e94f4c9ea9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 09:57:48 +0000 Subject: [PATCH 186/251] Bump rails-i18n from 7.0.6 to 7.0.7 Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.6 to 7.0.7. - [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/svenfuchs/rails-i18n/compare/v7.0.6...v7.0.7) --- updated-dependencies: - dependency-name: rails-i18n dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f1650128..ec701fcc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -231,9 +231,9 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.20.0) + loofah (2.21.2) crass (~> 1.0.2) - nokogiri (>= 1.5.9) + nokogiri (>= 1.12.0) mail (2.7.1) mini_mime (>= 0.1.1) marcel (1.0.2) @@ -266,7 +266,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.9) - nokogiri (1.14.3) + nokogiri (1.14.4) mini_portile2 (~> 2.8.0) racc (~> 1.4) oj (3.14.3) @@ -313,7 +313,7 @@ GEM nokogiri (>= 1.6) rails-html-sanitizer (1.5.0) loofah (~> 2.19, >= 2.19.1) - rails-i18n (7.0.6) + rails-i18n (7.0.7) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) rails_admin (3.1.2) @@ -446,7 +446,7 @@ GEM sprockets (>= 3.0.0) sysexits (1.2.0) temple (0.10.0) - thor (1.2.1) + thor (1.2.2) tilt (2.0.11) timeout (0.3.1) tldv (0.1.0) From 00473bf8b87b1c26c711280fd48fa7fab3963468 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 09:58:49 +0000 Subject: [PATCH 187/251] Bump rubocop from 1.50.2 to 1.51.0 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.50.2 to 1.51.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.50.2...v1.51.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index b50aba94..bdd65bb3 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.50" + gem "rubocop", "~> 1.51" gem "rubocop-rails", "~> 2.19" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index f1650128..4d9eb4fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -272,8 +272,8 @@ GEM oj (3.14.3) openssl (3.1.0) orm_adapter (0.5.0) - parallel (1.22.1) - parser (3.2.2.0) + parallel (1.23.0) + parser (3.2.2.1) ast (~> 2.4.1) pg (1.5.3) pghero (3.3.3) @@ -332,7 +332,7 @@ GEM rake (13.0.6) redcarpet (3.6.0) redis (4.8.0) - regexp_parser (2.7.0) + regexp_parser (2.8.0) request_store (1.5.1) rack (>= 1.4) responders (3.1.0) @@ -379,7 +379,7 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.50.2) + rubocop (1.51.0) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) @@ -389,7 +389,7 @@ GEM rubocop-ast (>= 1.28.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.28.0) + rubocop-ast (1.28.1) parser (>= 3.2.1.0) rubocop-rails (2.19.1) activesupport (>= 4.2.0) @@ -541,7 +541,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.50) + rubocop (~> 1.51) rubocop-rails (~> 2.19) rubyzip (~> 2.3) sanitize From 785ef72c34c9b8c9a56aacfb3ee7036308fb9c7b Mon Sep 17 00:00:00 2001 From: Andreas Nedbal Date: Thu, 18 May 2023 17:46:04 +0200 Subject: [PATCH 188/251] use non-fork version of stylelint-action --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2365f648..806f1efc 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -104,7 +104,7 @@ jobs: yarn install --frozen-lockfile if: steps.changed-files.outputs.any_changed == 'true' - name: stylelint - uses: pixeldesu/action-stylelint@5ec750b03a94da735352bdb02e9dfc3d5af33aba + uses: reviewdog/action-stylelint@v1.16.0 with: github_token: ${{ secrets.github_token }} reporter: github-pr-check From 816733b5f45bfa57c46d75540a3279fd9ccf0f2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 May 2023 09:57:00 +0000 Subject: [PATCH 189/251] Bump connection_pool from 2.4.0 to 2.4.1 Bumps [connection_pool](https://github.com/mperham/connection_pool) from 2.4.0 to 2.4.1. - [Changelog](https://github.com/mperham/connection_pool/blob/main/Changes.md) - [Commits](https://github.com/mperham/connection_pool/commits) --- updated-dependencies: - dependency-name: connection_pool dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ecbed097..20aba97e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -104,7 +104,7 @@ GEM chunky_png (1.4.0) colorize (0.8.1) concurrent-ruby (1.2.2) - connection_pool (2.4.0) + connection_pool (2.4.1) crass (1.0.6) cssbundling-rails (1.1.2) railties (>= 6.0.0) From d7a88234965e9e2090e6639a56eaedbaee722ca6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 May 2023 09:57:28 +0000 Subject: [PATCH 190/251] Bump rqrcode from 2.1.2 to 2.2.0 Bumps [rqrcode](https://github.com/whomwah/rqrcode) from 2.1.2 to 2.2.0. - [Release notes](https://github.com/whomwah/rqrcode/releases) - [Changelog](https://github.com/whomwah/rqrcode/blob/master/CHANGELOG.md) - [Commits](https://github.com/whomwah/rqrcode/compare/v2.1.2...v2.2.0) --- updated-dependencies: - dependency-name: rqrcode dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ecbed097..25b5c6ea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -352,7 +352,7 @@ GEM rainbow thor (>= 0.18.1, < 2.0) webpush (~> 1.0) - rqrcode (2.1.2) + rqrcode (2.2.0) chunky_png (~> 1.0) rqrcode_core (~> 1.0) rqrcode_core (1.2.0) From 23295a0c50bf51b73785ae5453531d47b7eb381f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 May 2023 09:57:52 +0000 Subject: [PATCH 191/251] Bump fog-aws from 3.18.0 to 3.19.0 Bumps [fog-aws](https://github.com/fog/fog-aws) from 3.18.0 to 3.19.0. - [Changelog](https://github.com/fog/fog-aws/blob/master/CHANGELOG.md) - [Commits](https://github.com/fog/fog-aws/compare/v3.18.0...v3.19.0) --- updated-dependencies: - dependency-name: fog-aws dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ecbed097..5f5ffaba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -157,7 +157,7 @@ GEM faker (3.1.1) i18n (>= 1.8.11, < 2) ffi (1.15.5) - fog-aws (3.18.0) + fog-aws (3.19.0) fog-core (~> 2.1) fog-json (~> 1.1) fog-xml (~> 0.1) @@ -266,8 +266,8 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.9) - nokogiri (1.14.4) - mini_portile2 (~> 2.8.0) + nokogiri (1.15.1) + mini_portile2 (~> 2.8.2) racc (~> 1.4) oj (3.14.3) openssl (3.1.0) From f1863e53091d3f5d3d73cfa8e4235594c9cf4234 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 26 May 2023 20:39:19 +0200 Subject: [PATCH 192/251] Fix notification created_at not being set for comment notifications --- app/models/subscription.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 66520203..0b05a1b9 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -36,7 +36,7 @@ class Subscription < ApplicationRecord .where.not(user: source.user) .where.not(user_id: muted_by) .map do |s| - { target_id: source.id, target_type: Comment, recipient_id: s.user_id, new: true, type: Notification::Commented } + { target_id: source.id, target_type: Comment, recipient_id: s.user_id, new: true, type: Notification::Commented, created_at: source.created_at, updated_at: source.created_at } end Notification.insert_all!(notifications) unless notifications.empty? # rubocop:disable Rails/SkipsModelValidations From 84d4ac3dc6cf4cc0f789502aa35ec4347de047f5 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 26 May 2023 20:39:53 +0200 Subject: [PATCH 193/251] Backfill missing created_at on comment notifications --- ...ing_created_at_on_commented_notifications.rb | 17 +++++++++++++++++ db/schema.rb | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20230526181715_backfill_missing_created_at_on_commented_notifications.rb diff --git a/db/migrate/20230526181715_backfill_missing_created_at_on_commented_notifications.rb b/db/migrate/20230526181715_backfill_missing_created_at_on_commented_notifications.rb new file mode 100644 index 00000000..906b6859 --- /dev/null +++ b/db/migrate/20230526181715_backfill_missing_created_at_on_commented_notifications.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class BackfillMissingCreatedAtOnCommentedNotifications < ActiveRecord::Migration[6.1] + def up + execute <<~SQUIRREL + UPDATE notifications + SET created_at = comments.created_at, updated_at = comments.created_at + FROM comments + WHERE notifications.target_id = comments.id AND notifications.created_at IS NULL AND notifications.type = 'Notification::Commented' + SQUIRREL + + # clean up notifications for deleted comments + Notification::Commented.where(created_at: nil).destroy_all + end + + def down; end +end diff --git a/db/schema.rb b/db/schema.rb index 39dc6424..c45fb69c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2023_02_27_174822) do +ActiveRecord::Schema.define(version: 2023_05_26_181715) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" From 588ee9927ae34c81d45928627e0efacf2f5b1943 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 May 2023 09:58:48 +0000 Subject: [PATCH 194/251] Bump tj-actions/changed-files from 35 to 36 Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 35 to 36. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](https://github.com/tj-actions/changed-files/compare/v35...v36) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/lint.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 806f1efc..aac7c803 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v35 + uses: tj-actions/changed-files@v36 with: files: "**/*.rb" - name: Install dependencies @@ -40,7 +40,7 @@ jobs: - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v35 + uses: tj-actions/changed-files@v36 with: files: "**/*.ts" - name: Set up Node 14 @@ -66,7 +66,7 @@ jobs: - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v35 + uses: tj-actions/changed-files@v36 with: files: "**/*.haml" - name: Install dependencies @@ -89,7 +89,7 @@ jobs: - uses: actions/checkout@v3.5.2 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v35 + uses: tj-actions/changed-files@v36 with: files: "**/*.scss" - name: Set up Node 14 From 30f05c793e6e6cd039ac348a77153fff93d4a7c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 May 2023 09:58:57 +0000 Subject: [PATCH 195/251] Bump @popperjs/core from 2.11.7 to 2.11.8 Bumps [@popperjs/core](https://github.com/popperjs/popper-core) from 2.11.7 to 2.11.8. - [Release notes](https://github.com/popperjs/popper-core/releases) - [Commits](https://github.com/popperjs/popper-core/commits) --- updated-dependencies: - dependency-name: "@popperjs/core" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9bc3c162..3c5aa832 100644 --- a/yarn.lock +++ b/yarn.lock @@ -248,9 +248,9 @@ fastq "^1.6.0" "@popperjs/core@^2.11": - version "2.11.7" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.7.tgz#ccab5c8f7dc557a52ca3288c10075c9ccd37fff7" - integrity sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw== + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@rails/actioncable@^7.0": version "7.0.3" From 1826da1e0a64c2e73b0f95057a56276aae313012 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 30 May 2023 21:58:02 +0200 Subject: [PATCH 196/251] Allow navigation items to have their badge persist if they have a Stimulus controller This fixes a bug which caused the PWA app badge to persist even though the user's inbox was empty. --- app/helpers/bootstrap_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/bootstrap_helper.rb b/app/helpers/bootstrap_helper.rb index d1cda2a0..54278249 100644 --- a/app/helpers/bootstrap_helper.rb +++ b/app/helpers/bootstrap_helper.rb @@ -24,7 +24,7 @@ module BootstrapHelper "#{content_tag(:i, '', class: "fa fa-#{options[:icon]}")} #{body}" end end - unless options[:badge].nil? + if options.has_key?(:badge) || options.dig(:badge_attr, :data)&.has_key?(:controller) badge_class = [ "badge", ("badge-#{options[:badge_color]}" unless options[:badge_color].nil?), From 5fc481f7978a6a4ae506f5d9a92e59f74edbba06 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 30 May 2023 22:04:39 +0200 Subject: [PATCH 197/251] Set fallback for PWA badge count to 0 (removes badge) --- app/javascript/retrospring/controllers/pwa_badge_controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/retrospring/controllers/pwa_badge_controller.ts b/app/javascript/retrospring/controllers/pwa_badge_controller.ts index 3fccef3f..491d0216 100644 --- a/app/javascript/retrospring/controllers/pwa_badge_controller.ts +++ b/app/javascript/retrospring/controllers/pwa_badge_controller.ts @@ -11,7 +11,7 @@ export default class extends Controller { connect(): void { if (this.isPwa && this.badgeCapable) { - const count = Number.parseInt(this.element.innerText); + const count = Number.parseInt(this.element.innerText) || 0; navigator.setAppBadge(count); } } From ab81fc0c1bc594a217b95c392cde3c2a3bdaa915 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Tue, 30 May 2023 22:29:31 +0200 Subject: [PATCH 198/251] Use `present?` for badge check --- app/helpers/bootstrap_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/bootstrap_helper.rb b/app/helpers/bootstrap_helper.rb index 54278249..4d14e3dc 100644 --- a/app/helpers/bootstrap_helper.rb +++ b/app/helpers/bootstrap_helper.rb @@ -24,7 +24,7 @@ module BootstrapHelper "#{content_tag(:i, '', class: "fa fa-#{options[:icon]}")} #{body}" end end - if options.has_key?(:badge) || options.dig(:badge_attr, :data)&.has_key?(:controller) + if options[:badge].present? || options.dig(:badge_attr, :data)&.has_key?(:controller) badge_class = [ "badge", ("badge-#{options[:badge_color]}" unless options[:badge_color].nil?), From fba3b1c3fb0407fe312da135548a242d3c48a326 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Wed, 31 May 2023 19:09:54 +0200 Subject: [PATCH 199/251] Bump version to 2023.0531.0 --- lib/retrospring/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 812d3ffa..630c78a4 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -17,7 +17,7 @@ module Retrospring def month = 5 - def day = 9 + def day = 31 def patch = 0 From b63a1af7a9387e1c346dd41ab6514861f233d904 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 09:57:25 +0000 Subject: [PATCH 200/251] Bump typescript from 5.0.4 to 5.1.3 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.4 to 5.1.3. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v5.0.4...v5.1.3) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0f6569f8..9d999415 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "sass": "^1.62.1", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", - "typescript": "^5.0.4" + "typescript": "^5.1.3" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", diff --git a/yarn.lock b/yarn.lock index 3c5aa832..fbcd371f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2527,10 +2527,10 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -typescript@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" - integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== +typescript@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" + integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== unbox-primitive@^1.0.1: version "1.0.1" From 76679bdfac778c875ca22a57abdce7a137b2bc62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 09:58:06 +0000 Subject: [PATCH 201/251] Bump @melloware/coloris from 0.19.1 to 0.20.0 Bumps [@melloware/coloris](https://github.com/melloware/coloris-npm) from 0.19.1 to 0.20.0. - [Release notes](https://github.com/melloware/coloris-npm/releases) - [Commits](https://github.com/melloware/coloris-npm/compare/0.19.1...0.20.0) --- updated-dependencies: - dependency-name: "@melloware/coloris" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0f6569f8..3a0eeb19 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@github/hotkey": "^2.0.1", "@hotwired/stimulus": "^3.2.1", "@hotwired/turbo-rails": "^7.3.0", - "@melloware/coloris": "^0.19.1", + "@melloware/coloris": "^0.20.0", "@popperjs/core": "^2.11", "@rails/request.js": "^0.0.8", "bootstrap": "^5.2", diff --git a/yarn.lock b/yarn.lock index 3c5aa832..49a88ec4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -221,10 +221,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@melloware/coloris@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.19.1.tgz#1bfac4515d26b6889f885ac3ff36e2deb6522ba3" - integrity sha512-7C1ue136iQw3UCLy5GoCxXR+u4F1eB0MMmpAwUH2okdQwmdjVNd+OmIQBKVDbM78lMFFJxzvtilWkYV/l8/4rw== +"@melloware/coloris@^0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.20.0.tgz#8c812a71452e7c6b166a466115aa35fdcf6d15fc" + integrity sha512-v0CeIL/Fh8SDXA9yqk/MShpnNXzN575iBklszdtCF/VHLItVZGTmsqida2iiF78PBQ4LTe7f4thNRLsvR7YiVA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From a202404372ddf38849fac335a97d974bf870c456 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 09:59:44 +0000 Subject: [PATCH 202/251] Bump puma from 6.2.2 to 6.3.0 Bumps [puma](https://github.com/puma/puma) from 6.2.2 to 6.3.0. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v6.2.2...v6.3.0) --- updated-dependencies: - dependency-name: puma dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8a858096..c2e1f432 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -280,7 +280,7 @@ GEM activerecord (>= 6) prometheus-client (4.1.0) public_suffix (5.0.1) - puma (6.2.2) + puma (6.3.0) nio4r (~> 2.0) pundit (2.3.0) activesupport (>= 3.0.0) From 5c2e72feb0cb0a1ab2072cab1a64a57ee08cce2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 10:00:22 +0000 Subject: [PATCH 203/251] Bump rubocop from 1.51.0 to 1.52.0 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.51.0 to 1.52.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.51.0...v1.52.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index bdd65bb3..a7d5f948 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.51" + gem "rubocop", "~> 1.52" gem "rubocop-rails", "~> 2.19" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 8a858096..a3618ba5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -379,7 +379,7 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.51.0) + rubocop (1.52.0) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) @@ -389,7 +389,7 @@ GEM rubocop-ast (>= 1.28.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.28.1) + rubocop-ast (1.29.0) parser (>= 3.2.1.0) rubocop-rails (2.19.1) activesupport (>= 4.2.0) @@ -541,7 +541,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.51) + rubocop (~> 1.52) rubocop-rails (~> 2.19) rubyzip (~> 2.3) sanitize From 05165819e8b8a47b37d3257577d5ba7621ef4647 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 10:01:04 +0000 Subject: [PATCH 204/251] Bump oj from 3.14.3 to 3.15.0 Bumps [oj](https://github.com/ohler55/oj) from 3.14.3 to 3.15.0. - [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md) - [Commits](https://github.com/ohler55/oj/compare/v3.14.3...v3.15.0) --- updated-dependencies: - dependency-name: oj dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8a858096..29b216d5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -269,7 +269,7 @@ GEM nokogiri (1.15.1) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oj (3.14.3) + oj (3.15.0) openssl (3.1.0) orm_adapter (0.5.0) parallel (1.23.0) From 3ae57e3dfb7646e61371b301c39a72a02436874e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 12:43:01 +0000 Subject: [PATCH 205/251] Bump rspec-rails from 6.0.2 to 6.0.3 Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.0.2 to 6.0.3. - [Release notes](https://github.com/rspec/rspec-rails/releases) - [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md) - [Commits](https://github.com/rspec/rspec-rails/compare/v6.0.2...v6.0.3) --- updated-dependencies: - dependency-name: rspec-rails dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e568f91c..bc87f84a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -195,7 +195,7 @@ GEM httparty (0.21.0) mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) - i18n (1.13.0) + i18n (1.14.1) concurrent-ruby (~> 1.0) i18n-js (4.0.0) glob @@ -231,7 +231,7 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.21.2) + loofah (2.21.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.7.1) @@ -266,7 +266,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.9) - nokogiri (1.15.1) + nokogiri (1.15.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) oj (3.15.0) @@ -311,8 +311,9 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.5.0) - loofah (~> 2.19, >= 2.19.1) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) rails-i18n (7.0.7) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) @@ -367,7 +368,7 @@ GEM rspec-mocks (3.12.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-rails (6.0.2) + rspec-rails (6.0.3) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) From 9f213133e8a197cdbe4b1a777e6a7ff4ca5e0674 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 09:57:02 +0000 Subject: [PATCH 206/251] Bump jwt from 2.7.0 to 2.7.1 Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.7.0 to 2.7.1. - [Release notes](https://github.com/jwt/ruby-jwt/releases) - [Changelog](https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md) - [Commits](https://github.com/jwt/ruby-jwt/compare/v2.7.0...v2.7.1) --- updated-dependencies: - dependency-name: jwt dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index bc87f84a..d7fb5cc2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -209,7 +209,7 @@ GEM json (2.6.3) json-schema (4.0.0) addressable (>= 2.8) - jwt (2.7.0) + jwt (2.7.1) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) From a4d95a60cf5a6b2f974eef77944943cdaa0c918f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 09:57:19 +0000 Subject: [PATCH 207/251] Bump rubocop from 1.52.0 to 1.52.1 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.52.0 to 1.52.1. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.52.0...v1.52.1) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index bc87f84a..c237569a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -273,8 +273,9 @@ GEM openssl (3.1.0) orm_adapter (0.5.0) parallel (1.23.0) - parser (3.2.2.1) + parser (3.2.2.3) ast (~> 2.4.1) + racc pg (1.5.3) pghero (3.3.3) activerecord (>= 6) @@ -333,7 +334,7 @@ GEM rake (13.0.6) redcarpet (3.6.0) redis (4.8.0) - regexp_parser (2.8.0) + regexp_parser (2.8.1) request_store (1.5.1) rack (>= 1.4) responders (3.1.0) @@ -380,10 +381,10 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.52.0) + rubocop (1.52.1) json (~> 2.3) parallel (~> 1.10) - parser (>= 3.2.0.0) + parser (>= 3.2.2.3) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) From 6b04ce2c5a41bc1bf4e45190b15ecb75eb810505 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 09:57:57 +0000 Subject: [PATCH 208/251] Bump stylelint-scss from 5.0.0 to 5.0.1 Bumps [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) from 5.0.0 to 5.0.1. - [Release notes](https://github.com/stylelint-scss/stylelint-scss/releases) - [Changelog](https://github.com/stylelint-scss/stylelint-scss/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint-scss/stylelint-scss/compare/v5.0.0...v5.0.1) --- updated-dependencies: - dependency-name: stylelint-scss dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 82eaab11..235d1373 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,6 @@ "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", "stylelint-config-standard-scss": "^6.1.0", - "stylelint-scss": "^5.0.0" + "stylelint-scss": "^5.0.1" } } diff --git a/yarn.lock b/yarn.lock index da41dcba..8b41d39a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1973,10 +1973,10 @@ postcss-scss@^4.0.2: resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.6.tgz#5d62a574b950a6ae12f2aa89b60d63d9e4432bfd" integrity sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ== -postcss-selector-parser@^6.0.11: - version "6.0.11" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.13: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -2334,14 +2334,14 @@ stylelint-scss@^4.0.0: postcss-selector-parser "^6.0.11" postcss-value-parser "^4.2.0" -stylelint-scss@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.0.0.tgz#2ec6323bac8003fa64871f3fbb75108270e99b83" - integrity sha512-5Ee5kG3JIcP2jk2PMoFMiNmW/815V+wK5o37X5ke90ihWMpPXI9iyqeA6zEWipWSRXeQc0kqbd7hKqiR+wPKNA== +stylelint-scss@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.0.1.tgz#b33a6580b5734eace083cfc2cc3021225e28547f" + integrity sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ== dependencies: postcss-media-query-parser "^0.2.3" postcss-resolve-nested-selector "^0.1.1" - postcss-selector-parser "^6.0.11" + postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" stylelint@^14.16.1: From e221d0a8934d03cf990ed833329bb324e73e57b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 09:58:08 +0000 Subject: [PATCH 209/251] Bump sass from 1.62.1 to 1.63.3 Bumps [sass](https://github.com/sass/dart-sass) from 1.62.1 to 1.63.3. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.62.1...1.63.3) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 82eaab11..7a37d90b 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.62.1", + "sass": "^1.63.3", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.1.3" diff --git a/yarn.lock b/yarn.lock index da41dcba..b2290aaf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2120,10 +2120,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.62.1: - version "1.62.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.1.tgz#caa8d6bf098935bc92fc73fa169fb3790cacd029" - integrity sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A== +sass@^1.63.3: + version "1.63.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.3.tgz#527746aa43bf2e4eac1ab424f67f6f18a081061a" + integrity sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 958d39bc360bc1beb58eb03124128e8ffd132f4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 09:58:36 +0000 Subject: [PATCH 210/251] Bump esbuild from 0.17.19 to 0.18.1 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.19 to 0.18.1. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.17.19...v0.18.1) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index 82eaab11..3945561c 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.17.19", + "esbuild": "^0.18.1", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index da41dcba..5cb5635b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" - integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== +"@esbuild/android-arm64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.1.tgz#b0785e64af40185d3683738c629b0d4867d1eb88" + integrity sha512-l5V0IWGTYfQMzl4ulgIHKMZPwabIS4a39ZvtkPwL6LYiX3UtL76sylA6eFKufJCB43mwEYqbXoBSMn++NpxILw== -"@esbuild/android-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" - integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== +"@esbuild/android-arm@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.1.tgz#da0b674fc68a698f1657a9d9d9fd0b496d1bf725" + integrity sha512-8+QS98jqdreHLvCojIke8NjcuelB+Osysazr15EhkUIuG0Ov5WK26XgPYWViCTjHnKQxbpS86/JryBOkEpyrBA== -"@esbuild/android-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" - integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== +"@esbuild/android-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.1.tgz#fc52ffc3ff6139957138eea0fa2d58e82b4a29ab" + integrity sha512-1y8/bRek6EYxQeGTUfwL2mmj6NAeXZ3h5YSc4W2Y/kduI1B8VhT4x5X0VxrcGkIKef4N5qCdziRxvei/YUfESg== -"@esbuild/darwin-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" - integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== +"@esbuild/darwin-arm64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.1.tgz#4a0ae46a675251dedd14361d132d8cef0218fcff" + integrity sha512-FFT/on9qQTOntdloQvgfwFkRhNI5l/TCNXZS1CpH6JQd0boR637aThi9g9FYs4o31Ao72/jPZFDiRln5Cu6R2A== -"@esbuild/darwin-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" - integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== +"@esbuild/darwin-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.1.tgz#733934692e038a50a209365b25836e2407e29328" + integrity sha512-p/ZIUt+NlW8qRNVTXoKJgRuc49teazvmXBquoGOm5D6IAimTfWJVJrEivqpoMKyDS/0/PxDMRM2lrkxlSa7XeQ== -"@esbuild/freebsd-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" - integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== +"@esbuild/freebsd-arm64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.1.tgz#72cac2daba6369a1252aa77b6f04b275f31ea7d5" + integrity sha512-eYUDR3thO96ULRf4rJcG9TJ/sQc6Z/YNe16mC/KvVeAOtzmeTXiPMETEv/iMqTCxZhYkHyQG/mYbAxPBWC2mcg== -"@esbuild/freebsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" - integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== +"@esbuild/freebsd-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.1.tgz#3ab647a9f1557ce8f099e4910854000cd831989a" + integrity sha512-w03zjxyg51qktv0JKsV+AbY3uSb1Awifs8IkKQSUXdP3sdPxxmPzZLrlJ1+LjKZRiSa4yP/Haayi/hriNVoIdQ== -"@esbuild/linux-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" - integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== +"@esbuild/linux-arm64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.1.tgz#38ae4a9fbcd1e288270e37b2727f8370dc347d54" + integrity sha512-dHlvkKAVlYNt5LPg1GUha99QiaEGKEC21zpHVAxs7hhW6EkR8nN3iWmyndGXxVJm4K7e4lKAzl8ekPqSr5gAXQ== -"@esbuild/linux-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" - integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== +"@esbuild/linux-arm@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.1.tgz#75d8bdea6f4ed10c2e8186d0aa4f06fe92ea4350" + integrity sha512-d6FXeb8F/cuXtSZuVHQN0Rz3gs3g2Xy/M4KJJRzbKsBx3pwCQuRdSrYxcr7g0PFN8geIOspiLQnUzwONyMA3Bw== -"@esbuild/linux-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" - integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== +"@esbuild/linux-ia32@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.1.tgz#89cda727edeb1ae844b1cd7b88ae03c33197b1e2" + integrity sha512-QHS4duBPuAsLZP82sNeoqTXAJ1mNU4QcfmYtBN/jNvQJXb6n0im8F4ljFSAQbivt1jl1OnKL8HhlLUeKY75nLg== -"@esbuild/linux-loong64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" - integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== +"@esbuild/linux-loong64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.1.tgz#674a5466fe2b5e3d276a5a331ce5bb3fb4e67c90" + integrity sha512-g4YSiF/qBvXvJhSowxaR7Ei/79otL48Qfjviuo+FpXREykA9nSe407T5ZvezFXryFgdf44Fe8lWpjvtQ+n42cQ== -"@esbuild/linux-mips64el@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" - integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== +"@esbuild/linux-mips64el@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.1.tgz#5e01859f27d455582e094bff666836881e4348bd" + integrity sha512-/G1fzmaR5u2S9wgQhiQEhWRct0+GMpuNjhll59uv5Tjojlma9MUPinVnvpw9Re+Idb6gxe6kmzUxFP2YkC/svg== -"@esbuild/linux-ppc64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" - integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== +"@esbuild/linux-ppc64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.1.tgz#8dc674268e506daab0b30f3e95af57c314e0797e" + integrity sha512-NkDjIvleUc3lSV1VI3QE9Oh5mz3nY11H5TCbi4DJ8X09FGwHN5pDVXdAsQYPGjlt/frXZzq6x7vMmTOb5VyBog== -"@esbuild/linux-riscv64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" - integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== +"@esbuild/linux-riscv64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.1.tgz#1b42c089cd9938b154189910e9f8ea2d08fd949f" + integrity sha512-IhN7Nz+HyDRnMQOLcCl6m5BgQMITMhS9O1hOqgAUIy6FI0m/0zTSkZHtvMmSIpOy1uleaGqfNDA9SM3nBeTATQ== -"@esbuild/linux-s390x@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" - integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== +"@esbuild/linux-s390x@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.1.tgz#e9b3052cd2ea1fa929da60e54112678cc8f9df0c" + integrity sha512-u9iRg0eUUIyBbg5hANvRBYRaAnhVemAA2+pi3IgrzQTMeR/uPHQtJI3XInNZkNR6ACA4Fdl8N941p81XygeqWQ== -"@esbuild/linux-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" - integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== +"@esbuild/linux-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.1.tgz#1020ab6ee29fbb3d1b3c08432a5f167a92a0af73" + integrity sha512-0QeWU0a0+RmxPCDt+plXS7/hVMJtfde/LaSzs6X3UTr4FYA0hYpnwDzGXxumcPLzt5c8ctugPuKat0tmRb7noQ== -"@esbuild/netbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" - integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== +"@esbuild/netbsd-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.1.tgz#9c42d1ab35b7cb6f9632dff3a1274d709c29cf72" + integrity sha512-eFL7sxibN8wKuwrRf3HRkcjELALlfl/TavJ8P4J+BJfnkXOITF7zx4tTmGkzK8OwAR9snT2kEfp1Ictc80atGw== -"@esbuild/openbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" - integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== +"@esbuild/openbsd-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.1.tgz#31c0a96f3c5e3f92f2a4019099725aee3fa6981c" + integrity sha512-riCQUnngF2xYUzr0XDdrGEEz0nqnocch0No7SBIQM22wTRi5gt5WqTQexGd/2u2Z19d0rVYQbKBelaJ1dwe9bg== -"@esbuild/sunos-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" - integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== +"@esbuild/sunos-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.1.tgz#e3f5e5b7347af74e9ae2a16ca045d737c077a987" + integrity sha512-6lTop2k+GMkWlrwMy2+55xIBXKfXOi6uzWYypXZZP8HxXG3Mb5N4O71z2KzisVNJtYK2VlQRNbmGtUzIQIhHAw== -"@esbuild/win32-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" - integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== +"@esbuild/win32-arm64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.1.tgz#ca26f130a8a0d2852d4abf5f24713214f804d4f4" + integrity sha512-d6wt4g9GluZp7xCmgpm7gY6wy0mjcBHbKeeK9MYrlWNFJd8KBcD2uCil8kFuaH3Dt6AUz62D0wIoDETFsZ01Tg== -"@esbuild/win32-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" - integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== +"@esbuild/win32-ia32@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.1.tgz#69417b6f7ff8e660953401d8b66cb11d41ca80b3" + integrity sha512-z51DOtcwECu4WlqJUhu39AVnnpaVmTvXei0EQxc99QK7ZJyn4tj0EelYkMBZckpqzqB/GyGSLwEclKtRJ0l2uw== -"@esbuild/win32-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" - integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== +"@esbuild/win32-x64@0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.1.tgz#e44b205e38082addd20fd8ac107ec3e7309c3a28" + integrity sha512-6tdeuCLT+l9QuCFaYsNtULO6xH2fgJObvICMCsOZvkqIey6FUXVVju5aO+OZjxswy7WgKadhI1k/nq2wQSmB+Q== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -845,33 +845,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.17.19: - version "0.17.19" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" - integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== +esbuild@^0.18.1: + version "0.18.1" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.1.tgz#cb62e38633f0efe91e04e510b9ec194f7f14e00c" + integrity sha512-ZUvsIx2wPjpj86b805UwbGJu47Kxgr2UTio9rGhWpBr1oOVk88exzoieOgTweX0UcVCwSAk3z2WvNALpTcpQZw== optionalDependencies: - "@esbuild/android-arm" "0.17.19" - "@esbuild/android-arm64" "0.17.19" - "@esbuild/android-x64" "0.17.19" - "@esbuild/darwin-arm64" "0.17.19" - "@esbuild/darwin-x64" "0.17.19" - "@esbuild/freebsd-arm64" "0.17.19" - "@esbuild/freebsd-x64" "0.17.19" - "@esbuild/linux-arm" "0.17.19" - "@esbuild/linux-arm64" "0.17.19" - "@esbuild/linux-ia32" "0.17.19" - "@esbuild/linux-loong64" "0.17.19" - "@esbuild/linux-mips64el" "0.17.19" - "@esbuild/linux-ppc64" "0.17.19" - "@esbuild/linux-riscv64" "0.17.19" - "@esbuild/linux-s390x" "0.17.19" - "@esbuild/linux-x64" "0.17.19" - "@esbuild/netbsd-x64" "0.17.19" - "@esbuild/openbsd-x64" "0.17.19" - "@esbuild/sunos-x64" "0.17.19" - "@esbuild/win32-arm64" "0.17.19" - "@esbuild/win32-ia32" "0.17.19" - "@esbuild/win32-x64" "0.17.19" + "@esbuild/android-arm" "0.18.1" + "@esbuild/android-arm64" "0.18.1" + "@esbuild/android-x64" "0.18.1" + "@esbuild/darwin-arm64" "0.18.1" + "@esbuild/darwin-x64" "0.18.1" + "@esbuild/freebsd-arm64" "0.18.1" + "@esbuild/freebsd-x64" "0.18.1" + "@esbuild/linux-arm" "0.18.1" + "@esbuild/linux-arm64" "0.18.1" + "@esbuild/linux-ia32" "0.18.1" + "@esbuild/linux-loong64" "0.18.1" + "@esbuild/linux-mips64el" "0.18.1" + "@esbuild/linux-ppc64" "0.18.1" + "@esbuild/linux-riscv64" "0.18.1" + "@esbuild/linux-s390x" "0.18.1" + "@esbuild/linux-x64" "0.18.1" + "@esbuild/netbsd-x64" "0.18.1" + "@esbuild/openbsd-x64" "0.18.1" + "@esbuild/sunos-x64" "0.18.1" + "@esbuild/win32-arm64" "0.18.1" + "@esbuild/win32-ia32" "0.18.1" + "@esbuild/win32-x64" "0.18.1" escape-string-regexp@^1.0.5: version "1.0.5" From 2b8fd521f681df1e7f6f3a6d307baf4adfa7c078 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 09:58:59 +0000 Subject: [PATCH 211/251] Bump actions/checkout from 3.5.2 to 3.5.3 Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.5.2...v3.5.3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/build-image.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/lint.yml | 8 ++++---- .github/workflows/retrospring.yml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index d9614dfb..5b2a87df 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -20,7 +20,7 @@ jobs: cancel-in-progress: true steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - name: Discover build-time variables run: | diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0c1e304b..2d920b7f 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -33,7 +33,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3.5.2 + uses: actions/checkout@v3.5.3 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index aac7c803..76d32d4a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: name: Rubocop runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v36 @@ -37,7 +37,7 @@ jobs: name: ESLint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v36 @@ -63,7 +63,7 @@ jobs: haml-lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v36 @@ -86,7 +86,7 @@ jobs: stylelint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v36 diff --git a/.github/workflows/retrospring.yml b/.github/workflows/retrospring.yml index 53a84a22..cc3c0c32 100644 --- a/.github/workflows/retrospring.yml +++ b/.github/workflows/retrospring.yml @@ -41,7 +41,7 @@ jobs: BUNDLE_WITHOUT: 'production' steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - name: Install dependencies run: sudo apt update && sudo apt-get install -y libpq-dev libxml2-dev libxslt1-dev libmagickwand-dev imagemagick libidn11-dev - name: Set up Ruby From bcba7781a7e95ebf07c79e96148f9b1e5bbb4661 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:56:41 +0000 Subject: [PATCH 212/251] Bump better_errors from 2.10.0 to 2.10.1 Bumps [better_errors](https://github.com/BetterErrors/better_errors) from 2.10.0 to 2.10.1. - [Release notes](https://github.com/BetterErrors/better_errors/releases) - [Commits](https://github.com/BetterErrors/better_errors/compare/v2.10.0...v2.10.1) --- updated-dependencies: - dependency-name: better_errors dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 60e1d5a2..83f6f80e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -79,7 +79,7 @@ GEM public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) bcrypt (3.1.18) - better_errors (2.10.0) + better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) rouge (>= 1.0.0) @@ -343,7 +343,7 @@ GEM rexml (3.2.5) rolify (6.0.1) rotp (6.2.2) - rouge (4.1.0) + rouge (4.1.2) rpush (7.0.1) activesupport (>= 5.2) jwt (>= 1.5.6) From 628953dc5f1e08fdafed653151e32ea4f6e2d0bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:56:54 +0000 Subject: [PATCH 213/251] Bump jsbundling-rails from 1.1.1 to 1.1.2 Bumps [jsbundling-rails](https://github.com/rails/jsbundling-rails) from 1.1.1 to 1.1.2. - [Release notes](https://github.com/rails/jsbundling-rails/releases) - [Commits](https://github.com/rails/jsbundling-rails/compare/v1.1.1...v1.1.2) --- updated-dependencies: - dependency-name: jsbundling-rails dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 60e1d5a2..6bc1de00 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -204,7 +204,7 @@ GEM image_processing (1.12.2) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) - jsbundling-rails (1.1.1) + jsbundling-rails (1.1.2) railties (>= 6.0.0) json (2.6.3) json-schema (4.0.0) @@ -247,7 +247,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.2) mini_portile2 (2.8.2) - minitest (5.18.0) + minitest (5.18.1) msgpack (1.6.0) multi_json (1.15.0) multi_xml (0.6.0) @@ -286,7 +286,7 @@ GEM pundit (2.3.0) activesupport (>= 3.0.0) questiongenerator (1.1.0) - racc (1.6.2) + racc (1.7.1) rack (2.2.7) rack-test (2.1.0) rack (>= 1.3) From 33a0b0455c4d11e534a49e26bd18351964cc3fa5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:57:09 +0000 Subject: [PATCH 214/251] Bump net-imap from 0.3.4 to 0.3.6 Bumps [net-imap](https://github.com/ruby/net-imap) from 0.3.4 to 0.3.6. - [Release notes](https://github.com/ruby/net-imap/releases) - [Commits](https://github.com/ruby/net-imap/compare/v0.3.4...v0.3.6) --- updated-dependencies: - dependency-name: net-imap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 60e1d5a2..7edfbb92 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -256,7 +256,7 @@ GEM connection_pool (~> 2.2) net-http2 (0.18.4) http-2 (~> 0.11) - net-imap (0.3.4) + net-imap (0.3.6) date net-protocol net-pop (0.1.2) @@ -450,7 +450,7 @@ GEM temple (0.10.0) thor (1.2.2) tilt (2.0.11) - timeout (0.3.1) + timeout (0.3.2) tldv (0.1.0) tldv-data (~> 1.0) tldv-data (1.0.2023031000) From 57d1c37260e139e3f2a29ce0d508e4d5f4f383ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:57:30 +0000 Subject: [PATCH 215/251] Bump rubocop-rails from 2.19.1 to 2.20.1 Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.19.1 to 2.20.1. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.19.1...v2.20.1) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index a7d5f948..26eb0039 100644 --- a/Gemfile +++ b/Gemfile @@ -91,7 +91,7 @@ group :development, :test do gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false gem "rubocop", "~> 1.52" - gem "rubocop-rails", "~> 2.19" + gem "rubocop-rails", "~> 2.20" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false gem "simplecov-cobertura", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 60e1d5a2..60c4dda9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -247,7 +247,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.2) mini_portile2 (2.8.2) - minitest (5.18.0) + minitest (5.18.1) msgpack (1.6.0) multi_json (1.15.0) multi_xml (0.6.0) @@ -286,7 +286,7 @@ GEM pundit (2.3.0) activesupport (>= 3.0.0) questiongenerator (1.1.0) - racc (1.6.2) + racc (1.7.1) rack (2.2.7) rack-test (2.1.0) rack (>= 1.3) @@ -393,7 +393,7 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.29.0) parser (>= 3.2.1.0) - rubocop-rails (2.19.1) + rubocop-rails (2.20.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) @@ -544,7 +544,7 @@ DEPENDENCIES rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) rubocop (~> 1.52) - rubocop-rails (~> 2.19) + rubocop-rails (~> 2.20) rubyzip (~> 2.3) sanitize sassc-rails From 9aa531f4d8e8b16da9973fcf540519ca5c39f217 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:58:21 +0000 Subject: [PATCH 216/251] Bump esbuild from 0.18.1 to 0.18.4 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.18.1 to 0.18.4. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.18.1...v0.18.4) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index 8ed6f78d..1026bd66 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.18.1", + "esbuild": "^0.18.4", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 7d879f0c..b5f96aa0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.1.tgz#b0785e64af40185d3683738c629b0d4867d1eb88" - integrity sha512-l5V0IWGTYfQMzl4ulgIHKMZPwabIS4a39ZvtkPwL6LYiX3UtL76sylA6eFKufJCB43mwEYqbXoBSMn++NpxILw== +"@esbuild/android-arm64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.4.tgz#9c4f95559cff6fac4b0957fb45e32b442706ba42" + integrity sha512-yQVgO+V307hA2XhzELQ6F91CBGX7gSnlVGAj5YIqjQOxThDpM7fOcHT2YLJbE6gNdPtgRSafQrsK8rJ9xHCaZg== -"@esbuild/android-arm@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.1.tgz#da0b674fc68a698f1657a9d9d9fd0b496d1bf725" - integrity sha512-8+QS98jqdreHLvCojIke8NjcuelB+Osysazr15EhkUIuG0Ov5WK26XgPYWViCTjHnKQxbpS86/JryBOkEpyrBA== +"@esbuild/android-arm@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.4.tgz#b8173173fa779b807e41146328f36324bf4513c1" + integrity sha512-yKmQC9IiuvHdsNEbPHSprnMHg6OhL1cSeQZLzPpgzJBJ9ppEg9GAZN8MKj1TcmB4tZZUrq5xjK7KCmhwZP8iDA== -"@esbuild/android-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.1.tgz#fc52ffc3ff6139957138eea0fa2d58e82b4a29ab" - integrity sha512-1y8/bRek6EYxQeGTUfwL2mmj6NAeXZ3h5YSc4W2Y/kduI1B8VhT4x5X0VxrcGkIKef4N5qCdziRxvei/YUfESg== +"@esbuild/android-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.4.tgz#2f79c625c4524a4310b1c96038dba7e3245789d6" + integrity sha512-yLKXMxQg6sk1ntftxQ5uwyVgG4/S2E7UoOCc5N4YZW7fdkfRiYEXqm7CMuIfY2Vs3FTrNyKmSfNevIuIvJnMww== -"@esbuild/darwin-arm64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.1.tgz#4a0ae46a675251dedd14361d132d8cef0218fcff" - integrity sha512-FFT/on9qQTOntdloQvgfwFkRhNI5l/TCNXZS1CpH6JQd0boR637aThi9g9FYs4o31Ao72/jPZFDiRln5Cu6R2A== +"@esbuild/darwin-arm64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.4.tgz#2f1a73decc212987ad9d97b6c2638be66bd586ad" + integrity sha512-MVPEoZjZpk2xQ1zckZrb8eQuQib+QCzdmMs3YZAYEQPg+Rztk5pUxGyk8htZOC8Z38NMM29W+MqY9Sqo/sDGKw== -"@esbuild/darwin-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.1.tgz#733934692e038a50a209365b25836e2407e29328" - integrity sha512-p/ZIUt+NlW8qRNVTXoKJgRuc49teazvmXBquoGOm5D6IAimTfWJVJrEivqpoMKyDS/0/PxDMRM2lrkxlSa7XeQ== +"@esbuild/darwin-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.4.tgz#a0a3b2270ba201331e8056d7c896598d8a96a12f" + integrity sha512-uEsRtYRUDsz7i2tXg/t/SyF+5gU1cvi9B6B8i5ebJgtUUHJYWyIPIesmIOL4/+bywjxsDMA/XrNFMgMffLnh5A== -"@esbuild/freebsd-arm64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.1.tgz#72cac2daba6369a1252aa77b6f04b275f31ea7d5" - integrity sha512-eYUDR3thO96ULRf4rJcG9TJ/sQc6Z/YNe16mC/KvVeAOtzmeTXiPMETEv/iMqTCxZhYkHyQG/mYbAxPBWC2mcg== +"@esbuild/freebsd-arm64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.4.tgz#7966b77bfad31af17e82e21ecaf06e1392dcd3f3" + integrity sha512-I8EOigqWnOHRin6Zp5Y1cfH3oT54bd7Sdz/VnpUNksbOtfp8IWRTH4pgkgO5jWaRQPjCpJcOpdRjYAMjPt8wXg== -"@esbuild/freebsd-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.1.tgz#3ab647a9f1557ce8f099e4910854000cd831989a" - integrity sha512-w03zjxyg51qktv0JKsV+AbY3uSb1Awifs8IkKQSUXdP3sdPxxmPzZLrlJ1+LjKZRiSa4yP/Haayi/hriNVoIdQ== +"@esbuild/freebsd-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.4.tgz#7c942bc3ca10ed140764a58dcc04e60e5bdca11a" + integrity sha512-1bHfgMz/cNMjbpsYxjVgMJ1iwKq+NdDPlACBrWULD7ZdFmBQrhMicMaKb5CdmdVyvIwXmasOuF4r6Iq574kUTA== -"@esbuild/linux-arm64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.1.tgz#38ae4a9fbcd1e288270e37b2727f8370dc347d54" - integrity sha512-dHlvkKAVlYNt5LPg1GUha99QiaEGKEC21zpHVAxs7hhW6EkR8nN3iWmyndGXxVJm4K7e4lKAzl8ekPqSr5gAXQ== +"@esbuild/linux-arm64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.4.tgz#5d9802d13fc33cc43efc647a56583525e6d40464" + integrity sha512-J42vLHaYREyiBwH0eQE4/7H1DTfZx8FuxyWSictx4d7ezzuKE3XOkIvOg+SQzRz7T9HLVKzq2tvbAov4UfufBw== -"@esbuild/linux-arm@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.1.tgz#75d8bdea6f4ed10c2e8186d0aa4f06fe92ea4350" - integrity sha512-d6FXeb8F/cuXtSZuVHQN0Rz3gs3g2Xy/M4KJJRzbKsBx3pwCQuRdSrYxcr7g0PFN8geIOspiLQnUzwONyMA3Bw== +"@esbuild/linux-arm@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.4.tgz#7eb1af7227506dd7cb01ef4a400c53f52ea1c4f9" + integrity sha512-4XCGqM/Ay1LCXUBH59bL4JbSbbTK1K22dWHymWMGaEh2sQCDOUw+OQxozYV/YdBb91leK2NbuSrE2BRamwgaYw== -"@esbuild/linux-ia32@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.1.tgz#89cda727edeb1ae844b1cd7b88ae03c33197b1e2" - integrity sha512-QHS4duBPuAsLZP82sNeoqTXAJ1mNU4QcfmYtBN/jNvQJXb6n0im8F4ljFSAQbivt1jl1OnKL8HhlLUeKY75nLg== +"@esbuild/linux-ia32@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.4.tgz#9d22fa5bb59d7dfbff7d981d933b434585d96dae" + integrity sha512-4ksIqFwhq7OExty7Sl1n0vqQSCqTG4sU6i99G2yuMr28CEOUZ/60N+IO9hwI8sIxBqmKmDgncE1n5CMu/3m0IA== -"@esbuild/linux-loong64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.1.tgz#674a5466fe2b5e3d276a5a331ce5bb3fb4e67c90" - integrity sha512-g4YSiF/qBvXvJhSowxaR7Ei/79otL48Qfjviuo+FpXREykA9nSe407T5ZvezFXryFgdf44Fe8lWpjvtQ+n42cQ== +"@esbuild/linux-loong64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.4.tgz#659f91aae2abdc93ace39bc4f8e965f2a7dbf6aa" + integrity sha512-bsWtoVHkGQgAsFXioDueXRiUIfSGrVkJjBBz4gcBJxXcD461cWFQFyu8Fxdj9TP+zEeqJ8C/O4LFFMBNi6Fscw== -"@esbuild/linux-mips64el@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.1.tgz#5e01859f27d455582e094bff666836881e4348bd" - integrity sha512-/G1fzmaR5u2S9wgQhiQEhWRct0+GMpuNjhll59uv5Tjojlma9MUPinVnvpw9Re+Idb6gxe6kmzUxFP2YkC/svg== +"@esbuild/linux-mips64el@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.4.tgz#f57cef70de4147df9efb761ff0056509d8d1ba87" + integrity sha512-LRD9Fu8wJQgIOOV1o3nRyzrheFYjxA0C1IVWZ93eNRRWBKgarYFejd5WBtrp43cE4y4D4t3qWWyklm73Mrsd/g== -"@esbuild/linux-ppc64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.1.tgz#8dc674268e506daab0b30f3e95af57c314e0797e" - integrity sha512-NkDjIvleUc3lSV1VI3QE9Oh5mz3nY11H5TCbi4DJ8X09FGwHN5pDVXdAsQYPGjlt/frXZzq6x7vMmTOb5VyBog== +"@esbuild/linux-ppc64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.4.tgz#7654e479378e4e9ec6ac96cabb471a6c1c819b42" + integrity sha512-jtQgoZjM92gauVRxNaaG/TpL3Pr4WcL3Pwqi9QgdrBGrEXzB+twohQiWNSTycs6lUygakos4mm2h0B9/SHveng== -"@esbuild/linux-riscv64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.1.tgz#1b42c089cd9938b154189910e9f8ea2d08fd949f" - integrity sha512-IhN7Nz+HyDRnMQOLcCl6m5BgQMITMhS9O1hOqgAUIy6FI0m/0zTSkZHtvMmSIpOy1uleaGqfNDA9SM3nBeTATQ== +"@esbuild/linux-riscv64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.4.tgz#eb762cae575bb070627415921ca43e5f7e3ee3a1" + integrity sha512-7WaU/kRZG0VCV09Xdlkg6LNAsfU9SAxo6XEdaZ8ffO4lh+DZoAhGTx7+vTMOXKxa+r2w1LYDGxfJa2rcgagMRA== -"@esbuild/linux-s390x@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.1.tgz#e9b3052cd2ea1fa929da60e54112678cc8f9df0c" - integrity sha512-u9iRg0eUUIyBbg5hANvRBYRaAnhVemAA2+pi3IgrzQTMeR/uPHQtJI3XInNZkNR6ACA4Fdl8N941p81XygeqWQ== +"@esbuild/linux-s390x@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.4.tgz#d7d47a6cde5536e97b698d5e913f3e04662ff3da" + integrity sha512-D19ed0xreKQvC5t+ArE2njSnm18WPpE+1fhwaiJHf+Xwqsq+/SUaV8Mx0M27nszdU+Atq1HahrgCOZCNNEASUg== -"@esbuild/linux-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.1.tgz#1020ab6ee29fbb3d1b3c08432a5f167a92a0af73" - integrity sha512-0QeWU0a0+RmxPCDt+plXS7/hVMJtfde/LaSzs6X3UTr4FYA0hYpnwDzGXxumcPLzt5c8ctugPuKat0tmRb7noQ== +"@esbuild/linux-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.4.tgz#bcdc75f060fd1dd02f6fbd8183caa8362d6b3ab4" + integrity sha512-Rx3AY1sxyiO/gvCGP00nL69L60dfmWyjKWY06ugpB8Ydpdsfi3BHW58HWC24K3CAjAPSwxcajozC2PzA9JBS1g== -"@esbuild/netbsd-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.1.tgz#9c42d1ab35b7cb6f9632dff3a1274d709c29cf72" - integrity sha512-eFL7sxibN8wKuwrRf3HRkcjELALlfl/TavJ8P4J+BJfnkXOITF7zx4tTmGkzK8OwAR9snT2kEfp1Ictc80atGw== +"@esbuild/netbsd-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.4.tgz#fc511ecd4b46b1b38410f635dd3e0db500a8b325" + integrity sha512-AaShPmN9c6w1mKRpliKFlaWcSkpBT4KOlk93UfFgeI3F3cbjzdDKGsbKnOZozmYbE1izZKLmNJiW0sFM+A5JPA== -"@esbuild/openbsd-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.1.tgz#31c0a96f3c5e3f92f2a4019099725aee3fa6981c" - integrity sha512-riCQUnngF2xYUzr0XDdrGEEz0nqnocch0No7SBIQM22wTRi5gt5WqTQexGd/2u2Z19d0rVYQbKBelaJ1dwe9bg== +"@esbuild/openbsd-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.4.tgz#b6db15ec5dfa6ac4b0088cd38ec5ceb8a57f48d4" + integrity sha512-tRGvGwou3BrvHVvF8HxTqEiC5VtPzySudS9fh2jBIKpLX7HCW8jIkW+LunkFDNwhslx4xMAgh0jAHsx/iCymaQ== -"@esbuild/sunos-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.1.tgz#e3f5e5b7347af74e9ae2a16ca045d737c077a987" - integrity sha512-6lTop2k+GMkWlrwMy2+55xIBXKfXOi6uzWYypXZZP8HxXG3Mb5N4O71z2KzisVNJtYK2VlQRNbmGtUzIQIhHAw== +"@esbuild/sunos-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.4.tgz#f0aa5f8c3929a49e721faca4e7491865324a6bb5" + integrity sha512-acORFDI95GKhmAnlH8EarBeuqoy/j3yxIU+FDB91H3+ZON+8HhTadtT450YkaMzX6lEWbhi+mjVUCj00M5yyOQ== -"@esbuild/win32-arm64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.1.tgz#ca26f130a8a0d2852d4abf5f24713214f804d4f4" - integrity sha512-d6wt4g9GluZp7xCmgpm7gY6wy0mjcBHbKeeK9MYrlWNFJd8KBcD2uCil8kFuaH3Dt6AUz62D0wIoDETFsZ01Tg== +"@esbuild/win32-arm64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.4.tgz#6e0518345d702012e68d9cdbbcf897367764eb9e" + integrity sha512-1NxP+iOk8KSvS1L9SSxEvBAJk39U0GiGZkiiJGbuDF9G4fG7DSDw6XLxZMecAgmvQrwwx7yVKdNN3GgNh0UfKg== -"@esbuild/win32-ia32@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.1.tgz#69417b6f7ff8e660953401d8b66cb11d41ca80b3" - integrity sha512-z51DOtcwECu4WlqJUhu39AVnnpaVmTvXei0EQxc99QK7ZJyn4tj0EelYkMBZckpqzqB/GyGSLwEclKtRJ0l2uw== +"@esbuild/win32-ia32@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.4.tgz#ddbc327a08b75280cbceb80ff6f29ab4035c9bad" + integrity sha512-OKr8jze93vbgqZ/r23woWciTixUwLa976C9W7yNBujtnVHyvsL/ocYG61tsktUfJOpyIz5TsohkBZ6Lo2+PCcQ== -"@esbuild/win32-x64@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.1.tgz#e44b205e38082addd20fd8ac107ec3e7309c3a28" - integrity sha512-6tdeuCLT+l9QuCFaYsNtULO6xH2fgJObvICMCsOZvkqIey6FUXVVju5aO+OZjxswy7WgKadhI1k/nq2wQSmB+Q== +"@esbuild/win32-x64@0.18.4": + version "0.18.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.4.tgz#2562ce6dfd48c15a80b8daa2e38cce5b50573624" + integrity sha512-qJr3wVvcLjPFcV4AMDS3iquhBfTef2zo/jlm8RMxmiRp3Vy2HY8WMxrykJlcbCnqLXZPA0YZxZGND6eug85ogg== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -845,33 +845,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.18.1: - version "0.18.1" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.1.tgz#cb62e38633f0efe91e04e510b9ec194f7f14e00c" - integrity sha512-ZUvsIx2wPjpj86b805UwbGJu47Kxgr2UTio9rGhWpBr1oOVk88exzoieOgTweX0UcVCwSAk3z2WvNALpTcpQZw== +esbuild@^0.18.4: + version "0.18.4" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.4.tgz#8c047747baa0d8837a8aa8c84eed2ee8b06f43e4" + integrity sha512-9rxWV/Cb2DMUXfe9aUsYtqg0KTlw146ElFH22kYeK9KVV1qT082X4lpmiKsa12ePiCcIcB686TQJxaGAa9TFvA== optionalDependencies: - "@esbuild/android-arm" "0.18.1" - "@esbuild/android-arm64" "0.18.1" - "@esbuild/android-x64" "0.18.1" - "@esbuild/darwin-arm64" "0.18.1" - "@esbuild/darwin-x64" "0.18.1" - "@esbuild/freebsd-arm64" "0.18.1" - "@esbuild/freebsd-x64" "0.18.1" - "@esbuild/linux-arm" "0.18.1" - "@esbuild/linux-arm64" "0.18.1" - "@esbuild/linux-ia32" "0.18.1" - "@esbuild/linux-loong64" "0.18.1" - "@esbuild/linux-mips64el" "0.18.1" - "@esbuild/linux-ppc64" "0.18.1" - "@esbuild/linux-riscv64" "0.18.1" - "@esbuild/linux-s390x" "0.18.1" - "@esbuild/linux-x64" "0.18.1" - "@esbuild/netbsd-x64" "0.18.1" - "@esbuild/openbsd-x64" "0.18.1" - "@esbuild/sunos-x64" "0.18.1" - "@esbuild/win32-arm64" "0.18.1" - "@esbuild/win32-ia32" "0.18.1" - "@esbuild/win32-x64" "0.18.1" + "@esbuild/android-arm" "0.18.4" + "@esbuild/android-arm64" "0.18.4" + "@esbuild/android-x64" "0.18.4" + "@esbuild/darwin-arm64" "0.18.4" + "@esbuild/darwin-x64" "0.18.4" + "@esbuild/freebsd-arm64" "0.18.4" + "@esbuild/freebsd-x64" "0.18.4" + "@esbuild/linux-arm" "0.18.4" + "@esbuild/linux-arm64" "0.18.4" + "@esbuild/linux-ia32" "0.18.4" + "@esbuild/linux-loong64" "0.18.4" + "@esbuild/linux-mips64el" "0.18.4" + "@esbuild/linux-ppc64" "0.18.4" + "@esbuild/linux-riscv64" "0.18.4" + "@esbuild/linux-s390x" "0.18.4" + "@esbuild/linux-x64" "0.18.4" + "@esbuild/netbsd-x64" "0.18.4" + "@esbuild/openbsd-x64" "0.18.4" + "@esbuild/sunos-x64" "0.18.4" + "@esbuild/win32-arm64" "0.18.4" + "@esbuild/win32-ia32" "0.18.4" + "@esbuild/win32-x64" "0.18.4" escape-string-regexp@^1.0.5: version "1.0.5" From f9e57540f57aad705499b6b04a87e59e5db9d44e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:59:27 +0000 Subject: [PATCH 217/251] Bump sass from 1.63.3 to 1.63.4 Bumps [sass](https://github.com/sass/dart-sass) from 1.63.3 to 1.63.4. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.63.3...1.63.4) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8ed6f78d..328d08ef 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.63.3", + "sass": "^1.63.4", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.1.3" diff --git a/yarn.lock b/yarn.lock index 7d879f0c..296bb162 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2120,10 +2120,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.63.3: - version "1.63.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.3.tgz#527746aa43bf2e4eac1ab424f67f6f18a081061a" - integrity sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg== +sass@^1.63.4: + version "1.63.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.4.tgz#caf60643321044c61f6a0fe638a07abbd31cfb5d" + integrity sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 901f17347dfa00969a51f720f34fc7a9892e2aad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 09:57:44 +0000 Subject: [PATCH 218/251] Bump cssbundling-rails from 1.1.2 to 1.2.0 Bumps [cssbundling-rails](https://github.com/rails/cssbundling-rails) from 1.1.2 to 1.2.0. - [Release notes](https://github.com/rails/cssbundling-rails/releases) - [Commits](https://github.com/rails/cssbundling-rails/compare/v1.1.2...v1.2.0) --- updated-dependencies: - dependency-name: cssbundling-rails dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 26eb0039..7fc645aa 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gem "i18n-js", "4.0" gem "rails", "~> 6.1" gem "rails-i18n", "~> 7.0" -gem "cssbundling-rails", "~> 1.1" +gem "cssbundling-rails", "~> 1.2" gem "jsbundling-rails", "~> 1.1" gem "sassc-rails" gem "sprockets", "~> 4.1" diff --git a/Gemfile.lock b/Gemfile.lock index f5fb73eb..e967bc2e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -106,7 +106,7 @@ GEM concurrent-ruby (1.2.2) connection_pool (2.4.1) crass (1.0.6) - cssbundling-rails (1.1.2) + cssbundling-rails (1.2.0) railties (>= 6.0.0) database_cleaner (2.0.2) database_cleaner-active_record (>= 2, < 3) @@ -493,7 +493,7 @@ DEPENDENCIES carrierwave_backgrounder! colorize connection_pool - cssbundling-rails (~> 1.1) + cssbundling-rails (~> 1.2) database_cleaner devise (~> 4.9) devise-async From a3db6d06f2250c46dd1ad7ba937cd97e4ce1dba1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 09:57:44 +0000 Subject: [PATCH 219/251] Bump esbuild from 0.18.4 to 0.18.9 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.18.4 to 0.18.9. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.18.4...v0.18.9) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index 038bbb08..0dc1aacc 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.18.4", + "esbuild": "^0.18.9", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index 6f12b41b..d99edbdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.4.tgz#9c4f95559cff6fac4b0957fb45e32b442706ba42" - integrity sha512-yQVgO+V307hA2XhzELQ6F91CBGX7gSnlVGAj5YIqjQOxThDpM7fOcHT2YLJbE6gNdPtgRSafQrsK8rJ9xHCaZg== +"@esbuild/android-arm64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.9.tgz#9cad38830ea5fa714c196bb283c0958f49b64bfb" + integrity sha512-G1rIBpSgjv0DEFmBYjljL85l4asf1dtQYwjoD02A5YG85JV3dsQSJL94vsEMWYMWkNd46hcvz3suURuY4dr+9g== -"@esbuild/android-arm@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.4.tgz#b8173173fa779b807e41146328f36324bf4513c1" - integrity sha512-yKmQC9IiuvHdsNEbPHSprnMHg6OhL1cSeQZLzPpgzJBJ9ppEg9GAZN8MKj1TcmB4tZZUrq5xjK7KCmhwZP8iDA== +"@esbuild/android-arm@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.9.tgz#f0cfe4e981f901d290b32f3b3d322d867dc8b42f" + integrity sha512-v1cr0l0RZOzIgLtTe8M1cRFFP0ICRdymPPa8HCPUpgZ+XasQrd5Mxyp9KlDqXLLyGmnZpzhufKEThLIihQL53A== -"@esbuild/android-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.4.tgz#2f79c625c4524a4310b1c96038dba7e3245789d6" - integrity sha512-yLKXMxQg6sk1ntftxQ5uwyVgG4/S2E7UoOCc5N4YZW7fdkfRiYEXqm7CMuIfY2Vs3FTrNyKmSfNevIuIvJnMww== +"@esbuild/android-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.9.tgz#d047bbe7f3e046650e46394132ca8553e4e4d4a6" + integrity sha512-rPgcISGfoP7/Yk8+0eUf9R/KLCYGgqtojz/Uvj26wp7/EclwxoaOMArBnDChfuWF5YLdS16dDfqb4qwXS087lw== -"@esbuild/darwin-arm64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.4.tgz#2f1a73decc212987ad9d97b6c2638be66bd586ad" - integrity sha512-MVPEoZjZpk2xQ1zckZrb8eQuQib+QCzdmMs3YZAYEQPg+Rztk5pUxGyk8htZOC8Z38NMM29W+MqY9Sqo/sDGKw== +"@esbuild/darwin-arm64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.9.tgz#22e2f880ef99f51e8f52a238170fa24d68f035e9" + integrity sha512-vw9kWBT2EvDhLAVkI5c2KWFh+GMwgXrzR1QnIpZazA+tIacaelNLMMSTHEJisOeQqiMQhv8goTODFm9liS7wpw== -"@esbuild/darwin-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.4.tgz#a0a3b2270ba201331e8056d7c896598d8a96a12f" - integrity sha512-uEsRtYRUDsz7i2tXg/t/SyF+5gU1cvi9B6B8i5ebJgtUUHJYWyIPIesmIOL4/+bywjxsDMA/XrNFMgMffLnh5A== +"@esbuild/darwin-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.9.tgz#e42d4b0a5315a6eab3591baa0d3be4fccfca0fb9" + integrity sha512-tDbKKMUeS0PckRtIxdF3+NgkE19kTyLFmUQ0umgXDnBvcWC3/DqhZyu4P4Af3zBzOfWH5DAAmGW1hgy53Z706w== -"@esbuild/freebsd-arm64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.4.tgz#7966b77bfad31af17e82e21ecaf06e1392dcd3f3" - integrity sha512-I8EOigqWnOHRin6Zp5Y1cfH3oT54bd7Sdz/VnpUNksbOtfp8IWRTH4pgkgO5jWaRQPjCpJcOpdRjYAMjPt8wXg== +"@esbuild/freebsd-arm64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.9.tgz#3ec3bb5a70edf0b890f11b8077c69ed297e0467e" + integrity sha512-Anyk3qeTKJUcxiLE8VQ6y6frVuqFc71M5TEc2EzvXchoy6oWn5eZK+MpZBVnENVMSDA4wOjDKiFsPtVhnrhHHA== -"@esbuild/freebsd-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.4.tgz#7c942bc3ca10ed140764a58dcc04e60e5bdca11a" - integrity sha512-1bHfgMz/cNMjbpsYxjVgMJ1iwKq+NdDPlACBrWULD7ZdFmBQrhMicMaKb5CdmdVyvIwXmasOuF4r6Iq574kUTA== +"@esbuild/freebsd-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.9.tgz#87a33b75e4be4c7b3d2cf15aef0cd1e1b0d24043" + integrity sha512-BsOYio/4p/6RWG+sDQXVYet8qQ0bB91rfO0YNk5s0HlqE9vEth3Yi1jFNi4v7bUA4vQDWWoybpA/9NTz1sM88A== -"@esbuild/linux-arm64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.4.tgz#5d9802d13fc33cc43efc647a56583525e6d40464" - integrity sha512-J42vLHaYREyiBwH0eQE4/7H1DTfZx8FuxyWSictx4d7ezzuKE3XOkIvOg+SQzRz7T9HLVKzq2tvbAov4UfufBw== +"@esbuild/linux-arm64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.9.tgz#0628d1559b6936aad8fa9b3df4eca6404d3a0669" + integrity sha512-2fJtf4KKR301FrhRNY1KIgVid2nUrZV6fzx39E+JgT3jAw2NsZYUiphR31CyH4MloyoEwgQTnskwaQH+nT4bHA== -"@esbuild/linux-arm@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.4.tgz#7eb1af7227506dd7cb01ef4a400c53f52ea1c4f9" - integrity sha512-4XCGqM/Ay1LCXUBH59bL4JbSbbTK1K22dWHymWMGaEh2sQCDOUw+OQxozYV/YdBb91leK2NbuSrE2BRamwgaYw== +"@esbuild/linux-arm@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.9.tgz#4608fb5635e22a764310b2ff0a7bfafd2a29018b" + integrity sha512-YotJBEt9swVrEBRBIXQzI03A4kDQSWk+mbGTTBreIRvWWWTXXqhNYZgqiwnEvtyQi9aqSipEzkRzAGNqs54EXw== -"@esbuild/linux-ia32@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.4.tgz#9d22fa5bb59d7dfbff7d981d933b434585d96dae" - integrity sha512-4ksIqFwhq7OExty7Sl1n0vqQSCqTG4sU6i99G2yuMr28CEOUZ/60N+IO9hwI8sIxBqmKmDgncE1n5CMu/3m0IA== +"@esbuild/linux-ia32@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.9.tgz#10f6d7001553c35f3b4cdda1cd0fa92b7bf14909" + integrity sha512-pTTBAGi2lrduXo4vATnqCtFi9zRbyXOlcV+euznW5EoFyjAIR+JCQgFDeFCMo343E2EI2MgV7ZQctO8IWcsdsA== -"@esbuild/linux-loong64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.4.tgz#659f91aae2abdc93ace39bc4f8e965f2a7dbf6aa" - integrity sha512-bsWtoVHkGQgAsFXioDueXRiUIfSGrVkJjBBz4gcBJxXcD461cWFQFyu8Fxdj9TP+zEeqJ8C/O4LFFMBNi6Fscw== +"@esbuild/linux-loong64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.9.tgz#8d6283269b9e6afa9a4f5ad546e6a005395f873f" + integrity sha512-hmsjvhwHrsCKPthXhhNjLE+QON8uQCE9P/OBktaYOD8UDfmz9+txm04uXhnkRH0fDEqStsDEedbX+8KPg1CwyA== -"@esbuild/linux-mips64el@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.4.tgz#f57cef70de4147df9efb761ff0056509d8d1ba87" - integrity sha512-LRD9Fu8wJQgIOOV1o3nRyzrheFYjxA0C1IVWZ93eNRRWBKgarYFejd5WBtrp43cE4y4D4t3qWWyklm73Mrsd/g== +"@esbuild/linux-mips64el@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.9.tgz#cc734a77fa17118060dc45e9c5500626b5ba72e7" + integrity sha512-Ymv4j25ie7mVEVlcThnOlRVvqDSsj22MJBH31QGMsyA0dUwReqCg9yNqRM2Dh8QHDRO2UrMhGmiL6BaTdBWlQw== -"@esbuild/linux-ppc64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.4.tgz#7654e479378e4e9ec6ac96cabb471a6c1c819b42" - integrity sha512-jtQgoZjM92gauVRxNaaG/TpL3Pr4WcL3Pwqi9QgdrBGrEXzB+twohQiWNSTycs6lUygakos4mm2h0B9/SHveng== +"@esbuild/linux-ppc64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.9.tgz#2f5ede177ba030070c17466c372d438690758297" + integrity sha512-y2viEHwLpNfWP1eLa+vV+DWIbw/pQyv1Vf6qxSGJeBQmmu9T2hOagMiCr6zhDo89l+MUAXiShdKmqlKI6HdCkw== -"@esbuild/linux-riscv64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.4.tgz#eb762cae575bb070627415921ca43e5f7e3ee3a1" - integrity sha512-7WaU/kRZG0VCV09Xdlkg6LNAsfU9SAxo6XEdaZ8ffO4lh+DZoAhGTx7+vTMOXKxa+r2w1LYDGxfJa2rcgagMRA== +"@esbuild/linux-riscv64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.9.tgz#b28f9ee395754ca65a261d0f724e52e8af4a1529" + integrity sha512-na8WG8Z7z1EIUcJFuXKOawJEsq8luOur7LHK/ophO0+RSE8A9yxCsKYhaN9IxlR1UciAuHjo/7d5yiflABwUmA== -"@esbuild/linux-s390x@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.4.tgz#d7d47a6cde5536e97b698d5e913f3e04662ff3da" - integrity sha512-D19ed0xreKQvC5t+ArE2njSnm18WPpE+1fhwaiJHf+Xwqsq+/SUaV8Mx0M27nszdU+Atq1HahrgCOZCNNEASUg== +"@esbuild/linux-s390x@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.9.tgz#0f57a44ce133048218963b04075bb2956e4b2c3f" + integrity sha512-XsnaI89KstE0jG4cMdzuJ8SKcKAod26had7U/4SzvuMrci0/XyEQXB1jikn6MB7LPGrd5rcLeYp3F7psUxhkWw== -"@esbuild/linux-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.4.tgz#bcdc75f060fd1dd02f6fbd8183caa8362d6b3ab4" - integrity sha512-Rx3AY1sxyiO/gvCGP00nL69L60dfmWyjKWY06ugpB8Ydpdsfi3BHW58HWC24K3CAjAPSwxcajozC2PzA9JBS1g== +"@esbuild/linux-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.9.tgz#6607e056fba189b2ac0f295492ce16344f995a64" + integrity sha512-odEbmjtm3tLPtY43FRWOG+CLN7d4ooQpGjYVFVti5rLXLym26dORxnlbekNPXuQRuQKNMPczNNWE1jOc8yAyJQ== -"@esbuild/netbsd-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.4.tgz#fc511ecd4b46b1b38410f635dd3e0db500a8b325" - integrity sha512-AaShPmN9c6w1mKRpliKFlaWcSkpBT4KOlk93UfFgeI3F3cbjzdDKGsbKnOZozmYbE1izZKLmNJiW0sFM+A5JPA== +"@esbuild/netbsd-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.9.tgz#0e67492dd5197bc6227234563465a66789ac5dde" + integrity sha512-j/GgOjKNUPd54isC/RBYlS6CREbulnMWAJEIKTnPM0QnY0pEGfMHkFh73bsmZdovp/97zRty0NdePRk4dTP/cw== -"@esbuild/openbsd-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.4.tgz#b6db15ec5dfa6ac4b0088cd38ec5ceb8a57f48d4" - integrity sha512-tRGvGwou3BrvHVvF8HxTqEiC5VtPzySudS9fh2jBIKpLX7HCW8jIkW+LunkFDNwhslx4xMAgh0jAHsx/iCymaQ== +"@esbuild/openbsd-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.9.tgz#03121aad11bbe3ef5e801f751cb4cef483efa147" + integrity sha512-DN0Z9RGU/hlaMWSG9GaDLvlu0718u1HDGiF19wJ35fUznf9yJYgXDwZ5/cRQXUewHXJB0pD/VyQfRLDP3M4maw== -"@esbuild/sunos-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.4.tgz#f0aa5f8c3929a49e721faca4e7491865324a6bb5" - integrity sha512-acORFDI95GKhmAnlH8EarBeuqoy/j3yxIU+FDB91H3+ZON+8HhTadtT450YkaMzX6lEWbhi+mjVUCj00M5yyOQ== +"@esbuild/sunos-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.9.tgz#9442369e234d7eb53d06fb385ad3a745af365790" + integrity sha512-W/eHabLCXdki/8H3jmfE/ClDuh3bQQKpYfQHGQ7lQync9W72ZdVr2y1iWfEVTE7ZK/DQROo3GyfTkx5HPBZxmQ== -"@esbuild/win32-arm64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.4.tgz#6e0518345d702012e68d9cdbbcf897367764eb9e" - integrity sha512-1NxP+iOk8KSvS1L9SSxEvBAJk39U0GiGZkiiJGbuDF9G4fG7DSDw6XLxZMecAgmvQrwwx7yVKdNN3GgNh0UfKg== +"@esbuild/win32-arm64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.9.tgz#6a233d4d0bafffad51253022952d97f22b0ad91a" + integrity sha512-84FMz3Sh1hwGk/oWy6XGIW2bGVcsqvHLjjtbwd982XoTHOvQSthhrMef0J+4ShE1ZE7VeUXHIt2Mfer+myedYw== -"@esbuild/win32-ia32@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.4.tgz#ddbc327a08b75280cbceb80ff6f29ab4035c9bad" - integrity sha512-OKr8jze93vbgqZ/r23woWciTixUwLa976C9W7yNBujtnVHyvsL/ocYG61tsktUfJOpyIz5TsohkBZ6Lo2+PCcQ== +"@esbuild/win32-ia32@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.9.tgz#f060d7609d70986324d486c71454d5be0a96f5e9" + integrity sha512-/RsFTk0P13Nb+ixBVZfPdlLWKsP+he3ZLxOO/1eCsZZ2U7c/JxB053U7kURsyhhUPwiGzGVaAQAeyhGtYe8ehw== -"@esbuild/win32-x64@0.18.4": - version "0.18.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.4.tgz#2562ce6dfd48c15a80b8daa2e38cce5b50573624" - integrity sha512-qJr3wVvcLjPFcV4AMDS3iquhBfTef2zo/jlm8RMxmiRp3Vy2HY8WMxrykJlcbCnqLXZPA0YZxZGND6eug85ogg== +"@esbuild/win32-x64@0.18.9": + version "0.18.9" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.9.tgz#05686cd64032f1f46569dc19670c937381db2c86" + integrity sha512-S+oBiO8UE1hmDJZlZJ6HZEdBBrxCGovwN66P9rle4DWVktM5fsMouYhpbtUf4WQLEy0HvcE2ZOQ2gIq8v0BkBw== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -845,33 +845,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.18.4: - version "0.18.4" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.4.tgz#8c047747baa0d8837a8aa8c84eed2ee8b06f43e4" - integrity sha512-9rxWV/Cb2DMUXfe9aUsYtqg0KTlw146ElFH22kYeK9KVV1qT082X4lpmiKsa12ePiCcIcB686TQJxaGAa9TFvA== +esbuild@^0.18.9: + version "0.18.9" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.9.tgz#f84e1cccf1792e34d272b0a755896b7e0895c40f" + integrity sha512-rFw+7KsO3vF/imkldsCcIGnQVJ11Zq5a178SVS0N0wwFQ/alzS8owG06rivQ8FEuc66SJupdhTuYT7mnvmidLA== optionalDependencies: - "@esbuild/android-arm" "0.18.4" - "@esbuild/android-arm64" "0.18.4" - "@esbuild/android-x64" "0.18.4" - "@esbuild/darwin-arm64" "0.18.4" - "@esbuild/darwin-x64" "0.18.4" - "@esbuild/freebsd-arm64" "0.18.4" - "@esbuild/freebsd-x64" "0.18.4" - "@esbuild/linux-arm" "0.18.4" - "@esbuild/linux-arm64" "0.18.4" - "@esbuild/linux-ia32" "0.18.4" - "@esbuild/linux-loong64" "0.18.4" - "@esbuild/linux-mips64el" "0.18.4" - "@esbuild/linux-ppc64" "0.18.4" - "@esbuild/linux-riscv64" "0.18.4" - "@esbuild/linux-s390x" "0.18.4" - "@esbuild/linux-x64" "0.18.4" - "@esbuild/netbsd-x64" "0.18.4" - "@esbuild/openbsd-x64" "0.18.4" - "@esbuild/sunos-x64" "0.18.4" - "@esbuild/win32-arm64" "0.18.4" - "@esbuild/win32-ia32" "0.18.4" - "@esbuild/win32-x64" "0.18.4" + "@esbuild/android-arm" "0.18.9" + "@esbuild/android-arm64" "0.18.9" + "@esbuild/android-x64" "0.18.9" + "@esbuild/darwin-arm64" "0.18.9" + "@esbuild/darwin-x64" "0.18.9" + "@esbuild/freebsd-arm64" "0.18.9" + "@esbuild/freebsd-x64" "0.18.9" + "@esbuild/linux-arm" "0.18.9" + "@esbuild/linux-arm64" "0.18.9" + "@esbuild/linux-ia32" "0.18.9" + "@esbuild/linux-loong64" "0.18.9" + "@esbuild/linux-mips64el" "0.18.9" + "@esbuild/linux-ppc64" "0.18.9" + "@esbuild/linux-riscv64" "0.18.9" + "@esbuild/linux-s390x" "0.18.9" + "@esbuild/linux-x64" "0.18.9" + "@esbuild/netbsd-x64" "0.18.9" + "@esbuild/openbsd-x64" "0.18.9" + "@esbuild/sunos-x64" "0.18.9" + "@esbuild/win32-arm64" "0.18.9" + "@esbuild/win32-ia32" "0.18.9" + "@esbuild/win32-x64" "0.18.9" escape-string-regexp@^1.0.5: version "1.0.5" From 74da54518a1c194dd8e6bf2ea52021dff190dcd9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 09:57:58 +0000 Subject: [PATCH 220/251] Bump sass from 1.63.4 to 1.63.6 Bumps [sass](https://github.com/sass/dart-sass) from 1.63.4 to 1.63.6. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.63.4...1.63.6) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 038bbb08..bf2aee86 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.63.4", + "sass": "^1.63.6", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.1.3" diff --git a/yarn.lock b/yarn.lock index 6f12b41b..45623963 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2120,10 +2120,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.63.4: - version "1.63.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.4.tgz#caf60643321044c61f6a0fe638a07abbd31cfb5d" - integrity sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ== +sass@^1.63.6: + version "1.63.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.6.tgz#481610e612902e0c31c46b46cf2dad66943283ea" + integrity sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 8656a5aa78cbc9251e9230c8a9cbd63526c0202c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:01:24 +0000 Subject: [PATCH 221/251] Bump bcrypt from 3.1.18 to 3.1.19 Bumps [bcrypt](https://github.com/codahale/bcrypt-ruby) from 3.1.18 to 3.1.19. - [Release notes](https://github.com/codahale/bcrypt-ruby/releases) - [Changelog](https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/CHANGELOG) - [Commits](https://github.com/codahale/bcrypt-ruby/compare/v3.1.18...v3.1.19) --- updated-dependencies: - dependency-name: bcrypt dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 26eb0039..17232d98 100644 --- a/Gemfile +++ b/Gemfile @@ -16,7 +16,7 @@ gem "pg" gem "turbo-rails" -gem "bcrypt", "~> 3.1.18" +gem "bcrypt", "~> 3.1.19" gem "active_model_otp" gem "bootsnap", require: false diff --git a/Gemfile.lock b/Gemfile.lock index f5fb73eb..bad51236 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -78,7 +78,7 @@ GEM addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) - bcrypt (3.1.18) + bcrypt (3.1.19) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) @@ -483,7 +483,7 @@ PLATFORMS DEPENDENCIES active_model_otp - bcrypt (~> 3.1.18) + bcrypt (~> 3.1.19) better_errors binding_of_caller bootsnap From 164561afb8fa71c0756625eb802fc1f67aa852cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:08:40 +0000 Subject: [PATCH 222/251] Bump reviewdog/action-stylelint from 1.16.0 to 1.17.1 Bumps [reviewdog/action-stylelint](https://github.com/reviewdog/action-stylelint) from 1.16.0 to 1.17.1. - [Release notes](https://github.com/reviewdog/action-stylelint/releases) - [Commits](https://github.com/reviewdog/action-stylelint/compare/v1.16.0...v1.17.1) --- updated-dependencies: - dependency-name: reviewdog/action-stylelint dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 76d32d4a..a891cc13 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -104,7 +104,7 @@ jobs: yarn install --frozen-lockfile if: steps.changed-files.outputs.any_changed == 'true' - name: stylelint - uses: reviewdog/action-stylelint@v1.16.0 + uses: reviewdog/action-stylelint@v1.17.1 with: github_token: ${{ secrets.github_token }} reporter: github-pr-check From 27b445be8a0cbe0944c8a1db5433d7ccb41ef1a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:08:46 +0000 Subject: [PATCH 223/251] Bump patch-technology/action-haml-lint from 0.4 to 0.5 Bumps [patch-technology/action-haml-lint](https://github.com/patch-technology/action-haml-lint) from 0.4 to 0.5. - [Release notes](https://github.com/patch-technology/action-haml-lint/releases) - [Commits](https://github.com/patch-technology/action-haml-lint/compare/0.4...0.5) --- updated-dependencies: - dependency-name: patch-technology/action-haml-lint dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 76d32d4a..f11d8668 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -77,7 +77,7 @@ jobs: with: bundler-cache: true if: steps.changed-files.outputs.any_changed == 'true' - - uses: patch-technology/action-haml-lint@0.4 + - uses: patch-technology/action-haml-lint@0.5 with: reporter: github-check rubocop_version: gemfile From 72c736fb0fbf7bb498939fad4ae8953e57578c11 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:08:51 +0000 Subject: [PATCH 224/251] Bump tj-actions/changed-files from 36 to 37 Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36 to 37. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](https://github.com/tj-actions/changed-files/compare/v36...v37) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/lint.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 76d32d4a..6abddcfb 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v36 + uses: tj-actions/changed-files@v37 with: files: "**/*.rb" - name: Install dependencies @@ -40,7 +40,7 @@ jobs: - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v36 + uses: tj-actions/changed-files@v37 with: files: "**/*.ts" - name: Set up Node 14 @@ -66,7 +66,7 @@ jobs: - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v36 + uses: tj-actions/changed-files@v37 with: files: "**/*.haml" - name: Install dependencies @@ -89,7 +89,7 @@ jobs: - uses: actions/checkout@v3.5.3 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v36 + uses: tj-actions/changed-files@v37 with: files: "**/*.scss" - name: Set up Node 14 From 6ad059da910d60d22248dd20fed05114abc1c58b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:44:18 +0000 Subject: [PATCH 225/251] Bump colorize from 0.8.1 to 1.1.0 Bumps [colorize](https://github.com/fazibear/colorize) from 0.8.1 to 1.1.0. - [Changelog](https://github.com/fazibear/colorize/blob/master/CHANGELOG.md) - [Commits](https://github.com/fazibear/colorize/commits) --- updated-dependencies: - dependency-name: colorize dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e967bc2e..8598b49d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,7 +102,7 @@ GEM mimemagic (>= 0.3.0) mini_mime (>= 0.1.3) chunky_png (1.4.0) - colorize (0.8.1) + colorize (1.1.0) concurrent-ruby (1.2.2) connection_pool (2.4.1) crass (1.0.6) From c09a1678bc01730de1b2d9523c2a14a5b9422385 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 09:59:06 +0000 Subject: [PATCH 226/251] Bump @melloware/coloris from 0.20.0 to 0.21.0 Bumps [@melloware/coloris](https://github.com/melloware/coloris-npm) from 0.20.0 to 0.21.0. - [Release notes](https://github.com/melloware/coloris-npm/releases) - [Commits](https://github.com/melloware/coloris-npm/compare/0.20.0...0.21.0) --- updated-dependencies: - dependency-name: "@melloware/coloris" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f7616182..e04a40fd 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "@github/hotkey": "^2.0.1", "@hotwired/stimulus": "^3.2.1", "@hotwired/turbo-rails": "^7.3.0", - "@melloware/coloris": "^0.20.0", + "@melloware/coloris": "^0.21.0", "@popperjs/core": "^2.11", "@rails/request.js": "^0.0.8", "bootstrap": "^5.2", diff --git a/yarn.lock b/yarn.lock index de0f2503..97ab284e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -221,10 +221,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@melloware/coloris@^0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.20.0.tgz#8c812a71452e7c6b166a466115aa35fdcf6d15fc" - integrity sha512-v0CeIL/Fh8SDXA9yqk/MShpnNXzN575iBklszdtCF/VHLItVZGTmsqida2iiF78PBQ4LTe7f4thNRLsvR7YiVA== +"@melloware/coloris@^0.21.0": + version "0.21.0" + resolved "https://registry.yarnpkg.com/@melloware/coloris/-/coloris-0.21.0.tgz#690fba88db0eb075cbaa762de0540f6f01f8fbf4" + integrity sha512-jy4+XS9yv66dDwp14HK2eRTrmHP57nha1ZY2RP7TWsYJ2L+pZynMIiru8zL40BjAnlRFbWmTat1TS229mScr7g== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From b4c101cfc5c2c2a4c6e09fd7bee8a33b46678468 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 09:59:44 +0000 Subject: [PATCH 227/251] Bump esbuild from 0.18.9 to 0.18.11 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.18.9 to 0.18.11. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.18.9...v0.18.11) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 228 +++++++++++++++++++++++++-------------------------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index f7616182..1dc892f5 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", "@typescript-eslint/parser": "^4.11.0", - "esbuild": "^0.18.9", + "esbuild": "^0.18.11", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^14.16.1", diff --git a/yarn.lock b/yarn.lock index de0f2503..94bfdb69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,115 +49,115 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== -"@esbuild/android-arm64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.9.tgz#9cad38830ea5fa714c196bb283c0958f49b64bfb" - integrity sha512-G1rIBpSgjv0DEFmBYjljL85l4asf1dtQYwjoD02A5YG85JV3dsQSJL94vsEMWYMWkNd46hcvz3suURuY4dr+9g== +"@esbuild/android-arm64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz#fa6f0cc7105367cb79cc0a8bf32bf50cb1673e45" + integrity sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw== -"@esbuild/android-arm@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.9.tgz#f0cfe4e981f901d290b32f3b3d322d867dc8b42f" - integrity sha512-v1cr0l0RZOzIgLtTe8M1cRFFP0ICRdymPPa8HCPUpgZ+XasQrd5Mxyp9KlDqXLLyGmnZpzhufKEThLIihQL53A== +"@esbuild/android-arm@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.11.tgz#ae84a410696c9f549a15be94eaececb860bacacb" + integrity sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q== -"@esbuild/android-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.9.tgz#d047bbe7f3e046650e46394132ca8553e4e4d4a6" - integrity sha512-rPgcISGfoP7/Yk8+0eUf9R/KLCYGgqtojz/Uvj26wp7/EclwxoaOMArBnDChfuWF5YLdS16dDfqb4qwXS087lw== +"@esbuild/android-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.11.tgz#0e58360bbc789ad0d68174d32ba20e678c2a16b6" + integrity sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw== -"@esbuild/darwin-arm64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.9.tgz#22e2f880ef99f51e8f52a238170fa24d68f035e9" - integrity sha512-vw9kWBT2EvDhLAVkI5c2KWFh+GMwgXrzR1QnIpZazA+tIacaelNLMMSTHEJisOeQqiMQhv8goTODFm9liS7wpw== +"@esbuild/darwin-arm64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz#fcdcd2ef76ca656540208afdd84f284072f0d1f9" + integrity sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w== -"@esbuild/darwin-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.9.tgz#e42d4b0a5315a6eab3591baa0d3be4fccfca0fb9" - integrity sha512-tDbKKMUeS0PckRtIxdF3+NgkE19kTyLFmUQ0umgXDnBvcWC3/DqhZyu4P4Af3zBzOfWH5DAAmGW1hgy53Z706w== +"@esbuild/darwin-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz#c5ac602ec0504a8ff81e876bc8a9811e94d69d37" + integrity sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw== -"@esbuild/freebsd-arm64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.9.tgz#3ec3bb5a70edf0b890f11b8077c69ed297e0467e" - integrity sha512-Anyk3qeTKJUcxiLE8VQ6y6frVuqFc71M5TEc2EzvXchoy6oWn5eZK+MpZBVnENVMSDA4wOjDKiFsPtVhnrhHHA== +"@esbuild/freebsd-arm64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz#7012fb06ee3e6e0d5560664a65f3fefbcc46db2e" + integrity sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A== -"@esbuild/freebsd-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.9.tgz#87a33b75e4be4c7b3d2cf15aef0cd1e1b0d24043" - integrity sha512-BsOYio/4p/6RWG+sDQXVYet8qQ0bB91rfO0YNk5s0HlqE9vEth3Yi1jFNi4v7bUA4vQDWWoybpA/9NTz1sM88A== +"@esbuild/freebsd-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz#c5de1199f70e1f97d5c8fca51afa9bf9a2af5969" + integrity sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q== -"@esbuild/linux-arm64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.9.tgz#0628d1559b6936aad8fa9b3df4eca6404d3a0669" - integrity sha512-2fJtf4KKR301FrhRNY1KIgVid2nUrZV6fzx39E+JgT3jAw2NsZYUiphR31CyH4MloyoEwgQTnskwaQH+nT4bHA== +"@esbuild/linux-arm64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz#2a6d3a74e0b8b5f294e22b4515b29f76ebd42660" + integrity sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog== -"@esbuild/linux-arm@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.9.tgz#4608fb5635e22a764310b2ff0a7bfafd2a29018b" - integrity sha512-YotJBEt9swVrEBRBIXQzI03A4kDQSWk+mbGTTBreIRvWWWTXXqhNYZgqiwnEvtyQi9aqSipEzkRzAGNqs54EXw== +"@esbuild/linux-arm@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz#5175bd61b793b436e4aece6328aa0d9be07751e1" + integrity sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg== -"@esbuild/linux-ia32@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.9.tgz#10f6d7001553c35f3b4cdda1cd0fa92b7bf14909" - integrity sha512-pTTBAGi2lrduXo4vATnqCtFi9zRbyXOlcV+euznW5EoFyjAIR+JCQgFDeFCMo343E2EI2MgV7ZQctO8IWcsdsA== +"@esbuild/linux-ia32@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz#20ee6cfd65a398875f321a485e7b2278e5f6f67b" + integrity sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw== -"@esbuild/linux-loong64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.9.tgz#8d6283269b9e6afa9a4f5ad546e6a005395f873f" - integrity sha512-hmsjvhwHrsCKPthXhhNjLE+QON8uQCE9P/OBktaYOD8UDfmz9+txm04uXhnkRH0fDEqStsDEedbX+8KPg1CwyA== +"@esbuild/linux-loong64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz#8e7b251dede75083bf44508dab5edce3f49d052b" + integrity sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw== -"@esbuild/linux-mips64el@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.9.tgz#cc734a77fa17118060dc45e9c5500626b5ba72e7" - integrity sha512-Ymv4j25ie7mVEVlcThnOlRVvqDSsj22MJBH31QGMsyA0dUwReqCg9yNqRM2Dh8QHDRO2UrMhGmiL6BaTdBWlQw== +"@esbuild/linux-mips64el@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz#a3125eb48538ac4932a9d05089b157f94e443165" + integrity sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg== -"@esbuild/linux-ppc64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.9.tgz#2f5ede177ba030070c17466c372d438690758297" - integrity sha512-y2viEHwLpNfWP1eLa+vV+DWIbw/pQyv1Vf6qxSGJeBQmmu9T2hOagMiCr6zhDo89l+MUAXiShdKmqlKI6HdCkw== +"@esbuild/linux-ppc64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz#842abadb7a0995bd539adee2be4d681b68279499" + integrity sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ== -"@esbuild/linux-riscv64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.9.tgz#b28f9ee395754ca65a261d0f724e52e8af4a1529" - integrity sha512-na8WG8Z7z1EIUcJFuXKOawJEsq8luOur7LHK/ophO0+RSE8A9yxCsKYhaN9IxlR1UciAuHjo/7d5yiflABwUmA== +"@esbuild/linux-riscv64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz#7ce6e6cee1c72d5b4d2f4f8b6fcccf4a9bea0e28" + integrity sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w== -"@esbuild/linux-s390x@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.9.tgz#0f57a44ce133048218963b04075bb2956e4b2c3f" - integrity sha512-XsnaI89KstE0jG4cMdzuJ8SKcKAod26had7U/4SzvuMrci0/XyEQXB1jikn6MB7LPGrd5rcLeYp3F7psUxhkWw== +"@esbuild/linux-s390x@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz#98fbc794363d02ded07d300df2e535650b297b96" + integrity sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg== -"@esbuild/linux-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.9.tgz#6607e056fba189b2ac0f295492ce16344f995a64" - integrity sha512-odEbmjtm3tLPtY43FRWOG+CLN7d4ooQpGjYVFVti5rLXLym26dORxnlbekNPXuQRuQKNMPczNNWE1jOc8yAyJQ== +"@esbuild/linux-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz#f8458ec8cf74c8274e4cacd00744d8446cac52eb" + integrity sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA== -"@esbuild/netbsd-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.9.tgz#0e67492dd5197bc6227234563465a66789ac5dde" - integrity sha512-j/GgOjKNUPd54isC/RBYlS6CREbulnMWAJEIKTnPM0QnY0pEGfMHkFh73bsmZdovp/97zRty0NdePRk4dTP/cw== +"@esbuild/netbsd-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz#a7b2f991b8293748a7be42eac1c4325faf0c7cca" + integrity sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q== -"@esbuild/openbsd-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.9.tgz#03121aad11bbe3ef5e801f751cb4cef483efa147" - integrity sha512-DN0Z9RGU/hlaMWSG9GaDLvlu0718u1HDGiF19wJ35fUznf9yJYgXDwZ5/cRQXUewHXJB0pD/VyQfRLDP3M4maw== +"@esbuild/openbsd-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz#3e50923de84c54008f834221130fd23646072b2f" + integrity sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ== -"@esbuild/sunos-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.9.tgz#9442369e234d7eb53d06fb385ad3a745af365790" - integrity sha512-W/eHabLCXdki/8H3jmfE/ClDuh3bQQKpYfQHGQ7lQync9W72ZdVr2y1iWfEVTE7ZK/DQROo3GyfTkx5HPBZxmQ== +"@esbuild/sunos-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz#ae47a550b0cd395de03606ecfba03cc96c7c19e2" + integrity sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng== -"@esbuild/win32-arm64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.9.tgz#6a233d4d0bafffad51253022952d97f22b0ad91a" - integrity sha512-84FMz3Sh1hwGk/oWy6XGIW2bGVcsqvHLjjtbwd982XoTHOvQSthhrMef0J+4ShE1ZE7VeUXHIt2Mfer+myedYw== +"@esbuild/win32-arm64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz#05d364582b7862d7fbf4698ef43644f7346dcfcc" + integrity sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg== -"@esbuild/win32-ia32@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.9.tgz#f060d7609d70986324d486c71454d5be0a96f5e9" - integrity sha512-/RsFTk0P13Nb+ixBVZfPdlLWKsP+he3ZLxOO/1eCsZZ2U7c/JxB053U7kURsyhhUPwiGzGVaAQAeyhGtYe8ehw== +"@esbuild/win32-ia32@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz#a3372095a4a1939da672156a3c104f8ce85ee616" + integrity sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg== -"@esbuild/win32-x64@0.18.9": - version "0.18.9" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.9.tgz#05686cd64032f1f46569dc19670c937381db2c86" - integrity sha512-S+oBiO8UE1hmDJZlZJ6HZEdBBrxCGovwN66P9rle4DWVktM5fsMouYhpbtUf4WQLEy0HvcE2ZOQ2gIq8v0BkBw== +"@esbuild/win32-x64@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz#6526c7e1b40d5b9f0a222c6b767c22f6fb97aa57" + integrity sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -845,33 +845,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.18.9: - version "0.18.9" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.9.tgz#f84e1cccf1792e34d272b0a755896b7e0895c40f" - integrity sha512-rFw+7KsO3vF/imkldsCcIGnQVJ11Zq5a178SVS0N0wwFQ/alzS8owG06rivQ8FEuc66SJupdhTuYT7mnvmidLA== +esbuild@^0.18.11: + version "0.18.11" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.11.tgz#cbf94dc3359d57f600a0dbf281df9b1d1b4a156e" + integrity sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA== optionalDependencies: - "@esbuild/android-arm" "0.18.9" - "@esbuild/android-arm64" "0.18.9" - "@esbuild/android-x64" "0.18.9" - "@esbuild/darwin-arm64" "0.18.9" - "@esbuild/darwin-x64" "0.18.9" - "@esbuild/freebsd-arm64" "0.18.9" - "@esbuild/freebsd-x64" "0.18.9" - "@esbuild/linux-arm" "0.18.9" - "@esbuild/linux-arm64" "0.18.9" - "@esbuild/linux-ia32" "0.18.9" - "@esbuild/linux-loong64" "0.18.9" - "@esbuild/linux-mips64el" "0.18.9" - "@esbuild/linux-ppc64" "0.18.9" - "@esbuild/linux-riscv64" "0.18.9" - "@esbuild/linux-s390x" "0.18.9" - "@esbuild/linux-x64" "0.18.9" - "@esbuild/netbsd-x64" "0.18.9" - "@esbuild/openbsd-x64" "0.18.9" - "@esbuild/sunos-x64" "0.18.9" - "@esbuild/win32-arm64" "0.18.9" - "@esbuild/win32-ia32" "0.18.9" - "@esbuild/win32-x64" "0.18.9" + "@esbuild/android-arm" "0.18.11" + "@esbuild/android-arm64" "0.18.11" + "@esbuild/android-x64" "0.18.11" + "@esbuild/darwin-arm64" "0.18.11" + "@esbuild/darwin-x64" "0.18.11" + "@esbuild/freebsd-arm64" "0.18.11" + "@esbuild/freebsd-x64" "0.18.11" + "@esbuild/linux-arm" "0.18.11" + "@esbuild/linux-arm64" "0.18.11" + "@esbuild/linux-ia32" "0.18.11" + "@esbuild/linux-loong64" "0.18.11" + "@esbuild/linux-mips64el" "0.18.11" + "@esbuild/linux-ppc64" "0.18.11" + "@esbuild/linux-riscv64" "0.18.11" + "@esbuild/linux-s390x" "0.18.11" + "@esbuild/linux-x64" "0.18.11" + "@esbuild/netbsd-x64" "0.18.11" + "@esbuild/openbsd-x64" "0.18.11" + "@esbuild/sunos-x64" "0.18.11" + "@esbuild/win32-arm64" "0.18.11" + "@esbuild/win32-ia32" "0.18.11" + "@esbuild/win32-x64" "0.18.11" escape-string-regexp@^1.0.5: version "1.0.5" From 1518ddbac9182b72f8dcad1aa90cc0d874ee2d00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 10:00:02 +0000 Subject: [PATCH 228/251] Bump typescript from 5.1.3 to 5.1.6 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.1.3 to 5.1.6. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f7616182..5dfd49ba 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "sass": "^1.63.6", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", - "typescript": "^5.1.3" + "typescript": "^5.1.6" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.11.0", diff --git a/yarn.lock b/yarn.lock index de0f2503..ef7fb54d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2527,10 +2527,10 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -typescript@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" - integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== +typescript@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" + integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== unbox-primitive@^1.0.1: version "1.0.1" From 5b328090dc6f61e64355a18ed870bbbaa2f8648f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jul 2023 20:03:22 +0000 Subject: [PATCH 229/251] Bump sanitize from 6.0.1 to 6.0.2 Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/rgrove/sanitize/releases) - [Changelog](https://github.com/rgrove/sanitize/blob/main/HISTORY.md) - [Commits](https://github.com/rgrove/sanitize/compare/v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: sanitize dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e967bc2e..61dbe040 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -266,7 +266,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.9) - nokogiri (1.15.2) + nokogiri (1.15.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) oj (3.15.0) @@ -401,7 +401,7 @@ GEM ruby-vips (2.1.4) ffi (~> 1.12) rubyzip (2.3.2) - sanitize (6.0.1) + sanitize (6.0.2) crass (~> 1.0.2) nokogiri (>= 1.12.0) sassc (2.4.0) From 96a69e2aae3831e0644cb1e6b77fa98d2d6e1f57 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Fri, 7 Jul 2023 23:17:37 +0200 Subject: [PATCH 230/251] Bump version to 2023.0707.0 --- lib/retrospring/version.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/retrospring/version.rb b/lib/retrospring/version.rb index 630c78a4..72d6e3fa 100644 --- a/lib/retrospring/version.rb +++ b/lib/retrospring/version.rb @@ -15,9 +15,9 @@ module Retrospring def year = 2023 - def month = 5 + def month = 7 - def day = 31 + def day = 7 def patch = 0 From 47fb965e690c8063d4ae9eaa2a46d9dd78380dfa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jul 2023 09:23:05 +0000 Subject: [PATCH 231/251] Bump haml_lint from 0.45.0 to 0.48.0 Bumps [haml_lint](https://github.com/sds/haml-lint) from 0.45.0 to 0.48.0. - [Release notes](https://github.com/sds/haml-lint/releases) - [Changelog](https://github.com/sds/haml-lint/blob/main/CHANGELOG.md) - [Commits](https://github.com/sds/haml-lint/compare/v0.45.0...v0.48.0) --- updated-dependencies: - dependency-name: haml_lint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 61dbe040..ff1e1dd2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -182,11 +182,11 @@ GEM temple (>= 0.8.2) thor tilt - haml_lint (0.45.0) + haml_lint (0.48.0) haml (>= 4.0, < 6.2) parallel (~> 1.10) rainbow - rubocop (>= 0.50.0) + rubocop (>= 1.0) sysexits (~> 1.1) hcaptcha (7.1.0) json @@ -447,9 +447,9 @@ GEM activesupport (>= 5.2) sprockets (>= 3.0.0) sysexits (1.2.0) - temple (0.10.0) + temple (0.10.2) thor (1.2.2) - tilt (2.0.11) + tilt (2.2.0) timeout (0.3.2) tldv (0.1.0) tldv-data (~> 1.0) From ebefe1a220dda881345062a95d3f26b10b0e7df6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jul 2023 09:24:55 +0000 Subject: [PATCH 232/251] Bump rubocop from 1.52.1 to 1.54.1 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.52.1 to 1.54.1. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.52.1...v1.54.1) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 7fc645aa..3cd014d2 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.52" + gem "rubocop", "~> 1.54" gem "rubocop-rails", "~> 2.20" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 61dbe040..4f530bab 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -222,6 +222,7 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) + language_server-protocol (3.17.0.3) launchy (2.5.0) addressable (~> 2.7) letter_opener (1.8.1) @@ -381,8 +382,9 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.0) - rubocop (1.52.1) + rubocop (1.54.1) json (~> 2.3) + language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.2.2.3) rainbow (>= 2.2.2, < 4.0) @@ -543,7 +545,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.52) + rubocop (~> 1.54) rubocop-rails (~> 2.20) rubyzip (~> 2.3) sanitize From 581e55a2fc279a416c0a36cbc2ba26a5280a69c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jul 2023 09:26:20 +0000 Subject: [PATCH 233/251] Bump sentry-rails from 5.9.0 to 5.10.0 Bumps [sentry-rails](https://github.com/getsentry/sentry-ruby) from 5.9.0 to 5.10.0. - [Release notes](https://github.com/getsentry/sentry-ruby/releases) - [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-ruby/compare/5.9.0...5.10.0) --- updated-dependencies: - dependency-name: sentry-rails dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 61dbe040..ff862b49 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -309,8 +309,9 @@ GEM 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.1.1) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.0) loofah (~> 2.21) @@ -412,13 +413,13 @@ GEM sprockets (> 3.0) sprockets-rails tilt - sentry-rails (5.9.0) + sentry-rails (5.10.0) railties (>= 5.0) - sentry-ruby (~> 5.9.0) - sentry-ruby (5.9.0) + sentry-ruby (~> 5.10.0) + sentry-ruby (5.10.0) concurrent-ruby (~> 1.0, >= 1.0.2) - sentry-sidekiq (5.9.0) - sentry-ruby (~> 5.9.0) + sentry-sidekiq (5.10.0) + sentry-ruby (~> 5.10.0) sidekiq (>= 3.0) shoulda-matchers (5.3.0) activesupport (>= 5.2.0) From 07d14f138823bff2296ce74ac6cd8664bc9ab196 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 11:23:59 +0000 Subject: [PATCH 234/251] Bump semver from 5.7.1 to 5.7.2 Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6a684d2f..e810644b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2130,19 +2130,19 @@ sass@^1.63.6: source-map-js ">=0.6.2 <2.0.0" "semver@2 || 3 || 4 || 5": - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" From 8a4590f76a6d350e46c31c2a9c43fb89b17f4112 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 18:49:52 +0000 Subject: [PATCH 235/251] Bump stylelint from 14.16.1 to 15.10.1 Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.16.1 to 15.10.1. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/14.16.1...15.10.1) --- updated-dependencies: - dependency-name: stylelint dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 454 ++++++++++++++++++++++++--------------------------- 2 files changed, 214 insertions(+), 242 deletions(-) diff --git a/package.json b/package.json index 15cd7269..b07dca2f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "esbuild": "^0.18.11", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", - "stylelint": "^14.16.1", + "stylelint": "^15.10.1", "stylelint-config-standard-scss": "^6.1.0", "stylelint-scss": "^5.0.1" } diff --git a/yarn.lock b/yarn.lock index e810644b..165d94c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -44,10 +44,25 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@csstools/selector-specificity@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" - integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== +"@csstools/css-parser-algorithms@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.0.tgz#0cc3a656dc2d638370ecf6f98358973bfbd00141" + integrity sha512-dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA== + +"@csstools/css-tokenizer@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz#07ae11a0a06365d7ec686549db7b729bc036528e" + integrity sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA== + +"@csstools/media-query-list-parser@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.2.tgz#6ef642b728d30c1009bfbba3211c7e4c11302728" + integrity sha512-M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ== + +"@csstools/selector-specificity@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz#798622546b63847e82389e473fd67f2707d82247" + integrity sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g== "@esbuild/android-arm64@0.18.11": version "0.18.11" @@ -272,7 +287,7 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= -"@types/minimist@^1.2.0": +"@types/minimist@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== @@ -282,11 +297,6 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - "@typescript-eslint/eslint-plugin@^4.11.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" @@ -426,6 +436,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + array-includes@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" @@ -515,7 +530,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -543,19 +558,20 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== +camelcase-keys@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" + camelcase "^6.3.0" + map-obj "^4.1.0" + quick-lru "^5.1.1" + type-fest "^1.2.1" -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== chalk@^2.0.0: version "2.4.2" @@ -628,16 +644,15 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -cosmiconfig@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== +cosmiconfig@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" + integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== dependencies: - "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" + js-yaml "^4.1.0" parse-json "^5.0.0" path-type "^4.0.0" - yaml "^1.10.0" croppr@^2.3.1: version "2.3.1" @@ -658,6 +673,14 @@ css-functions-list@^3.1.0: resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b" integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w== +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -685,11 +708,16 @@ decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.2.0: +decamelize@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decamelize@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" + integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -1046,21 +1074,10 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.12: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.2.9: - version "3.2.10" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.10.tgz#2734f83baa7f43b7fd41e13bc34438f4ffe284ee" - integrity sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A== +fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" + integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -1104,12 +1121,12 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - locate-path "^5.0.0" + locate-path "^6.0.0" path-exists "^4.0.0" flat-cache@^3.0.4: @@ -1327,11 +1344,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" @@ -1339,10 +1351,10 @@ hosted-git-info@^4.0.1: dependencies: lru-cache "^6.0.0" -html-tags@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.2.0.tgz#dbb3518d20b726524e4dd43de397eb0a95726961" - integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg== +html-tags@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== i18n-js@^4.0: version "4.1.1" @@ -1362,12 +1374,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -ignore@^5.2.1: +ignore@^5.1.8, ignore@^5.2.0, ignore@^5.2.4: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== @@ -1395,10 +1402,10 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== +indent-string@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" + integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== inflight@^1.0.4: version "1.0.6" @@ -1615,6 +1622,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -1647,10 +1661,10 @@ kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -known-css-properties@^0.26.0: - version "0.26.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.26.0.tgz#008295115abddc045a9f4ed7e2a84dc8b3a77649" - integrity sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg== +known-css-properties@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.27.0.tgz#82a9358dda5fe7f7bd12b5e7142c0a205393c0c5" + integrity sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg== levn@^0.4.1: version "0.4.1" @@ -1665,12 +1679,12 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: - p-locate "^4.1.0" + p-locate "^5.0.0" lodash.merge@^4.6.2: version "4.6.2" @@ -1699,7 +1713,7 @@ map-obj@^1.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== -map-obj@^4.0.0: +map-obj@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== @@ -1709,38 +1723,35 @@ mathml-tag-names@^2.1.3: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +meow@^10.1.5: + version "10.1.5" + resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.5.tgz#be52a1d87b5f5698602b0f32875ee5940904aa7f" + integrity sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw== dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" + "@types/minimist" "^1.2.2" + camelcase-keys "^7.0.0" + decamelize "^5.0.0" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" + normalize-package-data "^3.0.2" + read-pkg-up "^8.0.0" + redent "^4.0.0" + trim-newlines "^4.0.2" + type-fest "^1.2.2" + yargs-parser "^20.2.9" merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -micromatch@^4.0.5: +micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -1748,7 +1759,7 @@ micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -min-indent@^1.0.0: +min-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== @@ -1784,27 +1795,17 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: +normalize-package-data@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== @@ -1882,24 +1883,19 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - p-try "^2.0.0" + yocto-queue "^0.1.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + p-limit "^3.0.2" parent-module@^1.0.0: version "1.0.1" @@ -1908,7 +1904,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -1948,7 +1944,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -1986,12 +1982,12 @@ postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.19: - version "8.4.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" - integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== +postcss@^8.4.24: + version "8.4.25" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.25.tgz#4a133f5e379eda7f61e906c3b1aaa9b81292726f" + integrity sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw== dependencies: - nanoid "^3.3.4" + nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" @@ -2015,29 +2011,29 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== +read-pkg-up@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670" + integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" + find-up "^5.0.0" + read-pkg "^6.0.0" + type-fest "^1.0.1" -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== +read-pkg@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-6.0.0.tgz#a67a7d6a1c2b0c3cd6aa2ea521f40c458a4a504c" + integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== dependencies: "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" + normalize-package-data "^3.0.2" + parse-json "^5.2.0" + type-fest "^1.0.1" readdirp@~3.6.0: version "3.6.0" @@ -2046,13 +2042,13 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== +redent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-4.0.0.tgz#0c0ba7caabb24257ab3bb7a4fd95dd1d5c5681f9" + integrity sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag== dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" + indent-string "^5.0.0" + strip-indent "^4.0.0" regexp.prototype.flags@^1.4.3: version "1.4.3" @@ -2083,7 +2079,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.10.0, resolve@^1.22.1: +resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -2129,11 +2125,6 @@ sass@^1.63.6: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - semver@^6.3.0: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" @@ -2167,10 +2158,10 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signal-exit@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" + integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== slash@^3.0.0: version "3.0.0" @@ -2186,7 +2177,7 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -2277,12 +2268,12 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== +strip-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-4.0.0.tgz#b41379433dd06f5eae805e21d631e07ee670d853" + integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA== dependencies: - min-indent "^1.0.0" + min-indent "^1.0.1" strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" @@ -2344,49 +2335,51 @@ stylelint-scss@^5.0.1: postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" -stylelint@^14.16.1: - version "14.16.1" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.16.1.tgz#b911063530619a1bbe44c2b875fd8181ebdc742d" - integrity sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A== +stylelint@^15.10.1: + version "15.10.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.10.1.tgz#93f189958687e330c106b010cbec0c41dcae506d" + integrity sha512-CYkzYrCFfA/gnOR+u9kJ1PpzwG10WLVnoxHDuBA/JiwGqdM9+yx9+ou6SE/y9YHtfv1mcLo06fdadHTOx4gBZQ== dependencies: - "@csstools/selector-specificity" "^2.0.2" + "@csstools/css-parser-algorithms" "^2.3.0" + "@csstools/css-tokenizer" "^2.1.1" + "@csstools/media-query-list-parser" "^2.1.2" + "@csstools/selector-specificity" "^3.0.0" balanced-match "^2.0.0" colord "^2.9.3" - cosmiconfig "^7.1.0" + cosmiconfig "^8.2.0" css-functions-list "^3.1.0" + css-tree "^2.3.1" debug "^4.3.4" - fast-glob "^3.2.12" + fast-glob "^3.3.0" fastest-levenshtein "^1.0.16" file-entry-cache "^6.0.1" global-modules "^2.0.0" globby "^11.1.0" globjoin "^0.1.4" - html-tags "^3.2.0" - ignore "^5.2.1" + html-tags "^3.3.1" + ignore "^5.2.4" import-lazy "^4.0.0" imurmurhash "^0.1.4" is-plain-object "^5.0.0" - known-css-properties "^0.26.0" + known-css-properties "^0.27.0" mathml-tag-names "^2.1.3" - meow "^9.0.0" + meow "^10.1.5" micromatch "^4.0.5" normalize-path "^3.0.0" picocolors "^1.0.0" - postcss "^8.4.19" - postcss-media-query-parser "^0.2.3" + postcss "^8.4.24" postcss-resolve-nested-selector "^0.1.1" postcss-safe-parser "^6.0.0" - postcss-selector-parser "^6.0.11" + postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" resolve-from "^5.0.0" string-width "^4.2.3" strip-ansi "^6.0.1" style-search "^0.1.0" - supports-hyperlinks "^2.3.0" + supports-hyperlinks "^3.0.0" svg-tags "^1.0.0" table "^6.8.1" - v8-compile-cache "^2.3.0" - write-file-atomic "^4.0.2" + write-file-atomic "^5.0.1" supports-color@^5.3.0: version "5.5.0" @@ -2402,10 +2395,10 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== +supports-hyperlinks@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz#c711352a5c89070779b4dad54c05a2f14b15c94b" + integrity sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -2425,18 +2418,7 @@ sweetalert@1.1.3: resolved "https://registry.yarnpkg.com/sweetalert/-/sweetalert-1.1.3.tgz#d2c31ea492b22b6a8d887aea15989a238fc084ae" integrity sha1-0sMepJKyK2qNiHrqFZiaI4/AhK4= -table@^6.0.9: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -table@^6.8.1: +table@^6.0.9, table@^6.8.1: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== @@ -2464,10 +2446,10 @@ toastify-js@^1.12.0: resolved "https://registry.yarnpkg.com/toastify-js/-/toastify-js-1.12.0.tgz#cc1c4f5c7e7380e854e20bedceb51980ea29f64d" integrity sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ== -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== +trim-newlines@^4.0.2: + version "4.1.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125" + integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== tsconfig-paths@^3.14.1: version "3.14.1" @@ -2498,25 +2480,15 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== typed-array-length@^1.0.4: version "1.0.4" @@ -2564,7 +2536,7 @@ util-deprecate@^1.0.2: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: +v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -2624,25 +2596,25 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== +write-file-atomic@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" + integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== dependencies: imurmurhash "^0.1.4" - signal-exit "^3.0.7" + signal-exit "^4.0.1" yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^20.2.3: +yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 55b2c52f9b62090713e7ae41dce83819ce02f63b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 20:38:53 +0000 Subject: [PATCH 236/251] Bump rubocop-rails from 2.20.1 to 2.20.2 Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.20.1 to 2.20.2. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.20.1...v2.20.2) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4f530bab..086800df 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -395,7 +395,7 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.29.0) parser (>= 3.2.1.0) - rubocop-rails (2.20.1) + rubocop-rails (2.20.2) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) From e780a5ef0a21cf3e99d49156eab705a95c793464 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 22:46:53 +0000 Subject: [PATCH 237/251] Bump rails from 6.1.7.3 to 6.1.7.4 Bumps [rails](https://github.com/rails/rails) from 6.1.7.3 to 6.1.7.4. - [Release notes](https://github.com/rails/rails/releases) - [Commits](https://github.com/rails/rails/compare/v6.1.7.3...v6.1.7.4) --- updated-dependencies: - dependency-name: rails dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 106 +++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 35e5daf3..2d0eb21b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,40 +9,40 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.3) - actionpack (= 6.1.7.3) - activesupport (= 6.1.7.3) + actioncable (6.1.7.4) + actionpack (= 6.1.7.4) + activesupport (= 6.1.7.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.3) - actionpack (= 6.1.7.3) - activejob (= 6.1.7.3) - activerecord (= 6.1.7.3) - activestorage (= 6.1.7.3) - activesupport (= 6.1.7.3) + 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) mail (>= 2.7.1) - actionmailer (6.1.7.3) - actionpack (= 6.1.7.3) - actionview (= 6.1.7.3) - activejob (= 6.1.7.3) - activesupport (= 6.1.7.3) + 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) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.3) - actionview (= 6.1.7.3) - activesupport (= 6.1.7.3) + actionpack (6.1.7.4) + actionview (= 6.1.7.4) + activesupport (= 6.1.7.4) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.3) - actionpack (= 6.1.7.3) - activerecord (= 6.1.7.3) - activestorage (= 6.1.7.3) - activesupport (= 6.1.7.3) + 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) nokogiri (>= 1.8.5) - actionview (6.1.7.3) - activesupport (= 6.1.7.3) + actionview (6.1.7.4) + activesupport (= 6.1.7.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -50,26 +50,26 @@ GEM active_model_otp (2.3.2) activemodel rotp (~> 6.2.0) - activejob (6.1.7.3) - activesupport (= 6.1.7.3) + activejob (6.1.7.4) + activesupport (= 6.1.7.4) globalid (>= 0.3.6) - activemodel (6.1.7.3) - activesupport (= 6.1.7.3) + activemodel (6.1.7.4) + activesupport (= 6.1.7.4) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (6.1.7.3) - activemodel (= 6.1.7.3) - activesupport (= 6.1.7.3) - activestorage (6.1.7.3) - actionpack (= 6.1.7.3) - activejob (= 6.1.7.3) - activerecord (= 6.1.7.3) - activesupport (= 6.1.7.3) + activerecord (6.1.7.4) + activemodel (= 6.1.7.4) + activesupport (= 6.1.7.4) + 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) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.3) + activesupport (6.1.7.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -291,20 +291,20 @@ GEM rack (2.2.7) rack-test (2.1.0) rack (>= 1.3) - rails (6.1.7.3) - actioncable (= 6.1.7.3) - actionmailbox (= 6.1.7.3) - actionmailer (= 6.1.7.3) - actionpack (= 6.1.7.3) - actiontext (= 6.1.7.3) - actionview (= 6.1.7.3) - activejob (= 6.1.7.3) - activemodel (= 6.1.7.3) - activerecord (= 6.1.7.3) - activestorage (= 6.1.7.3) - activesupport (= 6.1.7.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) bundler (>= 1.15.0) - railties (= 6.1.7.3) + railties (= 6.1.7.4) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -326,9 +326,9 @@ GEM nested_form (~> 0.3) rails (>= 6.0, < 8) turbo-rails (~> 1.0) - railties (6.1.7.3) - actionpack (= 6.1.7.3) - activesupport (= 6.1.7.3) + railties (6.1.7.4) + actionpack (= 6.1.7.4) + activesupport (= 6.1.7.4) method_source rake (>= 12.2) thor (~> 1.0) From a8c1faa0892dd4e71f9b953630226864209041a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 09:17:04 +0000 Subject: [PATCH 238/251] Bump stylelint-config-standard-scss from 6.1.0 to 10.0.0 Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 6.1.0 to 10.0.0. - [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases) - [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v6.1.0...v10.0.0) --- updated-dependencies: - dependency-name: stylelint-config-standard-scss dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 66 ++++++++++++++++++++-------------------------------- 2 files changed, 26 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index b07dca2f..bb91c8dc 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", "stylelint": "^15.10.1", - "stylelint-config-standard-scss": "^6.1.0", + "stylelint-config-standard-scss": "^10.0.0", "stylelint-scss": "^5.0.1" } } diff --git a/yarn.lock b/yarn.lock index 165d94c7..4acb449c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -745,11 +745,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -1964,12 +1959,12 @@ postcss-safe-parser@^6.0.0: resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== -postcss-scss@^4.0.2: +postcss-scss@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.6.tgz#5d62a574b950a6ae12f2aa89b60d63d9e4432bfd" integrity sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ== -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.13: +postcss-selector-parser@^6.0.13: version "6.0.13" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== @@ -2285,47 +2280,36 @@ style-search@^0.1.0: resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg== -stylelint-config-recommended-scss@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-8.0.0.tgz#1c1e93e619fe2275d4c1067928d92e0614f7d64f" - integrity sha512-BxjxEzRaZoQb7Iinc3p92GS6zRdRAkIuEu2ZFLTxJK2e1AIcCb5B5MXY9KOXdGTnYFZ+KKx6R4Fv9zU6CtMYPQ== +stylelint-config-recommended-scss@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-12.0.0.tgz#9d9e82c46012649f11bfebcbc788f58e61860f33" + integrity sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA== dependencies: - postcss-scss "^4.0.2" - stylelint-config-recommended "^9.0.0" - stylelint-scss "^4.0.0" + postcss-scss "^4.0.6" + stylelint-config-recommended "^12.0.0" + stylelint-scss "^5.0.0" -stylelint-config-recommended@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz#1c9e07536a8cd875405f8ecef7314916d94e7e40" - integrity sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ== +stylelint-config-recommended@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz#d0993232fca017065fd5acfcb52dd8a188784ef4" + integrity sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ== -stylelint-config-standard-scss@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.1.0.tgz#a6cddd2a9430578b92fc89726a59474d5548a444" - integrity sha512-iZ2B5kQT2G3rUzx+437cEpdcnFOQkwnwqXuY8Z0QUwIHQVE8mnYChGAquyKFUKZRZ0pRnrciARlPaR1RBtPb0Q== +stylelint-config-standard-scss@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-10.0.0.tgz#159a54a01b80649bf0143fa7ba086b676a1a749e" + integrity sha512-bChBEo1p3xUVWh/wenJI+josoMk21f2yuLDGzGjmKYcALfl2u3DFltY+n4UHswYiXghqXaA8mRh+bFy/q1hQlg== dependencies: - stylelint-config-recommended-scss "^8.0.0" - stylelint-config-standard "^29.0.0" + stylelint-config-recommended-scss "^12.0.0" + stylelint-config-standard "^33.0.0" -stylelint-config-standard@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-29.0.0.tgz#4cc0e0f05512a39bb8b8e97853247d3a95d66fa2" - integrity sha512-uy8tZLbfq6ZrXy4JKu3W+7lYLgRQBxYTUUB88vPgQ+ZzAxdrvcaSUW9hOMNLYBnwH+9Kkj19M2DHdZ4gKwI7tg== +stylelint-config-standard@^33.0.0: + version "33.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-33.0.0.tgz#1f7bb299153a53874073e93829e37a475842f0f9" + integrity sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg== dependencies: - stylelint-config-recommended "^9.0.0" + stylelint-config-recommended "^12.0.0" -stylelint-scss@^4.0.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.6.0.tgz#f7602d6d562bb256802e38e3fd5e49c46d2e31b6" - integrity sha512-M+E0BQim6G4XEkaceEhfVjP/41C9Klg5/tTPTCQVlgw/jm2tvB+OXJGaU0TDP5rnTCB62aX6w+rT+gqJW/uwjA== - dependencies: - dlv "^1.1.3" - postcss-media-query-parser "^0.2.3" - postcss-resolve-nested-selector "^0.1.1" - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -stylelint-scss@^5.0.1: +stylelint-scss@^5.0.0, stylelint-scss@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.0.1.tgz#b33a6580b5734eace083cfc2cc3021225e28547f" integrity sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ== From b729b48fc5aee008a1fb457935c7ed75fd3c9b04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 09:31:35 +0000 Subject: [PATCH 239/251] Bump rspec-mocks from 3.12.5 to 3.12.6 Bumps [rspec-mocks](https://github.com/rspec/rspec-mocks) from 3.12.5 to 3.12.6. - [Release notes](https://github.com/rspec/rspec-mocks/releases) - [Changelog](https://github.com/rspec/rspec-mocks/blob/main/Changelog.md) - [Commits](https://github.com/rspec/rspec-mocks/compare/v3.12.5...v3.12.6) --- updated-dependencies: - dependency-name: rspec-mocks dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 881160cc..2e76ea5f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -368,7 +368,7 @@ GEM rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.12.5) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-rails (6.0.3) @@ -382,7 +382,7 @@ GEM rspec-sidekiq (3.1.0) rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) - rspec-support (3.12.0) + rspec-support (3.12.1) rubocop (1.54.1) json (~> 2.3) language_server-protocol (>= 3.17.0) From 32246073de815d7ab5384530970faed08f7a88e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 09:32:43 +0000 Subject: [PATCH 240/251] Bump haml_lint from 0.48.0 to 0.49.0 Bumps [haml_lint](https://github.com/sds/haml-lint) from 0.48.0 to 0.49.0. - [Release notes](https://github.com/sds/haml-lint/releases) - [Changelog](https://github.com/sds/haml-lint/blob/main/CHANGELOG.md) - [Commits](https://github.com/sds/haml-lint/compare/v0.48.0...v0.49.0) --- updated-dependencies: - dependency-name: haml_lint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 881160cc..52e01588 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -182,7 +182,7 @@ GEM temple (>= 0.8.2) thor tilt - haml_lint (0.48.0) + haml_lint (0.49.0) haml (>= 4.0, < 6.2) parallel (~> 1.10) rainbow From 74cb85bbc63fbf69975bc73c0c119cc5d6012bf9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 00:51:35 +0000 Subject: [PATCH 241/251] Bump word-wrap from 1.2.3 to 1.2.4 Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 165d94c7..0e410b88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2587,9 +2587,9 @@ which@^2.0.1: isexe "^2.0.0" word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== wrappy@1: version "1.0.2" From 5e7f1fca7988c522859054563246e9b5ef8c445b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jul 2023 09:08:04 +0000 Subject: [PATCH 242/251] Bump sass from 1.63.6 to 1.64.1 Bumps [sass](https://github.com/sass/dart-sass) from 1.63.6 to 1.64.1. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.63.6...1.64.1) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bb91c8dc..80013b63 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "croppr": "^2.3.1", "i18n-js": "^4.0", "js-cookie": "2.2.1", - "sass": "^1.63.6", + "sass": "^1.64.1", "sweetalert": "1.1.3", "toastify-js": "^1.12.0", "typescript": "^5.1.6" diff --git a/yarn.lock b/yarn.lock index b5f0448a..1e8154c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2111,10 +2111,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.63.6: - version "1.63.6" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.6.tgz#481610e612902e0c31c46b46cf2dad66943283ea" - integrity sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw== +sass@^1.64.1: + version "1.64.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.64.1.tgz#6a46f6d68e0fa5ad90aa59ce025673ddaa8441cf" + integrity sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 7bb47efef1022a068a2dcd83b3cd73571bd35c4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jul 2023 09:08:50 +0000 Subject: [PATCH 243/251] Bump stylelint from 15.10.1 to 15.10.2 Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.10.1 to 15.10.2. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/15.10.1...15.10.2) --- updated-dependencies: - dependency-name: stylelint dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index bb91c8dc..47695d90 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "esbuild": "^0.18.11", "eslint": "^7.16.0", "eslint-plugin-import": "^2.27.5", - "stylelint": "^15.10.1", + "stylelint": "^15.10.2", "stylelint-config-standard-scss": "^10.0.0", "stylelint-scss": "^5.0.1" } diff --git a/yarn.lock b/yarn.lock index b5f0448a..ab5a9e96 100644 --- a/yarn.lock +++ b/yarn.lock @@ -668,10 +668,10 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -css-functions-list@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b" - integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w== +css-functions-list@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.2.0.tgz#8290b7d064bf483f48d6559c10e98dc4d1ad19ee" + integrity sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg== css-tree@^2.3.1: version "2.3.1" @@ -1977,10 +1977,10 @@ postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.24: - version "8.4.25" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.25.tgz#4a133f5e379eda7f61e906c3b1aaa9b81292726f" - integrity sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw== +postcss@^8.4.25: + version "8.4.27" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057" + integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" @@ -2319,10 +2319,10 @@ stylelint-scss@^5.0.0, stylelint-scss@^5.0.1: postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" -stylelint@^15.10.1: - version "15.10.1" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.10.1.tgz#93f189958687e330c106b010cbec0c41dcae506d" - integrity sha512-CYkzYrCFfA/gnOR+u9kJ1PpzwG10WLVnoxHDuBA/JiwGqdM9+yx9+ou6SE/y9YHtfv1mcLo06fdadHTOx4gBZQ== +stylelint@^15.10.2: + version "15.10.2" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.10.2.tgz#0ee5a8371d3a2e1ff27fefd48309d3ddef7c3405" + integrity sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg== dependencies: "@csstools/css-parser-algorithms" "^2.3.0" "@csstools/css-tokenizer" "^2.1.1" @@ -2331,7 +2331,7 @@ stylelint@^15.10.1: balanced-match "^2.0.0" colord "^2.9.3" cosmiconfig "^8.2.0" - css-functions-list "^3.1.0" + css-functions-list "^3.2.0" css-tree "^2.3.1" debug "^4.3.4" fast-glob "^3.3.0" @@ -2351,7 +2351,7 @@ stylelint@^15.10.1: micromatch "^4.0.5" normalize-path "^3.0.0" picocolors "^1.0.0" - postcss "^8.4.24" + postcss "^8.4.25" postcss-resolve-nested-selector "^0.1.1" postcss-safe-parser "^6.0.0" postcss-selector-parser "^6.0.13" From 8d7b381100fb7bf13efa79dfc31f9e2cf3cf3208 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jul 2023 09:56:13 +0000 Subject: [PATCH 244/251] Bump pundit from 2.3.0 to 2.3.1 Bumps [pundit](https://github.com/varvet/pundit) from 2.3.0 to 2.3.1. - [Changelog](https://github.com/varvet/pundit/blob/main/CHANGELOG.md) - [Commits](https://github.com/varvet/pundit/compare/v2.3.0...v2.3.1) --- updated-dependencies: - dependency-name: pundit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e0832774..a79e3324 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -284,7 +284,7 @@ GEM public_suffix (5.0.1) puma (6.3.0) nio4r (~> 2.0) - pundit (2.3.0) + pundit (2.3.1) activesupport (>= 3.0.0) questiongenerator (1.1.0) racc (1.7.1) From 7695b24a1a795851a6fa946680001ea42457dfbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 09:54:33 +0000 Subject: [PATCH 245/251] Bump prometheus-client from 4.1.0 to 4.2.0 Bumps [prometheus-client](https://github.com/prometheus/client_ruby) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/prometheus/client_ruby/releases) - [Changelog](https://github.com/prometheus/client_ruby/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_ruby/compare/v4.1.0...v4.2.0) --- updated-dependencies: - dependency-name: prometheus-client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 90d692fd..e5444b93 100644 --- a/Gemfile +++ b/Gemfile @@ -116,4 +116,4 @@ gem "openssl", "~> 3.1" # mail 2.8.0 breaks sendmail usage: https://github.com/mikel/mail/issues/1538 gem "mail", "~> 2.7.1" -gem "prometheus-client", "~> 4.1" +gem "prometheus-client", "~> 4.2" diff --git a/Gemfile.lock b/Gemfile.lock index e0832774..6e95a89f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -280,7 +280,7 @@ GEM pg (1.5.3) pghero (3.3.3) activerecord (>= 6) - prometheus-client (4.1.0) + prometheus-client (4.2.0) public_suffix (5.0.1) puma (6.3.0) nio4r (~> 2.0) @@ -528,7 +528,7 @@ DEPENDENCIES openssl (~> 3.1) pg pghero - prometheus-client (~> 4.1) + prometheus-client (~> 4.2) puma pundit (~> 2.3) questiongenerator (~> 1.1) From 44223cdaa04b830b8cc07336c994b2619d240d25 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 09:54:58 +0000 Subject: [PATCH 246/251] Bump lograge from 0.12.0 to 0.13.0 Bumps [lograge](https://github.com/roidrage/lograge) from 0.12.0 to 0.13.0. - [Release notes](https://github.com/roidrage/lograge/releases) - [Changelog](https://github.com/roidrage/lograge/blob/master/CHANGELOG.md) - [Commits](https://github.com/roidrage/lograge/compare/v0.12.0...v0.13.0) --- updated-dependencies: - dependency-name: lograge dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e0832774..52b7c8ce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -227,7 +227,7 @@ GEM addressable (~> 2.7) letter_opener (1.8.1) launchy (>= 2.2, < 3) - lograge (0.12.0) + lograge (0.13.0) actionpack (>= 4) activesupport (>= 4) railties (>= 4) @@ -247,8 +247,8 @@ GEM rake mini_magick (4.12.0) mini_mime (1.1.2) - mini_portile2 (2.8.2) - minitest (5.18.1) + mini_portile2 (2.8.4) + minitest (5.19.0) msgpack (1.6.0) multi_json (1.15.0) multi_xml (0.6.0) @@ -288,7 +288,7 @@ GEM activesupport (>= 3.0.0) questiongenerator (1.1.0) racc (1.7.1) - rack (2.2.7) + rack (2.2.8) rack-test (2.1.0) rack (>= 1.3) rails (6.1.7.4) @@ -479,7 +479,7 @@ GEM websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.8) + zeitwerk (2.6.10) PLATFORMS ruby From 92e0cde068d0955fce7ffcf66bdced368889e4ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 09:55:10 +0000 Subject: [PATCH 247/251] Bump rubocop from 1.54.1 to 1.55.1 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.54.1 to 1.55.1. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.54.1...v1.55.1) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 90d692fd..976d2f2a 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ group :development, :test do gem "rspec-mocks" gem "rspec-rails", "~> 6.0" gem "rspec-sidekiq", "~> 3.0", require: false - gem "rubocop", "~> 1.54" + gem "rubocop", "~> 1.55" gem "rubocop-rails", "~> 2.20" gem "shoulda-matchers", "~> 5.3" gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index e0832774..e3f43a91 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -342,7 +342,7 @@ GEM responders (3.1.0) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.2.5) + rexml (3.2.6) rolify (6.0.1) rotp (6.2.2) rouge (4.1.2) @@ -383,7 +383,7 @@ GEM rspec-core (~> 3.0, >= 3.0.0) sidekiq (>= 2.4.0) rspec-support (3.12.1) - rubocop (1.54.1) + rubocop (1.55.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -391,7 +391,7 @@ GEM 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.28.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.29.0) @@ -546,7 +546,7 @@ DEPENDENCIES rspec-mocks rspec-rails (~> 6.0) rspec-sidekiq (~> 3.0) - rubocop (~> 1.54) + rubocop (~> 1.55) rubocop-rails (~> 2.20) rubyzip (~> 2.3) sanitize From b061296fe9b845fdb63647c88f7aa9831f5b2817 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 09:55:28 +0000 Subject: [PATCH 248/251] Bump haml_lint from 0.49.0 to 0.49.2 Bumps [haml_lint](https://github.com/sds/haml-lint) from 0.49.0 to 0.49.2. - [Release notes](https://github.com/sds/haml-lint/releases) - [Changelog](https://github.com/sds/haml-lint/blob/main/CHANGELOG.md) - [Commits](https://github.com/sds/haml-lint/compare/v0.49.0...v0.49.2) --- updated-dependencies: - dependency-name: haml_lint dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e0832774..505173e8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -182,7 +182,7 @@ GEM temple (>= 0.8.2) thor tilt - haml_lint (0.49.0) + haml_lint (0.49.2) haml (>= 4.0, < 6.2) parallel (~> 1.10) rainbow @@ -342,7 +342,7 @@ GEM responders (3.1.0) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.2.5) + rexml (3.2.6) rolify (6.0.1) rotp (6.2.2) rouge (4.1.2) From cfb44c1002ca96ffe733430284459fcb65d3ac8c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 09:55:53 +0000 Subject: [PATCH 249/251] Bump net-imap from 0.3.6 to 0.3.7 Bumps [net-imap](https://github.com/ruby/net-imap) from 0.3.6 to 0.3.7. - [Release notes](https://github.com/ruby/net-imap/releases) - [Commits](https://github.com/ruby/net-imap/compare/v0.3.6...v0.3.7) --- updated-dependencies: - dependency-name: net-imap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e0832774..bf90cc2b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -257,7 +257,7 @@ GEM connection_pool (~> 2.2) net-http2 (0.18.4) http-2 (~> 0.11) - net-imap (0.3.6) + net-imap (0.3.7) date net-protocol net-pop (0.1.2) @@ -453,7 +453,7 @@ GEM temple (0.10.2) thor (1.2.2) tilt (2.2.0) - timeout (0.3.2) + timeout (0.4.0) tldv (0.1.0) tldv-data (~> 1.0) tldv-data (1.0.2023031000) From 3c8fc5adac951db9b5edbb0cf445af13aadeba73 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 09:57:14 +0000 Subject: [PATCH 250/251] Bump oj from 3.15.0 to 3.15.1 Bumps [oj](https://github.com/ohler55/oj) from 3.15.0 to 3.15.1. - [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md) - [Commits](https://github.com/ohler55/oj/compare/v3.15.0...v3.15.1) --- updated-dependencies: - dependency-name: oj dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e0832774..29ef9272 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -270,7 +270,7 @@ GEM nokogiri (1.15.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oj (3.15.0) + oj (3.15.1) openssl (3.1.0) orm_adapter (0.5.0) parallel (1.23.0) From b78143af90f50cb3f782583d14a28882a223bd10 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:11:53 +0000 Subject: [PATCH 251/251] Bump eslint-plugin-import from 2.27.5 to 2.28.0 Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.27.5 to 2.28.0. - [Release notes](https://github.com/import-js/eslint-plugin-import/releases) - [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md) - [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.27.5...v2.28.0) --- updated-dependencies: - dependency-name: eslint-plugin-import dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 270 +++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 240 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 9634f7ee..34346ae7 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@typescript-eslint/parser": "^4.11.0", "esbuild": "^0.18.11", "eslint": "^7.16.0", - "eslint-plugin-import": "^2.27.5", + "eslint-plugin-import": "^2.28.0", "stylelint": "^15.10.2", "stylelint-config-standard-scss": "^10.0.0", "stylelint-scss": "^5.0.1" diff --git a/yarn.lock b/yarn.lock index ed57fe22..2bb71921 100644 --- a/yarn.lock +++ b/yarn.lock @@ -441,6 +441,14 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-includes@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" @@ -457,6 +465,17 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array.prototype.findlastindex@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz#bc229aef98f6bd0533a2bc61ff95209875526c9b" + integrity sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + array.prototype.flat@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" @@ -477,6 +496,18 @@ array.prototype.flatmap@^1.3.1: es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" +arraybuffer.prototype.slice@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz#9b5ea3868a6eebc30273da577eb888381c0044bb" + integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -738,6 +769,14 @@ define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -843,6 +882,51 @@ es-abstract@^1.20.4: unbox-primitive "^1.0.2" which-typed-array "^1.1.9" +es-abstract@^1.21.2: + version "1.22.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.1.tgz#8b4e5fc5cefd7f1660f0f8e1a52900dfbc9d9ccc" + integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.1" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.1" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.0" + safe-array-concat "^1.0.0" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.10" + es-set-tostringtag@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" @@ -915,33 +999,36 @@ eslint-import-resolver-node@^0.3.7: is-core-module "^2.11.0" resolve "^1.22.1" -eslint-module-utils@^2.7.4: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== +eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== dependencies: debug "^3.2.7" -eslint-plugin-import@^2.27.5: - version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" - integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== +eslint-plugin-import@^2.28.0: + version "2.28.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz#8d66d6925117b06c4018d491ae84469eb3cb1005" + integrity sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q== dependencies: array-includes "^3.1.6" + array.prototype.findlastindex "^1.2.2" array.prototype.flat "^1.3.1" array.prototype.flatmap "^1.3.1" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" + eslint-module-utils "^2.8.0" has "^1.0.3" - is-core-module "^2.11.0" + is-core-module "^2.12.1" is-glob "^4.0.3" minimatch "^3.1.2" + object.fromentries "^2.0.6" + object.groupby "^1.0.0" object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" + resolve "^1.22.3" + semver "^6.3.1" + tsconfig-paths "^3.14.2" eslint-scope@^5.1.1: version "5.1.1" @@ -1174,7 +1261,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -functions-have-names@^1.2.2: +functions-have-names@^1.2.2, functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== @@ -1197,6 +1284,16 @@ get-intrinsic@^1.1.3: has "^1.0.3" has-symbols "^1.0.3" +get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -1438,6 +1535,15 @@ internal-slot@^1.0.4: has "^1.0.3" side-channel "^1.0.4" +internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + is-array-buffer@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" @@ -1447,6 +1553,15 @@ is-array-buffer@^3.0.1: get-intrinsic "^1.1.3" is-typed-array "^1.1.10" +is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -1484,10 +1599,10 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== +is-core-module@^2.11.0, is-core-module@^2.12.0, is-core-module@^2.12.1, is-core-module@^2.5.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== dependencies: has "^1.0.3" @@ -1594,6 +1709,11 @@ is-weakref@^1.0.1, is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -1644,7 +1764,7 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json5@^1.0.1: +json5@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== @@ -1820,7 +1940,7 @@ object-inspect@^1.11.0, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== -object-inspect@^1.12.2: +object-inspect@^1.12.2, object-inspect@^1.12.3: version "1.12.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== @@ -1850,6 +1970,25 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.groupby@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.0.tgz#cb29259cf90f37e7bac6437686c1ea8c916d12a9" + integrity sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.21.2" + get-intrinsic "^1.2.1" + object.values@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" @@ -2054,6 +2193,15 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" +regexp.prototype.flags@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" + regexpp@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -2074,12 +2222,12 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== +resolve@^1.22.1, resolve@^1.22.3: + version "1.22.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283" + integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.12.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -2102,6 +2250,16 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +safe-array-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" + integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-regex-test@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" @@ -2120,7 +2278,7 @@ sass@^1.64.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -semver@^6.3.0: +semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== @@ -2217,6 +2375,15 @@ string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" @@ -2435,13 +2602,13 @@ trim-newlines@^4.0.2: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125" integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== +tsconfig-paths@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" + json5 "^1.0.2" minimist "^1.2.6" strip-bom "^3.0.0" @@ -2474,6 +2641,36 @@ type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" @@ -2544,6 +2741,17 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-typed-array@^1.1.10: + version "1.1.11" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + which-typed-array@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"