Commit Graph

36 Commits (444c796bac5e618f9fcfe523f65f7fee87d805aa)

Author SHA1 Message Date
Your Name 444c796bac Trigger StatusHashtag observer on deletion to keep cached_count accurate 2 weeks ago
Daniel Supernault 40fedfca4f
Fix DeleteAccountPipeline 2 weeks ago
Shlee 8d375aed8a
Update DeleteAccountPipeline.php 3 weeks ago
Your Name 95e316e86f Apply staged formatting and session config changes 3 weeks ago
Shlee f51f1ef0db
Update DeleteAccountPipeline.php 3 weeks ago
Your Name c4e5b96d25 Stream deletions with cursor and batch notification lookups in delete jobs
The status- and account-deletion jobs loaded whole collections with
->get() and then looped, running a per-row Notification lookup inside
each iteration.

- StatusDelete / RemoteStatusDelete: resolve associated DirectMessage and
  MediaTag ids, fetch their notifications in a single whereIn query,
  clear each via cursor (NotificationService::del must run per row for
  cache/redis cleanup), then bulk delete the DMs and media tags.
- DeleteAccountPipeline / DeleteRemoteProfilePipeline: stream Story and
  Collection deletions with cursor() instead of loading every row into
  memory. Per-row file unlink and item deletes are preserved.

Adds StatusDeleteCleanupTest covering DM + notification cleanup, media
tag + notification cleanup, and the no-associations case.
3 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 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
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.
4 weeks ago
Daniel Supernault 53742fa699
Lint 9 months ago
Your Name 4122653707 DeletePipeline defensive checks 11 months ago
Daniel Supernault 10eb1a8acb
Update ComposeController, prioritize followed users and follower_count first 1 year 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 2b1ce0d33f
Update DeleteAccountPipeline 4 years ago
Daniel Supernault 492b92140a
Update DeleteAccountPipeline 4 years ago
Daniel Supernault 2e7b77a4c4
Update DeleteAccountPipeline 4 years ago
Daniel Supernault 1cdc0fe8ed
Update delete pipelines 4 years ago
Daniel Supernault f46b01af51
Update FollowerService, use redis sorted sets for following relations 4 years ago
Daniel Supernault 356cc2774a
Update FollowerService, use redis sorted sets for follower relations 4 years ago
Daniel Supernault 23e2998f94
Update DeleteAccountPipeline, handle flysystem v3 changes by checking files exist before attempting to delete 4 years ago
Daniel Supernault 6eabe07ca3
Update DeleteAccountPipeline, dispatch on low queue 4 years ago
Daniel Supernault 2533bd51a9
Update DeleteAccountPipeline, fix typo 5 years ago
Daniel Supernault 4870cc3b5d
Update DeleteAccountPipeline, improve coverage 5 years ago
Daniel Supernault a9edd93fb5
Update DeleteAccountPipeline, fix perf issues 5 years ago
Daniel Supernault 63eceb8236
Update delete handler 6 years ago
Daniel Supernault b3078f274f
Update DeleteAccountPipeline, add AccountInterstitial and DirectMessage purging 6 years ago
Daniel Supernault f400c632f0
Update DeleteAccountPipeline, fixes #2016 7 years ago
Daniel Supernault 578d2f353d
Update DeleteAccountPipeline 7 years ago
Daniel Supernault 76c480bf85
Update DeleteAccountPipeline to delete StatusHashtags 7 years ago
Daniel Supernault a641db0764
Update avatar deletion 7 years ago
Daniel Supernault fae385989e
Update DeleteAccountPipeline 8 years ago
Daniel Supernault 2378376595
Update DeleteAccountPipeline 8 years ago
Daniel Supernault 868a83cb65
Update DeleteAccountPipeline job, add db transactions to prevent race conditions 8 years ago
Daniel Supernault b5cc7b12bc
Update DeleteAccountJob 8 years ago
Daniel Supernault 13a5b0e12d
Add WIP account delete job 8 years ago