Commit graph

6472 commits

Author SHA1 Message Date
0x2019 012537452a
Fix error resposes for from search prefix (#17963)
* Fix error responses in `from` search prefix (addresses mastodon/mastodon#17941)

Using unsupported prefixes now reports a 422; searching for posts from an
account the instance is not aware of reports a 404. TODO: The UI for this
on the front end is abysmal.

Searching `from:username@domain` now succeeds when `domain` is the local
domain; searching `from:@username(@domain)?` now works as expected.

* Remove unused methods on new Error classes as they are not being used

Currently when `raise`d there are error messages being supplied, but
this is not actually being used. The associated `raise`s have been
edited accordingly.

* Remove needless comments

* Satisfy rubocop

* Try fixing tests being unable to find AccountFindingConcern methods

* Satisfy rubocop

* Simplify `from` prefix logic

This incorporates @ClearlyClaire's suggestion (see
https://github.com/mastodon/mastodon/pull/17963#pullrequestreview-933986737).

Accepctable account strings in `from:` clauses are more lenient than
before this commit; for example, `from:@user@example.org@asnteo +cat`
will not error, and return posts by @user@example.org containing the
word "cat". This is more consistent with how Mastodon matches mentions
in statuses. In addition, `from` clauses will not be checked for
syntatically invalid usernames or domain names, simply 404ing when
`Account.find_remote!` raises ActiveRecord::NotFound.

New code for this PR that is no longer used has been removed.
2022-04-08 21:21:49 +02:00
Eugen Rochko 68273a7c6d
Fix dangling language-specific trends (#17997)
- Change score half-life for trending statuses from 2 to 6 hours
- Change score threshold for trimming old items from 1 to 0.3
2022-04-08 19:35:31 +02:00
Claire a39bf04fe6
Auto-fill timeline gaps when getting re-connecting to Websocket/EventSource stream (#17987) 2022-04-08 19:17:54 +02:00
Claire 3906dd67ed
Fix extremely rare race condition when deleting a toot or account (#17994) 2022-04-08 19:17:37 +02:00
Eugen Rochko 8e20e16cf0
Change e-mail notifications to only be sent when recipient is offline (#17984)
* Change e-mail notifications to only be sent when recipient is offline

Change the default for follow and mention notifications back on

* Add preference to always send e-mail notifications

* Change wording
2022-04-08 18:03:31 +02:00
Eugen Rochko fd9a9b07c2
Fix trends returning less results per page when filtered in REST API (#17996)
- Change filtering and pagination to occur in SQL instead of Redis
- Change rank/score displayed on trends in admin UI to be locale-specific
2022-04-08 17:10:53 +02:00
Eugen Rochko f06a3b56a3
New Crowdin updates (#17897)
* New translations en.yml (Danish)

* New translations en.yml (German)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.yml (Catalan)

* New translations en.yml (Spanish)

* New translations en.yml (French)

* New translations en.yml (Arabic)

* New translations en.yml (Armenian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Polish)

* New translations en.yml (Punjabi)

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

* New translations en.yml (Portuguese)

* New translations en.yml (Albanian)

* New translations en.yml (Dutch)

* New translations en.yml (Turkish)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Norwegian)

* New translations en.yml (Korean)

* New translations en.yml (Macedonian)

* New translations en.yml (Slovenian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovak)

* New translations en.yml (Vietnamese)

* New translations en.yml (Lithuanian)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Galician)

* New translations en.yml (Georgian)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Sinhala)

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

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

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

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

* New translations en.yml (Asturian)

* New translations en.yml (Kannada)

* New translations en.yml (Cornish)

* New translations en.yml (Breton)

* New translations en.yml (Marathi)

* New translations en.yml (Malayalam)

* New translations en.yml (Tatar)

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

* New translations en.yml (Uyghur)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Telugu)

* New translations en.yml (Malay)

* New translations en.yml (Hindi)

* New translations en.yml (Latvian)

* New translations en.yml (Estonian)

* New translations en.yml (Kazakh)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Croatian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (German)

* New translations en.yml (Icelandic)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Italian)

* New translations doorkeeper.en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.json (Czech)

* New translations doorkeeper.en.yml (Czech)

* New translations en.yml (Czech)

* New translations doorkeeper.en.yml (Czech)

* New translations en.yml (Latvian)

* New translations doorkeeper.en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Indonesian)

* New translations en.yml (Czech)

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

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Hungarian)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Korean)

* New translations en.yml (Spanish)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Czech)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.json (Italian)

* New translations en.yml (Galician)

* New translations en.yml (French)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations simple_form.en.yml (Galician)

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Kabyle)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

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

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

* New translations en.yml (Breton)

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

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Latvian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Croatian)

* New translations en.yml (Catalan)

* New translations en.yml (Latvian)

* New translations en.yml (Catalan)

* New translations en.yml (Latvian)

* New translations en.yml (Icelandic)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Swedish)

* New translations en.yml (Russian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Galician)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Turkish)

* New translations en.yml (Polish)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

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

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

* New translations en.yml (Italian)

* New translations en.yml (Spanish)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Breton)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.yml (Vietnamese)

* New translations en.yml (Korean)

