Commit Graph

700 Commits (e3f0573eba05ee04b80a96fbf78714d2ceb29560)

Author SHA1 Message Date
Daniel Supernault 9c81a75ad3
Refactor Direct Messages, add Group Chat support and proper context threading with Mastodon 7 days ago
Daniel Supernault 809ec1f0e5
Fix FollowServiceWarmCache pipelines 1 week ago
Daniel Supernault 226785f085
Fix RemoteReplyResolvePipeline, make unique until processing 1 week ago
Daniel Supernault 56b96359c3
Fix fetching by properly retrying certain error responses 1 week ago
Daniel Supernault 18019948e4
Fix media pipeline 1 week ago
Daniel Supernault 80f792038c
Fix federation comment threading 1 week ago
Daniel Supernault 823efcaad7
Add FEP-044f: Consent-respecting quote posts 1 week ago
Daniel Supernault c928ebe6b4
Fix ap pipeline 1 week ago
Daniel Supernault dedfa67b70
Add FEP-8fcf followers collection synchronization
Sender: followers-only Create deliveries carry a signed
Collection-Synchronization header scoped to the authority of each inbox,
and the partial followers collection is served to authenticated instances
at /users/{username}/followers_synchronization.

Receiver: a signed Collection-Synchronization header whose digest differs
from our copy queues FollowersSyncPipeline, which fetches the partial
collection as the instance actor and reconciles followers, pending follow
requests and unknown follows.

Adds profiles.followers_url for the collectionId check.
1 week ago
Your Name 28b11b9b35 Larastan 2 1 week ago
Daniel Supernault c7600fb51a
Update FeedInsertRemotePipeline, prevent statuses older than a week from being distributed 1 week ago
Your Name 2be73c4879 Larastan Level 1 1 week ago
Your Name 53b698ec48 Revert "StrictArrayParamDimFetchRector"
This reverts commit a28d3df4c4.
1 week ago
Your Name 6beab304a0 lint 1 week ago
Your Name 99031fa6bc ReturnTypeFromReturnDirectArrayRector 1 week ago
Your Name a28d3df4c4 StrictArrayParamDimFetchRector 1 week ago
Your Name a5d413a594 ExplicitReturnNullRector 1 week ago
Your Name 0435d08568 RemoveAlwaysElseRector 1 week ago
Your Name 5949dc21c1 UseIdenticalOverEqualWithSameTypeRector 1 week ago
Your Name 9fde74082a add type to function 1 week ago
Your Name d4e7948a2f add type to return 1 week ago
Your Name c57e5d8ed7 adding type 1 week ago
Your Name 8dcdd93e2b RemoveUnusedVariableInCatchRector 1 week ago
Your Name 4547b1fc11 StrStartsWithRector 1 week ago
Your Name dc7cf910fa get_class to ::class 1 week ago
Your Name f1d4c87391 const types 1 week ago
Your Name 0dbd78ca8e Lint 2 weeks ago
Your Name f3b6487451 BATCH 2 2 weeks ago
Your Name 5ebc1af91e BATCH 1 2 weeks ago
Daniel Supernault 493b8de031
Add FeaturedCollections/Starter Kits support 2 weeks ago
Daniel Supernault 83c9b86ae3
Add AccountRevocationService 2 weeks ago
Your Name e3b6cebf27 Fix MariaDB driver detection and reblog caption null inserts
Laravel 11 exposes MariaDB as a dedicated 'mariadb' driver, so
config('database.default') === 'mysql' checks silently misclassified
MariaDB as the non-mysql (postgres) branch.

- Add App\Util\Database\DatabaseDriver with isMysqlLike()/isPgsql()
  plus db_is_mysql_like()/db_is_pgsql() global helpers.
- Route all database.default driver checks through the helpers so
  MySQL and MariaDB are treated as one group.
- Use '' (not null) for share/compose caption+rendered, valid whether
  the column is nullable or NOT NULL (it is NOT NULL on MySQL/MariaDB).
