diff --git a/app/Http/Controllers/WebAuthn/WebAuthnLoginController.php b/app/Http/Controllers/WebAuthn/WebAuthnLoginController.php index 5ac625fb2c1..38bea967db3 100644 --- a/app/Http/Controllers/WebAuthn/WebAuthnLoginController.php +++ b/app/Http/Controllers/WebAuthn/WebAuthnLoginController.php @@ -111,7 +111,7 @@ public function retrieveByCredentials(array $credentials): User|null { /** @var User|null $user */ $user = User::whereHas('webAuthnCredentials', - fn ($query) => $query->whereKey($credentials['id'])->whereEnabled() + fn ($query) => $query->where('id', '=', $credentials['id'])->whereNull('disabled_at') )->first(); return $user; diff --git a/app/Models/User.php b/app/Models/User.php index 0ed0b28e3cc..7d4883bb281 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -30,6 +30,7 @@ use Laragear\WebAuthn\Contracts\WebAuthnAuthenticatable; use Laragear\WebAuthn\Models\WebAuthnCredential; use Laragear\WebAuthn\WebAuthnAuthentication; +use Laragear\WebAuthn\WebAuthnData; use function Safe\mb_convert_encoding; /** @@ -242,4 +243,13 @@ public function delete(): bool return $this->parentDelete(); } + + /** + * Returns displayable data to be used to create WebAuthn Credentials. + * The default function use email and name, however in Lyche the email is optional. + */ + public function webAuthnData(): WebAuthnData + { + return WebAuthnData::make($this->email ?? ($this->name . '#' . request()->httpHost()), $this->name); + } } diff --git a/composer.json b/composer.json index 9f0ddd02e3f..65df6716757 100644 --- a/composer.json +++ b/composer.json @@ -56,7 +56,7 @@ "geocoder-php/cache-provider": "^4.3", "geocoder-php/nominatim-provider": "^5.5", "graham-campbell/markdown": "^15.0", - "laragear/webauthn": "^3.1", + "laragear/webauthn": "^4.0", "laravel/framework": "^11.0", "laravel/socialite": "^5.11", "league/flysystem-aws-s3-v3": "^3.22", diff --git a/composer.lock b/composer.lock index 350aa5af6c9..85e16ec8376 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "67106141fad86fcd21aee456de27c575", + "content-hash": "490f64c7c6a0b442d636fe549a8ae2bf", "packages": [ { "name": "amphp/amp", @@ -1366,16 +1366,16 @@ }, { "name": "dedoc/scramble", - "version": "v0.12.6", + "version": "v0.12.9", "source": { "type": "git", "url": "https://github.com/dedoc/scramble.git", - "reference": "544fa3407eaa9a157401d65e9b4737ae9d3147a0" + "reference": "6da32ea6803d81de9048fc5b18499028c0513edc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dedoc/scramble/zipball/544fa3407eaa9a157401d65e9b4737ae9d3147a0", - "reference": "544fa3407eaa9a157401d65e9b4737ae9d3147a0", + "url": "https://api.github.com/repos/dedoc/scramble/zipball/6da32ea6803d81de9048fc5b18499028c0513edc", + "reference": "6da32ea6803d81de9048fc5b18499028c0513edc", "shasum": "" }, "require": { @@ -1430,7 +1430,7 @@ ], "support": { "issues": "https://github.com/dedoc/scramble/issues", - "source": "https://github.com/dedoc/scramble/tree/v0.12.6" + "source": "https://github.com/dedoc/scramble/tree/v0.12.9" }, "funding": [ { @@ -1438,7 +1438,7 @@ "type": "github" } ], - "time": "2025-02-08T10:46:30+00:00" + "time": "2025-02-17T13:50:16+00:00" }, { "name": "dflydev/dot-access-data", @@ -3181,25 +3181,27 @@ }, { "name": "laragear/meta-model", - "version": "v1.1.1", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/Laragear/MetaModel.git", - "reference": "1ec224c7e36c7dc84e0291af0a1650c317054106" + "reference": "1973517263d9ff1cfaabf682f3c2883425271dbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laragear/MetaModel/zipball/1ec224c7e36c7dc84e0291af0a1650c317054106", - "reference": "1ec224c7e36c7dc84e0291af0a1650c317054106", + "url": "https://api.github.com/repos/Laragear/MetaModel/zipball/1973517263d9ff1cfaabf682f3c2883425271dbc", + "reference": "1973517263d9ff1cfaabf682f3c2883425271dbc", "shasum": "" }, "require": { - "illuminate/database": "10.*|11.*", - "php": "^8.1" + "illuminate/container": "11.*|12.*", + "illuminate/contracts": "11.*|12.*", + "illuminate/database": "11.*|12.*", + "php": "^8.2" }, "require-dev": { "mockery/mockery": "^1.6", - "phpunit/phpunit": "^10.5|11.*" + "phpunit/phpunit": "11.*|12.*" }, "type": "library", "autoload": { @@ -3240,39 +3242,38 @@ "type": "Paypal" } ], - "time": "2025-01-29T00:38:07+00:00" + "time": "2025-02-16T04:19:25+00:00" }, { "name": "laragear/webauthn", - "version": "v3.1.1", + "version": "v4.0.0", "source": { "type": "git", "url": "https://github.com/Laragear/WebAuthn.git", - "reference": "d0f127f3347066bb040fd32730037024a87dbc04" + "reference": "7eed0fa249f8a6b1e3611a4a31f6ab14c28da402" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laragear/WebAuthn/zipball/d0f127f3347066bb040fd32730037024a87dbc04", - "reference": "d0f127f3347066bb040fd32730037024a87dbc04", + "url": "https://api.github.com/repos/Laragear/WebAuthn/zipball/7eed0fa249f8a6b1e3611a4a31f6ab14c28da402", + "reference": "7eed0fa249f8a6b1e3611a4a31f6ab14c28da402", "shasum": "" }, "require": { "ext-json": "*", "ext-openssl": "*", - "illuminate/auth": "10.*|11.*", - "illuminate/config": "10.*|11.*", - "illuminate/database": "10.*|11.*", - "illuminate/encryption": "10.*|11.*", - "illuminate/http": "10.*|11.*", - "illuminate/session": "10.*|11.*", - "illuminate/support": "10.*|11.*", - "laragear/meta-model": "^1.1", - "php": "^8.1" + "illuminate/auth": "11.*|12.*", + "illuminate/config": "11.*|12.*", + "illuminate/database": "11.*|12.*", + "illuminate/encryption": "11.*|12.*", + "illuminate/http": "11.*|12.*", + "illuminate/session": "11.*|12.*", + "illuminate/support": "11.*|12.*", + "laragear/meta-model": "2.*", + "php": "^8.2" }, "require-dev": { "ext-sodium": "*", - "livewire/livewire": "3.*", - "orchestra/testbench": "8.*|9.*" + "orchestra/testbench": "9.*|10.*" }, "suggest": { "paragonie/sodium_compat": "To enable EdDSA 25519 keys from authenticators, if `ext-sodium` is unavailable." @@ -3331,20 +3332,20 @@ "type": "Paypal" } ], - "time": "2025-01-29T19:35:44+00:00" + "time": "2025-02-16T06:40:11+00:00" }, { "name": "laravel/framework", - "version": "v11.41.3", + "version": "v11.42.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "3ef433d5865f30a19b6b1be247586068399b59cc" + "reference": "ff392f42f6c55cc774ce75553a11c6b031da67f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/3ef433d5865f30a19b6b1be247586068399b59cc", - "reference": "3ef433d5865f30a19b6b1be247586068399b59cc", + "url": "https://api.github.com/repos/laravel/framework/zipball/ff392f42f6c55cc774ce75553a11c6b031da67f8", + "reference": "ff392f42f6c55cc774ce75553a11c6b031da67f8", "shasum": "" }, "require": { @@ -3452,11 +3453,11 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^9.6", + "orchestra/testbench-core": "^9.9.4", "pda/pheanstalk": "^5.0.6", "php-http/discovery": "^1.15", - "phpstan/phpstan": "^1.11.5", - "phpunit/phpunit": "^10.5.35|^11.3.6", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", "predis/predis": "^2.3", "resend/resend-php": "^0.10.0", "symfony/cache": "^7.0.3", @@ -3488,7 +3489,7 @@ "mockery/mockery": "Required to use mocking (^1.6).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", - "phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.3.6|^12.0.1).", "predis/predis": "Required to use the predis connector (^2.3).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", @@ -3546,20 +3547,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-01-30T13:25:22+00:00" + "time": "2025-02-12T20:58:18+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.4", + "version": "v0.3.5", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "abeaa2ba4294247d5409490d1ca1bc6248087011" + "reference": "57b8f7efe40333cdb925700891c7d7465325d3b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/abeaa2ba4294247d5409490d1ca1bc6248087011", - "reference": "abeaa2ba4294247d5409490d1ca1bc6248087011", + "url": "https://api.github.com/repos/laravel/prompts/zipball/57b8f7efe40333cdb925700891c7d7465325d3b1", + "reference": "57b8f7efe40333cdb925700891c7d7465325d3b1", "shasum": "" }, "require": { @@ -3603,22 +3604,22 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.4" + "source": "https://github.com/laravel/prompts/tree/v0.3.5" }, - "time": "2025-01-24T15:41:01+00:00" + "time": "2025-02-11T13:34:40+00:00" }, { "name": "laravel/serializable-closure", - "version": "v2.0.2", + "version": "v2.0.3", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "2e1a362527783bcab6c316aad51bf36c5513ae44" + "reference": "f379c13663245f7aa4512a7869f62eb14095f23f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/2e1a362527783bcab6c316aad51bf36c5513ae44", - "reference": "2e1a362527783bcab6c316aad51bf36c5513ae44", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f379c13663245f7aa4512a7869f62eb14095f23f", + "reference": "f379c13663245f7aa4512a7869f62eb14095f23f", "shasum": "" }, "require": { @@ -3666,20 +3667,20 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2025-01-24T15:42:37+00:00" + "time": "2025-02-11T15:03:05+00:00" }, { "name": "laravel/socialite", - "version": "v5.17.1", + "version": "v5.18.0", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "4b44c97c04da28e5aabb73df70b0999e9976382f" + "reference": "7809dc71250e074cd42970f0f803f2cddc04c5de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/4b44c97c04da28e5aabb73df70b0999e9976382f", - "reference": "4b44c97c04da28e5aabb73df70b0999e9976382f", + "url": "https://api.github.com/repos/laravel/socialite/zipball/7809dc71250e074cd42970f0f803f2cddc04c5de", + "reference": "7809dc71250e074cd42970f0f803f2cddc04c5de", "shasum": "" }, "require": { @@ -3738,7 +3739,7 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2025-01-28T15:16:52+00:00" + "time": "2025-02-11T13:38:19+00:00" }, { "name": "lcobucci/clock", @@ -5112,16 +5113,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.1", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" + "reference": "024473a478be9df5fdaca2c793f2232fe788e414" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", - "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414", + "reference": "024473a478be9df5fdaca2c793f2232fe788e414", "shasum": "" }, "require": { @@ -5160,7 +5161,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0" }, "funding": [ { @@ -5168,20 +5169,20 @@ "type": "tidelift" } ], - "time": "2024-11-08T17:47:46+00:00" + "time": "2025-02-12T12:17:51+00:00" }, { "name": "nesbot/carbon", - "version": "3.8.4", + "version": "3.8.5", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "129700ed449b1f02d70272d2ac802357c8c30c58" + "reference": "b1a53a27898639579a67de42e8ced5d5386aa9a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/129700ed449b1f02d70272d2ac802357c8c30c58", - "reference": "129700ed449b1f02d70272d2ac802357c8c30c58", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/b1a53a27898639579a67de42e8ced5d5386aa9a4", + "reference": "b1a53a27898639579a67de42e8ced5d5386aa9a4", "shasum": "" }, "require": { @@ -5257,8 +5258,8 @@ ], "support": { "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" }, "funding": [ { @@ -5274,7 +5275,7 @@ "type": "tidelift" } ], - "time": "2024-12-27T09:25:35+00:00" + "time": "2025-02-11T16:28:45+00:00" }, { "name": "nette/schema", @@ -6679,16 +6680,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "2.0.0", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299" + "reference": "51087f87dcce2663e1fed4dfd4e56eccd580297e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/c00d78fb6b29658347f9d37ebe104bffadf36299", - "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/51087f87dcce2663e1fed4dfd4e56eccd580297e", + "reference": "51087f87dcce2663e1fed4dfd4e56eccd580297e", "shasum": "" }, "require": { @@ -6720,9 +6721,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.2" }, - "time": "2024-10-13T11:29:49+00:00" + "time": "2025-02-17T20:25:51+00:00" }, { "name": "psr/cache", @@ -7412,16 +7413,16 @@ }, { "name": "revolt/event-loop", - "version": "v1.0.6", + "version": "v1.0.7", "source": { "type": "git", "url": "https://github.com/revoltphp/event-loop.git", - "reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254" + "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/25de49af7223ba039f64da4ae9a28ec2d10d0254", - "reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254", + "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3", + "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3", "shasum": "" }, "require": { @@ -7478,9 +7479,9 @@ ], "support": { "issues": "https://github.com/revoltphp/event-loop/issues", - "source": "https://github.com/revoltphp/event-loop/tree/v1.0.6" + "source": "https://github.com/revoltphp/event-loop/tree/v1.0.7" }, - "time": "2023-11-30T05:34:44+00:00" + "time": "2025-01-25T19:27:39+00:00" }, { "name": "revolution/socialite-mastodon", @@ -8276,20 +8277,20 @@ }, { "name": "spatie/laravel-data", - "version": "4.13.0", + "version": "4.13.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-data.git", - "reference": "64fe3024b668c2f0d0ce2ecf666edccc8f8bd55f" + "reference": "14252330397cf84647cc086324ea1a30dbe5f7cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-data/zipball/64fe3024b668c2f0d0ce2ecf666edccc8f8bd55f", - "reference": "64fe3024b668c2f0d0ce2ecf666edccc8f8bd55f", + "url": "https://api.github.com/repos/spatie/laravel-data/zipball/14252330397cf84647cc086324ea1a30dbe5f7cc", + "reference": "14252330397cf84647cc086324ea1a30dbe5f7cc", "shasum": "" }, "require": { - "illuminate/contracts": "^10.0|^11.0", + "illuminate/contracts": "^10.0|^11.0|^12.0", "php": "^8.1", "phpdocumentor/reflection": "^6.0", "spatie/laravel-package-tools": "^1.9.0", @@ -8298,18 +8299,16 @@ "require-dev": { "fakerphp/faker": "^1.14", "friendsofphp/php-cs-fixer": "^3.0", - "inertiajs/inertia-laravel": "^1.2", - "larastan/larastan": "^2.7", "livewire/livewire": "^3.0", "mockery/mockery": "^1.6", - "nesbot/carbon": "^2.63", - "orchestra/testbench": "^8.0|^9.0", - "pestphp/pest": "^2.31", - "pestphp/pest-plugin-laravel": "^2.0", - "pestphp/pest-plugin-livewire": "^2.1", + "nesbot/carbon": "^2.63|^3.0", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^2.31|^3.0", + "pestphp/pest-plugin-laravel": "^2.0|^3.0", + "pestphp/pest-plugin-livewire": "^2.1|^3.0", "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.1", - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^10.0|^11.0|^12.0", "spatie/invade": "^1.0", "spatie/laravel-typescript-transformer": "^2.5", "spatie/pest-plugin-snapshots": "^2.1", @@ -8348,7 +8347,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-data/issues", - "source": "https://github.com/spatie/laravel-data/tree/4.13.0" + "source": "https://github.com/spatie/laravel-data/tree/4.13.1" }, "funding": [ { @@ -8356,32 +8355,32 @@ "type": "github" } ], - "time": "2025-01-24T15:20:19+00:00" + "time": "2025-02-14T14:29:16+00:00" }, { "name": "spatie/laravel-feed", - "version": "4.4.0", + "version": "4.4.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-feed.git", - "reference": "8cd283bbb998beb3ae220e71bae162e52dfbd1d9" + "reference": "71d298a8f0ed701eca87600e700fda3f24052a61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-feed/zipball/8cd283bbb998beb3ae220e71bae162e52dfbd1d9", - "reference": "8cd283bbb998beb3ae220e71bae162e52dfbd1d9", + "url": "https://api.github.com/repos/spatie/laravel-feed/zipball/71d298a8f0ed701eca87600e700fda3f24052a61", + "reference": "71d298a8f0ed701eca87600e700fda3f24052a61", "shasum": "" }, "require": { - "illuminate/contracts": "^10.0|^11.0", - "illuminate/http": "^10.0|^11.0", - "illuminate/support": "^10.0|^11.0", - "php": "^8.0", + "illuminate/contracts": "^10.0|^11.0|^12.0", + "illuminate/http": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "php": "^8.2", "spatie/laravel-package-tools": "^1.15" }, "require-dev": { - "orchestra/testbench": "^8.0|^9.0", - "pestphp/pest": "^2.0", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^2.0|^3.0", "spatie/pest-plugin-snapshots": "^2.0", "spatie/test-time": "^1.2" }, @@ -8436,7 +8435,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-feed/tree/4.4.0" + "source": "https://github.com/spatie/laravel-feed/tree/4.4.1" }, "funding": [ { @@ -8448,7 +8447,7 @@ "type": "github" } ], - "time": "2024-03-01T10:20:32+00:00" + "time": "2025-02-14T12:40:17+00:00" }, { "name": "spatie/laravel-image-optimizer", @@ -8580,20 +8579,20 @@ }, { "name": "spatie/laravel-typescript-transformer", - "version": "2.5.0", + "version": "2.5.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-typescript-transformer.git", - "reference": "cdf82498b7e02f89f5a3c0eeed78ac0d633a212b" + "reference": "8b91230e4b0aa568b798822a8ff66fd936134a40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-typescript-transformer/zipball/cdf82498b7e02f89f5a3c0eeed78ac0d633a212b", - "reference": "cdf82498b7e02f89f5a3c0eeed78ac0d633a212b", + "url": "https://api.github.com/repos/spatie/laravel-typescript-transformer/zipball/8b91230e4b0aa568b798822a8ff66fd936134a40", + "reference": "8b91230e4b0aa568b798822a8ff66fd936134a40", "shasum": "" }, "require": { - "illuminate/console": "^8.83|^9.30|^10.0|^11.0", + "illuminate/console": "^8.83|^9.30|^10.0|^11.0|^12.0", "php": "^8.1", "spatie/laravel-package-tools": "^1.12", "spatie/typescript-transformer": "^2.4" @@ -8601,10 +8600,10 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^3.0", "mockery/mockery": "^1.4", - "nesbot/carbon": "^2.63", - "orchestra/testbench": "^6.0|^7.0|^8.0|^9.0", - "pestphp/pest": "^1.22|^2.0", - "phpunit/phpunit": "^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.63|^3.0", + "orchestra/testbench": "^6.0|^7.0|^8.0|^9.0|^10.0", + "pestphp/pest": "^1.22|^2.0|^3.0", + "phpunit/phpunit": "^9.0|^10.0|^11.0|^12.0", "spatie/data-transfer-object": "^2.0", "spatie/enum": "^3.0", "spatie/laravel-model-states": "^1.6|^2.0", @@ -8645,7 +8644,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-typescript-transformer/issues", - "source": "https://github.com/spatie/laravel-typescript-transformer/tree/2.5.0" + "source": "https://github.com/spatie/laravel-typescript-transformer/tree/2.5.1" }, "funding": [ { @@ -8657,42 +8656,41 @@ "type": "github" } ], - "time": "2024-10-04T13:26:07+00:00" + "time": "2025-02-14T14:18:08+00:00" }, { "name": "spatie/php-structure-discoverer", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spatie/php-structure-discoverer.git", - "reference": "42d161298630ede76c61e8a437a06eea2e106f4c" + "reference": "42f4d731d3dd4b3b85732e05a8c1928fcfa2f4bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/php-structure-discoverer/zipball/42d161298630ede76c61e8a437a06eea2e106f4c", - "reference": "42d161298630ede76c61e8a437a06eea2e106f4c", + "url": "https://api.github.com/repos/spatie/php-structure-discoverer/zipball/42f4d731d3dd4b3b85732e05a8c1928fcfa2f4bc", + "reference": "42f4d731d3dd4b3b85732e05a8c1928fcfa2f4bc", "shasum": "" }, "require": { "amphp/amp": "^v3.0", "amphp/parallel": "^2.2", - "illuminate/collections": "^10.0|^11.0", + "illuminate/collections": "^10.0|^11.0|^12.0", "php": "^8.1", "spatie/laravel-package-tools": "^1.4.3", "symfony/finder": "^6.0|^7.0" }, "require-dev": { - "illuminate/console": "^10.0|^11.0", + "illuminate/console": "^10.0|^11.0|^12.0", "laravel/pint": "^1.0", "nunomaduro/collision": "^7.0|^8.0", - "nunomaduro/larastan": "^2.0.1", - "orchestra/testbench": "^7.0|^8.0|^9.0", - "pestphp/pest": "^2.0", - "pestphp/pest-plugin-laravel": "^2.0", + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "pestphp/pest": "^2.0|^3.0", + "pestphp/pest-plugin-laravel": "^2.0|^3.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5|^10.0", + "phpunit/phpunit": "^9.5|^10.0|^11.5.3", "spatie/laravel-ray": "^1.26" }, "type": "library", @@ -8729,7 +8727,7 @@ ], "support": { "issues": "https://github.com/spatie/php-structure-discoverer/issues", - "source": "https://github.com/spatie/php-structure-discoverer/tree/2.3.0" + "source": "https://github.com/spatie/php-structure-discoverer/tree/2.3.1" }, "funding": [ { @@ -8737,7 +8735,7 @@ "type": "github" } ], - "time": "2025-01-13T13:15:29+00:00" + "time": "2025-02-14T10:18:38+00:00" }, { "name": "spatie/temporary-directory", diff --git a/database/migrations/2021_05_02_174300_add_filesize_raw_col.php b/database/migrations/2021_05_02_174300_add_filesize_raw_col.php index 2074d029a3f..c0391314307 100644 --- a/database/migrations/2021_05_02_174300_add_filesize_raw_col.php +++ b/database/migrations/2021_05_02_174300_add_filesize_raw_col.php @@ -28,6 +28,7 @@ public function up(): void DB::beginTransaction(); + /** @var array */ $photos = DB::table(self::TABLE_NAME) ->select([self::ID_COL_NAME, self::OLD_COL_NAME]) ->lazyById(); @@ -72,6 +73,7 @@ public function down(): void DB::beginTransaction(); + /** @var array */ $photos = DB::table(self::TABLE_NAME) ->select([self::ID_COL_NAME, self::NEW_COL_NAME]) ->lazyById(); diff --git a/database/migrations/2021_05_13_140700_refactor_size_variants.php b/database/migrations/2021_05_13_140700_refactor_size_variants.php index bbe988cac5a..588027f7d57 100644 --- a/database/migrations/2021_05_13_140700_refactor_size_variants.php +++ b/database/migrations/2021_05_13_140700_refactor_size_variants.php @@ -44,6 +44,7 @@ public function up(): void }); DB::beginTransaction(); + /** @var array */ $photos = DB::table(self::PHOTOS_TABLE_NAME)->select([ self::ID_COL_NAME, self::SMALL_COL_NAME, @@ -101,6 +102,7 @@ public function down(): void }); DB::beginTransaction(); + /** @var array */ $photos = DB::table(self::PHOTOS_TABLE_NAME)->select([ self::ID_COL_NAME, self::SMALL_WIDTH_COL_NAME, diff --git a/database/migrations/2021_05_25_160600_post_revert_fixes.php b/database/migrations/2021_05_25_160600_post_revert_fixes.php index d196ed7ecbb..ef8229a99e9 100644 --- a/database/migrations/2021_05_25_160600_post_revert_fixes.php +++ b/database/migrations/2021_05_25_160600_post_revert_fixes.php @@ -62,6 +62,7 @@ public function up(): void }); DB::beginTransaction(); + /** @var array */ $photos = DB::table(self::PHOTOS_TABLE_NAME)->select([ self::ID_COL_NAME, self::PHOTO_CREATED_AT_COL_NAME, diff --git a/database/migrations/2021_06_01_181900_refactor_timestamps_anew.php b/database/migrations/2021_06_01_181900_refactor_timestamps_anew.php index 992931c1e78..602f6d84f52 100644 --- a/database/migrations/2021_06_01_181900_refactor_timestamps_anew.php +++ b/database/migrations/2021_06_01_181900_refactor_timestamps_anew.php @@ -161,6 +161,7 @@ protected function upgradeORMSystemTimesByTable(string $tableName): void }); $needsConversion = $this->needsConversion(); DB::beginTransaction(); + /** @var array */ $entities = DB::table($tableName)->select([ self::ID_COL_NAME, self::CREATED_AT_COL_NAME . '_tmp', @@ -239,6 +240,7 @@ protected function downgradeORMSystemTimesByTable(string $tableName): void }); $needsConversion = $this->needsConversion(); DB::beginTransaction(); + /** @var array */ $entities = DB::table($tableName)->select([ self::ID_COL_NAME, self::CREATED_AT_COL_NAME . '_tmp', @@ -288,6 +290,7 @@ protected function upgradePhotos(): void }); $needsConversion = $this->needsConversion(); DB::beginTransaction(); + /** @var array */ $photos = DB::table(self::PHOTOS_TABLE_NAME)->select([ self::ID_COL_NAME, self::PHOTO_TAKESTAMP_COL_NAME, @@ -328,6 +331,7 @@ protected function downgradePhotos(): void }); $needsConversion = $this->needsConversion(); DB::beginTransaction(); + /** @var array */ $photos = DB::table(self::PHOTOS_TABLE_NAME)->select([ self::ID_COL_NAME, self::PHOTO_TAKEN_AT_COL_NAME, diff --git a/tests/Feature_v1/WebAuthTest.php b/tests/Feature_v1/WebAuthTest.php index 55589df5acc..acfd4043846 100644 --- a/tests/Feature_v1/WebAuthTest.php +++ b/tests/Feature_v1/WebAuthTest.php @@ -62,7 +62,7 @@ public function testWebAuthnRegisterOptions(): void $response->assertJson([ 'rp' => ['name' => 'Lychee'], 'authenticatorSelection' => ['userVerification' => 'discouraged'], - 'user' => ['name' => null, 'displayName' => 'admin'], + 'user' => ['name' => 'admin#localhost', 'displayName' => 'admin'], 'pubKeyCredParams' => [['type' => 'public-key', 'alg' => -7], ['type' => 'public-key', 'alg' => -257]], 'attestation' => 'none', 'excludeCredentials' => [],