You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pixelfed/app
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 months ago
..
Auth Update oauth/token, fix scope to be space separated string instead of array 1 year ago
Console Update IG Import 3 months ago
Events
Exceptions
Http Update IG Import 3 months ago
Jobs Ensure the cloud url is used when publishing a status to activitypub 3 months ago
Listeners
Mail Refactor based on @jippi review 12 months ago
Models Generic OIDC Support 9 months ago
Observers Update UserObserver, fix type casting 2 years ago
Policies Update CustomFilterPolicy 9 months ago
Providers Generic OIDC Support 9 months ago
Rules Update Webfinger.php 8 months ago
Services Ensure the cloud url is used when publishing a status to activitypub 3 months ago
Transformer Update MediaTransformer, return proper image type 8 months ago
Util Update media storage pipeline, improve support for non-local filesystems 4 months ago
AccountInterstitial.php
AccountLog.php
Activity.php
Avatar.php
Bookmark.php
Circle.php
CircleProfile.php
Collection.php
CollectionItem.php
Comment.php
Contact.php Update Contact model 1 year ago
DirectMessage.php
DiscoverCategory.php
DiscoverCategoryHashtag.php
EmailVerification.php
FailedJob.php
FollowRequest.php
Follower.php
HasSnowflakePrimary.php
Hashtag.php
HashtagFollow.php Update AppRegisterController 11 months ago
ImportData.php
ImportJob.php
Instance.php WIP: Implement domain blocks 2 years ago
Like.php Update Like model, increase max likes per day from 500 to 1500 2 years ago
Media.php Revert "Update NewStatusPipeline, improve fallback" 3 months ago
MediaBlocklist.php
MediaTag.php Update ApiV1Controller, improve notification filtering 2 years ago
Mention.php
ModLog.php
Newsroom.php
Notification.php
OauthClient.php
Page.php
Place.php
Profile.php
ProfileSponsor.php
Report.php
ReportComment.php
ReportLog.php
Status.php Update Status model 8 months ago
StatusArchived.php
StatusHashtag.php
StatusView.php
Story.php Update Story model 5 months ago
StoryItem.php
StoryReaction.php
StoryView.php
UIKit.php
User.php Update User model, add notify_enabled 1 year ago
UserDevice.php
UserFilter.php
UserInvite.php
UserSetting.php
helpers.php