merge in mastodon 4.0.2+glitch #41

Merged
ariadne merged 345 commits from merge/glitch-4.0.2 into main 2022-12-28 22:38:25 +00:00
There is no content yet.
ariadne added 344 commits 2022-12-28 22:25:23 +00:00
b59683c156
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>
b46b7c3d5e
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'
a1738f8991
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>
66a22ab391
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>
3b82d1ef68
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>
61264e52cc
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>
c76f29ae45
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>
fc4452104c
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>
4ef4db2a5a
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>
3301aadba8
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>
9f95c419d2
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>
dba1645bf0
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>
ca6106603b
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>
dd360e653e
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>
acbf4d0dfe
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>
f32c2de6af
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>
dde60e2634
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>
575bf3fa20
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>
f7d261cac7
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>
ac7a29f068
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>
4d85c27d1a
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:
8015c2c2cf/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.
1901829f9a Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `config/initializers/content_security_policy.rb`:
  Our config file is pretty different from upstream.
  Upstream changed CSP directive `script-src` to include
  `wasm-unsafe-eval` instead of `unsafe-eval`, which we
  did not include.
  Added `wasm-unsafe-eval` to `script-src` to fix
  execution of the OCR web worker.
- `package.json`:
  Upstream updated a dependency (`array-includes`) textually
  adjacent to a glitch-soc-only dependency (`atrament`).
  Updated `array-includes` as upstream did.
