Commit Graph

4702 Commits (0aa4da98e371c23bbfca8900a48ed263f3555f9c)

Author SHA1 Message Date
Your Name 0aa4da98e3 larastan fix last commit 1 week ago
Shlee 3de36431bb
Merge pull request #7308 from pixelfed/fix/snowflake-seq-collision
Fix/snowflake seq collision
1 week ago
Your Name d1d15c76f9 fix i18n cache on about/guidelines 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
Your Name 6c90810f4a Fix AdminDirectoryController 500 on media_types validation
The media_types closure validator called $value->toArray(), but the
value is a plain PHP array (built via explode()), causing a fatal
'Call to a member function toArray() on array' and a 500 when opening
the Directory admin view.

Normalize to an array before in_array() checks, handling both array
and Collection inputs.

Fixes #7311
1 week ago
Shlee 2d65095f9a
Update ExportLanguages.php 1 week ago
Shlee 1d76ec6d85
Update AppServiceProvider.php 1 week ago
Your Name 7d84856da3 polish 1 week ago
Your Name 47dd59367e polish 1 week ago
Your Name fcea9dc34b polish 1 week ago
Your Name 6f78c1d976 polish 2 weeks ago
Your Name 8f4add2f1e polish 2 weeks 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.
2 weeks ago
Your Name 74cbc2753f fix(snowflake): avoid duplicate sequence on first two IDs
SnowflakeService::next() read the sequence with Cache::get() and, on the
non-initial branch, incremented the cache store but never refreshed the
local $seq. As a result the first two IDs in a fresh sequence both used
seq=1 (values ran 1, 1, 2, 3, ...). Two IDs generated in the same
millisecond with the same (randomly chosen) datacenter/worker then
produced identical snowflakes, causing intermittent
'UNIQUE constraint failed: statuses.id' errors — e.g. the flaky
SeasonalAggregationTest which rapidly creates several statuses.

Use Cache::increment()'s atomic post-increment return value as the
sequence so every call gets a distinct seq (1, 2, 3, ...), reseeding
when the store is empty/non-numeric and preserving the 4095 wraparound.
2 weeks ago
Daniel Supernault 31c652427f
Remove deprecated command 2 weeks ago
Daniel Supernault 68b1a55960
Update Instagram Imports 2 weeks ago
Daniel Supernault e67182c9b3
Update WebfingerService 2 weeks ago
Daniel Supernault 83c9b86ae3
Add AccountRevocationService 2 weeks ago
Daniel Supernault c5f69d6ed7
Fix mobile_registration attribute 2 weeks ago
Your Name 11d547415e Add HasMany return type to CustomFilter::statuses() for Larastan
Larastan v3.12.0 added the larastan.relationExistence rule, which
detects Eloquent relations by their declared return type. statuses()
defined the hasMany relation but lacked the ': HasMany' return type, so
the rule could not recognize it and flagged $filter->load([...,
'statuses']) in CustomFilterController.php as referencing a missing
relation. Add the return type to match the sibling keywords() method.
Verified with larastan/larastan v3.12.0 (No errors).
2 weeks ago
Your Name 40c95c8aa9 Add db_is_sqlite helper for the test connection 2 weeks ago
Your Name 30440c5e00 Add isMysql/isMariadb split helpers for MySQL-vs-MariaDB divergence
For the rare cases where SQL must differ between MySQL and MariaDB,
add DatabaseDriver::isMysql()/isMariadb() and db_is_mysql()/db_is_mariadb()
alongside the existing grouped isMysqlMaria()/db_is_mysql_maria().
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 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).
2 weeks ago
Your Name 8a4567a5c2 Isolate fanout delivery failures from StatusDelete local cleanup 2 weeks ago
Shlee a1abf10010
Merge pull request #7254 from pixelfed/fix/oidc-dangerzone-lockout
Mark OIDC login session password-confirmed to fix dangerzone lockout
2 weeks ago
Your Name fbca487bcd Mark OIDC login session password-confirmed to fix dangerzone lockout 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
Shlee 1d7ee48f2e
Merge pull request #7252 from pixelfed/fix/v2-media-can-post-role
Enforce can-post role check on POST /api/v2/media
2 weeks ago
Your Name 3a23606573 Enforce can-post role check on POST /api/v2/media 2 weeks ago
Shlee a510682122
Merge pull request #7251 from pixelfed/fix/delete-account-purge-status-edits
Purge status_edits on account and status deletion
2 weeks ago
Your Name 60284a871e Purge status_edits on account and status deletion 2 weeks ago
Shlee 7a5626766e
Update PrivacySettings.php 2 weeks ago
Your Name 7b90bc8699 Fix remove-all follower purge chunkById key and gate the route behind dangerzone 2 weeks ago
Your Name cfbdabdd61 Send verification email for admin-invite users that require verification 2 weeks ago
Shlee 1fffdef464
Merge pull request #7247 from pixelfed/fix/report-object-id-integer-validation
Validate report object_id as a positive integer to fix 500
2 weeks ago
Your Name b4bd3c87a0 Validate report object_id as a positive integer to fix 500 on array input 2 weeks ago
Your Name fe382bdb86 Extend story author-key TTL instead of overwriting so it survives to the longest-lived story 2 weeks ago
Your Name 5ec239404b Import Purify facade in ApiV1Controller to fix larastan class.notFound 2 weeks ago
Daniel Supernault fbd0922fd0
Update Helpers 2 weeks ago
Daniel Supernault a27033d2fd
Update LoginController 2 weeks ago
Daniel Supernault 538a11cccd
Update LoginController 2 weeks ago
Daniel Supernault 96acfb3d91
Update InboxWorker, improve handling 2 weeks ago
Daniel Supernault 13a8a255f6
Update ActivityPub Inbox update handling 2 weeks ago
Daniel Supernault d2a45ee4d3
Update ApiV1Controller 2 weeks ago
Daniel Supernault 22108f8f11
Lint PostImportController 2 weeks ago
Daniel Supernault 914ab1196a
Update StoryComposeController 2 weeks ago
Daniel Supernault b0ca632026
Update unbookmark endpoint 2 weeks ago