about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2020-01-24Fix emoji button styling in glitch-socThibaut Girka
2020-01-24[Glitch] Add announcementsEugen Rochko
Port front-end changes from f52c988e12e464e7baefc2fdb48ddf4a95584664 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24[Glitch] Add “account timeline” filter categoryThibG
Port JS changes from 43daeccccb31a0145c48f41c4ba449f0a3967ef2 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24[Glitch] Fix unfollow confirmations in account directoryThibG
Port ec3ee675640fa441b9113d69b743ee22e107002b to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24[Glitch] Add transparent support for EventSource streaming.Ben Lubar
Port 619da5a4dc00e51d28b29bfe5230125a78c1fac9 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-24Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/controllers/statuses_controller.rb`: Minor conflict due to theming system
2020-01-24New Crowdin translations (#12933)Eugen Rochko
* New translations doorkeeper.en.yml (Kazakh) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations simple_form.en.yml (Korean) [ci skip] * New translations doorkeeper.en.yml (Korean) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Latvian) [ci skip] * New translations en.yml (Armenian) [ci skip] * New translations simple_form.en.yml (Estonian) [ci skip] * New translations doorkeeper.en.yml (Estonian) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations simple_form.en.yml (Finnish) [ci skip] * New translations doorkeeper.en.yml (Finnish) [ci skip] * New translations en.json (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations doorkeeper.en.yml (French) [ci skip] * New translations en.json (Galician) [ci skip] * New translations simple_form.en.yml (Galician) [ci skip] * New translations en.json (Georgian) [ci skip] * New translations en.yml (Georgian) [ci skip] * New translations simple_form.en.yml (Georgian) [ci skip] * New translations doorkeeper.en.yml (Georgian) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations simple_form.en.yml (Greek) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.yml (Hebrew) [ci skip] * New translations simple_form.en.yml (Hebrew) [ci skip] * New translations doorkeeper.en.yml (Hebrew) [ci skip] * New translations en.json (Hindi) [ci skip] * New translations en.yml (Hindi) [ci skip] * New translations en.json (Latvian) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations simple_form.en.yml (Polish) [ci skip] * New translations doorkeeper.en.yml (Polish) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations simple_form.en.yml (Romanian) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations doorkeeper.en.yml (Russian) [ci skip] * New translations en.yml (Serbian (Cyrillic)) [ci skip] * New translations simple_form.en.yml (Persian) [ci skip] * New translations simple_form.en.yml (Serbian (Cyrillic)) [ci skip] * New translations doorkeeper.en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations en.yml (Serbian (Latin)) [ci skip] * New translations simple_form.en.yml (Serbian (Latin)) [ci skip] * New translations doorkeeper.en.yml (Serbian (Latin)) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations doorkeeper.en.yml (Slovenian) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.yml (Malayalam) [ci skip] * New translations en.json (Lithuanian) [ci skip] * New translations en.yml (Lithuanian) [ci skip] * New translations en.json (Macedonian) [ci skip] * New translations en.yml (Macedonian) [ci skip] * New translations en.json (Malay) [ci skip] * New translations en.yml (Malay) [ci skip] * New translations simple_form.en.yml (Malayalam) [ci skip] * New translations doorkeeper.en.yml (Occitan) [ci skip] * New translations doorkeeper.en.yml (Malayalam) [ci skip] * New translations en.json (Marathi) [ci skip] * New translations en.yml (Marathi) [ci skip] * New translations doorkeeper.en.yml (Marathi) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations en.yml (Norwegian) [ci skip] * New translations simple_form.en.yml (Norwegian) [ci skip] * New translations doorkeeper.en.yml (Norwegian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations simple_form.en.yml (Occitan) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Esperanto) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations doorkeeper.en.yml (German) [ci skip] * New translations doorkeeper.en.yml (Greek) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations doorkeeper.en.yml (Italian) [ci skip] * New translations en.yml (Norwegian Nynorsk) [ci skip] * New translations simple_form.en.yml (Norwegian Nynorsk) [ci skip] * New translations doorkeeper.en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Persian) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations simple_form.en.yml (Portuguese) [ci skip] * New translations en.yml (German) [ci skip] * New translations doorkeeper.en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations simple_form.en.yml (Portuguese, Brazilian) [ci skip] * New translations doorkeeper.en.yml (Portuguese, Brazilian) [ci skip] * New translations simple_form.en.yml (Esperanto) [ci skip] * New translations en.json (Malayalam) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Icelandic) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations simple_form.en.yml (German) [ci skip] * New translations en.json (German) [ci skip] * New translations doorkeeper.en.yml (Kabyle) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Breton) [ci skip] * New translations en.yml (Breton) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations simple_form.en.yml (Indonesian) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations simple_form.en.yml (Slovak) [ci skip] * New translations doorkeeper.en.yml (Slovak) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations simple_form.en.yml (Arabic) [ci skip] * New translations doorkeeper.en.yml (Basque) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations doorkeeper.en.yml (Chinese Simplified) [ci skip] * New translations doorkeeper.en.yml (Corsican) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations doorkeeper.en.yml (Dutch) [ci skip] * New translations simple_form.en.yml (Kabyle) [ci skip] * New translations doorkeeper.en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Danish) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations doorkeeper.en.yml (Bulgarian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations en.json (Chinese Traditional) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Chinese Traditional) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations simple_form.en.yml (Corsican) [ci skip] * New translations en.yml (Bulgarian) [ci skip] * New translations en.json (Croatian) [ci skip] * New translations en.yml (Croatian) [ci skip] * New translations simple_form.en.yml (Croatian) [ci skip] * New translations doorkeeper.en.yml (Croatian) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations simple_form.en.yml (Czech) [ci skip] * New translations doorkeeper.en.yml (Czech) [ci skip] * New translations en.json (Danish) [ci skip] * New translations doorkeeper.en.yml (Danish) [ci skip] * New translations simple_form.en.yml (Dutch) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations simple_form.en.yml (Bulgarian) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations simple_form.en.yml (Asturian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations simple_form.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Arabic) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations doorkeeper.en.yml (Asturian) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.json (Basque) [ci skip] * New translations simple_form.en.yml (Bengali) [ci skip] * New translations en.yml (Bengali) [ci skip] * New translations simple_form.en.yml (Basque) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Telugu) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations simple_form.en.yml (Welsh) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations doorkeeper.en.yml (Tamil) [ci skip] * New translations en.yml (Urdu (Pakistan)) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations doorkeeper.en.yml (Ukrainian) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.json (Telugu) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations simple_form.en.yml (Tamil) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Thai) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations simple_form.en.yml (Swedish) [ci skip] * New translations en.json (Tamil) [ci skip] * New translations simple_form.en.yml (Spanish) [ci skip] * New translations doorkeeper.en.yml (Spanish) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations simple_form.en.yml (Spanish, Argentina) [ci skip] * New translations doorkeeper.en.yml (Spanish, Argentina) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations doorkeeper.en.yml (Swedish) [ci skip] * New translations doorkeeper.en.yml (Welsh) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (French) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations simple_form.en.yml (Galician) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations simple_form.en.yml (Japanese) [ci skip] * New translations en.json (German) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (German) [ci skip] * New translations simple_form.en.yml (German) [ci skip] * New translations en.yml (German) [ci skip] * New translations simple_form.en.yml (German) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations simple_form.en.yml (Japanese) [ci skip] * New translations en.yml (Korean) [ci skip] * i18n-tasks normalize * yarn manage:translations
2020-01-24Fix OEmbed leaking information about existence of non-public statuses (#12930)Eugen Rochko
2020-01-24Fix password change/reset not immediately invalidating other sessions (#12928)Eugen Rochko
While making browser requests in the other sessions after a password change or reset does not allow you to be logged in and correctly invalidates the session making the request, sessions have API tokens associated with them, which can still be used until that session is invalidated. This is a security issue for accounts that were already compromised some other way because it makes it harder to throw out the hijacker.
2020-01-24Fix relationships page not showing results in admin UI (#12934)Eugen Rochko
Follow-up to #12927
2020-01-24Remove bad encoding middleware (#12931)Eugen Rochko
Revert #12741
2020-01-23New Crowdin translations (#12859)Eugen Rochko
* New translations en.json (Arabic) [ci skip] * New translations simple_form.en.yml (Arabic) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations doorkeeper.en.yml (Basque) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations doorkeeper.en.yml (Chinese Simplified) [ci skip] * New translations doorkeeper.en.yml (Corsican) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations simple_form.en.yml (Kabyle) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations simple_form.en.yml (Asturian) [ci skip] * New translations doorkeeper.en.yml (Asturian) [ci skip] * New translations simple_form.en.yml (Basque) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.yml (Bengali) [ci skip] * New translations simple_form.en.yml (Bengali) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Bulgarian) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations simple_form.en.yml (Bulgarian) [ci skip] * New translations doorkeeper.en.yml (Bulgarian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations en.json (Chinese Traditional) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Danish) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations simple_form.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Arabic) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations en.yml (Serbian (Latin)) [ci skip] * New translations doorkeeper.en.yml (Spanish, Argentina) [ci skip] * New translations simple_form.en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations simple_form.en.yml (Spanish) [ci skip] * New translations simple_form.en.yml (Serbian (Latin)) [ci skip] * New translations doorkeeper.en.yml (Serbian (Latin)) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations doorkeeper.en.yml (Swedish) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations doorkeeper.en.yml (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations simple_form.en.yml (Welsh) [ci skip] * New translations en.yml (Urdu (Pakistan)) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations doorkeeper.en.yml (Ukrainian) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations simple_form.en.yml (Tamil) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Telugu) [ci skip] * New translations simple_form.en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.json (Telugu) [ci skip] * New translations doorkeeper.en.yml (Tamil) [ci skip] * New translations doorkeeper.en.yml (Serbian (Cyrillic)) [ci skip] * New translations simple_form.en.yml (Occitan) [ci skip] * New translations en.yml (Serbian (Cyrillic)) [ci skip] * New translations doorkeeper.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Persian) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations simple_form.en.yml (Portuguese) [ci skip] * New translations doorkeeper.en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations simple_form.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations simple_form.en.yml (Slovak) [ci skip] * New translations simple_form.en.yml (Swedish) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations doorkeeper.en.yml (Thai) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Slovak) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations doorkeeper.en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations doorkeeper.en.yml (Polish) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations simple_form.en.yml (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.json (Polish) [ci skip] * New translations simple_form.en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Occitan) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations doorkeeper.en.yml (Welsh) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Hungarian) [ci skip] * New translations doorkeeper.en.yml (Indonesian) [ci skip] * New translations doorkeeper.en.yml (Korean) [ci skip] * New translations doorkeeper.en.yml (Swedish) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Corsican) [ci skip] * New translations doorkeeper.en.yml (French) [ci skip] * New translations doorkeeper.en.yml (Korean) [ci skip] * New translations simple_form.en.yml (Japanese) [ci skip] * New translations doorkeeper.en.yml (Icelandic) [ci skip] * New translations doorkeeper.en.yml (Japanese) [ci skip] * New translations doorkeeper.en.yml (Russian) [ci skip] * New translations doorkeeper.en.yml (Spanish) [ci skip] * New translations doorkeeper.en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Spanish, Argentina) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations doorkeeper.en.yml (German) [ci skip] * New translations doorkeeper.en.yml (Arabic) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations en.json (Czech) [ci skip] * New translations doorkeeper.en.yml (Czech) [ci skip] * New translations doorkeeper.en.yml (French) [ci skip] * New translations doorkeeper.en.yml (Japanese) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations simple_form.en.yml (Arabic) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations doorkeeper.en.yml (Kazakh) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Greek) [ci skip] * New translations doorkeeper.en.yml (Thai) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations doorkeeper.en.yml (Italian) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Esperanto) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations doorkeeper.en.yml (Asturian) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.json (Galician) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Persian) [ci skip] * New translations doorkeeper.en.yml (Basque) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations doorkeeper.en.yml (Portuguese) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.yml (Norwegian) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Kazakh) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Lithuanian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations doorkeeper.en.yml (Spanish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations doorkeeper.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations doorkeeper.en.yml (Estonian) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Turkish) [ci skip] * i18n-tasks normalize * yarn manage:translations
2020-01-23Add announcements (#12662)Eugen Rochko
* Add announcements Fix #11006 * Add reactions to announcements * Add admin UI for announcements * Add unit tests * Fix issues - Add `with_dismissed` param to announcements API - Fix end date not being formatted when time range is given - Fix announcement delete causing reactions to send streaming updates - Fix announcements container growing too wide and mascot too small - Fix `all_day` being settable when no time range is given - Change text "Update" to "Announcement" * Fix scheduler unpublishing announcements before they are due * Fix filter params not being passed to announcements filter
2020-01-23Fix media attachments without file being uploadable (#12562)Eugen Rochko
Fix #12554
2020-01-23Add “account timeline” filter category (#12918)ThibG
* Add “account timeline” filter category Previously, no filter category applied to account timelines. * Rename “Account timelines” into “Profiles”
2020-01-23Add support for magnet: URIs (#12905)ThibG
2020-01-23Change followers page to relationships page in admin UI (#12927)Eugen Rochko
Allow browsing and filtering all relationships instead of just followers, unify the codebase with the user-facing relationship manager, add ability to see who the user invited
2020-01-22Fix unfollow confirmations in account directory (#12922)ThibG
Fixes #12921
2020-01-22Fix duplicate “description” meta tag on accounts public pages (#12923)ThibG
Fixes #12920
2020-01-21Add transparent support for EventSource streaming. (#12887)Ben Lubar
This activates if the streaming base URL does not start with "ws". All currently-live streaming base URLs start with "wss://".
2020-01-20Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/javascript/packs/public.js`: Upstream removed an unused function in code that has been refactored a bit. Removed that function in the corresponding places.
2020-01-20Fix not all of account's active IPs showing up in admin UI (#12909)Eugen Rochko
2020-01-20Fix admin interface crashing when listing boosts with non-video media ↵ThibG
attachments (#12907) Fix regression introduced by #12879
2020-01-20Fix search by IP not using alternative browser sessions in admin UI (#12904)Eugen Rochko
2020-01-20Add glitch-soc front-end support for many upstream translationsThibaut Girka
2020-01-20Fix “X new items” not showing up for slow mode on empty timelines (#12875)ThibG
2020-01-20Various fixes and improvements (#12878)Eugen Rochko
* Fix unused role routes being generated * Remove unused JavaScript code * Refactor filters code to be DRYer * Fix `.count == 0` comparisons to `.empty?` in views * Fix filters in views
2020-01-20[Glitch] Change reported media attachments to always be hidden in admin UIEugen Rochko
Port 1ded3bb752916fe87755d80a832af39431a42438 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-20Merge branch 'master' into glitch-soc/masterThibaut Girka
Conflicts: - `README.md`: We have different README files. Discarded upstream changes. - `app/views/layouts/admin.html.haml`: Conflict due to glitch-soc theming system. Adapted upstream changes. - `app/views/layouts/embedded.html.haml`: Conflict due to glitch-soc theming system. Adapted upstream changes. - `yarn.lock`: No real conflict, glitch-specific dependency too close to an updated one. Adapted upstream change.
2020-01-18Add is to available locales (#12882)Eugen Rochko
Fix #12869
2020-01-18Change reported media attachments to always be hidden in admin UI (#12879)Eugen Rochko
Also: - Fix Mastodon logo not showing up in status embeds - Fix blurhash not being used in status embeds - Fix blurhash not being used in admin UI - Fix autoplay param not working correctly on status embeds
2020-01-17Exempt staff members from spam check (#12874)ThibG
Consider admins and moderators as trusted, for the purpose of the spam checker. Fixes #12872
2020-01-14Fix access to OEmbed endpoint in secure mode (#12864)Eugen Rochko
2020-01-13Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-01-13Fix file names being obfuscated on update when file didn't change (#12857)Eugen Rochko
Fix #12849
2020-01-13New Crowdin translations (#12830)Eugen Rochko
* New translations en.yml (Telugu) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations doorkeeper.en.yml (Ukrainian) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations en.yml (Urdu (Pakistan)) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations simple_form.en.yml (Welsh) [ci skip] * New translations simple_form.en.yml (Spanish) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations doorkeeper.en.yml (Norwegian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations simple_form.en.yml (Occitan) [ci skip] * New translations doorkeeper.en.yml (Occitan) [ci skip] * New translations en.json (Persian) [ci skip] * New translations simple_form.en.yml (Persian) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations simple_form.en.yml (Polish) [ci skip] * New translations doorkeeper.en.yml (Polish) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations simple_form.en.yml (Romanian) [ci skip] * New translations en.json (Russian) [ci skip] * New translations doorkeeper.en.yml (Slovenian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations doorkeeper.en.yml (Russian) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations en.yml (Serbian (Cyrillic)) [ci skip] * New translations simple_form.en.yml (Serbian (Cyrillic)) [ci skip] * New translations doorkeeper.en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations en.yml (Serbian (Latin)) [ci skip] * New translations simple_form.en.yml (Serbian (Latin)) [ci skip] * New translations doorkeeper.en.yml (Serbian (Latin)) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations en.yml (Georgian) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations en.yml (Armenian) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Persian) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations simple_form.en.yml (Portuguese) [ci skip] * New translations doorkeeper.en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations simple_form.en.yml (Portuguese, Brazilian) [ci skip] * New translations doorkeeper.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations simple_form.en.yml (Swedish) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations en.json (Thai) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations simple_form.en.yml (Norwegian Nynorsk) [ci skip] * New translations doorkeeper.en.yml (Thai) [ci skip] * New translations en.json (Malayalam) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Icelandic) [ci skip] * New translations doorkeeper.en.yml (Icelandic) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations simple_form.en.yml (Kabyle) [ci skip] * New translations doorkeeper.en.yml (Kabyle) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Norwegian Nynorsk) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.json (Breton) [ci skip] * New translations en.yml (Breton) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations simple_form.en.yml (Indonesian) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations simple_form.en.yml (Slovak) [ci skip] * New translations doorkeeper.en.yml (Slovak) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations simple_form.en.yml (Arabic) [ci skip] * New translations doorkeeper.en.yml (Basque) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations doorkeeper.en.yml (Italian) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations doorkeeper.en.yml (Chinese Simplified) [ci skip] * New translations doorkeeper.en.yml (Corsican) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations doorkeeper.en.yml (Dutch) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (German) [ci skip] * New translations en.yml (German) [ci skip] * New translations simple_form.en.yml (German) [ci skip] * New translations doorkeeper.en.yml (German) [ci skip] * New translations doorkeeper.en.yml (Greek) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations simple_form.en.yml (Danish) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations simple_form.en.yml (Galician) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations simple_form.en.yml (Corsican) [ci skip] * New translations en.json (Croatian) [ci skip] * New translations en.yml (Croatian) [ci skip] * New translations simple_form.en.yml (Croatian) [ci skip] * New translations doorkeeper.en.yml (Croatian) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations simple_form.en.yml (Czech) [ci skip] * New translations doorkeeper.en.yml (Czech) [ci skip] * New translations en.json (Danish) [ci skip] * New translations doorkeeper.en.yml (Danish) [ci skip] * New translations simple_form.en.yml (Dutch) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations simple_form.en.yml (Esperanto) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations doorkeeper.en.yml (Esperanto) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations simple_form.en.yml (Estonian) [ci skip] * New translations doorkeeper.en.yml (Estonian) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations simple_form.en.yml (Finnish) [ci skip] * New translations doorkeeper.en.yml (Finnish) [ci skip] * New translations en.json (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations doorkeeper.en.yml (French) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations simple_form.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Arabic) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations simple_form.en.yml (Asturian) [ci skip] * New translations doorkeeper.en.yml (Asturian) [ci skip] * New translations en.json (Basque) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations simple_form.en.yml (Basque) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.yml (Bengali) [ci skip] * New translations simple_form.en.yml (Bengali) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations en.yml (Bulgarian) [ci skip] * New translations simple_form.en.yml (Bulgarian) [ci skip] * New translations doorkeeper.en.yml (Bulgarian) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations en.json (Chinese Traditional) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Chinese Traditional) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations doorkeeper.en.yml (Welsh) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Kazakh) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Icelandic) [ci skip] * New translations activerecord.en.yml (Icelandic) [ci skip] * New translations devise.en.yml (Icelandic) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Esperanto) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations doorkeeper.en.yml (Esperanto) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations devise.en.yml (Estonian) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * i18n-tasks normalize * yarn manage:translations
2020-01-12[Glitch] Correct margins for heading actionsSasha Sorokin
Port SCSS changes from 5dcca33c561ebeca9cf12eba8a39efee0dd484d0 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-12[Glitch] Use heading actions and placeholders in settingsSasha Sorokin
Port SCSS changes from 36426ed4ad450320f4a4e598c41355a6d8faad66 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-01-12Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `Gemfile.lock`: No real conflict, glitch-soc-only dependency (redcarpet) too close to an upstream one (rdf-normalize) - `README.md`: we have different READMEs, discarded upstream's changes - `app/views/admin/custom_emojis/index.html.haml`: No real conflict, different context because of glitch-soc theming - `lib/mastodon/statuses_cli.rb`: Upstream added code to keep bookmarked statuses, we were already doing so with slightly different code. Discarded upstream's changes. - `package.json`: No real conflict, glitch-soc-only dependency (favico.js) too close to an upstream one
2020-01-12Fix Ruby 2.7 support (#12831)ThibG
- update http gem to avoid errors - update blurhash gem to avoid shared object loading error - update goldfinger gem so the http gem could be updated - update json gem to avoid warnings
2020-01-12New Crowdin translations (#12378)Eugen Rochko
* New translations simple_form.en.yml (Japanese) [ci skip] * New translations doorkeeper.en.yml (Japanese) [ci skip] * New translations doorkeeper.en.yml (Welsh) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (French) [ci skip] * New translations devise.en.yml (German) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations devise.en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.json (Basque) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Basque) [ci skip] * New translations activerecord.en.yml (Basque) [ci skip] * New translations devise.en.yml (Basque) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations activerecord.en.yml (Tamil) [ci skip] * New translations devise.en.yml (Tamil) [ci skip] * New translations devise.en.yml (Tamil) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations activerecord.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations devise.en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations simple_form.en.yml (Greek) [ci skip] * New translations simple_form.en.yml (Greek) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations simple_form.en.yml (Greek) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.json (Basque) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations simple_form.en.yml (Asturian) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Kazakh) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations simple_form.en.yml (Esperanto) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations activerecord.en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations en.json (Basque) [ci skip] * New translations simple_form.en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Japanese) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations doorkeeper.en.yml (Korean) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (German) [ci skip] * New translations doorkeeper.en.yml (German) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations doorkeeper.en.yml (Spanish) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations doorkeeper.en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations doorkeeper.en.yml (Russian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations doorkeeper.en.yml (Indonesian) [ci skip] * New translations en.yml (Kazakh) [ci skip] * New translations doorkeeper.en.yml (Kazakh) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Persian) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations doorkeeper.en.yml (Tamil) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations doorkeeper.en.yml (Estonian) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations doorkeeper.en.yml (Arabic) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations doorkeeper.en.yml (Portuguese) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations activerecord.en.yml (Icelandic) [ci skip] * New translations devise.en.yml (Icelandic) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Corsican) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Swedish) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations doorkeeper.en.yml (Esperanto) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Icelandic) [ci skip] * New translations doorkeeper.en.yml (Icelandic) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations doorkeeper.en.yml (Italian) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations doorkeeper.en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations doorkeeper.en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations doorkeeper.en.yml (Czech) [ci skip] * New translations doorkeeper.en.yml (Basque) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations doorkeeper.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Greek) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Spanish) [ci skip] * i18n-tasks normalize * New translations en.yml (Thai) [ci skip] * New translations en.yml (Korean) [ci skip] * yarn manage:translations * New translations en.yml (Thai) [ci skip]
2020-01-12Fix invalid votes from the API being accepted (#12601)ThibG
* Fix invalid votes from the API being accepted Fixes #12556 - Ensure `choice` is an integer instead of silently converting to 0 - Ensure `choice` corresponds to an actual choice of the poll * Please CodeClimate
2020-01-12Avoid using uppercase text-transform (#12684)Sasha Sorokin
One user suggested that the loading indicator should not be written ALL CAPS, at first it was thought this change is very minor, but then a few other people asked agreed on the same thing - variant without caps looks better. It may be related that it is harder to read or just looks too "catchy". Moreover, I asked @rf@mastodonsocial.ru community what they think of that and 82% of 22 people agreed on this change. This commit removes all usage of text-transform: uppercase, where the font size specified, it changes the value by one pixel larger, so we still keeping the "designed" size of the labels but without using CAPS.
2020-01-12Correct margins for heading actions (#12797)Sasha Sorokin
This commit changes margins of the page heading header, actions in order to fix displaying with low screen size and long enough header. It is working by giving heading and action buttons margin from top and then negating it in parent element. Whenever flex item wrap, the "negated" margin will be applied again, providing us nice space between header and action buttons. This commit also adds a margin to header, so it does not clamp with the heading actions and they wrap a little earlier (15px ahead). As well as the left margin is not anymore applied to the first action.
2020-01-11Fix ruby 2.7 warnings about keyword parameters (#12824)ThibG
2020-01-11Remove dependency on OStatus2 gem (#12822)ThibG
2020-01-11Refactor StatusThreadingConcern (#9626)ysksn
* Remove #filter_from_context? * Create scope Status.with_accounts Retrieving AR objects should be their model's scope
2020-01-11Add support for linking XMPP URIs in toots (#12709)ThibG
* Fix wrong grouping in Twitter valid_url regex * Add support for xmpp URIs Fixes #9776 The difficult part is autolinking, because Twitter-text's extractor does some pretty ad-hoc stuff to find things that “look like” URLs, and XMPP URIs do not really match the assumptions of that lib, so it doesn't sound wise to try to shoehorn it into the existing regex. This is why I used a specific regex (very close, although slightly more permissive than the RFC), and a specific scan function (a simplified version of the generalized one from Twitter). * Remove leading “xmpp:” from auto-linked text
2020-01-11Suppress backtrace when delivering toots (#12798)Daigo 3 Dango
This is to suppress irrelevant backtrace from errors raised when delivering toots to remote servers. The errors are usually out of control by the local server and backtraces don't provide much information. This is similar to https://github.com/tootsuite/mastodon/pull/5174 and shortens backtraces like below: ``` WARN: Mastodon::UnexpectedResponseError: https://example.com/inbox returned code 523 WARN: app/workers/activitypub/delivery_worker.rb:48:in `block (3 levels) in perform_request' app/lib/request.rb:75:in `perform' app/workers/activitypub/delivery_worker.rb:47:in `block (2 levels) in perform_request' app/lib/request_pool.rb:53:in `use' app/lib/request_pool.rb:108:in `block (2 levels) in with' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/notifications.rb:170:in `instrument' app/lib/request_pool.rb:107:in `block in with' app/lib/connection_pool/shared_connection_pool.rb:21:in `block (2 levels) in with' app/lib/connection_pool/shared_connection_pool.rb:20:in `handle_interrupt' app/lib/connection_pool/shared_connection_pool.rb:20:in `block in with' app/lib/connection_pool/shared_connection_pool.rb:16:in `handle_interrupt' app/lib/connection_pool/shared_connection_pool.rb:16:in `with' app/lib/request_pool.rb:106:in `with' app/workers/activitypub/delivery_worker.rb:46:in `block in perform_request' vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:51:in `run_code' vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:42:in `run_yellow' vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:24:in `run' app/workers/activitypub/delivery_worker.rb:57:in `perform_request' app/workers/activitypub/delivery_worker.rb:25:in `perform' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:31:in `block in call' vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/statsd/publisher.rb:27:in `statsd_time' vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:30:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' app/lib/sidekiq_error_handler.rb:5:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/scout_apm-2.3.0.pre3/lib/scout_apm/background_job_integrations/sidekiq.rb:69:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/sidekiq-unique-jobs-6.0.18/lib/sidekiq_unique_jobs/server/middleware.rb:29:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:133:in `invoke' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:164:in `block in process' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:137:in `block (6 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:109:in `local' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:136:in `block (5 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:43:in `block in call' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:73:in `block in wrap' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:72:in `wrap' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:42:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:132:in `block (4 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:250:in `stats' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:127:in `block (3 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_logger.rb:8:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:126:in `block (2 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:74:in `global' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:125:in `block in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:48:in `with_context' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:42:in `with_job_hash_context' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:124:in `dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:163:in `process' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:83:in `process_one' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:71:in `run' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:16:in `watchdog' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:25:in `block in safe_thread' ``` ``` WARN: Stoplight::Error::RedLight: https://example.com/inbox WARN: vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:46:in `run_red' vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:25:in `run' app/workers/activitypub/delivery_worker.rb:57:in `perform_request' app/workers/activitypub/delivery_worker.rb:25:in `perform' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:31:in `block in call' vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/statsd/publisher.rb:27:in `statsd_time' vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:30:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' app/lib/sidekiq_error_handler.rb:5:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/scout_apm-2.3.0.pre3/lib/scout_apm/background_job_integrations/sidekiq.rb:69:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/sidekiq-unique-jobs-6.0.18/lib/sidekiq_unique_jobs/server/middleware.rb:29:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:133:in `invoke' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:164:in `block in process' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:137:in `block (6 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:109:in `local' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:136:in `block (5 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:43:in `block in call' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:73:in `block in wrap' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap' vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:72:in `wrap' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:42:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:132:in `block (4 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:250:in `stats' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:127:in `block (3 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_logger.rb:8:in `call' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:126:in `block (2 levels) in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:74:in `global' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:125:in `block in dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:48:in `with_context' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:42:in `with_job_hash_context' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:124:in `dispatch' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:163:in `process' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:83:in `process_one' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:71:in `run' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:16:in `watchdog' vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:25:in `block in safe_thread' ```
2020-01-11Use heading actions and placeholders in settings (#12801)Sasha Sorokin
This commit: - Refactors centered text blocks currently used for placeholders for empty tables and puts styles for it in separate class - .centered-text, simply aliasing text-align: center. Which is furtherly used in this commit. - Improves applications settings page to use heading actions, moving "New application" button there, and displaying placeholder "You have no applications" in place of empty table. - Improves custom emoji settings page to use heading action for "Upload" button, making it more easily accessible without need to scroll through all of the emojis. - Improves email domain blocks settings page, moving "Add new" to the heading actions and using placeholder "No e-mail domains currently blacklisted" instead of showing empty table.