Commit Graph

13583 Commits (e7e83b96e102d43148cf1de8c2ea4278d79924b4)
 

Author SHA1 Message Date
Your Name e7e83b96e1 Upgrade resend/resend-php to ^1.0
Bump from ^0.13.0 to ^1.0 (installs v1.14.0). The only breaking change
in v1.0.0 is the removal of $resend->sendEmail in favor of
$resend->emails->send. Pixelfed uses the SDK only through Laravel's
'resend' mail transport, which already calls emails->send and declares
support for resend/resend-php ^1.0, so no application code changes are
needed. Verified the resend mailer resolves and email tests pass.
1 week ago
Shlee d123279be5
Merge pull request #7284 from pixelfed/shleeable-patch-1
Update CHANGELOG.md
1 week ago
Shlee 2b057a9e04
Update CHANGELOG.md 1 week ago
Shlee 4092144f5c
Merge pull request #7278 from pixelfed/shleeable-patch-1
Shleeable patch 1
1 week ago
Shlee f49e66033e
Update crowdin.yml 1 week ago
Shlee 078489d6e2
Merge pull request #7277 from pixelfed/shleeable-patch-1
Update CHANGELOG.md
1 week ago
Shlee 9c2e530186
Update CHANGELOG.md 1 week ago
Shlee 2c5e8c9a38
Merge pull request #7276 from pixelfed/shleeable-patch-1
Update CHANGELOG.md
1 week ago
Shlee 4afbca6c1c
Update CHANGELOG.md 1 week ago
dansup f9a729a87f
Merge pull request #7262 from pixelfed/staging
Staging
1 week ago
Daniel Supernault 075aa781a3
Build compiled assets 1 week ago
Shlee fc15381bf6
Merge pull request #7275 from pixelfed/revert/crowdin-cli-replace-action
Revert "Replace blocked crowdin/github-action with Crowdin CLI"
1 week ago
Your Name 777980c5f4 Revert "Replace blocked crowdin/github-action with Crowdin CLI"
This reverts commit a3931bb071.
1 week ago
Shlee dc42d8acca
Merge pull request #7274 from pixelfed/fix/crowdin-cli-replace-action
Replace blocked crowdin/github-action with Crowdin CLI
1 week ago
Your Name a3931bb071 Replace blocked crowdin/github-action with Crowdin CLI
The org's allowed-actions policy blocks crowdin/github-action@v3
(third-party, not verified/allowlisted). Reimplement the same flow
using the official @crowdin/cli npm package plus the GitHub-native gh
CLI, both of which satisfy the policy:

- upload sources: crowdin upload sources
- download translations: crowdin download
- open/update PR: gh pr create against staging, only when translations
  changed

Credentials continue to come from crowdin.yml (project_id_env /
api_token_env), so no config change is needed.
1 week ago
Shlee 82d1c11d54
Merge pull request #7273 from pixelfed/fix/db-matrix-manual-only
Make DB matrix workflow manual-only (workflow_dispatch)
1 week ago
Your Name 8eda1d039f Make DB matrix workflow manual-only (workflow_dispatch)
An empty 'branches: []' under push/pull_request does not disable a
trigger; GitHub treats it as no branch filter and runs on every ref.
Expose only workflow_dispatch so the experimental suite runs solely on
manual trigger.
1 week ago
Shlee 57cf289673
Merge pull request #7272 from pixelfed/fix/mariadb-driver-detection-and-caption-nulls
Fix/mariadb driver detection and caption nulls
1 week ago
Your Name 5bdc18e479 Bump DB matrix to PHP 8.5 and mysql 8.5 1 week ago
Your Name fe289c3126 Isolate Redis keys per DB matrix entry; use mariadb connection
- Set a unique REDIS_PREFIX per matrix entry so cache/queue keys never
  collide (the config default derives the prefix from APP_NAME, which is
  identical across entries).
- Point the MariaDB entry at the 'mariadb' connection instead of 'mysql'
  so the MariaDB driver is actually exercised (Laravel 11 treats them as
  distinct drivers).
1 week ago
Shlee 608936487f
Merge pull request #7271 from pixelfed/fix/mariadb-driver-detection-and-caption-nulls
Refactor some DB logic to improve support of MySQL, MariaDB, Postgres and SQLite (for testing).
1 week ago
Shlee acc8273811
Update php-laravel-tests-db-matrix.yml 1 week ago
Your Name 40c95c8aa9 Add db_is_sqlite helper for the test connection 1 week ago
Shlee 6c0ce5469c
Merge pull request #7267 from pixelfed/db-matrix-testing
Add experimental DB-matrix test workflow (mysql/mariadb/postgres)
1 week 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().
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
Shlee 74e861b4c2
Merge pull request #7269 from pixelfed/docker-disable-attestations
Disable buildx provenance/SBOM attestations for GHCR images
1 week ago
Shlee dfb81a6967
Update docker-tag.yml 1 week ago
Your Name 19e4620deb Disable buildx provenance/SBOM attestations for GHCR images
docker/build-push-action attaches provenance (and SBOM) attestations as
extra manifests with an 'unknown/unknown' platform. These render as noisy
'unknown' entries in the GHCR package UI next to the real amd64/arm64
platforms. Set provenance: false and sbom: false so only the runnable
architecture manifests are pushed.

