Commit Graph

6939 Commits (08c0e43b6fca879d7435f63b1b2c718a53c6cacc)

Author SHA1 Message Date
Eugen Rochko 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>
2022-11-25 09:40:05 +09:00
Claire 51a33ce77a
Fix not being able to follow more than one hashtag (#21285)
Fixes regression from #20860
2022-11-21 10:35:09 +01:00
David Leadbeater 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
2022-11-20 19:28:13 +01:00
Claire 48e136605a
Fix form-action CSP directive for external login (#20962) 2022-11-17 22:59:07 +01:00
Claire 4ae97a2e4c
Fix OAuth flow being broken by recent CSP change (#20958) 2022-11-17 21:31:52 +01:00
Eugen Rochko 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>
2022-11-17 21:59:15 +09:00
Claire 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
2022-11-17 11:24:59 +01:00
Rose 4f15fd0ba1
Fix style for hashes (#20518)
* Fix style for hashes

Make the style for hashes consistent.

* New style

More consistency
2022-11-17 11:05:39 +01:00
lenore gilbert 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 cad824d8f5)

Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-17 11:05:09 +01:00
Joshua Wood 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?`
2022-11-17 10:59:35 +01:00
Claire cbb0153bd0
Fix invalid/empty RSS feed link on account pages (#20772)
Fixes #20770
2022-11-17 10:58:33 +01:00
trwnh 7fdeed5fbc
Make tag following idempotent (#20860) 2022-11-17 10:55:59 +01:00
trwnh 72618ebf03
Fix getting a single EmailDomainBlock (#20846) 2022-11-17 10:55:50 +01:00
Claire 00b2720ef0
Change automatic post deletion configuration to be accessible to redirected users (#20774)
Fixes #20550
2022-11-17 10:55:23 +01:00
trwnh e1f819fd78
Fix pagination of followed tags (#20861)
* Fix missing pagination headers on followed tags

* Fix typo
2022-11-17 10:54:10 +01:00
Levi Bard 654d348aac
Make the button that expands the publish form differentiable from the button that publishes a post (#20864) 2022-11-17 10:53:38 +01:00
Claire 0cc77263fc
Change batch account suspension to create a strike (#20897) 2022-11-17 10:52:51 +01:00
Chris Johnson 413481f953
Add maskable icon support for Android (#20904)
* Add maskable icon support for Android

* Update manifest_serializer.rb

* Fix linting issue
2022-11-17 10:52:30 +01:00
nyura123dev aaca78da78
Fix safari explore disappearing tabs (#20917)
* fix disappearing Explore tabs on Safari

* fix lint

Co-authored-by: nyura <nyura@hidden.com>
2022-11-17 08:54:43 +01:00
Daniel Axtens 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.
2022-11-16 04:56:30 +01:00
Eugen Rochko 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>
2022-11-15 14:37:37 +09:00
Eugen Rochko 17bd9a87b9
Fix wrong color on mentions hidden behind content warning in web UI (#20724) 2022-11-15 02:58:00 +01:00
Claire ccbca50a25
Fix nodes order being sometimes mangled when rewriting emoji (#20677)
* Fix front-end emoji tests

* Fix nodes order being sometimes mangled when rewriting emoji
2022-11-14 22:14:55 +01:00
Claire 71c92d3f56
Fix emoji substitution not applying only to text nodes in backend code (#20641)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:21 +01:00
Claire 625e086996
Fix emoji substitution not applying only to text nodes in Web UI (#20640)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:03 +01:00
Claire 2d54986a03
Fix media metadata being only editable once (#20665) 2022-11-14 17:52:31 +01:00
trwnh b59ce0a60f
Move V2 Filter methods under /api/v2 prefix (#20622)
* Move V2 Filter methods under /api/v2 prefix

* move over the tests too
2022-11-14 08:34:07 +01:00
Eugen Rochko 552d69ad96
Fix error when invalid domain name is submitted (#19474)
Fix #19175
2022-11-14 08:07:14 +01:00
Eugen Rochko 523e106cbf
Fix style of username in navigation bar above compose form in web UI (#20628)
Regression from #20540
2022-11-14 08:06:17 +01:00
Eugen Rochko b31afc6294
Fix error when passing unknown filter param in REST API (#20626)
Fix #19156
2022-11-14 08:06:06 +01:00
Eugen Rochko 5c826c408d
Fix image type not being set after conversion for convertible image types (#20624) 2022-11-14 07:13:14 +01:00
Eugen Rochko 167d86d21d
Fix `role_ids` not accepting arrays in admin API (#20625)
Fix #19157
2022-11-14 06:56:15 +01:00
Eugen Rochko 2e2ba39abf
Fix rules with same priority being sorted non-deterministically (#20623) 2022-11-14 06:28:19 +01:00
Eugen Rochko 6da9df774e
Fix dropdown menu on profiles not being accessible on narrow screens in web UI (#20620) 2022-11-14 06:05:10 +01:00
Hampton Lintorn-Catlin 147d8bd8fc
Support UTF-8 Characters in Domains During CSV Import (#20592)
* Support UTF-8 Characters in Domains During Import

* Update Changelong
2022-11-14 05:52:13 +01:00
Eugen Rochko d0b7bd4250
Fix wrong cut-off point for "Read more" in web UI (#20599) 2022-11-14 00:43:24 +01:00
Eugen Rochko 24b2c60beb
Fix icons having an image role (#20600) 2022-11-14 00:38:56 +01:00
trwnh 07229089a6
Change in-app links to keep you in-app (#20540)
* Change in-app links to keep you in-app

* refactor Permalink into Link

* rewrite link hrefs in status content

* please linter

* please linter again
2022-11-13 21:10:20 +01:00
Samuel Kaiser e62b514e95
Stick batch table toolbar to the top (#20442)
Fixes #20441
2022-11-13 21:02:28 +01:00
Claire 3d3bd344cb
Fix announcement dates not being validated client-side (#20577) 2022-11-13 20:58:54 +01:00
Eugen Rochko cf36ee99bb
New Crowdin updates (#20476)
* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations en.json (Japanese)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations en.yml (Norwegian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Latvian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations activerecord.en.yml (Russian)

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

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Norwegian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Malayalam)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Thai)

* New translations devise.en.yml (Welsh)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Irish)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations simple_form.en.yml (Slovak)

* New translations en.json (Thai)

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

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Norwegian)

* New translations en.json (Finnish)

* New translations en.json (Norwegian)

* New translations simple_form.en.yml (Norwegian)

* New translations en.yml (Thai)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Arabic)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.yml (Greek)

* New translations en.yml (German)

* New translations en.yml (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.yml (Finnish)

* New translations en.yml (Basque)

* New translations en.yml (Frisian)

* New translations en.yml (Danish)

* New translations en.yml (Catalan)

* New translations en.yml (Bulgarian)

* New translations en.yml (Arabic)

* New translations en.yml (Afrikaans)

* New translations en.yml (French)

* New translations en.yml (Romanian)

* New translations en.yml (Spanish)

* New translations en.yml (Czech)

* New translations en.yml (Armenian)

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

* New translations en.yml (Vietnamese)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Swedish)

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

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Slovak)

* New translations en.yml (Japanese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Punjabi)

* New translations en.yml (Norwegian)

* New translations en.yml (Dutch)

* New translations en.yml (Macedonian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Korean)

* New translations en.yml (Georgian)

* New translations en.yml (Italian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Turkish)

* New translations en.yml (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

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

* New translations en.yml (Kannada)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations en.yml (Occitan)

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sinhala)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Burmese)

* New translations en.yml (Cornish)

* New translations en.yml (Breton)

* New translations en.yml (Bengali)

* New translations en.yml (Hindi)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Malay)

* New translations en.yml (Malayalam)

* New translations en.yml (Telugu)

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

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

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

* New translations en.yml (Tatar)

* New translations en.yml (Igbo)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Afrikaans)

* New translations en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Catalan)

* New translations en.yml (Greek)

* New translations en.yml (Italian)

* New translations en.yml (Slovenian)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Basque)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Icelandic)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (French)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Esperanto)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Hebrew)

* New translations en.yml (Norwegian)

* New translations en.yml (German)

* New translations en.json (Spanish)

* New translations en.yml (Finnish)

* New translations en.json (Norwegian)

* New translations en.yml (Latvian)

* New translations en.yml (Esperanto)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Esperanto)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-14 01:14:31 +09:00
Claire cf77d938f8
Fix saving server registration settings redirecting to branding settings (#20505) 2022-11-13 03:33:31 +01:00
Eugen Rochko d26c1cb2fe
Fix missing "not recommended" label on "Allow trends without review" (#20480) 2022-11-12 10:54:51 +01:00
Eugen Rochko e1af21cfd0
New Crowdin updates (#20258)
* New translations en.json (Asturian)

* New translations en.yml (Telugu)

* New translations en.yml (Tamil)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.json (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Asturian)

* New translations en.json (Occitan)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (Irish)

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

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Occitan)

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

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

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

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

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

* New translations en.yml (Corsican)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Sinhala)

* New translations en.yml (Kabyle)

* New translations en.yml (Sardinian)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Sanskrit)

* New translations simple_form.en.yml (Tatar)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Esperanto)

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

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Breton)

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

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

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Occitan)

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

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

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

* New translations simple_form.en.yml (Estonian)

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

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Albanian)

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

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Icelandic)

* New translations simple_form.en.yml (Croatian)

* New translations activerecord.en.yml (Icelandic)

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

* New translations simple_form.en.yml (Corsican)

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

* New translations activerecord.en.yml (Slovak)

* New translations activerecord.en.yml (Dutch)

* New translations activerecord.en.yml (Norwegian)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Japanese)

* New translations activerecord.en.yml (Albanian)

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

* New translations activerecord.en.yml (Swedish)

* New translations activerecord.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

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

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Galician)

* New translations activerecord.en.yml (Georgian)

* New translations activerecord.en.yml (Italian)

* New translations activerecord.en.yml (Catalan)

* New translations activerecord.en.yml (Czech)

* New translations activerecord.en.yml (Romanian)

* New translations activerecord.en.yml (French)

* New translations activerecord.en.yml (Spanish)

* New translations activerecord.en.yml (Afrikaans)

* New translations activerecord.en.yml (Arabic)

* New translations activerecord.en.yml (Bulgarian)

* New translations activerecord.en.yml (Armenian)

* New translations activerecord.en.yml (German)

* New translations activerecord.en.yml (Greek)

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Basque)

* New translations activerecord.en.yml (Finnish)

* New translations activerecord.en.yml (Irish)

* New translations activerecord.en.yml (Hebrew)

* New translations activerecord.en.yml (Hungarian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Kabyle)

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

* New translations simple_form.en.yml (Sardinian)

* New translations activerecord.en.yml (Indonesian)

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

* New translations activerecord.en.yml (Breton)

* New translations activerecord.en.yml (Persian)

* New translations activerecord.en.yml (Asturian)

* New translations activerecord.en.yml (Occitan)

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

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

* New translations activerecord.en.yml (Tatar)

* New translations activerecord.en.yml (Corsican)

* New translations en.yml (Burmese)

* New translations en.yml (Igbo)

* New translations activerecord.en.yml (Malayalam)

* New translations activerecord.en.yml (Sinhala)

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

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

* New translations activerecord.en.yml (Tamil)

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

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

* New translations activerecord.en.yml (Bengali)

* New translations activerecord.en.yml (Marathi)

* New translations activerecord.en.yml (Thai)

* New translations activerecord.en.yml (Croatian)

* New translations activerecord.en.yml (Kazakh)

* New translations activerecord.en.yml (Estonian)

* New translations activerecord.en.yml (Latvian)

* New translations activerecord.en.yml (Hindi)

* New translations activerecord.en.yml (Welsh)

* New translations activerecord.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

* New translations activerecord.en.yml (Ido)

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

* New translations en.json (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.json (Hungarian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Chinese Simplified)

* New translations en.json (Vietnamese)

* New translations en.json (Icelandic)

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

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Korean)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Romanian)

* New translations en.json (Catalan)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Norwegian)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Latvian)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.yml (Korean)

* New translations en.json (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

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

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

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Thai)

* New translations en.json (Bulgarian)

* New translations en.yml (Ukrainian)

* New translations en.json (Indonesian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (German)

* New translations en.json (Portuguese)

* New translations en.json (Spanish)

* New translations en.json (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Tamil)

* New translations en.json (Chinese Traditional)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations en.json (Norwegian)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Korean)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.json (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Basque)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Occitan)

* New translations devise.en.yml (Esperanto)

* New translations en.yml (Czech)

* New translations en.json (German)

* New translations en.json (Czech)

* New translations en.json (French)

* New translations en.yml (Hebrew)

* New translations en.json (Norwegian)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations en.json (Ukrainian)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-12 15:56:25 +09:00
Bearice Ren 28cda42af5
fixes ArgumentError when proxy is used (#20420)
* fixes ArgumentError when proxy is used

* Update app/lib/request.rb

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

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-11 21:31:03 +01:00
Jeong Arm c4c1bee880
Fix trendable status without review (#20214) 2022-11-11 21:24:10 +01:00
Claire 93a6ebc83d
Fix WebUI crash when listing server blocks and rationale is not available (#20408)
Regression from #20391

Fixes #20405
2022-11-11 21:23:03 +01:00
Emily Strickland 96f51e593f
Guard against error extracting `body` from URL (#20428)
If `Nokogiri::HTML(value).at_xpath('//body')` fails to find the `body` element, it will return `nil`. We can guard against that with an early return. Avoids calling `children` on `Nilclass` in those cases.
2022-11-11 21:22:28 +01:00
Claire 31005aad12
Add the ability to edit media attachment metadata for any unattached media (#20402) 2022-11-11 21:22:17 +01:00
Cutls 553b169d48
Do not show drag&drop dialog when not logined (#20400)
* Cannot upload until login

* and do not fire upload

* change username props to context
2022-11-11 21:19:48 +01:00
Claire 5e796dc6f8
Remove “No description added” media warning in edit mode (#20393)
Editing media metadata is not currently possible in edit mode, the button would
open the modal but saving the changes would error out.
2022-11-11 09:20:24 +01:00
Eugen Rochko 9bc0a6c861
Fix metadata scrubbing removing color profile from images (#20389) 2022-11-11 09:20:10 +01:00
Eugen Rochko 53028af10e
Bump version to 4.0.0rc3 (#20378) 2022-11-11 08:39:38 +01:00
Eugen Rochko 6774c339b2
Fix domain blocks on about page not working well on small screens in web UI (#20391) 2022-11-11 08:26:58 +01:00
Connor Shea cf4992c918
Only remove padding when listing applications (#20382)
This prevents styling issues on the Authorization page.
2022-11-11 02:55:20 +01:00
Yamagishi Kazutoshi 53d26cfc1c
Delay workbox import (#20376) 2022-11-11 01:33:59 +01:00
Claire 86f6631d28
Remove dead code and refactor status threading code (#20357)
* Remove dead code

* Remove unneeded/broken parameters and refactor descendant computation
2022-11-10 22:30:00 +01:00
F a02a453a40
Add Scots to the supported locales (#20283)
Fixes #20249
2022-11-10 21:11:38 +01:00
Eugen Rochko c6c7c6223d
Change verification to only work for https links (#20304)
Fix #20242
2022-11-10 21:09:03 +01:00
Claire 1615c3eb6e
Change logged out /api/v1/statuses/:id/context logged out limits (#20355) 2022-11-10 21:06:08 +01:00
Claire 894ce3726a
Fix unnecessary service worker registration and preloading when logged out (#20341) 2022-11-10 20:26:04 +01:00
Claire 8e1e7fe2e0
Add old logo files back (#20332)
Fixes #20221
2022-11-10 20:25:12 +01:00
Claire 99734ac936
Remove preview cards from fav and boost notifications (#20335)
Fixes #20329
2022-11-10 19:36:12 +01:00
Eugen Rochko f8e8e622e5
Change incoming activity processing to happen in `ingress` queue (#20264) 2022-11-10 14:21:51 +01:00
Claire 89a6b76f99
Fix color of the “No description added“ media upload warning on light theme (#20328) 2022-11-10 14:21:31 +01:00
Effy Elden 8fdbb4d00d
Remove unused timeline_container to fix linter errors (#20305) 2022-11-10 08:50:45 +01:00
Eugen Rochko 7bdb2433f1
Change larger reblogs/favourites numbers to be shortened in web UI (#20303) 2022-11-10 08:49:59 +01:00
Eugen Rochko 16122761c5
Fix confusing wording in interaction modal in web UI (#20302) 2022-11-10 08:49:48 +01:00
Eugen Rochko ef582dc4f2
Add option to open original page in dropdowns of remote content in web UI (#20299)
Change profile picture click to open profile picture in modal in web UI
2022-11-10 08:49:35 +01:00
Eugen Rochko e37e8deb0f
Fix profile header being cut off in light theme in web UI (#20298) 2022-11-10 07:32:37 +01:00
Eugen Rochko 9965a23b04
Change link verification to ignore IDN domains (#20295)
Fix #3833
2022-11-10 06:27:45 +01:00
James Tucker 78a6b871fe
Improve performance by avoiding regex construction (#20215)
```ruby
10.times { p /#{FOO}/.object_id }
10.times { p FOO_RE.object_id }
```
2022-11-10 05:49:30 +01:00
Eugen Rochko 0cd0786aef
Revert filtering public timelines by locale by default (#20294) 2022-11-10 05:34:42 +01:00
Claire a5394980f2
Fix NameError in Webfinger redirect handling in ActivityPub::FetchRemoteActorService (#20260) 2022-11-09 20:10:38 +01:00
Eugen Rochko cd0a87f170
New Crowdin updates (#20016)
* New translations en.json (Telugu)

* New translations en.yml (Telugu)

* New translations en.yml (Occitan)

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

* New translations en.yml (Kabyle)

* New translations en.json (Igbo)

* New translations en.yml (Burmese)

* New translations en.json (Burmese)

* New translations activerecord.en.yml (Frisian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Silesian)

* New translations en.json (Silesian)

* New translations en.yml (Taigi)

* New translations en.json (Taigi)

* New translations en.json (Kabyle)

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

* New translations en.yml (Sanskrit)

* New translations en.json (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.json (Sardinian)

* New translations en.yml (Corsican)

* New translations en.json (Corsican)

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

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

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

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

* New translations en.yml (Igbo)

* New translations en.json (Hebrew)

* New translations en.json (Polish)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Latvian)

* New translations en.json (Icelandic)

* New translations en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.json (Slovenian)

* New translations en.json (Russian)

* New translations en.json (Italian)

* New translations en.json (German)

* New translations en.yml (Hebrew)

* New translations en.yml (Finnish)

* New translations en.json (Finnish)

* New translations en.yml (Danish)

* New translations en.json (Afrikaans)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Dutch)

* New translations simple_form.en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Spanish, Argentina)

* New translations activerecord.en.yml (Hebrew)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Occitan)

* New translations en.json (Welsh)

* New translations en.yml (Chinese Traditional)

* New translations en.json (German)

* New translations en.json (Chinese Traditional)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese)

* New translations en.yml (Hebrew)

* New translations en.json (Finnish)

* New translations en.json (Japanese)

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

* New translations en.yml (Thai)

* New translations en.json (Hebrew)

* New translations en.json (Thai)

* New translations en.json (Greek)

* New translations en.yml (Hebrew)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Occitan)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Thai)

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

* New translations en.json (Thai)

* New translations en.json (Catalan)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Polish)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.json (Chinese Simplified)

* New translations en.json (Irish)

* New translations activerecord.en.yml (Irish)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Italian)

* New translations en.json (Danish)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

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

* New translations en.json (Czech)

* New translations en.json (Turkish)

* New translations en.json (Vietnamese)

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

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Albanian)

* New translations en.json (Arabic)

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

* New translations en.json (Bulgarian)

* New translations en.json (Macedonian)

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

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

* New translations en.json (Bulgarian)

* New translations devise.en.yml (Polish)

* New translations en.json (Bulgarian)

* New translations en.json (Hungarian)

* New translations en.yml (Japanese)

* New translations en.json (Norwegian)

* New translations en.json (Bulgarian)

* New translations en.json (Korean)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* 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 en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Latvian)

* New translations en.json (Esperanto)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Vietnamese)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.yml (Romanian)

* New translations en.yml (Frisian)

* New translations en.json (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Norwegian)

* New translations en.json (Swedish)

* New translations en.json (Occitan)

* New translations en.json (Afrikaans)

* New translations en.json (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Swedish)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.json (Welsh)

* New translations en.yml (Esperanto)

* New translations en.json (Occitan)

* New translations doorkeeper.en.yml (French)

* New translations activerecord.en.yml (Norwegian)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Norwegian)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Chinese Simplified)

* New translations en.json (Welsh)

* New translations doorkeeper.en.yml (Norwegian)

* New translations activerecord.en.yml (Norwegian)

* New translations devise.en.yml (Norwegian)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Norwegian)

* New translations doorkeeper.en.yml (Norwegian)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Norwegian)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

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

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

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

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

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Irish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.json (Bulgarian)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.json (Bulgarian)

* New translations en.yml (Irish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Galician)

* New translations en.json (Bulgarian)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations en.json (Igbo)

* New translations en.json (Thai)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Irish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Breton)

* New translations en.yml (Breton)

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

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

* New translations en.yml (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Afrikaans)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Esperanto)

* New translations en.json (Breton)

* New translations en.yml (Breton)

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

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

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Bulgarian)

* New translations en.json (Afrikaans)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.yml (Portuguese, Brazilian)

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.json (Occitan)

* Run `yarn manage:translations`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-10 00:43:48 +09:00
Vyr Cossont 104157bd01
Add Balaibalan, Láadan, Lingua Franca Nova, Lojban, Toki Pona to language list (#20168)
* Add Balaibalan, Láadan, Lojban, Toki Pona to language list

Fixes #8995.

* Correct translated names for Lojban and Toki Pona

* Correct translated name for Balaibalan

* Add Lingua Franca Nova aka Elefen

* Disable unhelpful Rubocop checks

* Re-enable Rubocop checks at end of file
2022-11-09 15:23:52 +01:00
trwnh 029b5cd5b1
Fix GET /api/v1/admin/ip_blocks/:id (#20207) 2022-11-09 15:22:58 +01:00
Claire 5333447be0
Change account deletion requests to spread out over time (#20222) 2022-11-09 14:08:19 +01:00
Eugen Rochko e98833748e
Fix being able to spoof link verification (#20217)
- Change verification to happen in `default` queue
- Change verification worker to only be queued if there's something to do
- Add `link` tags from metadata fields to page header of profiles
2022-11-09 08:24:21 +01:00
Sasha Sorokin d055d75172
Remove aria-pressed where it's redundant (#19912)
This commit removes aria-pressed attribute from all elements which
contents or other descriptive attributes change in active state,
effectively replacing the meaning of the button, in which case
aria-pressed, an attribute specified whether the button is currently
pressed, would create a confusion. (Spoiler: it's everywhere).

See https://github.com/mastodon/mastodon/issues/13545#issuecomment-1304886969
2022-11-08 17:31:32 +01:00
trwnh b1a48e05b6
Change Report category to "violation" if rule IDs are provided (#20137)
* Change Report category to "violation" if rule IDs are provided

* Fix LiteralAsCondition

* Add parentheses to conditional statement
2022-11-08 17:28:02 +01:00
Claire c476dfc725
Fix nodeinfo metadata attribute being an array instead of an object (#20114)
Fixes #20111
2022-11-08 17:26:11 +01:00
trwnh c374729225
Add `sensitized` to Admin::Account serializer (fix #19148) (#20094)
* Add `sensitized` to Admin::Account serializer (fix #19148)

* remove whitespace, please linter
2022-11-08 17:15:54 +01:00
trwnh 89e1974f30
Make account endorsements idempotent (fix #19045) (#20118)
* Make account endorsements idempotent (fix #19045)

* Accept suggestion to use exists? instead of find_by + nil check

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

* fix logic (unless, not if)

* switch to using `find_or_create_by!`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-08 16:39:15 +01:00
trwnh 455a754081
Fix missing cast of status and rule IDs to string (fix #19048) (#20122) 2022-11-08 16:37:41 +01:00
trwnh 68d9dcd425
Fix uncaught 500 error on invalid `replies_policy` (Fix #19097) (#20126) 2022-11-08 16:37:28 +01:00
Claire c989faaa62
Change Request connection logic to try both IPv6 and IPv4 when available (#20108)
Fixes #19751
2022-11-08 16:36:26 +01:00
Claire 782b6835f7
Fix redrafting a currently-editing post not leaving edit mode (#20023) 2022-11-08 04:06:54 +01:00
James Tucker 833d9c2f1c
Improve performance by avoiding method cache busts (#19957)
Switch to monkey-patching http.rb rather than a runtime extend of each
response, so as to avoid busting the global method cache. A guard is
included that will provide developer feedback in development and test
environments should the monkey patch ever collide.
2022-11-08 04:00:27 +01:00
Claire 9f4930ec11
Add password autocomplete hints (#20071)
Fixes #20067

Our password autocomplete hints were “off” but that does not prevent current
browsers from trying to autocomplete them anyway, so use `current-password` and
`new-password` so they don't put a newly-generated password in a password
confirmation prompt, or the old password for a password renewal prompt.
2022-11-08 03:53:06 +01:00
Claire 608343c135
Fix opening the language picker scrolling the single-column view to the top (#19983)
Fixes #19915
2022-11-08 03:52:52 +01:00
Postmodern ca80beb653
Micro-optimization: use `if`/`else` instead of `Array#compact` and `Array#min` (#19906)
* Technically `if`/`else` is faster than using `[value1, value2].compact.min` to find the lesser of two values, one of which may be `nil`.
2022-11-08 03:50:47 +01:00
Zach Flanders 0beb095a4b
Fix spoiler buttons css not rendering correct color in light theme (#19960)
* Updating status__content__spoiler-link css for mastodon-light theme to ensure correct rendering precedence

* Adding focus css selector to status__content__spoiler-link mastodon-light theme

* reformatting code to match convention of having css selectors on separate lines

* fixing code format for  scss linting issue
2022-11-07 22:37:36 +01:00
Claire bbf74498f5
Fix validation error in SynchronizeFeaturedTagsCollectionWorker (#20018)
* Fix followers count not being updated when migrating follows

Fixes #19900

* Fix validation error in SynchronizeFeaturedTagsCollectionWorker

Also saves remote user's chosen case for hashtags

* Limit remote featured tags before validation
2022-11-07 22:35:53 +01:00
Claire 3114c826a7
Fix filter handling in status cache hydration (#19963) 2022-11-07 19:47:48 +01:00
Postmodern 106648b456
Micro-optimization: only split `acct` into two Strings (#19901)
* Since `acct` is split by `@` and assigned to `username` and `domain`, we only need to split `acct` into two Strings.
2022-11-07 16:17:55 +01:00
Eugen Rochko 86a80acf40
New Crowdin updates (#19771)
* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Japanese)

* New translations en.yml (Armenian)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.json (Esperanto)

* New translations en.yml (Turkish)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Romanian)

* New translations en.yml (Hungarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Greek)

* New translations en.yml (Frisian)

* New translations en.yml (Basque)

* New translations en.json (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Irish)

* New translations en.yml (Hebrew)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

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

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Kannada)

* New translations en.yml (Asturian)

* New translations en.yml (Occitan)

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Malayalam)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (French)

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

* New translations en.yml (Burmese)

* New translations en.yml (Breton)

* New translations en.yml (Tatar)

* New translations en.yml (Indonesian)

* New translations en.yml (Kazakh)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Estonian)

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

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

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

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

* New translations en.yml (Igbo)

* New translations en.json (Czech)

* New translations en.json (Dutch)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Dutch)

* New translations en.yml (Polish)

* New translations en.yml (Swedish)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.json (Dutch)

* New translations en.yml (Ukrainian)

* New translations en.yml (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations simple_form.en.yml (Irish)

* New translations simple_form.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Japanese)

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

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations en.json (Afrikaans)

* New translations en.json (Galician)

* New translations en.yml (Turkish)

* New translations en.json (Afrikaans)

* New translations en.yml (Afrikaans)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Afrikaans)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (French)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Albanian)

* New translations activerecord.en.yml (French)

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

* New translations devise.en.yml (French)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Occitan)

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

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations activerecord.en.yml (Occitan)

