Commit graph

5964 commits

Author SHA1 Message Date
Claire be3b9f8151
Fix URI of repeat follow requests not being recorded (#15662)
* Fix URI of repeat follow requests not being recorded

In case we receive a “repeat” or “duplicate” follow request, we automatically
fast-forward the accept with the latest received Activity `id`, but we don't
record it.

In general, a “repeat” or “duplicate” follow request may happen if for some
reason (e.g. inconsistent handling of Block or Undo Accept activities, an
instance being brought back up from the dead, etc.) the local instance thought
the remote actor were following them while the remote actor thought otherwise.

In those cases, the remote instance does not know about the older Follow
activity `id`, so keeping that record serves no purpose, but knowing the most
recent one is useful if the remote implementation at some point refers to it
by `id` without inlining it.

* Add tests
2021-02-11 01:53:44 +01:00
Mélanie Chauvel f5fefdc11a
Slightly reorder three dots menu on toots to make it more intuitive (#15647)
* Slightly reorder three dots menu on toots to make it more intuitive

- Make “Pin to profile” always appear at the same place
- Add separator to group “Bookmark” and “Pin to profile”
- Fix separator being the first item in some cases

* Fix missing semicolon and keep status_action_bar.js and action_bar.js in sync
2021-02-11 01:05:04 +01:00
Claire 07b46cb332
Add dropdown for boost privacy in boost confirmation modal (#15704)
* Various dropdown code quality fixes

* Prepare support for privacy selection in boost modal

* Add dropdown for boost privacy in boost confirmation modal
2021-02-11 00:53:12 +01:00
Claire acdeb162b8
Create instance actor if it hasn't been properly seeded (#15693)
An uncommon but somewhat difficult to digagnose issue is dealing with
improperly-seeded databases. In such cases, instance-signed fetches will
fail with a ActiveRecord::RecordNotFound error, usually caught and handled
as generic 404, leading people to think the remote resource itself has not
been found, while it's the local instance actor that does not exist.

This commit changes the code so that failure to find the instance actor
automatically creates a new one, so that improperly-seeded databases do
not cause any issue.
2021-02-09 18:12:54 +01:00
Eugen Rochko acf1842896
Change max. image dimensions to 1920x1080px (1080p) (#15690)
* Change max. image size to 1920x1080px

* Change it in web UI too
2021-02-09 01:21:06 +01:00
ThibG a044ddac5b
Fix race conditions on account migration creation (#15597)
* Atomically check for processing lock in Move handler

* Prevent race condition when creating account migrations

Fixes #15595

* Add tests

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-02-02 14:49:57 +01:00
ThibG 3efa0c54b6
Change custom emoji to be animated when hovering container (#15637)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-31 21:25:31 +01:00
abcang 7ab53f221a
Improved performance of notification preloading (#15640)
* Improved performance of notification preloading

* Remove Cacheable from Notification

* Fix test
2021-01-31 21:24:57 +01:00
abcang c8c764dd8b
Fix N+1 query when rendering with StatusSerializer (#15641) 2021-01-31 21:24:17 +01:00
abcang 2319e85a8a
Fix react/jsx-no-duplicate-props (#15636) 2021-01-28 18:24:22 +01:00
Takeshi Umeda 7f1c56954b
Fix first return value of FetchLinkCardService.html method (#15630) 2021-01-25 09:22:41 +01:00
luigi 7ea9588520
Use Enumerable#filter_map in more places (#15527) 2021-01-22 16:28:15 +01:00
ThibG 5fcac81302
Add “translate” class to other user strings (#15611)
* Add “translate” class to other user strings

Follow-up to #15610.

Allow Google Translate to work on more user content:
- poll options
- reply indicator (contents of the status being replied to)
- directory account cards
- account note in follow requests list

* Fix incorrect styling of account bio

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-22 10:09:23 +01:00
luigi eb51e43fb4
Optimize some regex matching (#15528)
* Use Regex#match?

* Replace =~ too

* Avoid to call match? from Nil

* Keep value of Regexp.last_match
2021-01-22 10:09:08 +01:00
ThibG 7d0031a515
Fix Google Translate breaking web interface (#15610)
- marks the page as a whole as untranslatable
- still marks user text as translatable

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-21 14:29:54 +01:00
ThibG e955ca5463
Fix sign-up restrictions based on IP addresses not being enforced (#15607)
Fixes #15606

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-21 06:18:30 +01:00
ThibG 2ff01f78f7
Fix /activity endpoint not require signature in authorized fetch mode (#15592)
Fixes #15589

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-19 06:47:36 +01:00
ThibG 54d4e5252b
Use Rails' index_by where it makes sense (#15542)
* Use Rails' index_by where it makes sense

* Fix tests

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-12 09:27:38 +01:00
ThibG 7bed25f3ea
Fix processing of incoming Block activities (#15546)
Unlike locally-issued blocks, they weren't clearing follow
relationships in both directions, follow requests or notifications.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-12 09:25:01 +01:00
Levi Bard 11d603101a
Fix muting users with duration via the REST api (#15516) 2021-01-10 12:47:21 +01:00
luigi 087ed84367
Optimize map { ... }.compact calls (#15513)
* Optimize map { ... }.compact

using Enumerable#filter_map, supported since Ruby 2.7

* Add poyfill for Enumerable#filter_map
2021-01-10 00:32:01 +01:00
ThibG 73ddb60c32
Fix OCR lang data failing to load (#15519)
Fixes #15472

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-09 03:48:50 +01:00
ThibG a1a8aa4a08
Skip processing Update activities on unknown accounts (#15514)
This also skips fetching the actor completely.

This will be useful if we end up distributing Update activities linked to
account suspensions more widely (they are currently only delivered to
the suspended account's followers), as currently, instances not knowing
about the suspended account would fetch it to then process the suspension.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-08 12:26:29 +01:00
abcang efffdd3778
Fix rubocop config and warnings (#15503)
* disable NewCops

* update TargetRubyVersion

* Fix Lint/MissingSuper for ActiveModelSerializers::Model

* Fix Lint/MissingSuper for feed

* Fix Lint/FloatComparison

* Do not use instance variables
2021-01-07 09:40:55 +01:00
Takeshi Umeda a50fe47a77
Fix defaultProps of frameRate to string (#15493) 2021-01-05 20:00:42 +01:00
Takeshi Umeda 71f0968887
Fix missing key in list timeline policy (#15494) 2021-01-05 19:57:50 +01:00
Takeshi Umeda e38874dcf7
Fix getting-started footer in single column mode not being clickable in Safari (#15496) 2021-01-05 19:57:32 +01:00
ThibG 4552449c26
Fix profile update not being sent on profile/header picture deletion (#15461)
Fixes #15460

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-30 23:19:18 +01:00
Takeshi Umeda 3f4b0dfd47
Fix logo button style more (#15458) 2020-12-30 23:18:39 +01:00
Takeshi Umeda cb5bb2313b
Fix expand video on public page (#15469) 2020-12-30 23:18:11 +01:00
ThibG f1f96ebf02
Fix being able to import more than allowed number of follows (#15384)
* Fix being able to import more than allowed number of follows

Without this commit, if someone tries importing a second list of accounts to
follow before the first one has been processed, this will queue imports for
the two whole lists, even if they exceed the account's allowed number of
outgoing follows.

This commit changes it so the individual queued imports aren't exempt from
the follow limit check (they remain exempt from the rate-limiting check
though).

* Catch validation errors to not re-queue failed follows

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-26 23:52:46 +01:00
Eugen Rochko 4580129c98
New Crowdin updates (#15413)
* New translations en.json (Vietnamese)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* i18n-tasks normalize

* yarn manage:translations
2020-12-26 23:51:46 +01:00
Takeshi Umeda ba748a83f2
Fix logo button style (#15428)
* Fix bell button rtl style

* Remove size and style props from button component

* Fix logo button style

* Update jest snapshot
2020-12-26 23:50:34 +01:00
Eugen Rochko e89648574f
Fix error when changing ACL on missing objects during suspension (#15420) 2020-12-24 15:53:45 +01:00
Eugen Rochko ba0b79fc5c
Fix undefined method error when batch-removing statuses with ElasticSearch on (#15421) 2020-12-24 15:53:26 +01:00
Takeshi Umeda 7e6d3a7d9a
Fix unfollow action button style (#15418) 2020-12-23 23:47:50 +01:00
ThibG b08d2d4f78
Fix media modal buttons not showing up on mobile (#15417)
Fixes #15374

When the pop-out player was introduced, it had tweaks for the mobile
view, but it's now disabled in mobile mode and the styling was reused
for modals, causing the footer to be hidden on mobile without a good
reason.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-23 19:55:23 +01:00
trwnh 4950e59cdc
Use existing FeaturedTag serializer and delete AccountFeaturedTag serializer (#15415)
* Update featured_tags_controller.rb

* Update featured_tag_serializer.rb

* Update featured_tag_serializer.rb

* Delete account_featured_tag_serializer.rb

* please codeclimate

* please codeclimate
2020-12-23 16:43:38 +01:00
ThibG de57efd055
Fix mentions not being deleted efficiently (#15416)
As a regression from the recent optimizations, mentions were left untouched
until `account.destroy`, which would then delete them individually,
and executing queries to find and delete associated notifications, resulting
in a massive slowdown.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-23 16:43:11 +01:00
Eugen Rochko 473abc35a1
Fix trying to privatize empty media attachments (#15414) 2020-12-23 15:47:03 +09:00
ThibG 814b7775fb
Improve performances of deleting favourites when deleting accounts (#15412)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-23 01:35:02 +01:00
Eugen Rochko 62e42bd15b
New Crowdin updates (#15369)
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]

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

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

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

* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)
[ci skip]

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

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

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

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

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

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

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

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

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

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

* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]

* New translations en.json (Standard Moroccan Tamazight)
[ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* i18n-tasks normalize

* yarn manage:translations
2020-12-23 00:10:58 +01:00
ThibG 2ab3e91eaf
Fix BatchedRemoveStatusService not working without ES in rails console (#15408)
Not a huge deal but may cause surprising failures in custom scripts and
development.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-23 00:04:52 +01:00
ThibG 3249d35bdc
Improve account deletion performances further (#15407)
* Delete status records by batches of 50

* Do not precompute values that are only used once

* Do not generate redis events for removal of public toots older than two weeks

* Filter reported toots a priori for polls and status deletion

* Do not process reblogs when cleaning up public timelines

As in Mastodon proper, reblogs don't appear in public TLs

* Clean the deleted account's own feed in one go

* Refactor Account#clean_feed_manager and List#clean_feed_manager

* Delete instead of destroy a few more associations

* Fix preloading

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-22 23:57:46 +01:00
ThibG f18349640b
Fix batch order warnings in BatchedRemoveStatusService (#15409)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-22 20:24:55 +01:00
ThibG 1cf2c3a810
Fix external user creation failing when invite request text is required (#15405)
* Fix external user creation failing when invite request text is required

Also fixes tootctl-based user creation.

* Add test about invites when invite request text is otherwise required

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-22 17:14:32 +01:00
Eugen Rochko 9915d11c0d
Fix unnecessary queries when batch-removing statuses, 100x faster (#15387) 2020-12-22 17:13:55 +01:00
ThibG 43961035a9
Fix some notifications not being deleted on poll/status deletion (#15402)
* Fix deleting polls not deleting notifications

* Fix fav notification deletion when deleting a toot

* Refactor DeleteAccountService spec

* Add DeleteAccountService tests for other associations and notifications

* Add favourite handling spec in status removal

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-21 18:22:17 +01:00
ThibG 6f51fd7435
Fix invitation links not working when invite request text is required (#15385)
Fixes #15383

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-21 00:47:02 +01:00
ThibG 7bf3c6e57b
Fix AccountDeletionWorker crashing and clogging sidekiq queues (#15380)
* Fix account deletion workers being queued multiple times for a single account

* Fix poll votes being unnecessarily instantiated on poll deletion

* Fix favourites being unnecessarily instantiated on status deletion

* Remove inaccurate comments

* Delete polls instead of destroying them

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-20 18:25:00 +01:00