Commit Graph

5573 Commits (34756cc4e095fa4d3add5ea94c1453e6a2f33064)

Author SHA1 Message Date
ThibG cf4fe6caef
Fix misleading error when attempting to re-send a pending follow request (#13133)
Fixes #13131
5 years ago
ThibG d91946ae13
Fix backups failing when files are missing from media attachments (#13146)
Fixes #13123
5 years ago
ThibG 3704402dcc
Fix duplicate accounts being created when fetching an account for its key only (#13147)
Fixes #13136

When a user's canonical acct domain is different from its id's domain
(WEB_DOMAIN ≠ LOCAL_DOMAIN), two webfinger queries are required to find the
canonical domain from the URI. However, we skip webfinger queries when
updating only the key of a remote user, which led to the creation of a
duplicate account, using the URI's domain instead of the canonical acct: one.
5 years ago
ThibG 0f07218e53
Fix `/web` redirecting to `/web/web` in web UI (#13128)
Fixes #13127
5 years ago
ThibG 983ab40086
Fix previously OStatus-based accounts not being detected as ActivityPub (#13129) 5 years ago
ThibG ff3a11d01d
Add source-mapped stacktrace to error message in web UI (#13082)
* Add source-mapped stack trace to copyable text in error boundary

* Add the error message to the copied report, not only the stack trace
5 years ago
ThibG d8e9bae482
Fix account JSON/RSS not being cacheable due to wrong mime type comparison (#13116)
`request.format` is not a symbol but a `Mime::Type`, so the condition actually
never matched, and a session was created even for those requests, preventing
caching.
5 years ago
ThibG 1314bba68a
Fix old browsers crashing because of missing `finally` polyfill in web UI (#13115)
Fix #13015
5 years ago
ThibG 4dec392ea8
Fix account's bio not being shown if there are no proofs/fields in admin UI (#13075) 5 years ago
ThibG c48d895ea7
Fix sign-ups without checked user agreement being accepted through the web form (#13088)
* Fix user agreement not being verified

* Fix tests

* Fix up agreement field being dismissed
5 years ago
ThibG cb28f61a6c
Fix invite request input not being shown on sign-up error if left empty (#13089)
If the “Why do you want to join?” textarea is left empty and the entered params
do not validate, the textarea isn't shown again, unlike other fields.

This commit fixes that by populating an empty `UserInviteRequest` when needed.
5 years ago
Eugen Rochko 90f04ea064
Fix unread indicator on announcements not being aligned with text in web UI (#13052) 5 years ago
Eugen Rochko 4599518266
New Crowdin translations (#13036)
* 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.yml (French)
[ci skip]

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

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

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

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

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

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

* New translations simple_form.en.yml (Malayalam)
[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.yml (Macedonian)
[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.yml (Occitan)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations doorkeeper.en.yml (Kazakh)
[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.json (Latvian)
[ci skip]

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

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

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

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

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

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

* New translations simple_form.en.yml (Norwegian Nynorsk)
[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 doorkeeper.en.yml (Italian)
[ci skip]

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

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

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

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

* New translations en.json (Malayalam)
[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 (Corsican)
[ci skip]

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

* New translations en.yml (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 (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.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 simple_form.en.yml (Kabyle)
[ci skip]

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

* New translations doorkeeper.en.yml (Bulgarian)
[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.json (Bulgarian)
[ci skip]

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

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

* New translations simple_form.en.yml (Asturian)
[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.yml (Corsican)
[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 simple_form.en.yml (Danish)
[ci skip]

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

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

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

* New translations en.json (Tamil)
[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 (Spanish)
[ci skip]

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

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

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

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

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

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

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

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

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

* New translations en.yml (Ukrainian)
[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.yml (Serbian (Latin))
[ci skip]

* New translations doorkeeper.en.yml (Tamil)
[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.json (Telugu)
[ci skip]

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

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

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

* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[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 en.yml (Thai)
[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 en.json (Vietnamese)
[ci skip]

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

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

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

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

* New translations en.yml (Serbian (Cyrillic))
[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.json (Slovak)
[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 simple_form.en.yml (Polish)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.yml (Kabyle)
[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 en.json (Catalan)
[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.yml (Asturian)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations devise.en.yml (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 (Indonesian)
[ci skip]

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

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

* New translations en.yml (Polish)
[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.yml (Polish)
[ci skip]

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

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

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

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

* New translations en.yml (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 devise.en.yml (Japanese)
[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.yml (Kabyle)
[ci skip]

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

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

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

* i18n-tasks normalize

* yarn manage:translations
5 years ago
Eugen Rochko b1349342d2
Fix rendering `<a>` without `href` when scheme unsupported (#13040)
- Disallow links with relative paths
- Disallow iframes with non-http protocols and relative paths

Close #13037
5 years ago
Eugen Rochko b686e275e7
Fix unfiltered params error when generating ActivityPub tag pagination (#13049) 5 years ago
Eugen Rochko a64973aecf
Fix malformed HTML causing uncaught error (#13042)
Fix OEmbed preview API leaking existence of private statuses (see #12930)
5 years ago
ThibG 02236332ba
Fix native share button not being displayed for unlisted toots (#13045) 5 years ago
Eugen Rochko 92e7c84969
Fix punycode being returned in some entities instead of unicode in REST API (#13035) 5 years ago
Eugen Rochko ff07e80533
Fix remote convertible media attachments not being saved (#13032)
Because the file name was set after loading the file, Paperclip
was flagging the differing file extension as content type spoofing

Fix #12938
5 years ago
Eugen Rochko c253f5c57e
Fix punycode being rendered instead of unicode in some places (#13030) 5 years ago
ThibG c31d61d7f2
Fix dates (without time) being rendered as datetimes in public pages (#13034) 5 years ago
Eugen Rochko 5265df0a8a
Change signature verification to ignore signatures with invalid host (#13033)
Instead of returning a signature verification error, pretend there
was no signature (i.e., this does not allow access to resources that
need a valid signature), so public resources can still be fetched

Fix #13011
5 years ago
Eugen Rochko 62f0b30617
New Crowdin translations (#12953)
* New translations en.json (Romanian)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.json (Spanish)
[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.yml (Galician)
[ci skip]

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

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

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

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

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

* New translations doorkeeper.en.yml (Norwegian)
[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.yml (Occitan)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.json (Hungarian)
[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 simple_form.en.yml (Portuguese, Brazilian)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations simple_form.en.yml (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 en.json (Asturian)
[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 en.json (Asturian)
[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.yml (Japanese)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.yml (Esperanto)
[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 en.json (Ukrainian)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.yml (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 devise.en.yml (Asturian)
[ci skip]

* New translations en.json (Asturian)
[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 en.yml (Chinese Simplified)
[ci skip]

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

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

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

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

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

* New translations en.json (Asturian)
[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 en.json (Asturian)
[ci skip]

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

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

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

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

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

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

* i18n-tasks normalize

* yarn manage:translations
5 years ago
fuyu 5711899c59
Don't display toggle reveal button in video modal when full screen (#13026) 5 years ago
ThibG 3adc722d1c
Change how unread announcements are handled (#13020)
* Change meaning of /api/v1/announcements/:id/dismiss to mark an announcement as read

* Change how unread announcements are counted in UI

* Add unread marker to announcements and mark announcements as unread as they are displayed

* Fixups
5 years ago
abcang 61a7390b66
Search account domain in lowercase (#13016)
* Search account domain in lowercase

* fix rubocop error

* fix spec/models/account_spec.rb
5 years ago
Renato "Lond" Cerqueira 37dc12dd53
Fix error when sending moderation notification (#13014)
Since the statuses helper is not loaded, the rtl helper cannot be found
and the email cannot be sent.
5 years ago
Sasha Sorokin 50cd73e5d7
Add "Show thread" button to public profiles (#13000)
This adds "Show thread" button to the status view which is used in
profiles. The logic to display the button is mimicking logic in
web app available at app/javascript/mastodon/components/status.js#L439.

* The little change in components CSS required to remove enforced
  underline for all links on public pages on our button.
5 years ago
Eugen Rochko bba0269d97
Fix mascot being too large, and a code style issue (#13002) 5 years ago
Sasha Sorokin 0c611e3115 Add missing translations (#12996)
This commit adds missing translations for #12966 and #12954.
5 years ago
Sasha Sorokin 04459687f8 Fix regressions caused by #12961 (#12961)
This commit attempts to fix most of regressions caused by #12961
pull request which added even spread of space between tabs.

The following fixes were done:

- Don't hide overflow in tabs

   As tabs use ::after and ::before pseudo-elements to create arrow on
   the bottom of selected tab, "overflow: hidden" will cause this arrow
   to look split from the bottom container.

   For the future we probably should use slider element instead, which
   would align according to currently selected tab, instead of relying
   on pseudo-elements. Such method would also allow smooth transitions.

- Disallow wrapping tab text on insufficient space

   This would fix some unwanted behavior[1] when on insufficient width,
   renderer might attempt wrapping text to not overtake others' space.

   [1]: https://mastodon.social/@Gargron/103546083813829165
5 years ago
Eugen Rochko 305abc9e05
Fix design of announcements in admin UI (#12989) 5 years ago
Eugen Rochko 0fcc4b1c56
Change announcements to be collapsed on page load in web UI (#12990) 5 years ago
Eugen Rochko c2dfd5e4e2
Revert "Avoid using uppercase text-transform (#12684)" (#12987)
This reverts commit 7da54001fe.
5 years ago
Eugen Rochko 663ea84b08
Add publish/unpublish controls to announcements in admin UI (#12967) 5 years ago
Eugen Rochko 10e209d8e0
Change number animations direction based on decrease or increase (#12971) 5 years ago
Eugen Rochko dd4eec6bf6
Add animations to announcement reactions (#12970) 5 years ago
ThibG 42d2a915e4 Change last_status_at to be a date, not datetime (#12966)
* Return last_status_at as date, not datetime

* Fix relative timestamp for dates when delay is inferior to 1 day

* Also fix public directory

* Fix error when last_status_at isn't set
5 years ago
Eugen Rochko 401f32f9ee
Fix expired announcements being re-published (#12964) 5 years ago
Eugen Rochko 2f8c3c17ee
Fix link colors in announcements (#12965) 5 years ago
Eugen Rochko b9d74d4076
Add streaming API updates for announcements being modified or deleted (#12963)
Change `all_day` to be a visual client-side cue only

Publish immediately if `scheduled_at` is in the past

Add `published_at` and `updated_at` to announcements JSON
5 years ago
ButterflyOfFire 408b3e2b93 Add kabyle language to Mastodon (#12962)
* Add kabyle language to settings_helper

* Adding kabyle language to application.rb
5 years ago
ThibG 389e3f6094 Fix status overflowing in report dialog (#12959)
Fixes #12942
5 years ago
ThibG 90b13ffd00 Fix “new items glow” being displayed above settings and announcements (#12958) 5 years ago
ThibG c06d2ff437 Fix spurious error and incorrect state change when adding a reaction twice (#12957)
* Fix spurious error and incorrect state change when adding a reaction twice

* Remove superfluous top border for announcements box
5 years ago
ThibG 48c55b6392 Improve announcements design (#12954)
* Move announcements above scroll container; add button to temporarily hide them

* Remove interface for dismissing announcements

* Display number of unread announcements

* Count unread announcements accurately

* Fix size of announcement box not fitting the currently displayed announcement

* Fix announcement box background color to match button color
5 years ago
Eugen Rochko ae2198bd95
Fix validations of reactions limit (#12955) 5 years ago
Eugen Rochko fcd79a5584
New Crowdin translations (#12936)
* New translations simple_form.en.yml (Turkish)
[ci skip]

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

* New translations en.json (Serbian (Latin))
[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 (Ukrainian)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.yml (Thai)
[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 en.json (Portuguese)
[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.yml (Portuguese)
[ci skip]

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

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

* New translations doorkeeper.en.yml (Dutch)
[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 (Dutch)
[ci skip]

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

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

* New translations en.yml (Persian)
[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 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.json (Vietnamese)
[ci skip]

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

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

* New translations simple_form.en.yml (Hungarian)
[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 (Hungarian)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.yml (Finnish)
[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 (Esperanto)
[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 simple_form.en.yml (Finnish)
[ci skip]

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

* New translations doorkeeper.en.yml (Finnish)
[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 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 (Welsh)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.yml (Japanese)
[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 en.json (Galician)
[ci skip]

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

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

* New translations simple_form.en.yml (Galician)
[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 simple_form.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 en.yml (Spanish, Argentina)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations simple_form.en.yml (Turkish)
[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 simple_form.en.yml (Russian)
[ci skip]

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

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

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

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

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

* New translations simple_form.en.yml (Czech)
[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 (Breton)
[ci skip]

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

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

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

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

* New translations simple_form.en.yml (Corsican)
[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.yml (Corsican)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* i18n-tasks normalize

* yarn manage:translations
5 years ago
Eugen Rochko f816da9c64
Add limit of 8 different reaction types per announcement (#12950) 5 years ago
Eugen Rochko 76f1ed834e
Add number animations (#12948) 5 years ago
Eugen Rochko 71921f6bc3
Fix user disabling changing activity timestamps, fix nil error (#12943) 5 years ago
Eugen Rochko b89e6cfe70 Change font size of announcements to be the same as statuses (#12949) 5 years ago
Sasha Sorokin 1268e3b572 Fix unlocalized dropdown button title (#12947)
In detailed status component, "More" action bar button wasn't
localized. This commit fixes it according to previously used code.
5 years ago
ThibG 288f509424 Fix type error in announcement reaction update event payload (#12946) 5 years ago
Ben Lubar 0dfba0884e minor server-sent events fixes (#12945)
* Send output on the server-sent events stream immediately so the client sees that it was successfully opened even if it doesn't have any messages.

Fix transparent SSE streaming for the public:local and hashtag:local stream types.

* Tell caches to never store server-sent events.
5 years ago
Sasha Sorokin 14ca559705 Evenly spread space between tabs (#12944)
This commit fixes uneven spread of space between the tabs in profiles
or notifications (filters). The problem was that links and buttons
shown as blocks had their width determined according to the content
inside of them, so if one tab has more text content than another, it
is going to take over others space, which is uneven and results in
incorrectly aligned (?) tabs display.

By specifying the size of 100% for each tab, parent container will be
forced to divide available space by the number of elements and evenly
give each child fixed space, "text-align: center" then doing its best
job to keep tabs text centered in that space. This relatively fixes
the problem, but will introduce another one - when the block has more
content that its width allows to have, in this scenario the text should
be wrapped or will be displayed over the other elements, but I see this
more as translators' problem. Still, for this case "overflow: hidden"
is added and any unfitting text will be cut out.
5 years ago
Eugen Rochko ea215ef63f
New Crowdin translations (#12933)
* 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
5 years ago
Eugen Rochko c4c315ea40
Fix OEmbed leaking information about existence of non-public statuses (#12930) 5 years ago
Eugen Rochko daf71573d0
Fix password change/reset not immediately invalidating other sessions (#12928)
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.
5 years ago
Eugen Rochko ce1dee85b5
Fix relationships page not showing results in admin UI (#12934)
Follow-up to #12927
5 years ago
Eugen Rochko dee853f23c
Remove bad encoding middleware (#12931)
Revert #12741
5 years ago
Eugen Rochko 105f83fc1e
New Crowdin translations (#12859)
* 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
5 years ago
Eugen Rochko f52c988e12
Add announcements (#12662)
* 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
5 years ago
Eugen Rochko 81cc86bb1f
Fix media attachments without file being uploadable (#12562)
Fix #12554
5 years ago
ThibG 43daeccccb Add “account timeline” filter category (#12918)
* Add “account timeline” filter category

Previously, no filter category applied to account timelines.

* Rename “Account timelines” into “Profiles”
5 years ago
ThibG a8e46cf7a1 Add support for magnet: URIs (#12905) 5 years ago
Eugen Rochko c0006a004d
Change followers page to relationships page in admin UI (#12927)
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
5 years ago
ThibG ec3ee67564 Fix unfollow confirmations in account directory (#12922)
Fixes #12921
5 years ago
ThibG 40852b84bd Fix duplicate “description” meta tag on accounts public pages (#12923)
Fixes #12920
5 years ago
Ben Lubar 619da5a4dc Add transparent support for EventSource streaming. (#12887)
This activates if the streaming base URL does not start with "ws".
All currently-live streaming base URLs start with "wss://".
5 years ago
Eugen Rochko 02063c245c
Fix not all of account's active IPs showing up in admin UI (#12909) 5 years ago
ThibG 91e4955e08 Fix admin interface crashing when listing boosts with non-video media attachments (#12907)
Fix regression introduced by #12879
5 years ago
Eugen Rochko ba16d4b413
Fix search by IP not using alternative browser sessions in admin UI (#12904) 5 years ago
ThibG 2d5addde03 Fix “X new items” not showing up for slow mode on empty timelines (#12875) 5 years ago
Eugen Rochko 6feafb8802
Various fixes and improvements (#12878)
* 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
5 years ago
Eugen Rochko a7d34d49ad
Add is to available locales (#12882)
Fix #12869
5 years ago
Eugen Rochko 1ded3bb752
Change reported media attachments to always be hidden in admin UI (#12879)
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
5 years ago
ThibG 345bba4812 Exempt staff members from spam check (#12874)
Consider admins and moderators as trusted, for the purpose of the
spam checker.

Fixes #12872
5 years ago
Eugen Rochko 02d272cf49
Fix access to OEmbed endpoint in secure mode (#12864) 5 years ago
Eugen Rochko 3287ec8ca3
Fix file names being obfuscated on update when file didn't change (#12857)
Fix #12849
5 years ago
Eugen Rochko 3a6f9860fc
New Crowdin translations (#12830)
* 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
5 years ago
ThibG 24cd2126c6 Fix Ruby 2.7 support (#12831)
- 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
5 years ago
Eugen Rochko a369d1ca64
New Crowdin translations (#12378)
* 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]
5 years ago
ThibG d386d89179 Fix invalid votes from the API being accepted (#12601)
* 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
5 years ago
Sasha Sorokin 7da54001fe Avoid using uppercase text-transform (#12684)
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.
5 years ago
Sasha Sorokin 5dcca33c56 Correct margins for heading actions (#12797)
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.
5 years ago
ThibG 10f1450bba Fix ruby 2.7 warnings about keyword parameters (#12824) 5 years ago
ThibG 57e2833f6a Remove dependency on OStatus2 gem (#12822) 5 years ago
ysksn 6f8f018e3e Refactor StatusThreadingConcern (#9626)
* Remove #filter_from_context?

* Create scope Status.with_accounts

Retrieving AR objects should be
their model's scope
5 years ago
ThibG ea436b355b Add support for linking XMPP URIs in toots (#12709)
* 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
5 years ago
Daigo 3 Dango e9ea09d173 Suppress backtrace when delivering toots (#12798)
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'
```
5 years ago
Sasha Sorokin 36426ed4ad Use heading actions and placeholders in settings (#12801)
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.
5 years ago
Eugen Rochko baa3db3001
Change audio/video playback to stop playback when out of view (#12486)
Change video player to not loop, since the audio player doesn't

Change playback and mute buttons to feel snappier
5 years ago
Alexander 05756c9a14 improve status title (#8596)
* improve shown status title, useful for atom/rss

* use single quotes to satisfy codeclimate

* fix tests, make message more pretty

* fix tests

* fix codestyle

* fix codestyle

* remove atom_serializer_spec

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
5 years ago
Daigo 3 Dango 206dfd7dad Clarify keyword arguments with ** (#12769)
This change is to suppress the warning below on on ruby-2.7.0:

- warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call

https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
5 years ago
Sasha Sorokin 139f7646a7 Rename page_heading_actions variable (#12799)
Current name - page_heading_actions is long and hard to remember,
this commit shortens it to just heading_actions, which is way more
easier to remember and write, it's logical too.
5 years ago
ThibG c306978190 Use quality values in Accept field to explicitly prefer JSON over HTML (#12806) 5 years ago
ThibG 51eb111503 Allow blocking TLDs, and fix TLD blocks not being editable (#12805)
Fixes #12795

It was already possible to create domain blocks for TLDs, but those
weren't enforced, nor editable. This commit changes it so that they
are enforced and editable.
5 years ago
Sasha Sorokin 345dd93310 Little improvements to filters settings page (#12793)
When you have many filters, it may be hard for you to reach the button
to create yet another one. This commit moves creation button to the
heading, leaving the page just for the list.

On the other hand, when there are no filters, page looks kind of
strange with the empty table. So text stating obvious fact that user
has no filters was added in this commit too.

Closes #11020
Closes #12790
5 years ago
ThibG 12a9813a0c Fix reuse of detailed status components (#12792)
Fixes #12770
5 years ago
Eugen Rochko 49b2f7c0a2
Fix base64-encoded file uploads not being possible (#12748)
Fix #3804, Fix #5776
5 years ago
Eugen Rochko 4729341903
Fix missing authentication call in filters controller (#12746) 5 years ago
Eugen Rochko 83deae5bd7
Fix uncaught unknown format errors in host meta controller (#12747) 5 years ago
ThibG e4d75f238b Fix URL search not returning private toots user has access to (#12742) 5 years ago
Eugen Rochko 6a8c8dc6fb
Fix cache digesting log noise on status embeds (#12750) 5 years ago
Matt Panaro 9cbbc50fcd Fix 12661 (#12744)
* Revert "persist last-intersected status update and restore when ScrollableList is restored"

This reverts commit 07e26142ef.

accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661.  https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list

* Revert "cache currently-viewing status id to avoid calling redux with identical value"

This reverts commit c93df2159f.

accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661.  https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list
5 years ago
ThibG aa138ea350 Fix RefollowWorker not keeping show_reblogs setting (#12707)
* Fix RefollowWorker not keeping show_reblogs setting

* Fix RefollowWorker
5 years ago
Eugen Rochko 09d54d1f62
Fix uncaught query param encoding errors (#12741) 5 years ago
Sasha Sorokin 9edab7afaf Add translation project promotion link (#12736)
This commit adds promotional notice on appearance settings about
translation project if any other locale than English is used. It
allows users to learn and contribute translations to Mastodon.

Step ahead, in this commit one unusual string is added - link to a
guide. By default it refers to Crowdin project itself, but if any of
Mastodon localization teams established their own guide, they can
refer it. Or, if Crowdin supports localized domain for language, it
can also be put there (e.g. https://fr.crowdin.com/...).
5 years ago
Matt Panaro 2a5da8c961 refactor IntersectionObserver to observe viewport in single-column mode (#12735) 5 years ago
ThibG 3b3bdc7293 Hide blocked users from more places (#12733)
* Hide blocked, muted, and blocked-by users from toot favourite lists

* Hide blocked, muted, and blocked-by users from toot reblog lists

* Hide blocked, muted, and blocked-by users from followers/following (API)

* Fix tests

* Hide blocked, muted, and blocked-by users from followers/following on public pages
5 years ago
Eugen Rochko 2999c95596
Fix error when fetching followers/following from REST API when user has network hidden (#12716)
Fix #12510
5 years ago
Eugen Rochko f86ee4b59f
Fix IDN mentions not being processed, IDN domains not being rendered (#12715)
This changes the REST API to return unicode domains in the `acct`
attribute instead of punycode, and to render unicode instead of
punycode on public HTML pages as well.

Fix #7812, fix #12246
5 years ago
ThibG b2f81060b7 Remove unused AccountRelationshipsPresenter call in public pages (#12734)
Those were used to show a “follow” or “unfollow” button on account grid on
public pages, but that got removed a while ago.
5 years ago
Eugen Rochko bb27ca14ef
Fix error when searching for empty phrase (#12711)
Fix #12619
5 years ago
Eugen Rochko 6e9e8d89fa
Fix settings pages being cacheable by the browser (#12714)
Fix #12255
5 years ago
Eugen Rochko 353c94910b
Fix HTML error pages being returned when JSON is expected (#12713)
Fix #12509
See also #12214
5 years ago
Eugen Rochko ca78b1473e
Fix undefined error regression in status component in web UI (#12712)
Regression from #12661
5 years ago
chr v1.x 7e074610a6 Fix backups stopping due to read timeouts (#12281)
* Make BackupService resilient to read timeouts

If an attachment read times out, assume that the resources is
inaccessible and continue the backup without it. This fixes #12280.

* Both errors on one line
5 years ago
Takeshi Umeda 0e8c0287d0 Fix shortNumberFormat to within 3 chars without units (#12706) 5 years ago
ThibG 162dc845a0 Fix batch actions on non-pending tags in admin interface (#12537)
- Allow batch actions on unreviewed tags
- Hide checkboxes when batch actions aren't available
5 years ago
Matt Panaro 31f7c3fc5d Summary: fix slowness due to layout thrashing when reloading a large … (#12661)
* Summary: fix slowness due to layout thrashing when reloading a large set of status updates

in order to limit the maximum size of a status in a list view (e.g. the home timeline), so as to avoid having to scroll all the way through an abnormally large status update (see https://github.com/tootsuite/mastodon/pull/8205), the following steps are taken:
•the element containing the status is rendered in the browser
•its height is calculated, to determine if it exceeds the maximum height threshold.
Unfortunately for performance, these steps are carried out in the componentDidMount(/Update) method, which also performs style modifications on the element.  The combination of  height request and style modification during javascript evaluation in the browser leads to layout-thrashing, where the elements are repeatedly re-laid-out (see https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing & https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Performance_best_practices_for_Firefox_fe_engineers).
The solution implemented here is to memoize the collapsed state in Redux the first time the status is seen (e.g. when fetched as part of a small batch, to populate the home timeline) , so that on subsequent re-renders, the value can be queried, rather than recalculated.  This strategy is derived from https://github.com/tootsuite/mastodon/pull/4439 & https://github.com/tootsuite/mastodon/pull/4909, and should resolve https://github.com/tootsuite/mastodon/issues/12455.

Andrew Lin (https://github.com/onethreeseven) is thanked for his assistance in root cause analysis and solution brainstorming

* remove getSnapshotBeforeUpdate from status

* remove componentWillUnmount from status

* persist last-intersected status update and restore when ScrollableList is restored

e.g. when navigating from home-timeline to a status conversational  thread and <Back again

* cache currently-viewing status id to avoid calling redux with identical value

* refactor collapse toggle to pass explicit boolean
5 years ago
Sasha Sorokin 902c6bed5a Use different strings on exports page (#12569)
Currently the page re-uses strings from other contexts which doesn't fit
very well - strings incorrectly lowercase-d and pluralized, when they
don't need to be, because it's a table.

This commit changes page to re-use accounts.posts_tab_heading for toots,
and admin.accounts for "Following" and "Follows". This all should look
more aesthetically pleasing.
5 years ago
ThibG dc0750abc3 Fix manual scrolling issue on Firefox/Windows (#12648)
Fixes #12607

`will-change: transform` apparently makes manual scrolling impossible on
Firefox/Windows. While this should probably be considered a Firefox bug,
`will-change: transform` seem like a very aggressive performance hint that
may possibly make the browser consume more resources than needed, especially
in multiple-column mode.

This was originally added to improve scrolling performances on mobile, but
I think this isn't necessary anymore, because of the two following reasons:
- `contain: paint` (which is implied by `contain: strict`, which we apply
  whenever the browser supports grids) should have similar effects
- in single-column mode, the scrolling container is the root element, which
  I believe is optimized in at least Chromium

Keep in mind that I have not been able to make in-depth benchmarks, and
especially not been able to try on mobile, so performances should probably
be investigated further…
5 years ago
Marcin Mikołajczak a90258dbe9 fix multiple space (#12655) 5 years ago
ThibG c0ed53b810 Fix custom emoji category creation silently erroring out on duplicate category (#12647)
Instead, just re-use the existing category if any.

Fixes #12608
5 years ago
ThibG b364175e1b Fix link crawler not specifying accepted content-type (#12646)
The link crawler expects HTML documents, so set the `Accept`
header accordingly.

Fixes #12618
5 years ago
Takeshi Umeda 68070e82cc Add signature to exported status (#12649) 5 years ago
Takeshi Umeda a391eaf4d8 Fix an error when ActivityPub::FetchRemoteStatusService url is called with nil (#12652) 5 years ago
ThibG 2ee5a9d9c3 Clean up OStatus-related codepaths (#12173)
* Remove “protocol” argument and return value, as only ActivityPub is supported

* Remove FetchRemoteAccountService, only use ActivityPub::FetchRemoteAccountService

* Fix tests
5 years ago
ThibG da2143b308 Fixes featured hashtag setting page erroring out instead of rejecting invalid tags (#12436)
* Revert "Fix ignoring whole status because of one invalid hashtag (#11621)"

This reverts commit dff46b260b.

* Fix statuses being rejected because of invalid hashtag names

* Add spec for invalid hashtag names in statuses

* Add test for featured tags controller
5 years ago
scd31 3830c0b741 Increase max backup size (#12602)
* Increased max backup size

* partially reverted schema.rb
5 years ago
Alice Gaudon 668f698077 Admin setting to disable default follows (#12566) 5 years ago
Thomas Citharel 8094955461 Add Event activity-type support (#12637)
This adds support for Event AP type in Mastodon. Events are converted
into toots by taking their title (AS name) and their URL (AP ID). Event
picture is also brought in if available.

Testable by fetching event content from https://test.mobilizon.org

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
5 years ago
Sasha Sorokin 34aa5c7cb2 Improve report page structure (#12615)
* Move resolved button to the heading

This is one of the commits on improving overall reports page structure.
It changes where resolved button is located, moving it to the heading,
right next to the "Report #n" header, so-called "hot-place" to look at.

To accomplish this we have to declare one more content variable, change
admin dashboard template to respect it and CSS files for minor styling,
so buttons are inlined and centrally aligned according to the heading.

* Move actions buttons below the report table

I believe that actions to react on report should not be located at the
top of the page, instead they should be either after the table or
reporter's comment. This is just a logical sign that you should not
react to the report without reading all the details first.
5 years ago
Acid Chicken (硫酸鶏) 09a72add0e Fix tooltip messages of multiple poll switcher are reversed (#12616) 5 years ago
Sasha Sorokin d5b7a4b116 Avoid using pluralize on moderation pages (#12589)
Pluralize function from Rails framework does not work with other
languages than English, moreover it does not even work properly with
English [1]. Not that the latest applies to this context, it's just
a sign that we best to avoid this function, especially when there are
more reliable ways.

This commit changes how reports pages generated in order to avoid usage
of pluralize function, replacing it with default translation function,
called with given counter. On top of that, we have to make strings
pluralizable, so have to change locale files.

[1]: https://medium.com/@anna7/b3927de2ca8e#6a60
5 years ago
Eugen Rochko 77e7b33dea
Revert "Fix an eslint warning (#12426)" (#12596)
This reverts commit 054ef83fc5.
5 years ago
Eugen Rochko 7ee6f51b78
Fix missing error templates for non-HTML requests (#12593) 5 years ago
Sasha Sorokin ab91e7480b Use codeblock for native redirect URI (#12570)
This commit changes how doorkeeper.applications.help.native_redirect_uri
string is being formatted to use <code> tag for native_redirect_uri
placeholder. This makes the URI look more distinguishable.
5 years ago
Eugen Rochko f3d232381d
Add `tootctl media remove-orphans` (#12568) 5 years ago
Eugen Rochko 6d7daf6154
Fix generic HTTP 500 error on duplicate records (#12563)
Fix #12551
Fix #12547
5 years ago
trwnh 1653ae91ce Fix account search with no query (#12549)
* Fix account search with no query

Modeled after #12541. Fix #12548

* fix codeclimate
5 years ago
Hinaloe eb551c480d Highlight border when focusing poll-form footer (#12544) 5 years ago
Jeong Arm 76adde4fe2 Fix media open hotkey (#12546) 5 years ago
Takeshi Umeda 04582e3c3e Remove some duplicate methods from StatusHelper and reflect changes to AccountHelper (#12545) 5 years ago
Takeshi Umeda f43f1e0184 Add basic support for group actors (#12071)
* Show badge on group actor in WebUI

* Do not notify in case of  by following group actor

* If you mention group actor, also mention group actor followers

* Relax characters that can be used in username (same as Application)

* Revert "Relax characters that can be used in username (same as Application)"

This reverts commit 7e10a137b8.

* Delete display_name method
5 years ago
Shlee f92ed32df4 upgrade/replace websocket.js to @gamestdio/websocket v2 (#12543)
* Update stream.js

* Update package.json

* Update yarn.lock

Co-authored-by: hina <hina@hinaloe.net>
5 years ago
Eugen Rochko bbf926b1c0
Fix error when using search API with no query (#12541)
Fix #12462
5 years ago
trwnh 4354936a39 Return `discoverable` via REST API (fix #12507) (#12508) 5 years ago