Skip to content

Commit

Permalink
Goat/upstream (#11)
Browse files Browse the repository at this point in the history
* Fix casing and spacing of words (#20504)

* Fix saving server registration settings redirecting to branding settings (#20505)

* Allow unsetting x-amz-acl S3 Permission headers (#20510)

Some "S3 Compatible" storage providers (Cloudflare R2 is one such example) don't support setting ACLs on individual uploads with the `x-amz-acl` header, and instead just have a visibility for the whole bucket. To support uploads to such providers without getting unsupported errors back, lets use a black `S3_PERMISSION` env var to indicate that these headers shouldn't be sent.

This is tested as working with Cloudflare R2.

* New Crowdin updates (#20476)

* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations en.json (Japanese)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations en.yml (Norwegian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Latvian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Portuguese, Brazilian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Norwegian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Malayalam)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Thai)

* New translations devise.en.yml (Welsh)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Irish)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations simple_form.en.yml (Slovak)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Norwegian)

* New translations en.json (Finnish)

* New translations en.json (Norwegian)

* New translations simple_form.en.yml (Norwegian)

* New translations en.yml (Thai)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Arabic)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.yml (Greek)

* New translations en.yml (German)

* New translations en.yml (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.yml (Finnish)

* New translations en.yml (Basque)

* New translations en.yml (Frisian)

* New translations en.yml (Danish)

* New translations en.yml (Catalan)

* New translations en.yml (Bulgarian)

* New translations en.yml (Arabic)

* New translations en.yml (Afrikaans)

* New translations en.yml (French)

* New translations en.yml (Romanian)

* New translations en.yml (Spanish)

* New translations en.yml (Czech)

* New translations en.yml (Armenian)

* New translations en.yml (Urdu (Pakistan))

* New translations en.yml (Vietnamese)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Swedish)

* New translations en.yml (Serbian (Cyrillic))

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* 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 (Slovak)

* New translations en.yml (Japanese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Punjabi)

* New translations en.yml (Norwegian)

* New translations en.yml (Dutch)

* New translations en.yml (Macedonian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Korean)

* New translations en.yml (Georgian)

* New translations en.yml (Italian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Turkish)

* New translations en.yml (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Kannada)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations en.yml (Occitan)

* New translations en.yml (Serbian (Latin))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Corsican)

* New translations en.yml (Sinhala)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Burmese)

* New translations en.yml (Cornish)

* New translations en.yml (Breton)

* New translations en.yml (Bengali)

* New translations en.yml (Hindi)

* 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 (Malay)

* New translations en.yml (Malayalam)

* New translations en.yml (Telugu)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

* New translations en.yml (Chinese Traditional, Hong Kong)

* New translations en.yml (Tatar)

* New translations en.yml (Igbo)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Afrikaans)

* New translations en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Catalan)

* New translations en.yml (Greek)

* New translations en.yml (Italian)

* New translations en.yml (Slovenian)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Basque)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Icelandic)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (French)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Esperanto)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Hebrew)

* New translations en.yml (Norwegian)

* New translations en.yml (German)

* New translations en.json (Spanish)

* New translations en.yml (Finnish)

* New translations en.json (Norwegian)

* New translations en.yml (Latvian)

* New translations en.yml (Esperanto)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Esperanto)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