- Guard pgsql strtolower() in registration against missing fields.
- Scope CustomEmoji::duplicateShortcodes to the grouped column for
  Postgres GROUP BY validity.
- Remove stale Postgres guard in status:dedup; use havingRaw for
  cross-driver HAVING.
2 weeks ago
Your Name 8a4567a5c2 Isolate fanout delivery failures from StatusDelete local cleanup 2 weeks ago
Shlee 78447646b8
Merge pull request #7253 from pixelfed/fix/remote-update-media-validate-before-orphan
Validate remote update attachments before detaching existing media
2 weeks ago
Your Name 9b829ca56e Validate remote update attachments before detaching existing media 2 weeks ago
Your Name 60284a871e Purge status_edits on account and status deletion 2 weeks ago
Daniel Supernault 96acfb3d91
Update InboxWorker, improve handling 2 weeks ago
Your Name f1e4536d19 Invalidate notification cache when deleting a status 2 weeks ago
Daniel Supernault fbd52dd8fc
Improve federation handling 2 weeks ago
Daniel Supernault f371376789
Fix StatusDelete, handle StatusService deletion 2 weeks ago
Daniel Supernault 6e0d8454fd
Fix StatusDelete job, add logging 2 weeks ago
Daniel Supernault 15b46186b4
Delete NotificationEpochUpdatePipeline.php 2 weeks ago
Shlee 140221fe90
Merge pull request #7192 from pixelfed/refactor/str-of-to-native
Laravel 13 Prep: Replace Str::of() fluent chains with static Str::/native calls
2 weeks ago
Your Name a424493420 Replace Str::of() fluent chains with static Str::/native calls
Aligns with the app's dominant convention (171 static Str:: calls vs
24 Str::of() chains). Uses Str::afterLast() for the repeated
"segment after last slash" pattern, Str::matchAll() where a
Collection return is needed, and native explode()/substr() where a
plain array/string suffices.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2 weeks ago
Your Name 277b8aa970 Use now() helper instead of Carbon::now() for current-time access
Aligns with the app's dominant convention (413 now()/today() call
sites vs 12 Carbon::now()). Carbon::parse() calls are untouched since
they parse arbitrary date strings, not current-time access.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2 weeks ago
Your Name 5a9c235922 Backfill storage_used on upgrade via queued job + data migration
Repair accounts whose storage counter drifted before the self-heal logic
existed (#7169). A data migration dispatches RecalculateAllUserStoragePipeline
to the low queue so the deploy is not blocked while every user is recomputed
from source. The job is unique and idempotent, so re-runs are harmless.

- RecalculateAllUserStoragePipeline: chunked recalc of all active users
- Migration dispatches the job (no inline heavy work during deploy)
- Test covers bulk recalculation from actual media
3 weeks ago
Your Name 6496904293 Fix account storage limit not freeing on media deletion (#7169)
users.storage_used only ever grew: uploads incremented it but no deletion
path decremented it, so users hit the account size limit even when their
real media usage was well below it.

- Decrement storage_used in MediaDeletePipeline when media is removed
- Add UserStorageService::increaseStorageUsed / decrementStorageUsed as the
  fast, symmetric hot-path counter updates (floor-based, clamped at zero)
- Refactor the 6 upload call sites to use increaseStorageUsed instead of
  duplicated inline writes (also fixes ceil/floor drift vs the reconciler)
- Add (user_id, size) covering index so per-user SUM(size) is not a full
  table scan (INPLACE/LOCK=NONE, skipped on sqlite)
- Add user:storage:recalculate command to repair affected accounts, with a
  daily --stale=168 scheduled reconciler to correct any drift
- Add regression tests for the pipeline and UserStorageService
3 weeks ago
Your Name 9e14151228 Deliver posts regardless of profile no_autolink flag 3 weeks ago
Your Name 444c796bac Trigger StatusHashtag observer on deletion to keep cached_count accurate 3 weeks ago
Your Name 1ffda3eba9 Federate unlike before deleting Like so retries can deliver 3 weeks ago