mirror of https://github.com/pixelfed/pixelfed
renovate/pestphp-pest-5.x-lockfile
shleeable-patch-1
l10n_crowdin_translations
renovate/phpstan-packages
renovate/lock-file-maintenance
renovate/guzzlehttp-guzzle-8.x-lockfile
renovate/github-actions
staging
dev
fix/timeline-feed-state-header
fix/username-case-insensitive
configcache-v2.1-api
fix/dm-remote-delete-media-leak
fix/hashtags-outside-bmp
copilot/review-old-issues
groups
vue3
v0.1.9
v0.10.0
v0.10.1
v0.10.10
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.10.9
v0.11.0
v0.11.1
v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.11.6
v0.11.7
v0.11.8
v0.11.9
v0.12.0
v0.12.1
v0.12.10
v0.12.11
v0.12.12
v0.12.2
v0.12.3
v0.12.4
v0.12.5
v0.12.6
v0.12.7
v0.12.8
v0.12.9
v0.13.0
v0.14.0
v0.14.1
v0.14.2
v0.14.3
v0.14.4
v0.14.5-rc
v0.14.5-rc1
v0.15.0
v0.15.0-rc1
v0.15.1
v0.15.2
v0.5.9
v0.6.0
v0.6.1
v0.7.6
v0.8.0
v0.8.5
v0.8.6
v0.9.0
v0.9.4
v0.9.5
v0.9.6
${ noResults }
1 Commits (dev)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
4bd7e385ae |
Skip captcha enforcement when active driver is unconfigured
activeOn() only checked the global toggle and per-surface flag, so captcha
was enforced even when the active driver had no credentials (e.g. Turnstile
with an empty sitekey/secret). That rendered a widget that can never succeed
and locked every user out of the auth surfaces with a generic "The captcha
must be filled" 422. Gate activeOn() on the resolved driver's isConfigured()
so an unconfigured driver fails safe (captcha not enforced or rendered).
Verified red->green against the regression test:
cd .worktrees/fix-captcha-unconfigured && DB_CONNECTION=sqlite \
DB_DATABASE=:memory: APP_ENV=testing CACHE_STORE=array \
SESSION_DRIVER=array QUEUE_CONNECTION=sync REDIS_CLIENT=predis \
vendor/bin/pest tests/Feature/Captcha/CaptchaUnconfiguredLockoutTest.php --compact
Without the isConfigured() gate: 2 failed, 2 passed (the unconfigured
cases fail with the captcha 422; the configured controls pass).
With the gate: 4 passed (8 assertions).
|
1 week ago |