* New translations en.yml (Spanish)

* New translations en.yml (Japanese)

* New translations en.json (Occitan)

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

* New translations simple_form.en.yml (Japanese)

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

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

* New translations doorkeeper.en.yml (Occitan)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (Irish)

* New translations en.json (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

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

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (German)

* New translations en.yml (Spanish)

* New translations en.json (Greek)

* New translations en.json (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Thai)

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

* New translations devise.en.yml (Asturian)

* New translations en.json (Danish)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Korean)

* New translations en.json (French)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Ukrainian)

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

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

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

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Asturian)

* New translations en.json (Occitan)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

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

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

* New translations en.json (German)

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

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

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

* New translations en.json (French)

* New translations en.yml (Dutch)

* New translations en.json (Welsh)

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

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

* New translations en.json (Dutch)

* New translations en.json (French)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (German)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

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

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations activerecord.en.yml (Ukrainian)

* New translations en.json (Russian)

* New translations en.json (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Bulgarian)

* New translations en.json (Japanese)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Japanese)

* New translations devise.en.yml (Finnish)

* New translations en.json (Hebrew)

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Japanese)

* New translations activerecord.en.yml (Arabic)

* New translations activerecord.en.yml (Hebrew)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Danish)

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

* New translations en.json (Bulgarian)

* New translations en.json (Frisian)

* New translations en.json (Russian)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Russian)

* New translations devise.en.yml (Frisian)

* New translations en.yml (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Frisian)

* New translations en.json (Italian)

* New translations en.json (Polish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-08 00:06:48 +09:00
Claire 622f603ac7
Add aria-expanded to content warning toggle button (#19975)
Fixes #19920
2022-11-07 15:48:46 +01:00
Claire 1e1289b024
Fix crash when external auth provider has no display_name set (#19962)
Fixes #19913
2022-11-07 15:43:24 +01:00
Claire e1227457f1
Fix links to the Web UI in notifications (#19981)
Most of the old routes are broken because of the /web removal.
2022-11-07 15:42:58 +01:00