Commit Graph

9784 Commits

Author SHA1 Message Date
Claire
8ffa96b059
Fix web push notifications containing HTML entities (#18071) 2022-04-23 21:47:43 +02:00
Jeong Arm
ea38327816
Let votes statuses are also searchable (#18070) 2022-04-23 21:47:27 +02:00
Eugen Rochko
ea0633e131
New Crowdin updates (#18032)
* New translations en.json (Vietnamese)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Japanese)

* New translations en.yml (French)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Turkish)

* New translations en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.json (Vietnamese)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.yml (Turkish)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations devise.en.yml (Turkish)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.yml (German)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations en.yml (French)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.yml (French)

* New translations en.yml (Catalan)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Catalan)

* New translations en.json (Vietnamese)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

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

* New translations en.yml (Arabic)

* New translations en.yml (Spanish)

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

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

* New translations en.yml (Marathi)

* New translations en.yml (Uyghur)

* New translations en.yml (Esperanto)

* New translations en.yml (Telugu)

* New translations en.yml (Welsh)

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

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

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

* New translations en.yml (Malayalam)

* New translations en.yml (Tatar)

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

* New translations en.yml (Standard Moroccan Tamazight)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-22 03:21:08 +09:00
Claire
bb12af7250 Swap position of media attachments and polls 2022-04-20 22:07:13 +02:00
Claire
5c808ee0de Revert support from loading Home timeline from database
Unfortunately, the database query could turn out very inefficient and I did not
manage to find a way to improve that. Furthermore, there were still behavior
inconsistencies between fetching the timeline from Redis and fetching it from
Postgres.
2022-04-19 15:06:38 +02:00
Claire
ec4a8d81b1 Revert DM support in HomeFeed#from_database
Fixes #1746

Queries could get prohibitively expensive.
2022-04-16 21:28:46 +02:00
Claire
5db3a14388
Fix loading Home TL from database not respecting min_id and not including DMs (#1744)
* Rework tests

* Add tests

* Fix HomeFeed#get with min_id fetching from database

* Minor code cleanup and optimizations

* Add tests

* Take DMs into account when fetching home TL from database

* Fix not listing own DMs in Home timeline

* Add tests

* Please CodeClimate
2022-04-14 17:44:21 +02:00
Claire
e06b0234df Merge branch 'main' into glitch-soc/merge-upstream 2022-04-14 14:21:14 +02:00
Eugen Rochko
07994cf4f6
New Crowdin updates (#17995)
* New translations en.json (Catalan)

* New translations en.yml (Persian)

* New translations en.yml (Romanian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Sanskrit)

* New translations en.yml (Asturian)

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

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Kabyle)

* New translations en.yml (Cornish)

* New translations en.yml (Ido)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Czech)

* New translations en.json (Hungarian)

* New translations en.yml (Kannada)

* New translations en.yml (Sinhala)

* New translations en.yml (Bengali)

* New translations en.yml (Hindi)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Malay)

* New translations en.yml (Breton)

* New translations en.yml (Telugu)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

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

* New translations en.yml (Tatar)

* New translations en.yml (Malayalam)

* New translations en.json (Icelandic)

* New translations en.json (Vietnamese)

* New translations en.yml (Korean)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Icelandic)

* New translations en.json (Korean)

* New translations en.json (Polish)

* New translations en.yml (Albanian)

* New translations en.json (Albanian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations en.json (Latvian)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Danish)

* New translations en.yml (Latvian)

* New translations en.yml (Spanish)

* New translations en.json (Spanish)

* New translations simple_form.en.yml (Catalan)

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

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Albanian)

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

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Icelandic)

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

* New translations simple_form.en.yml (Indonesian)

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

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Danish)

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

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Croatian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Corsican)

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

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

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

* New translations simple_form.en.yml (Occitan)

* New translations simple_form.en.yml (Asturian)

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

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

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Breton)

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Tatar)

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

* New translations simple_form.en.yml (Esperanto)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Kazakh)

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

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Russian)

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

* New translations simple_form.en.yml (Polish)

* New translations en.json (Swedish)

* New translations en.yml (Italian)

* New translations en.json (Italian)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Portuguese)

* New translations en.json (Portuguese)

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

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Russian)

* New translations en.json (French)

* New translations simple_form.en.yml (French)

* New translations en.json (Polish)

* New translations en.json (Polish)

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

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

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations simple_form.en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

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

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Turkish)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Czech)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Greek)

* New translations en.json (Greek)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Czech)

* New translations en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations simple_form.en.yml (Danish)

* New translations en.yml (Galician)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (French)

* New translations en.yml (Indonesian)

* New translations en.json (Indonesian)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Armenian)

* New translations en.json (Armenian)

* New translations en.yml (Italian)

* New translations en.json (Italian)

* New translations en.yml (Catalan)

