Commit Graph

482 Commits (e90f79085efe85d15aab51d6be6e54986cbfe968)

Author SHA1 Message Date
dansup 225e835015
Staging (#6264)
* StatusPipeline defensive checks

* HomeFeedPipeline defensive checks

* DeletePipeline defensive checks

* InboxPipeline defensive checks

* MediaPipeline defensive checks

* PushNotificationPipeline defensive checks

* LikePipeline defensive checks

* FollowPipeline defensive checks

* ImageOptimizePipeline defensive checks

* Misc pipelines defensive checks

* Update CommentPipeline.php

* Update FollowPushNotifyPipeline.php

* Update LikePushNotifyPipeline.php

* Update FollowPushNotifyPipeline.php

* Update MentionPushNotifyPipeline.php

* Update MoveSendUndoFollowPipeline.php

* Update RemoteFollowPipeline.php

* Update FollowPushNotifyPipeline.php

* Update LikePushNotifyPipeline.php

* Update MentionPushNotifyPipeline.php

* Update Site/Config.php - config_cache only has 1 arg. No fallback.

* Update Bouncer.php - Called 'count' on Laravel collection, but could have been retrieved as a query.            🪪  larastan.noUnnecessaryCollectionCall

* Update Status.php - Missing use App\Models\Conversation;

* Larastan: Update UndoSharePipeline.php (Undefined variable: $status)

* Update ResilientMediaStorageService.php

* Update ImageS3UploadPipeline.php

* Larastan: Update Profile.php missing "use App\Avatar;"

* Larastan: Update MediaStorageService.php

* Larastan: Update MediaPathService.php

* Update MediaPathService.php

* Update MediaStorageService.php

* Update ImageS3UploadPipeline.php

* Larastan: Update AddUserDomainBlock.php

```
 ------ ------------------------------------------------------------- 
  Line   Console/Commands/AddUserDomainBlock.php                      
 ------ ------------------------------------------------------------- 
  37     Variable $domain in empty() always exists and is not falsy.  
         🪪  empty.variable                                           
 ------ ------------------------------------------------------------- 
```

* Larastan: Update CatchUnoptimizedMedia.php

```
 ------ ------------------------------------------------------------------------------------------------- 
  Line   Console/Commands/CatchUnoptimizedMedia.php                                                       
 ------ ------------------------------------------------------------------------------------------------- 
  31     Constructor of class App\Console\Commands\CatchUnoptimizedMedia has an unused parameter $media.  
         🪪  constructor.unusedParameter                                                                  
 ------ ------------------------------------------------------------------------------------------------- 
```

* Update DeleteUserDomainBlock.php

* Update StatusHashtag.php

* Update FixLikes.php

* Update User.php

* Update Installer.php

* Update SeedFollows.php

* Update DiscoverCategory.php

* Update FollowRequest.php

* Update Follower.php

* Update AccountController.php

* Update CustomFilterKeyword.php

* Update FederationController.php

* Update Inbox.php

* Update HttpSignature.php

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Shlee <github@shl.ee>
1 week ago
Anil Kulkarni dbd2e17728
Ensure the cloud url is used when publishing a status to activitypub
Posting is done in two steps - first the media is uploaded and that begins a processing pipeline. When the media is finally
processed, the media pipeline sets the cdn_url to the final image (in the cloud if configured).
At any time, the user can click post. This begins a separate NewStatusPipeline to deliver the status over ActivityPub.
This causes a race. If the NewStatusPipeline runs before the media finishes processing, then the status is delivered with
the un-processed (and un-optimized images). If pixelfed is set to use cloud storage, then the ActivityPub message also incorrectly
uses the local media.

This commit fixes the race condition by waiting for all the media to be processed before sending the message over ActivityPub.
A new publish_delayed column is set per-post, indicating whether the
status should be delayed until all media is processed.

Then, the NewStatusPipeline is called twice per post -
When the media finishes processing and when the status is posted.

Both times, the pipeline will check to see if it's valid to post
If so, the pipeline will try to set publish_delayed to false
and only if it is the first time doing so, will it publish the post
3 weeks ago
Daniel Supernault 2e719bd008
Update media storage pipeline, improve support for non-local filesystems 2 months ago
Daniel Supernault f0bc9d66e4
Update InstanceService, fix total post count when config_cache is disabled 2 months ago
Daniel Supernault f37661e945
Update SanitizeService, improve tag coverage 2 months ago
Daniel Supernault a2c663d69c
Update SanitizeService 2 months ago
Daniel Supernault 3686c92122
Update Status storage, add SanitizerService to fix spacing in html stripped content 2 months ago
Daniel Supernault 03f44b8a28
Update StoryIndexService.php 2 months ago
Daniel Supernault 89e34f8f44
Update StoryIndexService, improve redis compatability 2 months ago
Daniel Supernault dbba523031
Update StoryIndexService, improve redis compatability 2 months ago
Daniel Supernault 53b74bf16c
Update StoryIndexService, improve predis/phpredis support 2 months ago
Daniel Supernault 564d8d1091
Update StoryIndexService, improve predis + phpredis support 2 months ago
Daniel Supernault e092917752
Update StoryIndexService, fix markSeen method 3 months ago
Daniel Supernault 3296a7a583
Update StoryIndexService, improve markSeen handling 3 months ago
Daniel Supernault 950fc0474c
Add StoryIndexService, an optimized fan-out-on-write service for story carousel generation/rendering 3 months ago
Daniel Supernault 86af73455f
Update DirectMessageController, add mutuals endpoint 3 months ago
Daniel Supernault bbc7f7b0d4
Fix race condition 4 months ago
Daniel Supernault d595963f51
Fix TransformImports command 4 months ago
Daniel Supernault a8d1d0f2eb
Update ImportService and TransformImports to fix race condition bug 4 months ago
Daniel Supernault ece23d751b
Update Places, improve cache invalidation/ttl 6 months ago
Daniel Supernault 449e374cbe
Update MediaService 6 months ago
Daniel Supernault 837014e06c
Update MediaService, improve activitypub format 6 months ago
Daniel Supernault 7ae61a74ac
Update CreateNote, improve media attachement handling by leveraging the MediaService cache 6 months ago
Daniel Supernault 2eb3957609
Lint 6 months ago
Daniel Supernault d0a3599834
Update MediaStorageService to clear the AP obj cache after S3 storage 6 months ago
Daniel Supernault ab9c13fe0d
New supported formats, Preserve ICC Color Profiles, libvips support
Update image pipeline to handle avif, heic and webp and preserve ICC color profiles and added libvips support.
6 months ago
daniel b3c2781578
Merge pull request #5608 from halkeye/add-generic-oidc
[Improvement] Generic OIDC Support
7 months ago
Daniel Supernault c72fa05299
Update LandingService and Config util to properly support the legal_notice setting 7 months ago
daniel 69e00d742d
Merge branch 'staging' into dev 7 months ago
Gavin Mogan ae39531ff2 field isnt accessTokenResourceOwnerId but responseResourceOwnerId 7 months ago
Gavin Mogan 441c8e0d4c Generic OIDC Support
* Everything should be configurable by env variables
* Basic request tests
7 months ago
Daniel Supernault c1f2dfb013
Update WebfingerService, apply banned domains to webfinger logic 7 months ago
Daniel Supernault 0a98b7ad20
Update SearchApiV2Service, fix offset bug. Fixes #5875 7 months ago
Daniel Supernault 245ab3bc4f
Update ApiV1Controller, fix relationship fields. Fixes #5900 7 months ago
Daniel Supernault 2f655d0008
Fix pinned posts implementation 7 months ago
Samy Elshamy 448511713d Added parameter 'show_legal_notice_link' => (bool) config_cache('instance.has_legal_notice'), 8 months ago
Felipe Mateus cce4c41d97
pinned posts 8 months ago
Daniel Supernault 806e210f13
Update snowflake config, allow custom datacenter/worker ids 8 months ago
Daniel Supernault 134eb6324e
Update AccountPostCountStatUpdate, fix memory leak 8 months ago
Daniel Supernault 38e17a06e0
Update ApiV1Controller, fix max_id pagination on home and public timeline feeds 8 months ago
daniel 92ce41ce18
Merge pull request #5664 from hnrd/fix-migrate2cloud
Skip thumbnail cloud upload if no thumbnail exists
9 months ago
tercean 3eb9257def Skip thumbnail cloud upload if no thumbnail exists
migrate2cloud fails on media without thumbnail.
fix check for existing thumbnail, skip upload if none exists.
9 months ago
Rm Yakovenko efcf836e6d AdminStatsService: do not count deleted users 9 months ago
Daniel Supernault 280f63dc6a
Update MediaStorageService, handle local media deletes after successful S3 upload 10 months ago
Daniel Supernault 83c1a7fd4b
Update SearchApiV2Service, fix hashtag search 10 months ago
Anil Kulkarni 4d0cb32f79
Fix notifications not being delivered by directly checking the state from the database 10 months ago
Daniel Supernault fd434aec74
Fix Instagram import. Closes #5411 10 months ago
Daniel Supernault 79039ba595
Update StatusStatelessTransformer, refactor the caption field to be compliant with the MastoAPI. Fixes #5364 11 months ago
Daniel Supernault 56c07b7abd
Update StatusService.php 11 months ago
Daniel Supernault eac2c19601
Update AutolinkService, optimize lookups 12 months ago