Commit Graph

583 Commits (97c1c4b944de18dae048bbc9492610a7a0d474fb)

Author SHA1 Message Date
Your Name 941c305104 fix: resolve larastan class.notFound errors
- Add missing FractalService import to Groups/GroupCommentService and
  Groups/GroupPostService (wrong namespace resolution)
- Update Inbox handler traits to use App\Models\* namespace instead of
  old App\* references (Status, Profile, DirectMessage, Media, Follower,
  Like, Instance, Story, User, FollowRequest, Notification, UserFilter,
  StoryView)
- Update HttpClientMigrationTest to use App\Models\* namespace
1 month ago
Your Name e7b70c6084 refactor: extract duplicate patterns into shared methods
1. Add FractalService with static item() and collection() helpers
   replacing 22 call sites that repeated the 4-line Fractal Manager
   + ArraySerializer boilerplate.

2. Add AccountInterstitial::createFromStatus() factory method
   consolidating 4 identical 15-line blocks that create interstitials
   with status metadata.

3. Add NotificationService::createNotification() to handle the
   repeated pattern of creating, caching, and registering a
   notification in the recipient's feed.

4. Add NotificationService::firstOrCreateNotification() for
   idempotent notifications (share/boost, mention) that should
   only notify once per actor+action+item combination.
1 month ago
Shlee a1b3d2463d
Merge branch 'staging' into refactor/split-inbox-handlers 1 month ago
Your Name f4b6d03ae6 refactor: split ActivityPub Inbox into focused traits with shared helpers
- Extract InboxHelpers trait with common utilities (domain/user blocking, actor validation, notification deletion, cache clearing)
- Create domain-specific handler traits: HandlesFollows, HandlesLikes, HandlesCreates, HandlesAnnouncements, HandlesDeletes, HandlesUndos, HandlesStories, HandlesFlags, HandlesUpdates, HandlesMoves
- Merge duplicate story reaction/reply handlers into single handleStoryInteraction method
- Break handleDirectMessage into focused sub-methods
- Reduce Inbox.php to thin verb router (~167 lines)
- No behavioral changes; public API preserved
1 month 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 2b1c9c818b polish 1 month ago
Daniel Supernault 33dce75f2c
Pint app/ 1 month ago
Your Name 49b85e9f22 fix: use query methods instead of collection methods (phpstan noUnnecessaryCollectionCall)
- PollService: pluck()->first() → value()
- StoryService: groupBy()->pluck()->count() → distinct()->count()
- Inbox: find($objects)->count() → whereIn('id', $objects)->count()
1 month ago
Shlee 899e360b48
Update Extractor.php 1 month ago
Your Name c807a8524c refactor: replace short facade aliases with fully-qualified imports
Convert all 273 short facade alias imports (e.g. 'use Cache;') to their
fully-qualified class names (e.g. 'use Illuminate\Support\Facades\Cache;')
across 193 files.

This resolves 643 PHPStan 'class.notFound' errors caused by the static
analyzer being unable to resolve global aliases, and aligns with modern
Laravel conventions. It also unblocks removing the aliases array from
config/app.php in a future change.

All 107 tests pass.
1 month ago
Your Name edb4368b08 refactor: replace deprecated laravel/helpers with native alternatives
Replace all deprecated helper function calls:
- str_slug() → Str::slug()
- starts_with() → str_starts_with()
- ends_with() → str_ends_with()
- array_first() → Arr::first()
- array_last() → Arr::last()
- array_flatten() → Arr::flatten()