* New translations en.json (Catalan)

* New translations en.yml (Spanish, Argentina)

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

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Chinese Simplified)

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

* New translations en.json (Chinese Simplified)

* 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 en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

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

* New translations en.yml (Chinese Simplified)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations doorkeeper.en.yml (Polish)

* New translations doorkeeper.en.yml (Polish)

* New translations en.yml (Polish)

* New translations en.yml (Polish)

* New translations en.yml (Polish)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Polish)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Catalan)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-04-14 02:52:53 +09:00
Jeong Arm
1de748bf5e
Fix FetchFeaturedCollectionService (#18030) 2022-04-13 13:25:42 +02:00
Jeong Arm
d353bb5ee3
Implement infinity home timeline (#1610)
* Implement infinity home timeline

* Fix test for infinite home timeline

* Fix infinity home timeline with min_id

* Fix infinite home timeline duplicated statuses

* Codeclimate for infinite home timeline

* Refactor code as reviewed

* Fix redis sufficient check

* Fix typo on variable name
2022-04-12 17:52:14 +02:00
dogelover911
4c9949560d
FeedManager: skip account when target_account's last status is too old (#18009)
Co-authored-by: dogelover911 <dogelover911@localhost>
2022-04-11 21:17:03 +02:00
Claire
f9fbff8539 Merge branch 'main' into glitch-soc/merge-upstream 2022-04-11 16:16:33 +02:00
Claire
dc50347247
Fix crash in alias settings page (#18004) 2022-04-09 20:11:06 +02:00
Claire
eff62528de Merge branch 'main' into glitch-soc/merge-upstream 2022-04-08 23:00:03 +02:00
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
Claire
a8d89aabb2 [Glitch] Auto-fill timeline gaps when getting re-connecting to Websocket/EventSource stream
Port a39bf04fe6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-08 20:05:33 +02:00
Claire
43aff90d0e [Glitch] Fix potentially missing statuses when reconnecting to websocket
Port ebe01ea194 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-08 20:02:49 +02:00
Claire
ff73d43b35 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `Gemfile.lock`:
  Not a real conflict, just an upstream dependency udpated
  textually too close to a glitch-soc-only dependency.
  Updated dependencies like upstream.
- `app/controllers/settings/preferences_controller.rb`:
  Upstream added settings where we had extra glitch-soc-specific settings.
  Added upstream's new settings.
- `app/models/user.rb`:
  Upstream added settings where we had extra glitch-soc-specific settings.
  Added upstream's new settings.
- `config/i18n-tasks.yml`:
  Not a real conflict, just a new upstream line too textually close to
  a glitch-soc-only line.
  Ported upstream's change.
2022-04-08 19:53:32 +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
ed8a0bfbb8 [Glitch] Fix older items possibly disappearing on timeline updates
Port 1b91359a45 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-07 15:05:06 +02:00
Claire
489f250877 Merge branch 'main' into glitch-soc/merge-upstream 2022-04-07 15:03:54 +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
e2f4bafc13 [Glitch] Fix possible duplicate statuses in timelines in some edge cases
Port dd4c156f33 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-06 21:16:07 +02:00
Claire
b368c75029 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/concerns/sign_in_token_authentication_concern.rb`:
  Upstream removed this file, while glitch-soc had changes to deal with
  its theming system.
  Removed the file like upstream did.
2022-04-06 21:10:23 +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
CommanderRoot
9b95077885 [Glitch] Replace deprecated String.prototype.substr()
Port 0ec695e036 to glitch-soc

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-06 16:08:33 +02:00
Claire
c02644ef10 Merge branch 'main' into glitch-soc/merge-upstream 2022-04-06 16:06:15 +02:00
rinsuki
275dad9702
fix: returns nil instead of empty URL on status.application.website (#17962) 2022-04-05 12:00:31 +02:00
quinn
a73806ea32
Update composer.scss 2022-04-05 17:35:50 +10:00
quinn
1f0ff1ea98
Update status.scss 2022-04-05 17:17:00 +10:00
quinn
e989147a91
Update composer.scss 2022-04-05 17:16:21 +10: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
d01c5b0b8c Merge branch 'main' into glitch-soc/merge-upstream 2022-04-04 17:25:57 +02: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
6bdec0aec9 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-31 10:36:23 +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
Claire
fc5dd0c538 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-30 15:02:56 +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
51a297e128 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-30 13:40:10 +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
8d6f3f8a37 Fix code blocks processing 2022-03-28 23:40:45 +02:00
Claire
61cefbebf7 Add advanced text formatting back into glitch-soc 2022-03-28 22:21:37 +02:00
Claire
f313bf3e97 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-28 16:22:28 +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
mayaeh
a4e1830b5f [Glitch] Add a hashtag public link to the trending hashtag page
Port 52813830be to glitch-soc

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>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-26 19:28:48 +01:00
Claire
aaa9ec340b Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/lib/formatter.rb`:
  Upstream completely refactored the formatting code and removed that file,
  while glitch-soc had code for Markdown and HTML toots.
  Took upstream code, glitch-soc changes will be re-implemented on top of the
  refactored classes in a later commit.
- `app/models/status.rb`:
  Upstream refactored status edit handling and moved code to
  `app/models/concerns/status_snapshot_concern.rb`.
  Applied glitch-soc's changes to that file.
- `app/serializers/activitypub/note_serializer.rb`:
  Not really a conflict, just a line added too close to one modified by
  glitch-soc.
  Applied upstream changes while keeping the glitch-soc-modified one.
- `app/services/update_status_service.rb`:
  Not really a conflict, upstream modified a line adjacent to one added by
  glitch-soc.
  Applied upstream changes while keeping the glitch-soc line.
- `app/views/statuses/_simple_status.html.haml`:
  Upstream refactored formatting, glitch-soc changed the markup slightly.
  Applied upstream changes.
- `spec/lib/formatter_spec.rb`:
  Upstream completely refactored the formatting code and removed that file,
  while glitch-soc had code for Markdown and HTML toots.
  Took upstream code, glitch-soc changes will be re-implemented on top of the
  refactored classes in a later commit.
2022-03-26 19:18:55 +01: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
2287eebae0 Fix description of “Allow posts with Content Warnings to trend” setting 2022-03-24 09:49:15 +01:00
Eugen Rochko
6391a869ae [Glitch] Fix color of show more link in report dialog in web UI
Port 69f9dc4f4e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-23 09:32:59 +01:00
Claire
276b26b614 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-23 08:52:41 +01: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
33e7ef4d3d [Glitch] Fix wrong position of fade-out element in account card in web UI
Port d5df9d4797

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-22 18:00:38 +01:00
Eugen Rochko
91e6df7026 [Glitch] Add hint about missing media attachment description in web UI
Port 4e9855e09a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-22 17:55:17 +01:00
Claire
59864ff495 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  Upstream modified it, but we deleted it in glitch-soc.
  Keep it deleted.
2022-03-22 17:00:38 +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
a22043ebff Add missing locales to glitch-soc 2022-03-18 16:41:51 +01:00
Claire
4e3c68e025 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/helpers/accounts_helper.rb`:
  Upstream fixed an issue that glitch-soc did not have, in a place with
  glitch-soc changes to hide the number of followers.
  Kept glitch-soc's code.
2022-03-17 19:23:39 +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
c79a03b319 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream changed their README, we have a completely different one.
  Kept our README.
2022-03-15 20:45:27 +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
Claire
80c4db160e
Fix blank screen when trying to copy emoji with a too large file size (#1718)
Fixes #1714
2022-03-14 17:34:53 +01:00
Claire
a945182b56 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-14 16:44:35 +01: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
8d4b5ee3ef Merge branch 'main' into glitch-soc/merge-upstream 2022-03-12 20:20:58 +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
8eb3146487 [Glitch] Fix edit history dropdown and modal in light theme
Port 64d2988d18 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-12 12:03:57 +01:00
Claire
bb9a6fb5c2 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-12 11:51:25 +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
Claire
43bce02a7a [Glitch] Fix report dialog being illegible using mastodon-light theme
Port 29ee3c61a3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-10 11:42:54 +01:00
Claire
f5ddfe93b3 Adapt view for glitch-soc's theming system 2022-03-10 11:30:48 +01:00
Eugen Rochko
2c5faa5594 [Glitch] Add polls and media attachments to edit comparison modal in web UI
Port 9f2791eb64 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-10 11:30:48 +01:00
Claire
8b69634ab8 Move report modal styles to flavours/glitch/styles/components/modal.scss 2022-03-10 11:16:13 +01:00
Eugen Rochko
60021f7edb [Glitch] Fix being able to add more than 4 hashtags to hashtag column in web UI
Port e54fd73df2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-10 10:15:36 +01:00
Eugen Rochko
887d56aa8a [Glitch] Change design of federation pages in admin UI
Port front-end changes from 29ee3c61a3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-10 10:14:33 +01:00
Claire
24e83246f9 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/models/status.rb`:
  Upstream updated media and edit-related code textually close to glitch-soc
  additions (local-only and content-type).
  Ported upstream changes.
- `app/models/status_edit.rb`:
  Upstream changes textually close to glitch-soc additions (content-type).
  Ported upstream changes.
- `app/serializers/activitypub/note_serializer.rb`:
  Upstream changed how media attachments are handled. Not really a conflict,
  but textually close to glitch-soc additions (directMessage attribute).
  Ported upstream changes.
- `app/services/remove_status_service.rb`:
  Upstream changed how media attachments are handled. Not really a conflict,
  but textually close to glitch-soc additions (DM timeline).
  Ported upstream changes.
- `app/services/update_status_service.rb`:
  Upstream fixed an issue with language selection. Not really a conflict,
  but textually close to glitch-soc additions (content-type).
  Ported upstream changes.
- `db/schema.rb`:
  Upstream added columns to the `status_edits` table, the conflict is because
  of an additional column (`content-type`) in glitch-soc.
  Ported upstream changes.
- `package.json`:
  Upstream dependency (express) textually adjacent to a glitch-soc-specific one
  (favico.js) got updated.
  Updated it as well.
2022-03-10 09:52:45 +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
481f7c8c38 [Glitch] Change appearance of account cards in web UI
Port dba4be1038 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-08 20:52:49 +01:00
Josh Soref
69a4f17988 [Glitch] Spelling
Port front-end changes from b5329e0035 to glitch-soc

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-08 20:36:31 +01:00
Claire
1fbd1fa5c4 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/settings/preferences_controller.rb`:
  Conflicts due to us having more user settings and upstream dropping
  `hide_network` (to replace it with an account attribute, properly migrated).
  Dropped `hide_network` like upstream.
- `app/lib/user_settings_decorator.rb`:
  Conflicts due to us having more user settings and upstream dropping
  `hide_network` (to replace it with an account attribute, properly migrated).
  Dropped `hide_network` like upstream.
- `app/models/status.rb`:
  Conflict because of slight change in how glitch-soc handles the scope to
  filter out local-only posts for anonymous viewers.
  Took upstream's changes and re-applied glitch-soc's change.
- `app/models/user.rb`:
  Conflicts due to us having more user settings and upstream dropping
  `hide_network` (to replace it with an account attribute, properly migrated).
  Dropped `hide_network` like upstream.
- `app/views/directories/index.html.haml`:
  Conflict because upstream redesigned that page while glitch-soc had a minor
  change to support hiding the number of followers.
  Ported glitch-soc's change on top of upstream's redesign.

Additional changes:
- `app/models/account_statuses_filter.rb`:
  See change to `app/models/status.rb`.
2022-03-08 20:22:54 +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
Claire
d9c3109bb6 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-04 01:07:49 +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
c69d94ef7e [Glitch] Change visual separation of applications in authorized apps list
Port SCSS changes from c0c4b5718d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-02 20:52:44 +01:00
Claire
8743b1ea40 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/views/admin/trends/links/index.html.haml`:
  Not really a conflict, upstream change textually too close to a glitch-soc
  change (removed `javascript_pack_tag` to accomodate for glitch-soc's theming
  system).
  Ported upstream changes.
- `app/views/admin/trends/links/preview_card_providers/index.html.haml`:
  Not really a conflict, upstream change textually too close to a glitch-soc
  change (removed `javascript_pack_tag` to accomodate for glitch-soc's theming
  system).
  Ported upstream changes.
- `app/views/admin/trends/statuses/index.html.haml`:
  Not really a conflict, upstream change textually too close to a glitch-soc
  change (removed `javascript_pack_tag` to accomodate for glitch-soc's theming
  system).
  Ported upstream changes.
- `app/views/admin/trends/tags/index.html.haml`:
  Not really a conflict, upstream change textually too close to a glitch-soc
  change (removed `javascript_pack_tag` to accomodate for glitch-soc's theming
  system).
  Ported upstream changes.
2022-03-02 20:48:27 +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
78781793d5 [Glitch] Add ability to mark statuses as sensitive from reports in admin UI
Port SCSS changes from 25d3dc4373 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-02 18:08:56 +01:00
Eugen Rochko
7f998ba94d [Glitch] Change authorized applications page
Port SCSS changes from 50ea54b3ed to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-02 18:07:57 +01:00
Claire
425a6c90c4 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-02 18:02:48 +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
c0a8fb2b59 [Glitch] Fix report submit button not being disabled during submission in web UI
Port 0883f05753 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-03-01 10:01:06 +01:00
Claire
c5925756f1 Merge branch 'main' into glitch-soc/merge-upstream 2022-03-01 09:59:18 +01: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
0a5a703a56 [Glitch] Fix remote reports with comments revealing remote reporter
Port SCSS changes from 57814a98a9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-26 21:17:22 +01:00
Claire
8158b04d18 Merge branch 'main' into glitch-soc/merge-upstream 2022-02-26 21:15:37 +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
67c6f37e26 Merge branch 'main' into glitch-soc/merge-upstream 2022-02-26 17:27:17 +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
Claire
756f1b6615 Add option (on by default) to allow toots with content warnings to trend 2022-02-26 10:46:26 +01:00
Claire
c6df6686af Disable notifications for trending links and trending statuses by default 2022-02-26 10:46:26 +01:00
Claire
4eed5019a2 [Glitch] Fix media modal footer's “external link” not being a link
Port 255748dff4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-26 10:29:53 +01:00
Claire
8e04ba87b7 [Glitch] Fix reply button on media modal not giving focus to compose form
Port 2cd31b3177 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-26 09:54:48 +01:00
Eugen Rochko
2e2b8a9a40 [Glitch] Add trending statuses
Port SCSS changes from 27965ce5ed

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-26 09:50:23 +01:00
Claire
59824aadcd Adapt view for glitch-soc's theming system 2022-02-26 09:46:13 +01:00
Claire
be493b6c0d Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/models/account.rb`:
  Not a real conflict, just upstream getting rid of unused constants too close
  to glitch-soc-specific contents.
  Removed unused constants like upstream did.
- `app/models/trends.rb`:
  Conflict because glitch-soc disabled email notifications for trending links.
  Upstream has refactored this quite a bit and added trending posts.
  Took upstream code, but disabling the extra trending stuff will come in
  another commit.
- `app/views/admin/trends/links/index.html.haml`:
  Conflict due to glitch-soc's theming system.
  Ported upstream changes accordingly.
2022-02-26 09:29:23 +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
41ef41b900 Fix publish buttons styling 2022-02-23 22:04:12 +01:00
Claire
ae3cd3b84c [Glitch] Fix reporting from profile
Port b7cf11d5a9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-23 21:46:46 +01:00
Claire
fc2c65d79f Merge branch 'main' into glitch-soc/merge-upstream 2022-02-23 21:44:09 +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
Claire
aafe91259a Fetch relationships when opening report modal
Relationship with the reported account affect which actions are proposed in
the “thanks” part. Upstream fetches relationships when opening dropdown menus,
but we don't.
2022-02-23 21:12:03 +01:00
Eugen Rochko
470c0a8002 [Glitch] Change report modal to include category selection in web UI
Port a9a43de6d1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-23 20:25:55 +01:00
Claire
9dd62c95c5 Merge branch 'main' into glitch-soc/merge-upstream 2022-02-23 20:05:04 +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
55692978ec Merge branch 'main' into glitch-soc/merge-upstream 2022-02-23 19:43:34 +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
Eugen Rochko
f99943cd74 [Glitch] Add notifications for new sign-ups
Port 7b816eb5ae to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-23 19:04:09 +01:00
Claire
3d25fe0426 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.github/workflows/build-image.yml`:
  Upstream changed the workflow a bit.
  Conflict comes from us pushing to ghcr while upstream pushes to dockerhub.
  Ported the upstream changes while still pushing to ghcr.
2022-02-23 18:13:12 +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
Eugen Rochko
5169a9f9d9 [Glitch] Fix link colors in report and strike details
Port SCSS changes from 51e67f3243 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-22 18:10:08 +01:00
Eugen Rochko
e07f2efc9f [Glitch] Fix wrong styles on strike page
Port SCSS changes from 8338826963

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-22 18:09:39 +01:00
Claire
954e052b07 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/models/media_attachment.rb`:
  Upstream moved hardcoded values around, while in glitch-soc they are
  configurable.
  Moved them like upstream, but keeping glitch-soc's ability to configure
  them through env vars.
2022-02-22 18:06:29 +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
Claire
dc121b609f Merge branch 'main' into glitch-soc/merge-upstream 2022-02-19 11:33:18 +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
41a8606627 [Glitch] Fix opening the emoji picker scrolling the single-column view to the top
Port aa86cf9557 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-17 11:05:47 +01:00
Claire
d70e4e3da0 [Glitch] Fix edge case where settings/admin page sidebar would be incorrectly hidden
Port 00b45b967e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-17 11:04:13 +01:00
Claire
41d52ee4b5 Fix issue with glitch-soc's theming system 2022-02-17 10:59:01 +01:00
Eugen Rochko
5ed35a0df4 [Glitch] Add appeals
Port SCSS changes from 564efd0651 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-17 10:58:57 +01:00
Eugen Rochko
3a0eba4918 [Glitch] Fix privacy policy link not being visible on small screens
Port bbd3474416 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-17 10:58:53 +01:00
Claire
f224237862 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `db/schema.rb`:
  Conflict due to glitch-soc adding the `content_type` column on status edits
  and thus having a different schema version number.
  Solved by taking upstream's schema version number, as it is higher than
  glitch-soc's.
2022-02-17 10:58:44 +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
ec4f906618 Fix toggling sidebar on mobile in admin pages 2022-02-16 16:33:23 +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
f3429d7354 [Glitch] Fix controls for unchangeable properties on status edit not being disabled
Port 38845592c4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-12 22:36:39 +01:00
Claire
c9669ee167 Merge branch 'main' into glitch-soc/merge-upstream 2022-02-12 21:36:33 +01:00
Holly
27803cd2b7 Make the settings button go to settings when opened in a new tab 2022-02-12 20:12:29 +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
Claire
2d3f8055ed Fix attempts at distributing Update activities for local-only posts 2022-02-12 15:41:18 +01:00
Eugen Rochko
f4db2e1832 [Glitch] Fix layout of the report page on smaller screens in admin UI
Port e848d281d5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-12 13:15:07 +01:00
Eugen Rochko
958089fb21 [Glitch] Add notifications when a reblogged status has been updated
Port front-end changes from 8f03b7a2fb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-12 13:15:07 +01:00
Claire
d9379f5331 Merge branch 'main' into glitch-soc/merge-upstream 2022-02-12 11:12:41 +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
Claire
28ec7def58 Fix missing javascript in some admin pages 2022-02-12 00:10:28 +01:00
Claire
f3b9a2b590 Add support for multiple source files per pack 2022-02-12 00:10:28 +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
a34e4f7e27 [Glitch] Change actions in reports to require only one click
Port SCSS changes from d0fcf07436

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-11 21:56:27 +01:00
Claire
51cad4f7fb Merge branch 'main' into glitch-soc/merge-upstream 2022-02-11 21:53:20 +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
642b5a621a [Glitch] Chore: Disable menu items for editing statuses in web UI (#17497)
Port 3dc1e3cfc3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-10 19:10:59 +01:00
Eugen Rochko
5e67858fbc [Glitch] Add editing for published statuses
Port 63002cde03 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-10 19:10:20 +01:00
Claire
abd113167b Add ability to change content-type when editing a toot
Content-type defaults to edited toot's content-type to avoid surprising
behaviors when using clients that do not support this feature.
2022-02-10 19:10:14 +01:00
Claire
f1a6f9062e Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/api/v1/statuses_controller.rb`:
  Upstream moved things around in a place where glitch-soc had support for
  an extra parameter (`content_type`).
  Follow upstream but reintroduce `content_type`.
2022-02-10 19:09: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
Claire
d90da7d080 Add content_type to status_edits 2022-02-09 18:02:31 +01:00
Eugen Rochko
44b06c4d96 [Glitch] Add edit history to web UI
Port fd3a45e348 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-09 17:51:35 +01:00
Claire
322e907e04 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream renamed some helper functions that were used in a part of the
  settings page which glitch-soc slightly changed the layout of.
  Ported the change.
2022-02-09 17:28:33 +01:00
Claire
0bb3d445ab Please Codeclimate 2022-02-09 17:15:36 +01:00
Claire
e1a4590bca Rework actions modal to bring it closer to upstream and fix modal stacking issue 2022-02-09 16:40:23 +01:00
Claire
bc2eaf3581 Remove unused noModal prop 2022-02-09 16:40:23 +01:00
Claire
f03dc97070 Some more refactoring 2022-02-09 16:40:23 +01:00
Claire
f87ce13afc Refactor dropdown and action modal code slightly
Simplify it a bit and make it closer to upstream
2022-02-09 13:23:12 +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
Claire
692963d43b Merge branch 'main' into glitch-soc/merge-upstream 2022-02-08 18:23:53 +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
aa832d623a Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `CHANGELOG.md`:
  Upstream added newlines.
  Conflicts are because the CHANGELOG was independently merged from 3.4.6 on
  last security update.
  Took upstream's version.
- `app/helpers/context_helper.rb`:
  Conflicts because of extra vocabulary in glitch-soc. The conflicts were
  actually handled in last security merge.
  Kept our version.
2022-02-06 15:34:42 +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
Claire
08f44d1953 Move glitch-soc-specific theming methods to ThemingConcern 2022-02-05 10:58:51 +01:00
Claire
5f48ec9e42 Make theme-selection fall back to default ones if configured is not found 2022-02-05 10:29:27 +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
a3e0dacf5c Fix response_to_recipient? CTE 2022-02-02 19:55:57 +01:00
Claire
7b969436a0 Fix compacted JSON-LD possibly causing compatibility issues on forwarding 2022-02-02 19:55:57 +01:00
Puck Meerburg
63da32468c Compact JSON-LD signed incoming activities 2022-02-02 16:13:11 +01:00
Claire
098f2bc1e1 Merge branch 'main' into glitch-soc/merge-upstream 2022-02-01 20:59:28 +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
7679ddcd5e Merge branch 'main' into glitch-soc/merge-upstream 2022-01-30 22:33:30 +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
94a39f6b68 Fix Sidekiq warning when pushing DMs to direct timeline 2022-01-28 09:07:56 +01:00
Claire
b2915613fb Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `Gemfile.lock`:
  Upstream-updated lib textually too close to glitch-soc-only dep.
  Updated like upstream.
2022-01-28 08:58:32 +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
ad6ddb9bdd Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `config/environments/production.rb`:
  Upstream changed a header but we had different default headers.
  Applied the same change, and also dropped HSTS headers redundant with
  Rails'.
2022-01-26 22:32:21 +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
7c2204314a Add some explanation text on the CAPTCHA confirmation page 2022-01-26 13:24:51 +01:00
Claire
b7cf3941b3 Change CAPTCHA handling to be only on email verification
This simplifies the implementation considerably, and while not providing
ideal UX, it's the most flexible approach.
2022-01-25 23:56:57 +01:00
Claire
0fb907441c Add ability to set hCaptcha either on registration form or on e-mail validation
Upshot of CAPTCHA on e-mail validation is it does not need to break the in-band
registration API.
2022-01-25 23:09:48 +01:00
Claire
a9269f8786 Disable registrations flag in /api/v1/instance when CAPTCHA is enabled
This is to avoid apps trying and failing at using the registrations API,
which does not let us require a CAPTCHA and cannot be clearly signaled as
unavailable.
2022-01-25 13:58:24 +01:00
Claire
bf351d72af Disable captcha if registrations are disabled for various reasons 2022-01-24 22:12:57 +01:00
Claire
6a2f248fe4 Renew Rails session ID on successful registration 2022-01-24 22:01:05 +01:00
Claire
04050fbd46 Please CodeClimate 2022-01-24 21:29:50 +01:00
Claire
1b493c9fee Add optional hCaptcha support
Fixes #1649

This requires setting `HCAPTCHA_SECRET_KEY` and `HCAPTCHA_SITE_KEY`, then
enabling the admin setting at
`/admin/settings/edit#form_admin_settings_captcha_enabled`

Subsequently, a hCaptcha widget will be displayed on `/about` and
`/auth/sign_up` unless:
- the user is already signed-up already
- the user has used an invite link
- the user has already solved the captcha (and registration failed for another
  reason)

The Content-Security-Policy headers are altered automatically to allow the
third-party hCaptcha scripts on `/about` and `/auth/sign_up` following the same
rules as above.
2022-01-24 21:22:13 +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
9483d0c6b2 [Glitch] Change percent to rate in retention metrics API
Port a63495230a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-23 18:24:40 +01:00
Claire
4dd4fc2e5e [Glitch] Fix text being incorrectly pre-selected in composer textarea on /share
Port 3a103cd317 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-23 18:24:34 +01:00
Claire
61ef81c548 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `spec/models/status_spec.rb`:
  Upstream added tests too close to glitch-soc-specific tests.
  Kept both tests.
2022-01-23 18:24:01 +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
Claire
4d0383d75a Add content-type to status source in glitch-soc 2022-01-20 00:03:44 +01:00
Eugen Rochko
d4654dc892 [Glitch] Add support for editing for published statuses
Port front-end changes from 1060666c58 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-20 00:03:41 +01:00
Claire
1af4618a06 Merge branch 'main' into glitch-soc/merge-upstream 2022-01-19 23:52:53 +01:00
Claire
fe89554a54 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/lib/activitypub/activity/create.rb`:
  Upstream refactored how `Create` activities are handled and how values are
  extracted from `Create`d objects. This conflicted with how glitch-soc
  supported the `directMessage` flag to explicitly distinguish between
  limited and direct messages.
  Ported glitch-soc's changes to latest upstream changes.
- `app/services/fan_out_on_write_service.rb`:
  Upstream largely refactored that file and changed some of the logic.
  This conflicted with glitch-soc's handling of the direct timeline and
  the options to allow replies and boosts in public feeds.
  Ported those glitch-soc changes on top of latest upstream changes.
- `app/services/process_mentions_service.rb`:
  Upstream refactored to move mention-related ActivityPub deliveries to
  `ActivityPub::DeliveryWorker`, while glitch-soc contained an extra check
  to not send local-only toots to remote mentioned users.
  Took upstream's version, as the check is not needed anymore, since it is
  performed at the `ActivityPub::DeliveryWorker` call site already.
- `app/workers/feed_insert_worker.rb`:
  Upstream added support for `update` toot events, while glitch-soc had
  support for an extra timeline support, `direct`.
  Ported upstream changes and extended them to the `direct` timeline.

Additional changes:
- `app/lib/activitypub/parser/status_parser.rb`:
  Added code to handle the `directMessage` flag and take it into account
  to compute visibility.
- `app/lib/feed_manager.rb`:
  Extended upstream's support of `update` toot events to glitch-soc's
  `direct` timeline.
2022-01-19 23:52:48 +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
Claire
b209e919bd
Merge pull request #1662 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2022-01-19 14:22:59 +01:00
Claire
c42938aed4 Merge branch 'main' into glitch-soc/merge-upstream 2022-01-19 12:32:44 +01:00
Jeong Arm
2d1f082bb6
Fix NameError on ActivityPub::FetchFeaturedCollectionService (#17326)
Related: #16954
2022-01-19 04:08:46 +01:00
Claire
f6acc039ec
Merge pull request #1660 from ClearlyClaire/glitch-soc/features/themes-multiple-packs
Refactor glitch-soc's theme handling
2022-01-18 00:18:07 +01:00
Claire
b9ed7e0f55 Please CodeClimate 2022-01-17 13:06:06 +01:00
Claire
c7e2b9cf64 Move controller theming code to concern 2022-01-17 12:50:52 +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
69208ef6ff [Glitch] Add notifications for statuses deleted by moderators
Port front-end changes from 14f436c457 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-17 11:19:44 +01:00
Claire
b3bf32a21e Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/views/admin/reports/show.html.haml`:
  Conflicts due to glitch-soc's theming system.
2022-01-17 10:45:25 +01:00
Claire
77dd4ab8f5 Fix pinned attribute not being set for private self-posts 2022-01-17 09:52:19 +01:00
Eugen Rochko
14f436c457
Add notifications for statuses deleted by moderators (#17204) 2022-01-17 09:41:33 +01:00
Claire
5effc0f8fa [Glitch] Add support for private pinned posts
Port JS changes from d5c9feb7b7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-17 08:35:27 +01:00
Claire
2d4b4b0b45 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/accounts_controller.rb`:
  Upstream introduced support for private pinned toots, but glitch-soc's query
  was a bit different as it filtered out local-only toots.
  Used upstream's query, while adding local-only filtering back.
- `app/controllers/activitypub/collections_controller.rb`:
  Same thing with regards to local-only posts.
- `app/validators/status_pin_validator.rb`:
  Not a real conflict, but the line below was different in glitch-soc due to
  the configurable pinned toots limit.
2022-01-17 08:28:52 +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
278bd61d6f Merge branch 'main' into glitch-soc/merge-upstream 2022-01-16 22:29:05 +01:00
Claire
de4c67c5fa Fix missing media: 'all' on default skins 2022-01-16 22:26:18 +01:00
Claire
c789bcc844 Refactor theming HAML template a bit 2022-01-16 22:26:18 +01:00
Claire
1b386c881c Refactor theme config loading 2022-01-16 22:26:18 +01:00
Claire
c61b29ebfd Refactor some more 2022-01-16 22:26:18 +01:00
Claire
30d9abdfc9 Refactor glitch-soc's theme handling 2022-01-16 22:12:11 +01:00
Claire
081e4426f8
Fix admin interface crash when displaying deleted user (#17301) 2022-01-16 20:57:37 +01:00
Jeong Arm
474cd302c9 [Glitch] Gradually increase retry waiting for media processing
Port bc7a8ae6d6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-16 18:14:33 +01:00
Claire
b61c3ddff8 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream added some text, but our README is completely different.
  Kept our README unchanged.
2022-01-16 18:11:20 +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
Claire
af86c7a5de [Glitch] Fix media descriptions not being used for client-side filtering
Port 37e80994f8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-07 19:54:58 +01:00
Claire
fca50e4b50 Merge branch 'main' into glitch-soc/merge-upstream 2022-01-07 19:51:47 +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
Rens Groothuijsen
f011787003 [Glitch] Fix tag rendering error in hashtag column settings
Port e65080181a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-27 15:22:12 +01:00
Claire
09c61e1376 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  We have completely different contents. Kept our version.
- `package.json`:
  Not a real conflict, just an upstream dependency udpated
  textually too close to a glitch-soc-only dependency.
  Updated dependencies like upstream.
- `streaming/index.js`:
  Conflict due to code style changes on parts that were
  modified in glitch-soc to handle local-only toots.
  Changed style according to upstream.
2021-12-27 15:16:18 +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
e061ea5f71 [Glitch] Change title of retention chart
Port 0c17fd9109 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-18 11:47:54 +01:00
Claire
d4f315f304 Merge branch 'main' into glitch-soc/merge-upstream 2021-12-18 11:44:54 +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
50d62fe2e7 [Glitch] ignore hashtag suggestions if they vary only in case
Port 2aafa5b4e7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-16 16:48:42 +01:00
Rens Groothuijsen
59a5193280 [Glitch] Show correct error message if chosen password is too long
Port 66baa629ea to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-16 16:26:04 +01:00
Eugen Rochko
9cecf59300 [Glitch] Add batch suspend for accounts in admin UI
Port SCSS changes from 2aafa5b4e7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-16 16:25:21 +01:00
Claire
b2526316f5 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/views/admin/pending_accounts/index.html.haml`:
  Removed upstream, while it had glitch-soc-specific changes to accomodate
  for glitch-soc's theming system.
  Removed the file.

Additional changes:
- `app/views/admin/accounts/index.html.haml':
  Accomodate for glitch-soc's theming system.
2021-12-16 16:20:44 +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
Claire
d911c17f52 Fix unneeded outline around list name edition input 2021-12-03 21:03:40 +01:00