Commit Graph

396 Commits (5ebc1af91e96ca065ea55f20e94de5d874a442c8)

Author SHA1 Message Date
Shlee 350b8fdca5
Merge pull request #6920 from pixelfed/feature/user-status-command
new admin commands
4 weeks ago
Your Name 92d09ffaaf Add profile:status command for local and remote profile diagnostics
Unlike user:status (local users only, keyed on the users table),
profile:status keys on the profiles table so it works for remote/
federated actors too. Resolves id, username, user@domain, @user@domain,
webfinger, or remote_url. Shows full column dump, derived/federation
metadata, linked local user (local) or Instance row (remote), and
health checks for orphans, missing keys, and count desync.
4 weeks ago
Your Name 93f8138482 Expand user:status profile section with full column dump and derived metadata
Dump every profiles column dynamically (keys redacted, long text trimmed),
add derived metadata (local/remote type, urls, live vs cached follower/
following/status counts, avatar, federation fields), and profile health
checks (soft-delete, id mismatches, missing crypto keys, count desync).
4 weeks ago
Shlee 80b7e99efe
Merge pull request #6915 from pixelfed/feature/user-status-command
New artisan admin commands
4 weeks ago
Your Name 2c7227a9c1 Add user:checkpassword read-only command to diagnose rejected logins 4 weeks ago
Daniel Supernault 51beaa30d1
Update UserAccountDelete command 4 weeks ago
Your Name 7148c58283 Add user:setpassword artisan command for CLI password reset 4 weeks ago
Your Name e39b0f1b50 Add user:status artisan command for account login/reset diagnostics 4 weeks ago
Shlee f018004b56
Merge pull request #6892 from pixelfed/refactor/move-models-to-namespace
Refactor/move models to namespace
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
Daniel Supernault 33dce75f2c
Pint app/ 4 weeks ago
Shlee 572047280f
Merge pull request #6830 from pixelfed/refactor/modern-bootstrap-app
refactor: migrate to modern Laravel 13+ bootstrap/app.php
4 weeks 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.
4 weeks ago
Your Name 8e41f6fdf8 refactor: migrate to modern bootstrap/app.php architecture
Consolidate the legacy Laravel 5-era kernel/handler architecture into
the modern Application::configure() pattern introduced in Laravel 11:

- HTTP middleware stack → bootstrap/app.php withMiddleware()
- Console schedule → bootstrap/app.php withSchedule()
- Exception handling → bootstrap/app.php withExceptions()
- Route registration → bootstrap/app.php withRouting()
- Service providers → bootstrap/providers.php

Deleted files:
- app/Http/Kernel.php
- app/Console/Kernel.php
- app/Exceptions/Handler.php
- app/Providers/RouteServiceProvider.php
- app/Providers/BroadcastServiceProvider.php

Removed framework providers from config/app.php (auto-registered by
Application::configure). Package providers use auto-discovery.

