Photo Sharing. For Everyone.
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.
 
 
 
 
Go to file
Your Name 88adf721c3 fix: use utf8mb4_unicode_520_ci for hashtags to fix BMP-outside collation (PR #6098)
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
.ddev
…
.github
…
.vscode
…
app fix: make admin:fixPostCounts summary report only changed metrics 4 weeks ago
bootstrap Add media storage migration commands (local<->cloud) with integrated GC 4 weeks ago
config Merge pull request #6760 from pixelfed/shleeable-patch-5 4 weeks ago
database fix: use utf8mb4_unicode_520_ci for hashtags to fix BMP-outside collation (PR #6098) 4 weeks ago
notes
…
public Update compiled assets 4 weeks ago
resources Update Profile component 4 weeks ago
routes
…
storage
…
tests fix: use utf8mb4_unicode_520_ci for hashtags to fix BMP-outside collation (PR #6098) 4 weeks ago
.dockerignore
…
.editorconfig
…
.env.docker.example
…
.env.example
…
.env.testing
…
.gitattributes
…
.gitignore
…
.markdownlint.json
…
.node-version
…
.shellcheckrc
…
CHANGELOG.md Update CHANGELOG.md 4 weeks ago
CODEOWNERS
…
CODE_OF_CONDUCT.md
…
CONTRIBUTING.md
…
DOCKER_COMPOSE_SETUP.md
…
Dockerfile
…
LICENSE
…
README.md
…
SECURITY.md
…
artisan
…
composer.json
…
composer.lock
…
crowdin.yml
…
docker-compose.test.yml
…
docker-compose.yml
…
funding.json
…
larastan
…
package-lock.json
…
package.json
…
phpstan.neon
…
phpunit.xml
…
pint.json
…
server.php
…
webpack.mix.js
…

README.md

Pixelfed logo

Latest Stable Version License Total Pixelfed users from FediDB

Introduction

Photo sharing the way it should be. Pixelfed lets your casual shots and creative photography find their audience naturally, without algorithmic barriers. Join millions of people sharing across the fediverse.

Pixelfed web user interface in light mode

Official Documentation

Documentation for Pixelfed can be found on the Pixelfed documentation website.

Run on YunoHost

Install on YunoHost

Pixelfed app for YunoHost. See the package source code

License

Pixelfed is open-sourced software licensed under the AGPL license.

Communication

The ways you can communicate on the project are below. Before interacting, please read through the Code Of Conduct.

Pixelfed Sponsors

We would like to extend our thanks to the following sponsors for funding Pixelfed development. If you are interested in becoming a sponsor, please visit the Pixelfed Patreon Page

This project is supported by: