Commit Graph

6599 Commits

Author SHA1 Message Date
Claire 726931fe4a
Fix /api/v1/tags/:id route constraints (#18854)
The constraint was applied prior to decoding, and rejected anything containing
the '%' character, which would be used for anything with non-ASCII unicode
characters.
2022-07-20 17:06:52 +02:00
Eugen Rochko f8b3e36929
New Crowdin updates (#18810)
* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Esperanto)

* New translations en.json (Chinese Simplified)

* New translations simple_form.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 activerecord.en.yml (Chinese Simplified)

* New translations en.json (Thai)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Thai)

* New translations activerecord.en.yml (Thai)

* New translations doorkeeper.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations activerecord.en.yml (Dutch)

* New translations activerecord.en.yml (Turkish)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Slovak)

* New translations activerecord.en.yml (Slovenian)

* New translations activerecord.en.yml (Albanian)

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

* New translations activerecord.en.yml (Swedish)

* New translations activerecord.en.yml (Ukrainian)

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

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Galician)

* New translations activerecord.en.yml (Icelandic)

* New translations activerecord.en.yml (Indonesian)

* New translations activerecord.en.yml (Persian)

* New translations activerecord.en.yml (Tamil)

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

* New translations activerecord.en.yml (Norwegian)

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

* New translations activerecord.en.yml (German)

* New translations activerecord.en.yml (Sinhala)

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

* New translations activerecord.en.yml (Czech)

* New translations activerecord.en.yml (Danish)

* New translations activerecord.en.yml (Greek)

* New translations activerecord.en.yml (Korean)

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Basque)

* New translations activerecord.en.yml (Finnish)

* New translations activerecord.en.yml (Hebrew)

* New translations activerecord.en.yml (Hungarian)

* New translations activerecord.en.yml (Armenian)

* New translations activerecord.en.yml (Italian)

* New translations activerecord.en.yml (Japanese)

* New translations activerecord.en.yml (Georgian)

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

* New translations activerecord.en.yml (Bengali)

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

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

* New translations activerecord.en.yml (Asturian)

* New translations activerecord.en.yml (Occitan)

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

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

* New translations activerecord.en.yml (Corsican)

* New translations activerecord.en.yml (Breton)

* New translations activerecord.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

* New translations activerecord.en.yml (Ido)

* New translations activerecord.en.yml (Malayalam)

* New translations activerecord.en.yml (Marathi)

* New translations activerecord.en.yml (Hindi)

* New translations activerecord.en.yml (Croatian)

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

* New translations activerecord.en.yml (Kazakh)

* New translations activerecord.en.yml (Estonian)

* New translations activerecord.en.yml (Latvian)

* New translations activerecord.en.yml (Tatar)

* New translations activerecord.en.yml (Welsh)

* New translations activerecord.en.yml (Esperanto)

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

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

* New translations activerecord.en.yml (Catalan)

* New translations activerecord.en.yml (Danish)

* New translations activerecord.en.yml (Greek)

* New translations activerecord.en.yml (Latvian)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Polish)

* New translations activerecord.en.yml (Afrikaans)

* New translations activerecord.en.yml (Korean)

* New translations activerecord.en.yml (Polish)

* New translations en.yml (Esperanto)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Italian)

* New translations activerecord.en.yml (Ukrainian)

* New translations activerecord.en.yml (Slovenian)

* New translations activerecord.en.yml (Portuguese)

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

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

* New translations activerecord.en.yml (Galician)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Hungarian)

* New translations activerecord.en.yml (Albanian)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations activerecord.en.yml (Ido)

* New translations activerecord.en.yml (Spanish)

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

* Run `bundle exec i18n-tasks normalize`

* Fix syntax

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-07-20 21:21:57 +09:00
Yamagishi Kazutoshi d5ca204e89
Bump react-redux-loading-bar from 4.0.8 to 5.0.4 (#18562) 2022-07-20 20:56:44 +09:00
Jeong Arm f248d95be2
Fix badge color not affected (#18826)
* Fix badge color not affected

* Generate user role css
2022-07-19 01:06:11 +02:00
Jeremy Kescher ec83e2a35e
Fix missing scope for current_user in _sidebar.html.haml (#18822)
Fixes https://github.com/mastodon/mastodon/issues/18821

Fix suggested by https://miaow.gay/@meganeko/108665430982072358
2022-07-18 08:41:50 +02:00
Jeong Arm ad489f865a
Fix custom.css html escaped (#18824) 2022-07-18 08:41:08 +02:00
Eugen Rochko c3f0621a59
Add ability to follow hashtags (#18809) 2022-07-17 13:49:29 +02:00
Claire ecb3bb3256
Add support for editing labelling of one's own role (#18812)
Still disallow edition of rank or permissions
2022-07-17 13:37:30 +02:00
Eugen Rochko bbb5f1917d
New Crowdin updates (#18781)
* New translations en.json (Malayalam)

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

* New translations en.json (Tatar)

* New translations en.json (Tamil)

* New translations en.json (Kazakh)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Croatian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Estonian)

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

* New translations en.json (Latvian)

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

* New translations en.json (Uyghur)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Slovenian)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Danish)

* New translations en.json (Polish)

* New translations en.json (Slovenian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Ido)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Danish)

* New translations activerecord.en.yml (Danish)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations activerecord.en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Latvian)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.json (Greek)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.json (Korean)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Russian)

* New translations simple_form.en.yml (Hungarian)

* New translations activerecord.en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations activerecord.en.yml (Catalan)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Portuguese)

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

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

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

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

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

* New translations simple_form.en.yml (Vietnamese)

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

* New translations simple_form.en.yml (Indonesian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Esperanto)

* New translations en.json (Ukrainian)

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

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Czech)

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

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

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

* New translations simple_form.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 (Corsican)

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Ido)

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

* New translations simple_form.en.yml (Breton)

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

* New translations simple_form.en.yml (Latvian)

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

* New translations simple_form.en.yml (Bengali)

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

* New translations simple_form.en.yml (Welsh)

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

* New translations simple_form.en.yml (Tatar)

* New translations activerecord.en.yml (Ukrainian)

* New translations simple_form.en.yml (Afrikaans)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Spanish)

* New translations simple_form.en.yml (Polish)

* New translations en.yml (Korean)

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

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

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

* New translations en.json (Spanish)

* New translations en.json (Vietnamese)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Vietnamese)

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

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

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Ukrainian)

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

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Afrikaans)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Korean)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Danish)

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

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.yml (French)

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

* New translations simple_form.en.yml (French)

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

* New translations en.json (Sinhala)

* New translations activerecord.en.yml (Sinhala)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Italian)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Hungarian)

* New translations en.json (Japanese)

* New translations simple_form.en.yml (Polish)

* New translations en.yml (Thai)

* New translations en.yml (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations activerecord.en.yml (Portuguese)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (French)

* New translations activerecord.en.yml (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations activerecord.en.yml (French)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Dutch)

* New translations devise.en.yml (Dutch)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Galician)

* New translations en.json (Albanian)

* New translations activerecord.en.yml (Albanian)

* New translations en.yml (Albanian)

