mirror of https://github.com/pixelfed/pixelfed
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MySQL/MariaDB's utf8mb4_unicode_ci collation treats all characters outside the Basic Multilingual Plane as equal, conflating distinct same-length hashtags (e.g. Shavian vs cuneiform) on the unique name/slug indexes. Migrate the hashtags name/slug columns to utf8mb4_unicode_520_ci, which differentiates supplementary-plane characters. Improvements over the original PR: - Use an explicit ALTER ... MODIFY, since Laravel's fluent ->change() emits no collation change on MySQL/MariaDB and silently no-ops. - Match both 'mysql' and 'mariadb' drivers (Laravel 11+ reports MariaDB as a distinct driver, so a mysql-only check would skip the fix on MariaDB). - Provide an accurate, reversible down() and preserve NOT NULL + unique keys. Add feature tests covering the no-op path on non-MySQL drivers and, on MySQL/MariaDB, that distinct BMP-outside hashtags coexist while same-slug and case-insensitive dedup still work. |
4 weeks ago | |
|---|---|---|
| .. | ||
| Account | 4 weeks ago | |
| Api | 4 weeks ago | |
| Auth | 4 weeks ago | |
| AuthScope | 4 weeks ago | |
| Compose | 4 weeks ago | |
| CriticalRoutes | 4 weeks ago | |
| Federation | 4 weeks ago | |
| Framework | 4 weeks ago | |
| Security | 4 weeks ago | |
| Settings | 4 weeks ago | |
| ActivityPubDeliveryServiceTest.php | 4 weeks ago | |
| AdminRemoveCwTest.php | 4 weeks ago | |
| CommentPrivatePostTest.php | 4 weeks ago | |
| DeleteWorkerAuthorizationTest.php | 4 weeks ago | |
| HashtagCollationTest.php | 4 weeks ago | |
| HttpClientMigrationTest.php | 4 weeks ago | |
| LoginTest.php | 1 year ago | |
| ModelNamespaceMigrationTest.php | 4 weeks ago | |
| NotificationServiceTest.php | 4 weeks ago | |
| RemoteOidcTest.php | 4 weeks ago | |
| ValidUsernameTest.php | 4 weeks ago | |