Applied to both the branch-image (docker-push) and release-tag
(docker-tag) workflows.
1 week ago
Shlee 9c8b23b6a6
Merge pull request #7268 from pixelfed/dockerfile-compile-ffmpeg
Compile FFmpeg from source in Docker image
1 week ago
Your Name 484b921382 Compile FFmpeg from source in Docker image
Adopt the Loops approach of compiling FFmpeg from source (shared build,
hardened toolchain, LTO) in a dedicated build stage instead of installing
Debian's packaged ffmpeg. The source-built ffmpeg/ffprobe binaries and
shared libs are copied into the final image.

x264 and x265 continue to use Debian's packaged libraries
(libx264-dev / libx265-dev) for now; only FFmpeg itself is compiled.

Preserves the existing image-optimization tools (jpegoptim, optipng,
pngquant, gifsicle) and PHP extensions, and adds an ffmpeg/ffprobe
smoke test.
1 week ago
Shlee d574ddf1f4
Modify workflow triggers for staging and unstable branches
Updated trigger branches for push and pull_request events.
1 week ago
Your Name 983e512409 Add experimental DB-matrix test workflow (mysql/mariadb/postgres)
Runs the Pest suite against real MySQL 8.4, MariaDB 11.4, and PostgreSQL 16
services instead of the default in-memory SQLite, to surface DB-specific
behavior (strict mode, ONLY_FULL_GROUP_BY, unsigned underflow).

This is expected to fail currently, so every step uses continue-on-error
and the test command is suffixed with '|| true' to always report success.
Testing/investigation only; not a required check.
1 week ago
Shlee a721ea7345
Merge pull request #7266 from pixelfed/shleeable-patch-1
Update README.md
1 week ago
Shlee 08914ad8bd
Update README.md 1 week ago
Shlee ab423ae8a0
Merge pull request #7265 from pixelfed/fix-smoke-tests-and-cached-pages
Fix cached-page 500s and flaky smoke/API tests
1 week ago
Your Name a14fba166f Fix cached-page 500s and flaky smoke/API tests
- terms/privacy/community-guidelines views accessed the cached page as an
  object ($page->title), but cachedPage() returns an array, causing a 500
  whenever a custom Page row existed. Switch to array access.
- PublicRouteSmokeTest: enable open_registration before hitting /register,
  which 404s by default when registration is disabled.
- Api/AccountTest: derive sanctum.stateful domain from app.url instead of
  hardcoding pixelfed.test, so the first-party auth test is environment
  independent.
1 week ago
Shlee d49bab829f
Merge pull request #7264 from pixelfed/lang-pint-formatting
polish
1 week ago
Your Name 07f7631b87 polish 1 week ago
Shlee 71a515122d
Merge pull request #7263 from pixelfed/crowdin-automation
Automate Crowdin sync via GitHub Action
1 week ago
Your Name 2eaf0eaf34 Revert "Remove dead notification.php and timeline.php lang files"
This reverts commit 0f10ec0a47.
1 week ago
Your Name f4dbddd8b5 Use locale_get_display_name for language labels
locale_get_display_language reads only the language subtag and ignores
the region, so zh-cn and zh-tw both rendered as 'Chinese - 中文'.
Switching to locale_get_display_name disambiguates region variants
(Chinese (China) / Chinese (Taiwan)) while leaving all region-less
locales unchanged.

Updated the settings language dropdown and the /i/lang picker.
1 week ago
Your Name 0f10ec0a47 Remove dead notification.php and timeline.php lang files
These files are superseded by the notifications and timeline sections
inside web.php (used by the frontend). No code references the standalone
notification.* or timeline.* namespaces in app/, resources/, routes/, or
any compiled JS bundle.

- notification.php: removed from 29 locales
- timeline.php: removed from 27 locales

Framework files (validation.php, passwords.php, pagination.php) are left
untouched as Laravel resolves them by convention.
1 week ago
Your Name 9002d6ea24 Automate Crowdin sync via GitHub Action
- Add Crowdin GitHub Action workflow (upload sources, download translations, open PR)
- Sync all lang/en/*.php source files instead of only web.php
- Map zh-CN/zh-TW to existing zh-cn/zh-tw folders
- Remove dead lang/zh (legacy) and lang/me (stale English) locales
1 week ago
Shlee 2ea2824c87
Merge pull request #6566 from arnaud-jacquemin/feature/translate-landing
Make the landing pages translatable
1 week ago
Shlee 9f2cf47e92
Merge pull request #6789 from cosark/dev
Add RepoCloud one-click deploy option
1 week ago
Shlee c517650b56
Update README.md 1 week ago
dansup 715b4660ba
Merge pull request #7250 from pixelfed/staging
Staging
1 week ago
Arnaud 6537787c4e More translatable strings : landing, privacy policy, terms 1 week ago
Arnaud ac790b1d8a Fix last untranslated strings on the login + explore pages 1 week ago