* New translations simple_form.en.yml (Albanian)

* New translations activerecord.en.yml (Albanian)

* New translations doorkeeper.en.yml (Albanian)

* New translations devise.en.yml (Albanian)

* New translations en.yml (Portuguese)

* New translations en.json (Vietnamese)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-07-15 10:20:58 +09:00
Eugen Rochko 6ca0de9494
Fix nil error when rendering featured hashtags on profile (#18808)
Regression from #18795
2022-07-14 01:23:10 +02:00
Eugen Rochko e7aa2be828
Change how hashtags are normalized (#18795)
* Change how hashtags are normalized

* Fix tests
2022-07-13 15:03:28 +02:00
Eugen Rochko 12ed2d793b
Change custom emoji file size limit from 50 KB to 256 KB (#18788) 2022-07-09 22:07:17 +02:00
Claire befbac3f1c
Fix various in the user role management UI (#18777)
* Reword priority description

* Disable checkboxes for permissions you can't enable in role edition interface

* Set max priority in HTML attribute

* Explicitly link to role edition, do not link when you can't edit

* Reword priority description based on review
2022-07-07 18:18:23 +02:00
Jeremy Kescher 25e076505e
ip_cleanup_scheduler: Make IP and session retention configurable (#18757) 2022-07-07 03:14:28 +02:00
Eugen Rochko c9d6571da8
New Crowdin updates (#18716)
* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Telugu)

* New translations en.yml (Malay)

* New translations en.yml (Latvian)

* New translations en.yml (Estonian)

* New translations en.yml (Kazakh)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Croatian)

* New translations en.yml (Indonesian)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Malayalam)

* New translations en.yml (Sinhala)

* New translations en.yml (Breton)

* New translations en.yml (Tatar)

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

* New translations en.yml (Welsh)

* New translations en.yml (Standard Moroccan Tamazight)

* 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 (Sorani (Kurdish))

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Kabyle)

* New translations en.yml (Ido)

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

* New translations activerecord.en.yml (Japanese)

* New translations activerecord.en.yml (Finnish)

* New translations doorkeeper.en.yml (Danish)

* New translations activerecord.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations activerecord.en.yml (Greek)

* New translations doorkeeper.en.yml (Greek)

* New translations activerecord.en.yml (Frisian)

* New translations doorkeeper.en.yml (Frisian)

* New translations activerecord.en.yml (Basque)

* New translations doorkeeper.en.yml (Basque)

* New translations doorkeeper.en.yml (Finnish)

* New translations doorkeeper.en.yml (Czech)

* New translations activerecord.en.yml (Hebrew)

* New translations doorkeeper.en.yml (Hebrew)

* New translations activerecord.en.yml (Hungarian)

* New translations doorkeeper.en.yml (Hungarian)

* New translations activerecord.en.yml (Armenian)

* New translations doorkeeper.en.yml (Armenian)

* New translations activerecord.en.yml (Italian)

* New translations doorkeeper.en.yml (Italian)

* New translations activerecord.en.yml (Danish)

* New translations activerecord.en.yml (Czech)

* New translations activerecord.en.yml (French)

* New translations activerecord.en.yml (Romanian)

* New translations doorkeeper.en.yml (Romanian)

* New translations doorkeeper.en.yml (Catalan)

* New translations doorkeeper.en.yml (French)

* New translations activerecord.en.yml (Spanish)

* New translations doorkeeper.en.yml (Spanish)

* New translations activerecord.en.yml (Afrikaans)

* New translations doorkeeper.en.yml (Afrikaans)

* New translations activerecord.en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations activerecord.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations activerecord.en.yml (Catalan)

* New translations doorkeeper.en.yml (Japanese)

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

* New translations activerecord.en.yml (Swedish)

* New translations doorkeeper.en.yml (Swedish)

* New translations activerecord.en.yml (Turkish)

* New translations doorkeeper.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

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

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

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

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

* New translations activerecord.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations activerecord.en.yml (Galician)

* New translations doorkeeper.en.yml (Galician)

* New translations activerecord.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Icelandic)

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

* New translations activerecord.en.yml (Indonesian)

* New translations doorkeeper.en.yml (Indonesian)

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

* New translations doorkeeper.en.yml (Albanian)

* New translations activerecord.en.yml (Georgian)

* New translations doorkeeper.en.yml (Georgian)

* New translations activerecord.en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations doorkeeper.en.yml (Dutch)

* New translations activerecord.en.yml (Norwegian)

* New translations doorkeeper.en.yml (Norwegian)

* New translations activerecord.en.yml (Albanian)

* New translations activerecord.en.yml (Polish)

* New translations doorkeeper.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations doorkeeper.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations activerecord.en.yml (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations activerecord.en.yml (Slovenian)

* New translations doorkeeper.en.yml (Slovenian)

* New translations activerecord.en.yml (Persian)

* New translations doorkeeper.en.yml (Persian)

* New translations activerecord.en.yml (Kazakh)

* New translations activerecord.en.yml (Tamil)

* New translations doorkeeper.en.yml (Hindi)

* New translations activerecord.en.yml (Hindi)

* New translations doorkeeper.en.yml (Latvian)

* New translations activerecord.en.yml (Latvian)

* New translations doorkeeper.en.yml (Estonian)

* New translations activerecord.en.yml (Estonian)

* New translations doorkeeper.en.yml (Kazakh)

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

* New translations activerecord.en.yml (Bengali)

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

* New translations doorkeeper.en.yml (Tamil)

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

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

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

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

* New translations activerecord.en.yml (Marathi)

* New translations doorkeeper.en.yml (Marathi)

* New translations activerecord.en.yml (Thai)

* New translations doorkeeper.en.yml (Thai)

* New translations activerecord.en.yml (Croatian)

* New translations doorkeeper.en.yml (Croatian)

* New translations doorkeeper.en.yml (Malayalam)

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

* New translations doorkeeper.en.yml (Breton)

* New translations activerecord.en.yml (Breton)

* New translations activerecord.en.yml (Esperanto)

* New translations activerecord.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Tatar)

* New translations activerecord.en.yml (Tatar)

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

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

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

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

* New translations activerecord.en.yml (Asturian)

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

* New translations doorkeeper.en.yml (Ido)

* New translations activerecord.en.yml (Ido)

* New translations doorkeeper.en.yml (Kabyle)

* New translations activerecord.en.yml (Kabyle)

* New translations doorkeeper.en.yml (Sardinian)

* New translations activerecord.en.yml (Occitan)

* New translations activerecord.en.yml (Sardinian)

* New translations doorkeeper.en.yml (Corsican)

* New translations activerecord.en.yml (Corsican)

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

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

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

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

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

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

* New translations doorkeeper.en.yml (Occitan)

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

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Spanish, Argentina)

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

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

* New translations activerecord.en.yml (Korean)

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

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

* New translations en.yml (Galician)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Galician)

* New translations en.yml (Chinese Traditional)

* New translations activerecord.en.yml (Galician)

* New translations en.yml (Catalan)

* New translations en.yml (Slovenian)

* New translations en.yml (Turkish)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Greek)

* New translations simple_form.en.yml (Slovenian)

