Commit Graph

13 Commits (a0ac673f2ad2d772d3edc4948cf5097dba85a24b)

Author SHA1 Message Date
Shlee 961ef37fe9
Modify MEDIA_TYPES and add MODERN_MEDIA_TYPES
Updated accepted upload mime types and added modern media types.
1 day ago
Your Name b02748026e Compile libvips from source with AVIF/HEIC + JXL support
- Add a vips builder stage that compiles libvips 8.18.6 from source
  (pinned tarball + sha256), linked against distro libheif/aom/dav1d
  (AVIF/HEIC) and libjxl (JPEG XL).
- Trim delegates to the formats Pixelfed uses: jpeg, png, gif, webp,
  avif/heic, jxl; disable tiff, pdf, svg, openexr, magick, etc. to keep
  the library small and reduce attack surface on untrusted uploads.
- Drop the ext-vips C extension (incompatible with libvips 8.18 and
  unused: Pixelfed uses jcupitt/vips via FFI) and keep ffi enabled.
- Update runtime deps to match the compiled library.
- Add MEDIA_TYPES (webp/avif/jxl) to .env.example and .env.docker.example.
1 day ago
Shlee 52b5ab0c1b
Modify SESSION_DOMAIN in .env.docker.example
Updated SESSION_DOMAIN to null with a note on usage.
4 days ago
Shlee 33310d7af4
Uncomment APP_LOCALE in .env.docker.example 1 week ago
Shlee b0fe687bb9
Update .env.docker.example 1 week ago
Your Name 99c3f2f6ba Default image driver to vips
Switch IMAGE_DRIVER default from gd to vips in config/image.php and the
shipped .env examples. libvips is faster, lower-memory, and has strong
WebP/AVIF support; both libvips and the php-vips extension ship in the
official Docker image. ImageDriverManager already maps 'vips' to the
installed Intervention Vips driver, so no code change is needed.

.env.testing stays on gd because the CI test runners install the gd
extension, not php-vips.
1 week ago
Your Name 5a364be58b fix: remove deprecated Passport::personalAccessClientId() and enableImplicitGrant()
- Remove Passport::personalAccessClientId() (removed in Passport v13, auto-discovers now)
- Remove Passport::enableImplicitGrant() (legacy grant, no clients use it)
- Flatten config instance.oauth.pat to pat_enabled (remove dead pat.id key)
- Add OAUTH_PAT_ENABLED=false to .env.example and .env.docker.example
- Show swal alert when PATs disabled instead of hidden API error
- Improve store() error handling to surface 403 messages in the UI
- Remove OAUTH_PAT_ID row from admin diagnostics blade
4 weeks ago
Your Name 8a2649b3ff feat: add critical path test suite and fix auth/config issues
Test Infrastructure:
- Modernize phpunit.xml (bootstrap, source block, Laravel 12 env vars)
- Configure tests/Pest.php with pest()->extend(TestCase::class)->in('Feature')
- Add docker-compose.test.yml (Redis for test suite)
- Add composer test/test:quick scripts
- Rename CACHE_DRIVER to CACHE_STORE across config (backwards compatible)
- Update .env.testing for in-memory SQLite + Docker Redis

Test Coverage (190 tests):
- CriticalRoutes: public routes, auth routes, API endpoints, middleware, schedule
- Auth/LoginTest: login, logout, rate limiting, redirect behavior
- Auth/RegisterTest: registration flow, validation, disabled registration
- Auth/PasswordResetTest: reset request, token validation, password update
- Auth/TwoFactorTest: 2FA checkpoint, setup behind password confirmation
- Auth/PasswordConfirmationTest: sudo mode flow via Laravel password.confirm
- Api/ScopeTest: scope enforcement, public endpoints, admin access

Bugs Fixed:
- Fix unauthenticated API returning 500 instead of 401 (AuthenticationException
  not handled in custom exception renderer in bootstrap/app.php)
- Replace custom DangerZone middleware with Laravel password.confirm
- Add HasFactory trait to Profile model for test factories

Bugs Documented (known-bugs group):
- Registration crashes with str_ends_with TypeError (RegisterController:82)
- OAuth routes use legacy array syntax causing ReflectionFunction TypeError
4 weeks ago
Shlee 8b9d1c12a5
Update .env.docker.example 4 weeks ago
Shlee d1c5a7a38c
Update .env.docker.example 7 months ago
Shlee 937792c82f
Update .env.docker.example 10 months ago
Shlee 18e32540e2
Update .env.docker.example 10 months ago
Your Name faa2d97490 Prepared new docker 11 months ago