Commit Graph

27 Commits (a5d413a59428e88eb0b69f68d4f021f1caceccb1)

Author SHA1 Message Date
Your Name f1d4c87391 const types 1 week ago
Daniel Supernault fbd52dd8fc
Improve federation handling 2 weeks ago
Your Name c0cde2f682 refactor: move 52 legacy models from App\ to App\Models\
Move all Eloquent models from the app/ root directory to app/Models/
for consistency with modern Laravel conventions. The project already had
54 models in App\Models; this migrates the remaining 52 legacy models.

Changes:
- Move 52 model files from app/ to app/Models/
- Update namespace declarations in each model
- Update all ~1000 import references across the codebase
- Add Relation::morphMap() in AppServiceProvider for backward
  compatibility with existing polymorphic database records
- Add missing HasSnowflakePrimary imports for models that relied
  on same-namespace resolution
1 month ago
Your Name a0f721781a fix: improve NewStatusPipeline retry configuration
Previous config (timeout=5, tries=1) was too aggressive — a single
transient failure would permanently lose the status publication.

New config:
- timeout: 5 → 30 (sufficient for DB check + job dispatch)
- tries: 1 → 3 (recover from transient Redis/DB issues)
- maxExceptions: 1 (don't retry actual bugs)
- backoff: [5, 10] (exponential delay between retries)
1 month ago
Daniel Supernault 53742fa699
Lint 9 months ago
dansup 03e64efd68
Merge pull request #6231 from shleeable/JobBatchv1-StatusPipeline
JobBatch v1- Status pipelines defensive checks
11 months ago
Your Name efb9db3eed StatusPipeline defensive checks 11 months ago
Shlee f8fbf3a9d5
Bugfix: Regression in NewStatusPipeline.php 11 months ago
dansup 0b5ce910b8
Merge branch 'staging' into fix-delay-publish-until-media-processed 11 months ago
Anil Kulkarni 8737619b46
Revert "Update NewStatusPipeline, replaces #5706"
This reverts commit 6c13debd56.
11 months ago
Anil Kulkarni 5c6e3b9732
Revert "Update NewStatusPipeline, improve fallback"
This reverts commit 863ad8e107.
11 months 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
11 months ago
Anil Kulkarni d819012439
Revert "Update NewStatusPipeline, replaces #5706"
This reverts commit 6c13debd56.
11 months ago
Anil Kulkarni 1a245914d8
Revert "Update NewStatusPipeline, improve fallback"
This reverts commit 863ad8e107.
11 months ago
Daniel Supernault 863ad8e107
Update NewStatusPipeline, improve fallback 2 years ago
Daniel Supernault 6c13debd56
Update NewStatusPipeline, replaces #5706 2 years ago
Daniel Supernault 6476855519
Update jobs, add retry and timeout attributes 6 years ago
Daniel Supernault c369882b48
Update Redis namespace 7 years ago
Daniel Supernault 7295b1b887
Update StatusPipeline 8 years ago
Daniel Supernault 8edeab11d6
Update StatusPipeline 8 years ago
Daniel Supernault 5b68d147d2
Update StatusPipeline, only deliver if ap is enabled 8 years ago
Daniel Supernault 8235589276
Update StatusPipeline 8 years ago
Daniel Supernault 071feae1d0
Update Status Pipeline 8 years ago
Daniel Supernault 6001039e94
Update NewStatusPipeline job 8 years ago
daniel b8abbdd90f Apply fixes from StyleCI 8 years ago
Daniel Supernault 3f0ad3ffe2 Update StatusController, support multiple uploads 8 years ago
Daniel Supernault ec2bff95b6 Add StatusPipeline 8 years ago