* New translations activerecord.en.yml (Slovenian)

* New translations en.yml (Turkish)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Turkish)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Turkish)

* New translations en.yml (Hungarian)

* New translations en.yml (Polish)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Polish)

* New translations activerecord.en.yml (Icelandic)

* New translations en.json (Esperanto)

* New translations en.yml (Danish)

* New translations en.yml (Italian)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Danish)

* New translations en.yml (Italian)

* New translations simple_form.en.yml (Italian)

* New translations activerecord.en.yml (Italian)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations activerecord.en.yml (Vietnamese)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations activerecord.en.yml (Latvian)

* New translations en.yml (Icelandic)

* New translations en.yml (Spanish)

* New translations en.yml (Icelandic)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Spanish)

* New translations activerecord.en.yml (Spanish)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

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

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

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Czech)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-07-07 05:58:31 +09:00
Claire 0665ba8a23
Fix incorrect param in role card link (#18776) 2022-07-05 20:01:50 +02:00
Eugen Rochko 44b2ee3485
Add customizable user roles (#18641)
* Add customizable user roles

* Various fixes and improvements

* Add migration for old settings and fix tootctl role management
2022-07-05 02:41:40 +02:00
Claire 1b4054256f
Fix crash when a remote Flag activity mentions a private post (#18760)
* Add tests

* Fix crash when a remote Flag activity mentions a private post
2022-07-04 11:08:30 +02:00
Claire a233a9bfb5
Remove dead code in WebUI filtering code (#18745) 2022-06-30 10:39:29 +02:00
Claire 3c24f19afe
Fix reblogged statuses being erroneously shown as filtered (#18744) 2022-06-30 09:51:55 +02:00
Jeong Arm df27953f96
Support audio/vnd.wave (#18737)
See: https://datatracker.ietf.org/doc/html/rfc2361
And Misskey uses this mime type for wav file.
2022-06-28 19:49:35 +02:00
Claire 02851848e9
Revamp post filtering system (#18058)
* Add model for custom filter keywords

* Use CustomFilterKeyword internally

Does not change the API

* Fix /filters/edit and /filters/new

* Add migration tests

* Remove whole_word column from custom_filters (covered by custom_filter_keywords)

* Redesign /filters

Instead of a list, present a card that displays more information and handles
multiple keywords per filter.

* Redesign /filters/new and /filters/edit to add and remove keywords

This adds a new gem dependency: cocoon, as well as a npm dependency:
cocoon-js-vanilla. Those are used to easily populate and remove form fields
from the user interface when manipulating multiple keyword filters at once.

* Add /api/v2/filters to edit filter with multiple keywords

Entities:
- `Filter`: `id`, `title`, `filter_action` (either `hide` or `warn`), `context`
  `keywords`
- `FilterKeyword`: `id`, `keyword`, `whole_word`

API endpoits:
- `GET /api/v2/filters` to list filters (including keywords)
- `POST /api/v2/filters` to create a new filter
  `keywords_attributes` can also be passed to create keywords in one request
- `GET /api/v2/filters/:id` to read a particular filter
- `PUT /api/v2/filters/:id` to update a new filter
  `keywords_attributes` can also be passed to edit, delete or add keywords in
   one request
- `DELETE /api/v2/filters/:id` to delete a particular filter
- `GET /api/v2/filters/:id/keywords` to list keywords for a filter
- `POST /api/v2/filters/:filter_id/keywords/:id` to add a new keyword to a
   filter
- `GET /api/v2/filter_keywords/:id` to read a particular keyword
- `PUT /api/v2/filter_keywords/:id` to edit a particular keyword
- `DELETE /api/v2/filter_keywords/:id` to delete a particular keyword

* Change from `irreversible` boolean to `action` enum

* Remove irrelevent `irreversible_must_be_within_context` check

* Fix /filters/new and /filters/edit with update for filter_action

* Fix Rubocop/Codeclimate complaining about task names

* Refactor FeedManager#phrase_filtered?

This moves regexp building and filter caching to the `CustomFilter` class.

This does not change the functional behavior yet, but this changes how the
cache is built, doing per-custom_filter regexps so that filters can be matched
independently, while still offering caching.

* Perform server-side filtering and output result in REST API

* Fix numerous filters_changed events being sent when editing multiple keywords at once

* Add some tests

* Use the new API in the WebUI

- use client-side logic for filters we have fetched rules for.
  This is so that filter changes can be retroactively applied without
  reloading the UI.
- use server-side logic for filters we haven't fetched rules for yet
  (e.g. network error, or initial timeline loading)

* Minor optimizations and refactoring

* Perform server-side filtering on the streaming server

* Change the wording of filter action labels

* Fix issues pointed out by linter

* Change design of “Show anyway” link in accordence to review comments

* Drop “irreversible” filtering behavior

* Move /api/v2/filter_keywords to /api/v1/filters/keywords

* Rename `filter_results` attribute to `filtered`

* Rename REST::LegacyFilterSerializer to REST::V1::FilterSerializer

* Fix systemChannelId value in streaming server

* Simplify code by removing client-side filtering code

The simplifcation comes at a cost though: filters aren't retroactively
applied anymore.
2022-06-28 09:42:13 +02:00
Eugen Rochko 2936f42a14
Add notifications for new reports (#18697) 2022-06-27 09:30:15 +02:00
Eugen Rochko 829b978a89
New Crowdin updates (#18671)
* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations activerecord.en.yml (Korean)

* New translations en.yml (German)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations activerecord.en.yml (Dutch)

* New translations en.yml (Dutch)

* New translations en.yml (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Thai)

* New translations activerecord.en.yml (Thai)

* New translations activerecord.en.yml (Indonesian)

* New translations en.yml (Turkish)

* New translations en.json (Galician)

* New translations en.yml (Slovenian)

* New translations en.yml (Galician)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Galician)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations simple_form.en.yml (Galician)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-06-26 12:08:08 +09:00
Claire 35588d09e2
Add /api/v1/admin/domain_allows (#18668)
- `GET /api/v1/admin/domain_allows` lists allowed domains
- `GET /api/v1/admin/domain_allows/:id` shows one by ID
- `DELETE /api/v1/admin/domain_allows/:id` deletes a given domain from the list
  of allowed domains
- `POST /api/v1/admin/domain_allows` to allow a new domain:
  if that domain is already allowed, the existing DomainAllow will be returned
2022-06-23 23:12:01 +02:00
Takeshi Umeda 9c571a95db
Fix missing , (#18660) 2022-06-23 23:10:03 +02:00
Jeong Arm 6c2d3038f4
Fix CDN_HOST not affected on full_asset_url (#18662)
* Fix CDN_HOST not affected to assets url

* Fix typo
2022-06-23 23:09:32 +02:00
mayaeh 65ad589848
Fixed the setting page's logo that is not displayed on the smartphone (#18710) 2022-06-23 23:08:52 +02:00
tateisu 47f2ff617d
use Notification::TYPES for api push subscription alerts (#18709) 2022-06-23 01:44:27 +02:00
Claire 327eed0076
Fix suspicious sign-in mails never being sent (#18599)
* Add tests

* Fix suspicious sign-in mails never being sent
2022-06-21 15:16:22 +02:00
Eugen Rochko 0391b2a603
Fix contrast of some elements with new brand colors (#18691) 2022-06-19 08:18:08 +02:00
Eugen Rochko 3f02157a94
New Crowdin updates (#18605)
* New translations doorkeeper.en.yml (Indonesian)

* New translations simple_form.en.yml (Persian)

* New translations activerecord.en.yml (Persian)

* New translations doorkeeper.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

* New translations doorkeeper.en.yml (Tamil)

* New translations activerecord.en.yml (Marathi)

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

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

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

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

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

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

* New translations simple_form.en.yml (Bengali)

* New translations activerecord.en.yml (Bengali)

* New translations activerecord.en.yml (Asturian)

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

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

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

* New translations simple_form.en.yml (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations doorkeeper.en.yml (Sinhala)

* New translations simple_form.en.yml (Occitan)

* New translations activerecord.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

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

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

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

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

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

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

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

* New translations activerecord.en.yml (Sinhala)

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

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

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

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

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

* New translations simple_form.en.yml (Sinhala)

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

* New translations simple_form.en.yml (Tatar)

* New translations activerecord.en.yml (Tatar)

* New translations doorkeeper.en.yml (Tatar)

* New translations simple_form.en.yml (Malayalam)

* New translations activerecord.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Malayalam)

* New translations simple_form.en.yml (Breton)

* New translations activerecord.en.yml (Breton)

* New translations doorkeeper.en.yml (Breton)

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

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

* New translations simple_form.en.yml (Ido)

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

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

* New translations doorkeeper.en.yml (Ido)

* New translations activerecord.en.yml (Ido)

* New translations doorkeeper.en.yml (Kabyle)

* New translations simple_form.en.yml (Corsican)

* New translations activerecord.en.yml (Kabyle)

* New translations simple_form.en.yml (Kabyle)

* New translations doorkeeper.en.yml (Sardinian)

* New translations activerecord.en.yml (Sardinian)

* New translations simple_form.en.yml (Sardinian)

* New translations doorkeeper.en.yml (Corsican)

* New translations activerecord.en.yml (Corsican)

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

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Kabyle)

* New translations en.yml (Ido)

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

* New translations simple_form.en.yml (Russian)

* New translations activerecord.en.yml (Russian)

* New translations simple_form.en.yml (Slovenian)

* New translations activerecord.en.yml (Slovenian)

* New translations simple_form.en.yml (Ukrainian)

* New translations activerecord.en.yml (Ukrainian)

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

* New translations en.yml (Welsh)

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

* New translations en.yml (Asturian)

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

* New translations en.yml (Malayalam)

* New translations activerecord.en.yml (Asturian)

* New translations en.yml (Catalan)

* New translations activerecord.en.yml (Catalan)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Danish)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Danish)

* New translations activerecord.en.yml (Danish)

* New translations activerecord.en.yml (Italian)

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

* New translations simple_form.en.yml (Ido)

* New translations activerecord.en.yml (Ido)

* New translations en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Spanish, Argentina)

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

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

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

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

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

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Galician)

* New translations activerecord.en.yml (Galician)

* New translations en.yml (Greek)

* New translations en.yml (Catalan)

* New translations en.yml (Afrikaans)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Afrikaans)

* New translations activerecord.en.yml (Afrikaans)

* New translations simple_form.en.yml (Polish)

* New translations activerecord.en.yml (Polish)

* New translations en.yml (Portuguese)

* New translations en.json (German)

* New translations simple_form.en.yml (Portuguese)

* New translations activerecord.en.yml (Portuguese)

* New translations en.yml (Italian)

* New translations en.yml (Russian)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations activerecord.en.yml (Turkish)

* New translations en.yml (Russian)

* New translations en.yml (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations activerecord.en.yml (Hungarian)

* New translations en.yml (French)

* New translations en.yml (Galician)

* New translations en.yml (French)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (French)

* New translations activerecord.en.yml (French)

* New translations en.yml (Italian)

* New translations simple_form.en.yml (Italian)

* New translations en.yml (Latvian)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations activerecord.en.yml (Latvian)

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

* New translations en.json (Latvian)

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

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

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations activerecord.en.yml (Vietnamese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations activerecord.en.yml (Japanese)

* New translations en.yml (Czech)

* New translations en.yml (French)

* New translations en.yml (Czech)

* New translations en.json (Arabic)

* New translations en.yml (Slovak)

* New translations en.json (Slovak)

* New translations en.yml (Indonesian)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Czech)

* New translations activerecord.en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Albanian)

* New translations en.json (Albanian)

* New translations simple_form.en.yml (Albanian)

* New translations activerecord.en.yml (Albanian)

* New translations devise.en.yml (Albanian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (German)

* New translations activerecord.en.yml (German)

* New translations en.json (German)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations simple_form.en.yml (Spanish)

* New translations activerecord.en.yml (Spanish)

* New translations en.json (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Occitan)

* New translations en.json (Occitan)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.yml (Albanian)

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-06-16 13:31:19 +09:00
Eugen Rochko 620b70c41e
Remove item titles from RSS feeds (#18640) 2022-06-12 02:48:03 +02:00
Eugen Rochko fe2d6fe105
Fix wrong aspect ratio of logo in icons (#18639) 2022-06-11 20:32:02 +02:00
Claire 37cd984acf
Fix logo gradient not working on some Safari and Blink-based browsers (#18634)
Works around https://bugs.chromium.org/p/chromium/issues/detail?id=258029
2022-06-10 17:34:59 +02:00
Eugen Rochko 45aa5781ce
Change brand color and logotypes (#18592)
- Add rake task for generating Apple/Android icons and favicons from SVG
- Add rake task for generating PNG icons and logos for e-mails from SVG
- Remove obsolete Microsoft icons and configuration
- Remove PWA shortcut icons
2022-06-09 22:25:23 +02:00
Eugen Rochko a2871cd747
Add administrative webhooks (#18510)
* Add administrative webhooks

* Fix error when webhook is deleted before delivery worker runs
2022-06-09 21:57:36 +02:00
Eugen Rochko 17ba5e1e61
New Crowdin updates (#18561)
* New translations en.yml (Portuguese)

* New translations en.yml (Lithuanian)

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

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Macedonian)

* New translations en.yml (Korean)

* New translations en.yml (Georgian)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (Armenian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Galician)

* New translations en.yml (Hungarian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Irish)

* New translations en.json (Arabic)

* New translations en.json (Irish)

* New translations en.json (German)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Turkish)

* New translations en.yml (Kabyle)

* New translations en.yml (Ido)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Vietnamese)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Sardinian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Asturian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Welsh)

* New translations en.json (Galician)

* New translations en.json (Slovak)

* New translations en.json (Icelandic)

* New translations en.yml (Sanskrit)

* New translations en.yml (Corsican)

* New translations en.yml (Bengali)

* New translations en.yml (Esperanto)

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

* New translations en.yml (Telugu)

* New translations en.yml (Welsh)

* New translations en.yml (Uyghur)

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

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

* New translations en.yml (Tatar)

* New translations en.yml (Malayalam)

* New translations en.yml (Breton)

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Kannada)

* New translations en.yml (Asturian)

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

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

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

* New translations en.json (Greek)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Marathi)

* New translations en.json (Bengali)

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

* New translations en.json (Spanish, Argentina)

* New translations en.json (Tamil)

* New translations en.json (Croatian)

* New translations en.json (Persian)

* New translations en.json (Thai)

* New translations en.json (Malay)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Kazakh)

* New translations en.json (Estonian)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

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

* New translations en.json (Telugu)

* New translations en.json (Esperanto)

* New translations en.json (Indonesian)

* New translations en.json (Slovenian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

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

* New translations en.json (Ukrainian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

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

* New translations en.json (Albanian)

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

* New translations en.json (Swedish)

* New translations en.json (Uyghur)

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

* New translations en.json (Corsican)

* New translations en.json (Silesian)

* New translations en.json (Taigi)

* New translations en.json (Ido)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

* New translations en.json (Sardinian)

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

* New translations en.json (Tatar)

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

* New translations en.json (Occitan)

* New translations en.json (Kannada)

* New translations en.json (Cornish)

* New translations en.json (Sinhala)

* New translations en.json (Breton)

* New translations en.json (Malayalam)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Galician)

* New translations en.json (Chinese Traditional)

* New translations en.json (Greek)

* New translations en.json (Swedish)

* New translations en.json (Russian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Catalan)

* New translations en.json (Polish)

* New translations en.json (Latvian)

* New translations en.yml (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Czech)

* New translations en.json (Slovenian)

* New translations en.json (Icelandic)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Vietnamese)

* New translations en.yml (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Danish)

* New translations en.json (Dutch)

* New translations en.json (Portuguese)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations simple_form.en.yml (Frisian)

* New translations activerecord.en.yml (Frisian)

* New translations devise.en.yml (Frisian)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Breton)

* New translations en.json (Breton)

* New translations en.yml (Polish)

* New translations en.yml (Russian)

* New translations en.yml (Catalan)

* New translations en.yml (Korean)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Korean)

* New translations en.yml (Greek)

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

* New translations en.yml (Ukrainian)

* New translations en.yml (Czech)

* New translations en.json (Ukrainian)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations en.yml (Hungarian)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Galician)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Galician)

* New translations en.json (Frisian)

* New translations en.json (Frisian)

* New translations en.json (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Frisian)

* New translations en.json (Frisian)

* New translations devise.en.yml (Frisian)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations en.yml (Slovenian)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations simple_form.en.yml (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations en.json (Frisian)

* New translations en.json (Frisian)

* New translations en.json (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Indonesian)

* New translations en.json (Indonesian)

* New translations en.json (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Italian)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations en.json (French)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* Fix default message

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-06-04 13:44:49 +09:00
Claire 9d4861b498
Remove dependency on running Redis server for db:setup (#18560) 2022-06-01 19:23:31 +02:00
Claire ae4f068a84
Fix CAS_DISPLAY_NAME, SAML_DISPLAY_NAME and OIDC_DISPLAY_NAME being ignored (#18568) 2022-06-01 19:22:55 +02:00
Yamagishi Kazutoshi 84266f87e7
Replace from Code Climate to Super-Linter (#18587) 2022-06-01 19:22:35 +02:00
Claire 28329ba62f
Add /api/v1/admin/domain_blocks (#18247)
* Add /api/v1/admin/domain_blocks

Fixes #18140

- `GET /api/v1/admin/domain_blocks` lists domain blocks
- `GET /api/v1/admin/domain_blocks/:id` shows one by ID
- `DELETE /api/v1/admin/domain_blocks/:id` deletes a given domain block
- `POST /api/v1/admin/domain_blocks` to create a new domain block:
  if it conflicts with an existing one, returns an error with
  an attribute `existing_domain_block` with the rendered domain block

* Simplify conflict handling as suggested in review
2022-06-01 17:31:36 +02:00
Meisam f5783182c3
Add “services” and “metadata” to NodeInfo (#18563)
* add services to NodeInfo response

* add metadata to NodeInfo response

* learning ruby syntax!

* patch the patch

* rm trailing whitespace

* use [] instead of empty array constructor
2022-06-01 16:24:07 +02:00
Eugen Rochko 628c177ebe
Change label of publish button to be "Publish" again (#18583) 2022-06-01 05:03:12 +02:00
Claire 28212bd2be
Fix TagManager#local_url? erroring out on invalid URL (#18580) 2022-05-31 18:25:24 +02:00
Claire 14d7cf39f4
Change language to be carried over on reply (#18557)
In most cases, replies to a toot are written in the same language as the
toot being replied to.
2022-05-31 05:53:43 +02:00
Claire 2f6416db53
Remove unnused otherAccounts property (#18556)
Leftover from before #11896
2022-05-30 17:10:13 +02:00
Eugen Rochko 3238f570db
New Crowdin updates (#18507)
* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Korean)

* New translations en.yml (Polish)

* New translations en.yml (Finnish)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Georgian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Punjabi)

* New translations en.yml (Portuguese)

* New translations en.yml (Greek)

* New translations en.yml (Albanian)

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

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Basque)

* New translations en.yml (German)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (Danish)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.json (Catalan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Kabyle)

* New translations en.yml (Ido)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (German)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Turkish)

* New translations en.json (Vietnamese)

* New translations en.yml (Sardinian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Asturian)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.json (Arabic)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Welsh)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.yml (Sanskrit)

* New translations en.yml (Corsican)

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

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

* New translations en.yml (Welsh)

* New translations en.yml (Uyghur)

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

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

* New translations en.yml (Tatar)

* New translations en.yml (Malayalam)

* New translations en.yml (Breton)

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Kannada)

* New translations en.yml (Asturian)

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

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

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

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

* New translations en.json (Bengali)

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Traditional)

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

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Marathi)

* New translations en.json (Albanian)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Kazakh)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

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

* New translations en.json (Slovenian)

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

* New translations en.json (Finnish)

* New translations en.json (Norwegian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Basque)

* New translations en.json (Hebrew)

* New translations en.json (Russian)

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

* New translations en.json (Portuguese)

* New translations en.json (Uyghur)

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

* New translations en.json (Corsican)

* New translations en.json (Silesian)

* New translations en.json (Taigi)

* New translations en.json (Ido)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

* New translations en.json (Sardinian)

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

* New translations en.json (Tatar)

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

* New translations en.json (Occitan)

* New translations en.json (Kannada)

* New translations en.json (Cornish)

* New translations en.json (Sinhala)

* New translations en.json (Breton)

* New translations en.json (Malayalam)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Dutch)

* New translations en.yml (Dutch)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Turkish)

* New translations en.json (Polish)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Dutch)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Latvian)

* New translations en.json (Latvian)

* New translations en.yml (Polish)

* New translations en.json (Czech)

* New translations en.json (Dutch)

* New translations en.json (Catalan)

* New translations en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations en.json (Icelandic)

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

* New translations en.yml (Icelandic)

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

* New translations en.yml (Occitan)

* New translations en.json (Occitan)

* New translations en.json (Afrikaans)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Greek)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Czech)

