Commit Graph

293 Commits (b4e9a20af09a39574d7ac704add132fa6faad798)

Author SHA1 Message Date
Your Name b4e9a20af0 Merge remote-tracking branch 'origin/fix/phpstan-auth-request-scope-3' into tests/critical-path-smoke-tests
# Conflicts:
#	app/Http/Controllers/AccountController.php
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
Your Name 76d187edd8 fix: convert OAuth routes from legacy array syntax to modern fluent syntax
The old 'uses' => [Controller::class, 'method'] array format causes a
ReflectionFunction TypeError in Laravel 12 when Livewire's
SupportPageComponents tries to resolve route bindings. The framework's
RouteSignatureParameters::fromAction() expects a Closure or string,
not an array.

Convert all OAuth/Passport routes to the modern fluent syntax:
Route::post('/path', [Controller::class, 'method'])->name('name')
4 weeks ago
Your Name 28927f6f66 refactor: convert string-based routes to ::class array syntax
Replace all 'Controller@method' string references with
[Controller::class, 'method'] array syntax across all route files.
Remove the $namespace property and ->namespace() calls from
RouteServiceProvider.

This is required for Laravel 13 compatibility where string-based
controller routing and automatic namespace prefixing will be removed.

742 route references converted across 5 route files.
4 weeks ago
Your Name 53759e3ad6 Prevent deletion of personal access OAuth client
Fixes #6630 (partial — deletion causing broken PAT)

If a user deletes the OAuth client that serves as the personal access
client, all PAT creation breaks for the entire instance with a 500 error.

Changes:
- Add custom OAuthClientController@destroy that checks if the client
  has the personal_access grant type before allowing deletion
- Returns 403 with a clear error message if deletion is blocked
- Add confirmation dialog before client deletion in the frontend
- Add error handling to show server error messages to the user

This prevents accidental destruction of the PAT infrastructure.
4 weeks ago
Daniel Supernault 0f781cba34
Update Personal Access Tokens 3 months ago
Daniel Supernault e557d37b9e
Fix PAT 3 months ago
Daniel Supernault 13e490262d
Update web.php 3 months ago
Daniel Supernault 25d5142f12
Fix PAT + oauth routes 3 months ago
Daniel Supernault ef803ae9b6
Fix oauth/token 6 months ago
Gavin Mogan 441c8e0d4c Generic OIDC Support
* Everything should be configurable by env variables
* Basic request tests
1 year ago
Daniel Supernault adc4cffc38
Add custom filter components 1 year ago
Daniel Supernault dbd1e17b25
Add app register email verify resends 2 years ago
Daniel Supernault eac222d243
Move fallback media route 2 years ago
Daniel Supernault 4e6e6b4ab7
Update routes 2 years ago
Daniel Supernault 455711332b
Fix redirects 2 years ago
Daniel Supernault 3c249616ef
Add rate limits, fix typo and styling 2 years ago
Daniel Supernault 604746bd5e
Add AppRegister 2 years ago
Daniel Supernault 8afbdb03a8
Fix oauth oob (urn:ietf:wg:oauth:2.0:oob) support. Fixes #2522 2 years ago
Daniel Supernault afc6db143a
Update web routes 2 years ago
Daniel Supernault 4ca7c6c328
Add preliminary Authorize Interaction support 2 years ago
Daniel Supernault 7bef60d64a
Add Group web routes 2 years ago
Daniel Supernault 36c518fe2c
Update web routes 3 years ago
Daniel Supernault 4a6be62128
Add account migration configurable, but enabled by default 3 years ago
Daniel Supernault f8145a78cf
Add Profile Migrations 3 years ago
Daniel Supernault 2f48df8ca8
Update kb, add email confirmation issues page 3 years ago
Daniel Supernault 8dac2caf1d
Add Curated Onboarding 3 years ago
Daniel Supernault bc4d223714
Update routes 3 years ago
Daniel Supernault 67c650b195
Add forgot email feature 3 years ago
Daniel Supernault 42298a2e9c
Apply dangerZone middleware to parental controls routes 3 years ago
Daniel Supernault c53894fe16
Add Parental Controls feature 3 years ago
Daniel Supernault cef451e588
Update routes 3 years ago
Daniel Supernault 33ed7a8c91
Add AdminShadowFilter feature 3 years ago
Daniel Supernault 526807f01c
Update web routes 3 years ago
Daniel Supernault 9cfa89dab4
Update routes and add RemoteAuthController 3 years ago
Daniel Supernault 7e0335b246
Update routes 3 years ago
Daniel Supernault 4973cb4611
Update MediaController, add fallback for local files that are later stored on S3 but still are referenced in cached objects remotely 3 years ago
Daniel Supernault 132a58de54
Add Autospam Advanced Detection 3 years ago
Daniel Supernault 4d997bb959
Add /api/v1/tags/:id/follow and /api/v1/tags/:id/unfollow api endpoints 3 years ago
Daniel Supernault 1bbee6d07b
Update RegisterController, improve max_users calculation and add kb page to redirect to if conditions are met 3 years ago
Daniel Supernault c6cc6327d3
Redesigned Admin Dashboard Reports/Moderation 3 years ago
Daniel Supernault 09c0032b39
New landing page design 4 years ago
Daniel Supernault d5d9500d07
Update admin instance management, improve filtering/sorting and add import/export support 4 years ago
Daniel Supernault ecfc0766f8
Update admin instances dashboard 4 years ago
Daniel Supernault da38b33a24
Remove deprecated routes/methods 4 years ago
Daniel Supernault 186ba7f018
Update email settings, add dangerzone middleware to prompt for password before you can change your email address. Fixes #4101 4 years ago
Daniel Supernault 3c712a70d6
Add Licenses help page, fixes #4238 4 years ago
Daniel Supernault 5ad0d8834d
Update Portfolios, add ActivityPub + RSS support, light mode, style customization and more 4 years ago
Daniel Supernault 7043cefdd4
Remove deprecated api routes 4 years ago
Daniel Supernault 1f4f8252f2
Remove deprecated api routes 4 years ago