Commit Graph

421 Commits (e1df7d657c33bb3b814c31d48d1dd990d71fda57)

Author SHA1 Message Date
Daniel Supernault 12a7c3ecfe
Fix AccountDelete federation 2 days ago
Daniel Supernault 9c81a75ad3
Refactor Direct Messages, add Group Chat support and proper context threading with Mastodon 2 days ago
Daniel Supernault 80f792038c
Fix federation comment threading 4 days ago
Daniel Supernault fc856fd1f3
Add Federation Debug command 4 days ago
Daniel Supernault a951402dcb
Update account delete command, fix federation bug 5 days ago
Your Name bb430cf77a Larastan 5 5 days ago
Your Name b9a01b68f0 Larastan 5 days ago
Your Name 1379ae4019 Larastan 5 days ago
Your Name 28b11b9b35 Larastan 2 5 days ago
Your Name 33a6c642ea Larastan 1 to 2 5 days ago
Your Name 53b698ec48 Revert "StrictArrayParamDimFetchRector"
This reverts commit a28d3df4c4.
5 days ago
Your Name 6beab304a0 lint 5 days ago
Your Name 99031fa6bc ReturnTypeFromReturnDirectArrayRector 6 days ago
Your Name a28d3df4c4 StrictArrayParamDimFetchRector 6 days ago
Your Name ef59168e2f StrlenZeroToIdenticalEmptyStringRector 6 days ago
Your Name a5d413a594 ExplicitReturnNullRector 6 days ago
Your Name 0435d08568 RemoveAlwaysElseRector 6 days ago
Your Name 5949dc21c1 UseIdenticalOverEqualWithSameTypeRector 6 days ago
Your Name 32d1c0e7cc add type to function 6 days ago
Your Name d4e7948a2f add type to return 6 days ago
Your Name c57e5d8ed7 adding type 6 days ago
Your Name 8dcdd93e2b RemoveUnusedVariableInCatchRector 6 days ago
Your Name dc7cf910fa get_class to ::class 6 days ago
Your Name f1d4c87391 const types 6 days ago
Your Name 0dbd78ca8e Lint 6 days ago
Your Name 5ebc1af91e BATCH 1 6 days ago
Shlee 2eb13c901b
Update CaptchaEnableCommand.php 6 days ago
Shlee 9ec46005df
Merge pull request #7309 from pixelfed/feature/laravel-cap
Refactor: Captcha provider - HCaptcha, Turnstile and Cap
1 week ago
Your Name b24503a46c chore: rename Pirate English locale to BCP-47 en-x-pirate
Use the BCP-47 private-use subtag en-x-pirate instead of en-Pirate:
- rename lang/en-Pirate -> lang/en-x-pirate
- update crowdin.yml mapping (en-PT -> en-x-pirate)
- update ExportLanguages LOCALE_OVERRIDES key + display name
- bump locale code validation max length (6 -> 12) so the longer
  code passes in SpaController and HomeSettings
- regenerate locale exports/manifest and rebuild web assets
1 week ago
Your Name 337de5a64e fix pirate 1 week ago
Shlee 2d65095f9a
Update ExportLanguages.php 1 week ago
Your Name 7d84856da3 polish 1 week ago
Your Name fcea9dc34b polish 1 week ago
Your Name 6f78c1d976 polish 1 week ago
Your Name 8f4add2f1e polish 1 week ago
Your Name 054d129479 fix(i18n): skip empty translation strings in i18n:export
Empty lang/x/web.php values (untranslated Crowdin placeholders) were
being exported as empty strings, overriding the English UI fallback and
breaking non-English languages. Recursively strip empty strings before
writing the JSON build files, then regenerate all language files.
1 week ago
Your Name 648a901aae polish 1 week ago
Daniel Supernault 31c652427f
Remove deprecated command 1 week ago
Daniel Supernault 68b1a55960
Update Instagram Imports 1 week ago
Daniel Supernault 83c9b86ae3
Add AccountRevocationService 1 week 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.
1 week ago
Your Name 729396302a fix(federation): swallow ConnectionException on synchronous AP delivery
queueDelivery() runs synchronously from the v1 follow/unfollow endpoints
(via Helpers::sendSignedObject), which commit local state before delivery
and have no try/catch. After the Http::send() rewrite, a ConnectionException
from a momentarily-unreachable remote was rethrown out of queueDelivery(),
turning a best-effort delivery into a 500 for the user after the follow/
unfollow was already persisted. For unfollows, a retry then hit the
isFollowing==false branch and never re-sent the Undo, diverging state.

Treat transport failures (ConnectionException) as best-effort on this
single-delivery path: log, record host health, and return without
propagating. Other exception types (invalid sender/destination, signing,
serialization) still throw, matching pre-rewrite precondition behavior.

Also widen SendUpdateActor's per-user catch from HttpException to Throwable
so a single bad host no longer aborts a fleet-wide actor update (the old
HttpException catch is dead for ConnectionException/invalid-destination).
1 week ago
Daniel Supernault 22108f8f11
Lint PostImportController 1 week ago
Daniel Supernault 7a98ebfe56
Delete NotificationEpochUpdate.php 2 weeks ago
Your Name 341351c47e Remove sha256 verification from MediaMoveStorageLocalToCloud
original_sha256 is the pre-optimization upload hash and can never match the
optimized local file, so comparing against it is not a valid integrity
check for migration. Drop the --verify-sha256 option and the checksum step
entirely; verify now relies on cloud-object existence and size parity.
2 weeks ago
Your Name 438560415a Revert debug-by-default in MediaMoveStorageLocalToCloud
The cloud migration failure (stale original_sha256 verify) is resolved, so
the temporary default-on debug is no longer needed. Restore --debug to a
bare, off-by-default flag and remove the debugEnabled() string-parsing
helper.
2 weeks ago
Your Name 441a94e731 Make original_sha256 verify opt-in in MediaMoveStorageLocalToCloud
original_sha256 is the hash of the file as originally uploaded, but the
async optimize pipeline (ImageResize/ImageUpdate) rewrites the local file
in place and never updates that column. Verifying the current local bytes
against it made every optimized image fail with sha256_mismatch, so the
migration reported moved=0 and exited 1.

Add a --verify-sha256 flag (off by default) that gates the checksum step.
By default verify relies on cloud-object existence and size parity, which
is the only signal that actually describes the uploaded copy. Add tests
covering both the default (migrates) and opt-in (fails) paths.
2 weeks ago
Your Name b2a068b934 polish 2 weeks ago
Your Name 0c68b6a680 Add failure logging to admin:MediaMoveStorageLocalToCloud and enable debug by default
The scheduled command only surfaced 'exit code 1' with no cause. Add
structured Log::error entries at every failure path (cloud disk
unresolvable/unconfigured, cloud storage disabled, invalid --before-id,
candidate fetch failure, per-media failure with full context, and a
run-level summary when failures occur).

Also make --debug default to true (now a valued option) so production
runs emit verbose routing detail while this is investigated; pass
--debug=false to silence.
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