* New translations en.json (Ukrainian)

* New translations en.json (Russian)

* New translations en.json (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Ido)

* New translations en.yml (Ido)

* New translations en.json (Polish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Galician)

* New translations en.yml (Galician)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Italian)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.json (Russian)

* New translations en.json (Spanish)

* New translations en.yml (Spanish)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Vietnamese)

* New translations en.json (Thai)

* New translations en.json (French)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.yml (Italian)

* New translations en.json (Italian)

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

* New translations en.yml (Chinese Simplified)

* New translations en.json (Korean)

* New translations en.json (Ido)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-30 15:49:43 +09:00
Jeong Arm dc7e2985e6
Add lang html attr to each posts (#18544) 2022-05-28 15:50:36 +02:00
Jeong Arm fed7380e9f
Prevent use locale with empty string (#18543)
Somehow user's locale could be an empty string, And empty string itself
are treated as true value.
2022-05-28 14:32:08 +02:00
Alexander Ivanov 379a7a7ca7
Add support for webp uploads (#18506) 2022-05-27 20:06:40 +02:00
Eugen Rochko d21251f8fe
Remove unused assets (#18541) 2022-05-27 20:05:34 +02:00
Claire e34dd3644c
Remove unused `filtered_languages` column (#18533)
* Remove unused `filtered_languages` column

Fixes #18522

* Fix tests
2022-05-27 20:05:22 +02:00
Eugen Rochko 0a1992430d
Fix errors when rendering RSS feeds (#18531) 2022-05-26 23:02:42 +02:00
Eugen Rochko 52f4e834f2
Fix concurrent unfollowing decrementing follower count more than once (#18527) 2022-05-26 22:14:47 +02:00
Eugen Rochko 8a9acbe604
Fix being able to appeal a strike unlimited times (#18529)
Peculiarity of the `has_one` association is that the convenience
creation method deletes the previous association even if the new
one is invalid
2022-05-26 22:08:12 +02:00
Eugen Rochko c4d2c39a75
Fix being able to report otherwise inaccessible statuses (#18528) 2022-05-26 22:08:02 +02:00
Eugen Rochko 1ff4877945
Fix empty votes arbitrarily increasing voters count in polls (#18526) 2022-05-26 22:06:10 +02:00
Eugen Rochko 976cd6413e
Fix moderator leak in undo_mark_statuses_as_sensitive (#18525)
Signed-off-by: Eugen Rochko <eugen@zeonfederated.com>

Co-authored-by: 40826d <74816220+40826d@users.noreply.github.com>
2022-05-26 22:04:16 +02:00
Eugen Rochko 9f81b9f29a
Fix suspended users being able to access APIs that don't require a user (#18524) 2022-05-26 22:04:05 +02:00
Eugen Rochko 96129c2f10
Fix confirmation redirect to app without `Location` header (#18523) 2022-05-26 22:03:54 +02:00
Eugen Rochko 3e0e7a1cfb
Fix follower and other counters being able to go negative (#18517) 2022-05-26 20:32:48 +02:00
Eugen Rochko 088dc0ec5a
Fix regression in `tootctl search deploy` caused by unloaded attribute (#18514) 2022-05-26 18:05:47 +02:00
Eugen Rochko a4fa9e23fc
Change "dangerous" to "sensitive" in privacy policy and web UI (#18515)
Fix #18470
2022-05-26 17:55:05 +02:00
Claire 440eb71310
Change unapproved and unconfirmed account to not be accessible in the REST API (#17530)
* Change unapproved and unconfirmed account to not be accessible in the REST API

* Change Account#searchable? to reject unconfirmed and unapproved users

* Disable search for unapproved and unconfirmed users in Account.search_for

* Disable search for unapproved and unconfirmed users in Account.advanced_search_for

* Remove unconfirmed and unapproved accounts from Account.searchable scope

* Prevent mentions to unapproved/unconfirmed accounts

* Fix some old tests for Account.advanced_search_for

* Add some Account.advanced_search_for tests for existing behaviors

* Add some tests for Account.search_for

* Add Account.advanced_search_for tests unconfirmed and unapproved accounts

* Add Account.searchable tests

* Fix Account.without_unapproved scope potentially messing with previously-applied scopes

* Allow lookup of unconfirmed/unapproved accounts through /api/v1/accounts/lookup

This is so that the API can still be used to check whether an username is free
to use.
2022-05-26 15:50:33 +02:00
Claire 25dda3061e
Fix unnecessary query on status creation (#17901) 2022-05-26 00:20:30 +02:00
Eugen Rochko 96f29ce91a
New Crowdin updates (#18458)
* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations devise.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Armenian)

* New translations en.json (Armenian)

* New translations en.json (Armenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Russian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (Russian)

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

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

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

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

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

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

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

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

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

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

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

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-24 23:33:18 +09:00
Claire e5997a1956
Fix warning an account outside of a report closing all reports for that account (#18387)
* Fix warning an account outside of a report closing all reports for that account

* Make it clear what actions solve other reports

* Revert "Make it clear what actions solve other reports"

This reverts commit ad006de821f72e75480701298d13f0945b509059.
2022-05-23 20:38:29 +02:00
Eugen Rochko a9b64b24d6
Change algorithm of `tootctl search deploy` to improve performance (#18463) 2022-05-22 22:16:43 +02:00
Yamagishi Kazutoshi e925b06721
Fix languages dropdown on light theme (#18460) 2022-05-19 19:26:19 +02:00
Eugen Rochko 9a0fa28993
New Crowdin updates (#18419)
* New translations en.json (German)

* New translations en.json (Welsh)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Turkish)

* New translations en.json (Chinese Simplified)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Asturian)

* New translations en.json (Irish)

* New translations en.json (Arabic)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Galician)

* New translations en.json (Czech)

* New translations en.json (Slovak)

* New translations en.json (Icelandic)

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

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

* New translations en.json (Norwegian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Malayalam)

* New translations en.json (Silesian)

* New translations en.json (Taigi)

* New translations en.json (Ido)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

* New translations en.json (Sardinian)

* New translations en.json (Corsican)

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

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

* New translations en.json (Occitan)

* New translations en.json (Kannada)

* New translations en.json (Cornish)

* New translations en.json (Sinhala)

* New translations en.json (Breton)

* New translations en.json (Tatar)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Kazakh)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Estonian)

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

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Icelandic)

* New translations en.json (German)

* New translations en.json (Turkish)

* New translations en.json (Icelandic)

* New translations en.json (Greek)

* New translations en.json (Chinese Traditional)

* New translations en.json (Catalan)

* New translations en.json (Latvian)

* New translations en.json (Czech)

* New translations en.json (Indonesian)

* New translations en.json (Korean)

* New translations en.json (Russian)

* New translations en.json (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (German)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Danish)

* New translations en.json (Chinese Simplified)

* New translations en.json (Afrikaans)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese)

* New translations en.yml (Italian)

* New translations en.json (Italian)

* New translations en.yml (Italian)

* New translations en.json (Catalan)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (French)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Catalan)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Korean)

* New translations en.json (Polish)

* New translations en.yml (Ido)

* New translations en.json (Czech)

* New translations en.json (Hungarian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Ido)

* New translations en.json (Russian)

* New translations en.json (Latvian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations devise.en.yml (Russian)

* New translations en.yml (Ido)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese)

* New translations en.yml (Ido)

* New translations en.json (Catalan)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* Run `yarn manage:translations`

* New translations en.json (Chinese Simplified)

* New translations en.yml (Slovenian)

* New translations en.json (Slovenian)

* New translations en.json (Vietnamese)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Spanish)

* New translations en.json (Greek)

* New translations en.json (Thai)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Italian)

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

* New translations en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Afrikaans)

* New translations en.yml (Basque)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Esperanto)

* New translations en.json (German)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Chinese Simplified)

* New translations en.json (German)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Korean)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations devise.en.yml (Galician)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Russian)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

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

* New translations en.yml (Ido)

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

* New translations en.yml (German)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.json (Ukrainian)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Thai)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Russian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

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

* New translations en.yml (Ido)

* New translations en.json (French)

* New translations en.json (Indonesian)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Vietnamese)

* New translations en.json (Esperanto)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

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

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* New translations en.yml (Ido)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-19 19:58:16 +09:00
Eugen Rochko 679b7158e3
Change search indexing to use batches to minimize resource usage (#18451) 2022-05-18 23:29:14 +02:00
Claire e0bdaeab65
Fix NoMethodError when resolving a link that redirects to a local post (#18314)
* Fix NoMethodError when resolving a link that redirects to a local post

* Fix tests
2022-05-17 14:52:26 +02:00
Eugen Rochko 6c699b1723
Fix preferred posting language returning unusable value in REST API (#18428) 2022-05-16 19:13:36 +02:00
Eugen Rochko 0cdb077570
Add language dropdown to compose in web UI (#18420) 2022-05-16 11:18:35 +02:00
Yamagishi Kazutoshi c3fac61f56
Fix `Mastodon::RaceConditionError` that occurs when external status is reblogged (#18424)
* Fix `Mastodon::RaceConditionError` that occurs when external status is reblogged

* Replace to `@object`
2022-05-16 01:00:09 +02:00
Eugen Rochko 95a036c598
New Crowdin updates (#18339)
* New translations en.yml (Asturian)

* New translations en.yml (Kannada)

* New translations en.yml (Sinhala)

* New translations en.yml (Marathi)

* New translations en.yml (Malay)

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

* New translations en.yml (Breton)

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

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

* New translations en.yml (Korean)

* New translations en.yml (Russian)

* New translations en.yml (Turkish)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Swedish)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Spanish)

* New translations en.yml (Greek)

* New translations en.yml (Portuguese)

* New translations en.yml (Ukrainian)

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

* New translations en.yml (German)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Polish)

* New translations en.yml (Asturian)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Traditional)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.json (Persian)

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

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

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Traditional)

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

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

* New translations en.yml (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.yml (Japanese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Japanese)

* New translations en.yml (Latvian)

* New translations en.yml (Galician)

* New translations en.yml (Thai)

* New translations en.yml (Italian)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Korean)

* New translations en.yml (Hungarian)

* New translations en.yml (Welsh)

* New translations en.yml (French)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.yml (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.json (Ido)

* New translations en.json (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Catalan)

* New translations en.json (Catalan)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations devise.en.yml (Ido)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Catalan)

* New translations en.yml (Afrikaans)

* New translations en.yml (Latvian)

* New translations en.yml (Italian)

* New translations en.yml (Greek)

* New translations en.yml (Hungarian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Ido)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Korean)

* New translations en.yml (Russian)

* New translations en.yml (Hungarian)

* New translations en.yml (Turkish)

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Portuguese)

* New translations en.yml (Icelandic)

* New translations en.yml (Albanian)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Polish)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Ukrainian)

* New translations en.yml (Indonesian)

* New translations en.yml (Spanish)

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

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

* New translations en.yml (German)

* New translations en.json (Chinese Simplified)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Galician)