Remove laravel/helpers package from composer.json as it is no longer
needed and will not be maintained for Laravel 13.
1 month ago
Ashley Hull ab07a705e6
Merge branch 'dev' into shift-179490 1 month ago
Shlee 2e97341e0d
Merge branch 'staging' into fix/exif-orientation-portrait-photos 1 month ago
Your Name 552a55c2d2 Upgrade images to v4 1 month ago
Daniel Supernault 30085e8708
Fix validateUrl() 1 month ago
Daniel Supernault ce64d0961d
Update Inbox, fixes #6784 1 month ago
Shift 19880c2ffb
Convert string references to `::class`
PHP 5.5.9 adds the new static `class` property which provides the fully qualified class name. This is preferred over using strings for class names since the `class` property references are checked by PHP.
1 month ago
dansup ec38262338
Merge pull request #6576 from shleeable/covidremove
Clean up Covid/WHO
1 month ago
Daniel Supernault bb33409fea
Lint 1 month ago
Daniel Supernault b84ae82f60
Update helpers 1 month ago
dansup a5aba15752
Merge pull request #6674 from pixelfed/shleeable-patch-7
Fix: Update type on handleDirectMessage
1 month ago
dansup 6170ff1fe0
Merge pull request #6681 from pixelfed/shleeable-patch-16
ActivityPub migration allows exceeding MAX_FOLLOWING and can silently drop follows during move window
1 month ago
dansup 4748f66a02
Merge pull request #6687 from pixelfed/shleeable-patch-21
Improve validation
1 month ago
Daniel Supernault 2216402ed4
Update Helpers 1 month ago
Shlee 595220e088
Update Helpers.php 2 months ago
Shlee acd509e0a3
Update Inbox.php 2 months ago
Shlee 886306d1d0
Update Helpers.php 2 months ago
Shlee 9d5e2d4f1f
Update Inbox.php 2 months ago
Stefan 4f13ebfe3f fix: apply EXIF orientation before resizing portrait images
Smartphone photos stored in landscape orientation with an EXIF rotation
tag were being saved to S3 in the wrong orientation. Image.php read the
raw pixel dimensions without first applying the EXIF tag, so portrait
photos (e.g. 4032×3024 with Orientation=6) were classified and resized
as landscape (1920×1080).

Calling orient() immediately after read() physically rotates the image
to match its EXIF orientation tag before any dimension checks or
scaling. This ensures portrait photos remain portrait after processing.

Intervention Image v3 reference:
https://image.intervention.io/v3/modifying/orientation
4 months ago
Your Name 41089fcccd Remove COVID label feature flag and related code
Remove ENABLE_COVID_LABEL, COVID_LABEL_URL, and COVID_LABEL_ORG env
vars and all associated backend/frontend code:

- config/instance.php: remove label.covid config block
- StatusLabelService: remove keyword matching, return static false
- Site/Config.php: remove label.covid from API response
- StatusCard.vue: remove COVID banner and labelRedirect method
- GroupStatus.vue: remove COVID banner and labelRedirect method
- diagnostics blade: remove COVID diagnostic rows
5 months ago
Daniel Supernault 78a657d7df
Refactor, use actor private key, thanks Mastodon ;) 6 months ago
Daniel Supernault c5868de7d6
Lint 6 months ago
Daniel Supernault 0175b4a605
Lint 6 months ago
Daniel Supernault f5d2d95e76
Lint 6 months ago
Daniel Supernault 967ab88ec0
Fix UserAccountDelete delivery 6 months ago
Daniel Supernault cfc5c9387a
Fix UserAccountDelete delivery 6 months ago
dansup edcda57e7a
Merge pull request #6387 from rm-yakovenko/issues/6376
[Server Bug]: app.logo is not used in code
6 months ago
Your Name 89c54bbd84 bad logic 8 months ago
dansup 1f04a190a9
Merge pull request #6438 from pixelfed/shleeable-patch-22
UpdatePersonValidator rejects null name/summary due to required|nullable conflict
8 months ago
dansup 347ffd89a1
Merge pull request #6427 from grahhnt/fix-jsonld-array-accessors
Allow Create activites' 'to' and 'cc' properties to be JSON-LD compliant
8 months ago
Shlee 3e700eac52
Update UpdatePersonValidator.php 8 months ago
Grant 631c0913af Allow activities 'to' and 'cc' to be solo values in accordance with json-ld spec 8 months ago
Shlee 649d31bd32
Update Image.php 9 months ago
Rm Yakovenko a63dbd8436 [Server Bug]: app.logo is not used in code 9 months ago
Daniel Supernault 53742fa699
Lint 9 months ago
Daniel Supernault 4bc1e22121
Refactor LikePipeline and improve Undo Announce handling 11 months ago
Daniel Supernault 85edc9ddd5
Update ActivityPub inbox, properly handle eloquent deletions to trigger observer events 11 months ago
Daniel Supernault d7212d75d0
Update ActivityPub inbox, properly handle eloquent deletions to trigger observer events 11 months ago
Daniel Supernault 1ed48c5df2
Update ActivityPub inbox, properly handle eloquent deletions to trigger observer events 11 months ago
Daniel Supernault 590e9b2434
Update ActivityPub inbox, properly handle eloquent deletions to trigger observer events 11 months ago