about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2022-11-27Fix infinite loading instead of soft 404 for non-existing remote accounts ↵Claire
(#21303) Fixes #21278, #21021
2022-11-27Fix spaces not being stripped in admin account search (#21324)Claire
Fixes #21058 Regression from #18641
2022-11-27fix gif autoplay on iOS (#21422)James Adney
2022-11-27Add user profile OG tag on status page (#21423)Bramus!
2022-11-27Remove LDSignature on actor Delete activities (#21466)Claire
They are currently not used for anything and represent more than half of the payload size.
2022-11-27Fix “Share @{name}'s profile” profile menu item (#21490)Claire
2022-11-27Remove support for Ruby 2.6 (#21477)Claire
As pointed out by https://github.com/mastodon/mastodon/pull/21297#discussion_r1028372193 at least one of our dependencies already dropped support for Ruby 2.6, and we had removed Ruby 2.6 tests from the CI over a year ago (#16861). So stop advertising Ruby 2.6 support, bump targeted version, and drop some compatibility code.
2022-11-27refactor(vacuum statuses): reduce amount of db queries and load for each ↵Kaspar V
query - improve performance (#21487) * refactor(statuses_vacuum): remove dead code - unused Method is not called inside class and private. Clean up dead code. * refactor(statuses_vacuum): make retention_period present test explicit This private method only hides functionality. It is best practice to be as explicit as possible. * refactor(statuses_vacuum): improve query performance - fix statuses_scope having sub-select for Account.remote scope by `joins(:account).merge(Account.remote)` - fix statuses_scope unnecessary use of `Status.arel_table[:id].lt` because it is inexplicit, bad practice and even slower than normal `.where('statuses.id < ?'` - fix statuses_scope remove select(:id, :visibility) for having reusable active record query batches (no re queries) - fix vacuum_statuses! to use in_batches instead of find_in_batches, because in_batches delivers a full blown active record query result, in stead of an array - no requeries necessary - send(:unlink_from_conversations) not to perform another db query, but reuse the in_batches result instead. - remove now obsolete remove_from_account_conversations method - remove_from_search_index uses array of ids, instead of mapping the ids from an array - this should be more efficient - use the in_batches scope to call delete_all, instead of running another db query for this - because it is again more efficient - add TODO comment for calling models private method with send * refactor(status): simplify unlink_from_conversations - add `has_many through:` relation mentioned_accounts - use model scope local instead of method call `Status#local?` - more readable add account to inbox_owners when account.local? * refactor(status): searchable_by way less sub selects These queries all included a sub-select. Doing the same with a joins should be more efficient. Since this method does 5 such queries, this should be significant, since it technically halves the query count. This is how it was: ```ruby [3] pry(main)> Status.first.mentions.where(account: Account.local, silent: false).explain Status Load (1.6ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]] Mention Load (1.5ms) SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] => EXPLAIN for: SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] QUERY PLAN ------------------------------------------------------------------------------------------------------------------ Nested Loop (cost=0.15..23.08 rows=1 width=41) -> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8) Filter: (domain IS NULL) -> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41) Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint)) Filter: (NOT silent) (6 rows) ``` This is how it is with this change: ```ruby [4] pry(main)> Status.first.mentions.joins(:account).merge(Account.local).active.explain Status Load (1.7ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]] Mention Load (0.7ms) SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] => EXPLAIN for: SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]] QUERY PLAN ------------------------------------------------------------------------------------------------------------------ Nested Loop (cost=0.15..23.08 rows=1 width=41) -> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8) Filter: (domain IS NULL) -> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41) Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint)) Filter: (NOT silent) (6 rows) ```
2022-11-27Fix attachments of edited statuses not being fetched (#21565)Claire
* Fix attachments of edited statuses not being fetched * Fix tests
2022-11-27Add logging for Rails cache timeouts (#21667)Claire
* Reduce redis cache store connect timeout from default 20 seconds to 5 seconds * Log cache store errors
2022-11-27Fix status mismatch of sensitive check (#21724)kedama
2022-11-26Clear voter count when poll is reset (#21700)afontenot
When a poll is edited, we reset the poll and remove all previous votes. However, prior to this commit, the voter count on the poll was not reset. This leads to incorrect percentages being shown in poll results. Fixes #21696
2022-11-26Bump sass from 1.55.0 to 1.56.1 (#20681)dependabot[bot]
Bumps [sass](https://github.com/sass/dart-sass) from 1.55.0 to 1.56.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.55.0...1.56.1) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump webpack-bundle-analyzer from 4.6.1 to 4.7.0 (#19604)dependabot[bot]
Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 4.6.1 to 4.7.0. - [Release notes](https://github.com/webpack-contrib/webpack-bundle-analyzer/releases) - [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v4.6.1...v4.7.0) --- updated-dependencies: - dependency-name: webpack-bundle-analyzer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump babel-loader from 8.2.5 to 8.3.0 (#20059)dependabot[bot]
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.5 to 8.3.0. - [Release notes](https://github.com/babel/babel-loader/releases) - [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel-loader/compare/v8.2.5...v8.3.0) --- updated-dependencies: - dependency-name: babel-loader dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump capybara from 3.37.1 to 3.38.0 (#20036)dependabot[bot]
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.37.1 to 3.38.0. - [Release notes](https://github.com/teamcapybara/capybara/releases) - [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md) - [Commits](https://github.com/teamcapybara/capybara/compare/3.37.1...3.38.0) --- updated-dependencies: - dependency-name: capybara dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump @babel/runtime from 7.19.4 to 7.20.1 (#20038)dependabot[bot]
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.19.4 to 7.20.1. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.20.1/packages/babel-runtime) --- updated-dependencies: - dependency-name: "@babel/runtime" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump @babel/preset-env from 7.19.4 to 7.20.2 (#20037)dependabot[bot]
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.4 to 7.20.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.20.2/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/preset-env" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump @babel/plugin-proposal-decorators from 7.19.6 to 7.20.2 (#20061)dependabot[bot]
Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.19.6 to 7.20.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.20.2/packages/babel-plugin-proposal-decorators) --- updated-dependencies: - dependency-name: "@babel/plugin-proposal-decorators" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump @babel/core from 7.19.6 to 7.20.2 (#20051)dependabot[bot]
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.19.6 to 7.20.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.20.2/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump brakeman from 5.3.1 to 5.4.0 (#21351)dependabot[bot]
Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 5.3.1 to 5.4.0. - [Release notes](https://github.com/presidentbeef/brakeman/releases) - [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md) - [Commits](https://github.com/presidentbeef/brakeman/compare/v5.3.1...v5.4.0) --- updated-dependencies: - dependency-name: brakeman dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-26Bump bootsnap from 1.13.0 to 1.14.0 (#21344)dependabot[bot]
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.13.0 to 1.14.0. - [Release notes](https://github.com/Shopify/bootsnap/releases) - [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md) - [Commits](https://github.com/Shopify/bootsnap/compare/v1.13.0...v1.14.0) --- updated-dependencies: - dependency-name: bootsnap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-25fix media uploads with ffmpeg 5 (#21191)Skyler Hawthorne
2022-11-25New Crowdin updates (#20942)Eugen Rochko
* New translations en.yml (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations doorkeeper.en.yml (Belarusian) * New translations devise.en.yml (Finnish) * New translations en.json (Norwegian) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Esperanto) * New translations en.yml (Scots) * New translations en.yml (Italian) * New translations en.json (Welsh) * New translations en.yml (Welsh) * New translations en.yml (Esperanto) * New translations en.yml (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations en.yml (German) * New translations simple_form.en.yml (Belarusian) * New translations en.yml (Belarusian) * New translations en.json (Belarusian) * New translations en.yml (Faroese) * New translations simple_form.en.yml (Estonian) * New translations en.json (German) * New translations simple_form.en.yml (German) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Estonian) * New translations en.json (Estonian) * New translations en.yml (Italian) * New translations doorkeeper.en.yml (Belarusian) * New translations en.yml (German) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations en.yml (Welsh) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Estonian) * New translations doorkeeper.en.yml (Welsh) * New translations activerecord.en.yml (Welsh) * New translations devise.en.yml (Welsh) * New translations en.yml (Faroese) * New translations en.yml (Scots) * New translations simple_form.en.yml (Belarusian) * New translations doorkeeper.en.yml (Belarusian) * New translations en.yml (German) * New translations en.json (Hungarian) * New translations en.json (Bengali) * New translations en.yml (Estonian) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Estonian) * New translations simple_form.en.yml (Welsh) * New translations en.yml (Scots) * New translations doorkeeper.en.yml (German) * New translations en.yml (Russian) * New translations en.yml (Estonian) * New translations en.json (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations en.json (Indonesian) * New translations en.yml (Indonesian) * New translations simple_form.en.yml (Serbian (Latin)) * New translations en.json (Belarusian) * New translations en.yml (Belarusian) * New translations devise.en.yml (Serbian (Latin)) * New translations en.yml (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations doorkeeper.en.yml (Belarusian) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (German) * New translations doorkeeper.en.yml (German) * New translations devise.en.yml (German) * New translations en.yml (Faroese) * New translations simple_form.en.yml (Faroese) * New translations en.yml (Belarusian) * New translations doorkeeper.en.yml (Belarusian) * New translations en.json (Spanish) * New translations en.json (Welsh) * New translations en.yml (Welsh) * New translations doorkeeper.en.yml (Welsh) * New translations en.yml (Belarusian) * New translations en.json (German) * New translations en.yml (Welsh) * New translations en.json (Asturian) * New translations simple_form.en.yml (German) * New translations en.yml (Faroese) * New translations en.yml (Belarusian) * New translations en.json (Asturian) * New translations en.yml (Asturian) * New translations en.json (French, Quebec) * New translations en.json (Faroese) * New translations en.yml (Faroese) * New translations en.json (Belarusian) * New translations en.yml (Belarusian) * New translations devise.en.yml (Asturian) * New translations en.json (Spanish) * New translations en.json (French, Quebec) * New translations en.yml (Faroese) * New translations en.yml (Scots) * New translations en.json (Belarusian) * New translations en.yml (Belarusian) * New translations en.json (French, Quebec) * New translations en.yml (Scots) * New translations en.yml (Belarusian) * New translations en.yml (Asturian) * New translations simple_form.en.yml (Asturian) * New translations doorkeeper.en.yml (Asturian) * New translations en.json (Asturian) * New translations en.yml (Asturian) * New translations simple_form.en.yml (Asturian) * New translations en.json (Asturian) * New translations en.yml (Faroese) * New translations en.yml (Faroese) * New translations simple_form.en.yml (Faroese) * New translations simple_form.en.yml (Belarusian) * New translations devise.en.yml (Serbian (Latin)) * New translations en.yml (Japanese) * New translations en.json (Serbian (Latin)) * New translations en.yml (Faroese) * New translations en.yml (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (Estonian) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations devise.en.yml (Estonian) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (Estonian) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Estonian) * New translations devise.en.yml (Estonian) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (Catalan) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Catalan) * New translations doorkeeper.en.yml (Catalan) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Estonian) * New translations activerecord.en.yml (Serbian (Cyrillic)) * New translations en.yml (Faroese) * New translations simple_form.en.yml (Faroese) * New translations en.yml (Scots) * New translations doorkeeper.en.yml (Serbian (Cyrillic)) * New translations en.yml (Belarusian) * New translations devise.en.yml (German) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations doorkeeper.en.yml (Serbian (Cyrillic)) * New translations doorkeeper.en.yml (Estonian) * New translations en.yml (Romanian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Estonian) * New translations en.yml (Scots) * New translations doorkeeper.en.yml (Estonian) * New translations simple_form.en.yml (Bulgarian) * New translations simple_form.en.yml (German) * New translations activerecord.en.yml (Serbian (Cyrillic)) * New translations en.yml (Scots) * New translations en.yml (Bulgarian) * New translations simple_form.en.yml (Bulgarian) * New translations en.yml (Asturian) * New translations devise.en.yml (Asturian) * New translations en.yml (Scots) * New translations simple_form.en.yml (Hebrew) * New translations en.yml (Belarusian) * New translations en.yml (Belarusian) * New translations en.yml (Belarusian) * New translations en.yml (Scots) * New translations en.yml (Belarusian) * New translations en.json (Ukrainian) * New translations doorkeeper.en.yml (Ukrainian) * New translations en.yml (Scots) * New translations doorkeeper.en.yml (Serbian (Cyrillic)) * New translations en.yml (Scots) * New translations doorkeeper.en.yml (Serbian (Cyrillic)) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.yml (Bulgarian) * New translations en.json (Catalan) * New translations en.yml (Catalan) * New translations en.yml (Scots) * New translations doorkeeper.en.yml (Serbian (Cyrillic)) * New translations en.json (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations en.yml (Ukrainian) * New translations simple_form.en.yml (Dutch) * New translations en.json (Ukrainian) * New translations en.yml (Esperanto) * New translations simple_form.en.yml (Ukrainian) * New translations simple_form.en.yml (Esperanto) * New translations en.yml (Faroese) * New translations en.yml (Faroese) * New translations en.yml (Scots) * New translations en.yml (Scots) * New translations en.yml (Belarusian) * New translations en.yml (Belarusian) * New translations en.json (Czech) * New translations en.json (Malayalam) * New translations en.yml (Scots) * New translations en.json (Czech) * New translations en.json (Hindi) * New translations en.json (Malayalam) * New translations activerecord.en.yml (Serbian (Latin)) * New translations en.yml (Scots) * New translations doorkeeper.en.yml (Serbian (Latin)) * New translations en.json (Czech) * New translations en.json (Serbian (Cyrillic)) * New translations simple_form.en.yml (Asturian) * New translations en.yml (Scots) * New translations en.json (Czech) * New translations en.json (Frisian) * New translations en.json (Serbian (Cyrillic)) * New translations en.yml (Scots) * New translations en.yml (Belarusian) * New translations devise.en.yml (Frisian) * New translations en.json (Czech) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations en.yml (Faroese) * New translations en.yml (Belarusian) * New translations en.yml (Ukrainian) * New translations en.yml (Bulgarian) * New translations en.json (Italian) * New translations en.json (Ukrainian) * New translations en.json (Spanish, Mexico) * New translations en.json (Estonian) * New translations en.yml (Estonian) * New translations simple_form.en.yml (Bulgarian) * New translations simple_form.en.yml (Estonian) * New translations en.yml (Faroese) * New translations en.yml (Belarusian) * New translations simple_form.en.yml (Belarusian) * New translations devise.en.yml (Ukrainian) * New translations en.yml (Ukrainian) * New translations en.json (Italian) * New translations en.json (Ukrainian) * New translations en.json (Spanish, Mexico) * New translations simple_form.en.yml (Ukrainian) * New translations activerecord.en.yml (Italian) * New translations en.yml (Belarusian) * New translations simple_form.en.yml (Belarusian) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` * Add `app/javascript/mastodon/locales/whitelist_be.json` Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-24Fix the command to create the admin user (#19827)Chris Funderburg
* fix the command to create the admin user * change Admin to Owner
2022-11-24Helm: Major refactoring regarding Deployments, Environment variables and ↵Sheogorath
more (#20733) * fix(chart): Remove non-functional Horizontal Pod Autoscaler The Horizontal Pod Autoscaler (HPA) refers to a Deployment that doesn't exist and therefore can not work. As a result it's pointless to carry it around in this chart and give the wrong impression it could work. This patch removes it from the helm chart and drops all references to it. * refactor(chart): Refactor sidekiq deployments to scale This patch reworks how the sidekiq deployment is set up, by splitting it into many sidekiq deployments, but at least one, which should allow to scale the number of sidekiq jobs as expected while being friendly to single user instances as well as larger ones. Further it introduces per deployment overwrites for the most relevant pod fields like resources, affinities and processed queues, number of jobs and the sidekiq security contexts. The exact implementation was inspired by an upstream issue: https://github.com/mastodon/mastodon/issues/20453 * fix(chart): Remove linode default values from values This patch drops the linode defaults from the values.yaml since these are not obvious and can cause unexpected connections as well as leaking secrets to linode, when other s3 storage backends are used and don't explicitly configure these options by accident. Mastodon will then try to authenticate to the linode backends and therefore disclose the authentication secrets. * refactor(chart): Rework reduce value reference duplication Since most of the values are simply setup like this: ``` {{- if .Values.someVariable }} SOME_VARIABLE: {{ .Values.someVariable }} {{- end }} ``` There is a lot of duplication in the references in order to full in the variables. There is an equivalent notation, which reduces the usage of the variable name to just once: ``` {{- with .Values.someVariable }} SOME_VARIABLE: {{ . }} {{- end }} ``` What seems like a pointless replacement, will reduce potential mistakes down the line by possibly only adjusting one of the two references. * fix(chart): Switch to new OMNIAUTH_ONLY variable This patch adjusts the helm chart to use the new `OMNIAUTH_ONLY` variable, which replaced the former `OAUTH_REDIRECT_AT_SIGN_IN` variable in the following commit: https://github.com/mastodon/mastodon/pull/17288 https://github.com/mastodon/mastodon/pull/17288/commits/3c8857917ea9b9b3a76adb7afcea5842c8e1c0d1 * fix(chart): Repair connection test to existing service Currently the connect test can't work, since it's connecting to a non-existing service this patch fixes the service name to make the job connect to the mastodon web service to verify the connection. * docs(chart): Adjust values.yaml to support helm-docs This patch updates most values to prepare an introduction of helm-docs. This should help to make the chart more user friendly by explaining the variables and provide a standardised README file, like many other helm charts do. References: https://github.com/norwoodj/helm-docs * refactor(chart): Allow individual overwrites for streaming and web deployment This patch works how the streaming and web deployments work by adding various fields to overwrite values such as affinities, resources, replica count, and security contexts. BREAKING CHANGE: This commit removes `.Values.replicaCount` in favour of `.Values.mastodon.web.replicas` and `.Values.mastodon.streaming.values`. * feat(chart): Add option for authorized fetch Currently the helm chart doesn't support authorized fetch aka. "Secure Mode" this patch fixes that by adding the needed config option to the values file and the configmap. * docs(chart): Improve helm-docs compatiblity This patch adjust a few more comments in the values.yaml to be picked up by helm-docs. This way, future adoption is properly prepared. * fix(chart): Add automatic detection of scheduler sidekiq queue This patch adds an automatic switch to the `Recreate` strategy for the sidekiq Pod in order to prevent accidental concurrency for the scheduler queue. * fix(chart): Repair broken DB_POOL variable
2022-11-22Bump regenerator-runtime from 0.13.10 to 0.13.11 (#21343)dependabot[bot]
Bumps [regenerator-runtime](https://github.com/facebook/regenerator) from 0.13.10 to 0.13.11. - [Release notes](https://github.com/facebook/regenerator/releases) - [Commits](https://github.com/facebook/regenerator/compare/regenerator-runtime@0.13.10...regenerator-runtime@0.13.11) --- updated-dependencies: - dependency-name: regenerator-runtime dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22Bump jsdom from 20.0.2 to 20.0.3 (#21347)dependabot[bot]
Bumps [jsdom](https://github.com/jsdom/jsdom) from 20.0.2 to 20.0.3. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/20.0.2...20.0.3) --- updated-dependencies: - dependency-name: jsdom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22Bump idn-ruby from 0.1.4 to 0.1.5 (#21348)dependabot[bot]
Bumps [idn-ruby](https://github.com/deepfryed/idn-ruby) from 0.1.4 to 0.1.5. - [Release notes](https://github.com/deepfryed/idn-ruby/releases) - [Changelog](https://github.com/deepfryed/idn-ruby/blob/master/CHANGES) - [Commits](https://github.com/deepfryed/idn-ruby/compare/v0.1.4...v0.1.5) --- updated-dependencies: - dependency-name: idn-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22Bump eslint-plugin-react from 7.31.10 to 7.31.11 (#21349)dependabot[bot]
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.31.10 to 7.31.11. - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.31.10...v7.31.11) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22Bump pg from 1.4.4 to 1.4.5 (#21350)dependabot[bot]
Bumps [pg](https://github.com/ged/ruby-pg) from 1.4.4 to 1.4.5. - [Release notes](https://github.com/ged/ruby-pg/releases) - [Changelog](https://github.com/ged/ruby-pg/blob/master/History.rdoc) - [Commits](https://github.com/ged/ruby-pg/compare/v1.4.4...v1.4.5) --- updated-dependencies: - dependency-name: pg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22Bump httplog from 1.6.0 to 1.6.2 (#21345)dependabot[bot]
Bumps [httplog](https://github.com/trusche/httplog) from 1.6.0 to 1.6.2. - [Release notes](https://github.com/trusche/httplog/releases) - [Changelog](https://github.com/trusche/httplog/blob/master/CHANGELOG.md) - [Commits](https://github.com/trusche/httplog/compare/v1.6.0...v1.6.2) --- updated-dependencies: - dependency-name: httplog dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22Add missing procps package to Dockerfile (#21028)BtbN
The new Debian-Base does not come with this by default, making the ps based health-check in the compose file fail
2022-11-21Fix not being able to follow more than one hashtag (#21285)Claire
Fixes regression from #20860
2022-11-20Don't allow URLs that contain non-normalized paths to be verified (#20999)David Leadbeater
* Don't allow URLs that contain non-normalized paths to be verified This stops things like https://example.com/otheruser/../realuser where "/otheruser" appears to be the verified URL, but the actual URL being verified is "/realuser" due to the "/../". Also fix a test to use 'https', so it is testing the right thing, now that since #20304 https is required. * missing do
2022-11-17Fix form-action CSP directive for external login (#20962)Claire
2022-11-17Fix OAuth flow being broken by recent CSP change (#20958)Claire
2022-11-17Remove blank line from start of Dockerfile breaking syntax declaration (#20948)Effy Elden
2022-11-17New Crowdin updates (#20759)Eugen Rochko
* New translations en.json (German) * New translations en.json (Italian) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (German) * New translations doorkeeper.en.yml (Kurmanji (Kurdish)) * New translations en.json (Dutch) * New translations en.json (Esperanto) * New translations en.json (Dutch) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Faroese) * New translations en.json (Esperanto) * New translations en.json (Irish) * New translations simple_form.en.yml (Esperanto) * New translations doorkeeper.en.yml (Esperanto) * New translations en.json (Faroese) * New translations simple_form.en.yml (Faroese) * New translations en.json (Scots) * New translations simple_form.en.yml (Esperanto) * New translations doorkeeper.en.yml (Esperanto) * New translations en.json (Scots) * New translations en.yml (Korean) * New translations simple_form.en.yml (Korean) * New translations en.yml (Esperanto) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.json (Chinese Simplified) * New translations simple_form.en.yml (Chinese Simplified) * New translations doorkeeper.en.yml (Chinese Simplified) * New translations en.json (Lithuanian) * New translations en.yml (Galician) * New translations en.json (Icelandic) * New translations en.yml (Galician) * New translations en.json (Icelandic) * New translations en.yml (Thai) * New translations en.yml (Slovenian) * New translations en.yml (Lithuanian) * New translations en.yml (Macedonian) * New translations en.yml (Dutch) * New translations en.yml (Punjabi) * New translations en.yml (Polish) * New translations en.yml (Portuguese) * New translations en.yml (Russian) * New translations en.yml (Slovak) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Georgian) * New translations en.yml (Swedish) * New translations en.yml (Chinese Traditional) * New translations en.yml (Urdu (Pakistan)) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Persian) * New translations en.yml (Tamil) * New translations en.yml (Korean) * New translations en.yml (Japanese) * New translations en.yml (German) * New translations en.yml (Arabic) * New translations en.yml (Czech) * New translations en.yml (Chinese Simplified) * New translations en.yml (Ido) * New translations en.yml (Spanish) * New translations en.yml (Turkish) * New translations en.yml (Albanian) * New translations en.yml (Ukrainian) * New translations en.yml (Romanian) * New translations en.yml (French) * New translations en.yml (Afrikaans) * New translations en.yml (Bulgarian) * New translations en.yml (Italian) * New translations en.yml (Catalan) * New translations en.yml (Danish) * New translations en.yml (Frisian) * New translations en.yml (Basque) * New translations en.yml (Finnish) * New translations en.yml (Hebrew) * New translations en.yml (Hungarian) * New translations en.yml (Armenian) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Silesian) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Corsican) * New translations en.yml (Sardinian) * New translations en.yml (Sanskrit) * New translations en.yml (Taigi) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Asturian) * New translations en.yml (Burmese) * New translations en.yml (Igbo) * New translations en.yml (French, Quebec) * New translations en.json (Faroese) * New translations en.yml (Faroese) * New translations simple_form.en.yml (Faroese) * New translations en.yml (Occitan) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Bengali) * New translations en.yml (Telugu) * New translations en.yml (Marathi) * New translations en.yml (Croatian) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Kazakh) * New translations en.yml (Estonian) * New translations en.yml (Latvian) * New translations en.yml (Hindi) * New translations en.yml (English, United Kingdom) * New translations en.yml (Kannada) * New translations en.yml (Welsh) * New translations en.yml (Uyghur) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Tatar) * New translations en.yml (Malayalam) * New translations en.yml (Sinhala) * New translations en.yml (Cornish) * New translations en.yml (Thai) * New translations en.yml (Portuguese) * New translations en.yml (Georgian) * New translations en.yml (Korean) * New translations en.yml (Lithuanian) * New translations en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Polish) * New translations en.yml (Russian) * New translations en.yml (Italian) * New translations en.yml (Slovak) * New translations en.yml (Slovenian) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Swedish) * New translations en.yml (Chinese Traditional) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Japanese) * New translations en.yml (Armenian) * New translations en.json (Hebrew) * New translations en.yml (French) * New translations en.yml (German) * New translations en.yml (Czech) * New translations en.yml (Chinese Simplified) * New translations en.yml (Spanish) * New translations en.yml (Turkish) * New translations simple_form.en.yml (Czech) * New translations en.yml (Albanian) * New translations en.yml (Ukrainian) * New translations en.yml (Afrikaans) * New translations en.yml (Hungarian) * New translations en.yml (Arabic) * New translations en.yml (Bulgarian) * New translations en.yml (Catalan) * New translations en.yml (Danish) * New translations en.yml (Greek) * New translations en.yml (Basque) * New translations en.yml (Finnish) * New translations en.yml (Irish) * New translations en.yml (Hebrew) * New translations en.yml (Indonesian) * New translations en.yml (Ido) * New translations en.yml (Persian) * New translations simple_form.en.yml (Polish) * New translations en.yml (Breton) * New translations en.yml (Sinhala) * New translations en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Sinhala) * New translations simple_form.en.yml (Vietnamese) * New translations simple_form.en.yml (Romanian) * New translations simple_form.en.yml (French) * New translations simple_form.en.yml (Spanish) * New translations simple_form.en.yml (Afrikaans) * New translations simple_form.en.yml (Arabic) * New translations simple_form.en.yml (Bulgarian) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Kazakh) * New translations en.yml (Estonian) * New translations en.yml (Latvian) * New translations simple_form.en.yml (Catalan) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Malay) * New translations en.yml (Corsican) * New translations en.yml (Occitan) * New translations en.yml (Sardinian) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kabyle) * New translations en.yml (Sorani (Kurdish)) * New translations simple_form.en.yml (Bengali) * New translations simple_form.en.yml (Galician) * New translations simple_form.en.yml (Icelandic) * New translations simple_form.en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Indonesian) * New translations simple_form.en.yml (Persian) * New translations simple_form.en.yml (Tamil) * New translations simple_form.en.yml (Spanish, Argentina) * New translations simple_form.en.yml (Spanish, Mexico) * New translations simple_form.en.yml (Ukrainian) * New translations simple_form.en.yml (Croatian) * New translations simple_form.en.yml (Norwegian Nynorsk) * New translations simple_form.en.yml (Kazakh) * New translations simple_form.en.yml (Estonian) * New translations simple_form.en.yml (Latvian) * New translations simple_form.en.yml (English, United Kingdom) * New translations simple_form.en.yml (Chinese Traditional) * New translations simple_form.en.yml (Turkish) * New translations simple_form.en.yml (Georgian) * New translations simple_form.en.yml (Frisian) * New translations simple_form.en.yml (Basque) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Hebrew) * New translations simple_form.en.yml (Hungarian) * New translations simple_form.en.yml (Armenian) * New translations simple_form.en.yml (Italian) * New translations simple_form.en.yml (Japanese) * New translations simple_form.en.yml (Swedish) * New translations simple_form.en.yml (Portuguese) * New translations simple_form.en.yml (Slovak) * New translations simple_form.en.yml (Slovenian) * New translations simple_form.en.yml (Albanian) * New translations simple_form.en.yml (Serbian (Cyrillic)) * New translations en.yml (French, Quebec) * New translations en.json (Faroese) * New translations en.yml (Faroese) * New translations simple_form.en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Malayalam) * New translations simple_form.en.yml (Tatar) * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) * New translations simple_form.en.yml (Standard Moroccan Tamazight) * New translations simple_form.en.yml (Ido) * New translations simple_form.en.yml (Sardinian) * New translations simple_form.en.yml (Corsican) * New translations simple_form.en.yml (Sorani (Kurdish)) * New translations simple_form.en.yml (Serbian (Latin)) * New translations simple_form.en.yml (Occitan) * New translations simple_form.en.yml (Asturian) * New translations en.yml (Chinese Simplified) * New translations en.yml (Hebrew) * New translations en.yml (Korean) * New translations en.yml (Dutch) * New translations en.yml (Slovenian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Kurmanji (Kurdish)) * normalize Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-17Split off Dockerfile components for faster build times (#20933)Moritz Heiber
2022-11-17Remove use of DOMParser in front-end emoji rewriting code (#20758)Claire
* Add jstest for node ordering in emojify * Remove use of DOMParser in front-end emoji rewriting code
2022-11-17Fix style for hashes (#20518)Rose
* Fix style for hashes Make the style for hashes consistent. * New style More consistency
2022-11-17Support for import/export of instance-level domain blocks/allows for 4.x w/ ↵lenore gilbert
additional fixes (#20597) * Allow import/export of instance-level domain blocks/allows (#1754) * Allow import/export of instance-level domain blocks/allows. Fixes #15095 * Pacify circleci * Address simple code review feedback * Add headers to exported CSV * Extract common import/export functionality to AdminExportControllerConcern * Add additional fields to instance-blocked domain export * Address review feedback * Split instance domain block/allow import/export into separate pages/controllers * Address code review feedback * Pacify DeepSource * Work around Paperclip::HasAttachmentFile for Rails 6 * Fix deprecated API warning in export tests * Remove after_commit workaround (cherry picked from commit 94e98864e39c010635e839fea984f2b4893bef1a) * Add confirmation page when importing blocked domains (#1773) * Move glitch-soc-specific strings to glitch-soc-specific locale files * Add confirmation page when importing blocked domains (cherry picked from commit b91196f4b73fff91997b8077619ae25b6d04a59e) * Fix authorization check in domain blocks controller (cherry picked from commit 75279377583c6e2aa04cc8d7380c593979630b38) * Fix error strings for domain blocks and email-domain blocks Corrected issue with non-error message used for Mastodon:NotPermittedError in Domain Blocks Corrected issue Domain Blocks using the Email Domain Blocks message on ActionContoller::ParameterMissing Corrected issue with Email Domain Blocks using the not_permitted string from "custom emojii's" * Ran i18n-tasks normalize to address test failure * Removed unused admin.export_domain_blocks.not_permitted string Removing unused string as indicated by Check i18n * Fix tests (cherry picked from commit 9094c2f52c24e1c00b594e7c11cd00e4a07eb431) * Fix domain block export not exporting blocks with only media rejection (cherry picked from commit 26ff48ee48a5c03a2a4b0bd03fd322529e6bd960) * Fix various issues with domain block import - stop using Paperclip for processing domain allow/block imports - stop leaving temporary files - better error handling - assume CSV files are UTF-8-encoded (cherry picked from commit cad824d8f501b95377e4f0a957e5a00d517a1902) Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com> Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-17Remove last references to "silencing" in UI text (#20637)Ell Bradshaw
* Remove last references to "silencing" in en and en_GB locales * Remove stray the, rephrase a bit * Revert changes to generated files I assume these will get updated via Crowdin
2022-11-17Use buildx functions for faster build (#20692)Kohei Ota (inductor)
* Use buildx functions for faster build * move link * cannot use --link with --chown
2022-11-17Handle links with no href in VerifyLinkService (#20741)Joshua Wood
Before this change, the following error would cause VerifyAccountLinksWorker to fail: NoMethodError: undefined method `downcase' for nil:NilClass [PROJECT_ROOT]/app/services/verify_link_service.rb:31 :in `block in link_back_present?`
2022-11-17Fix invalid/empty RSS feed link on account pages (#20772)Claire
Fixes #20770
2022-11-17Make tag following idempotent (#20860)trwnh
2022-11-17Fix getting a single EmailDomainBlock (#20846)trwnh
2022-11-17Change automatic post deletion configuration to be accessible to redirected ↵Claire
users (#20774) Fixes #20550