All 107 tests pass. Schedule, routes, and middleware verified working.
4 weeks ago
Your Name 98267eb26f refactor: replace deprecated str_random() with Str::random()
str_random() is a deprecated helper from laravel/helpers that was
missed in the initial helpers removal. Replace all 18 call sites
with the modern Str::random() equivalent.
4 weeks 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.
4 weeks ago
Ashley Hull ab07a705e6
Merge branch 'dev' into shift-179490 4 weeks ago
Shlee 16b5ffff10
Create SeedDevUsers.php 4 weeks 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
Daniel Supernault d2f06af07d
Update UserAvatarDelete command. Fixes #6627 1 month ago
Daniel Supernault 9fe9b7eb32
Update AdminInviteController 3 months ago
Daniel Supernault 764f106de7
Create UserAvatarDelete.php 4 months ago
Daniel Supernault d8c9cece15
Lint 6 months ago
Daniel Supernault 015f619008
Fix key 6 months ago
Daniel Supernault 1add0938fe
Increase default concurrency 6 months ago
Daniel Supernault e4e9d12b5c
Reduce timeout 6 months ago
Daniel Supernault 92f469ff20
Fix delete fanout 6 months ago
Daniel Supernault 7be475cbb7
Add debugging 6 months ago
Daniel Supernault 9826b54d76
Dont sign content-type 6 months ago
Daniel Supernault 78a657d7df
Refactor, use actor private key, thanks Mastodon ;) 6 months ago
Daniel Supernault dfd538e7e0
Fix signing headers 6 months ago
Daniel Supernault f98588b769
Lint 6 months ago
Daniel Supernault 0175b4a605
Lint 6 months ago
Daniel Supernault f5d2d95e76
Lint 6 months ago
Daniel Supernault 8aab6bdf1a
Lint 6 months ago
Daniel Supernault b969c5acd0
Lint 6 months ago
Daniel Supernault 273efe88c1
Lint 6 months ago
Daniel Supernault c12f07f7d8
Lint 6 months ago
Daniel Supernault 87a8b4507f
Update UserAccountDelete.php 6 months ago
Daniel Supernault 967ab88ec0
Fix UserAccountDelete delivery 6 months ago
Daniel Supernault cfc5c9387a
Fix UserAccountDelete delivery 6 months ago
Daniel Supernault 45b5381970
Fix UserAccountDelete delivery 6 months ago
Daniel Supernault 68a6a5fa51
Update UserAccountDeleteCommand 6 months ago
Daniel Supernault 6ac683d092
Update Kernel.php 7 months ago
Daniel Supernault d1799a0833
Lint commands 9 months ago
Daniel Supernault 6197a8296f
Update UserAccountDelete command 10 months ago
Your Name 45a9a3b472 RemoveUnreachableStatementRector 11 months ago
Shlee 6e5eee8d50
Update Installer.php 11 months ago
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>
11 months ago
dansup 1586808b11
Merge pull request #6189 from rossbearman/admin-invites
Admin web interface for creating and expiring invites; add invitation emails
11 months ago
Daniel Supernault 76b5601a01
Update IG Import
To support non-local fs
12 months ago
Ross Bearman db03733415 Add admin invite interface and email support
This commit does two things:

* Add invite email support to AdminInviteCommand
  - Moves `invite_code` generation to AdminInvite model `creating` event
* Add admin invite management section under admin users dashboard
  - Adds `Admin/AdminUserInviteController` and associated `home` and
    `create` Blade templates.
  - Adds "Invites" button to admin user dashboard
1 year ago
Daniel Supernault c65052c04c
Remove AvatarSync command. Fixes #5833 1 year ago
Daniel Supernault e3f9b1bc9e
Remove MediaReplaceDomainCommand. Fixes #5835 1 year ago
Daniel Supernault 506fe14c11
Update MediaCloudUrlRewrite command, add avatar support. Fixes #6069 1 year ago
Daniel Supernault c319dfbcc4
Update AppRegister controller, add scheduled cleanup task to delete older than 90d 1 year ago
Daniel Supernault bbc7f7b0d4
Fix race condition 1 year ago
Daniel Supernault d595963f51
Fix TransformImports command 1 year ago
Daniel Supernault a8d1d0f2eb
Update ImportService and TransformImports to fix race condition bug 1 year ago
Daniel Supernault c692c7655e
Update TransformImports command 1 year ago
Daniel Supernault b303f90978
Update FixMissingUserProfile.php 1 year ago
Daniel Supernault 91b15a9dfa
Update FixMissingUserProfile.php 1 year ago
Daniel Supernault cd817009d3
Create FixMissingUserProfile.php 1 year 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.
1 year ago
Daniel Supernault f4a365e2b2
Update InstanceUpdateTotalLocalPosts.php
- Improve total post count by adding `uri` IS NULL check
1 year ago
Daniel Supernault 5a5821fe86
Update Instance total post, add optional estimation for huge status tables 1 year ago
Anil Kulkarni 8db8258cab
Fix server post stats
This fixes the homepage, showing how many posts have been made by the
server.
The prior logic includes posts from remote servers by an indirect check
for if it's a local post.
This commit changes the query behavior to directly check for the local
flag in the statuses column, and additionally excludes shares
2 years ago
Daniel Supernault 134eb6324e
Update AccountPostCountStatUpdate, fix memory leak 2 years ago
Daniel Supernault 01b445f6ea
Update AccountImports, add webp support 2 years ago
Daniel Supernault 1278e2211b
Update IG import command 2 years ago
Daniel Supernault decaa2596d
Fix curl 2 years ago
Daniel Supernault d968f8e6e0
Add media:replacedomain command to replace S3 media urls 2 years ago
Daniel Supernault 4960421073
Update CuratedOnboarding, add new app:curated-onboarding command, extend email verification window to 7 days and fix resend verification mails 2 years ago
Daniel Supernault df7283fc00
Add localization:generate command to generate the js/vue l10n files from the blade translations 2 years ago
Daniel Supernault a05524e834
Fix #5582 2 years ago
daniel 49a6e69858
Merge pull request #5540 from jippi/patch-1
fix: don't restore memory limit after cities import
2 years ago
Shlee a13545e328
Update FixUsernames.php 2 years ago
Christian Winther 2de9c70a0c
fix: don't restore memory limit after cities import
Since this command can only be invoked by CLI, the process will exit after a successful import, so restoring the transient PHP memory limit doesn't really have any affect.