* Copied Spaces support from packer .rake (#20573)

* Fix announcement dates not being validated client-side (#20577)

* Fix public/local timeline posts not being properly filtered (#20567)

* Fix streaming server using wrong property name for matching filters

Late in the PR, the `filter_results` property has been renamed to `filtered`,
but the change has not been reflected in the streaming server code.

* Fix filter_action attribute being an integer instead of a string

* Clean up GitHub sourced gem entry (#20542)

* Update fix-duplicates (#20502)

Fixes #19133

* Test blank account field verifiability (#20458)

* Test blank account field verifiability

This change tests the need for #20428, which ensures that we guard against a situation in which `at_xpath` returns `nil`.

* Test verifiability of blank fields for remote account profiles

This adds a counterpart test for remote account profiles' fields' verifiability when those fields are blank. I previously added the same test for local accounts.

* Stick batch table toolbar to the top (#20442)

Fixes #20441

* Helm: support statsd publishing (#20455)

* Allow statsd publishing from Helm

* Apply suggestions from code review

Co-authored-by: Erik Sundell <erik.i.sundell@gmail.com>

Co-authored-by: Erik Sundell <erik.i.sundell@gmail.com>

* Add the option to configure external postgresql port (#20370)

While the normal assumption of port `5432` for a postgresql server is pretty reliable I found that DigitalOcean puts them on a somewhat random port. This adds the ability to specify the port in the helm chart.

* Change in-app links to keep you in-app (#20540)

* Change in-app links to keep you in-app

* refactor Permalink into Link

* rewrite link hrefs in status content

* please linter

* please linter again

* helm: Add helm chart tests (#20394)

* helm: Fix consistent list indentation

* helm: Add helm lint and helm template tests

* helm: Add helm template --validate test

* helm: Add helm install test

* Fix icons having an image role (#20600)

* Fix wrong cut-off point for "Read more" in web UI (#20599)

* Add `Cache-Control` header to openstack-stored files (#20610)

When storing files in S3, paperclip is configured with a Cache-Control header
indicating the file is immutable, however no such header was added when using
OpenStack storage.

Luckily Paperclip's fog integration makes this trivial, with a simple
`fog_file` `Cache-Control` default doing the trick.

* Support UTF-8 Characters in Domains During CSV Import (#20592)

* Support UTF-8 Characters in Domains During Import

* Update Changelong

* Fix dropdown menu on profiles not being accessible on narrow screens in web UI (#20620)

* Fix rules with same priority being sorted non-deterministically (#20623)

* Fix `role_ids` not accepting arrays in admin API (#20625)

Fix #19157

* Fix image type not being set after conversion for convertible image types (#20624)

* Fix error when passing unknown filter param in REST API (#20626)

Fix #19156

* Fix style of username in navigation bar above compose form in web UI (#20628)

Regression from #20540

* Fix error when invalid domain name is submitted (#19474)

Fix #19175

* Update AUTHORS.md (#20630)

* Fix index name in fix-duplicates task (#20632)

* Move V2 Filter methods under /api/v2 prefix (#20622)

* Move V2 Filter methods under /api/v2 prefix

* move over the tests too

* Bump version to 4.0.0rc4 (#20634)

* [Glitch] Stick batch table toolbar to the top

Port e62b514e958ca2bfc08944b2368c6d41417f9e8a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Fix dropdown menu on profiles not being accessible on narrow screens in web UI

Port 6da9df774ea9973124fe7e2f5a9dd0862a22acd8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Move V2 Filter methods under /api/v2 prefix

Port b59ce0a60ff4f90bb16a8c3338ad37218af052b8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* Fix media metadata being only editable once (#20665)

* [Glitch] Fix media metadata being only editable once

Port 2d54986a03675dbad940948177037ce2f12d11b9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* Fix emoji substitution not applying only to text nodes in Web UI (#20640)

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* Fix emoji substitution not applying only to text nodes in backend code (#20641)

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* Fix rate limiting for paths with formats (#20675)

* Bump version to 4.0.0 (#20636)

* [Glitch] Fix emoji substitution not applying only to text nodes in Web UI

Port 625e0869961af9fe1518c5e127d0ee6f8fb6a817 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* Fix nodes order being sometimes mangled when rewriting emoji (#20677)

* Fix front-end emoji tests

* Fix nodes order being sometimes mangled when rewriting emoji

* Bump version to 4.0.1 (#20696)

* [Glitch] Fix nodes order being sometimes mangled when rewriting emoji

Port ccbca50a2502108884f7f3c9ea24df8b2129731d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* Fix infinite loop when system emoji font is enabled (#1931)

Fixes #1930

* Fix filters from other users being used in the streaming service (#20719)

* Fix wrong color on mentions hidden behind content warning in web UI (#20724)

* Bump nokogiri from 1.13.8 to 1.13.9 (#20041)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.8 to 1.13.9.
- [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.13.8...v1.13.9)

---
updated-dependencies:
- dependency-name: nokogiri
  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>

* Use "unsafe-wasm-eval" instead of "unsafe-eval" in script-src CSP (#20606)

* Add "unsafe-eval" to script-src CSP

* Use 'unsafe-wasm-eval' instead of 'unsafe-eval'

* Fix wrong directive `unsafe-wasm-eval` to `wasm-unsafe-eval` (#20729)

* Bump version to 4.0.2 (#20725)

* New Crowdin updates (#20580)

* New translations en.json (Catalan)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.yml (Spanish)

* New translations en.yml (Ukrainian)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Hungarian)

* New translations en.json (Slovak)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Irish)

* New translations en.yml (Norwegian)

* New translations en.yml (German)

* New translations en.json (Romanian)

* New translations en.yml (Danish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.yml (Danish)

* New translations en.json (Catalan)

* New translations en.yml (Norwegian)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Norwegian)

* New translations en.json (Catalan)

* New translations en.json (Portuguese, Brazilian)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations en.yml (Latvian)

* New translations en.json (Irish)

* New translations en.json (Swedish)

* New translations en.yml (Galician)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.json (Kabyle)

* New translations en.yml (Welsh)

* New translations en.json (Breton)

* New translations en.json (Kabyle)

* New translations en.yml (Kabyle)

* New translations simple_form.en.yml (Kabyle)

* New translations en.json (Malay)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Malay)

* New translations activerecord.en.yml (Malay)

* New translations devise.en.yml (Malay)

* New translations doorkeeper.en.yml (Malay)

* New translations en.json (Malay)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Malay)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Malay)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Malay)

* New translations en.yml (Dutch)

* New translations en.json (Malay)

* New translations en.yml (Malay)

* New translations en.json (English, United Kingdom)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Malay)

* New translations devise.en.yml (Welsh)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Malay)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations devise.en.yml (Malay)

* New translations en.json (Vietnamese)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Malay)

* New translations devise.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Norwegian)

* New translations devise.en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Norwegian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Esperanto)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Norwegian)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Norwegian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations en.json (Asturian)

* New translations en.json (Asturian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

* Bump promise.prototype.finally from 3.1.3 to 3.1.4 (#20050)

Bumps [promise.prototype.finally](https://github.com/es-shims/Promise.prototype.finally) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/es-shims/Promise.prototype.finally/releases)
- [Changelog](https://github.com/es-shims/Promise.prototype.finally/blob/main/CHANGELOG.md)
- [Commits](https://github.com/es-shims/Promise.prototype.finally/compare/v3.1.3...v3.1.4)

---
updated-dependencies:
- dependency-name: promise.prototype.finally
  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>

* Bump reselect from 4.1.6 to 4.1.7 (#20052)

Bumps [reselect](https://github.com/reduxjs/reselect) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/reduxjs/reselect/releases)
- [Changelog](https://github.com/reduxjs/reselect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reduxjs/reselect/compare/v4.1.6...v4.1.7)

---
updated-dependencies:
- dependency-name: reselect
  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>

* Bump memory_profiler from 1.0.0 to 1.0.1 (#20054)

Bumps [memory_profiler](https://github.com/SamSaffron/memory_profiler) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/SamSaffron/memory_profiler/releases)
- [Changelog](https://github.com/SamSaffron/memory_profiler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/SamSaffron/memory_profiler/compare/v1.0.0...v1.0.1)

---
updated-dependencies:
- dependency-name: memory_profiler
  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>

* Bump tzinfo-data from 1.2022.4 to 1.2022.6 (#20056)

Bumps [tzinfo-data](https://github.com/tzinfo/tzinfo-data) from 1.2022.4 to 1.2022.6.
- [Release notes](https://github.com/tzinfo/tzinfo-data/releases)
- [Commits](https://github.com/tzinfo/tzinfo-data/compare/v1.2022.4...v1.2022.6)

---
updated-dependencies:
- dependency-name: tzinfo-data
  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>

* Bump json-ld-preloaded from 3.2.0 to 3.2.2 (#20058)

Bumps [json-ld-preloaded](https://github.com/ruby-rdf/json-ld-preloaded) from 3.2.0 to 3.2.2.
- [Release notes](https://github.com/ruby-rdf/json-ld-preloaded/releases)
- [Commits](https://github.com/ruby-rdf/json-ld-preloaded/compare/3.2.0...3.2.2)

---
updated-dependencies:
- dependency-name: json-ld-preloaded
  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>

* Bump loader-utils from 1.4.0 to 1.4.1 (#20085)

Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

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>

* Bump redux-thunk from 2.4.1 to 2.4.2 (#20060)

Bumps [redux-thunk](https://github.com/reduxjs/redux-thunk) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/reduxjs/redux-thunk/releases)
- [Commits](https://github.com/reduxjs/redux-thunk/compare/v2.4.1...v2.4.2)

---
updated-dependencies:
- dependency-name: redux-thunk
  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>

* Bump yargs from 17.6.0 to 17.6.2 (#20063)

Bumps [yargs](https://github.com/yargs/yargs) from 17.6.0 to 17.6.2.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v17.6.0...v17.6.2)

---
updated-dependencies:
- dependency-name: yargs
  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>

* Bump postcss from 8.4.18 to 8.4.19 (#20684)

Bumps [postcss](https://github.com/postcss/postcss) from 8.4.18 to 8.4.19.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.18...8.4.19)

---
updated-dependencies:
- dependency-name: postcss
  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>

* Bump array-includes from 3.1.5 to 3.1.6 (#20680)

Bumps [array-includes](https://github.com/es-shims/array-includes) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/es-shims/array-includes/releases)
- [Changelog](https://github.com/es-shims/array-includes/blob/main/CHANGELOG.md)
- [Commits](https://github.com/es-shims/array-includes/compare/v3.1.5...v3.1.6)

---
updated-dependencies:
- dependency-name: array-includes
  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>

* Bump blurhash from 2.0.3 to 2.0.4 (#19601)

Bumps [blurhash](https://github.com/woltapp/blurhash) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/woltapp/blurhash/releases)
- [Commits](https://github.com/woltapp/blurhash/commits)

---
updated-dependencies:
- dependency-name: blurhash
  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>

* Bump jsdom from 20.0.1 to 20.0.2 (#19603)

Bumps [jsdom](https://github.com/jsdom/jsdom) from 20.0.1 to 20.0.2.
- [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.1...20.0.2)

---
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>

* Bump pg from 1.4.3 to 1.4.4 (#19597)

Bumps [pg](https://github.com/ged/ruby-pg) from 1.4.3 to 1.4.4.
- [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.3...v1.4.4)

---
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>

* Bump object.values from 1.1.5 to 1.1.6 (#20047)

Bumps [object.values](https://github.com/es-shims/Object.values) from 1.1.5 to 1.1.6.
- [Release notes](https://github.com/es-shims/Object.values/releases)
- [Changelog](https://github.com/es-shims/Object.values/blob/main/CHANGELOG.md)
- [Commits](https://github.com/es-shims/Object.values/compare/v1.1.5...v1.1.6)

---
updated-dependencies:
- dependency-name: object.values
  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>

* Bump oj from 3.13.21 to 3.13.23 (#20046)

Bumps [oj](https://github.com/ohler55/oj) from 3.13.21 to 3.13.23.
- [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.13.21...v3.13.23)

---
updated-dependencies:
- dependency-name: oj
  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>

* Bump sidekiq from 6.5.7 to 6.5.8 (#20035)

Bumps [sidekiq](https://github.com/mperham/sidekiq) from 6.5.7 to 6.5.8.
- [Release notes](https://github.com/mperham/sidekiq/releases)
- [Changelog](https://github.com/mperham/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/mperham/sidekiq/compare/v6.5.7...v6.5.8)

---
updated-dependencies:
- dependency-name: sidekiq
  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>

* Bump loader-utils from 1.4.1 to 1.4.2 (#20826)

Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

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>

* Add 'private' to Cache-Control, match Rails expectations (#20608)

Several controlers set quite intricate Cache-Control headers in order to
hopefully not be cached by any intermediate proxies or local caches. Unfortunately,
these headers are processed by ActionDispatch::HTTP::Cache in a way that squashes
and discards any values set alongside no-store other than private:
https://github.com/rails/rails/blob/8015c2c2cf5c8718449677570f372ceb01318a32/actionpack/lib/action_dispatch/http/cache.rb#L207-L209

We want to preserve no-store on these responses, but we might as well remove
parts that are going to be dropped anyway. As many of the endpoints in these
controllers are private to a particular user, we should also add "private",
which will be preserved alongside no-store.

* Modify image build workflow for Glitch workflows (#1942)

* Bump Helm app version to 4.0.2 (#20697)

* Bump Helm app version to 4.0.1

* Bump Helm app version to 4.0.1

* Add form-action CSP directive (#1948)

* Add aria-label and title attributes to local settings navigation items (#1949)

* Fix safari explore disappearing tabs (#20917)

* fix disappearing Explore tabs on Safari

* fix lint

Co-authored-by: nyura <nyura@hidden.com>

* Add missing admin scopes (fix #20892) (#20918)

* Add maskable icon support for Android (#20904)

* Add maskable icon support for Android

* Update manifest_serializer.rb

* Fix linting issue

* Change batch account suspension to create a strike (#20897)

* Bump Helm chart version to account for mastodon 4 (#20886)

* Make the button that expands the publish form differentiable from the button that publishes a post (#20864)

* Fix pagination of followed tags (#20861)

* Fix missing pagination headers on followed tags

* Fix typo

* Fix misleading wording about waitlists (#20850)

* Add form-action CSP directive (#20781)

* Change automatic post deletion configuration to be accessible to redirected users (#20774)

Fixes #20550

* Fix getting a single EmailDomainBlock (#20846)

* Make tag following idempotent (#20860)

* Fix invalid/empty RSS feed link on account pages (#20772)

Fixes #20770

* Handle links with no href in VerifyLinkService (#20741)

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?`

* Use buildx functions for faster build (#20692)

* Use buildx functions for faster build

* move link

* cannot use --link with --chown

* Remove last references to "silencing" in UI text (#20637)

* 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

* Support for import/export of instance-level domain blocks/allows for 4.x w/ 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>

* Fix style for hashes (#20518)

* Fix style for hashes

Make the style for hashes consistent.

* New style

More consistency

* Remove use of DOMParser in front-end emoji rewriting code (#20758)

* Add jstest for node ordering in emojify

* Remove use of DOMParser in front-end emoji rewriting code

* Fix various issues with domain block import (#1944)

- stop using Paperclip for processing domain allow/block imports
- stop leaving temporary files
- better error handling
- assume CSV files are UTF-8-encoded

* Remove glitch-soc-specific translations of upstreamed feature (domain block import)

* Split off Dockerfile components for faster build times (#20933)

* [Glitch] Fix safari explore disappearing tabs

Port aaca78da78909dd5a23df3e70de07b838eaf4a0e to glitch-soc

Co-authored-by: nyura <nyura@hidden.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Make the button that expands the publish form differentiable from the button that publishes a post

Port 654d348aac804b3f5f96f21399118f625121501f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Remove use of DOMParser in front-end emoji rewriting code

Port 585cc1a604f6c445436b5bea23c1eb2f899300c3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* New Crowdin updates (#20759)

* 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>

* Remove blank line from start of Dockerfile breaking syntax declaration (#20948)

* Fix OAuth flow being broken by recent CSP change (#20958)

* Fix form-action CSP directive for external login (#20962)

* baps

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: helloworldstack <66512512+helloworldstack@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: David Hewitt <davidmhewitt@users.noreply.github.com>
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
Co-authored-by: Arthur Isac <94634250+v-aisac@users.noreply.github.com>
Co-authored-by: Nicholas La Roux <larouxn@gmail.com>
Co-authored-by: Emily Strickland <github@emily.st>
Co-authored-by: Samuel Kaiser <sk22@mailbox.org>
Co-authored-by: Alex Nordlund <deep.alexander@gmail.com>
Co-authored-by: Erik Sundell <erik.i.sundell@gmail.com>
Co-authored-by: Cees-Jan Kiewiet <ceesjank@gmail.com>
Co-authored-by: trwnh <a@trwnh.com>
Co-authored-by: Matt Corallo <649246+TheBlueMatt@users.noreply.github.com>
Co-authored-by: Hampton Lintorn-Catlin <hcatlin@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: prplecake <me@prplecake.com>
Co-authored-by: Daniel Axtens <daniel@axtens.net>
Co-authored-by: Effy Elden <github@effy.is>
Co-authored-by: Effy Elden <effy@effy.space>
Co-authored-by: nyura123dev <58617294+nyura123dev@users.noreply.github.com>
Co-authored-by: nyura <nyura@hidden.com>
Co-authored-by: Chris Johnson <49479599+workeffortwaste@users.noreply.github.com>
Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
Co-authored-by: Joshua Wood <josh@joshuawood.net>
Co-authored-by: Kohei Ota (inductor) <kela@inductor.me>
Co-authored-by: Ell Bradshaw <cincodenada@gmail.com>
Co-authored-by: lenore gilbert <lenore@lenoregilbert.net>
Co-authored-by: Rose <83477269+AtariDreams@users.noreply.github.com>
Co-authored-by: Moritz Heiber <hello@heiber.im>
  • Loading branch information
1 parent 06f43b1 commit 95d3249
Show file tree
Hide file tree
Showing 290 changed files with 10,627 additions and 2,380 deletions.
14 changes: 5 additions & 9 deletions .github/workflows/build-image.yml
Expand Up @@ -4,8 +4,6 @@ on:
push:
branches:
- 'main'
tags:
- '*'
pull_request:
paths:
- .github/workflows/build-image.yml
Expand All @@ -31,18 +29,16 @@ jobs:
id: meta
with:
images: ghcr.io/${{ github.repository_owner }}/mastodon
flavor: |
latest=auto
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=edge,branch=main
type=pep440,pattern={{raw}}
type=pep440,pattern=v{{major}}.{{minor}}
type=ref,event=pr
type=sha,prefix=,format=long
- uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/mastodon:edge
cache-to: type=inline
cache-from: type=gha
cache-to: type=gha,mode=max
4 changes: 4 additions & 0 deletions .rubocop.yml
Expand Up @@ -243,6 +243,10 @@ Style/HashTransformKeys:
Style/HashTransformValues:
Enabled: false

Style/HashSyntax:
Enabled: true
EnforcedStyle: ruby19_no_mixed_keys

Style/IfUnlessModifier:
Enabled: false

Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Expand Up @@ -3,6 +3,13 @@ Changelog

All notable changes to this project will be documented in this file.

## [4.0.2] - 2022-11-15
### Fixed

- Fix wrong color on mentions hidden behind content warning in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20724))
- Fix filters from other users being used in the streaming service ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20719))
- Fix `unsafe-eval` being used when `wasm-unsafe-eval` is enough in Content Security Policy ([Gargron](https://github.com/mastodon/mastodon/pull/20729), [prplecake](https://github.com/mastodon/mastodon/pull/20606))

## [4.0.1] - 2022-11-14
### Fixed

Expand Down Expand Up @@ -2054,7 +2061,7 @@ Some of the features in this release have been funded through the [NGI0 Discover

### Removed

- Remove zopfli compression to speed up Webpack from 6min to 1min ([nolanlawson](https://github.com/mastodon/mastodon/pull/10288))
- Remove zopfli compression to speed up Webpack from 6min to 1min ([nolanlawson](https://github.com/mastodon/mastodon/pull/10288))>>>
- Remove stats.json generation to speed up Webpack ([nolanlawson](https://github.com/mastodon/mastodon/pull/10290))

### Fixed
Expand Down
178 changes: 76 additions & 102 deletions Dockerfile
@@ -1,121 +1,95 @@
FROM ubuntu:20.04 as build-dep

# Use bash for the shell
SHELL ["/bin/bash", "-c"]
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

# Install Node v16 (LTS)
ENV NODE_VER="16.17.1"
RUN ARCH= && \
dpkgArch="$(dpkg --print-architecture)" && \
case "${dpkgArch##*-}" in \
amd64) ARCH='x64';; \
ppc64el) ARCH='ppc64le';; \
s390x) ARCH='s390x';; \
arm64) ARCH='arm64';; \
armhf) ARCH='armv7l';; \
i386) ARCH='x86';; \
*) echo "unsupported architecture"; exit 1 ;; \
esac && \
echo "Etc/UTC" > /etc/localtime && \
apt-get update && \
apt-get install -y --no-install-recommends ca-certificates wget python3 apt-utils && \
cd ~ && \
wget -q https://nodejs.org/download/release/v$NODE_VER/node-v$NODE_VER-linux-$ARCH.tar.gz && \
tar xf node-v$NODE_VER-linux-$ARCH.tar.gz && \
rm node-v$NODE_VER-linux-$ARCH.tar.gz && \
mv node-v$NODE_VER-linux-$ARCH /opt/node

# Install Ruby 3.0
ENV RUBY_VER="3.0.4"
RUN apt-get update && \
apt-get install -y --no-install-recommends build-essential \
bison libyaml-dev libgdbm-dev libreadline-dev libjemalloc-dev \
libncurses5-dev libffi-dev zlib1g-dev libssl-dev && \
cd ~ && \
wget https://cache.ruby-lang.org/pub/ruby/${RUBY_VER%.*}/ruby-$RUBY_VER.tar.gz && \
tar xf ruby-$RUBY_VER.tar.gz && \
cd ruby-$RUBY_VER && \
./configure --prefix=/opt/ruby \
--with-jemalloc \
--with-shared \
--disable-install-doc && \
make -j"$(nproc)" > /dev/null && \
make install && \
rm -rf ../ruby-$RUBY_VER.tar.gz ../ruby-$RUBY_VER

ENV PATH="${PATH}:/opt/ruby/bin:/opt/node/bin"

RUN npm install -g npm@latest && \
npm install -g yarn && \
gem install bundler && \
apt-get update && \
apt-get install -y --no-install-recommends git libicu-dev libidn11-dev \
libpq-dev shared-mime-info
# syntax=docker/dockerfile:1.4
# This needs to be bullseye-slim because the Ruby image is built on bullseye-slim
ARG NODE_VERSION="16.17.1-bullseye-slim"

COPY Gemfile* package.json yarn.lock /opt/mastodon/
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.0.4-slim as ruby
FROM node:${NODE_VERSION} as build

COPY --link --from=ruby /opt/ruby /opt/ruby

RUN cd /opt/mastodon && \
bundle config set --local deployment 'true' && \
bundle config set --local without 'development test' && \
bundle config set silence_root_warning true && \
bundle install -j"$(nproc)" && \
yarn install --pure-lockfile
ENV DEBIAN_FRONTEND="noninteractive" \
PATH="${PATH}:/opt/ruby/bin"

FROM ubuntu:20.04
SHELL ["/bin/bash", "-o", "pipefail", "-c"]

# Copy over all the langs needed for runtime
COPY --from=build-dep /opt/node /opt/node
COPY --from=build-dep /opt/ruby /opt/ruby
WORKDIR /opt/mastodon
COPY Gemfile* package.json yarn.lock /opt/mastodon/

# Add more PATHs to the PATH
ENV PATH="${PATH}:/opt/ruby/bin:/opt/node/bin:/opt/mastodon/bin"
RUN apt update && \
apt-get install -y --no-install-recommends build-essential \
ca-certificates \
git \
libicu-dev \
libidn11-dev \
libpq-dev \
libjemalloc-dev \
zlib1g-dev \
libgdbm-dev \
libgmp-dev \
libssl-dev \
libyaml-0-2 \
ca-certificates \
libreadline8 \
python3 \
shared-mime-info && \
bundle config set --local deployment 'true' && \
bundle config set --local without 'development test' && \
bundle config set silence_root_warning true && \
bundle install -j"$(nproc)" && \
yarn install --pure-lockfile

FROM node:${NODE_VERSION}

ARG UID="991"
ARG GID="991"

COPY --link --from=ruby /opt/ruby /opt/ruby

# Create the mastodon user
ARG UID=991
ARG GID=991
SHELL ["/bin/bash", "-o", "pipefail", "-c"]

ENV DEBIAN_FRONTEND="noninteractive" \
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin"

RUN apt-get update && \
echo "Etc/UTC" > /etc/localtime && \
apt-get install -y --no-install-recommends whois wget && \
addgroup --gid $GID mastodon && \
useradd -m -u $UID -g $GID -d /opt/mastodon mastodon && \
echo "mastodon:$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 24 | mkpasswd -s -m sha-256)" | chpasswd && \
rm -rf /var/lib/apt/lists/*

# Install mastodon runtime deps
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get update && \
apt-get -y --no-install-recommends install \
libssl1.1 libpq5 imagemagick ffmpeg libjemalloc2 \
libicu66 libidn11 libyaml-0-2 \
file ca-certificates tzdata libreadline8 gcc tini apt-utils && \
ln -s /opt/mastodon /mastodon && \
gem install bundler && \
rm -rf /var/cache && \
rm -rf /var/lib/apt/lists/*

# Copy over mastodon source, and dependencies from building, and set permissions
COPY --chown=mastodon:mastodon . /opt/mastodon
COPY --from=build-dep --chown=mastodon:mastodon /opt/mastodon /opt/mastodon
echo "Etc/UTC" > /etc/localtime && \
groupadd -g "${GID}" mastodon && \
useradd -u "$UID" -g "${GID}" -m -d /opt/mastodon mastodon && \
apt-get -y --no-install-recommends install whois \
wget \
libssl1.1 \
libpq5 \
imagemagick \
ffmpeg \
libjemalloc2 \
libicu67 \
libidn11 \
libyaml-0-2 \
file \
ca-certificates \
tzdata \
libreadline8 \
tini && \
ln -s /opt/mastodon /mastodon

# Note: no, cleaning here since Debian does this automatically
# See the file /etc/apt/apt.conf.d/docker-clean within the Docker image's filesystem

# Run mastodon services in prod mode
ENV RAILS_ENV="production"
ENV NODE_ENV="production"
COPY --chown=mastodon:mastodon . /opt/mastodon
COPY --chown=mastodon:mastodon --from=build /opt/mastodon /opt/mastodon

# Tell rails to serve static files
ENV RAILS_SERVE_STATIC_FILES="true"
ENV BIND="0.0.0.0"
ENV RAILS_ENV="production" \
NODE_ENV="production" \
RAILS_SERVE_STATIC_FILES="true" \
BIND="0.0.0.0"

# Set the run user
USER mastodon
WORKDIR /opt/mastodon

# Precompile assets
RUN cd ~ && \
OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder rails assets:precompile && \
yarn cache clean
RUN OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder rails assets:precompile && \
yarn cache clean

# Set the work dir and the container entry point
WORKDIR /opt/mastodon
ENTRYPOINT ["/usr/bin/tini", "--"]
EXPOSE 3000 4000
16 changes: 8 additions & 8 deletions Gemfile.lock
Expand Up @@ -343,7 +343,7 @@ GEM
multi_json (~> 1.15)
rack (~> 2.2)
rdf (~> 3.2, >= 3.2.9)
json-ld-preloaded (3.2.0)
json-ld-preloaded (3.2.2)
json-ld (~> 3.2)
rdf (~> 3.2)
jsonapi-renderer (0.2.2)
Expand Down Expand Up @@ -395,7 +395,7 @@ GEM
mario-redis-lock (1.2.1)
redis (>= 3.0.5)
matrix (0.4.2)
memory_profiler (1.0.0)
memory_profiler (1.0.1)
method_source (1.0.0)
microformats (4.4.1)
json (~> 2.2)
Expand All @@ -414,15 +414,15 @@ GEM
net-ssh (>= 2.6.5, < 8.0.0)
net-ssh (7.0.1)
nio4r (2.5.8)
nokogiri (1.13.8)
nokogiri (1.13.9)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
nsa (0.2.8)
activesupport (>= 4.2, < 7)
concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.13.21)
oj (3.13.23)
omniauth (1.9.2)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
Expand Down Expand Up @@ -457,7 +457,7 @@ GEM
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
pg (1.4.3)
pg (1.4.4)
pghero (2.8.3)
activerecord (>= 5)
pkg-config (1.4.9)
Expand Down Expand Up @@ -611,8 +611,8 @@ GEM
activerecord (>= 4.0.0)
railties (>= 4.0.0)
semantic_range (3.0.0)
sidekiq (6.5.7)
connection_pool (>= 2.2.5)
sidekiq (6.5.8)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
sidekiq-bulk (0.2.0)
Expand Down Expand Up @@ -684,7 +684,7 @@ GEM
unf (~> 0.1.0)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2022.4)
tzinfo-data (1.2022.6)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
Expand Down
2 changes: 2 additions & 0 deletions app/controllers/accounts_controller.rb
Expand Up @@ -17,6 +17,8 @@ def show
respond_to do |format|
format.html do
expires_in 0, public: true unless user_signed_in?

@rss_url = rss_url
end

format.rss do
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/admin/domain_blocks_controller.rb
Expand Up @@ -9,9 +9,9 @@ def batch
@form = Form::DomainBlockBatch.new(form_domain_block_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save
rescue ActionController::ParameterMissing
flash[:alert] = I18n.t('admin.email_domain_blocks.no_domain_block_selected')
flash[:alert] = I18n.t('admin.domain_blocks.no_domain_block_selected')
rescue Mastodon::NotPermittedError
flash[:alert] = I18n.t('admin.domain_blocks.created_msg')
flash[:alert] = I18n.t('admin.domain_blocks.not_permitted')
else
redirect_to admin_instances_path(limited: '1'), notice: I18n.t('admin.domain_blocks.created_msg')
end
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/admin/email_domain_blocks_controller.rb
Expand Up @@ -19,7 +19,7 @@ def batch
rescue ActionController::ParameterMissing
flash[:alert] = I18n.t('admin.email_domain_blocks.no_email_domain_block_selected')
rescue Mastodon::NotPermittedError
flash[:alert] = I18n.t('admin.custom_emojis.not_permitted')
flash[:alert] = I18n.t('admin.email_domain_blocks.not_permitted')
ensure
redirect_to admin_email_domain_blocks_path
end
Expand Down
6 changes: 3 additions & 3 deletions app/controllers/admin/export_domain_allows_controller.rb
Expand Up @@ -8,8 +8,6 @@ class ExportDomainAllowsController < BaseController

before_action :set_dummy_import!, only: [:new]

ROWS_PROCESSING_LIMIT = 20_000

def new
authorize :domain_allow, :create?
end
Expand All @@ -23,9 +21,11 @@ def import
authorize :domain_allow, :create?
begin
@import = Admin::Import.new(import_params)
return render :new unless @import.validate

parse_import_data!(export_headers)

@data.take(ROWS_PROCESSING_LIMIT).each do |row|
@data.take(Admin::Import::ROWS_PROCESSING_LIMIT).each do |row|
domain = row['#domain'].strip
next if DomainAllow.allowed?(domain)

Expand Down

0 comments on commit 95d3249

Please sign in to comment.