* New translations en.yml (French)

* New translations en.json (Galician)

* New translations en.yml (French)

* New translations en.yml (Welsh)

* New translations en.yml (Arabic)

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

* New translations en.yml (Arabic)

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

* New translations en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.json (Arabic)

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

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

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

* New translations en.yml (Slovenian)

* New translations en.yml (Hungarian)

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

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.json (Croatian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Tatar)

* New translations en.json (Tatar)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations devise.en.yml (Catalan)

* New translations en.yml (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Swedish)

* New translations en.yml (Spanish)

* New translations en.yml (Turkish)

* New translations en.yml (Welsh)

* New translations en.yml (Latvian)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Slovak)

* New translations en.yml (Czech)

* New translations en.yml (Portuguese)

* New translations en.yml (Afrikaans)

* New translations activerecord.en.yml (Afrikaans)

* New translations activerecord.en.yml (Afrikaans)

* New translations en.yml (Afrikaans)

* New translations activerecord.en.yml (Afrikaans)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Ido)

* New translations en.json (Spanish, Argentina)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Danish)

* New translations en.yml (Vietnamese)

* New translations en.yml (German)

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

* New translations en.yml (Polish)

* New translations en.yml (Indonesian)

* New translations en.yml (Korean)

* New translations en.yml (Italian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Polish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-15 18:04:59 +09:00
Eugen Rochko 6cf57c6765
Refactor how Redis locks are created (#18400)
* Refactor how Redis locks are created

* Fix autorelease duration on account deletion lock
2022-05-13 00:02:35 +02:00
Jeong Arm 12535568f7
Fix rss view on hashtag (#18406) 2022-05-12 22:40:54 +02:00
Eugen Rochko b4d373a3df
Add `limited` attribute to accounts in REST API and a warning in web UI (#18344) 2022-05-10 09:44:35 +02:00
Claire 662ed53c18
Fix block/mute lists showing a follow button when unblocking a user (#18364)
Fixes #601
2022-05-09 23:20:19 +02:00
Eugen Rochko 2b8dc58b7f
Change RSS feeds (#18356)
* Change RSS feeds

- Use date and time for titles instead of ellipsized text
- Use full content in body, even when there is a content warning
- Use media extensions

* Change feed icons and add width and height attributes to custom emojis

* Fix custom emoji animate on hover breaking

* Fix tests
2022-05-09 07:43:08 +02:00
Claire f17e73da09
Fix streaming notifications not using quick filter logic (#18316)
Fixes #18309

The quickFilter logic was used on display and to request new notification
pages, but not for live updates. The main issue this caused is bump the unread
notifications count regardless of the quickFilter setting.

Since notifications are re-fetched when changing quickFilter settings, it is
safe to drop live notifications that do not match the selected filter.
2022-05-07 04:50:40 +02:00
Claire 991353682d
Fix ambiguous wording on appeal actions (#18328)
Fixes #18322
2022-05-06 21:41:34 +02:00
Claire 5a448d0d71
Fix floating action button obscuring last element (#18332)
Fixes #18331

Add some padding below the last element of scrollable lists when the FAB is
shown in order for users to always be able to fully see the last element.
2022-05-06 21:40:49 +02:00
Claire a53003c6f1
Fix account warnings not being recorded in audit log (#18338)
* Fix account warnings not being recorded in audit log

Fixes #18334

* Only record warnings if they are not associated to another action
2022-05-06 21:40:20 +02:00
Eugen Rochko 9250578e6b
New Crowdin updates (#18255)
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)

* New translations doorkeeper.en.yml (Tatar)

* New translations doorkeeper.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Breton)

* New translations doorkeeper.en.yml (Sinhala)

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

* New translations en.json (Chinese Traditional)

* New translations en.json (Catalan)

* New translations en.json (Japanese)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

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

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Korean)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Korean)

* New translations en.yml (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.json (Vietnamese)

* New translations en.json (Turkish)

* New translations en.json (Galician)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* Add whitelist_en-GB.json [ci skip]

* New translations en.json (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Greek)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.json (Thai)

* New translations en.yml (Hebrew)

* New translations en.yml (Ukrainian)

* New translations en.json (Polish)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (Thai)

* New translations en.yml (Hebrew)

* New translations en.yml (Ukrainian)

* New translations en.json (Danish)

* New translations en.json (Hebrew)

* New translations en.json (Ido)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Danish)

* New translations en.json (Ido)

* New translations en.yml (Hebrew)

* New translations doorkeeper.en.yml (Hebrew)

* New translations en.json (Ido)

* New translations en.yml (Hebrew)

* New translations en.yml (Afrikaans)

* New translations en.json (Afrikaans)

* New translations en.yml (Hebrew)

* New translations en.json (Afrikaans)

* New translations en.json (Hebrew)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Hebrew)

* New translations en.json (Slovenian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Hebrew)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (German)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Russian)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Hungarian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.json (Czech)

* New translations en.yml (Hebrew)

* New translations en.json (Czech)

* New translations en.yml (Spanish)

* New translations en.yml (Hebrew)

* New translations en.json (Spanish)

* New translations en.yml (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.json (Portuguese)

* New translations en.yml (Hebrew)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations en.json (Danish)

* New translations activerecord.en.yml (Japanese)

* New translations en.yml (Hebrew)

* New translations en.yml (Slovenian)

* New translations en.json (Welsh)

* New translations en.yml (Slovenian)

* New translations en.json (Italian)

* New translations en.yml (Slovenian)

* New translations en.json (Indonesian)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Danish)

* New translations en.json (Swedish)

* New translations en.yml (Slovenian)

* New translations en.json (Vietnamese)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Slovenian)

* New translations en.yml (Welsh)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Danish)

* New translations en.yml (Slovenian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Slovenian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Slovenian)

* New translations doorkeeper.en.yml (Slovenian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.json (Welsh)

* New translations en.json (French)

* New translations en.json (Welsh)

* New translations en.json (French)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations simple_form.en.yml (Welsh)

* New translations en.json (French)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.yml (German)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.yml (Hebrew)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Arabic)

* New translations en.json (Asturian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (German)

* New translations en.json (Ido)

* New translations en.json (Welsh)

* New translations en.json (Ido)

* New translations en.json (Welsh)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.json (German)

* New translations en.json (Albanian)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.json (German)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-06 21:53:22 +09:00
Stefano Pigozzi 99d7684dfd
Replace leftover `envelope` icons with `at` icons (#18305) 2022-05-06 00:41:56 +02:00
Sara Golemon 336c23336a
Allow VerifyLinkService to accept backlinks with differing case (#18320) 2022-05-06 00:41:42 +02:00
mayaeh a01580f09f
Update translation strings for direct message (#18300) 2022-05-04 02:40:26 +02:00
Claire e2d1d3b428
Change “Only people I mention” to “Mentioned people only” (#18291) 2022-05-03 12:30:40 +02:00
Eugen Rochko 7e244879fe
Change "Conversations" back to "Direct messages" and add warning in web UI (#18289)
Partially reverts #18146
2022-05-03 09:09:09 +02:00
Claire 0597e5db68
Fix ArgumentError when processing pinned posts from Friendica (#18260)
Follow-up to #18254
2022-05-02 19:34:39 +02:00
Claire 71d02ffcf3
Fix compatibility with Friendica regarding pinned posts (#18254)
* Fix multiple database queries when fetching pinned posts for remote account

* Fix compatibility with Friendica regarding pinned posts

Fixes #18066

* Add tests
2022-05-02 17:41:01 +02:00
Eugen Rochko 6b7765a73b
New Crowdin updates (#18213)
* New translations activerecord.en.yml (Ido)

* New translations en.json (Ido)

* New translations activerecord.en.yml (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.json (Ido)

* New translations en.yml (Armenian)

* New translations en.json (Armenian)

* New translations en.yml (Russian)

* New translations en.yml (Armenian)

* New translations en.json (Armenian)

* New translations en.yml (Armenian)

* New translations en.json (Japanese)

* New translations en.json (Armenian)

* New translations en.yml (Armenian)

* New translations en.json (Japanese)

* New translations doorkeeper.en.yml (Armenian)

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

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

* New translations en.json (Spanish)

* New translations en.json (Portuguese)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Portuguese)

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

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations doorkeeper.en.yml (Japanese)

* New translations activerecord.en.yml (Japanese)

* New translations devise.en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Galician)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations devise.en.yml (Japanese)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (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.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Icelandic)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations doorkeeper.en.yml (Ido)

* New translations en.json (Icelandic)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Korean)

* New translations en.yml (Hungarian)

* New translations en.yml (Georgian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Punjabi)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

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

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Cornish)

* New translations en.yml (Irish)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

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

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

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

* New translations en.yml (Asturian)

* New translations en.yml (Kannada)

* New translations en.yml (Sinhala)

* New translations en.yml (Marathi)

* New translations en.yml (Malay)

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

* New translations en.yml (Breton)

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

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

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.json (Chinese Simplified)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.yml (Japanese)

* New translations en.yml (Turkish)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Vietnamese)

* New translations en.yml (Greek)

* New translations en.yml (Catalan)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Polish)

* New translations doorkeeper.en.yml (Persian)

* New translations en.yml (Czech)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Russian)

* New translations en.yml (Hungarian)

* New translations en.yml (Swedish)

* New translations en.yml (Indonesian)

* New translations en.yml (Swedish)

* New translations en.yml (Welsh)

* New translations en.json (Swedish)

* New translations en.yml (Danish)

* New translations en.yml (Galician)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-05-02 23:19:23 +09:00
Claire 9a3be0ad68
Fix error when looking handle with surrounding spaces (#18225) 2022-05-02 01:00:08 +02:00
Eugen Rochko 33f3818d66
Fix double render error when authorizing interaction (#18203) 2022-05-01 00:56:34 +02:00
Claire 6e4d932da5
Fix possible crash when a post references an invalid media attachment (#18211) 2022-05-01 00:55:26 +02:00
Eugen Rochko 5a48bf1085
Fix error when trying to revoke OAuth token without supplying a token (#18205) 2022-05-01 00:51:32 +02:00
Eugen Rochko 6da648227e
Fix error caused by missing subject in Webfinger response (#18204) 2022-05-01 00:37:46 +02:00