Commit graph

6622 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
Eugen Rochko
04c3ac896a
Fix infinite re-forwarding of update activities temporarily (#17698) 2022-03-04 01:00:13 +01:00
Claire
02dbc59c91
Add option to automatically delete toots after one week (#17691)
Fixes #17658
2022-03-03 16:18:58 +01:00
Claire
6d3fa7828e
Redesign /about when already logged in (#17348)
* Redesign /about when already logged in

* Fix sign up form still showing when OMNIAUTH_ONLY is set

* Fix tests

* Change wording based on suggestions

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

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-03-03 16:14:44 +01:00
Claire
ff43e54a49
Allow editing media attachments for scheduled toots (#17690)
Fixes #17676
2022-03-03 16:13:58 +01:00
Eugen Rochko
631e495a79
Change follow scope to be covered by read and write scopes in REST API (#17678)
Deprecate `follow` scope
2022-03-03 16:13:40 +01:00
Eugen Rochko
085f286750
Fix returning empty <p> tag for blank account note in REST API (#17687) 2022-03-03 06:45:46 +01:00
Eugen Rochko
54d4ece743
Remove profile directory link from main navigation panel (#17688) 2022-03-03 06:45:30 +01:00
Claire
c0c4b5718d
Change visual separation of applications in authorized apps list (#17686) 2022-03-02 20:28:25 +01:00
Eugen Rochko
9b58fb1ea4
Add descriptions to trending features in admin UI (#17677) 2022-03-02 18:57:44 +01:00
Eugen Rochko
e24b14cc74
Fix leak of existence of otherwise inaccessible statuses in REST API (#17684) 2022-03-02 18:57:26 +01:00
Eugen Rochko
02b8d63fce
Fix report category not being saved in REST API (#17682) 2022-03-02 18:57:08 +01:00
Eugen Rochko
25d3dc4373
Add ability to mark statuses as sensitive from reports in admin UI (#17668)
* Add ability to mark statuses as sensitive from reports in admin UI

* Allow mark as sensitive action on statuses with preview cards
2022-03-01 22:20:29 +01:00
Claire
14919fe11e
Change old moderation strikes to be displayed in a separate page (#17566)
* Change old moderation strikes to be displayed in a separate page

Fixes #17552

This changes the moderation strikes displayed on `/auth/edit` to be those from
the past 3 months, and make all moderation strikes targeting the current user
available in `/disputes`.

* Add short description of what the strikes page is for

* Move link to list of strikes to “Account status” instead of navigation item

* Normalize i18n file

* Fix layout and styling of strikes link

* Revert highlights_on regexp

* Reintroduce account status summary

- this way, “Account status” is never empty
- account status is not necessarily bound to strikes, or recent strikes
2022-03-01 19:37:47 +01:00
Eugen Rochko
50ea54b3ed
Change authorized applications page (#17656)
* Change authorized applications page

* Hide revoke button for superapps and suspended accounts

* Clean up db/schema.rb
2022-03-01 16:48:58 +01:00
Eugen Rochko
233f7e6174
New Crowdin updates (#17628)
* New translations en.yml (Swedish)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

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

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

* New translations en.yml (Portuguese)

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

* New translations en.yml (Portuguese)

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

* New translations en.yml (Turkish)

* New translations en.yml (Italian)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

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

* New translations en.yml (Finnish)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Kabyle)

* New translations en.json (Kabyle)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Indonesian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Greek)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations en.yml (Catalan)

* New translations en.yml (Portuguese)

* New translations en.yml (Italian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

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

* New translations en.yml (Japanese)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Italian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Spanish)

* New translations en.yml (Thai)

* New translations en.yml (French)

* New translations en.yml (Thai)

* New translations en.yml (Indonesian)

* New translations en.yml (Danish)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.yml (German)

* New translations en.yml (Thai)

* New translations en.yml (Icelandic)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Hungarian)

* New translations en.json (Norwegian)

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

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

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

* New translations en.json (Welsh)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

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

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Punjabi)

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

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Catalan)

* New translations en.json (French)

* New translations en.json (Catalan)

* New translations en.json (French)

* New translations en.json (Albanian)

* New translations en.json (Catalan)

* New translations en.yml (Albanian)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (Danish)

* New translations en.json (Danish)

* New translations en.json (Icelandic)

* New translations en.json (Danish)

* New translations en.json (Italian)

* New translations en.json (Italian)

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

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

* New translations en.json (Hungarian)

* New translations en.json (Ukrainian)

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

* New translations en.json (Hungarian)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Russian)

* New translations en.json (Greek)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Finnish)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Finnish)

* New translations en.json (Finnish)

* New translations en.json (Chinese Traditional)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (Thai)

* New translations en.json (Turkish)

* New translations en.json (Scottish Gaelic)

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

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

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

* New translations simple_form.en.yml (Thai)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (Latvian)

* New translations en.json (Latvian)

* New translations en.json (Latvian)

* New translations en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations en.json (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Danish)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* Run `bundle exec i18n-tasks normalize`

* Fix

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-01 18:38:36 +09:00
Eugen Rochko
1392741044
Chore: Update translatable strings (#17495) 2022-02-28 14:14:52 +01:00
Eugen Rochko
cb2e198d89
Fix not showing loading indicator when searching in web UI (#17655) 2022-02-27 07:37:07 +01:00
Eugen Rochko
0883f05753
Fix report submit button not being disabled during submission in web UI (#17654)
Add loading indicator for status selection step in report dialog in web UI
2022-02-27 07:37:00 +01:00
Claire
57814a98a9
Fix remote reports with comments revealing remote reporter (#17652)
* Display username rather than display name in report comment

For consistency with report notes and appeals

* Fix remote reports with comments revealing remote reporter

* Display instance name in placeholder

* Make instance name in report comment a link to the federation admin page

* Normalize i18n file
2022-02-26 21:14:12 +01:00
Eugen Rochko
0dc57ab6ed
Fix status updates not being forwarded like deletes through ActivityPub (#17648)
Fix #17521
2022-02-26 17:51:59 +01:00
Claire
6aef76b5cd
Fix error when a MX is shared across blocked domains (#17650) 2022-02-26 17:26:28 +01:00
Claire
3d60708508
Fix crash in EmailDomainBlockRefreshScheduler (#17649) 2022-02-26 16:28:28 +01:00
MitarashiDango
a5c24d5c4d
Fix unable to unpin follower-only posts (#17647) 2022-02-25 17:04:08 +01:00
Claire
255748dff4
Fix media modal footer's “external link” not being a link (#17561) 2022-02-25 01:20:41 +01:00
Claire
2cd31b3177
Fix reply button on media modal not giving focus to compose form (#17626)
* Avoid compose form and modal management fighting for focus

* Fix reply button on media modal footer not giving focus to compose form
2022-02-25 00:51:01 +01:00
Eugen Rochko
d4592bbfcd
Add explore page to web UI (#17123)
* Add explore page to web UI

* Fix not removing loaded statuses from trends on mute/block action
2022-02-25 00:34:33 +01:00
Eugen Rochko
27965ce5ed
Add trending statuses (#17431)
* Add trending statuses

* Fix dangling items with stale scores in localized sets

* Various fixes and improvements

- Change approve_all/reject_all to approve_accounts/reject_accounts
- Change Trends::Query methods to not mutate the original query
- Change Trends::Query#skip to offset
- Change follow recommendations to be refreshed in a transaction

* Add tests for trending statuses filtering behaviour

* Fix not applying filtering scope in controller
2022-02-25 00:34:14 +01:00
Eugen Rochko
a29a982eaa
Change e-mail domain blocks to block IPs dynamically (#17635)
* Change e-mail domain blocks to block IPs dynamically

* Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb

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

* Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb

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

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-24 17:28:23 +01:00
Claire
b7cf11d5a9
Fix reporting from profile (#17632)
* Fix reporting from profile

* Clean up dead code
2022-02-23 21:37:02 +01:00
Eugen Rochko
a9a43de6d1
Change report modal to include category selection in web UI (#17565)
* Change report modal to include category selection in web UI

* Various fixes and improvements

- Change thank you text to be different based on category
- Change starting headline to be different for account and status reports
- Change toggle components to have a checkmark when checked
- Fix report dialog being cut off on small screens
- Fix thank you screen offering mute or block if already muted or blocked
- Refactor toggle components in report dialog into one component

* Change wording on final screen

* Change checkboxes to be square when multiple options are possible
2022-02-23 20:03:46 +01:00
Claire
1c3e5e44e2
Fix new sign-up notification not working because of incorrect type name (#17629) 2022-02-23 19:30:13 +01:00
noiob
0db101ede2
Fix link in new hashtag notification email (#17624)
It's currently https://example.org/admin/trends/tags?pending_review=1 but should be https://example.org/admin/trends/tags?status=pending_review
2022-02-23 16:51:09 +01:00
Eugen Rochko
7b816eb5ae
Add notifications for new sign-ups (#16953) 2022-02-23 16:45:22 +01:00
Eugen Rochko
d21bedc492
New Crowdin updates (#17593)
* New translations en.json (Catalan)

* New translations en.json (Turkish)

* New translations en.json (Macedonian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

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

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

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

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

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

* New translations en.json (Arabic)

* New translations en.json (Thai)

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

* New translations en.json (Japanese)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Cornish)

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

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

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

* New translations en.json (Marathi)

* New translations en.json (Breton)

* New translations en.json (Malayalam)

* New translations en.json (Tatar)

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

* New translations en.json (Uyghur)

* New translations en.json (Esperanto)

* New translations en.json (Welsh)

* New translations en.json (Telugu)

* New translations en.json (Malay)

* New translations en.json (Hindi)

* New translations en.json (Latvian)

* New translations en.json (Estonian)

* New translations en.json (Kazakh)

* New translations en.json (Croatian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Chinese Traditional)

* New translations en.json (Danish)

* New translations en.json (Thai)

* New translations en.yml (Thai)

* New translations en.json (Korean)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Thai)

* New translations devise.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Catalan)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Galician)

* New translations en.json (Greek)

* New translations en.json (Polish)

* New translations en.json (Hebrew)

* New translations en.json (Icelandic)

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

* New translations en.json (Chinese Traditional)

* New translations en.yml (Russian)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Swedish)

* New translations simple_form.en.yml (Russian)

* New translations en.json (Turkish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Albanian)

* New translations en.json (Vietnamese)

* New translations en.json (Latvian)

* New translations en.json (Hungarian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Italian)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.json (Finnish)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Spanish)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.yml (Basque)

* New translations en.json (Ukrainian)

* New translations en.yml (Indonesian)

* New translations en.json (Indonesian)

* New translations en.yml (Indonesian)

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

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations en.json (French)

* New translations simple_form.en.yml (French)

* New translations en.json (French)

* New translations simple_form.en.yml (Galician)

* New translations en.json (French)

* New translations en.json (Russian)

* New translations activerecord.en.yml (Latvian)

* New translations en.yml (French)

* New translations en.yml (French)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-23 22:13:09 +09:00
luzpaz
73f5e4a1d9
Fix various typos (#17621)
Found via `codespell -q 3 -S ./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,keypair,medias,ro`
2022-02-22 20:14:17 +01:00
Claire
166f6e4b50
Fix some media attachments being converted with too high framerates (#17619)
Video files with variable framerates are converted to constant framerate videos
and the output framerate picked by ffmpeg is based on the original file's
container framerate (which can be different from the average framerate).

This means that an input video with variable framerate with about 30 frames per
second on average, but a maximum of 120 fps will be converted to a constant 120
fps file, which won't be processed by other Mastodon servers.

This commit changes it so that input files with VFR and a maximum framerate
above the framerate threshold are converted to VFR files with the maximum frame
rate enforced.
2022-02-22 17:11:22 +01:00
Eugen Rochko
51e67f3243
Fix link colors in report and strike details (#17616) 2022-02-22 15:27:25 +01:00
Eugen Rochko
b377022cf9
Add caching layer to metrics (#17617) 2022-02-22 15:27:08 +01:00
Eugen Rochko
8338826963
Fix wrong styles on strike page (#17615) 2022-02-22 06:20:04 +01:00
dependabot[bot]
2e89067d21
Bump pundit from 2.1.1 to 2.2.0 (#17543)
* Bump pundit from 2.1.1 to 2.2.0

Bumps [pundit](https://github.com/varvet/pundit) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/varvet/pundit/releases)
- [Changelog](https://github.com/varvet/pundit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/varvet/pundit/compare/v2.1.1...v2.2.0)

---
updated-dependencies:
- dependency-name: pundit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* `include Pundit` is deprecated

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-19 13:30:06 +09:00
Eugen Rochko
1761d9ba5d
New Crowdin updates (#17514)
* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Albanian)

* New translations simple_form.en.yml (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations simple_form.en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

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

* New translations en.yml (Galician)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Vietnamese)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Galician)

* New translations en.yml (Japanese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Hebrew)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.yml (German)

* New translations en.yml (Polish)

* New translations en.yml (Turkish)

* New translations en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations en.yml (Polish)

* New translations en.yml (Turkish)

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Swedish)

* New translations en.yml (Swedish)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Icelandic)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Polish)

* New translations en.json (Polish)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations doorkeeper.en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations en.yml (Albanian)

* New translations en.yml (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.json (Russian)

* New translations en.yml (Albanian)

* New translations en.yml (Indonesian)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.yml (Hungarian)

* New translations en.yml (Icelandic)

* New translations en.yml (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

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

* New translations en.json (Korean)

* New translations en.yml (Thai)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Thai)

* New translations en.yml (Spanish)

* New translations en.yml (Thai)

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

* New translations 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 (Spanish)

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

* New translations simple_form.en.yml (Spanish)

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

* New translations en.yml (Spanish)

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

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

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

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* 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 (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 (Serbian (Cyrillic))

* 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 (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 (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 (Serbian (Latin))

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

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Malay)

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

* New translations en.yml (Hungarian)

* New translations en.yml (Galician)

* New translations en.yml (Catalan)

* New translations en.yml (Hungarian)

* New translations en.yml (Polish)

* New translations en.yml (Breton)

* New translations en.json (Breton)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Spanish)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Portuguese)

* New translations en.yml (Ukrainian)

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

* New translations en.yml (Portuguese)

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

* New translations simple_form.en.yml (Portuguese)

* New translations en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Italian)

* New translations en.yml (French)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.json (Russian)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* New translations en.yml (Indonesian)

* New translations en.yml (Galician)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Traditional)

* Ran `yarn manage:translations`

* Ran `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-19 13:20:00 +09:00
Eugen Rochko
de448ab1b5
Change global locale param to lang to avoid conflicts (#17592) 2022-02-19 03:12:28 +01:00
helloworldstack
2426577a91
Fix sign in token and warning emails failed to send in some cases (#17589) 2022-02-18 20:43:42 +01:00
Claire
ac99f586bb
Fix issues when attempting to appeal an old strike (#17554)
* Display an error when an appeal could not be submitted

* Do not offer users to appeal old strikes

* Fix 500 error when trying to appeal a strike that is too old

* Avoid using an extra translatable string
2022-02-16 22:29:48 +01:00
Claire
aa86cf9557
Fix opening the emoji picker scrolling the single-column view to the top (#17579)
Fixes #17577
2022-02-16 21:44:47 +01:00
Claire
00b45b967e
Fix edge case where settings/admin page sidebar would be incorrectly hidden (#17580) 2022-02-16 21:44:19 +01:00
Claire
8f537a1168
Change relays handling to not record boosts (#17571)
* Change relays handling to not record boosts

* Update tests
2022-02-16 14:36:44 +01:00
Claire
73fce8d311
Fix performance of server-side filtering (#17575)
Fixes #17567
2022-02-16 14:28:45 +01:00
Claire
793da08995
Change dasbhoard links for “new users” and “active users” (#17570)
Make them filter for local accounts by default
2022-02-16 13:17:28 +01:00
Eugen Rochko
564efd0651
Add appeals (#17364)
* Add appeals

* Add ability to reject appeals and ability to browse pending appeals in admin UI

* Add strikes to account page in settings

* Various fixes and improvements

- Add separate notification setting for appeals, separate from reports
- Fix style of links in report/strike header
- Change approving an appeal to not restore statuses (due to federation complexities)
- Change style of successfully appealed strikes on account settings page
- Change account settings page to only show unappealed or recently appealed strikes

* Change appealed_at to overruled_at

* Fix missing method error
2022-02-14 21:27:53 +01:00
Jeong Arm
d39df35441
Fix admin statuses page order with media (#17538) 2022-02-14 16:07:04 +01:00
Jeong Arm
9a015e43ef
Add from: query operator to search syntax (#16526)
* Add 'by:userhandle' parameter to search api

* Use search syntax for "by" prefix

* Codeclimate

* Use 'from' instead of 'by'
2022-02-14 00:17:09 +01:00
Eugen Rochko
bbd3474416
Fix privacy policy link not being visible on small screens (#17533)
Fix #17482
2022-02-13 02:52:34 +01:00
Eugen Rochko
6240466866
Fix duplicate accounts when searching by IP range in admin UI (#17524) 2022-02-13 01:58:26 +01:00
Claire
7396a254c1
Fix empty batch statuses selection causing a 500 error (#17532)
* Fix empty batch statuses selection causing a 500 error

* Simplify current_params
2022-02-12 19:52:17 +01:00
Claire
38845592c4
Fix controls for unchangeable properties on status edit not being disabled (#17531)
Fixes #17520
2022-02-12 19:00:33 +01:00
Eugen Rochko
e848d281d5
Fix layout of the report page on smaller screens in admin UI (#17523)
Fix #17491
2022-02-12 01:08:23 +01:00
Jeong Arm
ee47e2028b
Enable domain purge button on suspended domains too (#17209)
* Enable domain purge button on suspended domains too

* Change unless to if
2022-02-11 22:23:19 +01:00
Eugen Rochko
8f03b7a2fb
Add notifications when a reblogged status has been updated (#17404)
* Add notifications when a reblogged status has been updated

* Change wording to say "edit" instead of "update" and add missing controls

* Replace previous update notifications with the most up-to-date one
2022-02-11 22:20:19 +01:00
Eugen Rochko
d0fcf07436
Change actions in reports to require only one click (#17487) 2022-02-11 21:51:57 +01:00
Eugen Rochko
a27729ee48
Change reblogs to not count towards hashtag trends anymore (#17501) 2022-02-11 21:16:23 +01:00
Eugen Rochko
c9a52833b6
Fix deletes not being signed in authorized fetch mode (#17484)
Fix #17483
2022-02-11 14:52:45 +01:00
Claire
d4e6774a0c
Fix Undo Announce sometimes inlining the originally Announced status (#17516)
* Change tests to have more specific expectations on sent ActivityPub payloads

* Check that payload doesn't actually contain the contents of the boosted toot

* Fix Undo Announce sometimes inlining the originally Announced status
2022-02-11 14:52:07 +01:00
Eugen Rochko
6f38765fcc
New Crowdin updates (#16858)
* New translations en.yml (Russian)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations 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 (Thai)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Ran `i18n-tasks normalize`

* Ran `yarn manage:translations`

* Add space

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-11 04:50:27 +01:00
Eugen Rochko
3dc1e3cfc3
Chore: Disable menu items for editing statuses in web UI (#17497)
Feature must be unlocked in a separate release for max. compatibility
2022-02-10 15:28:53 +01:00
Claire
da91b18a8b
Fix NoMethodError in StatusUpdateDistributionWorker (#17499)
* Add tests

* Fix NoMethodError in StatusUpdateDistributionWorker

* Fix tests
2022-02-10 14:57:10 +01:00
Claire
63854bee6c
Fix poll votes not being properly reset on poll change (#17498)
* Fix poll votes not being properly reset on poll change

* Fix and add tests

* Fix poll update handling when the number of options changes
2022-02-10 14:26:54 +01:00
Eugen Rochko
1bfcb75105
Fix outdated iso-639 reference in update status service (#17496) 2022-02-10 03:09:44 +01:00
Eugen Rochko
63002cde03
Add editing for published statuses (#17320)
* Add editing for published statuses

* Fix change of multiple-choice boolean in poll not resetting votes

* Remove the ability to update existing media attachments for now
2022-02-10 00:15:30 +01:00
Eugen Rochko
2f8159baad
Add category and rule_ids params to POST /api/v1/reports (#17492) 2022-02-10 00:10:16 +01:00
Eugen Rochko
3aebe711fd
Change languages to be listed under standard instead of native name in admin UI (#17485) 2022-02-09 04:15:38 +01:00
Eugen Rochko
fd3a45e348
Add edit history to web UI (#17390)
* Add edit history to web UI

* Change history reducer to store items per status

* Fix missing loading prop
2022-02-09 01:17:07 +01:00
Eugen Rochko
2adcad04ff
Fix error in suggestions API due to typo (#17486)
Regression from #17479
2022-02-08 22:23:04 +01:00
Eugen Rochko
b6d7726ecb
Remove language detection through cld3 (#17478)
* Remove language detection through cld3

* Update app/helpers/languages_helper.rb

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

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-08 02:41:17 +01:00
Eugen Rochko
85b86fe28c
Add global locale param (#17464)
- Remove the session-based locale stickyness
2022-02-08 02:34:56 +01:00
Eugen Rochko
35850f8195
Fix localization of cold-start follow recommendations (#17479) 2022-02-08 01:53:49 +01:00
Claire
52c1b86964
Fix Ruby 2.5 incompatibility (#17465) 2022-02-07 19:57:06 +01:00
Eugen Rochko
f1f6ddd536
Fix structured data parsing from links choking on bad data (#17403)
* Fix structured data parsing from links choking on bad data

- Fix og:url meta tag being prioritized over canonical link tag
- Fix structured data parsing choking on commented-out CDATA declarations
- Fix HTML entities in title, description, provider_name, author_name
- Change structured data parsing to attempt every JSON-LD script tag

* Remove unnecessary slash escapes from CDATA regex pattern
2022-02-07 18:16:31 +01:00
Claire
73a782391c
Fix replies collection incorrectly looping (#17462)
* Refactor tests

* Add tests

* Fix replies collection incorrectly looping
2022-02-07 17:06:43 +01:00
Claire
0d2cf3cd4a
Fix errors when multiple Delete are received for a given actor (#17460) 2022-02-07 13:14:48 +01:00
Claire
92658f0fb0
Fix instance actor not being dereferenceable (#17457)
* Add tests

* Fix instance actor not being dereferenceable

* Fix tests

* Fix tests for real
2022-02-06 15:31:03 +01:00
Eugen Rochko
e03e7ac290
Fix error on account relationships page in admin UI (#17444) 2022-02-05 05:06:34 +01:00
Claire
c8b1e72a4f
Fix compacted JSON-LD possibly causing compatibility issues on forwarding (#17428) 2022-02-03 14:09:04 +01:00
Claire
948235592a
Fix response_to_recipient? CTE (#17427) 2022-02-03 14:07:43 +01:00
Claire
d1ecc323e7
Compact JSON-LD signed incoming activities (#17426)
Co-authored-by: Puck Meerburg <puck@puck.moe>
2022-02-03 14:07:29 +01:00
Claire
987d88ea56
Fix requiring an extra restart after recent post-deployment migrations (#17422)
Follow-up to #16409
2022-02-01 20:57:39 +01:00
Claire
f5639e1cbe
Change public profile pages to be disabled for unconfirmed users (#17385)
Fixes #17382

Note that unconfirmed and unapproved accounts can still be searched for
and their (empty) account retrieved using the REST API.
2022-01-28 14:24:37 +01:00
Claire
03d59340da
Fix Sidekiq warnings about JSON serialization (#17381)
* Fix Sidekiq warnings about JSON serialization

This occurs on every symbol argument we pass, and every symbol key in hashes,
because Sidekiq expects strings instead.

See https://github.com/mperham/sidekiq/pull/5071

We do not need to change how workers parse their arguments because this has
not changed and we were already converting to symbols adequately or using
`with_indifferent_access`.

* Set Sidekiq to raise on unsafe arguments in test mode

In order to more easily catch issues that would produce warnings in production
code.
2022-01-28 00:43:56 +01:00
Claire
166cc5b89d
Fix local distribution of edited statuses (#17380)
Because `FanOutOnWriteService#update?` was broken, edits were considered as new
toots and a regular `update` payload was sent.
2022-01-26 20:53:50 +01:00
Eugen Rochko
6505b39e5d
Fix poll updates being saved as status edits (#17373)
Fix #17344
2022-01-26 18:05:39 +01:00
Claire
dd63923c0a
Fix link_to_login argument handling when a block is passed (#17345) 2022-01-24 03:29:03 +01:00
Claire
0a120d86d2
Fix error-prone SQL queries (#15828)
* Fix error-prone SQL queries in Account search

While this code seems to not present an actual vulnerability, one could
easily be introduced by mistake due to how the query is built.

This PR parameterises the `to_tsquery` input to make the query more robust.

* Harden code for Status#tagged_with_all and Status#tagged_with_none

Those two scopes aren't used in a way that could be vulnerable to an SQL
injection, but keeping them unchanged might be a hazard.

* Remove unneeded spaces surrounding tsquery term

* Please CodeClimate

* Move advanced_search_for SQL template to its own function

This avoids one level of indentation while making clearer that the SQL template
isn't build from all the dynamic parameters of advanced_search_for.

* Add tests covering tagged_with, tagged_with_all and tagged_with_none

* Rewrite tagged_with_none to avoid multiple joins and make it more robust

* Remove obsolete brakeman warnings

* Revert "Remove unneeded spaces surrounding tsquery term"

The two queries are not strictly equivalent.

This reverts commit 86f16c537e06c6ba4a8b250f25dcce9f049023ff.
2022-01-23 18:10:10 +01:00
Claire
a63495230a
Change percent to rate in retention metrics API (#16910) 2022-01-23 16:01:25 +01:00
Claire
bddd9ba36d
Add OMNIAUTH_ONLY environment variable to enforce externa log-in (#17288)
* Remove support for OAUTH_REDIRECT_AT_SIGN_IN

Fixes #15959

Introduced in #6540, OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.

However, it did not prevent the log-in form on /about introduced by #10232 from
appearing, and completely broke with the introduction of #15228.

As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.

* Add OMNIAUTH_ONLY environment variable to enforce external log-in only

* Disable user registration when OMNIAUTH_ONLY is set to true

* Replace log-in links When OMNIAUTH_ONLY is set with exactly one OmniAuth provider
2022-01-23 15:52:58 +01:00
Claire
cfa583fa71
Remove support for OAUTH_REDIRECT_AT_SIGN_IN (#17287)
Fixes #15959

Introduced in #6540, OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.

However, it did not prevent the log-in form on /about introduced by #10232 from
appearing, and completely broke with the introduction of #15228.

As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.
2022-01-23 15:50:41 +01:00
Claire
8a07ecd377
Remove leftover database columns from Devise::Models::Rememberable (#17191)
* Remove leftover database columns from Devise::Models::Rememberable

* Update fix-duplication maintenance script

* Improve errors/warnings in the fix-duplicates maintenance script
2022-01-23 15:46:30 +01:00
Claire
3a103cd317
Fix text being incorrectly pre-selected in composer textarea on /share (#17339)
Fixes #17295
2022-01-20 20:56:21 +01:00
Claire
6eea3f8f9c
Add post edited notice in admin and public UIs (#17335)
* Add edited toot flag on public pages

* Add toot edit flag to admin pages
2022-01-20 13:37:31 +01:00
Eugen Rochko
9eb775a9d1
Fix error when using raw distribution worker (#17334)
Regression from #16697
2022-01-19 23:05:59 +01:00
Eugen Rochko
d412a8d1f2
Fix error when processing poll updates (#17333)
Regression from #16697
2022-01-19 22:50:01 +01:00
Eugen Rochko
1060666c58
Add support for editing for published statuses (#16697)
* Add support for editing for published statuses

* Fix references to stripped-out code

* Various fixes and improvements

* Further fixes and improvements

* Fix updates being potentially sent to unauthorized recipients

* Various fixes and improvements

* Fix wrong words in test

* Fix notifying accounts that were tagged but were not in the audience

* Fix mistake
2022-01-19 22:37:27 +01:00
Jeong Arm
2d1f082bb6
Fix NameError on ActivityPub::FetchFeaturedCollectionService (#17326)
Related: #16954
2022-01-19 04:08:46 +01:00
Claire
c60f8ce032
Fix pinned attribute not being set for private self-posts (#17304) 2022-01-17 11:59:46 +01:00
Eugen Rochko
14f436c457
Add notifications for statuses deleted by moderators (#17204) 2022-01-17 09:41:33 +01:00
Claire
d5c9feb7b7
Add support for private pinned posts (#16954)
* Add support for private pinned toots

* Allow local user to pin private toots

* Change wording to avoid "direct message"
2022-01-17 00:49:55 +01:00
Claire
081e4426f8
Fix admin interface crash when displaying deleted user (#17301) 2022-01-16 20:57:37 +01:00
Eugen Rochko
8e84ebf0cb
Remove IP tracking columns from users table (#16409) 2022-01-16 13:23:50 +01:00
Jeong Arm
bc7a8ae6d6
Gradually increase retry waiting for media processing (#17271) 2022-01-10 14:25:08 +01:00
Jeong Arm
d3db2eb7fb
Remove custom emojis on domain purge (#17210) 2021-12-30 08:41:09 +01:00
Claire
37e80994f8
Fix media descriptions not being used for client-side filtering (#17206)
Fix oversight in #13837
2021-12-28 23:25:50 +01:00
Eugen Rochko
fe71548844
Fix warnings on Rails boot (#16946) 2021-12-27 00:47:20 +01:00
Rens Groothuijsen
e65080181a
Fix tag rendering error in hashtag column settings (#17184)
* Flatten tags in configuration to regular array before converting to JSON

* Render filter tags using toJS instead of toJSON
2021-12-26 19:22:05 +01:00
Jeong Arm
720e8ab0f5
Fix duplicate record on admin/accounts when searching with IP (#17150) 2021-12-21 00:17:14 +01:00
Claire
76761d5fc0
Add ability for admins to delete canonical email blocks (#16644)
* Add admin option to remove canonical email blocks from a deleted account

* Add tootctl canonical_email_blocks to inspect and remove canonical email blocks
2021-12-17 23:02:14 +01:00
Claire
7f803c41e2
Add ability to purge undeliverable domains from admin interface (#16686)
* Add ability to purge undeliverable domains from admin interface

* Add tests
2021-12-17 23:01:21 +01:00
Claire
0c17fd9109
Change title of retention chart (#16909)
Changes from “Retention” to “User retention rate by month after sign-up”.
This should make it much clearer to people not familiar with retention charts
what it actually means.
2021-12-17 23:00:41 +01:00
Claire
40f202c1e5
Change list title input styling (#17092) 2021-12-17 23:00:05 +01:00
David Sterry
2aafa5b4e7
ignore hashtag suggestions if they vary only in case (#16460)
* ignore hashtag suggestions if they vary only in case

* remove console.logs and unused args

* consistently add space when dismissing suggestions

* linting
2021-12-15 23:47:19 +01:00
Takeshi Umeda
bda8e4f815
Fix follow recommendation biased towards older accounts (#17126) 2021-12-13 23:21:14 +01:00
Eugen Rochko
fe45184b36
Change trending hashtags threshold back from 15 to 5 (#17122) 2021-12-13 05:32:29 +01:00
heguro
41503507ec
Fix redirection when succeeded WebAuthn (#17098) 2021-12-05 21:50:12 +01:00
Rens Groothuijsen
66baa629ea
Show correct error message if chosen password is too long (#17082)
* Add correct error message for exceeding max length on password confirmation field

* Code style fixes
2021-12-05 21:49:50 +01:00
Eugen Rochko
0fb9536d38
Add batch suspend for accounts in admin UI (#17009) 2021-12-05 21:48:39 +01:00
Eugen Rochko
a458b74c7e
Fix error on trending mailer due to missing constant (#17072) 2021-11-29 17:39:40 +01:00
Jeong Arm
4a109ec1ba
Fix server graph on admin/tags/:id (#17066) 2021-11-28 23:13:07 +01:00
Jeong Arm
1c826471e7
Fix admin statuses order(#16937) (#16969)
* Fix #16937

* Add test for statuses order
2021-11-26 22:12:27 +01:00
Claire
3f382e337d
Fix searching for additional hashtags in hashtag column (#17054) 2021-11-26 22:11:09 +01:00
Claire
1630807ee2
Fix color of hashtag column settings inputs (#17058)
Fixes #17057
2021-11-26 22:09:11 +01:00
Claire
ddcb9da74f
Fix opening wrong profile when clicking on username of boosting user in WebUI (#17060)
Fixes #16799
2021-11-26 22:04:09 +01:00
Eugen Rochko
7de0ee7aba
Remove Keybase integration (#17045) 2021-11-26 05:58:18 +01:00
Eugen Rochko
12b3ff6c6d
Fix error on trending hashtags/links pages in admin UI due to missing constant (#17044) 2021-11-26 01:12:39 +01:00
Claire
b1fd6d4490
Fix handling of recursive toots in WebUI (#17041) 2021-11-25 23:46:39 +01:00
Claire
013bee6afb
Fix filtering DMs from non-followed users (#17042) 2021-11-25 23:46:30 +01:00
Eugen Rochko
6e50134a42
Add trending links (#16917)
* Add trending links

* Add overriding specific links trendability

* Add link type to preview cards and only trend articles

Change trends review notifications from being sent every 5 minutes to being sent every 2 hours

Change threshold from 5 unique accounts to 15 unique accounts

* Fix tests
2021-11-25 13:07:38 +01:00
Claire
02a87431cf
Fix error when suspending user with an already-existing canonical email block (#17036)
* Fix error when suspending user with an already-existing canonical email block

Fixes #17033

While attempting to create a `CanonicalEmailBlock` with an existing hash would
raise an `ActiveRecord::RecordNotUnique` error, this being done within a
transaction would cancel the whole transaction. For this reason, checking for
uniqueness in Rails would query the database within the transaction and avoid
invalidating the whole transaction for this reason.

A race condition is still possible, where multiple accounts sharing a canonical
email would be blocked in concurrent transactions, in which only one would
succeed, but that is way less likely to happen that the current issue, and can
always be retried after the first failure, unlike the current situation.

* Add tests
2021-11-24 17:41:03 +01:00
Claire
db32835338
Fix overflow of long profile fields in admin view (#17010) 2021-11-19 18:22:49 +01:00
Claire
6159020617
Fix background-color of emoji-mart selector (#17011)
Reverts part of #16907 to fix hardcoded color
2021-11-19 18:21:37 +01:00
Takeshi Umeda
3419d3ec84
Bump chewy from 5.2.0 to 7.2.3 (supports Elasticsearch 7.x) (#16915)
* Bump chewy from 5.2.0 to 7.2.2

* fix style (codeclimate)

* fix style

* fix style

* Bump chewy from 7.2.2 to 7.2.3
2021-11-18 22:02:08 +01:00
Mashiro
2b6a25c609
Add lazy load to emoji-mart (#16907)
* perf: lazyload emoji-mart!

* Bump lazyload
2021-11-18 22:01:31 +01:00
Claire
3517867b76
Fix confusing error when webfinger request returns empty document (#16986)
For some reason, some misconfigured servers return an empty document when
queried over webfinger. Since an empty document does not lead to a parse
error, the error is not caught properly and triggers uncaught exceptions
later on.

This PR fixes that by immediately erroring out with `Webfinger::Error` on
getting an empty response.
2021-11-14 21:55:40 +01:00
Eugen Rochko
5d7c852283
Fix no link previews being generated for pages with invalid structured data (#16979)
Fix #16955
2021-11-13 23:07:13 +01:00
Claire
ef8deb0878
Fix OpenGraph/LinkedData embeds having incorrectly-generated iframes (#16978) 2021-11-13 03:30:27 +01:00
Claire
6da135a493
Fix reviving revoked sessions and invalidating login (#16943)
Up until now, we have used Devise's Rememberable mechanism to re-log users
after the end of their browser sessions. This mechanism relies on a signed
cookie containing a token. That token was stored on the user's record,
meaning it was shared across all logged in browsers, meaning truly revoking
a browser's ability to auto-log-in involves revoking the token itself, and
revoking access from *all* logged-in browsers.

We had a session mechanism that dynamically checks whether a user's session
has been disabled, and would log out the user if so. However, this would only
clear a session being actively used, and a new one could be respawned with
the `remember_user_token` cookie.

In practice, this caused two issues:
- sessions could be revived after being closed from /auth/edit (security issue)
- auto-log-in would be disabled for *all* browsers after logging out from one
  of them

This PR removes the `remember_token` mechanism and treats the `_session_id`
cookie/token as a browser-specific `remember_token`, fixing both issues.
2021-11-06 00:13:58 +01:00
Claire
87085a5152
Fix AccountNote not having a maximum length (#16942) 2021-11-06 00:12:25 +01:00
Eugen Rochko
39cdf61ab7
Add support for structured data and more OpenGraph tags to link cards (#16938)
Save preview cards under their canonical URL

Increase max redirects to follow from 2 to 3
2021-11-05 23:23:05 +01:00
Claire
989c67d29d
Fix handling announcements with links (#16941)
Broken since #15827
2021-11-05 21:14:35 +01:00
Jeong Arm
458830ee7c
Fix statuses order in account's statuses admin page (#16937) 2021-11-04 15:49:35 +01:00
mayaeh
7ccbfb55dd
ran yarn manage:translations en (#16912) 2021-10-28 05:29:49 +02:00
Sasha Sorokin
11d4f9eefc
Split context for filter bar and unread markers (#16865)
On notifications page, in settings, "Show" for quick filter bar and
unread notifications markers use the same string, while being placed in
the separate contexts - under different settings categories.

This commit splits the contexts, creating new strings:

- "Show filter bar" in place of "Show" for filter bar;

- "Highlight unread notifications" in place of "Show" for unread
  notification markers, which are now simply called "Highlighting";

- There's also "Unread notifications" in place of "Unread notification
  markers" string to accompany the changes to "Show" string under that
  category.

All new strings have new IDs, which will cause previous strings to
invalidate on the next translation update and new strings to be created.
This will help Mastodon translators to know that there are changes and
improve translation in accordance to the source string update.
2021-10-25 16:32:28 +02:00
Claire
ec059317fa
Fix some link previews being incorrectly generated from other prior links (#16885)
* Add tests

* Fix some link previews being incorrectly generated from different prior links

PR #12403 added a cache to avoid redundant queries when the OEmbed endpoint can
be guessed from the URL. This caching mechanism is not perfectly correct as
there is no guarantee that all pages from a given domain share the same
OEmbed provider endpoint.

This PR prevents the FetchOEmbedService from caching OEmbed endpoint that
cannot be generalized by replacing a fully-qualified URL from the endpoint's
parameters, greatly reducing the number of incorrect cached generalizations.
2021-10-21 20:39:35 +02:00