Merge pull request #4138 from pixelfed/staging

Staging
This commit is contained in:
daniel 2023-01-31 05:02:11 -07:00 committed by GitHub
commit f84439df23
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 38 additions and 24 deletions

View file

@ -88,7 +88,9 @@
- Update SharePipeline, fix share handling and notification generation ([83e1e203](https://github.com/pixelfed/pixelfed/commit/83e1e203)) - Update SharePipeline, fix share handling and notification generation ([83e1e203](https://github.com/pixelfed/pixelfed/commit/83e1e203))
- Update SharePipeline, fix ReblogService and undo handling ([016c6e41](https://github.com/pixelfed/pixelfed/commit/016c6e41)) - Update SharePipeline, fix ReblogService and undo handling ([016c6e41](https://github.com/pixelfed/pixelfed/commit/016c6e41))
- Update AP Helpers, fix media validation bug that would reject media with alttext/name longer than 255 chars and store remote alt text if set ([a7f58349](https://github.com/pixelfed/pixelfed/commit/a7f58349)) - Update AP Helpers, fix media validation bug that would reject media with alttext/name longer than 255 chars and store remote alt text if set ([a7f58349](https://github.com/pixelfed/pixelfed/commit/a7f58349))
- ([](https://github.com/pixelfed/pixelfed/commit/)) - Update MentionPipeline, store non-local mentions ([17149230](https://github.com/pixelfed/pixelfed/commit/17149230))
- Update Like model, increase rate limit to 500 likes per day ([ab7676f9](https://github.com/pixelfed/pixelfed/commit/))
- ([](https://github.com/pixelfed/pixelfed/commit/ab7676f9))
## [v0.11.4 (2022-10-04)](https://github.com/pixelfed/pixelfed/compare/v0.11.3...v0.11.4) ## [v0.11.4 (2022-10-04)](https://github.com/pixelfed/pixelfed/compare/v0.11.3...v0.11.4)

View file

@ -10,6 +10,7 @@ use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Services\StatusService;
class MentionPipeline implements ShouldQueue class MentionPipeline implements ShouldQueue
{ {
@ -59,17 +60,20 @@ class MentionPipeline implements ShouldQueue
return true; return true;
} }
try { Notification::firstOrCreate(
$notification = new Notification(); [
$notification->profile_id = $target; 'profile_id' => $target,
$notification->actor_id = $actor->id; 'actor_id' => $actor->id,
$notification->action = 'mention'; 'action' => 'mention',
$notification->message = $mention->toText(); 'item_type' => 'App\Status',
$notification->rendered = $mention->toHtml(); 'item_id' => $status->id,
$notification->item_id = $status->id; ],
$notification->item_type = "App\Status"; [
$notification->save(); 'message' => $mention->toText(),
} catch (Exception $e) { 'rendered' => $mention->toHtml()
} ]
);
StatusService::del($status->id);
} }
} }

View file

@ -8,14 +8,15 @@ use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Services\AccountService;
use App\Services\CustomEmojiService; use App\Services\CustomEmojiService;
use App\Services\StatusService; use App\Services\StatusService;
use App\Jobs\MentionPipeline\MentionPipeline; use App\Jobs\MentionPipeline\MentionPipeline;
use App\Mention; use App\Mention;
use App\Services\AccountService;
use App\Hashtag; use App\Hashtag;
use App\StatusHashtag; use App\StatusHashtag;
use App\Services\TrendingHashtagService; use App\Services\TrendingHashtagService;
use App\Util\ActivityPub\Helpers;
class StatusTagsPipeline implements ShouldQueue class StatusTagsPipeline implements ShouldQueue
{ {
@ -89,17 +90,24 @@ class StatusTagsPipeline implements ShouldQueue
return $tag && return $tag &&
$tag['type'] == 'Mention' && $tag['type'] == 'Mention' &&
isset($tag['href']) && isset($tag['href']) &&
substr($tag['href'], 0, 8) === 'https://' && substr($tag['href'], 0, 8) === 'https://';
parse_url($tag['href'], PHP_URL_HOST) == config('pixelfed.domain.app');
}) })
->map(function($tag) use($status) { ->map(function($tag) use($status) {
$parts = explode('/', $status['href']); if(Helpers::validateLocalUrl($tag['href'])) {
if(!$parts) { $parts = explode('/', $tag['href']);
return; if(!$parts) {
} return;
$pid = AccountService::usernameToId(end($parts)); }
if(!$pid) { $pid = AccountService::usernameToId(end($parts));
return; if(!$pid) {
return;
}
} else {
$acct = Helpers::profileFetch($tag['href']);
if(!$acct) {
return;
}
$pid = $acct->id;
} }
$mention = new Mention; $mention = new Mention;
$mention->status_id = $status->id; $mention->status_id = $status->id;

View file

@ -9,7 +9,7 @@ class Like extends Model
{ {
use SoftDeletes; use SoftDeletes;
const MAX_PER_DAY = 200; const MAX_PER_DAY = 500;
/** /**
* The attributes that should be mutated to dates. * The attributes that should be mutated to dates.