Merge pull request #4047 from pixelfed/staging

Staging
This commit is contained in:
daniel 2022-12-30 21:45:30 -07:00 committed by GitHub
commit f4cfff0271
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 132 additions and 97 deletions

View file

@ -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();
}

View file

@ -74,11 +74,12 @@ class StatusDelete implements ShouldQueue
$profile = $this->status->profile;
StatusService::del($status->id, true);
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) {
return $this->fanoutDelete($status);
@ -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());

View file

@ -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'])) {

View file

@ -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
];

View file

@ -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()

View file

@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use App\Status;
use App\Jobs\StatusPipeline\StatusDelete;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Status::doesntHave('profile')->get()->each(function($status) { StatusDelete::dispatch($status); });
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
};

BIN
public/js/app.js vendored

Binary file not shown.

Binary file not shown.

BIN
public/js/compose.js vendored

Binary file not shown.

BIN
public/js/spa.js vendored

Binary file not shown.

Binary file not shown.

View file

@ -149,47 +149,47 @@ window.App.util = {
})
},
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']
],
filterCss: {
'filter-1977': 'sepia(.5) hue-rotate(-30deg) saturate(1.4)',

View file

@ -370,7 +370,7 @@
<div class="p-1 pt-3">
<img :src="media[carouselCursor].url" width="100px" height="60px" :class="filter[1]" v-on:click.prevent="toggleFilter($event, filter[1])">
</div>
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">i{{filter[0]}}</a>
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">{{filter[0]}}</a>
</li>
</ul>
</div>
@ -407,7 +407,7 @@
<div class="p-1 pt-3">
<img :src="media[carouselCursor].url" width="100px" height="60px" :class="filter[1]" v-on:click.prevent="toggleFilter($event, filter[1])">
</div>
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">i{{filter[0]}}</a>
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">{{filter[0]}}</a>
</li>
</ul>
</div>
@ -1033,7 +1033,7 @@ export default {
},
beforeMount() {
this.filters = window.App.util.filters;
this.filters = window.App.util.filters.sort();
axios.get('/api/compose/v0/settings')
.then(res => {
this.composeSettings = res.data;