In PHP 8.4, this throws the following error (which doesn't happen in 8.3 and below)

> [entrypoint / 11-first-time-setup.sh] - (stderr) 128769/128769 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%[2025-01-20 11:29:23] production.ERROR: Failed to set memory limit to 134217728 bytes (Current memory usage is 134746112 bytes) {"exception":"[object] (ErrorException(code: 0): Failed to set memory limit to 134217728 bytes (Current memory usage is 134746112 bytes) at /var/www/app/Console/Commands/ImportCities.php:140)

It seems to be a 8.4 behavior change, so removing the logic would make it go away
2 years ago
Anil Kulkarni 4d0cb32f79
Fix notifications not being delivered by directly checking the state from the database 2 years ago
Daniel Supernault 3749267260
Add ReclaimUsername command 2 years ago
Daniel Supernault 99b15b73f6
Update CatchUnoptimizedMedia command, make 1hr limit opt-in 2 years ago
daniel 632f590c3c
Merge branch 'staging' into insta-import-optimizeMedia 2 years ago
Daniel Supernault 77da9ad8e9
Update UserVerifyEmail command 2 years ago
Daniel Supernault 9eeb7b6741
Update Status caption logic, stop storing duplicate html caption in db and defer to cached StatusService rendering 2 years ago
Daniel Supernault 8e208b0eb3
Update PushGatewayRefresh command 2 years ago
Daniel Supernault 92ad62e735
Update NotificationAppGatewayService 2 years ago
Daniel Supernault dba012840c
Add PushGatewayRefresh command 2 years ago
Daniel Supernault be02f48a77
Update UserAccountDelete command, increase sharedInbox ttl from 12h to 14d 2 years ago
Daniel Supernault c5f85c71ae
Update DeleteRemoteProfile command 2 years ago
Daniel Supernault c38bd54792
Add Delete Remote Profile command 2 years ago
Daniel Supernault 4f2b8ed20a
Refactor total local post count logic, cache value and schedule updates twice daily to eliminate the perf issue on larger instances 2 years ago
Daniel Supernault 71adfd2804
Add app:captcha-toggle-command command to disable captcha from cli 2 years ago
Daniel Supernault dc6b9f4661
Update task scheduler, add weekly instance scan to check nodeinfo for known instances 2 years ago
Daniel Supernault d670de175e
Update media_types, use config_cache 3 years ago
Daniel Supernault 665581d80c
Update cloud storage, use config_cache 3 years ago
Daniel Supernault 4aa0e25f4c
Update commands, add user account delete cli command to federate account deletion 3 years ago
Daniel Supernault 632f2cb619
Update SoftwareUpdateService, add command to refresh latest versions 3 years ago
Christian Winther d9a9507cc8 sync 3 years ago
Christian Winther 5bd93b0f5e sync 3 years ago
Christian Winther 3d6efd098d sync 3 years ago
Christian Winther d374d73ba7
Merge branch 'staging' into jippi-fork 3 years ago
Daniel Supernault 6921d3568e
Add InstanceMananger command 3 years ago
Daniel Supernault 7caed381fb
Update AP helpers, more efficently update post counts 3 years ago
Daniel Supernault 32c59f0440
Update TransformImports command, fix import service condition 3 years ago
Daniel Supernault 081360b905
Update console kernel, add ig import s3 job 3 years ago
Daniel Supernault 622e9cee97
Add S3 IG Import Media Storage 3 years ago
Christian Winther 890827d60e Merge branch 'dev' of github.com:pixelfed/pixelfed into jippi-fork 3 years ago
Christian Winther 7b3e11012f merge dev 3 years ago
Christian Winther b19d3a20dd only run kernel tasks on one server
lifted from https://github.com/pixelfed/pixelfed/pull/4634
3 years ago
daniel d7efe1a7ee
Merge pull request #3894 from vanlueckn/feat-add-emoji-cli
Add a command to import emoji archives to pixelfed
3 years ago
Daniel Supernault 73a0f528ab
Update user domain block commands 3 years ago
Daniel Supernault 519c7a3735
Update domain block commands 3 years ago
Daniel Supernault 3e28cf661b
Add user domain block commands 3 years ago
Daniel Supernault e5e3be0598
Update app:hashtag-related-generate command, add existing confirmation 3 years ago
Daniel Supernault 176b4ed793
Add app:hashtag-related-generate command 3 years ago
Daniel Supernault 1e31fee6a6
Add app:hashtag-cached-count-update command to update cached_count of hashtags and add to scheduler to run every 25 minutes past the hour 3 years ago
Daniel Supernault 446ca3a878
Update notification epoch generation 3 years ago
Daniel Supernault 5b3a56102f
Add S3 command to rewrite media urls 3 years ago
paule 67a87ccb1e fix: CatchUnoptimizedMedia, prevent skipping of imported posts 3 years ago
Daniel Supernault c37b7cde30
Add `avatar:storage-deep-clean` command to dispatch avatar storage cleanup jobs 3 years ago
Daniel Supernault 01bac51104
Update user:admin command, improve logic. Fixes #2465 3 years ago
Daniel Supernault c6408fd79d
Add user:2fa command to easily disable 2FA for given account 3 years ago
Daniel Supernault ba7551d8a9
Update TransformImports command, increment status_count on profile model 3 years ago
Daniel Supernault 43b101dbfa
Add FetchMissingMediaMimeType command 3 years ago
Daniel Supernault 04f4f8baf1
Update FixStatusCount, improve command and support remote count resync 3 years ago
Daniel Supernault afe6948da8
Update console kernel, add import upload gc 3 years ago
Daniel Supernault 892907d5d1
Update TransformImports command, improve handling of imported posts that already exist or are from deleted accounts 3 years ago
Daniel Supernault b18f3fba8b
Update IG Import commands, fix stalled import queue 3 years ago
Daniel Supernault 6d0c5994da
Update TransformImports command, bump limit from 10 to 100 3 years ago
Daniel Supernault 477986abdd
Add import scheduler 3 years ago
Daniel Supernault adb070f178
Update scheduler, fix S3 media garbage collection not being executed when cloud storage is enabled via dashboard without .env/config being enabled 3 years ago
Daniel Supernault ad25ed6792
Update UserCreate command, fix is_admin flag 3 years ago
Daniel Supernault ae6dd4e3a2
Update pipeline dispatch, replace dispatchSync with dispatch 3 years ago
Daniel Supernault b1f95a7213
Bump laravel, v9 => v10 3 years ago
Daniel Supernault 2eee36cfbd
Update MediaS3GarbageCollector, fix handle 4 years ago
Daniel Supernault 672cccd433
Add media:fix-nonlocal-driver command. Fixes s3 media created with invalid FILESYSTEM_DRIVER=s3 configuration 4 years ago
idanoo 55dc9b0aaa
Resolve issue with raw sql backticks for postgresql migrations 4 years ago
Daniel Supernault e4e7b5062a
Update FixDuplicateProfiles command 4 years ago
Daniel Supernault 443acb8227
Update FixDuplicateProfiles command 4 years ago
Daniel Supernault bc205345a9
Update FixDuplicateProfiles command 4 years ago
daniel ec2c312d0e
Merge pull request #4063 from ablyler/add-cloud-media-migration-error-logs
Add error logging for migrating to cloud storage failures
4 years ago
idanoo 52d65538cd
Update User artisan commands to match UserDelete 4 years ago
Andy Blyler 82bd1512fe Add error logging for migrating to cloud storage failures 4 years ago
Daniel Supernault 870dbd15df
Update AdminInviteCommand, fix skip email validation flag 4 years ago
Daniel Supernault 8a1fa38550
Update AdminInviteCommand, improve expiration logic 4 years ago
Daniel Supernault b73ca9a1ea
Add Admin Invites 4 years ago
Daniel Supernault 95bbcc3827
Update MediaS3GarbageCollector command, handle thumbnail deletion 4 years ago
Daniel Supernault a36b7f7291
Update CloudMediaMigrate command 4 years ago
Daniel Supernault fe76e709be
Update CloudMediaMigrate command 4 years ago