f890fdca41
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
aaca78da78
Fix safari explore disappearing tabs (#20917)
* fix disappearing Explore tabs on Safari

* fix lint

Co-authored-by: nyura <nyura@hidden.com>
413481f953
Add maskable icon support for Android (#20904)
* Add maskable icon support for Android

* Update manifest_serializer.rb

* Fix linting issue
e1f819fd78
Fix pagination of followed tags (#20861)
* Fix missing pagination headers on followed tags

* Fix typo
daf6f3453e
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?`
92734e3df1
Use buildx functions for faster build (#20692)
* Use buildx functions for faster build

* move link

* cannot use --link with --chown
e7deea62d1
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
c373148b3d
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 94e98864e3)

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

* Fix authorization check in domain blocks controller

(cherry picked from commit 7527937758)

* 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 9094c2f52c)

* Fix domain block export not exporting blocks with only media rejection

(cherry picked from commit 26ff48ee48)

* 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>
4f15fd0ba1
Fix style for hashes (#20518)
* Fix style for hashes

Make the style for hashes consistent.

* New style

More consistency
585cc1a604
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
ab7d99e035
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
aec61a703f Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.github/workflows/build-image.yml`:
  Upstream changed how docker images were built, including how
  they were cached.
  I don't know much about it, so applied upstream's changes.
- `app/controllers/admin/domain_blocks_controller.rb`:
  The feature, that was in glitch-soc, got backported upstream.
  It also had a few fixes upstream, so those have been ported!
- `app/javascript/packs/admin.js`:
  Glitch-soc changes have been backported upstream. As a result,
  some code from `app/javascript/core/admin.js` got added upstream.
  Kept our version since our shared Javascript already has that feature.
- `app/models/user.rb`:
  Upstream added something to distinguish unusable and unusable-because-moved
  accounts, while glitch-soc considers moved accounts usable.
  Took upstream's code for `functional_or_moved?` and made `functional?`
  call it.
- `app/views/statuses/_simple_status.html.haml`:
  Upstream cleaned up code style a bit, on a line that we had custom changes
  for.
  Applied upstream's change while keeping our change.
- `config/initializers/content_security_policy.rb`:
  Upstream adopted one CSP directive we already had.
  The conflict is because of our files being structurally different, but the
  change itself was already part of glitch-soc.
  Kept our version.
87929ad866 [Glitch] Fix safari explore disappearing tabs
Port aaca78da78 to glitch-soc

Co-authored-by: nyura <nyura@hidden.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
c22f3a87a3 [Glitch] Remove use of DOMParser in front-end emoji rewriting code
Port 585cc1a604 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
0a78631e86
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>
69378eac99
Don't allow URLs that contain non-normalized paths to be verified (#20999)
* 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
f343ed42ff
Add missing procps package to Dockerfile (#21028)
The new Debian-Base does not come with this by default, making the ps based health-check in the compose file fail
94fe9c3075
Bump httplog from 1.6.0 to 1.6.2 (#21345)
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>
b02cda69e8
Bump pg from 1.4.4 to 1.4.5 (#21350)
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>
f83166ae74
Bump eslint-plugin-react from 7.31.10 to 7.31.11 (#21349)
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>
e5cd79cd9c
Bump idn-ruby from 0.1.4 to 0.1.5 (#21348)
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>
8654603b3f
Bump jsdom from 20.0.2 to 20.0.3 (#21347)
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>
75bbe3b1b8
Bump regenerator-runtime from 0.13.10 to 0.13.11 (#21343)
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>
cddcafec31
Helm: Major refactoring regarding Deployments, Environment variables and 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
3c8857917e

* 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
8acf18a960
Fix the command to create the admin user (#19827)
* fix the command to create the admin user

* change Admin to Owner
3d906d8e62
New Crowdin updates (#20942)
* 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>
6517b7b9f0
Fix pillbar buttons in light theme (#1972)
* Simplify pillbar button design and make it more consistent with toggles

* Fix pillbar buttons in light theme

Fixes #1970
fefda70ee0
Bump bootsnap from 1.13.0 to 1.14.0 (#21344)
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>
86cbee77d6
Bump brakeman from 5.3.1 to 5.4.0 (#21351)
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>
99428cba55
Bump @babel/core from 7.19.6 to 7.20.2 (#20051)
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>
08a50d3a71
Bump @babel/plugin-proposal-decorators from 7.19.6 to 7.20.2 (#20061)
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>
dc7a49ddf6
Bump @babel/preset-env from 7.19.4 to 7.20.2 (#20037)
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>
7b86e3a6ce
Bump @babel/runtime from 7.19.4 to 7.20.1 (#20038)
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>
00466763e2
Bump capybara from 3.37.1 to 3.38.0 (#20036)
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>
593a652090
Bump babel-loader from 8.2.5 to 8.3.0 (#20059)
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>
4ed2b3590b
Bump webpack-bundle-analyzer from 4.6.1 to 4.7.0 (#19604)
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>
95b24c51ec
Bump sass from 1.55.0 to 1.56.1 (#20681)
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>
f17fc5742e
Clear voter count when poll is reset (#21700)
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
d587a268fd
Add logging for Rails cache timeouts (#21667)
* Reduce redis cache store connect timeout from default 20 seconds to 5 seconds

* Log cache store errors
625216d8e1
Fix attachments of edited statuses not being fetched (#21565)
* Fix attachments of edited statuses not being fetched

* Fix tests
47f0d7021e
refactor(vacuum statuses): reduce amount of db queries and load for each 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)
```
098ced7420
Remove support for Ruby 2.6 (#21477)
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.
f4f2b062ec
Remove LDSignature on actor Delete activities (#21466)
They are currently not used for anything and represent more than half of the
payload size.
cec1e902e0
Make the 'Trending now' header a link to Explore. (#21759)
This keeps the same design that exists currently, but makes "Trending
now" into a link to the Hashtags section of "Explore".

Resolves #21758.
a2e7997592 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Our README is completely different.
  Discarded upstream changes.
32b43a96a7 [Glitch] Fix status mismatch of sensitive check
Port 14e2354eea to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
c0bf90ac19 [Glitch] Fix “Share @{name}'s profile” profile menu item
Port fe421257e5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2815ac4155 [Glitch] fix gif autoplay on iOS
Port c0dcf15d1e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
98c5ca1037 [Glitch] Fix infinite loading instead of soft 404 for non-existing remote accounts
Port 3ffaa966b0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
f51990bd62 [Glitch] Make the 'Trending now' header a link to Explore.
Port cec1e902e0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
a3052dad04 [Glitch] Add user content translations with configurable backends
Port 0d6b878808 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
b5ee275ed9 [Glitch] Fix translations not being formatted, other issues in web UI
Port 55a2e9b5be to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
5e143db13a [Glitch] Don't show translate button to logged-out users
Port part of e623c302d5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
e8d0a1b320 [Glitch] Fix showing translate button when status has no language in web UI
Port 4adb267f91 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
47bd934061 [Glitch] Change “Translate” button to only show up when a translation backend is configured
Port 8046cf34d6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
44c0ba445a [Glitch] Add mention of the translation provider when translating a post
Port 30453fab80 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
f7684a31fe [Glitch] Change design of translations in web UI
Port fcca781aae to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
68d1df8bc3
Fix some performance issues with /admin/instances (#21907)
/admin/instances?availability=failing remains wholly unefficient
2cabc5d188
Use a tree‐based approach for advanced text formatting (#1907)
* Use a tree‐based approach for adv. text formatting

Sanitizing HTML/Markdown means parsing the content into an HTML tree
under‐the‐hood anyway, and it is more accurate to do mention/hashtag
replacement on the text nodes in that tree than it is to try to hack it
in with regexes et cetera.

This undoes the overrides of `#entities` and `#rewrite` on
`AdvancedTextFormatter` but also stops using them, instead keeping
track of the parsed Nokogiri tree itself and using that in the `#to_s`
method.

Internally, this tree uses `<mastodon-entity>` nodes to keep track of
hashtags, links, and mentions. Sanitization is moved to the beginning,
so it should be known that these do not appear in the input.

* Also disallow entities inside of `<code>`

I think this is generally expected behaviour, and people are annoyed
when their code gets turned into links/hashtags/mentions.

* Minor cleanup to AdvancedTextFormatter

* Change AdvancedTextFormatter to rewrite entities in one pass and sanitize at the end

Also, minor refactoring to better match how other formatters are organized.

* Add some tests

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
6119668e45
New Crowdin updates (#21599)
* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Spanish)

* New translations activerecord.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Spanish)

* New translations devise.en.yml (Spanish)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Spanish)

* New translations en.yml (Danish)

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

* New translations en.yml (Faroese)

* New translations en.yml (Faroese)

* New translations en.json (German)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations en.json (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.json (Czech)

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

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

* New translations simple_form.en.yml (Faroese)

* New translations devise.en.yml (Catalan)

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Galician)

* New translations doorkeeper.en.yml (Catalan)

* New translations simple_form.en.yml (German)

* New translations en.json (Danish)

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

* New translations simple_form.en.yml (Faroese)

* New translations en.json (Danish)

* New translations en.yml (Japanese)

* New translations en.yml (German)

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

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (German)

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

* New translations simple_form.en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.json (Scots)

* New translations activerecord.en.yml (Scots)

* New translations en.json (Finnish)

* New translations en.json (Finnish)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations en.yml (Belarusian)

* New translations en.json (Romanian)

* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations doorkeeper.en.yml (Romanian)

* New translations doorkeeper.en.yml (Galician)

* New translations activerecord.en.yml (Romanian)

* New translations en.yml (Russian)

* New translations en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.json (Czech)

* New translations en.yml (Bulgarian)

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

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

* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations en.json (Breton)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations simple_form.en.yml (Galician)

* New translations devise.en.yml (Italian)

* New translations en.json (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations devise.en.yml (Italian)

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

* New translations doorkeeper.en.yml (Italian)

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

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

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

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

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

* New translations doorkeeper.en.yml (Italian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

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

* New translations en.yml (Belarusian)

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

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.json (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations simple_form.en.yml (Czech)

* New translations doorkeeper.en.yml (Czech)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

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

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.yml (Estonian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (Russian)

* New translations en.yml (Icelandic)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Thai)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Icelandic)

* New translations en.yml (Belarusian)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations en.yml (Thai)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.yml (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.yml (Bulgarian)

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

* New translations en.yml (Bulgarian)

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

* New translations en.yml (Estonian)

* New translations en.json (Ukrainian)

* New translations en.yml (Estonian)

* New translations en.json (Esperanto)

* New translations en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Persian)

* New translations en.yml (Belarusian)

* New translations en.json (Esperanto)

* New translations en.json (Greek)

* New translations en.json (Persian)

* New translations en.json (Scots)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Thai)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Finnish)

* New translations en.yml (Estonian)

* New translations en.yml (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.yml (Finnish)

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

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

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Spanish)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Thai)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (German)

* New translations en.yml (Ukrainian)

* New translations en.json (Spanish, Mexico)

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

* New translations en.json (Spanish, Mexico)

* New translations activerecord.en.yml (Spanish, Mexico)

* New translations en.json (German)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (Korean)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Thai)

* New translations en.yml (Japanese)

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

* New translations en.yml (Belarusian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

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

* New translations en.json (Estonian)

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

* New translations en.yml (Italian)

* New translations en.yml (Italian)

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

* New translations en.yml (Spanish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Belarusian)

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

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

* normalize

* New translations en.json (German)

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

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
31ab9b1115
Bump aws-sdk-s3 from 1.114.0 to 1.117.1 (#20043)
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.114.0 to 1.117.1.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  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>
b1768153b2
Bump premailer-rails from 1.11.1 to 1.12.0 (#20588)
Bumps [premailer-rails](https://github.com/fphilipe/premailer-rails) from 1.11.1 to 1.12.0.
- [Release notes](https://github.com/fphilipe/premailer-rails/releases)
- [Changelog](https://github.com/fphilipe/premailer-rails/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fphilipe/premailer-rails/compare/v1.11.1...v1.12.0)

---
updated-dependencies:
- dependency-name: premailer-rails
  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>
17d197787c
Bump bullet from 7.0.3 to 7.0.4 (#21809)
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.0.3 to 7.0.4.
- [Release notes](https://github.com/flyerhzm/bullet/releases)
- [Changelog](https://github.com/flyerhzm/bullet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.0.3...7.0.4)

---
updated-dependencies:
- dependency-name: bullet
  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>
ca832c8dff
Bump bootsnap from 1.14.0 to 1.15.0 (#21810)
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.14.0 to 1.15.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.14.0...v1.15.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>
03ec81eedc
Bump postcss-scss from 4.0.5 to 4.0.6 (#21814)
Bumps [postcss-scss](https://github.com/postcss/postcss-scss) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/postcss/postcss-scss/releases)
- [Changelog](https://github.com/postcss/postcss-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-scss/compare/4.0.5...4.0.6)

---
updated-dependencies:
- dependency-name: postcss-scss
  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>
d0dbc54c9e
Bump doorkeeper from 5.6.0 to 5.6.1 (#21816)
Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) from 5.6.0 to 5.6.1.
- [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases)
- [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/main/CHANGELOG.md)
- [Commits](https://github.com/doorkeeper-gem/doorkeeper/compare/v5.6.0...v5.6.1)

---
updated-dependencies:
- dependency-name: doorkeeper
  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>
71185763bd
Bump @babel/runtime from 7.20.1 to 7.20.6 (#21819)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.20.1 to 7.20.6.
- [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.6/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/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>
7b067ad95c
Bump @babel/core from 7.20.2 to 7.20.5 (#21811)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.20.2 to 7.20.5.
- [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.5/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  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>
ea3d3505d0
Bump @babel/plugin-proposal-decorators from 7.20.2 to 7.20.5 (#21813)
Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.20.2 to 7.20.5.
- [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.5/packages/babel-plugin-proposal-decorators)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-decorators"
  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>
f3934f2fff
Bump pkg-config from 1.4.9 to 1.5.1 (#21820)
Bumps [pkg-config](https://github.com/ruby-gnome/pkg-config) from 1.4.9 to 1.5.1.
- [Release notes](https://github.com/ruby-gnome/pkg-config/releases)
- [Changelog](https://github.com/ruby-gnome/pkg-config/blob/master/NEWS)
- [Commits](https://github.com/ruby-gnome/pkg-config/compare/1.4.9...1.5.1)

---
updated-dependencies:
- dependency-name: pkg-config
  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>
ca4211ff47
Bump http-link-header from 1.0.5 to 1.1.0 (#20685)
Bumps [http-link-header](https://github.com/jhermsmeier/node-http-link-header) from 1.0.5 to 1.1.0.
- [Release notes](https://github.com/jhermsmeier/node-http-link-header/releases)
- [Changelog](https://github.com/jhermsmeier/node-http-link-header/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jhermsmeier/node-http-link-header/compare/v1.0.5...v1.1.0)

---
updated-dependencies:
- dependency-name: http-link-header
  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>
beb380c9c7
Bump prettier from 2.7.1 to 2.8.0 (#21815)
Bumps [prettier](https://github.com/prettier/prettier) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.7.1...2.8.0)

---
updated-dependencies:
- dependency-name: prettier
  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>
7618e12333
Bump aws-sdk-s3 from 1.117.1 to 1.117.2 (#21949)
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.117.1 to 1.117.2.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  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>
62ccc99af7
Bump axios from 1.1.3 to 1.2.0 (#21817)
Bumps [axios](https://github.com/axios/axios) from 1.1.3 to 1.2.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.1.3...v1.2.0)

---
updated-dependencies:
- dependency-name: axios
  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>
41c1ff9933
Bump decode-uri-component from 0.2.0 to 0.2.2 (#21947)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  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>
3b6eee5437
Bump stoplight from 3.0.0 to 3.0.1 (#21953)
Bumps [stoplight](https://github.com/orgsync/stoplight) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/orgsync/stoplight/releases)
- [Changelog](https://github.com/bolshakov/stoplight/blob/master/CHANGELOG.md)
- [Commits](https://github.com/orgsync/stoplight/commits)

---
updated-dependencies:
- dependency-name: stoplight
  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>
a22cfbb470
Bump stackprof from 0.2.22 to 0.2.23 (#21952)
Bumps [stackprof](https://github.com/tmm1/stackprof) from 0.2.22 to 0.2.23.
- [Release notes](https://github.com/tmm1/stackprof/releases)
- [Changelog](https://github.com/tmm1/stackprof/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tmm1/stackprof/compare/v0.2.22...v0.2.23)

---
updated-dependencies:
- dependency-name: stackprof
  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>
0759d921aa
Bump tzinfo-data from 1.2022.6 to 1.2022.7 (#21951)
Bumps [tzinfo-data](https://github.com/tzinfo/tzinfo-data) from 1.2022.6 to 1.2022.7.
- [Release notes](https://github.com/tzinfo/tzinfo-data/releases)
- [Commits](https://github.com/tzinfo/tzinfo-data/compare/v1.2022.6...v1.2022.7)

---
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>
68dc60bd54
Bump doorkeeper from 5.6.0 to 5.6.2 (#21950)
Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) from 5.6.0 to 5.6.2.
- [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases)
- [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/main/CHANGELOG.md)
- [Commits](https://github.com/doorkeeper-gem/doorkeeper/compare/v5.6.0...v5.6.2)

---
updated-dependencies:
- dependency-name: doorkeeper
  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>
43bd2ad820
Bump rdf-normalize from 0.5.0 to 0.5.1 (#21812)
Bumps [rdf-normalize](https://github.com/ruby-rdf/rdf-normalize) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/ruby-rdf/rdf-normalize/releases)
- [Commits](https://github.com/ruby-rdf/rdf-normalize/compare/0.5.0...0.5.1)

---
updated-dependencies:
- dependency-name: rdf-normalize
  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>
758b5c7217
Bump react-select from 5.5.4 to 5.6.1 (#21346)
Bumps [react-select](https://github.com/JedWatson/react-select) from 5.5.4 to 5.6.1.
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.5.4...react-select@5.6.1)

---
updated-dependencies:
- dependency-name: react-select
  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>
a75c86a89e
Bump react-textarea-autosize from 8.3.4 to 8.4.0 (#20683)
Bumps [react-textarea-autosize](https://github.com/Andarist/react-textarea-autosize) from 8.3.4 to 8.4.0.
- [Release notes](https://github.com/Andarist/react-textarea-autosize/releases)
- [Changelog](https://github.com/Andarist/react-textarea-autosize/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Andarist/react-textarea-autosize/compare/v8.3.4...v8.4.0)

---
updated-dependencies:
- dependency-name: react-textarea-autosize
  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>
3ca73302a9
Bump react-select from 5.6.1 to 5.7.0 (#21955)
Bumps [react-select](https://github.com/JedWatson/react-select) from 5.6.1 to 5.7.0.
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.6.1...react-select@5.7.0)

---
updated-dependencies:
- dependency-name: react-select
  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>
855b611879
Bump jest from 29.2.2 to 29.3.1 (#20686)
* Bump jest from 29.2.2 to 29.3.1

Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.2.2 to 29.3.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.3.1/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump jest-environment-jsdom from 29.2.1 to 29.3.1

Bumps [jest-environment-jsdom](https://github.com/facebook/jest/tree/HEAD/packages/jest-environment-jsdom) from 29.2.1 to 29.3.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.3.1/packages/jest-environment-jsdom)

---
updated-dependencies:
- dependency-name: jest-environment-jsdom
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump babel-jest from 29.2.1 to 29.3.1

Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 29.2.1 to 29.3.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.3.1/packages/babel-jest)

---
updated-dependencies:
- dependency-name: babel-jest
  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>
2413e5f3f0
Bump faker from 2.23.0 to 3.0.0 (#20039)
Bumps [faker](https://github.com/faker-ruby/faker) from 2.23.0 to 3.0.0.
- [Release notes](https://github.com/faker-ruby/faker/releases)
- [Changelog](https://github.com/faker-ruby/faker/blob/main/CHANGELOG.md)
- [Commits](https://github.com/faker-ruby/faker/compare/v2.23.0...v3.0.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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>
f77ed3a6b2
Correct prettier calls for YML/JSON (#21832)
* Fix fomat-check writing files

* Fix unformatted YML/JSON

* Add format-check call to prevent regressions
fe523a3045
Fix unbounded recursion in account discovery (#1994)
* Fix trying to fetch posts from other users when fetching featured posts

* Rate-limit discovery of new subdomains

* Put a limit on recursively discovering new accounts
66a70ebb6e
Fix pre-4.0 admin action logs (#22091)
* Fix BackfillAdminActionLogs post-deployment migration

* Improve migration tests

* Backfill admin action logs again
f80c3d40e8
enable be locale (#22022)
It already has 80+% completion, which is enough for everyday use.
Test instance runs on https://meowstodon.net/
c8849d6cee
Fix unbounded recursion in account discovery (#22025)
* Fix trying to fetch posts from other users when fetching featured posts

* Rate-limit discovery of new subdomains

* Put a limit on recursively discovering new accounts
f6492a7c4d
Log admin approve and reject account (#22088)
* Log admin approve and reject account

* Add unit tests for approve and reject logging
21b208afcb
Fix hidden overflow on interaction modal (#21763)
* Fix hidden overflow on interaction modal

* only update overflow y
b59fb28e90
Fix 500 error when trying to migrate to an invalid address (#21462)
* Fix 500 error when trying to migrate to an invalid address

* Add tests
9a3d91f629 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/models/concerns/domain_materializable.rb`:
  Fixed a code style issue upstream in a PR that got merged in glitch-soc
  earlier.
  Changed the code to match upstream's.
0e70215c40 [Glitch] Fix “Sign up” button with closed registrations not opening modal on mobile
Port 51098035ed to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
4642f7d830 [Glitch] Fix UI header overflow on mobile
Port 76454cc638 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
16fb604c52 [Glitch] Fix hidden overflow on interaction modal
Port 21b208afcb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
97b6e38a7d
New Crowdin updates (#21954)
* New translations en.json (Serbian (Cyrillic))

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

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

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

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

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

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

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

* New translations en.json (Chinese Traditional)

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

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

* New translations en.json (Icelandic)

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

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

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

* New translations en.json (Malay)

* New translations en.json (Malay)

* New translations activerecord.en.yml (Malay)

* New translations devise.en.yml (Malay)

* New translations en.yml (Malay)

* New translations en.yml (Arabic)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Malay)

* New translations en.yml (Greek)

* New translations en.yml (Russian)

* New translations en.yml (Belarusian)

* New translations en.yml (Greek)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Greek)

* New translations en.json (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Malay)

* New translations simple_form.en.yml (Malay)

* New translations en.json (Esperanto)

* New translations en.yml (Malay)

* New translations en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

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

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

* New translations en.yml (Belarusian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Belarusian)

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

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

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

* New translations en.json (Occitan)

* New translations en.json (Czech)

* New translations en.yml (Hebrew)

* New translations doorkeeper.en.yml (Spanish, Argentina)

* New translations en.json (German)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (German)

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

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Thai)

* New translations activerecord.en.yml (Scots)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Latvian)

* New translations en.json (Latvian)

* New translations activerecord.en.yml (Latvian)

* New translations devise.en.yml (Latvian)

* New translations en.yml (Turkish)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Danish)

* New translations en.yml (Thai)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.yml (German)

* New translations simple_form.en.yml (German)

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

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

* New translations en.yml (Belarusian)

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

* New translations en.json (Latvian)

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

* New translations en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (German)

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

* New translations simple_form.en.yml (Spanish, Argentina)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Persian)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.yml (Danish)

* New translations en.yml (Scots)

* New translations simple_form.en.yml (Scots)

* New translations en.json (Scots)

* New translations devise.en.yml (Scots)

* New translations doorkeeper.en.yml (Scots)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Belarusian)

* New translations en.json (German)

* New translations en.yml (Belarusian)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Spanish, Argentina)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.json (French)

* New translations en.yml (Esperanto)

* New translations en.yml (Belarusian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Belarusian)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations activerecord.en.yml (Slovak)

* New translations devise.en.yml (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.yml (Belarusian)

* New translations en.yml (Slovak)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Lithuanian)

* New translations en.yml (Belarusian)

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

* New translations en.yml (Belarusian)

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

* New translations en.json (Esperanto)

* New translations en.json (Vietnamese)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Latvian)

* New translations en.yml (Belarusian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Hebrew)

* New translations en.yml (Welsh)

* New translations en.yml (Hebrew)

* New translations en.yml (Russian)

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

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Slovak)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.yml (Belarusian)

* normalize

* New translations en.yml (Belarusian)

* normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
4555ecf995
Bump nokogiri from 1.13.9 to 1.13.10 (#22145)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.9 to 1.13.10.
- [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.9...v1.13.10)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

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>
3ea445bb5c [Glitch] Fix potential duplicate statuses in Explore tab
Port c8a1faa86b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2b0112aab1
Bump sidekiq-unique-jobs from 7.1.27 to 7.1.29 (#22078)
Bumps [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs) from 7.1.27 to 7.1.29.
- [Release notes](https://github.com/mhenrixon/sidekiq-unique-jobs/releases)
- [Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.27...v7.1.29)

---
updated-dependencies:
- dependency-name: sidekiq-unique-jobs
  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>
ad568924c0
Bump axios from 1.2.0 to 1.2.1 (#22076)
Bumps [axios](https://github.com/axios/axios) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: axios
  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>
714e68db38
Add noindex setting to Admin settings Discovery page (#22205)
* Add noindex setting to Admin settings Discovery page

* Replace default_noindex i18n
736b4283b0
Update Node 16.18.1 for latest security release (#22019)
* Update Node 16.18.1 for latest security release

* Increase Yarn network timeout for build error
52a50c5e43
Make handle more easily selectable on profile page (#21479)
* Make handle more easily selectable on profile page

* Wrap handle in a span

* Add `user-select: all` to span

* remove whitespace
09191dee66
Add single splat to callback method definitions to avoid ArgumentError (#22246)
It looks like a [bug](https://bugs.ruby-lang.org/issues/18633) around
autosplat is [fixed](fbaadd1cfe)
on ruby-3.2.0-rc1 and breaks a test (but not on ruby <= 3.1.3):

```
$ bundle exec rspec ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:41
  :
  1) Api::V1::Emails::ConfirmationsController#create with an oauth token from an app that created the account when the account is already confirmed but user changed e-mail and has not confirmed it returns http success
     Failure/Error:
         def email_changed(user, **)
           @resource = user
           @instance = Rails.configuration.x.local_domain

           return unless @resource.active_for_authentication?

           I18n.with_locale(locale) do
             mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject')
           end
         end

     ArgumentError:
       wrong number of arguments (given 2, expected 1)
     # ./app/mailers/user_mailer.rb:51:in `email_changed'
     # ./app/models/user.rb:444:in `render_and_send_devise_message'
     # ./app/models/user.rb:430:in `block in send_pending_devise_notifications'
     # ./app/models/user.rb:429:in `each'
     # ./app/models/user.rb:429:in `send_pending_devise_notifications'
     # ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:38:in `block (7 levels) in <top (required)>'
```
364f5f1f45
Bump prettier from 2.8.0 to 2.8.1 (#22255)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.0...2.8.1)

---
updated-dependencies:
- dependency-name: prettier
  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>
7e2d5e8aa7
Bump sass from 1.56.1 to 1.56.2 (#22257)
Bumps [sass](https://github.com/sass/dart-sass) from 1.56.1 to 1.56.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.56.1...1.56.2)

---
updated-dependencies:
- dependency-name: sass
  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>
062197a193
Bump public_suffix from 5.0.0 to 5.0.1 (#22259)
Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/weppos/publicsuffix-ruby/releases)
- [Changelog](https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/weppos/publicsuffix-ruby/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: public_suffix
  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>
44739096ec
Bump loofah from 2.19.0 to 2.19.1 (#22278)
Bumps [loofah](https://github.com/flavorjones/loofah) from 2.19.0 to 2.19.1.
- [Release notes](https://github.com/flavorjones/loofah/releases)
- [Changelog](https://github.com/flavorjones/loofah/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flavorjones/loofah/compare/v2.19.0...v2.19.1)

---
updated-dependencies:
- dependency-name: loofah
  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>
1133e05e3d
Bump rails-html-sanitizer from 1.4.3 to 1.4.4 (#22279)
Bumps [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/rails/rails-html-sanitizer/releases)
- [Changelog](https://github.com/rails/rails-html-sanitizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/rails-html-sanitizer/compare/v1.4.3...v1.4.4)

---
updated-dependencies:
- dependency-name: rails-html-sanitizer
  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>
a9bd5f65bb
Bump postcss from 8.4.19 to 8.4.20 (#22256)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.19 to 8.4.20.
- [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.19...8.4.20)

---
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>
bc91069e08 [Glitch] Change default reply language to be default language when replying to a translated reply
Port f70bdba926 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
32b8b3355b [Glitch] Make handle more easily selectable on profile page
Port 52a50c5e43 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
21ee6a777d [Glitch] fix missing style in warning and strike cards
Port 42e16ea52d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
78ef635980
Add command to remove avatar and header images of inactive remote accounts from the local database (#22149)
* Add tootctl subcommand media remove-profile-media

* Trigger workflows

* Correcting external linting

* External linting error

* External linting fix

* Merging with remove command

* Linting

* Correct long option names

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

* Correct long option names

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

* Correct long option names

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

* Remove saving a list of purged accounts

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
5917b46c05
Allow admins to refresh remotely-suspended accounts (#22327)
* Change suspension text to mention that a remotely suspended account is not locally-suspended

* Add ability to refresh profile of remotely suspended accounts
6cdbc345f4
Validate nodeinfo response by schema (#21395)
* add json-schema to :test in Gemfile

* Create node_info_2.0_schema.json

* test match_response_schema

* Create match_response_schema.rb

* Update nodeinfo_controller_spec.rb

* Rename spec/support/node_info_2.0_schema.json to spec/support/schema/node_info_2.0_schema.json

* Update match_response_schema.rb

* cleanup

* additionally validate the json schema itself

disable throwing errors

test the schema matcher

* rename nodeinfo schema to nodeinfo_2.0

* use Rails.root.join to construct the path

* prettify json

* sync Gemfile.lock
5fb1c3e934
Revoke all authorized applications on password reset (#21325)
* Clear sessions on password change

* Rename User::clear_sessions to revoke_access for a clearer meaning

* Add reset paassword controller test

* Use User.find instead of User.find_for_authentication for reset password test

* Use redirect and render for better test meaning in reset password

Co-authored-by: Effy Elden <effy@effy.space>
e8cc63105f
Don't delivery a reply to domains which are blocked by author (#22117)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
52540771b0
Fix crash in elasticsearch_check.rb (#21006)
Nil unwrap causes the admin dashboard to crash/500 when the Chewy client info version number value is nil.
This occurs when running another ES-compatible backend such as MeiliSearch.
Obviously it would be good for chewy to recognise upstream but at least avoiding the crash would be fine.
c3388f4ab1
Fix profile avatar being slightly offset into left border (fixes #20822) (#20994)
* hotfix for #20822

I don't know why it was shifted in the first place or why the width is specified twice, but this fixes the problem, so it looks fine to me.

* realigned pfp with content below

* fixed formatting 

my bad

* added comment to explain the negative margin

before I forget - comments are *important* !

Co-authored-by: Riedler <riedler@gelse.eu>
a0813806d6
Add hadolint as Dockerfile linter (#20993)
* Added hadolint as Dockerfile linter in pipeline and resolved remaining hadolint issues in Dockerfile

* Use more specific version of hadolint Action

* Bumpt hadolint Action version to latest version to avoid deprecation notice

* Being _really_ specific now
596923da4a
Fix typos in source documentation (#21046)
Fixed 2 source comment/documentation typos
63b379c2d9
Fix N+1 queries from in NotificationsController (#21202)
Co-authored-by: Nonexistent <nx@example.org>
04c611daa1
Fix being unable to react with the keycap number sign emoji (#22231)
#⃣

This bug is caused by the emoji consisting of:
U+23 #
U+FE0F
U+20E3  ⃣

Because it starts with a #, it's interpreted as an anchor link, which is not passed to the API. Therefore, the API sees no emoji to react with and answers correctly with a 404.
4114a7088a
Embed js height fix (#22141)
* only begin iframe reheight once document state is complete

* format

* lint fixes

* Update public/embed.js to use readystatechange event listener

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

* Call loaded() if ready, otherwise add listenter

* lint fix

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
903e5a3f45
Fix hidden label causing accessibility issue for search inputs (#21275)
* Try unhiding search label.

* Use aria-label. Remove label as empty labels are useless.

* Remove addition of package-lock.json.
3a59ffde8d
Adding 12 hours option for polls (#21131)
* Adding 12 hours option for polls

Adding 12 hours option for polls

* Adding 12 hours option for polls

Missing > on a line
58200132d0
`FormattedMessage` must be used directly (#20982)
* `FormattedMessage` must be used directly

* rollback
f0cebaee00
Add localization for new admin scopes (#20979)
* Add localization for new admin scopes

* run bundle exec i18n-tasks normalize
c50e9d078a
Render current day formats in the client timezone (#21878)
* Fix remaining plain %time to %time.formatted

* Add %time.relative-formatted to client format dates on the current day

* Add missing comma dangle to formats

* Use client side message format instead of the server

* Add fallback message to relatve_format.today

* Remove unused translation key and fix js lint issue

Co-authored-by: Effy Elden <effy@effy.space>
08c0e43b6f
Increase the width of the unread notification border. (#21692)
The smaller border is difficult to see for some users, especially
when the browser window was thinner, and so the unread border is at the
very left edge of the window.
3d3429243f
Fix default S3_HOSTNAME used in mastodon:setup (#19932)
s3-us-east-1.amazonaws.com does not exist.

Co-authored-by: Effy Elden <effy@effy.space>
1f5740e65c
Use Rails tag API to build RSS feed for spoilers and polls (#20163)
* Use Rails tag API to build RSS feed for spoilers and polls

While the previous method did not contain a bug or a potential issue,
the tag API can be very resilient against future problems and reduces the
amount of manual management of the escape status of the content.

I've added tests to ensure that the formatting is broken and still
escapes control characters correctly.

* this seems cleaner and passes

* Incorporate feedback by moving the br to its own line and using the tag helper over the string constant for the br tag itself

* whoops, tag helper doesn't use a self-closing tag
19f78ea8fa
linting: RuboCop update, config fixes (#20574)
* fix(rubocop): update gems and add performance and rspec

fix(rubocop): update gems and add performance and rspec

- update present rubocop gems
- add rubocop-rspec and rubocop-performance gems
- move rubocop gems to gem group :development, :test in order to
  make linting in a github action that runs with RAILS_ENV=test possible

* feat(rubocop): disable some annoyance RSpec cops

To mee these prooved to be more annoying than helpful.
If not agreed, they can be enabled any time.

* fix(rubocop): do not ignore spec/**/*

Because rubocop-rspec should lint the specs as well, and they
deserve to be readable in general. It is relevant code, after all.

* fix(rubocop): change ignore db/**/* to db/schema.rb

because rails cops do some lints for migrations.
E.g. reversable migrations linting and more.

* fix(rubocop): tune rules configs

Bunch of commits squashed:

fix(rubocop): enable Layout/LineLength cop

Because this project has code with line lenghts > 500 chars.
This is not good practice at all, so I strongly suggest to
change the practice in the future.

But allow heredoc, URI and comments to still be long lines
and make the default Max: 120 explicit, by repeating it in the
config. To me this max length seems reasonable. Perhaps
a bit more could be ok for some. But > 500 chars in one line
Seems to be way too long IMHO.

fix(rubocop): Metrics/CyclomaticComplexity Max to 12

The default is 7, perhaps quite strict. But 25 is too loose,
the rule becomes pointless like that.

fix(rubocop): AllCops ruby version, cacheing and more info

- fix the target ruby version from 2.5 to 3.0
- have the cop error messages to be more informative and helpful
- enable cacheing in /tmp

fix(rubocop): Metrics/AbcSize to 34 from 115

Rubocops default is 17. If the rule is at 115 is becomes
pointless.

fix(rubocop): Metrics/BlockLength improvements

- instead of ignoring tasks completely, ignore only the
  long blocks that are specific to tasks (task, namespace)
- ignore also concern specific block methods (included, class_methods)

fix(rubocop): Metrics/ClassLength count heredoc array as one line

fix(rubocop): Metrics/MethodLength Max to 25

- the default is 10, but 65 is too loose, so perhaps 25?

fix(rubocop): Metrics/ModuleLength array and heredoc count as one

fix(rubocop): Metrics/PerceivedComplexity to 16 from 25

Rubocops default is 8, so how about only doubling that, instead
of > than tripple it?

fix(rubocop): enable Style/RedundantAssignment

Because I think that this rule would never really hurt,
but improve code quality and readability.

fix(rubocop): enable Style/RescueStandardError

I think everyone that ever had to debug what this can bring
will hopefully agree that this rule totally makes sense.
In the super rare exeptions where this is totally needed,
it can be excluded by disabling comment in that place.

fix(rubocop): Metrics/ParameterLists add explicit defaults and some excludes
059d64a59e
set activation for tag follow button (#21629)
Co-authored-by: meisam <meisam@noreply.codeberg.org>
d412147d02
Save avatar or header correctly even if other one fails (#18465)
* Save avatar or header correctly if other one fails

* Fix test
1b5d207131
Fix single name variables on controller folder (#20092)
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>

Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: Effy Elden <effy@effy.space>
9f63c428e1
Don't autofocus the compose form (#16517)
When opening a page such as /web/timelines/home in a desktop browser, the
cursor was automatically placed in the textarea of the compose form.

When using the keyboard for navigation (using a browser plugin like vimium or
vim vixen, or just to hit 'space' to scroll down a page), you have remember to
leave the field before using that.

Since you only visit the page to write a new post some of the time, this PR
attempts to have nothing focused initially (and require the user to click or
e.g. use 'tab' to focus the textarea).

Tested:
* /web/timeslines/home no longer autofocuses the compose box
* pressing the 'n' hotkey still focuses the compose box
* clicking 'reply' for a post still focuses the compose box
* replying to a CW'ed post still focuses the compose box
* introducing the CW field still focuses the CW field
* introducing the CW field for a reply still focuses the CW field
* removing the CW field still focuses the compose box
* /web/statuses/new still autofocuses the compose box

fixes #15862
ff414a5489
Add transparancy to modal background for accessibility (#18081)
Fixes #18080 

This keeps the `ui-base-lighter-color` but adds enough transparency so that text is more easily readable.
Tested in Firefox and Chrome.
726c7dea31
Display search popout at fixed screen position (#16463)
* Display search popout at fixed screen position

* Attach search popout to search box
8a56587d62
Improve devcontainer for running tests (#22277)
* Improve devcontainer for running tests

- Pull devcontainer post-create out into its own script
- Add asset precompilation
- Add test-mode asset precompilation (needed to run tests without error)

* Document Gemfile.lock re-checkout in devcontainer
1e49be3328
Align everything to Node.js 16 (#22223)
* Update nvmrc to Node.js 16

* Update package.json minimum Node engine to 16

* Update README requirements to Node.js 16

* Update devcontainer Node.js version to 16

* Update devcontainer Dockerfile Node.js choices to LTS versions that are still in support/maintenance

* Pin CircleCI Node image to 16

* Fix YAML type issue

* Update CircleCI Node.js to 16.18 to match #22019
8556a649d5
Fix changing domain block severity not undoing individual account effects (#22135)
* Fix changing domain block severity not undoing individual account effects

Fixes #22133

* Add tests
2d12948220
Fix idempotency when database writes are slow (#21840)
There is an idempotency key generated by clients when authoring a post,
and stored in Redis, to ensure that if a user or client retries posting
the same status, we don't get a duplicate.

Hachyderm.io has been experiencing some filesystem and database
performance issues, causing database writes to be slow. This can mean
that there are successful posts, but the reverse proxy returns 504
Gateway Timeout before the idempotency status has been updated; users or
clients who retry (such as Tusky which retries automatically, see
tuskyapp/Tusky#2951) can re-try the same post with the same idempotency
key before it has actually been recorded in Redis, leading to duplicate
posts.

To address this issue, move all of the database updates after the
initial transaction that creates the status into the
`postprocess_status!` method, so we can insert the idempotency key
immediately after the status has been created, significantly reducing
the window in which the status could be created but the idempotency key
not yet stored.

Note: this has not yet been tested; I'm submitting this PR for
discussion and to offer to the Hachyderm.io admins to try out to fix the
multiple posting problem.

Co-authored-by: Brian Campbell <brcampbell@beta.team>
99d2693071
Update circleci (#21880)
* Update config.yml

* Update config.yml
7fbc17afa2
Fix media markup (#21420)
This brings the markup of the MediaItem component on par with the Item component from media_gallery.

Co-authored-by: Effy Elden <effy@effy.space>
c649f4d386
fix: remove SMTP_SERVER (#21342)
Firstly, mailgun.com is now their domain. Secondly they are lots of providers to use; and sysadmins should be able to choose.
b4fe2d1004
Add Southern Sami, and Lule Sami to language list under the ISO-639-3 standard (#21262)
* Add sme, smj, and sma ISO-639-3 language codes

* Remove sme in ISO-639-3
7a3c6bb888
Dont use reserved foldername (#20582)
Co-authored-by: Effy Elden <effy@effy.space>
70415714f1
Add follow request banner on account header (#20785)
* Add requested_by to relationship maps

* Display whether an account has requested to follow you on their profile
f3a4d57be1 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Discarded upstream changes: we have our own README
- `app/controllers/follower_accounts_controller.rb`:
  Port upstream's minor refactoring
1e8aff072a [Glitch] Fix wasteful request to /api/v1/custom_emojis when not logged in
Port 1f762f4271 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
65cc5cb891 [Glitch] Change dropdown menu to contain “Copy link to post” even for non-public posts
Port fe9eab51d1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
8cd7b95559 [Glitch] Fix profile avatar being slightly offset into left border
Port c3388f4ab1 to glitch-soc

Co-authored-by: Riedler <riedler@gelse.eu>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
aad42cfc35 [Glitch] Fix hidden label causing accessibility issue for search inputs
Port 903e5a3f45 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
98f7b3657a [Glitch] Adding 12 hours option for polls
Port 3a59ffde8d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
9f3cc9e555 [Glitch] `FormattedMessage` must be used directly
Port 58200132d0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
b22da94a65 [Glitch] Render current day formats in the client timezone
Port c50e9d078a to glitch-soc

Co-authored-by: Effy Elden <effy@effy.space>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
e76fb9b2c4 [Glitch] Increase the width of the unread notification border.
Port 08c0e43b6f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
57eab6dbee [Glitch] Fix typo in handler function call name
Port 72a8af8088 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
602f18103c [Glitch] Fix the top action bar appearing in multi-column layout
Port 38596e49d4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
7883ba34bb [Glitch] set activation for tag follow button
Port 059d64a59e to glitch-soc

Co-authored-by: meisam <meisam@noreply.codeberg.org>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
0f5ecb3860 [Glitch] Fix margin for search field on medium window size
Port cedf138313 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
89d3d85cf2 [Glitch] Add transparancy to modal background for accessibility
Port ff414a5489 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
d7a6a9393a [Glitch] Display search popout at fixed screen position
Port 726c7dea31 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
cdba1ec5f4 [Glitch] Fix being stuck in edit mode when deleting the edited status
Port ebf1d74e40 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
1ced365371 [Glitch] Fix media markup
Port 7fbc17afa2 to glitch-soc

Co-authored-by: Effy Elden <effy@effy.space>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
c459625119 [Glitch] Fix language surrounding disability in prompts for alt text and other media descriptions
Port c761e7a5ef to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
0912fb736d [Glitch] Add follow request banner on account header
Port 70415714f1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2889c68610
New Crowdin updates (#22182)
* New translations activerecord.en.yml (Malayalam)

* New translations devise.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Malayalam)

* New translations en.json (Breton)

* New translations simple_form.en.yml (Breton)

* New translations activerecord.en.yml (Breton)

* New translations devise.en.yml (Breton)

* New translations doorkeeper.en.yml (Breton)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations simple_form.en.yml (French, Quebec)

* New translations activerecord.en.yml (French, Quebec)

* New translations devise.en.yml (French, Quebec)

* New translations doorkeeper.en.yml (French, Quebec)

* New translations en.json (Sinhala)

* New translations simple_form.en.yml (Sinhala)

* New translations activerecord.en.yml (Sinhala)

* New translations devise.en.yml (Sinhala)

* New translations doorkeeper.en.yml (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations devise.en.yml (Kannada)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations activerecord.en.yml (Scottish Gaelic)

* New translations devise.en.yml (Scottish Gaelic)

* New translations doorkeeper.en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations simple_form.en.yml (Aragonese)

* New translations activerecord.en.yml (Aragonese)

* New translations devise.en.yml (Aragonese)

* New translations doorkeeper.en.yml (Aragonese)

* New translations simple_form.en.yml (Occitan)

* New translations activerecord.en.yml (Occitan)

* New translations devise.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

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

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

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

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

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

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations simple_form.en.yml (Corsican)

* New translations activerecord.en.yml (Corsican)

* New translations devise.en.yml (Corsican)

* New translations doorkeeper.en.yml (Corsican)

* New translations en.json (Sardinian)

* New translations simple_form.en.yml (Sardinian)

* New translations activerecord.en.yml (Sardinian)

* New translations devise.en.yml (Sardinian)

* New translations doorkeeper.en.yml (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations simple_form.en.yml (Kabyle)

* New translations activerecord.en.yml (Kabyle)

* New translations devise.en.yml (Kabyle)

* New translations doorkeeper.en.yml (Kabyle)

* New translations en.json (Ido)

* New translations simple_form.en.yml (Ido)

* New translations activerecord.en.yml (Ido)

* New translations devise.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (Standard Moroccan Tamazight)

* New translations activerecord.en.yml (Standard Moroccan Tamazight)

* New translations devise.en.yml (Standard Moroccan Tamazight)

* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Georgian)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Punjabi)

* New translations en.json (Chinese Traditional)

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

* New translations en.json (Vietnamese)

* New translations en.json (Tamil)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Croatian)

* New translations en.json (Kazakh)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Telugu)

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

* New translations en.json (Burmese)

* New translations en.json (Uyghur)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Asturian)

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

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

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Arabic)

* New translations en.yml (Belarusian)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (German)

* New translations en.yml (Greek)

* New translations en.yml (Frisian)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Hungarian)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Korean)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Portuguese)

* New translations en.yml (Russian)

* New translations en.yml (Slovak)

* New translations en.yml (Slovenian)

* New translations en.yml (Albanian)

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Simplified)

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

* New translations en.yml (Persian)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Thai)

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

* New translations en.yml (Faroese)

* New translations en.yml (Esperanto)

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

* New translations en.yml (Latin)

* New translations en.yml (French, Quebec)

* New translations en.yml (Sinhala)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Aragonese)

* New translations en.yml (Occitan)

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

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

* New translations en.yml (Scots)

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Latin)

* New translations simple_form.en.yml (French, Quebec)

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

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Latin)

* New translations devise.en.yml (Frisian)

* New translations devise.en.yml (Latin)

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

* New translations doorkeeper.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Frisian)

* New translations doorkeeper.en.yml (Hungarian)

* New translations doorkeeper.en.yml (Italian)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Latin)

* New translations en.json (Belarusian)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.json (Finnish)

* New translations en.json (Turkish)

* New translations en.yml (Belarusian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations doorkeeper.en.yml (Danish)

* Normalize locale files

* New translations en.json (German)

* New translations en.json (Swedish)

* New translations en.json (Estonian)

* New translations en.json (Latvian)

* New translations en.json (Welsh)

* New translations en.yml (Hungarian)

* New translations en.yml (Polish)

* New translations en.yml (Latvian)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Czech)

* New translations doorkeeper.en.yml (Latvian)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Estonian)

* New translations en.yml (Swedish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

* New translations doorkeeper.en.yml (Italian)

* New translations doorkeeper.en.yml (Swedish)

* New translations doorkeeper.en.yml (Chinese Traditional)

* New translations en.json (Catalan)

* New translations en.json (Slovenian)

* New translations en.json (Faroese)

* New translations en.json (Asturian)

* New translations en.yml (Catalan)

* New translations en.yml (German)

* New translations en.yml (Slovenian)

* New translations en.yml (Faroese)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Slovenian)

* New translations doorkeeper.en.yml (Faroese)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (Greek)

* New translations en.yml (Danish)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
06b68490d1
Enable eslint:recommended ruleset (#22433)
* Enable ESLint recommended ruleset

* Disable failing ESLint recommended rules

* Remove rules shadowed by eslint:recommended
6a1d41635b
Bump sass from 1.56.2 to 1.57.0 (#22519)
Bumps [sass](https://github.com/sass/dart-sass) from 1.56.2 to 1.57.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.56.2...1.57.0)

---
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>
fcaeae7761
Bump fog-core from 2.1.0 to 2.3.0 (#22521)
Bumps [fog-core](https://github.com/fog/fog-core) from 2.1.0 to 2.3.0.
- [Release notes](https://github.com/fog/fog-core/releases)
- [Changelog](https://github.com/fog/fog-core/blob/master/changelog.md)
- [Commits](https://github.com/fog/fog-core/compare/v2.1.0...v2.3.0)

---
updated-dependencies:
- dependency-name: fog-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>
ef09016f35
Bump pundit from 2.2.0 to 2.3.0 (#22516)
Bumps [pundit](https://github.com/varvet/pundit) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/varvet/pundit/releases)
- [Changelog](https://github.com/varvet/pundit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/varvet/pundit/commits)

---
updated-dependencies:
- dependency-name: pundit
  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>
c04b762b9c
Bump http from 5.1.0 to 5.1.1 (#22515)
Bumps [http](https://github.com/httprb/http) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/httprb/http/releases)
- [Changelog](https://github.com/httprb/http/blob/main/CHANGES.md)
- [Commits](https://github.com/httprb/http/compare/v5.1.0...v5.1.1)

---
updated-dependencies:
- dependency-name: http
  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>
919747322f
Bump scenic from 1.6.0 to 1.7.0 (#22258)
Bumps [scenic](https://github.com/scenic-views/scenic) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/scenic-views/scenic/releases)
- [Changelog](https://github.com/scenic-views/scenic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/scenic-views/scenic/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: scenic
  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>
628b350516
Bump fog-openstack from 0.3.2 to 0.3.10 (#22542)
Bumps [fog-openstack](https://github.com/fog/fog-openstack) from 0.3.2 to 0.3.10.
- [Release notes](https://github.com/fog/fog-openstack/releases)
- [Changelog](https://github.com/fog/fog-openstack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fog/fog-openstack/compare/v0.3.2...v0.3.10)

---
updated-dependencies:
- dependency-name: fog-openstack
  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>
749c360ba0
Reuse upstream's “Posts and replies” as column heading (#2023)
Upstream does not have a column heading for “Posts and replies”, but the
text itself exists in a similar context, so re-use that translatable
string so that we can use upstream's translations.
ee71d42c29
Add missing translation keys (#2010)
* Add missing locale keys

Added missing translation keys to en.js to make translation easier and more complete.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>

* Remove translation keys for explore

Have been added to vanilla in #2014

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>

* Remove unused key

Sorry, originally worked on this on my custom fork, which has this key, before I decided to work on glitch.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
de21695162
New Crowdin updates (#22354)
* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

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

* New translations en.json (Burmese)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

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

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

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

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

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

* New translations en.json (Scots)

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Korean)

* New translations en.yml (Galician)

* New translations doorkeeper.en.yml (Korean)

* New translations doorkeeper.en.yml (Galician)

* New translations en.json (Spanish)

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Greek)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations en.json (German)

* New translations en.json (Italian)

* New translations en.json (Slovenian)

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

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Estonian)

* New translations en.json (Welsh)

* New translations en.yml (Spanish)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Spanish)

* New translations en.json (Faroese)

* New translations en.json (Latin)

* New translations en.json (Catalan)

* New translations en.json (Vietnamese)

* New translations en.yml (Bulgarian)

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

* New translations en.json (Frisian)

* New translations en.json (Hebrew)

* New translations en.json (Latvian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations devise.en.yml (Dutch)

* New translations en.json (Catalan)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (German)

* New translations en.json (German)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (German)

* New translations en.json (Latin)

* New translations simple_form.en.yml (Frisian)

* New translations en.json (French)

* New translations en.json (Hungarian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Latin)

* New translations en.yml (Portuguese)

* New translations doorkeeper.en.yml (Portuguese)

* New translations en.json (Albanian)

* New translations en.yml (Hebrew)

* New translations en.yml (Albanian)

* New translations doorkeeper.en.yml (Albanian)

* New translations en.json (Norwegian)

* New translations en.json (Russian)

* New translations en.json (Thai)

* New translations en.yml (Bulgarian)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Thai)

* New translations en.json (Asturian)

* New translations en.yml (Norwegian)

* New translations en.json (Danish)

* New translations en.json (Finnish)

* New translations en.json (Occitan)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations en.yml (Thai)

* New translations en.json (Persian)

* New translations doorkeeper.en.yml (Spanish, Argentina)

* New translations en.yml (Bulgarian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.yml (Korean)

* New translations en.json (Japanese)

* New translations en.json (Turkish)

* New translations en.yml (Turkish)

* New translations doorkeeper.en.yml (Turkish)

* New translations en.json (Czech)

* New translations en.yml (Czech)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Thai)

* New translations en.json (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Indonesian)

* New translations en.json (Estonian)

* New translations en.yml (Indonesian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.yml (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Polish)

* New translations en.yml (Polish)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Basque)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Estonian)

* New translations en.yml (Basque)

* New translations en.yml (Estonian)

* New translations en.json (French)

* New translations en.json (Estonian)

* New translations en.yml (French)

* New translations en.yml (Bulgarian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations activerecord.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (German)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (Bengali)

* New translations en.json (Estonian)

* New translations en.yml (Swedish)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Swedish)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Icelandic)

* New translations en.yml (Bulgarian)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Bulgarian)

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

* New translations en.yml (Bulgarian)

* New translations en.yml (Korean)

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

* New translations doorkeeper.en.yml (Icelandic)

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

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Japanese)

* New translations en.json (Norwegian Nynorsk)

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

* New translations en.yml (Japanese)

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

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

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Bulgarian)

* New translations en.yml (Thai)

* New translations en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (French)

* New translations doorkeeper.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Dutch)

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

* New translations en.json (Estonian)

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

* New translations en.yml (Polish)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations doorkeeper.en.yml (Chinese Simplified)

* New translations en.yml (Bulgarian)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Chinese Simplified)

* New translations doorkeeper.en.yml (Czech)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Frisian)

* New translations en.yml (Bulgarian)

* Normalize

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

* Normalize

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

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

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

* New translations en.yml (Bulgarian)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
dac312a11a
Bump fog-core from 2.1.0 to 2.3.0 (#22544)
Bumps [fog-core](https://github.com/fog/fog-core) from 2.1.0 to 2.3.0.
- [Release notes](https://github.com/fog/fog-core/releases)
- [Changelog](https://github.com/fog/fog-core/blob/master/changelog.md)
- [Commits](https://github.com/fog/fog-core/compare/v2.1.0...v2.3.0)

---
updated-dependencies:
- dependency-name: fog-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>
a0af356df6
Bump fog-openstack from 0.3.2 to 0.3.10 (#22593)
Bumps [fog-openstack](https://github.com/fog/fog-openstack) from 0.3.2 to 0.3.10.
- [Release notes](https://github.com/fog/fog-openstack/releases)
- [Changelog](https://github.com/fog/fog-openstack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fog/fog-openstack/compare/v0.3.2...v0.3.10)

---
updated-dependencies:
- dependency-name: fog-openstack
  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>
fbe2c95ff1
Bump fog-core from 2.1.0 to 2.3.0 (#22596)
Bumps [fog-core](https://github.com/fog/fog-core) from 2.1.0 to 2.3.0.
- [Release notes](https://github.com/fog/fog-core/releases)
- [Changelog](https://github.com/fog/fog-core/blob/master/changelog.md)
- [Commits](https://github.com/fog/fog-core/compare/v2.1.0...v2.3.0)

---
updated-dependencies:
- dependency-name: fog-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>
c4a429ed47
Bump fog-openstack from 0.3.2 to 0.3.10 (#22597)
Bumps [fog-openstack](https://github.com/fog/fog-openstack) from 0.3.2 to 0.3.10.
- [Release notes](https://github.com/fog/fog-openstack/releases)
- [Changelog](https://github.com/fog/fog-openstack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fog/fog-openstack/compare/v0.3.2...v0.3.10)

---
updated-dependencies:
- dependency-name: fog-openstack
  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>
18bcabf26a
Change i18n-tasks config to consider glitch-soc translation files (#2027)
* Change i18n-tasks config to consider glitch-soc translation files

* Normalize locales-glitch YML files

* Consider upstream Rails translations as external

* Add simple_form.glitch_only to ignore_unused

* Remove unused keybase-related strings
a5e446a4a0
Change locales file generation to use JSON sources (#2028)
* Change locales file generation to use JSON sources

Instead of inheriting in JS files, set locale inheritance in the
theme's YML file, and inherit in the generated locale file, rather
than the source file.

* Convert glitch-soc JS translation files to JSON

Obtained running the following:

```sh
sed -i -z "s/import inherited from '.*';\s*\nconst messages = //" *.js
sed -i "s/\s*\/\/.*//" *.js
sed -i -z "s/;\s*export default .*/\n/" *.js
for i in *.js; do
  json5 $i | json_pp > ${i}on;
done
```

* Change `yarn manage:translations` to exclude any translation already defined upstream

* Run yarn manage:translations
0b71a4770f
New Crowdin updates (#2032)
* New translations en.json (French)
[ci skip]

* New translations en.json (Belarusian)
[ci skip]

* New translations en.json (Frisian)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.json (English, United Kingdom)
[ci skip]

* New translations en.json (Burmese)
[ci skip]

* New translations en.json (Faroese)
[ci skip]

* New translations en.json (Latin)
[ci skip]

* New translations en.json (Bosnian)
[ci skip]

* New translations en.json (French, Quebec)
[ci skip]

* New translations en.json (Aragonese)
[ci skip]

* New translations en.json (Scots)
[ci skip]

* New translations en.json (Igbo)
[ci skip]

* New translations en.yml (Romanian)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Afrikaans)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.yml (Belarusian)
[ci skip]

* New translations en.yml (Bulgarian)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations en.yml (Frisian)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations en.yml (Finnish)
[ci skip]

* New translations en.yml (Irish)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations en.yml (Hungarian)
[ci skip]

* New translations en.yml (Armenian)
[ci skip]

* New translations en.yml (Italian)
[ci skip]

* New translations en.yml (Japanese)
[ci skip]

* New translations en.yml (Georgian)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.yml (Lithuanian)
[ci skip]

* New translations en.yml (Macedonian)
[ci skip]

* New translations en.yml (Dutch)
[ci skip]

* New translations en.yml (Norwegian)
[ci skip]

* New translations en.yml (Punjabi)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Albanian)
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations en.yml (Turkish)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Traditional)
[ci skip]

* New translations en.yml (Urdu (Pakistan))
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Galician)
[ci skip]

* New translations en.yml (Icelandic)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Indonesian)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations en.yml (Tamil)
[ci skip]

* New translations en.yml (Spanish, Argentina)
[ci skip]

* New translations en.yml (Spanish, Mexico)
[ci skip]

* New translations en.yml (Bengali)
[ci skip]

* New translations en.yml (Marathi)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Croatian)
[ci skip]

* New translations en.yml (Norwegian Nynorsk)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.yml (Estonian)
[ci skip]

* New translations en.yml (Latvian)
[ci skip]

* New translations en.yml (Hindi)
[ci skip]

* New translations en.yml (Malay)
[ci skip]

* New translations en.yml (Telugu)
[ci skip]

* New translations en.yml (English, United Kingdom)
[ci skip]

* New translations en.yml (Burmese)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations en.yml (Faroese)
[ci skip]

* New translations en.yml (Esperanto)
[ci skip]

* New translations en.yml (Uyghur)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Tatar)
[ci skip]

* New translations en.yml (Malayalam)
[ci skip]

* New translations en.yml (Breton)
[ci skip]

* New translations en.yml (Latin)
[ci skip]

* New translations en.yml (Bosnian)
[ci skip]

* New translations en.yml (French, Quebec)
[ci skip]

* New translations en.yml (Sinhala)
[ci skip]

* New translations en.yml (Cornish)
[ci skip]

* New translations en.yml (Kannada)
[ci skip]

* New translations en.yml (Scottish Gaelic)
[ci skip]

* New translations en.yml (Asturian)
[ci skip]

* New translations en.yml (Aragonese)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Kurmanji (Kurdish))
[ci skip]

* New translations en.yml (Sorani (Kurdish))
[ci skip]

* New translations en.yml (Scots)
[ci skip]

* New translations en.yml (Igbo)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.yml (Sardinian)
[ci skip]

* New translations en.yml (Sanskrit)
[ci skip]

* New translations en.yml (Kabyle)
[ci skip]

* New translations en.yml (Ido)
[ci skip]

* New translations simple_form.en.yml (Romanian)
[ci skip]

* New translations simple_form.en.yml (French)
[ci skip]

* New translations simple_form.en.yml (Spanish)
[ci skip]

* New translations simple_form.en.yml (Afrikaans)
[ci skip]

* New translations simple_form.en.yml (Arabic)
[ci skip]

* New translations simple_form.en.yml (Belarusian)
[ci skip]

* New translations simple_form.en.yml (Bulgarian)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations simple_form.en.yml (Danish)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (Greek)
[ci skip]

* New translations simple_form.en.yml (Frisian)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations simple_form.en.yml (Finnish)
[ci skip]

* New translations simple_form.en.yml (Irish)
[ci skip]

* New translations simple_form.en.yml (Hebrew)
[ci skip]

* New translations simple_form.en.yml (Hungarian)
[ci skip]

* New translations simple_form.en.yml (Armenian)
[ci skip]

* New translations simple_form.en.yml (Italian)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Georgian)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]

* New translations simple_form.en.yml (Lithuanian)
[ci skip]

* New translations simple_form.en.yml (Macedonian)
[ci skip]

* New translations simple_form.en.yml (Dutch)
[ci skip]

* New translations simple_form.en.yml (Norwegian)
[ci skip]

* New translations simple_form.en.yml (Punjabi)
[ci skip]

* New translations simple_form.en.yml (Polish)
[ci skip]

* New translations simple_form.en.yml (Portuguese)
[ci skip]

* New translations simple_form.en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Slovak)
[ci skip]

* New translations simple_form.en.yml (Slovenian)
[ci skip]

* New translations simple_form.en.yml (Albanian)
[ci skip]

* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations simple_form.en.yml (Swedish)
[ci skip]

* New translations simple_form.en.yml (Turkish)
[ci skip]

* New translations simple_form.en.yml (Ukrainian)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]

* New translations simple_form.en.yml (Urdu (Pakistan))
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Galician)
[ci skip]

* New translations simple_form.en.yml (Icelandic)
[ci skip]

* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations simple_form.en.yml (Indonesian)
[ci skip]

* New translations simple_form.en.yml (Persian)
[ci skip]

* New translations simple_form.en.yml (Tamil)
[ci skip]

* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]

* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]

* New translations simple_form.en.yml (Bengali)
[ci skip]

* New translations simple_form.en.yml (Marathi)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations simple_form.en.yml (Croatian)
[ci skip]

* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]

* New translations simple_form.en.yml (Kazakh)
[ci skip]

* New translations simple_form.en.yml (Estonian)
[ci skip]

* New translations simple_form.en.yml (Latvian)
[ci skip]

* New translations simple_form.en.yml (Hindi)
[ci skip]

* New translations simple_form.en.yml (Malay)
[ci skip]

* New translations simple_form.en.yml (Telugu)
[ci skip]

* New translations simple_form.en.yml (English, United Kingdom)
[ci skip]

* New translations simple_form.en.yml (Burmese)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Faroese)
[ci skip]

* New translations simple_form.en.yml (Esperanto)
[ci skip]

* New translations simple_form.en.yml (Uyghur)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations simple_form.en.yml (Tatar)
[ci skip]

* New translations simple_form.en.yml (Malayalam)
[ci skip]

* New translations simple_form.en.yml (Breton)
[ci skip]

* New translations simple_form.en.yml (Latin)
[ci skip]

* New translations simple_form.en.yml (Bosnian)
[ci skip]

* New translations simple_form.en.yml (French, Quebec)
[ci skip]

* New translations simple_form.en.yml (Sinhala)
[ci skip]

* New translations simple_form.en.yml (Cornish)
[ci skip]

* New translations simple_form.en.yml (Kannada)
[ci skip]

* New translations simple_form.en.yml (Scottish Gaelic)
[ci skip]

* New translations simple_form.en.yml (Asturian)
[ci skip]

* New translations simple_form.en.yml (Aragonese)
[ci skip]

* New translations simple_form.en.yml (Occitan)
[ci skip]

* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]

* New translations simple_form.en.yml (Kurmanji (Kurdish))
[ci skip]

* New translations simple_form.en.yml (Sorani (Kurdish))
[ci skip]

* New translations simple_form.en.yml (Scots)
[ci skip]

* New translations simple_form.en.yml (Igbo)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Sardinian)
[ci skip]

* New translations simple_form.en.yml (Sanskrit)
[ci skip]

* New translations simple_form.en.yml (Kabyle)
[ci skip]

* New translations simple_form.en.yml (Ido)
[ci skip]
22d9306edc
Add links to glitch-soc's Crowdin (#2033)
* Add link to glitch-soc's crowdin in app settings

* Add mention of translations to CONTRIBUTING.md
deb804c954
New Crowdin updates (#2034)
* New translations en.json (Lithuanian)
[ci skip]

* New translations en.json (Macedonian)
[ci skip]

* New translations en.json (Dutch)
[ci skip]

* New translations en.json (Norwegian)
[ci skip]

* New translations en.json (Punjabi)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations en.json (Portuguese)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Slovak)
[ci skip]

* New translations en.json (Slovenian)
[ci skip]

* New translations en.json (Albanian)
[ci skip]

* New translations en.json (Serbian (Cyrillic))
[ci skip]

* New translations en.json (Swedish)
[ci skip]

* New translations en.json (Turkish)
[ci skip]

* New translations en.json (Ukrainian)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Traditional)
[ci skip]

* New translations en.json (Urdu (Pakistan))
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.json (Icelandic)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Indonesian)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.json (Tamil)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Marathi)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations en.json (Croatian)
[ci skip]

* New translations en.json (Norwegian Nynorsk)
[ci skip]

* New translations en.json (Kazakh)
[ci skip]

* New translations en.json (Estonian)
[ci skip]

* New translations en.json (Latvian)
[ci skip]

* New translations en.json (Hindi)
[ci skip]

* New translations en.json (Malay)
[ci skip]

* New translations en.json (Telugu)
[ci skip]

* New translations en.json (English, United Kingdom)
[ci skip]

* New translations en.json (Burmese)
[ci skip]

* New translations en.json (Welsh)
[ci skip]

* New translations en.json (Faroese)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Uyghur)
[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.json (Tatar)
[ci skip]

* New translations en.json (Malayalam)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Latin)
[ci skip]

* New translations en.json (Bosnian)
[ci skip]

* New translations en.json (French, Quebec)
[ci skip]

* New translations en.json (Sinhala)
[ci skip]

* New translations en.json (Cornish)
[ci skip]

* New translations en.json (Kannada)
[ci skip]

* New translations en.json (Scottish Gaelic)
[ci skip]

* New translations en.json (Asturian)
[ci skip]

* New translations en.json (Aragonese)
[ci skip]

* New translations en.json (Occitan)
[ci skip]

* New translations en.json (Serbian (Latin))
[ci skip]

* New translations en.json (Kurmanji (Kurdish))
[ci skip]

* New translations en.json (Sorani (Kurdish))
[ci skip]

* New translations en.json (Scots)
[ci skip]

* New translations en.json (Igbo)
[ci skip]

* New translations en.json (Corsican)
[ci skip]

* New translations en.json (Sardinian)
[ci skip]

* New translations en.json (Sanskrit)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations en.json (Ido)
[ci skip]

* New translations en.yml (Romanian)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Afrikaans)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.yml (Belarusian)
[ci skip]

* New translations en.yml (Bulgarian)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Czech)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations en.yml (Frisian)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations en.yml (Finnish)
[ci skip]

* New translations en.yml (Irish)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations en.yml (Hungarian)
[ci skip]

* New translations en.yml (Armenian)
[ci skip]

* New translations en.yml (Italian)
[ci skip]

* New translations en.yml (Japanese)
[ci skip]

* New translations en.yml (Georgian)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.yml (Lithuanian)
[ci skip]

* New translations en.yml (Macedonian)
[ci skip]

* New translations en.yml (Dutch)
[ci skip]

* New translations en.yml (Norwegian)
[ci skip]

* New translations en.yml (Punjabi)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Albanian)
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations en.yml (Turkish)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Traditional)
[ci skip]

* New translations en.yml (Urdu (Pakistan))
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Galician)
[ci skip]

* New translations en.yml (Icelandic)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Indonesian)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations en.yml (Tamil)
[ci skip]

* New translations en.yml (Spanish, Argentina)
[ci skip]

* New translations en.yml (Spanish, Mexico)
[ci skip]

* New translations en.yml (Bengali)
[ci skip]

* New translations en.yml (Marathi)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Croatian)
[ci skip]

* New translations en.yml (Norwegian Nynorsk)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.yml (Estonian)
[ci skip]

* New translations en.yml (Latvian)
[ci skip]

* New translations en.yml (Hindi)
[ci skip]

* New translations en.yml (Malay)
[ci skip]

* New translations en.yml (Telugu)
[ci skip]

* New translations en.yml (English, United Kingdom)
[ci skip]

* New translations en.yml (Burmese)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations en.yml (Faroese)
[ci skip]

* New translations en.yml (Esperanto)
[ci skip]

* New translations en.yml (Uyghur)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Tatar)
[ci skip]

* New translations en.yml (Malayalam)
[ci skip]

* New translations en.yml (Breton)
[ci skip]

* New translations en.yml (Latin)
[ci skip]

* New translations en.yml (Bosnian)
[ci skip]

* New translations en.yml (French, Quebec)
[ci skip]

* New translations en.yml (Sinhala)
[ci skip]

* New translations en.yml (Cornish)
[ci skip]

* New translations en.yml (Kannada)
[ci skip]

* New translations en.yml (Scottish Gaelic)
[ci skip]

* New translations en.yml (Asturian)
[ci skip]

* New translations en.yml (Aragonese)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Kurmanji (Kurdish))
[ci skip]

* New translations en.yml (Sorani (Kurdish))
[ci skip]

* New translations en.yml (Scots)
[ci skip]

* New translations en.yml (Igbo)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.yml (Sardinian)
[ci skip]

* New translations en.yml (Sanskrit)
[ci skip]

* New translations en.yml (Kabyle)
[ci skip]

* New translations en.yml (Ido)
[ci skip]

* New translations simple_form.en.yml (Romanian)
[ci skip]

* New translations simple_form.en.yml (French)
[ci skip]

* New translations simple_form.en.yml (Spanish)
[ci skip]

* New translations simple_form.en.yml (Afrikaans)
[ci skip]

* New translations simple_form.en.yml (Arabic)
[ci skip]

* New translations simple_form.en.yml (Belarusian)
[ci skip]

* New translations simple_form.en.yml (Bulgarian)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations simple_form.en.yml (Czech)
[ci skip]

* New translations simple_form.en.yml (Danish)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (Greek)
[ci skip]

* New translations simple_form.en.yml (Frisian)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations simple_form.en.yml (Finnish)
[ci skip]

* New translations simple_form.en.yml (Irish)
[ci skip]

* New translations simple_form.en.yml (Hebrew)
[ci skip]

* New translations simple_form.en.yml (Hungarian)
[ci skip]

* New translations simple_form.en.yml (Armenian)
[ci skip]

* New translations simple_form.en.yml (Italian)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Georgian)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]

* New translations simple_form.en.yml (Lithuanian)
[ci skip]

* New translations simple_form.en.yml (Macedonian)
[ci skip]

* New translations simple_form.en.yml (Dutch)
[ci skip]

* New translations simple_form.en.yml (Norwegian)
[ci skip]

* New translations simple_form.en.yml (Punjabi)
[ci skip]

* New translations simple_form.en.yml (Polish)
[ci skip]

* New translations simple_form.en.yml (Portuguese)
[ci skip]

* New translations simple_form.en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Slovak)
[ci skip]

* New translations simple_form.en.yml (Slovenian)
[ci skip]

* New translations simple_form.en.yml (Albanian)
[ci skip]

* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations simple_form.en.yml (Swedish)
[ci skip]

* New translations simple_form.en.yml (Turkish)
[ci skip]

* New translations simple_form.en.yml (Ukrainian)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]

* New translations simple_form.en.yml (Urdu (Pakistan))
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Galician)
[ci skip]

* New translations simple_form.en.yml (Icelandic)
[ci skip]

* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations simple_form.en.yml (Indonesian)
[ci skip]

* New translations simple_form.en.yml (Persian)
[ci skip]

* New translations simple_form.en.yml (Tamil)
[ci skip]

* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]

* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]

* New translations simple_form.en.yml (Bengali)
[ci skip]

* New translations simple_form.en.yml (Marathi)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations simple_form.en.yml (Croatian)
[ci skip]

* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]

* New translations simple_form.en.yml (Kazakh)
[ci skip]

* New translations simple_form.en.yml (Estonian)
[ci skip]

* New translations simple_form.en.yml (Latvian)
[ci skip]

* New translations simple_form.en.yml (Hindi)
[ci skip]

* New translations simple_form.en.yml (Malay)
[ci skip]

* New translations simple_form.en.yml (Telugu)
[ci skip]

* New translations simple_form.en.yml (English, United Kingdom)
[ci skip]

* New translations simple_form.en.yml (Burmese)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Faroese)
[ci skip]

* New translations simple_form.en.yml (Esperanto)
[ci skip]

* New translations simple_form.en.yml (Uyghur)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations simple_form.en.yml (Tatar)
[ci skip]

* New translations simple_form.en.yml (Malayalam)
[ci skip]

* New translations simple_form.en.yml (Breton)
[ci skip]

* New translations simple_form.en.yml (Latin)
[ci skip]

* New translations simple_form.en.yml (Bosnian)
[ci skip]

* New translations simple_form.en.yml (French, Quebec)
[ci skip]

* New translations simple_form.en.yml (Sinhala)
[ci skip]

* New translations simple_form.en.yml (Cornish)
[ci skip]

* New translations simple_form.en.yml (Kannada)
[ci skip]

* New translations simple_form.en.yml (Scottish Gaelic)
[ci skip]

* New translations simple_form.en.yml (Asturian)
[ci skip]

* New translations simple_form.en.yml (Aragonese)
[ci skip]

* New translations simple_form.en.yml (Occitan)
[ci skip]

* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]

* New translations simple_form.en.yml (Kurmanji (Kurdish))
[ci skip]

* New translations simple_form.en.yml (Sorani (Kurdish))
[ci skip]

* New translations simple_form.en.yml (Scots)
[ci skip]

* New translations simple_form.en.yml (Igbo)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Sardinian)
[ci skip]

* New translations simple_form.en.yml (Sanskrit)
[ci skip]

* New translations simple_form.en.yml (Kabyle)
[ci skip]

* New translations simple_form.en.yml (Ido)
[ci skip]
dbc3890489
New Crowdin updates (#2035)
* New translations en.json (Russian)
[ci skip]

* New translations en.json (Slovak)
[ci skip]

* New translations en.json (Slovenian)
[ci skip]

* New translations en.json (Albanian)
[ci skip]

* New translations en.json (Serbian (Cyrillic))
[ci skip]

* New translations en.json (Swedish)
[ci skip]

* New translations en.json (Turkish)
[ci skip]

* New translations en.json (Ukrainian)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Traditional)
[ci skip]

* New translations en.json (Urdu (Pakistan))
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.json (Icelandic)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Indonesian)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.json (Tamil)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Marathi)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations en.json (Croatian)
[ci skip]

* New translations en.json (Norwegian Nynorsk)
[ci skip]

* New translations en.json (Kazakh)
[ci skip]

* New translations en.json (Estonian)
[ci skip]

* New translations en.json (Latvian)
[ci skip]

* New translations en.json (Hindi)
[ci skip]

* New translations en.json (Malay)
[ci skip]

* New translations en.json (Telugu)
[ci skip]

* New translations en.json (English, United Kingdom)
[ci skip]

* New translations en.json (Burmese)
[ci skip]

* New translations en.json (Welsh)
[ci skip]

* New translations en.json (Faroese)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Uyghur)
[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.json (Tatar)
[ci skip]

* New translations en.json (Malayalam)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Latin)
[ci skip]

* New translations en.json (Bosnian)
[ci skip]

* New translations en.json (French, Quebec)
[ci skip]

* New translations en.json (Sinhala)
[ci skip]

* New translations en.json (Cornish)
[ci skip]

* New translations en.json (Kannada)
[ci skip]

* New translations en.json (Scottish Gaelic)
[ci skip]

* New translations en.json (Asturian)
[ci skip]

* New translations en.json (Aragonese)
[ci skip]

* New translations en.json (Occitan)
[ci skip]

* New translations en.json (Serbian (Latin))
[ci skip]

* New translations en.json (Kurmanji (Kurdish))
[ci skip]

* New translations en.json (Sorani (Kurdish))
[ci skip]

* New translations en.json (Scots)
[ci skip]

* New translations en.json (Igbo)
[ci skip]

* New translations en.json (Corsican)
[ci skip]

* New translations en.json (Sardinian)
[ci skip]

* New translations en.json (Sanskrit)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations en.json (Ido)
[ci skip]

* New translations en.yml (Romanian)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Afrikaans)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.yml (Belarusian)
[ci skip]

* New translations en.yml (Bulgarian)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Czech)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations en.yml (Frisian)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations en.yml (Finnish)
[ci skip]

* New translations en.yml (Irish)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations en.yml (Hungarian)
[ci skip]

* New translations en.yml (Armenian)
[ci skip]

* New translations en.yml (Italian)
[ci skip]

* New translations en.yml (Japanese)
[ci skip]

* New translations en.yml (Georgian)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.yml (Lithuanian)
[ci skip]

* New translations en.yml (Macedonian)
[ci skip]

* New translations en.yml (Dutch)
[ci skip]

* New translations en.yml (Norwegian)
[ci skip]

* New translations en.yml (Punjabi)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Albanian)
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations en.yml (Turkish)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Traditional)
[ci skip]

* New translations en.yml (Urdu (Pakistan))
[ci skip]

* New translations en.yml (Vietnamese)
[ci skip]

* New translations en.yml (Galician)
[ci skip]

* New translations en.yml (Icelandic)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Indonesian)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations en.yml (Tamil)
[ci skip]

* New translations en.yml (Spanish, Argentina)
[ci skip]

* New translations en.yml (Spanish, Mexico)
[ci skip]

* New translations en.yml (Bengali)
[ci skip]

* New translations en.yml (Marathi)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Croatian)
[ci skip]

* New translations en.yml (Norwegian Nynorsk)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.yml (Estonian)
[ci skip]

* New translations en.yml (Latvian)
[ci skip]

* New translations en.yml (Hindi)
[ci skip]

* New translations en.yml (Malay)
[ci skip]

* New translations en.yml (Telugu)
[ci skip]

* New translations en.yml (English, United Kingdom)
[ci skip]

* New translations en.yml (Burmese)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations en.yml (Faroese)
[ci skip]

* New translations en.yml (Esperanto)
[ci skip]

* New translations en.yml (Uyghur)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Tatar)
[ci skip]

* New translations en.yml (Malayalam)
[ci skip]

* New translations en.yml (Breton)
[ci skip]

* New translations en.yml (Latin)
[ci skip]

* New translations en.yml (Bosnian)
[ci skip]

* New translations en.yml (French, Quebec)
[ci skip]

* New translations en.yml (Sinhala)
[ci skip]

* New translations en.yml (Cornish)
[ci skip]

* New translations en.yml (Kannada)
[ci skip]

* New translations en.yml (Scottish Gaelic)
[ci skip]

* New translations en.yml (Asturian)
[ci skip]

* New translations en.yml (Aragonese)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Kurmanji (Kurdish))
[ci skip]

* New translations en.yml (Sorani (Kurdish))
[ci skip]

* New translations en.yml (Scots)
[ci skip]

* New translations en.yml (Igbo)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.yml (Sardinian)
[ci skip]

* New translations en.yml (Sanskrit)
[ci skip]

* New translations en.yml (Kabyle)
[ci skip]

* New translations en.yml (Ido)
[ci skip]

* New translations simple_form.en.yml (Romanian)
[ci skip]

* New translations simple_form.en.yml (French)
[ci skip]

* New translations simple_form.en.yml (Spanish)
[ci skip]

* New translations simple_form.en.yml (Afrikaans)
[ci skip]

* New translations simple_form.en.yml (Arabic)
[ci skip]

* New translations simple_form.en.yml (Belarusian)
[ci skip]

* New translations simple_form.en.yml (Bulgarian)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations simple_form.en.yml (Czech)
[ci skip]

* New translations simple_form.en.yml (Danish)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (Greek)
[ci skip]

* New translations simple_form.en.yml (Frisian)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations simple_form.en.yml (Finnish)
[ci skip]

* New translations simple_form.en.yml (Irish)
[ci skip]

* New translations simple_form.en.yml (Hebrew)
[ci skip]

* New translations simple_form.en.yml (Hungarian)
[ci skip]

* New translations simple_form.en.yml (Armenian)
[ci skip]

* New translations simple_form.en.yml (Italian)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Georgian)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]

* New translations simple_form.en.yml (Lithuanian)
[ci skip]

* New translations simple_form.en.yml (Macedonian)
[ci skip]

* New translations simple_form.en.yml (Dutch)
[ci skip]

* New translations simple_form.en.yml (Norwegian)
[ci skip]

* New translations simple_form.en.yml (Punjabi)
[ci skip]

* New translations simple_form.en.yml (Polish)
[ci skip]

* New translations simple_form.en.yml (Portuguese)
[ci skip]

* New translations simple_form.en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Slovak)
[ci skip]

* New translations simple_form.en.yml (Slovenian)
[ci skip]

* New translations simple_form.en.yml (Albanian)
[ci skip]

* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations simple_form.en.yml (Swedish)
[ci skip]

* New translations simple_form.en.yml (Turkish)
[ci skip]

* New translations simple_form.en.yml (Ukrainian)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]

* New translations simple_form.en.yml (Urdu (Pakistan))
[ci skip]

* New translations simple_form.en.yml (Vietnamese)
[ci skip]

* New translations simple_form.en.yml (Galician)
[ci skip]

* New translations simple_form.en.yml (Icelandic)
[ci skip]

* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations simple_form.en.yml (Indonesian)
[ci skip]

* New translations simple_form.en.yml (Persian)
[ci skip]

* New translations simple_form.en.yml (Tamil)
[ci skip]

* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]

* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]

* New translations simple_form.en.yml (Bengali)
[ci skip]

* New translations simple_form.en.yml (Marathi)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations simple_form.en.yml (Croatian)
[ci skip]

* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]

* New translations simple_form.en.yml (Kazakh)
[ci skip]

* New translations simple_form.en.yml (Estonian)
[ci skip]

* New translations simple_form.en.yml (Latvian)
[ci skip]

* New translations simple_form.en.yml (Hindi)
[ci skip]

* New translations simple_form.en.yml (Malay)
[ci skip]

* New translations simple_form.en.yml (Telugu)
[ci skip]

* New translations simple_form.en.yml (English, United Kingdom)
[ci skip]

* New translations simple_form.en.yml (Burmese)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Faroese)
[ci skip]

* New translations simple_form.en.yml (Esperanto)
[ci skip]

* New translations simple_form.en.yml (Uyghur)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations simple_form.en.yml (Tatar)
[ci skip]

* New translations simple_form.en.yml (Malayalam)
[ci skip]

* New translations simple_form.en.yml (Breton)
[ci skip]

* New translations simple_form.en.yml (Latin)
[ci skip]

* New translations simple_form.en.yml (Bosnian)
[ci skip]

* New translations simple_form.en.yml (French, Quebec)
[ci skip]

* New translations simple_form.en.yml (Sinhala)
[ci skip]

* New translations simple_form.en.yml (Cornish)
[ci skip]

* New translations simple_form.en.yml (Kannada)
[ci skip]

* New translations simple_form.en.yml (Scottish Gaelic)
[ci skip]

* New translations simple_form.en.yml (Asturian)
[ci skip]

* New translations simple_form.en.yml (Aragonese)
[ci skip]

* New translations simple_form.en.yml (Occitan)
[ci skip]

* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]

* New translations simple_form.en.yml (Kurmanji (Kurdish))
[ci skip]

* New translations simple_form.en.yml (Sorani (Kurdish))
[ci skip]

* New translations simple_form.en.yml (Scots)
[ci skip]

* New translations simple_form.en.yml (Igbo)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Sardinian)
[ci skip]

* New translations simple_form.en.yml (Sanskrit)
[ci skip]

* New translations simple_form.en.yml (Kabyle)
[ci skip]

* New translations simple_form.en.yml (Ido)
[ci skip]

* New translations en.json (Afrikaans)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]
8b8ca8d71b
New Crowdin updates (#2036)
* New translations en.json (Afrikaans)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]
f79ab85a6a
New Crowdin updates (#2037)
* New translations en.json (German)
[ci skip]

* New translations en.json (French)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations simple_form.en.yml (French)
[ci skip]
db420fb779
New Crowdin updates (#2041)
* New translations en.json (French)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Japanese)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.json (French, Quebec)
[ci skip]

* New translations en.yml (French, Quebec)
[ci skip]

* New translations simple_form.en.yml (French)
[ci skip]

* New translations simple_form.en.yml (French, Quebec)
[ci skip]
6cde3dd08b
Wraps status timestamps in a `div` (#2038)
* Wraps status timestamps in a `div`

Fixes #1985

This wraps the status timestamp in a `div` to reduce the clickable
target size of the link. The `div` gets a `margin: 0 0 0 auto` to stick
it to the right margin of the status.

* Update app/javascript/flavours/glitch/styles/components/status.scss

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

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4eacf6c75f
New Crowdin updates (#2042)
* New translations en.json (French)
[ci skip]

* New translations en.json (French, Quebec)
[ci skip]
05b3907b0c
New Crowdin updates (#2043)
* New translations en.json (German)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.yml (German)
[ci skip]
4b51d1386b
Realign timestamps (#2044)
Add missing display and overflow properties.

Fixes misaligned timestamps and missing overflow in search.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
08837f730d
Use wrapper div as a spacer (#2046)
Keeps the alignment of timestamps, while also reducing clickable size

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
cbfeb105a8
New Crowdin updates (#2045)
* New translations en.json (German)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Hindi)
[ci skip]

* New translations en.json (Hindi)
[ci skip]
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
c66041370c
Merge https://gitea.treehouse.systems/mirrors/mastodon-glitch into merge/glitch-4.0.2
ariadne added 1 commit 2022-12-28 22:28:02 +00:00
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ba8847da0e
woodpecker: use latest docker
ariadne merged commit 31550094b3 into main 2022-12-28 22:38:25 +00:00
Sign in to join this conversation.
There is no content yet.