Commit Graph

12836 Commits (1810caac2d82e0be0b3148486cb20a70d3c7b70c)
 

Author SHA1 Message Date
Daniel Supernault 1810caac2d
Update composer 4 weeks ago
Daniel Supernault e3a2640704
Fix endsWith. Closes #6904 4 weeks ago
Shlee 00fa9a2fd0
Merge pull request #6903 from pixelfed/stagingfix
refactor: migrate LikePipeline to use NotificationService::firstOrCre…
4 weeks ago
Your Name 8b53f23e77 refactor: migrate LikePipeline to use NotificationService::firstOrCreateNotification 4 weeks ago
Shlee 97c1c4b944
Merge pull request #6902 from pixelfed/stagingfix
fix: resolve larastan class.notFound errors
4 weeks ago
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
4 weeks ago
Shlee ea01a26666
Merge pull request #6901 from pixelfed/refactor/extract-duplicate-patterns
refactor: extract duplicate patterns into shared methods
4 weeks 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.
4 weeks ago
Shlee 3c14234fd9
Merge pull request #6898 from pixelfed/refactor/activitypub-delivery-service
refactor: extract shared ActivityPub pool
4 weeks ago
Your Name 9c9e2a5a22 refactor: extract shared ActivityPub pool delivery into ActivityPubDeliveryService
Add ActivityPubDeliveryService::pool() using Laravel's Http::pool() to
consolidate the duplicated delivery pattern found across 10 jobs.

Updated jobs:
- StatusActivityPubDeliver
- StatusDelete
- StatusLocalUpdateActivityPubDeliverPipeline
- FanoutDeletePipeline
- SharePipeline
- UndoSharePipeline
- StoryFanout
- StoryExpire
- StoryDelete
- ProfileMigrationDeliverMoveActivityPipeline

The shared method accepts a Profile (sender), audience (inbox URLs),
and activity (payload array), handling signing, user-agent, timeout,
and concurrency in one place. No direct Guzzle usage remains in
app/Jobs/.
4 weeks ago
Shlee ab54a0bf88
Merge pull request #6897 from pixelfed/refactor/split-inbox-handlers
refactor: split ActivityPub Inbox
4 weeks ago
Shlee a1b3d2463d
Merge branch 'staging' into refactor/split-inbox-handlers 4 weeks 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
4 weeks ago
Shlee f018004b56
Merge pull request #6892 from pixelfed/refactor/move-models-to-namespace
Refactor/move models to namespace
4 weeks ago
Shlee b4afda12d5
Merge pull request #6889 from pixelfed/refactor/status-delete-http-client
refactor: replace Guzzle pool with Laravel HTTP client in StatusDelete
4 weeks ago
Your Name aae7700bf3 fix: resolve 3 remaining Larastan errors from model migration
- AccountInterstitial middleware: fix FQCN reference
- Like/UndoLike transformers: fix aliased import namespace
4 weeks ago
Your Name 4231ce9938 test: verify morph map resolves legacy model namespaces
Ensures that existing database records using the old App\Status,
App\Profile, etc. morph types correctly resolve to the new
App\Models\ classes via Relation::morphMap().
4 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
4 weeks ago
Your Name a142db87b4 polish 4 weeks ago
Shlee 9770ac1aeb
Merge pull request #6891 from pixelfed/fix/code-review-security-and-bugs
polish
4 weeks ago
Your Name 2b1c9c818b polish 4 weeks ago
Shlee 609646459e
Merge pull request #6890 from pixelfed/refactor/new-status-pipeline-retry-config
fix: improve NewStatusPipeline retry configuration
4 weeks 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)
4 weeks ago
Your Name 00dd5b3d92 refactor: replace Guzzle pool with Laravel HTTP client in StatusDelete
Replace direct GuzzleHttp\Client and Pool usage in fanoutDelete()
with Laravel's Http::pool() facade. This provides:

- Testability via Http::fake() in tests
- Consistent timeout/retry configuration
- No direct Guzzle dependency in application code
- Proper integration with Laravel's HTTP client features
4 weeks ago
Shlee df9aebcf9b
Merge pull request #6888 from pixelfed/refactor/controller-return-types
refactor: add return type declarations to controller methods
4 weeks ago
Your Name 17a5b5c3de fix: resolve 6 Larastan errors in controller return types
- DeckController: add missing View contract import
- CuratedRegisterController::proceed(): add default switch case
- GroupController::reportAction(): add default switch case
- InstallController::checkDatabase/precheckDatabase: add missing return
4 weeks ago
Your Name 54cfdf3c2b refactor: add return type declarations to controller methods
Adds explicit return type declarations to 498 controller methods
across 88 files. Types inferred from return statements:

- JsonResponse for response()->json() returns
- RedirectResponse for redirect()/back() returns
- View (contract) for view() returns
- Response for response() returns
- void for methods with no return value
- array for array returns
- string/int/bool for scalar returns

Also fixes 3 methods with incorrect bare returns:
- AvatarController::deleteAvatar - bare return → json response
- ImportPostController::checkPermissions - bare return → true
- RemoteAuthController::accountToId - bare return → empty array
4 weeks ago
Shlee 89a0aa3bf7
Merge pull request #6887 from pixelfed/shleeable-patch-1
Move ValidateCsrfToken middleware to a new position
4 weeks ago
Shlee 46393bd9fc
Move ValidateCsrfToken middleware to a new position 4 weeks ago
Shlee 9aa2df66cb
Merge pull request #6885 from pixelfed/shleeable-patch-1
Revert ValidateCsrfToken to PreventRequestForgery change - wait for Laravel 13
4 weeks ago
Shlee 2c704d9a76
Update app.php 4 weeks ago
Shlee e9dcbf70e3
Merge pull request #6884 from pixelfed/fix/test-improvements
pint /tests
4 weeks ago
Your Name 412c29bb47 Improve test assertions and imports 4 weeks ago
Daniel Supernault db636ee08a
Pint database/ 4 weeks ago
Shlee 7fa0615448
Merge pull request #6883 from pixelfed/shleeable-patch-1
Revert strict tests in nonprod
4 weeks ago
Shlee f13a891ff4
Update AppServiceProvider.php 4 weeks ago
Daniel Supernault 42f361540c
Pint config/ 4 weeks ago
Daniel Supernault 33dce75f2c
Pint app/ 4 weeks ago
dansup e1b60d070b
Merge pull request #6882 from pixelfed/shleeable-patch-2
Refactor: Add additional strict modes for testing environments only
4 weeks ago
Shlee de8de9251b
Update AppServiceProvider.php 4 weeks ago
Shlee 1ae0feb129
Update AppServiceProvider.php 4 weeks ago
dansup 8e99e0c316
Merge pull request #6880 from pixelfed/fix/cache-serializable-classes
Laravel 13 prep: add serializable_classes to cache config
4 weeks ago
dansup 90af7d8a2d
Merge pull request #6879 from pixelfed/fix/csrf-middleware-rename
Laravel 13 prep: rename VerifyCsrfToken to PreventRequestForgery
4 weeks ago
dansup e0876c8a97
Merge pull request #6878 from pixelfed/fix/mysql-strict-mode
fix: enable MySQL strict mode and remove defaultStringLength(191)
4 weeks ago
dansup 93553670e5
Merge pull request #6877 from pixelfed/fix/replace-request-get
Laravel 13 prep: replace Symfony deprecated ->get() with ->input()
4 weeks ago
dansup 665221176b
Merge pull request #6874 from pixelfed/fix/api-throttle-middleware
feat: add global throttle:api middleware to the api route
4 weeks ago
Shlee c04fec21fc
Update model loading behavior in AppServiceProvider 4 weeks ago
Shlee 542434785c
Set strict mode to true in database configuration 4 weeks ago
Shlee 35cb9a9dcb
Change DB_STRICT environment variable to true 4 weeks ago
Shlee 323cfc9cf7
Update database.php 4 weeks ago