* New translations en.yml (Vietnamese)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalzie`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-08 19:52:22 +09:00
Eugen Rochko 465ee7792f
Fix pagination header on empty trends responses in REST API (#17986) 2022-04-07 18:06:15 +02:00
Claire ebe01ea194
Fix potentially missing statuses when reconnecting to websocket (#17981)
* Fix potentially missing statuses when reconnecting to websocket

* Add gap on reconnect rather than maintaining it constantly
2022-04-07 16:08:17 +02:00
Claire ce9dcbea32
Fix failure when sending warning emails with custom text (#17983)
* Add tests

* Fix failure when sending warning emails with custom text
2022-04-07 14:47:30 +02:00
Claire 1b91359a45
Fix older items possibly disappearing on timeline updates (#17980)
In some rare cases, when receiving statuses out of order from the streaming
API then polling from the REST API, it was possible for the
`expandNormalizedTimeline` function to remove older items from the timeline.

This commit ensures that any item from the replaced slice that is older
than the oldest item retrieved from the API gets added back to the replaced
slice.
2022-04-07 11:27:35 +02:00
Eugen Rochko f382192862
Add pagination for trending statuses in web UI (#17976) 2022-04-06 22:53:29 +02:00
Claire dd4c156f33
Fix possible duplicate statuses in timelines in some edge cases (#17971)
In some rare cases, when receiving statuses out of order from the streaming
API then polling from the REST API, it was possible for the
`expandNormalizedTimeline` function to insert duplicates in the timeline,
which would then result in several bugs.

This commits ensures that there are no duplicates inserted in the
timeline.
2022-04-06 21:01:41 +02:00
Claire 8f91e304a5
Fix spurious edits and require incoming edits to be explicitly marked as such (#17918)
* Change post text edit to not be considered significant if it's identical after reformatting

* We don't need to clear previous change information anymore

* Require status edits to be explicit, except for poll tallies

* Fix tests

* Add some tests

* Add poll-related tests

* Add HTML-formatting related tests
2022-04-06 21:01:02 +02:00
Claire 454ef42aab
Fix error when encountering invalid pinned posts (#17964) 2022-04-06 20:58:23 +02:00
Eugen Rochko 6221b36b27
Remove sign-in token authentication, instead send e-mail about new sign-in (#17970) 2022-04-06 20:58:12 +02:00
Claire abb11778d7
Fix inconsistency in error handling when removing a status (#17974)
Not completely sure this could actually have any ill effect, but if
`RemoveStatusService` fails to acquire a lock in an
`ActivityPub::ProcessingWorker` job processing a `Delete`, the status
is currently discarded and causes a job failure but the next time the
job is attempted, it will skip deleting the status due to it being
discarded.

This commit makes the behavior of `RemoveStatusService` a bit more consistent
in case of failure to acquire the lock.
2022-04-06 20:57:52 +02:00
Claire 62c6e12fa5
Fix admin API unconditionally requiring CSRF token (#17975)
Fixes #17898

Since #17204, the admin API has only been available through the web
application because of the unconditional requirement to provide a valid CSRF
token.

This commit changes it back to `null_session`, which should make it work
both with session-based authentication (provided a CSRF token) and with a
bearer token.
2022-04-06 20:57:18 +02:00
Eugen Rochko d116cb7733
Fix GET /api/v1/trends/tags missing offset param in REST API (#17973) 2022-04-06 20:56:57 +02:00
rinsuki 275dad9702
fix: returns nil instead of empty URL on status.application.website (#17962) 2022-04-05 12:00:31 +02:00
CommanderRoot 0ec695e036
Replace deprecated String.prototype.substr() (#17949)
* Replace deprecated String.prototype.substr()

.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated

* Change String.prototype.substring() to String.prototype.slice()

.substring() and .slice() work very similary but .slice() is a bit faster and stricter

* Add ESLint rule to forbid usage of .substr and .substring

.substr() is deprecated and .substring() is very similar to .slice() so better to use .slice() at all times

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-04-04 12:19:45 -04:00
Claire 0a8a0fb599
Fix unusual number formatting in some locales (#17929)
* Fix unusual number formatting in some locales

Fixes #17904

* Fix typo
2022-04-01 23:59:13 +02:00
Holger ea0cfd8e7e
fix: PWA web manifest not changed to new routes (#17921) 2022-03-31 11:20:26 +02:00
Claire ef196c913c
Fix error MethodError in Chewy::Strategy::Sidekiq::Worker (#17912)
Also refactor a bit to reduce code duplication.
2022-03-31 00:49:24 +02:00
Eugen Rochko bbc7afa2a2
Fix being able to post URLs longer than 4096 characters (#17908) 2022-03-30 14:46:03 +02:00
Eugen Rochko 5554ff2a1d
Fix being able to bypass e-mail restrictions (#17909) 2022-03-30 14:45:52 +02:00
Claire 2cc7ba2671
Refactor response_to_recipient? CTE (#17899)
* Optimize and clean up `response_to_recipient?` CTE

Marginally improve performances, and make the CTE much more readable

* Limit max depth in `response_to_recipient?` CTE
2022-03-30 10:26:51 +02:00
Claire 2de5128e66
Fix regression of status colors in actions modal in web UI (#17903)
Fixes #17900

Regression in #17844 (#17851 restored the code in the wrong place…)
2022-03-29 22:55:37 +02:00
Eugen Rochko 1e46c29047
New Crowdin updates (#17864)
* New translations doorkeeper.en.yml (Kazakh)

* New translations doorkeeper.en.yml (Estonian)

* New translations doorkeeper.en.yml (Latvian)

* New translations doorkeeper.en.yml (Hindi)

* New translations doorkeeper.en.yml (Welsh)

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

* New translations doorkeeper.en.yml (Esperanto)

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

* New translations doorkeeper.en.yml (Tatar)

* New translations doorkeeper.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Breton)

* New translations doorkeeper.en.yml (Sinhala)

* New translations doorkeeper.en.yml (Occitan)

* New translations activerecord.en.yml (Czech)

* New translations devise.en.yml (Polish)

* New translations activerecord.en.yml (Dutch)

* New translations devise.en.yml (Dutch)

* New translations activerecord.en.yml (Norwegian)

* New translations devise.en.yml (Norwegian)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations devise.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations devise.en.yml (Russian)

* New translations activerecord.en.yml (Slovak)

* New translations devise.en.yml (Slovak)

* New translations activerecord.en.yml (Slovenian)

* New translations devise.en.yml (Slovenian)

* New translations activerecord.en.yml (Albanian)

* New translations devise.en.yml (Albanian)

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

* New translations devise.en.yml (Korean)

* New translations devise.en.yml (Czech)

* New translations activerecord.en.yml (Hebrew)

* New translations activerecord.en.yml (Danish)

* New translations devise.en.yml (Danish)

* New translations activerecord.en.yml (German)

* New translations devise.en.yml (German)

* New translations activerecord.en.yml (Greek)

* New translations devise.en.yml (Greek)

* New translations activerecord.en.yml (Basque)

* New translations devise.en.yml (Basque)

* New translations activerecord.en.yml (Finnish)

* New translations devise.en.yml (Finnish)

* New translations devise.en.yml (Hebrew)

* New translations activerecord.en.yml (Korean)

* New translations activerecord.en.yml (Hungarian)

* New translations devise.en.yml (Hungarian)

* New translations activerecord.en.yml (Armenian)

* New translations devise.en.yml (Armenian)

* New translations activerecord.en.yml (Italian)

* New translations devise.en.yml (Italian)

* New translations activerecord.en.yml (Japanese)

* New translations devise.en.yml (Japanese)

* New translations activerecord.en.yml (Georgian)

* New translations devise.en.yml (Georgian)

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

* New translations activerecord.en.yml (Swedish)

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

* New translations activerecord.en.yml (Bengali)

* New translations devise.en.yml (Bengali)

* New translations activerecord.en.yml (Marathi)

* New translations activerecord.en.yml (Thai)

* New translations activerecord.en.yml (Croatian)

* New translations devise.en.yml (Croatian)

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

* New translations activerecord.en.yml (Kazakh)

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

* New translations devise.en.yml (Kazakh)

* New translations activerecord.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations activerecord.en.yml (Latvian)

* New translations devise.en.yml (Latvian)

* New translations activerecord.en.yml (Hindi)

* New translations devise.en.yml (Hindi)

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

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

* New translations devise.en.yml (Swedish)

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Turkish)

* New translations devise.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

* New translations devise.en.yml (Ukrainian)

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

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

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

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

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

* New translations devise.en.yml (Vietnamese)

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

* New translations activerecord.en.yml (Galician)

* New translations devise.en.yml (Galician)

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

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

* New translations activerecord.en.yml (Indonesian)

* New translations devise.en.yml (Indonesian)

* New translations activerecord.en.yml (Persian)

* New translations devise.en.yml (Persian)

* New translations activerecord.en.yml (Tamil)

* New translations devise.en.yml (Tamil)

* New translations devise.en.yml (Welsh)

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

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

* New translations activerecord.en.yml (Corsican)

* New translations devise.en.yml (Corsican)

* New translations activerecord.en.yml (Sardinian)

* New translations devise.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

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

* New translations devise.en.yml (Kabyle)

* New translations devise.en.yml (Ido)

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

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

* New translations activerecord.en.yml (Esperanto)

* New translations activerecord.en.yml (Breton)

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

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

* New translations activerecord.en.yml (Tatar)

* New translations devise.en.yml (Tatar)

* New translations activerecord.en.yml (Malayalam)

* New translations devise.en.yml (Malayalam)

* New translations devise.en.yml (Breton)

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

* New translations activerecord.en.yml (Sinhala)

* New translations devise.en.yml (Sinhala)

* New translations devise.en.yml (Kannada)

* New translations activerecord.en.yml (Occitan)

* New translations devise.en.yml (Occitan)

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

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

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

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

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

* New translations en.yml (Albanian)

* New translations en.json (Albanian)

* New translations en.json (Albanian)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (Scottish Gaelic)

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

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

* New translations en.yml (Icelandic)

* New translations en.yml (Spanish)

* New translations en.yml (Polish)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.yml (Portuguese)

* New translations en.yml (Italian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.yml (Indonesian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Thai)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Galician)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

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

* New translations en.yml (Latvian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Catalan)

* New translations en.yml (Korean)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Spanish)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (Hungarian)

* New translations en.yml (Icelandic)

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

* New translations en.yml (Czech)

* New translations en.yml (Albanian)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations simple_form.en.yml (Persian)

* New translations doorkeeper.en.yml (Persian)

* New translations en.yml (Indonesian)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations simple_form.en.yml (Persian)

* New translations doorkeeper.en.yml (Persian)

* New translations en.yml (Italian)

* New translations en.yml (Vietnamese)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-29 10:51:09 +09:00
Claire 894956e20c
Fix /api/v1/admin/accounts (#17887)
* Fix /api/v1/admin/accounts

Compatibility was broken since #17009 which changed the underlying filter class
without changing the controller.

This commits restore support for the old parameters.

* Add /api/v2/admin/accounts with the new parameters

* Add tests

* Add missing filter for `silenced` status

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-03-28 23:57:38 +02:00
Claire 2c45859ca9
Refactor account and status formatting (#17877)
* Refactor status formatting

* Add account formatting helpers

* Remove StatusFormatter

* Fixup

* Fix copied typo
2022-03-28 01:17:17 +02:00
Eugen Rochko 24e78969ae
Fix typo (#17875) 2022-03-26 04:02:19 +01:00
Eugen Rochko cefa526c6d
Refactor formatter (#17828)
* Refactor formatter

* Move custom emoji pre-rendering logic to view helpers

* Move more methods out of Formatter

* Fix code style issues

* Remove Formatter

* Add inline poll options to RSS feeds

* Remove unused helper method

* Fix code style issues

* Various fixes and improvements

* Fix test
2022-03-26 02:53:34 +01:00
Eugen Rochko 2dd30804b6
Change how unconfirmed accounts are displayed in admin UI (#17874)
Fix #17815
2022-03-26 02:53:13 +01:00
mayaeh 52813830be
Add a hashtag public link to the trending hashtag page (#17140)
* Add a hashtag public link to the hashtag management page

* Add support for element 'target' to Counter.js.
Remove 'rel' element.

* Update app/javascript/mastodon/components/admin/Counter.js

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

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-26 02:52:51 +01:00
Jeong Arm 6907605026
Add stop delivery link also for failing instance (#17871) 2022-03-26 00:39:54 +01:00
Eugen Rochko 71f2b95106
Fix edits with no actual changes being allowed (#17843)
* Fix edits with no actual changes being allowed locally

* Fix edits with no actual changes being allowed through ActivityPub

* Fix false positive changes caused by description processing in model

* Fix not recording poll expiration update

* Fix test

* Revert changes to ProcessStatusUpdateService

* Various fixes and improvements

* Fix code style issues

* Various changes and improvements

* Add guard clause
2022-03-26 00:38:44 +01:00
Eugen Rochko e3a2203061
Add offset pagination to trends in REST API (#17872) 2022-03-26 00:26:50 +01:00
Claire f65eaa5aae
Add admin dashboard checks for Elasticsearch version (#17863) 2022-03-25 21:00:59 +01:00
Eugen Rochko b58db8f12e
Add workaround for YouTube Shorts links (#17869)
* Add workaround for YouTube Shorts links

* Update link_details_extractor_spec.rb
2022-03-25 19:31:35 +01:00
Eugen Rochko 9565b17d5d
New Crowdin updates (#17829)
* New translations en.json (Kurmanji (Kurdish))

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

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

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

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

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations doorkeeper.en.yml (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Georgian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Punjabi)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

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

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

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

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

* New translations en.yml (Asturian)

* New translations en.yml (Kannada)

* New translations en.yml (Cornish)

* New translations en.yml (Sinhala)

* New translations en.yml (Breton)

* New translations en.yml (Malayalam)

* New translations en.yml (Tatar)

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

* New translations en.yml (Uyghur)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Telugu)

* New translations en.yml (Malay)

* New translations en.yml (Hindi)

* New translations en.yml (Latvian)

* New translations en.yml (Estonian)

* New translations en.yml (Kazakh)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Croatian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Catalan)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Latvian)

* New translations en.yml (Icelandic)

* New translations en.yml (Swedish)

* New translations en.yml (Thai)

* New translations en.yml (Portuguese)

* New translations en.yml (Thai)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Thai)

* New translations en.yml (Danish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Japanese)

* New translations en.yml (German)

* New translations en.yml (Hungarian)

* New translations en.yml (Italian)

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

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Indonesian)

* New translations en.yml (Turkish)

* New translations en.json (Persian)

* New translations simple_form.en.yml (Persian)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Persian)

* New translations en.yml (Thai)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations en.json (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations activerecord.en.yml (Dutch)

* New translations en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.yml (Korean)

* New translations en.yml (Galician)

* Run `bundle exec i18n-tasks normalize`

* Run `yarn manage:translations`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-24 19:23:46 +09:00
Claire 749fe73ec4
Add tooltip for instance delivery warnings (#17854) 2022-03-22 18:41:46 +01:00
Eugen Rochko 8751c3c495
Fix crash when search fails in web UI (#17853) 2022-03-22 18:20:25 +01:00
Eugen Rochko 2de44d3e47
Fix regression of status colors in actions modal in web UI (#17851)
Regression in #17844
2022-03-22 18:20:08 +01:00
Eugen Rochko 67d550830b
Fix locale not being set in REST API (#17847) 2022-03-22 12:29:04 +01:00
Eugen Rochko d5df9d4797
Fix wrong position of fade-out element in account card in web UI (#17846) 2022-03-22 11:58:13 +01:00
Eugen Rochko 392b367835
Fix IDN domains not being rendered correctly in a few left-over places (#17848) 2022-03-22 10:07:11 +01:00
Eugen Rochko 4e9855e09a
Add hint about missing media attachment description in web UI (#17845) 2022-03-22 09:48:12 +01:00
Eugen Rochko 69f9dc4f4e
Fix color of show more link in report dialog in web UI (#17844) 2022-03-22 06:08:05 +01:00
Gomasy cf5435bb27
Fix being unable to search by domain (#17832) 2022-03-21 04:45:58 +01:00
Eugen Rochko c0e3b20c58
New Crowdin updates (#17817)
* New translations devise.en.yml (Danish)

* New translations devise.en.yml (Danish)

* New translations devise.en.yml (Danish)

* New translations devise.en.yml (Danish)

* New translations devise.en.yml (Danish)

* New translations devise.en.yml (Danish)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.json (Russian)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Catalan)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Catalan)

* New translations en.json (Slovak)

* New translations en.json (Catalan)

* New translations simple_form.en.yml (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations devise.en.yml (Catalan)

* New translations devise.en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* New translations devise.en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Ukrainian)

* New translations devise.en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* New translations devise.en.yml (Danish)

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

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

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

* New translations en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Danish)

* New translations en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.yml (Japanese)

* New translations en.yml (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* Run `bundle exec i18n-tasks normalize`

* Run `yarn manage:translations`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-20 00:23:01 +09:00
Jeong Arm 3349cbeb3e
Fix clean_discarded_statuses (#17822) 2022-03-19 09:24:08 +01:00
Claire 443d114574
Fix encoding error in OpenGraph account description (#17821)
Fixes #17816
2022-03-17 16:32:11 +01:00
Claire a9bafe5df5
Fix some language endonyms (#17810)
Some language endonyms have been changed with #17478. I went through them and
tried to pick the one that made the more sense.
2022-03-17 12:55:09 +01:00
Claire 1ffda4cdd4
Fix Sanskrit translation not being used when selected (#17820)
It is still a very partial translation, though, and the localeData I added is
very partial as well, but at least it now uses the strings that actually got
translated, instead of using English strings.
2022-03-17 12:54:40 +01:00
Claire 588d2b27a7
Remove old files for renamed translation (#17818)
Follow-up to #17812 in which `kmr` has been renamed to `ku`
2022-03-17 12:54:07 +01:00
Claire b07906bdb0
Fix wrong language code for Kurdish languages (#17812) 2022-03-17 01:37:03 +01:00
Eugen Rochko 779efc7656
New Crowdin updates (#17771)
* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

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

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

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

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Albanian)

* New translations doorkeeper.en.yml (Asturian)

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

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

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Icelandic)

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

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Turkish)

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

* New translations simple_form.en.yml (Sinhala)

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

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Occitan)

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

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

* New translations simple_form.en.yml (Corsican)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Ido)

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

* New translations simple_form.en.yml (Breton)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Tatar)

* New translations simple_form.en.yml (Croatian)

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

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

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

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

* New translations simple_form.en.yml (Bengali)

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

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

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Esperanto)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

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

* New translations doorkeeper.en.yml (Dutch)

* New translations doorkeeper.en.yml (Norwegian)

* New translations doorkeeper.en.yml (Polish)

* New translations doorkeeper.en.yml (Portuguese)

* New translations doorkeeper.en.yml (Russian)

* New translations doorkeeper.en.yml (Slovak)

* New translations doorkeeper.en.yml (Slovenian)

* New translations doorkeeper.en.yml (Albanian)

* New translations doorkeeper.en.yml (Swedish)

* New translations doorkeeper.en.yml (Turkish)

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

* New translations doorkeeper.en.yml (Galician)

* New translations doorkeeper.en.yml (Persian)

* New translations doorkeeper.en.yml (Georgian)

* New translations activerecord.en.yml (Welsh)

* New translations doorkeeper.en.yml (Bulgarian)

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

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

* New translations activerecord.en.yml (Asturian)

* New translations doorkeeper.en.yml (Korean)

* New translations devise.en.yml (Asturian)

* New translations doorkeeper.en.yml (Romanian)

* New translations doorkeeper.en.yml (French)

* New translations doorkeeper.en.yml (Spanish)

* New translations doorkeeper.en.yml (Arabic)

* New translations doorkeeper.en.yml (Catalan)

* New translations doorkeeper.en.yml (Japanese)

* New translations doorkeeper.en.yml (Czech)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Greek)

* New translations doorkeeper.en.yml (Finnish)

* New translations doorkeeper.en.yml (Hebrew)

* New translations doorkeeper.en.yml (Hungarian)

* New translations doorkeeper.en.yml (Armenian)

* New translations doorkeeper.en.yml (Italian)

* New translations doorkeeper.en.yml (Tamil)

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

* New translations activerecord.en.yml (Romanian)

* New translations doorkeeper.en.yml (Sardinian)

* New translations doorkeeper.en.yml (Kabyle)

* New translations doorkeeper.en.yml (Ido)

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

* New translations activerecord.en.yml (French)

* New translations devise.en.yml (Esperanto)

* New translations devise.en.yml (Romanian)

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

* New translations devise.en.yml (French)

* New translations activerecord.en.yml (Spanish)

* New translations devise.en.yml (Spanish)

* New translations activerecord.en.yml (Arabic)

* New translations devise.en.yml (Arabic)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Corsican)

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

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

* New translations doorkeeper.en.yml (Marathi)

* New translations doorkeeper.en.yml (Thai)

* New translations doorkeeper.en.yml (Croatian)

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

* New translations doorkeeper.en.yml (Kazakh)

* New translations doorkeeper.en.yml (Estonian)

* New translations doorkeeper.en.yml (Latvian)

* New translations doorkeeper.en.yml (Hindi)

* New translations doorkeeper.en.yml (Welsh)

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

* New translations doorkeeper.en.yml (Esperanto)

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

* New translations doorkeeper.en.yml (Tatar)

* New translations doorkeeper.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Breton)

* New translations doorkeeper.en.yml (Sinhala)

* New translations doorkeeper.en.yml (Occitan)

* New translations activerecord.en.yml (Czech)

* New translations devise.en.yml (Polish)

* New translations activerecord.en.yml (Dutch)

* New translations devise.en.yml (Dutch)

* New translations activerecord.en.yml (Norwegian)

* New translations devise.en.yml (Norwegian)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations devise.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations devise.en.yml (Russian)

* New translations activerecord.en.yml (Slovak)

* New translations devise.en.yml (Slovak)

* New translations activerecord.en.yml (Slovenian)

* New translations devise.en.yml (Slovenian)

* New translations activerecord.en.yml (Albanian)

* New translations devise.en.yml (Albanian)

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

* New translations devise.en.yml (Korean)

* New translations devise.en.yml (Czech)

* New translations activerecord.en.yml (Hebrew)

* New translations activerecord.en.yml (German)

* New translations devise.en.yml (German)

* New translations activerecord.en.yml (Greek)

* New translations devise.en.yml (Greek)

* New translations activerecord.en.yml (Basque)

* New translations devise.en.yml (Basque)

* New translations activerecord.en.yml (Finnish)

* New translations devise.en.yml (Finnish)

* New translations devise.en.yml (Hebrew)

* New translations activerecord.en.yml (Korean)

* New translations activerecord.en.yml (Hungarian)

* New translations devise.en.yml (Hungarian)

* New translations activerecord.en.yml (Armenian)

* New translations devise.en.yml (Armenian)

* New translations activerecord.en.yml (Italian)

* New translations devise.en.yml (Italian)

* New translations activerecord.en.yml (Japanese)

* New translations devise.en.yml (Japanese)

* New translations activerecord.en.yml (Georgian)

* New translations devise.en.yml (Georgian)

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

* New translations activerecord.en.yml (Swedish)

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

* New translations activerecord.en.yml (Bengali)

* New translations devise.en.yml (Bengali)

* New translations activerecord.en.yml (Marathi)

* New translations devise.en.yml (Thai)

* New translations activerecord.en.yml (Croatian)

* New translations devise.en.yml (Croatian)

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

* New translations activerecord.en.yml (Kazakh)

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

* New translations devise.en.yml (Kazakh)

* New translations activerecord.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations activerecord.en.yml (Latvian)

* New translations devise.en.yml (Latvian)

* New translations activerecord.en.yml (Hindi)

* New translations devise.en.yml (Hindi)

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

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

* New translations devise.en.yml (Swedish)

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Turkish)

* New translations devise.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

* New translations devise.en.yml (Ukrainian)

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

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

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

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

* New translations devise.en.yml (Vietnamese)

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

* New translations activerecord.en.yml (Galician)

* New translations devise.en.yml (Galician)

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

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

* New translations activerecord.en.yml (Indonesian)

* New translations devise.en.yml (Indonesian)

* New translations activerecord.en.yml (Persian)

* New translations devise.en.yml (Persian)

* New translations activerecord.en.yml (Tamil)

* New translations devise.en.yml (Tamil)

* New translations devise.en.yml (Welsh)

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

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

* New translations activerecord.en.yml (Corsican)

* New translations devise.en.yml (Corsican)

* New translations activerecord.en.yml (Sardinian)

* New translations devise.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

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

* New translations devise.en.yml (Kabyle)

* New translations devise.en.yml (Ido)

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

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

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

* New translations activerecord.en.yml (Esperanto)

* New translations activerecord.en.yml (Breton)

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

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

* New translations activerecord.en.yml (Tatar)

* New translations devise.en.yml (Tatar)

* New translations activerecord.en.yml (Malayalam)

* New translations devise.en.yml (Malayalam)

* New translations devise.en.yml (Breton)

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

* New translations activerecord.en.yml (Sinhala)

* New translations devise.en.yml (Sinhala)

* New translations devise.en.yml (Kannada)

* New translations activerecord.en.yml (Occitan)

* New translations devise.en.yml (Occitan)

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

* Run `bundle exec i18n-tasks normalize`

* Run `yarn manage:translations`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-17 09:33:25 +09:00
Claire c9b3cf8510
Fix searching already-known converted activities by URL (#17814)
Fixes #17813
2022-03-17 00:46:49 +01:00
Claire 9b139d4ef9
Fix “edited at” in public pages not being properly localized (#17806)
Fixes #17804
2022-03-15 19:07:25 +01:00
Eugen Rochko a794117679
Fix individually approved/rejected statuses/links showing as pending review (#17787) 2022-03-15 07:51:55 +01:00
Eugen Rochko e6ffbfb5e7
Add types param to GET /api/v1/notifications in REST API (#17767)
* Add `types` param to `GET /api/v1/notifications` in REST API

* Improve tests
2022-03-15 04:11:29 +01:00
Eugen Rochko eebafe24a8
Fix statuses not being referenced in strike when category is spam (#17786) 2022-03-15 04:11:13 +01:00
Eugen Rochko d182470c9d
New Crowdin updates (#17742)
* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Macedonian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Albanian)

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

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

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

* New translations en.json (Galician)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Tamil)

* New translations en.json (Lithuanian)

* New translations en.json (Georgian)

* New translations en.json (Slovenian)

* New translations en.json (French)

* New translations en.json (Persian)

* New translations en.json (Arabic)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Norwegian)

* New translations en.json (Hebrew)

* New translations en.json (Greek)

* New translations en.json (Dutch)

* New translations en.json (Romanian)

* New translations en.json (Japanese)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Armenian)

* New translations en.json (Occitan)

* New translations en.json (Bengali)

* New translations en.json (Telugu)

* New translations en.json (Marathi)

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

* New translations en.json (Uyghur)

* New translations en.json (Welsh)

* New translations en.json (Esperanto)

* New translations en.json (Malay)

* New translations en.json (Hindi)

* New translations en.json (Estonian)

* New translations en.json (Kazakh)

* New translations en.json (Croatian)

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

* New translations en.json (Silesian)

* New translations en.json (Taigi)

* New translations en.json (Ido)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

* New translations en.json (Sardinian)

* New translations en.json (Corsican)

* New translations en.json (Sinhala)

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

* New translations en.json (Asturian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Kannada)

* New translations en.json (Cornish)

* New translations en.json (Breton)

* New translations en.json (Malayalam)

* New translations en.json (Tatar)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Vietnamese)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Japanese)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Chinese Traditional)

* New translations en.json (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations en.json (Catalan)

* New translations en.json (Greek)

* New translations en.json (German)

* New translations en.json (Icelandic)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Russian)

* New translations en.yml (Indonesian)

* New translations en.json (Russian)

* New translations en.json (Indonesian)

* New translations doorkeeper.en.yml (Russian)

* New translations en.yml (Indonesian)

* New translations en.json (Russian)

* New translations en.json (Latvian)

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

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Danish)

* New translations en.json (Asturian)

* New translations en.yml (Danish)

* New translations en.yml (Asturian)

* New translations en.json (Danish)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Danish)

* New translations en.json (Portuguese)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Italian)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Danish)

* New translations en.json (Spanish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Georgian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Punjabi)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

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

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Sinhala)

* New translations en.yml (Silesian)

* New translations en.yml (Taigi)

* New translations en.yml (Ido)

* New translations en.yml (Kabyle)

* New translations en.yml (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

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

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

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

* New translations en.yml (Kannada)

* New translations en.yml (Cornish)

* New translations en.yml (Breton)

* New translations en.yml (Marathi)

* New translations en.yml (Malayalam)

* New translations en.yml (Tatar)

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

* New translations en.yml (Uyghur)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Telugu)

* New translations en.yml (Malay)

* New translations en.yml (Hindi)

* New translations en.yml (Latvian)

* New translations en.yml (Estonian)

* New translations en.yml (Kazakh)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Croatian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Greek)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Latvian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Japanese)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.yml (Icelandic)

* New translations en.yml (Slovenian)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Catalan)

* New translations en.yml (Russian)

* New translations en.yml (Italian)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Spanish)

* New translations en.yml (French)

* New translations en.yml (Turkish)

* New translations en.yml (Indonesian)

* New translations en.json (Turkish)

* New translations en.yml (Indonesian)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.yml (Tatar)

* New translations en.json (Tatar)

* New translations simple_form.en.yml (Tatar)

* New translations activerecord.en.yml (Tatar)

* New translations en.yml (Tatar)

* New translations en.json (Tatar)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-15 03:01:59 +09:00
Eugen Rochko 91616004fe
Fix not being able to upload GIF emojis in admin UI (#17759) 2022-03-14 05:45:22 +01:00
Eugen Rochko 5db1f377ea
Fix nil error when viewing suspended domain in admin UI (#17765) 2022-03-14 05:27:37 +01:00
mayaeh 71e7d38421
Changed to display the "Explore" in "Getting-Started" at all resolutions (#17762) 2022-03-13 15:01:30 +01:00
Eugen Rochko fa47c37f13
Fix public timelines being inaccessible on one stage of responsive layout in web UI (#17760)
Fix #17756
2022-03-13 09:48:39 +01:00
mayaeh e38a01c41a
Change the "Explore" icon from fa-globe to fa-hashtag (#17757) 2022-03-13 05:15:19 +01:00
mayaeh e52085246f
Add menu column of explore to getting-started (#17755) 2022-03-13 04:51:09 +01:00
Claire 92a86b958e
Fix issues with processing toot edits (#17748)
* Fix searching for an already-known status by URL not working

* Fix Update processing from statuses prior to 20220302232632

`ordered_media_attachment_ids_changed?` would return `true` when going from
`nil` to anything (including `[]`).

* Add tests
2022-03-12 19:33:10 +01:00
Claire d3aa9cf774
Fix Updates being forwarded even when not processable or causing no change (#17699)
* Fix Updates being forwarded even when not processable or causing no change

* Refactor and ensure status edit is strictly newer than last known edit
2022-03-12 09:30:31 +01:00
Eugen Rochko ddbe906c25
Fix not updating a status when newer version is fetched manually (#17745) 2022-03-12 09:11:36 +01:00
Eugen Rochko 883099f3c9
Fix nil error when trying to fetch key for signature verification (#17747) 2022-03-12 09:02:24 +01:00
Claire 642528f455
Update fix-duplicates maintenance task (#17731)
* Update fix-duplicates task to 2022_02_10_153119

Also add support for Appeal to AccountMerging#merge_with!

* Update fix-duplicates task to 2022_03_07_094650

* Update fix-duplicates task to 2022_03_09_213005

* Update fix-duplicates task to 2022_03_07_083603

* Update fix-duplicates task to 2022_03_10_060626

* Update fix-duplicates script to 2022_03_07_083603

* Update fix-duplicates task to 2022_03_10_060706

* Update fix-duplicates task to 2022_03_10_060959

* Silence CodeClimate
2022-03-12 08:33:11 +01:00
Eugen Rochko ee8d4dd056
Fix moderator account leak in status edit history (#17746) 2022-03-12 08:23:03 +01:00
Eugen Rochko bc320d6cec
Fix POST /api/v1/emails/confirmations not being available after sign-up (#17743) 2022-03-12 04:14:25 +01:00
Eugen Rochko 1745b71840
New Crowdin updates (#17674)
* New translations devise.en.yml (Hindi)

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

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

* New translations devise.en.yml (Swedish)

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Turkish)

* New translations devise.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

* New translations devise.en.yml (Ukrainian)

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

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

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

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

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

* New translations devise.en.yml (Vietnamese)

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

* New translations activerecord.en.yml (Galician)

* New translations devise.en.yml (Galician)

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

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

* New translations activerecord.en.yml (Indonesian)

* New translations devise.en.yml (Indonesian)

* New translations activerecord.en.yml (Persian)

* New translations devise.en.yml (Persian)

* New translations activerecord.en.yml (Tamil)

* New translations devise.en.yml (Tamil)

* New translations devise.en.yml (Welsh)

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

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

* New translations activerecord.en.yml (Corsican)

* New translations devise.en.yml (Corsican)

* New translations activerecord.en.yml (Sardinian)

* New translations devise.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

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

* New translations devise.en.yml (Kabyle)

* New translations devise.en.yml (Ido)

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

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

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

* New translations activerecord.en.yml (Esperanto)

* New translations activerecord.en.yml (Breton)

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

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

* New translations activerecord.en.yml (Tatar)

* New translations devise.en.yml (Tatar)

* New translations activerecord.en.yml (Malayalam)

* New translations devise.en.yml (Malayalam)

* New translations devise.en.yml (Breton)

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

* New translations activerecord.en.yml (Sinhala)

* New translations devise.en.yml (Sinhala)

* New translations devise.en.yml (Kannada)

* New translations activerecord.en.yml (Occitan)

* New translations devise.en.yml (Occitan)

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

* New translations en.yml (Catalan)

* New translations en.json (Norwegian)

* New translations en.yml (Catalan)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Catalan)

* New translations en.json (Slovenian)

* New translations en.json (Persian)

* New translations en.json (Occitan)

* New translations en.json (Arabic)

* New translations en.json (Thai)

* New translations en.json (Hebrew)

* New translations en.json (Greek)

* New translations en.json (Dutch)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Latvian)

* New translations en.json (Indonesian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Croatian)

* New translations en.json (Kazakh)

* New translations en.json (Estonian)

* New translations en.json (Hindi)

* New translations en.json (Icelandic)

* New translations en.json (Malay)

* New translations en.json (Welsh)

* New translations en.json (Esperanto)

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

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Sinhala)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Galician)

* New translations en.json (Basque)

* New translations en.json (Polish)

* New translations en.json (Finnish)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Portuguese)

* New translations en.json (Vietnamese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Albanian)

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

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

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

* New translations en.json (Cornish)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

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

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

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Swedish)

* New translations en.json (Catalan)

* New translations en.json (Polish)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations en.yml (French)

* New translations en.json (Russian)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.yml (French)

* New translations en.yml (Hungarian)

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

* New translations en.json (German)

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

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

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

* New translations en.yml (Turkish)

* New translations en.yml (Icelandic)

* New translations en.yml (Turkish)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Spanish)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Spanish)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Spanish)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Indonesian)

* New translations en.yml (Italian)

* New translations en.yml (Danish)

* New translations en.json (Italian)

* New translations en.yml (Danish)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Slovenian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations en.json (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations en.yml (Danish)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations en.json (Portuguese)

* New translations en.json (Latvian)

* New translations en.yml (Danish)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations en.yml (Danish)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Russian)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.json (Sinhala)

* New translations en.yml (Sinhala)

* New translations en.json (Greek)

* New translations doorkeeper.en.yml (Sinhala)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Japanese)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Turkish)

* New translations en.yml (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.json (Slovak)

* New translations en.json (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.json (Esperanto)

* New translations en.yml (Danish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.yml (Danish)

* Fix

* Run `bundle exec i18n-tasks normalize -l da`

* New translations en.yml (Danish)

* Run `bundle exec i18n-tasks normalize -l da`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-11 14:35:51 +09:00
Jeong Arm 18e27e0488
Enable domain purge button on suspended domains too (#17741)
Related: #17209
2022-03-11 04:58:09 +01:00
Claire 64d2988d18
Fix edit history dropdown and modal in light theme (#17740)
Fixes #17739
2022-03-10 17:59:23 +01:00
Takeshi Umeda d7fab238a8
Fix a type error in domain_block policies (#17735) 2022-03-10 04:10:20 +01:00
Claire 29ee3c61a3
Fix report dialog being illegible using mastodon-light theme (#17734)
Fixes #17726
2022-03-10 00:11:15 +01:00
Eugen Rochko 9f2791eb64
Add polls and media attachments to edit comparison modal in web UI (#17727) 2022-03-09 21:15:24 +01:00
Claire 2a56a890da
Fix rare race condition when rebloged status is deleted (#17693)
* Fix rare race condition when rebloged status is deleted

* Use INSERT INTO … SELECT
2022-03-09 20:49:14 +01:00
Eugen Rochko b2cd34474b
Add rate limit for editing (#17728) 2022-03-09 20:06:51 +01:00
Eugen Rochko e54fd73df2
Fix being able to add more than 4 hashtags to hashtag column in web UI (#17729) 2022-03-09 13:01:44 +01:00
Eugen Rochko db04dfc8a6
Chore: Update translatable strings (#17723) 2022-03-09 20:45:49 +09:00
Claire 3bc0aeed50
Change text version of warning mail to mention appeals instead of mails (#17725)
Also, the instruction to reply to e-mail would probably not work in many cases
where the notifications e-mail address is not able to receive incoming emails
or the mailbox is not actively monitored.
2022-03-09 12:11:11 +01:00
chandrn7 a6ed6845c9
Allow login through OpenID Connect (#16221)
* added OpenID Connect as an SSO option

* minor fixes

* added comments, removed an option that shouldn't be set

* fixed Gemfile.lock

* added newline to end of Gemfile.lock

* removed tab from Gemfile.lock

* remove chomp

* codeclimate changes and small name change to make function's purpose clearer

* codeclimate fix

* added SSO buttons to /about page

* minor refactor

* minor style change

* removed spurious change

* removed unecessary conditional from ensure_valid_username and added support for auth.info.name in user_params_from_auth

* minor changes
2022-03-09 12:07:35 +01:00
Eugen Rochko d17fb70131
Change how changes to media attachments are stored for edits (#17696)
* Change how changes to media attachments are stored for edits

Fix not being able to re-order media attachments

* Fix not broadcasting updates when polls/media is changed through ActivityPub

* Various fixes and improvements

* Update app/models/report.rb

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

* Add tracking of media attachment description changes

* Change poll in status edit to have a structure closer to the real one

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-09 09:06:17 +01:00
Eugen Rochko bd53dd5210
Change design of federation pages in admin UI (#17704)
* Change design of federation pages in admin UI

* Fix query performance in instance media attachments measure

* Fix reblogs being included in instance languages dimension
2022-03-09 08:52:32 +01:00
Eugen Rochko 318d34d528
Fix data integrity of featured tags (#17712) 2022-03-09 08:51:12 +01:00
Eugen Rochko c0327ff31f
Fix invalid language resulting in no fallback being set on statuses (#17722) 2022-03-09 08:46:05 +01:00
Eugen Rochko 8f6c67bfde
Fix performance of account timelines (#17709)
* Fix performance of account timelines

* Various fixes and improvements

* Fix duplicate results being returned

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

* Fix grouping for pinned statuses scope

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-08 09:14:39 +01:00
Eugen Rochko dba4be1038
Change appearance of account cards in web UI (#17689)
* Change appearance of account cards in web UI

* Various fixes and improvements

* Various fixes and improvements
2022-03-07 11:38:52 +01:00
Eugen Rochko 292c75aa31
Fix nil error when submitting report without rule_ids (#17713) 2022-03-07 11:21:27 +01:00
Eugen Rochko edf09ec747
Add /api/v1/accounts/familiar_followers to REST API (#17700)
* Add `/api/v1/accounts/familiar_followers` to REST API

* Change hide network preference to be stored consistently for local and remote accounts

* Add dummy classes to migration

* Apply suggestions from code review

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

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-07 09:36:47 +01:00
Josh Soref b5329e0035
Spelling (#17705)
* spelling: account

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: affiliated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: appearance

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: autosuggest

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: cacheable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: component

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: conversations

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: domain.example

Clarify what's distinct and use RFC friendly domain space.

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: environment

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exceeds

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: functional

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: inefficiency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: not

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: notifications

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: occurring

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: position

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: progress

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: promotable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: reblogging

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: repetitive

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: resolve

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: saturated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: similar

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: strategies

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: success

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: targeting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: thumbnails

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unauthorized

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unsensitizes

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: validations

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: various

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-03-06 22:51:40 +01:00
Mashiro 87a55e2cd6
Change autocomplete type of password input box (#17702)
* Change autocomplete type of password input box

* Update _registration.html.haml
2022-03-05 05:57:50 +01:00
Eugen Rochko 2ea754b861
Fix duplicate notifications being possible after poll expiration (#17697) 2022-03-04 01:06:33 +01:00