about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2021-02-11Onion service related changes to HTTPS handling (#15560)Cecylia Bocovich
* Enable secure cookie flag for https only * Disable force_ssl for .onion hosts only Co-authored-by: Aiden McClelland <me@drbonez.dev>
2021-02-11Use custom mascot on static share page (#15687)Jeong Arm
* Use custom mascot on static share page * Use full_asset_url
2021-02-11Fix URI of repeat follow requests not being recorded (#15662)Claire
* 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-11Slightly reorder three dots menu on toots to make it more intuitive (#15647)Mélanie Chauvel
* 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-11Add dropdown for boost privacy in boost confirmation modal (#15704)Claire
* Various dropdown code quality fixes * Prepare support for privacy selection in boost modal * Add dropdown for boost privacy in boost confirmation modal
2021-02-09Create instance actor if it hasn't been properly seeded (#15693)Claire
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-09Change max. image dimensions to 1920x1080px (1080p) (#15690)Eugen Rochko
* Change max. image size to 1920x1080px * Change it in web UI too
2021-02-02Fix race conditions on account migration creation (#15597)ThibG
* 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-01-31Change custom emoji to be animated when hovering container (#15637)ThibG
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-31Improved performance of notification preloading (#15640)abcang
* Improved performance of notification preloading * Remove Cacheable from Notification * Fix test
2021-01-31Fix N+1 query when rendering with StatusSerializer (#15641)abcang
2021-01-28Fix react/jsx-no-duplicate-props (#15636)abcang
2021-01-25Fix first return value of FetchLinkCardService.html method (#15630)Takeshi Umeda
2021-01-22Use Enumerable#filter_map in more places (#15527)luigi
2021-01-22Add “translate” class to other user strings (#15611)ThibG
* 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-22Optimize some regex matching (#15528)luigi
* Use Regex#match? * Replace =~ too * Avoid to call match? from Nil * Keep value of Regexp.last_match
2021-01-21Fix Google Translate breaking web interface (#15610)ThibG
- 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-21Fix sign-up restrictions based on IP addresses not being enforced (#15607)ThibG
Fixes #15606 Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-19Fix /activity endpoint not require signature in authorized fetch mode (#15592)ThibG
Fixes #15589 Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-12Use Rails' index_by where it makes sense (#15542)ThibG
* Use Rails' index_by where it makes sense * Fix tests Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-12Fix processing of incoming Block activities (#15546)ThibG
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-10Fix muting users with duration via the REST api (#15516)Levi Bard
2021-01-10Optimize map { ... }.compact calls (#15513)luigi
* Optimize map { ... }.compact using Enumerable#filter_map, supported since Ruby 2.7 * Add poyfill for Enumerable#filter_map
2021-01-09Fix OCR lang data failing to load (#15519)ThibG
Fixes #15472 Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-08Skip processing Update activities on unknown accounts (#15514)ThibG
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-07Fix rubocop config and warnings (#15503)abcang
* 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-05Fix defaultProps of frameRate to string (#15493)Takeshi Umeda
2021-01-05Fix missing key in list timeline policy (#15494)Takeshi Umeda
2021-01-05Fix getting-started footer in single column mode not being clickable in ↵Takeshi Umeda
Safari (#15496)
2020-12-30Fix profile update not being sent on profile/header picture deletion (#15461)ThibG
Fixes #15460 Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-30Fix logo button style more (#15458)Takeshi Umeda
2020-12-30Fix expand video on public page (#15469)Takeshi Umeda
2020-12-26Fix being able to import more than allowed number of follows (#15384)ThibG
* 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-26New Crowdin updates (#15413)Eugen Rochko
* 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-26Fix logo button style (#15428)Takeshi Umeda
* Fix bell button rtl style * Remove size and style props from button component * Fix logo button style * Update jest snapshot
2020-12-24Fix error when changing ACL on missing objects during suspension (#15420)Eugen Rochko
2020-12-24Fix undefined method error when batch-removing statuses with ElasticSearch ↵Eugen Rochko
on (#15421)
2020-12-23Fix unfollow action button style (#15418)Takeshi Umeda
2020-12-23Fix media modal buttons not showing up on mobile (#15417)ThibG
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-23Use existing FeaturedTag serializer and delete AccountFeaturedTag serializer ↵trwnh
(#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-23Fix mentions not being deleted efficiently (#15416)ThibG
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-23Fix trying to privatize empty media attachments (#15414)Eugen Rochko
2020-12-23Improve performances of deleting favourites when deleting accounts (#15412)ThibG
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-23New Crowdin updates (#15369)Eugen Rochko
* 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-23Fix BatchedRemoveStatusService not working without ES in rails console (#15408)ThibG
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-22Improve account deletion performances further (#15407)ThibG
* 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-22Fix batch order warnings in BatchedRemoveStatusService (#15409)ThibG
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2020-12-22Fix external user creation failing when invite request text is required (#15405)ThibG
* 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-22Fix unnecessary queries when batch-removing statuses, 100x faster (#15387)Eugen Rochko
2020-12-21Fix some notifications not being deleted on poll/status deletion (#15402)ThibG
* 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>