diff --git a/app/Jobs/DeletePipeline/DeleteAccountPipeline.php b/app/Jobs/DeletePipeline/DeleteAccountPipeline.php
index 652a8559b..49daccb67 100644
--- a/app/Jobs/DeletePipeline/DeleteAccountPipeline.php
+++ b/app/Jobs/DeletePipeline/DeleteAccountPipeline.php
@@ -83,8 +83,6 @@ class DeleteAccountPipeline implements ShouldQueue
StatusDelete::dispatchNow($status);
}
});
- $this->deleteUserColumns($user);
- AccountService::del($user->profile_id);
AccountLog::whereItemType('App\User')->whereItemId($user->id)->forceDelete();
@@ -176,6 +174,8 @@ class DeleteAccountPipeline implements ShouldQueue
Report::whereUserId($user->id)->forceDelete();
PublicTimelineService::warmCache(true, 400);
+ $this->deleteUserColumns($user);
+ AccountService::del($user->profile_id);
Profile::whereUserId($user->id)->delete();
}
diff --git a/app/Jobs/StatusPipeline/StatusDelete.php b/app/Jobs/StatusPipeline/StatusDelete.php
index 1aa7e5409..0bbd1842a 100644
--- a/app/Jobs/StatusPipeline/StatusDelete.php
+++ b/app/Jobs/StatusPipeline/StatusDelete.php
@@ -74,10 +74,11 @@ class StatusDelete implements ShouldQueue
$profile = $this->status->profile;
StatusService::del($status->id, true);
-
- if(in_array($status->type, ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])) {
- $profile->status_count = $profile->status_count - 1;
- $profile->save();
+ if($profile) {
+ if(in_array($status->type, ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])) {
+ $profile->status_count = $profile->status_count - 1;
+ $profile->save();
+ }
}
if(config_cache('federation.activitypub.enabled') == true) {
@@ -92,7 +93,7 @@ class StatusDelete implements ShouldQueue
Media::whereStatusId($status->id)
->get()
->each(function($media) {
- MediaDeletePipeline::dispatch($media)->onQueue('mmo');
+ MediaDeletePipeline::dispatchNow($media);
});
if($status->in_reply_to_id) {
@@ -141,9 +142,14 @@ class StatusDelete implements ShouldQueue
public function fanoutDelete($status)
{
- $audience = $status->profile->getAudienceInbox();
$profile = $status->profile;
+ if(!$profile) {
+ return;
+ }
+
+ $audience = $status->profile->getAudienceInbox();
+
$fractal = new Fractal\Manager();
$fractal->setSerializer(new ArraySerializer());
$resource = new Fractal\Resource\Item($status, new DeleteNote());
diff --git a/app/Services/StatusService.php b/app/Services/StatusService.php
index d222ff260..04ed1722d 100644
--- a/app/Services/StatusService.php
+++ b/app/Services/StatusService.php
@@ -137,7 +137,6 @@ class StatusService
public static function del($id, $purge = false)
{
-
if($purge) {
$status = self::get($id);
if($status && isset($status['account']) && isset($status['account']['id'])) {
diff --git a/app/Transformer/Api/StatusStatelessTransformer.php b/app/Transformer/Api/StatusStatelessTransformer.php
index 74aaf7ce9..38a3fedf8 100644
--- a/app/Transformer/Api/StatusStatelessTransformer.php
+++ b/app/Transformer/Api/StatusStatelessTransformer.php
@@ -5,6 +5,7 @@ namespace App\Transformer\Api;
use App\Status;
use League\Fractal;
use Cache;
+use App\Services\AccountService;
use App\Services\HashidService;
use App\Services\LikeService;
use App\Services\MediaService;
@@ -12,7 +13,6 @@ use App\Services\MediaTagService;
use App\Services\StatusHashtagService;
use App\Services\StatusLabelService;
use App\Services\StatusMentionService;
-use App\Services\ProfileService;
use App\Services\PollService;
use App\Models\CustomEmoji;
@@ -63,7 +63,7 @@ class StatusStatelessTransformer extends Fractal\TransformerAbstract
'label' => StatusLabelService::get($status),
'liked_by' => LikeService::likedBy($status),
'media_attachments' => MediaService::get($status->id),
- 'account' => ProfileService::get($status->profile_id),
+ 'account' => AccountService::get($status->profile_id, true),
'tags' => StatusHashtagService::statusTags($status->id),
'poll' => $poll
];
diff --git a/app/Util/Media/Filter.php b/app/Util/Media/Filter.php
index 6ff1b96ba..d653dd768 100644
--- a/app/Util/Media/Filter.php
+++ b/app/Util/Media/Filter.php
@@ -5,47 +5,47 @@ namespace App\Util\Media;
class Filter {
public static $filters = [
- '1977' => 'filter-1977',
- 'Aden' => 'filter-aden',
- 'Amaro' => 'filter-amaro',
- 'Ashby' => 'filter-ashby',
- 'Brannan' => 'filter-brannan',
- 'Brooklyn' => 'filter-brooklyn',
- 'Charmes' => 'filter-charmes',
- 'Clarendon' => 'filter-clarendon',
- 'Crema' => 'filter-crema',
- 'Dogpatch' => 'filter-dogpatch',
- 'Earlybird' => 'filter-earlybird',
- 'Gingham' => 'filter-gingham',
- 'Ginza' => 'filter-ginza',
- 'Hefe' => 'filter-hefe',
- 'Helena' => 'filter-helena',
- 'Hudson' => 'filter-hudson',
- 'Inkwell' => 'filter-inkwell',
- 'Kelvin' => 'filter-kelvin',
- 'Kuno' => 'filter-juno',
- 'Lark' => 'filter-lark',
- 'Lo-Fi' => 'filter-lofi',
- 'Ludwig' => 'filter-ludwig',
- 'Maven' => 'filter-maven',
- 'Mayfair' => 'filter-mayfair',
- 'Moon' => 'filter-moon',
- 'Nashville' => 'filter-nashville',
- 'Perpetua' => 'filter-perpetua',
- 'Poprocket' => 'filter-poprocket',
- 'Reyes' => 'filter-reyes',
- 'Rise' => 'filter-rise',
- 'Sierra' => 'filter-sierra',
- 'Skyline' => 'filter-skyline',
- 'Slumber' => 'filter-slumber',
- 'Stinson' => 'filter-stinson',
- 'Sutro' => 'filter-sutro',
- 'Toaster' => 'filter-toaster',
- 'Valencia' => 'filter-valencia',
- 'Vesper' => 'filter-vesper',
- 'Walden' => 'filter-walden',
- 'Willow' => 'filter-willow',
- 'X-Pro II' => 'filter-xpro-ii'
+ '1984' => 'filter-1977',
+ 'Azen' => 'filter-aden',
+ 'Astairo' => 'filter-amaro',
+ 'Grassbee' => 'filter-ashby',
+ 'Bookrun' => 'filter-brannan',
+ 'Borough' => 'filter-brooklyn',
+ 'Farms' => 'filter-charmes',
+ 'Hairsadone' => 'filter-clarendon',
+ 'Cleana ' => 'filter-crema',
+ 'Catpatch' => 'filter-dogpatch',
+ 'Earlyworm' => 'filter-earlybird',
+ 'Plaid' => 'filter-gingham',
+ 'Kyo' => 'filter-ginza',
+ 'Yefe' => 'filter-hefe',
+ 'Goddess' => 'filter-helena',
+ 'Yards' => 'filter-hudson',
+ 'Quill' => 'filter-inkwell',
+ 'Rankine' => 'filter-kelvin',
+ 'Juno' => 'filter-juno',
+ 'Mark' => 'filter-lark',
+ 'Chill' => 'filter-lofi',
+ 'Van' => 'filter-ludwig',
+ 'Apache' => 'filter-maven',
+ 'Mayflower' => 'filter-mayfair',
+ 'Ceres' => 'filter-moon',
+ 'Knoxville' => 'filter-nashville',
+ 'Felicity' => 'filter-perpetua',
+ 'Sandblast' => 'filter-poprocket',
+ 'Daisy' => 'filter-reyes',
+ 'Elevate' => 'filter-rise',
+ 'Nevada' => 'filter-sierra',
+ 'Futura' => 'filter-skyline',
+ 'Sleepy' => 'filter-slumber',
+ 'Steward' => 'filter-stinson',
+ 'Savoy' => 'filter-sutro',
+ 'Blaze' => 'filter-toaster',
+ 'Apricot' => 'filter-valencia',
+ 'Gloming' => 'filter-vesper',
+ 'Walter' => 'filter-walden',
+ 'Poplar' => 'filter-willow',
+ 'Xenon' => 'filter-xpro-ii'
];
public static function classes()
@@ -58,4 +58,4 @@ class Filter {
return array_keys(self::$filters);
}
-}
\ No newline at end of file
+}
diff --git a/database/migrations/2022_12_31_034627_fix_account_status_deletes.php b/database/migrations/2022_12_31_034627_fix_account_status_deletes.php
new file mode 100644
index 000000000..e5aab2859
--- /dev/null
+++ b/database/migrations/2022_12_31_034627_fix_account_status_deletes.php
@@ -0,0 +1,30 @@
+get()->each(function($status) { StatusDelete::dispatch($status); });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ //
+ }
+};
diff --git a/public/js/app.js b/public/js/app.js
index 66a71cc06..ea7949185 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -1,2 +1,2 @@
/*! For license information please see app.js.LICENSE.txt */
-(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[773],{5924:(e,t,r)=>{r(19755);var o=r(19755);r(99751),window._=r(96486),window.Popper=r(28981).default,window.pixelfed=window.pixelfed||{},window.$=r(19755),r(43734),window.axios=r(9669),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest",r(90717),window.blurhash=r(43985);var n=document.head.querySelector('meta[name="csrf-token"]');n?window.axios.defaults.headers.common["X-CSRF-TOKEN"]=n.content:console.error("CSRF token not found."),window.App=window.App||{},window.App.redirect=function(){document.querySelectorAll("a").forEach((function(e,t){var r=e.getAttribute("href");if(r&&r.length>5&&r.startsWith("https://")){var o=new URL(r);o.host!==window.location.host&&"/i/redirect"!==o.pathname&&e.setAttribute("href","/i/redirect?url="+encodeURIComponent(r))}}))},window.App.boot=function(){new Vue({el:"#content"})},window.App.util={compose:{post:function(){var e=window.location.pathname;["/","/timeline/public"].includes(e)?o("#composeModal").modal("show"):window.location.href="/?a=co"},circle:function(){console.log("Unsupported method.")},collection:function(){console.log("Unsupported method.")},loop:function(){console.log("Unsupported method.")},story:function(){console.log("Unsupported method.")}},time:function(){return new Date},version:1,format:{count:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-GB",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"compact";return e<1?0:new Intl.NumberFormat(t,{notation:r,compactDisplay:"short"}).format(e)},timeAgo:function(e){var t=Date.parse(e),r=Math.floor((new Date-t)/1e3),o=Math.floor(r/63072e3);return o>=1?o+"y":(o=Math.floor(r/604800))>=1?o+"w":(o=Math.floor(r/86400))>=1?o+"d":(o=Math.floor(r/3600))>=1?o+"h":(o=Math.floor(r/60))>=1?o+"m":Math.floor(r)+"s"},timeAhead:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=Date.parse(e),o=r-Date.parse(new Date),n=Math.floor(o/1e3),i=Math.floor(n/63072e3);return i>=1?i+(t?"y":" years"):(i=Math.floor(n/604800))>=1?i+(t?"w":" weeks"):(i=Math.floor(n/86400))>=1?i+(t?"d":" days"):(i=Math.floor(n/3600))>=1?i+(t?"h":" hours"):(i=Math.floor(n/60))>=1?i+(t?"m":" minutes"):Math.floor(n)+(t?"s":" seconds")},rewriteLinks:function(e){var t=e.innerText;return e.href.startsWith(window.location.origin)?e.href:t=1==t.startsWith("#")?"/discover/tags/"+t.substr(1)+"?src=rph":1==t.startsWith("@")?"/"+e.innerText+"?src=rpp":"/i/redirect?url="+encodeURIComponent(t)}},filters:[["1977","filter-1977"],["Aden","filter-aden"],["Amaro","filter-amaro"],["Ashby","filter-ashby"],["Brannan","filter-brannan"],["Brooklyn","filter-brooklyn"],["Charmes","filter-charmes"],["Clarendon","filter-clarendon"],["Crema","filter-crema"],["Dogpatch","filter-dogpatch"],["Earlybird","filter-earlybird"],["Gingham","filter-gingham"],["Ginza","filter-ginza"],["Hefe","filter-hefe"],["Helena","filter-helena"],["Hudson","filter-hudson"],["Inkwell","filter-inkwell"],["Kelvin","filter-kelvin"],["Kuno","filter-juno"],["Lark","filter-lark"],["Lo-Fi","filter-lofi"],["Ludwig","filter-ludwig"],["Maven","filter-maven"],["Mayfair","filter-mayfair"],["Moon","filter-moon"],["Nashville","filter-nashville"],["Perpetua","filter-perpetua"],["Poprocket","filter-poprocket"],["Reyes","filter-reyes"],["Rise","filter-rise"],["Sierra","filter-sierra"],["Skyline","filter-skyline"],["Slumber","filter-slumber"],["Stinson","filter-stinson"],["Sutro","filter-sutro"],["Toaster","filter-toaster"],["Valencia","filter-valencia"],["Vesper","filter-vesper"],["Walden","filter-walden"],["Willow","filter-willow"],["X-Pro II","filter-xpro-ii"]],filterCss:{"filter-1977":"sepia(.5) hue-rotate(-30deg) saturate(1.4)","filter-aden":"sepia(.2) brightness(1.15) saturate(1.4)","filter-amaro":"sepia(.35) contrast(1.1) brightness(1.2) saturate(1.3)","filter-ashby":"sepia(.5) contrast(1.2) saturate(1.8)","filter-brannan":"sepia(.4) contrast(1.25) brightness(1.1) saturate(.9) hue-rotate(-2deg)","filter-brooklyn":"sepia(.25) contrast(1.25) brightness(1.25) hue-rotate(5deg)","filter-charmes":"sepia(.25) contrast(1.25) brightness(1.25) saturate(1.35) hue-rotate(-5deg)","filter-clarendon":"sepia(.15) contrast(1.25) brightness(1.25) hue-rotate(5deg)","filter-crema":"sepia(.5) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-2deg)","filter-dogpatch":"sepia(.35) saturate(1.1) contrast(1.5)","filter-earlybird":"sepia(.25) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-5deg)","filter-gingham":"contrast(1.1) brightness(1.1)","filter-ginza":"sepia(.25) contrast(1.15) brightness(1.2) saturate(1.35) hue-rotate(-5deg)","filter-hefe":"sepia(.4) contrast(1.5) brightness(1.2) saturate(1.4) hue-rotate(-10deg)","filter-helena":"sepia(.5) contrast(1.05) brightness(1.05) saturate(1.35)","filter-hudson":"sepia(.25) contrast(1.2) brightness(1.2) saturate(1.05) hue-rotate(-15deg)","filter-inkwell":"brightness(1.25) contrast(.85) grayscale(1)","filter-kelvin":"sepia(.15) contrast(1.5) brightness(1.1) hue-rotate(-10deg)","filter-juno":"sepia(.35) contrast(1.15) brightness(1.15) saturate(1.8)","filter-lark":"sepia(.25) contrast(1.2) brightness(1.3) saturate(1.25)","filter-lofi":"saturate(1.1) contrast(1.5)","filter-ludwig":"sepia(.25) contrast(1.05) brightness(1.05) saturate(2)","filter-maven":"sepia(.35) contrast(1.05) brightness(1.05) saturate(1.75)","filter-mayfair":"contrast(1.1) brightness(1.15) saturate(1.1)","filter-moon":"brightness(1.4) contrast(.95) saturate(0) sepia(.35)","filter-nashville":"sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg)","filter-perpetua":"contrast(1.1) brightness(1.25) saturate(1.1)","filter-poprocket":"sepia(.15) brightness(1.2)","filter-reyes":"sepia(.75) contrast(.75) brightness(1.25) saturate(1.4)","filter-rise":"sepia(.25) contrast(1.25) brightness(1.2) saturate(.9)","filter-sierra":"sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg)","filter-skyline":"sepia(.15) contrast(1.25) brightness(1.25) saturate(1.2)","filter-slumber":"sepia(.35) contrast(1.25) saturate(1.25)","filter-stinson":"sepia(.35) contrast(1.25) brightness(1.1) saturate(1.25)","filter-sutro":"sepia(.4) contrast(1.2) brightness(.9) saturate(1.4) hue-rotate(-10deg)","filter-toaster":"sepia(.25) contrast(1.5) brightness(.95) hue-rotate(-15deg)","filter-valencia":"sepia(.25) contrast(1.1) brightness(1.1)","filter-vesper":"sepia(.35) contrast(1.15) brightness(1.2) saturate(1.3)","filter-walden":"sepia(.35) contrast(.8) brightness(1.25) saturate(1.4)","filter-willow":"brightness(1.2) contrast(.85) saturate(.05) sepia(.2)","filter-xpro-ii":"sepia(.45) contrast(1.25) brightness(1.75) saturate(1.3) hue-rotate(-5deg)"},emoji:["😂","💯","❤️","🙌","👏","👌","😍","😯","😢","😅","😁","🙂","😎","😀","🤣","😃","😄","😆","😉","😊","😋","😘","😗","😙","😚","🤗","🤩","🤔","🤨","😐","😑","😶","🙄","😏","😣","😥","😮","🤐","😪","😫","😴","😌","😛","😜","😝","🤤","😒","😓","😔","😕","🙃","🤑","😲","🙁","😖","😞","😟","😤","😭","😦","😧","😨","😩","🤯","😬","😰","😱","😳","🤪","😵","😡","😠","🤬","😷","🤒","🤕","🤢","🤮","🤧","😇","🤠","🤡","🤥","🤫","🤭","🧐","🤓","😈","👿","👹","👺","💀","👻","👽","🤖","💩","😺","😸","😹","😻","😼","😽","🙀","😿","😾","🤲","👐","🤝","👍","👎","👊","✊","🤛","🤜","🤞","✌️","🤟","🤘","👈","👉","👆","👇","☝️","✋","🤚","🖐","🖖","👋","🤙","💪","🖕","✍️","🙏","💍","💄","💋","👄","👅","👂","👃","👣","👁","👀","🧠","🗣","👤","👥"],embed:{post:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",n=e+"/embed?";return n+=t?"caption=true&":"caption=false&",n+=r?"likes=true&":"likes=false&",'