From ab80989456e5c0bc3149b7e0e9f5d2a47a4a2d8e Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Thu, 15 May 2025 10:06:22 +0200 Subject: [PATCH 001/126] PHPverse banners --- config/lio.php | 6 +++--- public/images/showcase/phpverse-long.png | Bin 0 -> 273913 bytes public/images/showcase/phpverse-small.png | Bin 0 -> 243984 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 public/images/showcase/phpverse-long.png create mode 100644 public/images/showcase/phpverse-small.png diff --git a/config/lio.php b/config/lio.php index f317718c1..86d43acdd 100644 --- a/config/lio.php +++ b/config/lio.php @@ -3,9 +3,9 @@ return [ 'ads' => [ [ - 'url' => 'https://eventy.io/?utm_source=Laravel.io&utm_campaign=eventy&utm_medium=advertisement', - 'image' => 'eventy', - 'alt' => 'Eventy', + 'url' => 'https://lp.jetbrains.com/phpverse-2025/?utm_source=laravel.io&utm_medium=cpc&utm_campaign=phpverse2025&utm_content=banner', + 'image' => 'phpverse', + 'alt' => 'PHPverse', 'goal' => 'PSA8VL6S', ], ], diff --git a/public/images/showcase/phpverse-long.png b/public/images/showcase/phpverse-long.png new file mode 100644 index 0000000000000000000000000000000000000000..20caf39123cbc3c0cb12123728482da7351a21c4 GIT binary patch literal 273913 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

MfS;>-3K}TohofVDb%nMuM6o52$ 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 literal 0 HcmV?d00001 diff --git a/public/images/showcase/phpverse-small.png b/public/images/showcase/phpverse-small.png new file mode 100644 index 0000000000000000000000000000000000000000..22d428d236a6a936c996f8449732b3184c8f532f GIT binary patch literal 243984 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

oAC6jpkEg+0kIJn$2LwX(ye7tTNlUnuDzm&%g( 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 z Date: Fri, 16 May 2025 09:08:16 +0200 Subject: [PATCH 002/126] Bump the js-dependencies group with 2 updates (#1293) Bumps the js-dependencies group with 2 updates: [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss). Updates `@tailwindcss/vite` from 4.1.5 to 4.1.7 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.7/packages/@tailwindcss-vite) Updates `tailwindcss` from 4.1.5 to 4.1.7 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.7/packages/tailwindcss) --- updated-dependencies: - dependency-name: "@tailwindcss/vite" dependency-version: 4.1.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies - dependency-name: tailwindcss dependency-version: 4.1.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 397 +++++++++++++++++++++++++++++++++------------- 1 file changed, 286 insertions(+), 111 deletions(-) diff --git a/package-lock.json b/package-lock.json index 02a284a1b..e610a6a77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -183,6 +183,20 @@ "@algolia/requester-common": "4.24.0" } }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", @@ -608,6 +622,72 @@ "node": ">=18" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.40.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz", @@ -912,46 +992,54 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.5.tgz", - "integrity": "sha512-CBhSWo0vLnWhXIvpD0qsPephiaUYfHUX3U9anwDaHZAeuGpTiB3XmsxPAN6qX7bFhipyGBqOa1QYQVVhkOUGxg==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.7.tgz", + "integrity": "sha512-9rsOpdY9idRI2NH6CL4wORFY0+Q6fnx9XP9Ju+iq/0wJwGD5IByIgFmwVbyy4ymuyprj8Qh4ErxMKTUL4uNh3g==", "dev": true, "license": "MIT", "dependencies": { + "@ampproject/remapping": "^2.3.0", "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", - "lightningcss": "1.29.2", - "tailwindcss": "4.1.5" + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.7" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.5.tgz", - "integrity": "sha512-1n4br1znquEvyW/QuqMKQZlBen+jxAbvyduU87RS8R3tUSvByAkcaMTkJepNIrTlYhD+U25K4iiCIxE6BGdRYA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.7.tgz", + "integrity": "sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, "engines": { "node": ">= 10" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.5", - "@tailwindcss/oxide-darwin-arm64": "4.1.5", - "@tailwindcss/oxide-darwin-x64": "4.1.5", - "@tailwindcss/oxide-freebsd-x64": "4.1.5", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.5", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.5", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.5", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.5", - "@tailwindcss/oxide-linux-x64-musl": "4.1.5", - "@tailwindcss/oxide-wasm32-wasi": "4.1.5", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.5", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.5" + "@tailwindcss/oxide-android-arm64": "4.1.7", + "@tailwindcss/oxide-darwin-arm64": "4.1.7", + "@tailwindcss/oxide-darwin-x64": "4.1.7", + "@tailwindcss/oxide-freebsd-x64": "4.1.7", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.7", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.7", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.7", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.7", + "@tailwindcss/oxide-linux-x64-musl": "4.1.7", + "@tailwindcss/oxide-wasm32-wasi": "4.1.7", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.7", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.7" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.5.tgz", - "integrity": "sha512-LVvM0GirXHED02j7hSECm8l9GGJ1RfgpWCW+DRn5TvSaxVsv28gRtoL4aWKGnXqwvI3zu1GABeDNDVZeDPOQrw==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.7.tgz", + "integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==", "cpu": [ "arm64" ], @@ -966,9 +1054,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.5.tgz", - "integrity": "sha512-//TfCA3pNrgnw4rRJOqavW7XUk8gsg9ddi8cwcsWXp99tzdBAZW0WXrD8wDyNbqjW316Pk2hiN/NJx/KWHl8oA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.7.tgz", + "integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==", "cpu": [ "arm64" ], @@ -983,9 +1071,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.5.tgz", - "integrity": "sha512-XQorp3Q6/WzRd9OalgHgaqgEbjP3qjHrlSUb5k1EuS1Z9NE9+BbzSORraO+ecW432cbCN7RVGGL/lSnHxcd+7Q==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.7.tgz", + "integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==", "cpu": [ "x64" ], @@ -1000,9 +1088,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.5.tgz", - "integrity": "sha512-bPrLWbxo8gAo97ZmrCbOdtlz/Dkuy8NK97aFbVpkJ2nJ2Jo/rsCbu0TlGx8joCuA3q6vMWTSn01JY46iwG+clg==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.7.tgz", + "integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==", "cpu": [ "x64" ], @@ -1017,9 +1105,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.5.tgz", - "integrity": "sha512-1gtQJY9JzMAhgAfvd/ZaVOjh/Ju/nCoAsvOVJenWZfs05wb8zq+GOTnZALWGqKIYEtyNpCzvMk+ocGpxwdvaVg==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.7.tgz", + "integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==", "cpu": [ "arm" ], @@ -1034,9 +1122,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.5.tgz", - "integrity": "sha512-dtlaHU2v7MtdxBXoqhxwsWjav7oim7Whc6S9wq/i/uUMTWAzq/gijq1InSgn2yTnh43kR+SFvcSyEF0GCNu1PQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.7.tgz", + "integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==", "cpu": [ "arm64" ], @@ -1051,9 +1139,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.5.tgz", - "integrity": "sha512-fg0F6nAeYcJ3CriqDT1iVrqALMwD37+sLzXs8Rjy8Z1ZHshJoYceodfyUwGJEsQoTyWbliFNRs2wMQNXtT7MVA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.7.tgz", + "integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==", "cpu": [ "arm64" ], @@ -1068,9 +1156,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.5.tgz", - "integrity": "sha512-SO+F2YEIAHa1AITwc8oPwMOWhgorPzzcbhWEb+4oLi953h45FklDmM8dPSZ7hNHpIk9p/SCZKUYn35t5fjGtHA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.7.tgz", + "integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==", "cpu": [ "x64" ], @@ -1085,9 +1173,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.5.tgz", - "integrity": "sha512-6UbBBplywkk/R+PqqioskUeXfKcBht3KU7juTi1UszJLx0KPXUo10v2Ok04iBJIaDPkIFkUOVboXms5Yxvaz+g==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.7.tgz", + "integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==", "cpu": [ "x64" ], @@ -1102,9 +1190,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.5.tgz", - "integrity": "sha512-hwALf2K9FHuiXTPqmo1KeOb83fTRNbe9r/Ixv9ZNQ/R24yw8Ge1HOWDDgTdtzntIaIUJG5dfXCf4g9AD4RiyhQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.7.tgz", + "integrity": "sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -1192,9 +1280,9 @@ "optional": true }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.5.tgz", - "integrity": "sha512-oDKncffWzaovJbkuR7/OTNFRJQVdiw/n8HnzaCItrNQUeQgjy7oUiYpsm9HUBgpmvmDpSSbGaCa2Evzvk3eFmA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.7.tgz", + "integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==", "cpu": [ "arm64" ], @@ -1209,9 +1297,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.5.tgz", - "integrity": "sha512-WiR4dtyrFdbb+ov0LK+7XsFOsG+0xs0PKZKkt41KDn9jYpO7baE3bXiudPVkTqUEwNfiglCygQHl2jklvSBi7Q==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.7.tgz", + "integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==", "cpu": [ "x64" ], @@ -1242,15 +1330,15 @@ } }, "node_modules/@tailwindcss/vite": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.5.tgz", - "integrity": "sha512-FE1stRoqdHSb7RxesMfCXE8icwI1W6zGE/512ae3ZDrpkQYTTYeSyUJPRCjZd8CwVAhpDUbi1YR8pcZioFJQ/w==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.7.tgz", + "integrity": "sha512-tYa2fO3zDe41I7WqijyVbRd8oWT0aEID1Eokz5hMT6wShLIHj3yvwj9XbfuloHP9glZ6H+aG2AN/+ZrxJ1Y5RQ==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.5", - "@tailwindcss/oxide": "4.1.5", - "tailwindcss": "4.1.5" + "@tailwindcss/node": "4.1.7", + "@tailwindcss/oxide": "4.1.7", + "tailwindcss": "4.1.7" }, "peerDependencies": { "vite": "^5.2.0 || ^6" @@ -1330,6 +1418,16 @@ "fuse.js": "^7.0.0" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -1367,9 +1465,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1724,9 +1822,9 @@ } }, "node_modules/lightningcss": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", - "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -1740,22 +1838,22 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.29.2", - "lightningcss-darwin-x64": "1.29.2", - "lightningcss-freebsd-x64": "1.29.2", - "lightningcss-linux-arm-gnueabihf": "1.29.2", - "lightningcss-linux-arm64-gnu": "1.29.2", - "lightningcss-linux-arm64-musl": "1.29.2", - "lightningcss-linux-x64-gnu": "1.29.2", - "lightningcss-linux-x64-musl": "1.29.2", - "lightningcss-win32-arm64-msvc": "1.29.2", - "lightningcss-win32-x64-msvc": "1.29.2" + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", - "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", "cpu": [ "arm64" ], @@ -1774,9 +1872,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", - "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", "cpu": [ "x64" ], @@ -1795,9 +1893,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", - "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", "cpu": [ "x64" ], @@ -1816,9 +1914,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", - "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", "cpu": [ "arm" ], @@ -1837,9 +1935,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", - "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", "cpu": [ "arm64" ], @@ -1858,9 +1956,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", - "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", "cpu": [ "arm64" ], @@ -1879,9 +1977,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", - "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", "cpu": [ "x64" ], @@ -1900,9 +1998,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", - "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", "cpu": [ "x64" ], @@ -1921,9 +2019,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", - "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", "cpu": [ "arm64" ], @@ -1942,9 +2040,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", - "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", "cpu": [ "x64" ], @@ -1983,6 +2081,16 @@ "dev": true, "license": "MIT" }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -2026,6 +2134,45 @@ "mini-svg-data-uri": "cli.js" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -2189,9 +2336,9 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.5.tgz", - "integrity": "sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.7.tgz", + "integrity": "sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==", "dev": true, "license": "MIT" }, @@ -2205,6 +2352,24 @@ "node": ">=6" } }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/textarea-caret": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/textarea-caret/-/textarea-caret-3.1.0.tgz", @@ -2334,6 +2499,16 @@ "funding": { "url": "https://github.com/sponsors/jonschlinkert" } + }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } } } } From 00a9d9186dad4719e9beeff608ca34cb2e88b038 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 May 2025 09:08:26 +0200 Subject: [PATCH 003/126] Bump laravel/horizon from 5.31.2 to 5.32.0 in the php-dependencies group (#1292) Bumps the php-dependencies group with 1 update: [laravel/horizon](https://github.com/laravel/horizon). Updates `laravel/horizon` from 5.31.2 to 5.32.0 - [Release notes](https://github.com/laravel/horizon/releases) - [Changelog](https://github.com/laravel/horizon/blob/5.x/CHANGELOG.md) - [Commits](https://github.com/laravel/horizon/compare/v5.31.2...v5.32.0) --- updated-dependencies: - dependency-name: laravel/horizon dependency-version: 5.32.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 179 +++++++++++++++++++++++++------------------------- 1 file changed, 90 insertions(+), 89 deletions(-) diff --git a/composer.lock b/composer.lock index 8574044e2..a74310a19 100644 --- a/composer.lock +++ b/composer.lock @@ -2449,16 +2449,16 @@ }, { "name": "laravel/horizon", - "version": "v5.31.2", + "version": "v5.32.0", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "e6068c65be6c02a01e34531abf3143fab91f0de0" + "reference": "7686a8e1996472cc341dfd6f1d437065698594ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/e6068c65be6c02a01e34531abf3143fab91f0de0", - "reference": "e6068c65be6c02a01e34531abf3143fab91f0de0", + "url": "https://api.github.com/repos/laravel/horizon/zipball/7686a8e1996472cc341dfd6f1d437065698594ad", + "reference": "7686a8e1996472cc341dfd6f1d437065698594ad", "shasum": "" }, "require": { @@ -2523,9 +2523,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.31.2" + "source": "https://github.com/laravel/horizon/tree/v5.32.0" }, - "time": "2025-04-18T12:57:39+00:00" + "time": "2025-05-09T14:58:32+00:00" }, { "name": "laravel/nightwatch", @@ -4557,31 +4557,31 @@ }, { "name": "nunomaduro/termwind", - "version": "v2.3.0", + "version": "v2.3.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda" + "reference": "dfa08f390e509967a15c22493dc0bac5733d9123" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda", - "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dfa08f390e509967a15c22493dc0bac5733d9123", + "reference": "dfa08f390e509967a15c22493dc0bac5733d9123", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.1.8" + "symfony/console": "^7.2.6" }, "require-dev": { - "illuminate/console": "^11.33.2", - "laravel/pint": "^1.18.2", + "illuminate/console": "^11.44.7", + "laravel/pint": "^1.22.0", "mockery/mockery": "^1.6.12", - "pestphp/pest": "^2.36.0", - "phpstan/phpstan": "^1.12.11", - "phpstan/phpstan-strict-rules": "^1.6.1", - "symfony/var-dumper": "^7.1.8", + "pestphp/pest": "^2.36.0 || ^3.8.2", + "phpstan/phpstan": "^1.12.25", + "phpstan/phpstan-strict-rules": "^1.6.2", + "symfony/var-dumper": "^7.2.6", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -4624,7 +4624,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.3.0" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.1" }, "funding": [ { @@ -4640,7 +4640,7 @@ "type": "github" } ], - "time": "2024-11-21T10:39:51+00:00" + "time": "2025-05-08T08:14:37+00:00" }, { "name": "nyholm/psr7", @@ -7088,16 +7088,16 @@ }, { "name": "symfony/console", - "version": "v7.2.5", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "e51498ea18570c062e7df29d05a7003585b19b88" + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/e51498ea18570c062e7df29d05a7003585b19b88", - "reference": "e51498ea18570c062e7df29d05a7003585b19b88", + "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218", "shasum": "" }, "require": { @@ -7161,7 +7161,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.2.5" + "source": "https://github.com/symfony/console/tree/v7.2.6" }, "funding": [ { @@ -7177,7 +7177,7 @@ "type": "tidelift" } ], - "time": "2025-03-12T08:11:12+00:00" + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/css-selector", @@ -7848,16 +7848,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.2.5", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "371272aeb6286f8135e028ca535f8e4d6f114126" + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/371272aeb6286f8135e028ca535f8e4d6f114126", - "reference": "371272aeb6286f8135e028ca535f8e4d6f114126", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6023ec7607254c87c5e69fb3558255aca440d72b", + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b", "shasum": "" }, "require": { @@ -7906,7 +7906,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.5" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.6" }, "funding": [ { @@ -7922,20 +7922,20 @@ "type": "tidelift" } ], - "time": "2025-03-25T15:54:33+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.5", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b1fe91bc1fa454a806d3f98db4ba826eb9941a54" + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b1fe91bc1fa454a806d3f98db4ba826eb9941a54", - "reference": "b1fe91bc1fa454a806d3f98db4ba826eb9941a54", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9dec01e6094a063e738f8945ef69c0cfcf792ec", + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec", "shasum": "" }, "require": { @@ -8020,7 +8020,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.2.5" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.6" }, "funding": [ { @@ -8036,20 +8036,20 @@ "type": "tidelift" } ], - "time": "2025-03-28T13:32:50+00:00" + "time": "2025-05-02T09:04:03+00:00" }, { "name": "symfony/mailer", - "version": "v7.2.3", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3" + "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/f3871b182c44997cf039f3b462af4a48fb85f9d3", - "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3", + "url": "https://api.github.com/repos/symfony/mailer/zipball/998692469d6e698c6eadc7ef37a6530a9eabb356", + "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356", "shasum": "" }, "require": { @@ -8100,7 +8100,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.2.3" + "source": "https://github.com/symfony/mailer/tree/v7.2.6" }, "funding": [ { @@ -8116,7 +8116,7 @@ "type": "tidelift" } ], - "time": "2025-01-27T11:08:17+00:00" + "time": "2025-04-04T09:50:51+00:00" }, { "name": "symfony/mailgun-mailer", @@ -8189,16 +8189,16 @@ }, { "name": "symfony/mime", - "version": "v7.2.4", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "87ca22046b78c3feaff04b337f33b38510fd686b" + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/87ca22046b78c3feaff04b337f33b38510fd686b", - "reference": "87ca22046b78c3feaff04b337f33b38510fd686b", + "url": "https://api.github.com/repos/symfony/mime/zipball/706e65c72d402539a072d0d6ad105fff6c161ef1", + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1", "shasum": "" }, "require": { @@ -8253,7 +8253,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.4" + "source": "https://github.com/symfony/mime/tree/v7.2.6" }, "funding": [ { @@ -8269,7 +8269,7 @@ "type": "tidelift" } ], - "time": "2025-02-19T08:51:20+00:00" + "time": "2025-04-27T13:34:41+00:00" }, { "name": "symfony/options-resolver", @@ -8340,7 +8340,7 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -8399,7 +8399,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -8419,7 +8419,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -8477,7 +8477,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -8497,16 +8497,16 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { @@ -8560,7 +8560,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" }, "funding": [ { @@ -8576,11 +8576,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -8641,7 +8641,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -8661,19 +8661,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -8721,7 +8722,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -8737,7 +8738,7 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php80", @@ -8821,7 +8822,7 @@ }, { "name": "symfony/polyfill-php83", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", @@ -8877,7 +8878,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" }, "funding": [ { @@ -8897,7 +8898,7 @@ }, { "name": "symfony/polyfill-uuid", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", @@ -8956,7 +8957,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.32.0" }, "funding": [ { @@ -9284,16 +9285,16 @@ }, { "name": "symfony/string", - "version": "v7.2.0", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", - "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", + "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931", "shasum": "" }, "require": { @@ -9351,7 +9352,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.2.0" + "source": "https://github.com/symfony/string/tree/v7.2.6" }, "funding": [ { @@ -9367,20 +9368,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T13:31:26+00:00" + "time": "2025-04-20T20:18:16+00:00" }, { "name": "symfony/translation", - "version": "v7.2.4", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "283856e6981286cc0d800b53bd5703e8e363f05a" + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/283856e6981286cc0d800b53bd5703e8e363f05a", - "reference": "283856e6981286cc0d800b53bd5703e8e363f05a", + "url": "https://api.github.com/repos/symfony/translation/zipball/e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", "shasum": "" }, "require": { @@ -9446,7 +9447,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.2.4" + "source": "https://github.com/symfony/translation/tree/v7.2.6" }, "funding": [ { @@ -9462,7 +9463,7 @@ "type": "tidelift" } ], - "time": "2025-02-13T10:27:23+00:00" + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/translation-contracts", @@ -9618,16 +9619,16 @@ }, { "name": "symfony/var-dumper", - "version": "v7.2.3", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "82b478c69745d8878eb60f9a049a4d584996f73a" + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/82b478c69745d8878eb60f9a049a4d584996f73a", - "reference": "82b478c69745d8878eb60f9a049a4d584996f73a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9c46038cd4ed68952166cf7001b54eb539184ccb", + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb", "shasum": "" }, "require": { @@ -9681,7 +9682,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.2.3" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.6" }, "funding": [ { @@ -9697,7 +9698,7 @@ "type": "tidelift" } ], - "time": "2025-01-17T11:39:41+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", From 3851bfcaf2ac1c0a516d6844b647cda9317fd599 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 16 May 2025 09:19:44 +0200 Subject: [PATCH 004/126] wip --- resources/views/rules.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/rules.blade.php b/resources/views/rules.blade.php index ae820bb6d..fa8605ba9 100644 --- a/resources/views/rules.blade.php +++ b/resources/views/rules.blade.php @@ -10,7 +10,7 @@

  • Post and reply in English
  • Not spam
  • Not advertise commercial content, products or services in any way. You may offer your services or suggest products when asked for but you cannot start threads for them.
  • -
  • Not recruit for your own or other companies
  • +
  • Not recruit for your own or other companies or start threads to look for a job or offer your services.
  • Not following these rules may result in the banning or deletion of your profile and/or content.

    Moderators and admins may remove or modify your content at any time they seem necessary without notice.

    From 51173fecd9faa357e7e05f67ee21402853a94ba1 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 16 May 2025 09:28:26 +0200 Subject: [PATCH 005/126] Do not send email when models are deleted --- app/Mail/ArticleApprovedEmail.php | 2 ++ app/Mail/NewReplyEmail.php | 2 ++ app/Mail/ThreadDeletedEmail.php | 2 ++ 3 files changed, 6 insertions(+) diff --git a/app/Mail/ArticleApprovedEmail.php b/app/Mail/ArticleApprovedEmail.php index a8e1bef07..50ee2c2a6 100644 --- a/app/Mail/ArticleApprovedEmail.php +++ b/app/Mail/ArticleApprovedEmail.php @@ -7,6 +7,8 @@ final class ArticleApprovedEmail extends Mailable { + public bool $deleteWhenMissingModels = true; + public function __construct(public Article $article) {} public function build() diff --git a/app/Mail/NewReplyEmail.php b/app/Mail/NewReplyEmail.php index 2cfd6c670..a1f04adf8 100644 --- a/app/Mail/NewReplyEmail.php +++ b/app/Mail/NewReplyEmail.php @@ -10,6 +10,8 @@ final class NewReplyEmail extends Mailable { + public bool $deleteWhenMissingModels = true; + public Thread $thread; public function __construct( diff --git a/app/Mail/ThreadDeletedEmail.php b/app/Mail/ThreadDeletedEmail.php index 10460fef4..39e8291d5 100644 --- a/app/Mail/ThreadDeletedEmail.php +++ b/app/Mail/ThreadDeletedEmail.php @@ -7,6 +7,8 @@ final class ThreadDeletedEmail extends Mailable { + public bool $deleteWhenMissingModels = true; + public function __construct(public Thread $thread, public string $reason) {} public function build() From a199360d521cf50644f59a5065c99367ca4bf60c Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 16 May 2025 09:31:13 +0200 Subject: [PATCH 006/126] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 663133b58..e1eac2bb7 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -44,7 +44,7 @@ event. Representation of a project may be further defined and clarified by proje ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at -dries.vints@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it +hello@laravel.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. From eaaded55483f16fe697eb2e2ef066e90237489b5 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 16 May 2025 09:43:30 +0200 Subject: [PATCH 007/126] Handle email send failure gracefully --- app/Http/Controllers/Auth/RegisterController.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 6627f6889..3f7e292f6 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -11,6 +11,7 @@ use Illuminate\Auth\Middleware\RedirectIfAuthenticated; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Http\JsonResponse; +use Symfony\Component\Mailer\Exception\HttpTransportException; class RegisterController extends Controller { @@ -51,7 +52,11 @@ public function __construct() */ public function register(RegisterRequest $request) { - event(new Registered($user = $this->create($request))); + try { + event(new Registered($user = $this->create($request))); + } catch (HttpTransportException $e) { + // Failed to send email verification... + } session()->forget('githubData'); From f6d3a16e974884c35bb8a6fb53ea599b816d1d09 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 16 May 2025 20:19:27 +0200 Subject: [PATCH 008/126] Add embedded youtube links --- app/Markdown/MarkdownServiceProvider.php | 8 + app/Models/Article.php | 2 +- app/Models/Reply.php | 2 +- composer.json | 1 + composer.lock | 254 ++++++++++++++++++++++- resources/css/app.css | 11 +- resources/css/articles.css | 73 ------- resources/helpers.php | 4 +- resources/views/articles/show.blade.php | 2 +- 9 files changed, 274 insertions(+), 83 deletions(-) delete mode 100644 resources/css/articles.css diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index 0244f35c4..ee994582e 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -5,6 +5,8 @@ use Illuminate\Support\ServiceProvider; use League\CommonMark\Environment\Environment; use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; +use League\CommonMark\Extension\Embed\Bridge\OscaroteroEmbedAdapter; +use League\CommonMark\Extension\Embed\EmbedExtension; use League\CommonMark\Extension\ExternalLink\ExternalLinkExtension; use League\CommonMark\Extension\GithubFlavoredMarkdownExtension; use League\CommonMark\Extension\Mention\MentionExtension; @@ -31,11 +33,17 @@ public function register(): void 'open_in_new_window' => true, 'nofollow' => ($params['nofollow'] ?? true) ? 'external' : '', ], + 'embed' => [ + 'adapter' => new OscaroteroEmbedAdapter, + 'allowed_domains' => ['youtube.com', 'twitter.com'], + 'fallback' => 'link', + ], ]); $environment->addExtension(new CommonMarkCoreExtension); $environment->addExtension(new GithubFlavoredMarkdownExtension); $environment->addExtension(new MentionExtension); + $environment->addExtension(new EmbedExtension); $environment->addExtension(new ExternalLinkExtension); return new LeagueConverter(new MarkdownConverter($environment)); diff --git a/app/Models/Article.php b/app/Models/Article.php index 475466893..ad6aad1da 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -100,7 +100,7 @@ public function body(): string public function excerpt(int $limit = 100): string { - return Str::limit(strip_tags(md_to_html($this->body(), false)), $limit); + return Str::limit(strip_tags(md_to_html($this->body())), $limit); } public function hasHeroImageAuthor(): bool diff --git a/app/Models/Reply.php b/app/Models/Reply.php index 7ee52942b..a347e75e8 100644 --- a/app/Models/Reply.php +++ b/app/Models/Reply.php @@ -76,7 +76,7 @@ public function body(): string public function excerpt(int $limit = 100): string { - return Str::limit(strip_tags(md_to_html($this->body())), $limit); + return Str::limit(strip_tags(md_to_html($this->body(), ['nofollow' => false])), $limit); } public function to(ReplyAble $replyAble) diff --git a/composer.json b/composer.json index 4ff4e9a3d..419c87cf1 100644 --- a/composer.json +++ b/composer.json @@ -9,6 +9,7 @@ "blade-ui-kit/blade-heroicons": "^2.3", "blade-ui-kit/blade-icons": "^1.6", "codeat3/blade-simple-icons": "^6.2", + "embed/embed": "^4.4", "guzzlehttp/guzzle": "^7.2", "innocenzi/bluesky-notification-channel": "^0.2.0", "intervention/image": "^3.0", diff --git a/composer.lock b/composer.lock index a74310a19..e7fe0ce39 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": "e70c8fed7ce9930be31cd97642018e48", + "content-hash": "a91a525653a2df11e2aa9fa9f178e915", "packages": [ { "name": "abraham/twitteroauth", @@ -1175,6 +1175,95 @@ ], "time": "2025-03-06T22:45:56+00:00" }, + { + "name": "embed/embed", + "version": "v4.4.17", + "source": { + "type": "git", + "url": "https://github.com/php-embed/Embed.git", + "reference": "b2ea091a5586c14ea5f2c5bf52fb0ef38e5aef87" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-embed/Embed/zipball/b2ea091a5586c14ea5f2c5bf52fb0ef38e5aef87", + "reference": "b2ea091a5586c14ea5f2c5bf52fb0ef38e5aef87", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "ext-curl": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ml/json-ld": "^1.1", + "oscarotero/html-parser": "^0.1.4", + "php": "^7.4|^8", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0|^2.0" + }, + "require-dev": { + "brick/varexporter": "^0.3.1", + "friendsofphp/php-cs-fixer": "^2.0", + "nyholm/psr7": "^1.2", + "oscarotero/php-cs-fixer-config": "^1.0", + "phpunit/phpunit": "^9.0", + "symfony/css-selector": "^5.0" + }, + "suggest": { + "symfony/css-selector": "If you want to get elements using css selectors" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Embed\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oscar Otero", + "email": "oom@oscarotero.com", + "homepage": "http://oscarotero.com", + "role": "Developer" + } + ], + "description": "PHP library to retrieve page info using oembed, opengraph, etc", + "homepage": "https://github.com/oscarotero/Embed", + "keywords": [ + "embed", + "embedly", + "oembed", + "opengraph", + "twitter cards" + ], + "support": { + "email": "oom@oscarotero.com", + "issues": "https://github.com/oscarotero/Embed/issues", + "source": "https://github.com/php-embed/Embed/tree/v4.4.17" + }, + "funding": [ + { + "url": "https://paypal.me/oscarotero", + "type": "custom" + }, + { + "url": "https://github.com/oscarotero", + "type": "github" + }, + { + "url": "https://www.patreon.com/misteroom", + "type": "patreon" + } + ], + "time": "2025-05-13T12:42:29+00:00" + }, { "name": "firebase/php-jwt", "version": "v6.11.1", @@ -4020,6 +4109,110 @@ }, "time": "2024-03-31T07:05:07+00:00" }, + { + "name": "ml/iri", + "version": "1.1.4", + "target-dir": "ML/IRI", + "source": { + "type": "git", + "url": "https://github.com/lanthaler/IRI.git", + "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lanthaler/IRI/zipball/cbd44fa913e00ea624241b38cefaa99da8d71341", + "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341", + "shasum": "" + }, + "require": { + "lib-pcre": ">=4.0", + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "ML\\IRI": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Markus Lanthaler", + "email": "mail@markus-lanthaler.com", + "homepage": "http://www.markus-lanthaler.com", + "role": "Developer" + } + ], + "description": "IRI handling for PHP", + "homepage": "http://www.markus-lanthaler.com", + "keywords": [ + "URN", + "iri", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/lanthaler/IRI/issues", + "source": "https://github.com/lanthaler/IRI/tree/master" + }, + "time": "2014-01-21T13:43:39+00:00" + }, + { + "name": "ml/json-ld", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/lanthaler/JsonLD.git", + "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/537e68e87a6bce23e57c575cd5dcac1f67ce25d8", + "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ml/iri": "^1.1.1", + "php": ">=5.3.0" + }, + "require-dev": { + "json-ld/tests": "1.0", + "phpunit/phpunit": "^4" + }, + "type": "library", + "autoload": { + "psr-4": { + "ML\\JsonLD\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Markus Lanthaler", + "email": "mail@markus-lanthaler.com", + "homepage": "http://www.markus-lanthaler.com", + "role": "Developer" + } + ], + "description": "JSON-LD Processor for PHP", + "homepage": "http://www.markus-lanthaler.com", + "keywords": [ + "JSON-LD", + "jsonld" + ], + "support": { + "issues": "https://github.com/lanthaler/JsonLD/issues", + "source": "https://github.com/lanthaler/JsonLD/tree/1.2.1" + }, + "time": "2022-09-29T08:45:17+00:00" + }, { "name": "monolog/monolog", "version": "3.9.0", @@ -4776,6 +4969,59 @@ }, "time": "2024-12-18T20:57:38+00:00" }, + { + "name": "oscarotero/html-parser", + "version": "v0.1.8", + "source": { + "type": "git", + "url": "https://github.com/oscarotero/html-parser.git", + "reference": "10f3219267a365d9433f2f7d1694209c9d436c8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oscarotero/html-parser/zipball/10f3219267a365d9433f2f7d1694209c9d436c8d", + "reference": "10f3219267a365d9433f2f7d1694209c9d436c8d", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpunit/phpunit": "^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "HtmlParser\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oscar Otero", + "email": "oom@oscarotero.com", + "homepage": "http://oscarotero.com", + "role": "Developer" + } + ], + "description": "Parse html strings to DOMDocument", + "homepage": "https://github.com/oscarotero/html-parser", + "keywords": [ + "dom", + "html", + "parser" + ], + "support": { + "email": "oom@oscarotero.com", + "issues": "https://github.com/oscarotero/html-parser/issues", + "source": "https://github.com/oscarotero/html-parser/tree/v0.1.8" + }, + "time": "2023-11-29T20:28:41+00:00" + }, { "name": "paragonie/constant_time_encoding", "version": "v3.0.0", @@ -12920,12 +13166,12 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "8.3.*" }, - "platform-dev": [], - "plugin-api-version": "2.3.0" + "platform-dev": {}, + "plugin-api-version": "2.6.0" } diff --git a/resources/css/app.css b/resources/css/app.css index 4291b72f0..3ff58d771 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -3,7 +3,6 @@ @import 'highlight.js/styles/hybrid.css' layer(base); -@import './articles.css' layer(utilities); @import './buttons.css' layer(utilities); @import './labels.css' layer(utilities); @import './modal.css' layer(utilities); @@ -171,3 +170,13 @@ svg .secondary { .editor li[aria-selected='true'] { @apply bg-lio-100; } + +article iframe { + @apply w-full h-64; +} + +@media (width >= theme(--breakpoint-sm)) { + article iframe { + @apply h-96; + } +} \ No newline at end of file diff --git a/resources/css/articles.css b/resources/css/articles.css deleted file mode 100644 index 6c4207beb..000000000 --- a/resources/css/articles.css +++ /dev/null @@ -1,73 +0,0 @@ -.article p, -.article ul, -.article ol, -.article hr { - @apply mb-4; -} - -.article h1, -.article h2, -.article h3, -.article h4, -.article h5, -.article h6 { - @apply mb-1 mt-12; -} - -.article h1 { - @apply text-4xl font-bold; -} - -.article h2 { - @apply text-3xl font-bold; -} - -.article h3 { - @apply text-2xl font-bold; -} - -.article h4, -.article h5, -.article h6 { - @apply text-xl font-bold; -} - -.article img, -.article pre, -.article blockquote { - @apply my-8; -} - -.article img { - @apply shadow-lg mx-auto; -} - -.article p code { - @apply bg-lio-200 px-1 text-base; -} - -.article ul { - @apply list-disc list-inside; -} - -.article ol { - @apply list-decimal list-inside; -} - -.article ul p, -.article ol p { - @apply inline; -} - -.article ul ol, -.article ol ul { - @apply mb-0 ml-4; -} - -.article blockquote { - @apply border-l-4 border-lio-500 pl-4 ml-4; -} - -.article a { - @apply underline text-lio-700; -} diff --git a/resources/helpers.php b/resources/helpers.php index 9f7ed2df8..7eac47fea 100644 --- a/resources/helpers.php +++ b/resources/helpers.php @@ -24,9 +24,9 @@ function is_active(mixed $routes): bool /** * Converts Markdown to a safe HTML string. */ - function md_to_html(string $markdown, bool $nofollow = true): string + function md_to_html(string $markdown, array $params = []): string { - return app(App\Markdown\Converter::class, ['nofollow' => $nofollow])->toHtml($markdown); + return app(App\Markdown\Converter::class, $params)->toHtml($markdown); } } diff --git a/resources/views/articles/show.blade.php b/resources/views/articles/show.blade.php index 300b050bf..3a079e819 100644 --- a/resources/views/articles/show.blade.php +++ b/resources/views/articles/show.blade.php @@ -121,7 +121,7 @@ class="w-full bg-center bg-gray-800" x-init="$nextTick(function () { highlightCode($el); })" class="prose prose-lg text-gray-800 prose-lio" > - {!! md_to_html($article->body(), false) !!} + {!! md_to_html($article->body(), ['nofollow' => false]) !!} @if ($article->isUpdated()) From 7b531a3b11a2733c0f254d2efd3a01d926ac3e9b Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Sun, 18 May 2025 21:21:49 +0200 Subject: [PATCH 009/126] wip --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e58a8e45..e8ff58e1b 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ This is the repository for the [Laravel.io](http://laravel.io) community portal. We'd like to thank these **amazing companies** for sponsoring us. If you are interested in becoming a sponsor, please visit
    the Laravel.io GitHub Sponsors page. - **[NativePHP for Mobile](https://nativephp.com/mobile?ref=laravel.io)** +- **[PhpStorm](https://www.jetbrains.com/phpstorm/?utm_source=laravel.io&utm_medium=cpc&utm_campaign=phpstorm&utm_content=readme)** - **[Eventy](https://https://eventy.io/?utm_source=Laravel.io&utm_campaign=eventy&utm_medium=advertisement)** - [Forge](https://forge.laravel.com) - [Envoyer](https://envoyer.io) From 9687736a6c19f045a81d7a3939134954dd8fe513 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 13:38:49 +0200 Subject: [PATCH 010/126] wip --- app/Markdown/MarkdownServiceProvider.php | 2 +- app/Models/Reply.php | 2 +- composer.lock | 108 +++++++++++------------ 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index ee994582e..ef9835b45 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -43,8 +43,8 @@ public function register(): void $environment->addExtension(new CommonMarkCoreExtension); $environment->addExtension(new GithubFlavoredMarkdownExtension); $environment->addExtension(new MentionExtension); - $environment->addExtension(new EmbedExtension); $environment->addExtension(new ExternalLinkExtension); + $environment->addExtension(new EmbedExtension); return new LeagueConverter(new MarkdownConverter($environment)); }); diff --git a/app/Models/Reply.php b/app/Models/Reply.php index a347e75e8..7ee52942b 100644 --- a/app/Models/Reply.php +++ b/app/Models/Reply.php @@ -76,7 +76,7 @@ public function body(): string public function excerpt(int $limit = 100): string { - return Str::limit(strip_tags(md_to_html($this->body(), ['nofollow' => false])), $limit); + return Str::limit(strip_tags(md_to_html($this->body())), $limit); } public function to(ReplyAble $replyAble) diff --git a/composer.lock b/composer.lock index e7fe0ce39..f0931de6f 100644 --- a/composer.lock +++ b/composer.lock @@ -279,16 +279,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.340.3", + "version": "3.343.13", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "d5ce8f22952710da40be75ad69e2f04d47598a5d" + "reference": "eb50d111a09ef39675358e74801260ac129ee346" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d5ce8f22952710da40be75ad69e2f04d47598a5d", - "reference": "d5ce8f22952710da40be75ad69e2f04d47598a5d", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/eb50d111a09ef39675358e74801260ac129ee346", + "reference": "eb50d111a09ef39675358e74801260ac129ee346", "shasum": "" }, "require": { @@ -370,21 +370,21 @@ "support": { "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.340.3" + "source": "https://github.com/aws/aws-sdk-php/tree/3.343.13" }, - "time": "2025-02-27T19:11:54+00:00" + "time": "2025-05-16T18:24:39+00:00" }, { "name": "blade-ui-kit/blade-heroicons", "version": "2.6.0", "source": { "type": "git", - "url": "https://github.com/blade-ui-kit/blade-heroicons.git", + "url": "https://github.com/driesvints/blade-heroicons.git", "reference": "4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/blade-ui-kit/blade-heroicons/zipball/4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19", + "url": "https://api.github.com/repos/driesvints/blade-heroicons/zipball/4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19", "reference": "4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19", "shasum": "" }, @@ -428,8 +428,8 @@ "laravel" ], "support": { - "issues": "https://github.com/blade-ui-kit/blade-heroicons/issues", - "source": "https://github.com/blade-ui-kit/blade-heroicons/tree/2.6.0" + "issues": "https://github.com/driesvints/blade-heroicons/issues", + "source": "https://github.com/driesvints/blade-heroicons/tree/2.6.0" }, "funding": [ { @@ -2824,16 +2824,16 @@ }, { "name": "laravel/scout", - "version": "v10.14.1", + "version": "v10.15.0", "source": { "type": "git", "url": "https://github.com/laravel/scout.git", - "reference": "6ae3ec83ceacb554f395df9fe15318a14b79bb39" + "reference": "102fe09ae1c045c6f9cf1b3a2234e1fadb2198f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/scout/zipball/6ae3ec83ceacb554f395df9fe15318a14b79bb39", - "reference": "6ae3ec83ceacb554f395df9fe15318a14b79bb39", + "url": "https://api.github.com/repos/laravel/scout/zipball/102fe09ae1c045c6f9cf1b3a2234e1fadb2198f2", + "reference": "102fe09ae1c045c6f9cf1b3a2234e1fadb2198f2", "shasum": "" }, "require": { @@ -2901,7 +2901,7 @@ "issues": "https://github.com/laravel/scout/issues", "source": "https://github.com/laravel/scout" }, - "time": "2025-04-01T14:58:03+00:00" + "time": "2025-05-13T13:34:05+00:00" }, { "name": "laravel/serializable-closure", @@ -5800,16 +5800,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.7", + "version": "v0.12.8", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c" + "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", - "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/85057ceedee50c49d4f6ecaff73ee96adb3b3625", + "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625", "shasum": "" }, "require": { @@ -5873,9 +5873,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.7" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.8" }, - "time": "2024-12-10T01:58:33+00:00" + "time": "2025-03-16T03:05:19+00:00" }, { "name": "ralouphie/getallheaders", @@ -6140,16 +6140,16 @@ }, { "name": "sentry/sentry", - "version": "4.10.0", + "version": "4.11.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "2af937d47d8aadb8dab0b1d7b9557e495dd12856" + "reference": "53dc0bcb6a667cac5b760b46f98d5380e63e02ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/2af937d47d8aadb8dab0b1d7b9557e495dd12856", - "reference": "2af937d47d8aadb8dab0b1d7b9557e495dd12856", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/53dc0bcb6a667cac5b760b46f98d5380e63e02ca", + "reference": "53dc0bcb6a667cac5b760b46f98d5380e63e02ca", "shasum": "" }, "require": { @@ -6213,7 +6213,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/4.10.0" + "source": "https://github.com/getsentry/sentry-php/tree/4.11.1" }, "funding": [ { @@ -6225,7 +6225,7 @@ "type": "custom" } ], - "time": "2024-11-06T07:44:19+00:00" + "time": "2025-05-12T11:30:33+00:00" }, { "name": "sentry/sentry-laravel", @@ -6318,16 +6318,16 @@ }, { "name": "spatie/backtrace", - "version": "1.7.1", + "version": "1.7.4", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "0f2477c520e3729de58e061b8192f161c99f770b" + "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/0f2477c520e3729de58e061b8192f161c99f770b", - "reference": "0f2477c520e3729de58e061b8192f161c99f770b", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/cd37a49fce7137359ac30ecc44ef3e16404cccbe", + "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe", "shasum": "" }, "require": { @@ -6365,7 +6365,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.7.1" + "source": "https://github.com/spatie/backtrace/tree/1.7.4" }, "funding": [ { @@ -6377,20 +6377,20 @@ "type": "other" } ], - "time": "2024-12-02T13:28:15+00:00" + "time": "2025-05-08T15:41:09+00:00" }, { "name": "spatie/browsershot", - "version": "5.0.8", + "version": "5.0.10", "source": { "type": "git", "url": "https://github.com/spatie/browsershot.git", - "reference": "0102971ae974022ec4a7a149e8924ea355b52cc3" + "reference": "9e5ae15487b3cdc3eb03318c1c8ac38971f60e58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/browsershot/zipball/0102971ae974022ec4a7a149e8924ea355b52cc3", - "reference": "0102971ae974022ec4a7a149e8924ea355b52cc3", + "url": "https://api.github.com/repos/spatie/browsershot/zipball/9e5ae15487b3cdc3eb03318c1c8ac38971f60e58", + "reference": "9e5ae15487b3cdc3eb03318c1c8ac38971f60e58", "shasum": "" }, "require": { @@ -6437,7 +6437,7 @@ "webpage" ], "support": { - "source": "https://github.com/spatie/browsershot/tree/5.0.8" + "source": "https://github.com/spatie/browsershot/tree/5.0.10" }, "funding": [ { @@ -6445,7 +6445,7 @@ "type": "github" } ], - "time": "2025-02-17T09:56:12+00:00" + "time": "2025-05-15T07:10:57+00:00" }, { "name": "spatie/crawler", @@ -10557,20 +10557,20 @@ }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "php": "^7.4|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -10578,8 +10578,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -10602,9 +10602,9 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" }, - "time": "2020-07-09T08:09:16+00:00" + "time": "2025-04-30T06:54:44+00:00" }, { "name": "mockery/mockery", @@ -10691,16 +10691,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.13.0", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "024473a478be9df5fdaca2c793f2232fe788e414" + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414", - "reference": "024473a478be9df5fdaca2c793f2232fe788e414", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", "shasum": "" }, "require": { @@ -10739,7 +10739,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" }, "funding": [ { @@ -10747,7 +10747,7 @@ "type": "tidelift" } ], - "time": "2025-02-12T12:17:51+00:00" + "time": "2025-04-29T12:36:36+00:00" }, { "name": "nunomaduro/collision", From c0976eaeed87e2e198edcab1e1951fa4f684cb61 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 14:13:07 +0200 Subject: [PATCH 011/126] wip --- composer.json | 1 + composer.lock | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 419c87cf1..98a0f98ba 100644 --- a/composer.json +++ b/composer.json @@ -11,6 +11,7 @@ "codeat3/blade-simple-icons": "^6.2", "embed/embed": "^4.4", "guzzlehttp/guzzle": "^7.2", + "guzzlehttp/psr7": "^2.7", "innocenzi/bluesky-notification-channel": "^0.2.0", "intervention/image": "^3.0", "laravel-notification-channels/telegram": "^6.0", diff --git a/composer.lock b/composer.lock index f0931de6f..118e5d0d3 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": "a91a525653a2df11e2aa9fa9f178e915", + "content-hash": "825882126505257a4be70bb6da585def", "packages": [ { "name": "abraham/twitteroauth", From b0f7c8b1137fa46067cde9d586de4cb3a0fa6eb7 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 19:53:16 +0200 Subject: [PATCH 012/126] wip --- public/images/sponsors/phpstorm.svg | 23 +++++++++++++++++---- resources/views/layouts/_sponsors.blade.php | 5 ++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/public/images/sponsors/phpstorm.svg b/public/images/sponsors/phpstorm.svg index 9b6f53883..ce562bae3 100644 --- a/public/images/sponsors/phpstorm.svg +++ b/public/images/sponsors/phpstorm.svg @@ -1,5 +1,20 @@ - - - - + + + + + + + + + + + + + + + + + + + diff --git a/resources/views/layouts/_sponsors.blade.php b/resources/views/layouts/_sponsors.blade.php index ecc4e1e39..970684220 100644 --- a/resources/views/layouts/_sponsors.blade.php +++ b/resources/views/layouts/_sponsors.blade.php @@ -10,7 +10,10 @@
    - + + + {{-- --}} +
    From a34877a0471319bfb70ff8491e2ee6f74b0a8bfa Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 20:12:06 +0200 Subject: [PATCH 013/126] Revert "wip" This reverts commit f701810626915c2f1e9563ef8326d0852d41d6d4. --- README.md | 2 ++ public/images/sponsors/litslink.png | Bin 0 -> 12524 bytes public/images/sponsors/n-ix.png | Bin 0 -> 8422 bytes resources/views/layouts/_sponsors.blade.php | 8 ++++++++ 4 files changed, 10 insertions(+) create mode 100644 public/images/sponsors/litslink.png create mode 100644 public/images/sponsors/n-ix.png diff --git a/README.md b/README.md index e8ff58e1b..cbc4215ab 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,8 @@ We'd like to thank these **amazing companies** for sponsoring us. If you are int - [Fathom](https://usefathom.com) - [Tinkerwell](https://tinkerwell.app) - [BairesDev](https://www.bairesdev.com/sponsoring-open-source-projects/) +- [N-iX](https://www.n-ix.com/) +- [Litslink](https://litslink.com/) ## Requirements diff --git a/public/images/sponsors/litslink.png b/public/images/sponsors/litslink.png new file mode 100644 index 0000000000000000000000000000000000000000..016b48a2ff89bf4f1b44bbe54edafb8d53401839 GIT binary patch literal 12524 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 AiU0rr literal 0 HcmV?d00001 diff --git a/resources/views/layouts/_sponsors.blade.php b/resources/views/layouts/_sponsors.blade.php index 970684220..30a75ca60 100644 --- a/resources/views/layouts/_sponsors.blade.php +++ b/resources/views/layouts/_sponsors.blade.php @@ -38,6 +38,14 @@
    + +
    + +
    + +
    + +
    From 991d46a7daf6aa5d5f884793391388869cc993f9 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 20:12:46 +0200 Subject: [PATCH 014/126] wip --- README.md | 1 - public/images/sponsors/litslink.png | Bin 12524 -> 0 bytes resources/views/layouts/_sponsors.blade.php | 4 ---- 3 files changed, 5 deletions(-) delete mode 100644 public/images/sponsors/litslink.png diff --git a/README.md b/README.md index cbc4215ab..4cf99059c 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,6 @@ We'd like to thank these **amazing companies** for sponsoring us. If you are int - [Tinkerwell](https://tinkerwell.app) - [BairesDev](https://www.bairesdev.com/sponsoring-open-source-projects/) - [N-iX](https://www.n-ix.com/) -- [Litslink](https://litslink.com/) ## Requirements diff --git a/public/images/sponsors/litslink.png b/public/images/sponsors/litslink.png deleted file mode 100644 index 016b48a2ff89bf4f1b44bbe54edafb8d53401839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12524 zcmVI7+b;^7;C&{U|KSg5W?mbQg_9~9}#~#15E@GWUsv^$Ia_Q~ul?$O%D#=CO_j2FvKC%Sz2!h($+S)3Y9;{bvBc4Hi zp?1jY5ZiDa&!P5X8MqDGhh>;@<+aEP<+&|T4Y+rS%r@F3JxP+RX4)%IpgbMK!Jflxr}7cD~S)45Rr-` zxE`UHddpC1Q3?qaoKi=MK&*9#1X;=^!8*XTCaJAReg_U5FiI0Nw`7qmUIP-cJV&$} z$q&mx$Z|_e*$bjBRF;_p7_5dAA1E>=qqwZDLT!zppAc#xi+yAsTA)A!;Jo@F{=>6^ zq2X=7dR+C!t-|6wZc3|l9xMY7LL#MNh(tl3FU{%-*AsGr1xd_p4_T9uwJ@<9BskhG z$xstEwJmmyREAI9+E~T&!vtt<8jt<8lmunQ{|B_LOXQ|9=llkNrzp!*$!b|PM<|t;1`-dR ztFDbz_DyD(uVhM_a?y+xWww+QMR70YP>NJLdWFK}z1*11vaMxxoK${HlQyYGc|F`* zPZVs3v&x+%d7<3gH20*&ie;zj@Cw8l!o2kY1sVt=$~U!+O~0SLR-G5F(mD=RowjsmKwMYlR0FDA1$F~ zN*|ve%|%3!ek(Amz_@#P{jadhAA#}s&0zM1%P3kQ{tEOHOkl9=n4MxNnSIz#SA##j3kAI0hFFtumT{(to574Rm7O-h_foMZ0eV! zrrRl_&ON=_cV~&0J}D~97&F&OpzWk4%{4fI+l(LxPkc++d*n)>*BR3blcYjBhnXh9Hb0)sdsGh2u`Ul;8uKS@52Phj}I#w?zQnc?1c zDk}{k7npL{(H*nLkV9IWC0rsP>jXCPsg=$ir-n0b@=&)`VmXDv5RwG|E=6Eh&5H0RS$7Cv4j&h@#K5J>-9sDiM8)EPoze z+yr*{k8_i2WA}5TqUji51M}BQOU%rQPBB;J7bs9yBvW3fdl^AFMuAw?+NKtW%Bx3TCd=I}wuX$YyQ3UzS% zBq=jeafI7NO*b|jjv0+GDz0RenrjZ@_M?wJT2-&jYw_wZDv_?uM%dLS<> z6P*>IgdFwm?~xmYmG@a;9rC~$cuQzQ2n|l*EL68^;0)U$# z-k%hRVG!19?FK>38(z{ZXTm^>ZW3qOYf1!@N~ z1mnUrcTGaH&QGI6Wp2A;7;?%A_+>qThTLKiXvZ<+JjZ#SWNt_ZQuFlETA}=*k%@vU z6{;khRD4m%yc~!CmC37&RHYDEFb|Nn`98(iF%-}6+G`2WT%`Nyyqie*Y3FXfi?1If z`Hc`#b}&dM=V?;}362*e_(XsNL(Ou2P%b3-O`Qd;Cm#=N_z)vN}$s<3uWzMh>9BOmC2gm14wX z%viAnZJ~*l5I1;1QBwp#%%miV$Of34R!h z4#4`(X^ehCs{olLHe)Wc`0eq^<ke5eu z8&Q_|ddy3U;c)_V0~_Q%@coZ5A8QWZB-yp{STiI(a~jLck%l#6K0wu4a1U(+wmxr+RR@;hlVT_Aa*0URaVyX$pe-M@vXa~%|DUT|yJ zq&|*qZ4=~Yd;5gg`i>pD%rV{FyAs>#3%7NS8BG7QIh^qM)u=S|&l#KtJkJ@BUZJzU z3IepGrianT=&T-MA3;QD2Q^S;GDe9pl?BsSWVbeE$NVevUT`g5--nw1OJLL_e=r1Q zBD~ffw;_GgJx)t@I*ixp{p4f&kAEIkezsY5U0lTlXYG;em*0|2f{OfRL+go?b=MrQ zj%WRrq3@+}qo5aNLRmzIqkGpwGvl^(UxBvv@xgtUExEZa5A}VU)9=Cg^WzcpWh*X% z(>p#4jmDE*zk=1P?g{Q&zT#r_x%^_N20H{1c8mLkpIu$sV9SA&0#fN=-;!b_HtCy?%u>3^}!gXxy#5#TqX_z-}4$SMA4Q-Pr#I|qgdImORoEO3s zE4~OFqAYzCv3*OHUN7#~E0C=JBd}uG7tJX$+ee$IT~BUrZukubSu3t7r+3J29S+BbLZ9N@mW~ z8;S`{oTF%(zua=1W$zW z!lg~E1Uu%<5(GE_8i|g1vvVJdlvqTWrLzXi1d@1wkz^90E)J`0vE zxgkhqc+9+%YeeEqLM2PbH?e?-Qr=D5fy_hH$$*(+Z7PQQmWJZj&*J|G=_#I5rcUfjkM#l{Y-abPr!2->VzLH<#LB23B z533S{iU?5&sb`CYU-mgMFO{qm&=qipAjxDnggf8kQRXzTj3o<^PNbGpU)B=QsTHpw zi~Lrvxf`B(>KW7bmzN!1B0wSs(?DCa7|xBHZD8)WX}u##sZdoiGy*Z@7ebzDnNor- z2}#bNyc=P zUwna>8Z=RzsgjxmoE95p7k!?LBky`%LZRaYTK)$i%JfL zkh0!T<@bojZ1?9y7UZJoE>wKT7^z=LTBgp=NQY2f=0oNd^^Tc91ORb8o~Gp_cYD zsY)^El7Yp8N~Oa+5hj%>sbv3Z76f~6*p4i6OksBj1v zxVdlh9jW^#jF|_ypntq=8D<|o;2)WD9yA9WVPT#t=8iI9?aR#wH>Pav zFs7#vnd1(%$J_nUaAB(pbGYycHV@h|)LZAqN1#9$l>#RH10_xti=f9DS*GvOucepZ z`THVmTD#^orSy@w888Bjkst5FLQ&wX{qKv=|G15?X3BEU=LbgBg?xU%!#+Y2Mjtj9 zc-xG^CwK^;ammex7FMsmJFyK_Ag0YU1JLn71i1YH zO@7A&cDkl)p6!rwtiQfrD8X@^aO>1768o9&^YheT?0D^;A>TtZbWouLn*=*De0yze zjm?ofln_dS9%vPakJRSPcV-^5M3}yLx?QNj79c==R1-pN>vsY)Dtpw07(=LLESu$)wb+*{b-qofinFDOWGAd#i=7B2b}6j12wOeS^rw+h^` zGybwd0?smh&pG$6D+DThg{QZA>aXnN3MLYv8;wlmhsdGuF1ukm?0Dtq@VS-F*Ccqs zL_vZlTow2Ey|^9N-)~O!`T5Gv_Ytx|N2z4#LJ1BSvIr0r;4in{-!HvWni-SDeLyoZ zWJ>m@3dCTB1%o@*U6*?76Q;c(2K1xO%tHvWu2hQd#oqwjbu+-|@H*Y(UA7Soa&Vk2%nHD~VY(|r~CjA|(9rq<* zcim$5{ew_}KYbup4s(2P_CRTLvvpfGVqTvJ>Q+_r2{Cx65 z44!`uT=>!^c=Xw^$#V1f3{eTbA(Y@rkHOk2yuQPN1mUNffkvV=eTI$VQ~ig*-RAfb zp%ek1TttTl0%;?+q=Co~iST|wh>I#DQy=|{v|BS1-hWcKpfmdkFOksv>Q&gWsjAioI{{s;$0PKB27Q{Wqqe;gkD^_bdyg0Bk_ zJa*Xg=!2e&MgVE=hmL2Xcos`XizA@eg{6>UtW5n?EY3O5uyq_+)1!mRbYGj zMA)`ZO*~F2uJ`y5*xND<-Wq(oP=ZsSG;Rvq z@`O-=&y9ghUtn7Os08<>kl;T(2=Gr2Dc@hf=V$ThESoi9)_1*B9`TtEW@st>+4I(o9KW@EBJxh9U zgL;5+05M^@t^_E_FHQL&^7#Bh!1#h&9-8W*K2<)yHE*(FYSISMu1rt&p}@)0l17>EH!ukJYg!_F9t zeIr4e3R7nSjFDfhKEG76_hV3+aBOfqzxVi1c&#)I-Wf6ldbAS!#+HvO60D^BLfa3D zWse}i&jv{FpOFNAoa{5~k0|YoDh;kmJlHFhU@@}vz=FsS{e-9vE1AgX6Kq};SZyYt z2Dd+XOov&$CJ+%8X6U>#KB9}OR3;BMCj&%kU4jIkNHN6`cieFu)E5k>uW(%maQl6l z{6+?L_SNV2fsYHb_gK))HlKFrZVvl}5`0aV!|x77B{)?n!6yX?zAz^HC6u-g&EefC zB>4D`A$r0p!JyC219RF82YOVpbfE+X97u#neq0;E(BoJFlHKL1_#;X)*+`sjWnm^9rdIJvb*f;)Ha zk$%B6$QkYuIfH%l39>#0K{Ayef;o0}`rGpi z*1){)ftLbt2k!#`ZvT;v_Kt*#zP+k_erWcN8#ohF z%(-6>B)F@_zQag@JJU$;5s1VBPCJ#)58`=&Zo3`-VELW>{h|cZ<_j*+IQVn%HW!%r zP_sQMa}Zwu!J)DOa|_p_31t4#bFxEDbaYqhDHs**Yks17thsr-Ya&2Nexn8XjZUqh z;`T84T?la6>B8(CCD(nQpV{V>AKUlhb~yO$TfxWNiz_I>ly*uW3GNUi_?H0^6e=)! z@=;qqxcNGnw7~g! zOD*DiOG_{q(v~qdajn4K9j&b`^0Qp-g`S=sX^tZSX9YyC-*7$su`N{|ugH(g-Wuod z2&cMS2>eu`{Kkwl^Lxhou~^wo>xnr$Ui?jbU;__Gf=}PI723wWU%AcTeWFkBWkrIB z%U9XS*O?$dY)AQHf1%sS<0iVd&i(Z_--T$>w1&+wf^%=&w(cwNWY;rQop&e>Bk%g^ z@}#-Y@tE(I)%`70R_5?q?Kr;PHJOu_hfr(McC|3+AbL^H5SK)cBQGyr{Ap+;kc6X% zsaf5m-yFB9dB>NEfXKFO4+hUe6^JBwX`SXUsfqyCF8dvfI7X1)sFVYEsP6%8u&0S#AR`Q zC5S^y9f}0FY4bN560is*P*(~JELwb)T&k_7KZfsj{eXH(I{hD)DzMQ6h=CV(USN0N z((awRWI!Zslo-qn+|c=OYA=>*P?ZUM`I_nQ(kp}H00K4n)5Nmy%vWLA7rJBRvL_z{ zw(BM6ef=#Ep3zvIANltnjwn0*9ETYrj4UV$ykJR9!O7@S*~zQdRC`_3r{a`KEz$>x;I;ws*+X@ml@_Ds4!*>x8WkNf37Y4tn2w2e_8UZqJI;IXv8ayic41 zeD=Hq38M1rIOUCadw7L*(kCjv>FMOx`{#=i?Vxr-pq<>g7Iv&qey_g@(OtEZ9|9l7 z%a+^>^+H?wp_lmEDAPB~FNgc;X|nc5zF}NGg!iE@Ft0yy2Mt&nT2dh*&mssT$ND2R z3icCGDIl_F;n_Ag!>y}K(yuooTr8QJ>fn9o31XDsJ5V#yNRaJ#5%}BtRsUHD4!+MX zYu;WEBnY!C2}<(wl^;NbKad70zZru3ZcI^rf4(^04yRm-SX2HY>cc{&zR&UZqb%%Y2vp_>{9ZE`&C2S|V$bH%uxJvi}H)N2Y z>_R718p~MH+Mvx~nKO(3B4>|9b`KE@h+OPk6;p$pYE_9o#vZ*$U!#tEOOqRvDrDow z&dWmssp$ItR+xIcAgdveWd6{4VEfu1w!xYow#Ull7hVCpeL6&gj}}DDByn(^V9aww zStUXK>;bs{FV;ZEiLYhWpSqotAClkwVda;n9Xzl<666O$`IYXv9vT6R{33y6rFI~8 zdb4xk+Z-QiG^u@MvuwphspYI$RXqV<`?3Nvxyxjv8n~SF2SI5lc>P!p`PR}%9j_IW za4}L&UF50-4XTRmIQ{hOG#DI(#eCQI9N`CBu)MV37P>q_!5M6a3ce%>s5?{H`45Ep z?%qEam4Xm>-eNazFP8JS8#?b*?Xbhv>w`R8vEqx+HhFyN{#C2*5!dyKBEV84Ner;M-8gv4r~kcrP}DgFmN+O!EiC0^>*izfy1A1w2g%9N z^*NdQfYEiSv?bGqM}^QOea7|v!YB?c<5Vf zX;DEI3baV&hi)~84C_LG2uXsUa7ZxOwu_VaI{Va3+ypR=Y^~-IS&L!ahIKW}f2n8z+eT53d&FS8p`I^WB{2CjxZb zeWa~yf9Rt_a}>X0&ks5_&xkW_YD?-i{j5n}pffp=QG~dU+37LsVgkF6=5U)Z zhmV46<(IY{&EdZl=J4OP>+M?QT_numDJRMq*Rp(VNPa(mYnD0BiSNULQ4hfS_G|i} z{1(T`tH$Ri$xkT1=-bypBQR_BDRAV1V?fV*A4sU5?7+6c!bu{liUWDhZEj8UQ@11o zx`&A}In{Ghidv)sL?0ab=@2EU2wB)n_G@9xs7YCmwhXs!eZgyIg$vdVt~&uD3<C*&8blQO;6; z-2BmTFjuMkzI6>0DA1qa%qpP#vGL3j?N^p8PY$S1R^tjH@yPjn^~6JE&n3Vd)7VC5 z)%kd&OpuPO|4x>Hy~CLD?O|~^f()L6qu7{w@VPW1FC|Fg{l9KOkPu8@WLS^mB!H?2 zu;Vlx7Y(3cY95m>S)-C8&u8AZ-0Gj=D_xhkX*$z)Zd)9AnjSENV1r&NNo z+E29^1<0r#Re`Gn)2`p$+E4;S7!o|DC*KJ!A!?+N;55N|+Xw%tP=XxXG5Ab5v2uCr z&xgeIi#IBu+X}z&X}_R zm|h%6Xi7=;8kLCThy8}h0=8x~a{}Bv))tmQfTmf{4+MxvkYEnw=dX91s!8y9MS|;> z{R&Qb|0nPoOoBZ_P66J7eQR}wbWmU_1|Kk%5y?avlz;_!iGgbh^O$m!DJ_xhGpwp&o}bYv$+QC!89qc|MG%vIC09mAk2T5xbGieA54T-hkZ~Epx~CH;D`YC_>Y+!yRueqO6++i zZvd4EP_ZqMsxpabKvkC%0hrHn@rr;uUJW zTlYhB%wT+F$Ybp7wEn-DgI>1E&+MnAit+rMrKN2QFjRg8`4u=~5Pu4|v(;f46Xc*{ zNNXe((9zzqiuO_$He48}sIMBpfYct9u1V3U-A%orbel9XX-FPmB_Ih(B{*Tf9di#L ztOV1xi)A>buna|p2YICnet(tR{_KeJ<-n@GPjCh*zxSr3`UGpr^AqI9_w9yg{lJnR zcJ9A?`4{9UFa#PSkUIV2F}JP1I<<_otG@?bTjKME;9Md&t6XRw;l9o5P5D$W4$<$9 z=2EF{x1Cg`zYVVqukrl(@mch6l$z5!KAc&{s@W8iW zm1tL2ml}bFNN(NwYejqSlJg2f>+MV zU02DqUynQ=djI$qupTw+wp4!aO_e7xFEmeY5bo9q7uJYy4Z|HY7y}&ZaN$|7dGohm&YW|DZ9yVJ zf?O_$&L=<|CTz{>draBu)?cGY&pO#D`ZBvaI8on(D3= zZvCAbcS%)&1{uf_4(ICV+`Ui8^_8+q)pI-3J>eWaRL|W+40;l1KqzJjkCDLtB)eGx81J9 z0Fo&sIwPTWbl|v#a}wv-wyGBrwE>TJ6(bVo^5tqmBs>Nm#bwJblBAj>J8F~ODhbgc zL2f_#-3RDH`UH0mQav(wjuTQ8A(G&jVb&*jQSVi7-ryg=pyP(Z|39c^aPxhFDRCl$ zn9q;fb6budt5RK>g!~XleyDEhIf^qW9(n-qL9PakCYmgex^jWnqSVnWXe8*xA?w`u zs3gHWz_#JvFm3wM1j$wL^2qvKpgP>RK@nc3CZOsN4_>IU7`PK1p=phzmIpZRuRr0` z4mtX?QmBaA*L_vigM^xv4&x*qdiyK}Q~?r<5*)W*&A*%C^9z1=wvkV;B(CaD{u98z z-1=QOFyf;S&HMnA_r3xAU@!Q}Po1AseyKjc<5Bqu^1JaGQ-fQi`9{6od$n%oE^MD&}X`AzpIuTQTUU^~#v zMqt@!)`nCX0`HZ4ap@74@$cy0<1F&R>u{B}3mU;2Rp25)a!Z%o5G(^#-O{CMA1W<0 zL2=ubswUZDrmdE|;_@PGLUSZsx_)eDcgl#|u0q9S&g^r8^_Uj1qUa};=s1xLcqF0bx3EQ4wDDAR8R+lj|yO(u`N$W6kRiRv%w1xrz32F!N9V@aZH8UjQZ5*({Zuu5N` z9CTq4z_qKU!rhzg4}jgXQVyUHop>sgcfAhK+f%*IZ|XSUuL<(I?J8(ykhzKv8~VV~ z9=u8*1w}v3C-q$NY2_iQ&<_$x02N`qCsxM?HSI@_ZOTg;{yjpXsuuy`ivykat{ICj z2UK}kbDYq1kt-tvN$#QfiBsk*#`-7^5J>~gM^btO>1)Gal|wohxIiW52Sf5eD$)Qc zBe|u$6tQkne5gESKqjSbBIVA`Jae{illYv50rvs=kUqgzg->v>-jL$+OKd|bpDf64 zb)5VN42RPC*XLzFUDi^95K{B}rjA!bS~WTO`DkmKP?HiPU!PP<8y_)?G=mpb_GhUm zW$nH;QjqS1Nos9$ z9Rnk%s*r%pBGeVOVcxuaKD$^wf|%O9Xgy8Rl%?zl-I_q%y1j10dLym-Do8=;7V0I! z%{CuRr2q*rC5Y2*`pVCrR0;WPVmkQ|kOZX?Jn1wj@7xRJ13eY<{8~;J4}9qK?LUS!@rsDX7GKN2)u4|X*|94N3skeQ;ZDff%5H5 zi23#w>0pO%>SB9w8=Az`n!$1&WkG_Na?|ZZjw{Wt?AMJcE?c&I$=RcvRxGxzVAEb) zaG8_HeRq~uLce!~s|JPyY5tm!DU1}3D@2+9d1q z?n9+(_V>AE5i0%75b|$O@qTbgKyFt!B%NgXJKtssJ|7eSxb* z$Az=urMbpnQ3x=H#dL z?a}BjYA^&fAc7hxMxAE^Au*%bD8QyCKt#vqH3=RA>Y7mbO{ksx2$BT<G31 z?n|ir_U;0<_6jIapuoU`#sS1pUueJt{O-;Srxe-7%c9c z3vu&T7Ii2QAOcD7`eiIMLF`V}x-DxWw8w(e`y-Ad0XAhGV1WV!3J|y>gowhJ>C4JI zg4D-m4s&8r5MY4<1)3h*bXRrz@#`MHEI!sBCP3%KArS>GP@uq(4C@9nBW!6^$h_lt zmDYYifCUN^XnI&)^VFT=>#LUh5Cs7iC{Uou5lD534Rp$DB0ogo11wOWz##yZx?U^! zAqoXppg@5m76kzoC{W;tML~cC3KTeEQTPB06gVv5XUh#7nx`KMle0Q - -
    - -
    From 96dc502a89fd36ddaa9b1ed5c153f4606df38f81 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 21:03:11 +0200 Subject: [PATCH 015/126] Fix x.com redirect issue --- app/Markdown/MarkdownServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index ef9835b45..cf7d8ce09 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -35,7 +35,7 @@ public function register(): void ], 'embed' => [ 'adapter' => new OscaroteroEmbedAdapter, - 'allowed_domains' => ['youtube.com', 'twitter.com'], + 'allowed_domains' => ['youtube.com', 'twitter.com', 'x.com'], 'fallback' => 'link', ], ]); From 146bd0dcd4f49cd639f0455e536a4753fe22b77b Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 21:10:31 +0200 Subject: [PATCH 016/126] wip --- app/Markdown/MarkdownServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index cf7d8ce09..a3326e7b4 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -35,7 +35,7 @@ public function register(): void ], 'embed' => [ 'adapter' => new OscaroteroEmbedAdapter, - 'allowed_domains' => ['youtube.com', 'twitter.com', 'x.com'], + 'allowed_domains' => ['youtube.com'], 'fallback' => 'link', ], ]); From 85e995390a10f97cbae16aabbd98247d36216991 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 21:21:28 +0200 Subject: [PATCH 017/126] wip --- app/Markdown/MarkdownServiceProvider.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index a3326e7b4..751b088be 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -2,6 +2,9 @@ namespace App\Markdown; +use Embed\Embed; +use Embed\Http\Crawler; +use Embed\Http\CurlClient; use Illuminate\Support\ServiceProvider; use League\CommonMark\Environment\Environment; use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; @@ -17,6 +20,13 @@ class MarkdownServiceProvider extends ServiceProvider public function register(): void { $this->app->singleton(Converter::class, function ($app, array $params = []) { + $client = new CurlClient(); + $client->setSettings([ + // 'follow_location' => false, + ]); + + $embed = new Embed(new Crawler($client)); + $environment = new Environment([ 'html_input' => 'escape', 'max_nesting_level' => 10, @@ -34,8 +44,8 @@ public function register(): void 'nofollow' => ($params['nofollow'] ?? true) ? 'external' : '', ], 'embed' => [ - 'adapter' => new OscaroteroEmbedAdapter, - 'allowed_domains' => ['youtube.com'], + 'adapter' => new OscaroteroEmbedAdapter($embed), + 'allowed_domains' => ['youtube.com', 'twitter.com', 'x.com'], 'fallback' => 'link', ], ]); From df70f03b9c28511729165bd8fbd1098df1f41ecb Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Mon, 19 May 2025 19:21:51 +0000 Subject: [PATCH 018/126] Fix code styling --- app/Markdown/MarkdownServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index 751b088be..11242bd82 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -20,7 +20,7 @@ class MarkdownServiceProvider extends ServiceProvider public function register(): void { $this->app->singleton(Converter::class, function ($app, array $params = []) { - $client = new CurlClient(); + $client = new CurlClient; $client->setSettings([ // 'follow_location' => false, ]); From 433ba2c09041244c6273132159032e0710799aac Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 21:27:29 +0200 Subject: [PATCH 019/126] wip --- app/Markdown/MarkdownServiceProvider.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index 11242bd82..0ea318521 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -20,12 +20,12 @@ class MarkdownServiceProvider extends ServiceProvider public function register(): void { $this->app->singleton(Converter::class, function ($app, array $params = []) { - $client = new CurlClient; - $client->setSettings([ - // 'follow_location' => false, - ]); + // $client = new CurlClient; + // $client->setSettings([ + // 'follow_location' => false, + // ]); - $embed = new Embed(new Crawler($client)); + // $embed = new Embed(new Crawler($client)); $environment = new Environment([ 'html_input' => 'escape', @@ -44,8 +44,10 @@ public function register(): void 'nofollow' => ($params['nofollow'] ?? true) ? 'external' : '', ], 'embed' => [ - 'adapter' => new OscaroteroEmbedAdapter($embed), - 'allowed_domains' => ['youtube.com', 'twitter.com', 'x.com'], + 'adapter' => new OscaroteroEmbedAdapter, + // 'adapter' => new OscaroteroEmbedAdapter($embed), + 'allowed_domains' => ['youtube.com'], + // 'allowed_domains' => ['youtube.com', 'twitter.com', 'x.com'], 'fallback' => 'link', ], ]); From 5893579ab65f677462616feae83149685f6be6a2 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 21:40:28 +0200 Subject: [PATCH 020/126] Prevent article deletion for sponsored articles --- app/Policies/ArticlePolicy.php | 2 +- tests/Feature/ArticleTest.php | 17 ++++++++++++++++- tests/Integration/Jobs/DeleteArticleTest.php | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/Policies/ArticlePolicy.php b/app/Policies/ArticlePolicy.php index 96e71c912..55c455fbf 100644 --- a/app/Policies/ArticlePolicy.php +++ b/app/Policies/ArticlePolicy.php @@ -28,7 +28,7 @@ public function update(User $user, Article $article): bool public function delete(User $user, Article $article): bool { - return $article->isAuthoredBy($user) || $user->isModerator() || $user->isAdmin(); + return ($article->isAuthoredBy($user) && ! $article->isSponsored()) || $user->isModerator() || $user->isAdmin(); } public function approve(User $user, Article $article): bool diff --git a/tests/Feature/ArticleTest.php b/tests/Feature/ArticleTest.php index bf5e50f1b..e4331f0ad 100644 --- a/tests/Feature/ArticleTest.php +++ b/tests/Feature/ArticleTest.php @@ -345,6 +345,7 @@ Article::factory()->create([ 'author_id' => $user->id(), 'slug' => 'my-first-article', + 'is_sponsored' => false, ]); $this->loginAs($user); @@ -363,6 +364,20 @@ ->assertForbidden(); }); +test('users cannot delete an article that is sponsored', function () { + $user = $this->createUser(); + Article::factory()->create([ + 'author_id' => $user->id(), + 'slug' => 'my-first-article', + 'is_sponsored' => true, + ]); + + $this->loginAs($user); + + $this->delete('/articles/my-first-article') + ->assertForbidden(); +}); + test('canonical urls are rendered', function () { Article::factory()->create(['slug' => 'my-first-article', 'submitted_at' => now(), 'approved_at' => now()]); @@ -560,4 +575,4 @@ $this->get("/articles/{$article->slug()}") ->assertSee('My First Article') ->assertSee('10 views'); -}); +}); \ No newline at end of file diff --git a/tests/Integration/Jobs/DeleteArticleTest.php b/tests/Integration/Jobs/DeleteArticleTest.php index debe0203d..93cf9ddbb 100644 --- a/tests/Integration/Jobs/DeleteArticleTest.php +++ b/tests/Integration/Jobs/DeleteArticleTest.php @@ -14,4 +14,4 @@ $this->dispatch(new DeleteArticle($article)); $this->assertDatabaseMissing('articles', ['id' => $article->id()]); -}); +}); \ No newline at end of file From 64791ec7c0a8edc15e4a453c4ce07bbe53649fb5 Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Mon, 19 May 2025 19:40:54 +0000 Subject: [PATCH 021/126] Fix code styling --- app/Policies/ArticlePolicy.php | 2 +- tests/Feature/ArticleTest.php | 2 +- tests/Integration/Jobs/DeleteArticleTest.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Policies/ArticlePolicy.php b/app/Policies/ArticlePolicy.php index 55c455fbf..7ddde4e23 100644 --- a/app/Policies/ArticlePolicy.php +++ b/app/Policies/ArticlePolicy.php @@ -28,7 +28,7 @@ public function update(User $user, Article $article): bool public function delete(User $user, Article $article): bool { - return ($article->isAuthoredBy($user) && ! $article->isSponsored()) || $user->isModerator() || $user->isAdmin(); + return ($article->isAuthoredBy($user) && ! $article->isSponsored()) || $user->isModerator() || $user->isAdmin(); } public function approve(User $user, Article $article): bool diff --git a/tests/Feature/ArticleTest.php b/tests/Feature/ArticleTest.php index e4331f0ad..78b331d37 100644 --- a/tests/Feature/ArticleTest.php +++ b/tests/Feature/ArticleTest.php @@ -575,4 +575,4 @@ $this->get("/articles/{$article->slug()}") ->assertSee('My First Article') ->assertSee('10 views'); -}); \ No newline at end of file +}); diff --git a/tests/Integration/Jobs/DeleteArticleTest.php b/tests/Integration/Jobs/DeleteArticleTest.php index 93cf9ddbb..debe0203d 100644 --- a/tests/Integration/Jobs/DeleteArticleTest.php +++ b/tests/Integration/Jobs/DeleteArticleTest.php @@ -14,4 +14,4 @@ $this->dispatch(new DeleteArticle($article)); $this->assertDatabaseMissing('articles', ['id' => $article->id()]); -}); \ No newline at end of file +}); From f8bc795bbb30645c9d94a25954f4000f4cda7836 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 22:12:19 +0200 Subject: [PATCH 022/126] wip --- app/Markdown/MarkdownServiceProvider.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index 0ea318521..d5b0ebfb2 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -20,12 +20,13 @@ class MarkdownServiceProvider extends ServiceProvider public function register(): void { $this->app->singleton(Converter::class, function ($app, array $params = []) { - // $client = new CurlClient; - // $client->setSettings([ - // 'follow_location' => false, - // ]); + $client = new CurlClient; + $client->setSettings([ + 'follow_location' => false, + // 'ignored_errors' => true, + ]); - // $embed = new Embed(new Crawler($client)); + $embed = new Embed(new Crawler($client)); $environment = new Environment([ 'html_input' => 'escape', @@ -44,10 +45,10 @@ public function register(): void 'nofollow' => ($params['nofollow'] ?? true) ? 'external' : '', ], 'embed' => [ - 'adapter' => new OscaroteroEmbedAdapter, - // 'adapter' => new OscaroteroEmbedAdapter($embed), - 'allowed_domains' => ['youtube.com'], - // 'allowed_domains' => ['youtube.com', 'twitter.com', 'x.com'], + // 'adapter' => new OscaroteroEmbedAdapter, + 'adapter' => new OscaroteroEmbedAdapter($embed), + // 'allowed_domains' => ['youtube.com'], + 'allowed_domains' => ['youtube.com', 'twitter.com', 'x.com'], 'fallback' => 'link', ], ]); From 689e0ee4d26f38fe5121aa7c07755c09847944fe Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 22:26:18 +0200 Subject: [PATCH 023/126] wip --- tests/Integration/Api/ArticleTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Integration/Api/ArticleTest.php b/tests/Integration/Api/ArticleTest.php index d2e9a8fd7..64cdaf41f 100644 --- a/tests/Integration/Api/ArticleTest.php +++ b/tests/Integration/Api/ArticleTest.php @@ -105,7 +105,7 @@ $user = $this->createUser(); Sanctum::actingAs($user); - $article = ArticleFactory::new()->for($user, 'authorRelation')->create(); + $article = ArticleFactory::new(['is_sponsored' => false])->for($user, 'authorRelation')->create(); $this->deleteJson(route('api.articles.delete', $article->slug())) ->assertNoContent(); From 87c59937a23caaf1e281bd73bb0587ed7b94bac6 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 19 May 2025 22:34:32 +0200 Subject: [PATCH 024/126] wip --- resources/views/layouts/base.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/layouts/base.blade.php b/resources/views/layouts/base.blade.php index 5d7b25375..f4c52722c 100644 --- a/resources/views/layouts/base.blade.php +++ b/resources/views/layouts/base.blade.php @@ -37,7 +37,7 @@ @livewireStyles - + @include('layouts._ads._banner') @include('layouts._nav') From 90a15c739cc4a718721ee3543b19b231b03f7b02 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Tue, 20 May 2025 20:29:33 +0200 Subject: [PATCH 025/126] wip --- app/Markdown/MarkdownServiceProvider.php | 2 +- app/OscaroteroEmbedAdapter.php | 39 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 app/OscaroteroEmbedAdapter.php diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index d5b0ebfb2..d9eb26547 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -2,13 +2,13 @@ namespace App\Markdown; +use App\OscaroteroEmbedAdapter; use Embed\Embed; use Embed\Http\Crawler; use Embed\Http\CurlClient; use Illuminate\Support\ServiceProvider; use League\CommonMark\Environment\Environment; use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; -use League\CommonMark\Extension\Embed\Bridge\OscaroteroEmbedAdapter; use League\CommonMark\Extension\Embed\EmbedExtension; use League\CommonMark\Extension\ExternalLink\ExternalLinkExtension; use League\CommonMark\Extension\GithubFlavoredMarkdownExtension; diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php new file mode 100644 index 000000000..d4be7d4d4 --- /dev/null +++ b/app/OscaroteroEmbedAdapter.php @@ -0,0 +1,39 @@ +embedLib = $embed; + } + + /** + * {@inheritDoc} + */ + public function updateEmbeds(array $embeds): void + { + $extractors = $this->embedLib->getMulti(...\array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds)); + foreach ($extractors as $i => $extractor) { + logger(print_r($extractor, true)); + if ($extractor->code !== null) { + $embeds[$i]->setEmbedCode($extractor->code->html); + } + } + } +} \ No newline at end of file From 623b975cc2d3726f4eb7515761414af375b6810c Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Tue, 20 May 2025 18:30:01 +0000 Subject: [PATCH 026/126] Fix code styling --- app/OscaroteroEmbedAdapter.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index d4be7d4d4..f87a91e85 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -17,12 +17,12 @@ public function __construct(?EmbedLib $embed = null) throw new MissingDependencyException('The embed/embed package is not installed. Please install it with Composer to use this adapter.'); } - $embed = new EmbedLib(); + $embed = new EmbedLib; } $this->embedLib = $embed; } - + /** * {@inheritDoc} */ @@ -36,4 +36,4 @@ public function updateEmbeds(array $embeds): void } } } -} \ No newline at end of file +} From c37774c9decd9ddff51ad64819b792201989c655 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Tue, 20 May 2025 20:32:15 +0200 Subject: [PATCH 027/126] wip --- app/OscaroteroEmbedAdapter.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index f87a91e85..f8f1cf118 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -5,8 +5,9 @@ use Embed\Embed as EmbedLib; use League\CommonMark\Exception\MissingDependencyException; use League\CommonMark\Extension\Embed\Embed; +use League\CommonMark\Extension\Embed\EmbedAdapterInterface; -class OscaroteroEmbedAdapter extends \League\CommonMark\Extension\Embed\Bridge\OscaroteroEmbedAdapter +class OscaroteroEmbedAdapter implements EmbedAdapterInterface { private EmbedLib $embedLib; From 8f6a21bb892a71ea22527ea4a8ec7d6bb73f87c6 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Tue, 20 May 2025 21:37:25 +0200 Subject: [PATCH 028/126] wip --- app/Crawler.php | 82 ++++++++++++++++++++++++ app/Markdown/MarkdownServiceProvider.php | 4 +- app/OscaroteroEmbedAdapter.php | 1 - 3 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 app/Crawler.php diff --git a/app/Crawler.php b/app/Crawler.php new file mode 100644 index 000000000..ab535e339 --- /dev/null +++ b/app/Crawler.php @@ -0,0 +1,82 @@ + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:73.0) Gecko/20100101 Firefox/73.0', + 'Cache-Control' => 'max-age=0', + ]; + + public function __construct(?ClientInterface $client = null, ?RequestFactoryInterface $requestFactory = null, ?UriFactoryInterface $uriFactory = null) + { + $this->client = $client ?: new CurlClient(); + $this->requestFactory = $requestFactory ?: FactoryDiscovery::getRequestFactory(); + $this->uriFactory = $uriFactory ?: FactoryDiscovery::getUriFactory(); + } + + public function addDefaultHeaders(array $headers): void + { + $this->defaultHeaders = $headers + $this->defaultHeaders; + } + + /** + * @param UriInterface|string $uri The URI associated with the request. + */ + public function createRequest(string $method, $uri): RequestInterface + { + $request = $this->requestFactory->createRequest($method, $uri); + + foreach ($this->defaultHeaders as $name => $value) { + $request = $request->withHeader($name, $value); + } + + return $request; + } + + public function createUri(string $uri = ''): UriInterface + { + return $this->uriFactory->createUri($uri); + } + + public function sendRequest(RequestInterface $request): ResponseInterface + { + return $this->client->sendRequest($request); + } + + public function sendRequests(RequestInterface ...$requests): array + { + if ($this->client instanceof CurlClient) { + $response = $this->client->sendRequests(...$requests); + + logger(print_r($response, true)); + + return $response; + } + + return array_map( + fn ($request) => $this->client->sendRequest($request), + $requests + ); + } + + public function getResponseUri(ResponseInterface $response): ?UriInterface + { + $location = $response->getHeaderLine('Content-Location'); + + return $location ? $this->uriFactory->createUri($location) : null; + } +} \ No newline at end of file diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index d9eb26547..8f77af460 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -2,9 +2,9 @@ namespace App\Markdown; +use App\Crawler; use App\OscaroteroEmbedAdapter; use Embed\Embed; -use Embed\Http\Crawler; use Embed\Http\CurlClient; use Illuminate\Support\ServiceProvider; use League\CommonMark\Environment\Environment; @@ -22,7 +22,7 @@ public function register(): void $this->app->singleton(Converter::class, function ($app, array $params = []) { $client = new CurlClient; $client->setSettings([ - 'follow_location' => false, + // 'follow_location' => false, // 'ignored_errors' => true, ]); diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index f8f1cf118..9411063c2 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -31,7 +31,6 @@ public function updateEmbeds(array $embeds): void { $extractors = $this->embedLib->getMulti(...\array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds)); foreach ($extractors as $i => $extractor) { - logger(print_r($extractor, true)); if ($extractor->code !== null) { $embeds[$i]->setEmbedCode($extractor->code->html); } From 13dd3a76135a4a1864966096ea36540e9635c1a5 Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Tue, 20 May 2025 19:38:00 +0000 Subject: [PATCH 029/126] Fix code styling --- app/Crawler.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Crawler.php b/app/Crawler.php index ab535e339..e50661c23 100644 --- a/app/Crawler.php +++ b/app/Crawler.php @@ -14,8 +14,11 @@ class Crawler extends \Embed\Http\Crawler implements ClientInterface, RequestFactoryInterface, UriFactoryInterface { protected RequestFactoryInterface $requestFactory; + protected UriFactoryInterface $uriFactory; + protected ClientInterface $client; + protected array $defaultHeaders = [ 'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:73.0) Gecko/20100101 Firefox/73.0', 'Cache-Control' => 'max-age=0', @@ -23,7 +26,7 @@ class Crawler extends \Embed\Http\Crawler implements ClientInterface, RequestFac public function __construct(?ClientInterface $client = null, ?RequestFactoryInterface $requestFactory = null, ?UriFactoryInterface $uriFactory = null) { - $this->client = $client ?: new CurlClient(); + $this->client = $client ?: new CurlClient; $this->requestFactory = $requestFactory ?: FactoryDiscovery::getRequestFactory(); $this->uriFactory = $uriFactory ?: FactoryDiscovery::getUriFactory(); } @@ -34,7 +37,7 @@ public function addDefaultHeaders(array $headers): void } /** - * @param UriInterface|string $uri The URI associated with the request. + * @param UriInterface|string $uri The URI associated with the request. */ public function createRequest(string $method, $uri): RequestInterface { @@ -79,4 +82,4 @@ public function getResponseUri(ResponseInterface $response): ?UriInterface return $location ? $this->uriFactory->createUri($location) : null; } -} \ No newline at end of file +} From 32fb3871b4529318ee329feea4e6e2e10e0e4336 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Wed, 21 May 2025 08:36:58 +0200 Subject: [PATCH 030/126] wip --- app/Crawler.php | 6 +----- app/OscaroteroEmbedAdapter.php | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/Crawler.php b/app/Crawler.php index e50661c23..2f3e22176 100644 --- a/app/Crawler.php +++ b/app/Crawler.php @@ -63,11 +63,7 @@ public function sendRequest(RequestInterface $request): ResponseInterface public function sendRequests(RequestInterface ...$requests): array { if ($this->client instanceof CurlClient) { - $response = $this->client->sendRequests(...$requests); - - logger(print_r($response, true)); - - return $response; + return $this->client->sendRequests(...$requests); } return array_map( diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index 9411063c2..0ee555d2d 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -31,6 +31,7 @@ public function updateEmbeds(array $embeds): void { $extractors = $this->embedLib->getMulti(...\array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds)); foreach ($extractors as $i => $extractor) { + info(print_r($extractor, true)); if ($extractor->code !== null) { $embeds[$i]->setEmbedCode($extractor->code->html); } From 4fdbd927f9c85f69e31a2e17559fe9ca959aea0f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 23 May 2025 09:15:50 +0200 Subject: [PATCH 031/126] Bump laravel/nightwatch in the php-dependencies group (#1294) Bumps the php-dependencies group with 1 update: [laravel/nightwatch](https://github.com/laravel/nightwatch). Updates `laravel/nightwatch` from 1.5.0 to 1.5.1 - [Release notes](https://github.com/laravel/nightwatch/releases) - [Changelog](https://github.com/laravel/nightwatch/blob/1.x/CHANGELOG.md) - [Commits](https://github.com/laravel/nightwatch/compare/v1.5.0...v1.5.1) --- updated-dependencies: - dependency-name: laravel/nightwatch dependency-version: 1.5.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/composer.lock b/composer.lock index 118e5d0d3..5a42a81bc 100644 --- a/composer.lock +++ b/composer.lock @@ -2323,16 +2323,16 @@ }, { "name": "laravel/framework", - "version": "v11.44.7", + "version": "v11.45.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "00bc6ac91a6d577bf051c18ddaa638c0d221e1c7" + "reference": "d0730deb427632004d24801be7ca1ed2c10fbc4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/00bc6ac91a6d577bf051c18ddaa638c0d221e1c7", - "reference": "00bc6ac91a6d577bf051c18ddaa638c0d221e1c7", + "url": "https://api.github.com/repos/laravel/framework/zipball/d0730deb427632004d24801be7ca1ed2c10fbc4e", + "reference": "d0730deb427632004d24801be7ca1ed2c10fbc4e", "shasum": "" }, "require": { @@ -2353,7 +2353,7 @@ "guzzlehttp/uri-template": "^1.0", "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", "laravel/serializable-closure": "^1.3|^2.0", - "league/commonmark": "^2.6", + "league/commonmark": "^2.7", "league/flysystem": "^3.25.1", "league/flysystem-local": "^3.25.1", "league/uri": "^7.5.1", @@ -2440,7 +2440,7 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^9.11.2", + "orchestra/testbench-core": "^9.13.2", "pda/pheanstalk": "^5.0.6", "php-http/discovery": "^1.15", "phpstan/phpstan": "^2.0", @@ -2534,7 +2534,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-04-25T12:40:47+00:00" + "time": "2025-05-20T15:15:58+00:00" }, { "name": "laravel/horizon", @@ -2618,16 +2618,16 @@ }, { "name": "laravel/nightwatch", - "version": "v1.5.0", + "version": "v1.5.1", "source": { "type": "git", "url": "https://github.com/laravel/nightwatch.git", - "reference": "08844f9b50abd55bccd166c3e2082d57ce8132aa" + "reference": "081ef2059413be31b70e7c79657ede232c8c928d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/nightwatch/zipball/08844f9b50abd55bccd166c3e2082d57ce8132aa", - "reference": "08844f9b50abd55bccd166c3e2082d57ce8132aa", + "url": "https://api.github.com/repos/laravel/nightwatch/zipball/081ef2059413be31b70e7c79657ede232c8c928d", + "reference": "081ef2059413be31b70e7c79657ede232c8c928d", "shasum": "" }, "require": { @@ -2649,13 +2649,10 @@ "laravel/pint": "1.21.0", "mockery/mockery": "^1.0", "mongodb/laravel-mongodb": "^5.0", - "orchestra/pest-plugin-testbench": "^2.0|^3.0", "orchestra/testbench": "^8.0|^9.0|^10.0", "orchestra/testbench-core": "^8.0|^9.0|^10.0", - "pestphp/pest": "^2.0|^3.0", - "pestphp/pest-plugin-arch": "^2.0|^3.0", - "pestphp/pest-plugin-laravel": "^2.0|^3.0", "phpstan/phpstan": "^1.0", + "phpunit/phpunit": "^10.0|^11.0", "ramsey/uuid": "^4.0", "spatie/laravel-ignition": "^2.0", "symfony/mailer": "^6.0|^7.0", @@ -2697,7 +2694,7 @@ "issues": "https://github.com/laravel/nightwatch/issues", "source": "https://github.com/laravel/nightwatch" }, - "time": "2025-05-07T01:32:43+00:00" + "time": "2025-05-20T23:46:49+00:00" }, { "name": "laravel/prompts", @@ -13166,12 +13163,12 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "8.3.*" }, - "platform-dev": {}, - "plugin-api-version": "2.6.0" + "platform-dev": [], + "plugin-api-version": "2.3.0" } From 24386fa3dc09e3d9f74898a5114e8e963d71c6bc Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 23 May 2025 13:25:01 +0200 Subject: [PATCH 032/126] Add more logging --- app/Crawler.php | 13 +++++ app/DomainFilteringAdapter.php | 57 +++++++++++++++++++ app/EmbedExtension.php | 52 +++++++++++++++++ app/EmbedProcessor.php | 72 ++++++++++++++++++++++++ app/Markdown/MarkdownServiceProvider.php | 2 +- app/OscaroteroEmbedAdapter.php | 2 +- 6 files changed, 196 insertions(+), 2 deletions(-) create mode 100644 app/DomainFilteringAdapter.php create mode 100644 app/EmbedExtension.php create mode 100644 app/EmbedProcessor.php diff --git a/app/Crawler.php b/app/Crawler.php index 2f3e22176..95b1aa777 100644 --- a/app/Crawler.php +++ b/app/Crawler.php @@ -63,8 +63,21 @@ public function sendRequest(RequestInterface $request): ResponseInterface public function sendRequests(RequestInterface ...$requests): array { if ($this->client instanceof CurlClient) { + info('Crawler::sendRequests CurlClient', [ + 'requests' => array_map( + fn ($request) => $request->getUri(), + $requests + ), + ]); return $this->client->sendRequests(...$requests); } + + info('Crawler::sendRequests regular', [ + 'requests' => array_map( + fn ($request) => $request->getUri(), + $requests + ), + ]); return array_map( fn ($request) => $this->client->sendRequest($request), diff --git a/app/DomainFilteringAdapter.php b/app/DomainFilteringAdapter.php new file mode 100644 index 000000000..f217f9acf --- /dev/null +++ b/app/DomainFilteringAdapter.php @@ -0,0 +1,57 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace App; + +use League\CommonMark\Extension\Embed\Embed; +use League\CommonMark\Extension\Embed\EmbedAdapterInterface; + +class DomainFilteringAdapter implements EmbedAdapterInterface +{ + private EmbedAdapterInterface $decorated; + + /** @psalm-var non-empty-string */ + private string $regex; + + /** + * @param string[] $allowedDomains + */ + public function __construct(EmbedAdapterInterface $decorated, array $allowedDomains) + { + $this->decorated = $decorated; + $this->regex = self::createRegex($allowedDomains); + } + + /** + * {@inheritDoc} + */ + public function updateEmbeds(array $embeds): void + { + info('DomainFilteringAdapter::updateEmbeds'); + $this->decorated->updateEmbeds(\array_values(\array_filter($embeds, function (Embed $embed): bool { + return \preg_match($this->regex, $embed->getUrl()) === 1; + }))); + } + + /** + * @param string[] $allowedDomains + * + * @psalm-return non-empty-string + */ + private static function createRegex(array $allowedDomains): string + { + $allowedDomains = \array_map('preg_quote', $allowedDomains); + + return '/^(?:https?:\/\/)?(?:[^.]+\.)*(' . \implode('|', $allowedDomains) . ')/'; + } +} diff --git a/app/EmbedExtension.php b/app/EmbedExtension.php new file mode 100644 index 000000000..795f4dfa1 --- /dev/null +++ b/app/EmbedExtension.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace App; + +use League\CommonMark\Environment\EnvironmentBuilderInterface; +use League\CommonMark\Event\DocumentParsedEvent; +use League\CommonMark\Extension\ConfigurableExtensionInterface; +use League\CommonMark\Extension\Embed\Embed; +use League\CommonMark\Extension\Embed\EmbedAdapterInterface; +use League\CommonMark\Extension\Embed\EmbedRenderer; +use League\CommonMark\Extension\Embed\EmbedStartParser; +use League\Config\ConfigurationBuilderInterface; +use Nette\Schema\Expect; + +final class EmbedExtension implements ConfigurableExtensionInterface +{ + public function configureSchema(ConfigurationBuilderInterface $builder): void + { + $builder->addSchema('embed', Expect::structure([ + 'adapter' => Expect::type(EmbedAdapterInterface::class), + 'allowed_domains' => Expect::arrayOf('string')->default([]), + 'fallback' => Expect::anyOf('link', 'remove')->default('link'), + ])); + } + + public function register(EnvironmentBuilderInterface $environment): void + { + $adapter = $environment->getConfiguration()->get('embed.adapter'); + \assert($adapter instanceof EmbedAdapterInterface); + + $allowedDomains = $environment->getConfiguration()->get('embed.allowed_domains'); + if ($allowedDomains !== []) { + $adapter = new DomainFilteringAdapter($adapter, $allowedDomains); + } + + $environment + ->addBlockStartParser(new EmbedStartParser(), 300) + ->addEventListener(DocumentParsedEvent::class, new EmbedProcessor($adapter, $environment->getConfiguration()->get('embed.fallback')), 1010) + ->addRenderer(Embed::class, new EmbedRenderer()); + } +} diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php new file mode 100644 index 000000000..0ddfac661 --- /dev/null +++ b/app/EmbedProcessor.php @@ -0,0 +1,72 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace App; + +use League\CommonMark\Event\DocumentParsedEvent; +use League\CommonMark\Extension\CommonMark\Node\Inline\Link; +use League\CommonMark\Extension\Embed\Embed; +use League\CommonMark\Extension\Embed\EmbedAdapterInterface; +use League\CommonMark\Node\Block\Paragraph; +use League\CommonMark\Node\Inline\Text; +use League\CommonMark\Node\NodeIterator; + +final class EmbedProcessor +{ + public const FALLBACK_REMOVE = 'remove'; + public const FALLBACK_LINK = 'link'; + + private EmbedAdapterInterface $adapter; + private string $fallback; + + public function __construct(EmbedAdapterInterface $adapter, string $fallback = self::FALLBACK_REMOVE) + { + $this->adapter = $adapter; + $this->fallback = $fallback; + } + + public function __invoke(DocumentParsedEvent $event): void + { + $document = $event->getDocument(); + $embeds = []; + foreach (new NodeIterator($document) as $node) { + if (! ($node instanceof Embed)) { + continue; + } + + if ($node->parent() !== $document) { + $replacement = new Paragraph(); + $replacement->appendChild(new Text($node->getUrl())); + $node->replaceWith($replacement); + } else { + $embeds[] = $node; + } + } +info('EmbedProcessor::__invoke'); + $this->adapter->updateEmbeds($embeds); + + foreach ($embeds as $embed) { + if ($embed->getEmbedCode() !== null) { + continue; + } + + if ($this->fallback === self::FALLBACK_REMOVE) { + $embed->detach(); + } elseif ($this->fallback === self::FALLBACK_LINK) { + $paragraph = new Paragraph(); + $paragraph->appendChild(new Link($embed->getUrl(), $embed->getUrl())); + $embed->replaceWith($paragraph); + } + } + } +} diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index 8f77af460..fa6b239e6 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -3,13 +3,13 @@ namespace App\Markdown; use App\Crawler; +use App\EmbedExtension; use App\OscaroteroEmbedAdapter; use Embed\Embed; use Embed\Http\CurlClient; use Illuminate\Support\ServiceProvider; use League\CommonMark\Environment\Environment; use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; -use League\CommonMark\Extension\Embed\EmbedExtension; use League\CommonMark\Extension\ExternalLink\ExternalLinkExtension; use League\CommonMark\Extension\GithubFlavoredMarkdownExtension; use League\CommonMark\Extension\Mention\MentionExtension; diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index 0ee555d2d..5509e7883 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -30,8 +30,8 @@ public function __construct(?EmbedLib $embed = null) public function updateEmbeds(array $embeds): void { $extractors = $this->embedLib->getMulti(...\array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds)); + info(print_r($extractors, true)); foreach ($extractors as $i => $extractor) { - info(print_r($extractor, true)); if ($extractor->code !== null) { $embeds[$i]->setEmbedCode($extractor->code->html); } From 33c6d60ebeefa3e59b15b0114bae9b901acb53f6 Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Fri, 23 May 2025 11:35:05 +0000 Subject: [PATCH 033/126] Fix code styling --- app/Crawler.php | 3 ++- app/DomainFilteringAdapter.php | 8 ++++---- app/EmbedExtension.php | 4 ++-- app/EmbedProcessor.php | 14 ++++++++------ 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/Crawler.php b/app/Crawler.php index 95b1aa777..26cddea21 100644 --- a/app/Crawler.php +++ b/app/Crawler.php @@ -69,9 +69,10 @@ public function sendRequests(RequestInterface ...$requests): array $requests ), ]); + return $this->client->sendRequests(...$requests); } - + info('Crawler::sendRequests regular', [ 'requests' => array_map( fn ($request) => $request->getUri(), diff --git a/app/DomainFilteringAdapter.php b/app/DomainFilteringAdapter.php index f217f9acf..e86bcbff9 100644 --- a/app/DomainFilteringAdapter.php +++ b/app/DomainFilteringAdapter.php @@ -24,12 +24,12 @@ class DomainFilteringAdapter implements EmbedAdapterInterface private string $regex; /** - * @param string[] $allowedDomains + * @param string[] $allowedDomains */ public function __construct(EmbedAdapterInterface $decorated, array $allowedDomains) { $this->decorated = $decorated; - $this->regex = self::createRegex($allowedDomains); + $this->regex = self::createRegex($allowedDomains); } /** @@ -44,7 +44,7 @@ public function updateEmbeds(array $embeds): void } /** - * @param string[] $allowedDomains + * @param string[] $allowedDomains * * @psalm-return non-empty-string */ @@ -52,6 +52,6 @@ private static function createRegex(array $allowedDomains): string { $allowedDomains = \array_map('preg_quote', $allowedDomains); - return '/^(?:https?:\/\/)?(?:[^.]+\.)*(' . \implode('|', $allowedDomains) . ')/'; + return '/^(?:https?:\/\/)?(?:[^.]+\.)*('.\implode('|', $allowedDomains).')/'; } } diff --git a/app/EmbedExtension.php b/app/EmbedExtension.php index 795f4dfa1..dbbb2a490 100644 --- a/app/EmbedExtension.php +++ b/app/EmbedExtension.php @@ -45,8 +45,8 @@ public function register(EnvironmentBuilderInterface $environment): void } $environment - ->addBlockStartParser(new EmbedStartParser(), 300) + ->addBlockStartParser(new EmbedStartParser, 300) ->addEventListener(DocumentParsedEvent::class, new EmbedProcessor($adapter, $environment->getConfiguration()->get('embed.fallback')), 1010) - ->addRenderer(Embed::class, new EmbedRenderer()); + ->addRenderer(Embed::class, new EmbedRenderer); } } diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 0ddfac661..9c5daa5d4 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -24,35 +24,37 @@ final class EmbedProcessor { public const FALLBACK_REMOVE = 'remove'; - public const FALLBACK_LINK = 'link'; + + public const FALLBACK_LINK = 'link'; private EmbedAdapterInterface $adapter; + private string $fallback; public function __construct(EmbedAdapterInterface $adapter, string $fallback = self::FALLBACK_REMOVE) { - $this->adapter = $adapter; + $this->adapter = $adapter; $this->fallback = $fallback; } public function __invoke(DocumentParsedEvent $event): void { $document = $event->getDocument(); - $embeds = []; + $embeds = []; foreach (new NodeIterator($document) as $node) { if (! ($node instanceof Embed)) { continue; } if ($node->parent() !== $document) { - $replacement = new Paragraph(); + $replacement = new Paragraph; $replacement->appendChild(new Text($node->getUrl())); $node->replaceWith($replacement); } else { $embeds[] = $node; } } -info('EmbedProcessor::__invoke'); + info('EmbedProcessor::__invoke'); $this->adapter->updateEmbeds($embeds); foreach ($embeds as $embed) { @@ -63,7 +65,7 @@ public function __invoke(DocumentParsedEvent $event): void if ($this->fallback === self::FALLBACK_REMOVE) { $embed->detach(); } elseif ($this->fallback === self::FALLBACK_LINK) { - $paragraph = new Paragraph(); + $paragraph = new Paragraph; $paragraph->appendChild(new Link($embed->getUrl(), $embed->getUrl())); $embed->replaceWith($paragraph); } From 4a964365959cfd7646b5b2db03e85a8629db7bba Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 23 May 2025 13:43:22 +0200 Subject: [PATCH 034/126] wip --- app/Markdown/MarkdownServiceProvider.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index fa6b239e6..45c48d667 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -57,6 +57,8 @@ public function register(): void $environment->addExtension(new GithubFlavoredMarkdownExtension); $environment->addExtension(new MentionExtension); $environment->addExtension(new ExternalLinkExtension); + info('EmbedExtension'); + logger()->error('test'); $environment->addExtension(new EmbedExtension); return new LeagueConverter(new MarkdownConverter($environment)); From bbed0bdb62ee668b6577dc0bffb0fc58cac1f5f0 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 23 May 2025 13:51:20 +0200 Subject: [PATCH 035/126] wip --- app/Markdown/MarkdownServiceProvider.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/Markdown/MarkdownServiceProvider.php b/app/Markdown/MarkdownServiceProvider.php index 45c48d667..fa6b239e6 100644 --- a/app/Markdown/MarkdownServiceProvider.php +++ b/app/Markdown/MarkdownServiceProvider.php @@ -57,8 +57,6 @@ public function register(): void $environment->addExtension(new GithubFlavoredMarkdownExtension); $environment->addExtension(new MentionExtension); $environment->addExtension(new ExternalLinkExtension); - info('EmbedExtension'); - logger()->error('test'); $environment->addExtension(new EmbedExtension); return new LeagueConverter(new MarkdownConverter($environment)); From 3e6786f5862a619fd3595bcb292503000198a10d Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 23 May 2025 14:04:00 +0200 Subject: [PATCH 036/126] wip --- app/Crawler.php | 7 ------- app/DomainFilteringAdapter.php | 1 - app/EmbedProcessor.php | 2 +- app/OscaroteroEmbedAdapter.php | 6 ++++-- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/app/Crawler.php b/app/Crawler.php index 26cddea21..9ace2e3f7 100644 --- a/app/Crawler.php +++ b/app/Crawler.php @@ -73,13 +73,6 @@ public function sendRequests(RequestInterface ...$requests): array return $this->client->sendRequests(...$requests); } - info('Crawler::sendRequests regular', [ - 'requests' => array_map( - fn ($request) => $request->getUri(), - $requests - ), - ]); - return array_map( fn ($request) => $this->client->sendRequest($request), $requests diff --git a/app/DomainFilteringAdapter.php b/app/DomainFilteringAdapter.php index e86bcbff9..864581570 100644 --- a/app/DomainFilteringAdapter.php +++ b/app/DomainFilteringAdapter.php @@ -37,7 +37,6 @@ public function __construct(EmbedAdapterInterface $decorated, array $allowedDoma */ public function updateEmbeds(array $embeds): void { - info('DomainFilteringAdapter::updateEmbeds'); $this->decorated->updateEmbeds(\array_values(\array_filter($embeds, function (Embed $embed): bool { return \preg_match($this->regex, $embed->getUrl()) === 1; }))); diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 9c5daa5d4..4d7942df9 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -54,7 +54,7 @@ public function __invoke(DocumentParsedEvent $event): void $embeds[] = $node; } } - info('EmbedProcessor::__invoke'); + $this->adapter->updateEmbeds($embeds); foreach ($embeds as $embed) { diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index 5509e7883..25d82b2bb 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -29,8 +29,10 @@ public function __construct(?EmbedLib $embed = null) */ public function updateEmbeds(array $embeds): void { - $extractors = $this->embedLib->getMulti(...\array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds)); - info(print_r($extractors, true)); + $urls = \array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds); + info('Extracting URLs', ['urls' => $urls]); + $extractors = $this->embedLib->getMulti(...$urls); + foreach ($extractors as $i => $extractor) { if ($extractor->code !== null) { $embeds[$i]->setEmbedCode($extractor->code->html); From 948bad18e2633707fc7c8b09a16dceb6fbc02d86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 25 May 2025 20:39:33 +0200 Subject: [PATCH 037/126] Bump pixelmatch from 5.3.0 to 7.1.0 (#1256) Bumps [pixelmatch](https://github.com/mapbox/pixelmatch) from 5.3.0 to 7.1.0. - [Release notes](https://github.com/mapbox/pixelmatch/releases) - [Commits](https://github.com/mapbox/pixelmatch/compare/v5.3.0...v7.1.0) --- updated-dependencies: - dependency-name: pixelmatch dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index e610a6a77..38ce6e392 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "choices.js": "^11.0.6", "highlight.js": "^11.9.0", "laravel-vite-plugin": "^1.0.1", - "pixelmatch": "^5.0.0", + "pixelmatch": "^7.1.0", "tailwindcss": "^4.1.4", "textarea-caret": "^3.1.0", "vite": "^6.2.0" @@ -2213,26 +2213,26 @@ } }, "node_modules/pixelmatch": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", - "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-7.1.0.tgz", + "integrity": "sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==", "dev": true, "license": "ISC", "dependencies": { - "pngjs": "^6.0.0" + "pngjs": "^7.0.0" }, "bin": { "pixelmatch": "bin/pixelmatch" } }, "node_modules/pngjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", "dev": true, "license": "MIT", "engines": { - "node": ">=12.13.0" + "node": ">=14.19.0" } }, "node_modules/postcss": { diff --git a/package.json b/package.json index 6f55dfb4d..aaf7f0881 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "choices.js": "^11.0.6", "highlight.js": "^11.9.0", "laravel-vite-plugin": "^1.0.1", - "pixelmatch": "^5.0.0", + "pixelmatch": "^7.1.0", "tailwindcss": "^4.1.4", "textarea-caret": "^3.1.0", "vite": "^6.2.0" From 63c0b486ba8891295b2b9400f2c3951cad2c60fa Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Sun, 25 May 2025 21:04:25 +0200 Subject: [PATCH 038/126] wip --- app/EmbedProcessor.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 4d7942df9..292965eac 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -55,7 +55,9 @@ public function __invoke(DocumentParsedEvent $event): void } } - $this->adapter->updateEmbeds($embeds); + if (! empty($embeds)) { + $this->adapter->updateEmbeds($embeds); + } foreach ($embeds as $embed) { if ($embed->getEmbedCode() !== null) { From 974dbca902f4d6d95ef7349a2f114cc249404171 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Sun, 25 May 2025 21:29:17 +0200 Subject: [PATCH 039/126] wip --- app/Crawler.php | 7 ------- app/OscaroteroEmbedAdapter.php | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/app/Crawler.php b/app/Crawler.php index 9ace2e3f7..2f3e22176 100644 --- a/app/Crawler.php +++ b/app/Crawler.php @@ -63,13 +63,6 @@ public function sendRequest(RequestInterface $request): ResponseInterface public function sendRequests(RequestInterface ...$requests): array { if ($this->client instanceof CurlClient) { - info('Crawler::sendRequests CurlClient', [ - 'requests' => array_map( - fn ($request) => $request->getUri(), - $requests - ), - ]); - return $this->client->sendRequests(...$requests); } diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index 25d82b2bb..04da3eed9 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -30,7 +30,7 @@ public function __construct(?EmbedLib $embed = null) public function updateEmbeds(array $embeds): void { $urls = \array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds); - info('Extracting URLs', ['urls' => $urls]); + $extractors = $this->embedLib->getMulti(...$urls); foreach ($extractors as $i => $extractor) { From 846df65cddcc162df772340109201a0ff333682e Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Sun, 25 May 2025 19:29:46 +0000 Subject: [PATCH 040/126] Fix code styling --- app/OscaroteroEmbedAdapter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/OscaroteroEmbedAdapter.php b/app/OscaroteroEmbedAdapter.php index 04da3eed9..72b43f3ee 100644 --- a/app/OscaroteroEmbedAdapter.php +++ b/app/OscaroteroEmbedAdapter.php @@ -30,7 +30,7 @@ public function __construct(?EmbedLib $embed = null) public function updateEmbeds(array $embeds): void { $urls = \array_map(static fn (Embed $embed) => $embed->getUrl(), $embeds); - + $extractors = $this->embedLib->getMulti(...$urls); foreach ($extractors as $i => $extractor) { From c104b2b25044a9a73194308107dbacfdd81e1ac0 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Sun, 25 May 2025 21:41:29 +0200 Subject: [PATCH 041/126] wip --- app/EmbedExtension.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/EmbedExtension.php b/app/EmbedExtension.php index dbbb2a490..ea8432ac6 100644 --- a/app/EmbedExtension.php +++ b/app/EmbedExtension.php @@ -43,7 +43,7 @@ public function register(EnvironmentBuilderInterface $environment): void if ($allowedDomains !== []) { $adapter = new DomainFilteringAdapter($adapter, $allowedDomains); } - +info('Registering EmbedExtension with allowed domains: ' . implode(', ', $allowedDomains)); $environment ->addBlockStartParser(new EmbedStartParser, 300) ->addEventListener(DocumentParsedEvent::class, new EmbedProcessor($adapter, $environment->getConfiguration()->get('embed.fallback')), 1010) From 6cc5a9fdeff3ada6730df131b29480e4056f55c5 Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Sun, 25 May 2025 19:42:01 +0000 Subject: [PATCH 042/126] Fix code styling --- app/EmbedExtension.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/EmbedExtension.php b/app/EmbedExtension.php index ea8432ac6..0b0302209 100644 --- a/app/EmbedExtension.php +++ b/app/EmbedExtension.php @@ -43,7 +43,7 @@ public function register(EnvironmentBuilderInterface $environment): void if ($allowedDomains !== []) { $adapter = new DomainFilteringAdapter($adapter, $allowedDomains); } -info('Registering EmbedExtension with allowed domains: ' . implode(', ', $allowedDomains)); + info('Registering EmbedExtension with allowed domains: '.implode(', ', $allowedDomains)); $environment ->addBlockStartParser(new EmbedStartParser, 300) ->addEventListener(DocumentParsedEvent::class, new EmbedProcessor($adapter, $environment->getConfiguration()->get('embed.fallback')), 1010) From 795f1deda989abe514762ba7162b83dfdd474e88 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Sun, 25 May 2025 21:53:10 +0200 Subject: [PATCH 043/126] wip --- app/EmbedExtension.php | 2 +- app/EmbedProcessor.php | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/EmbedExtension.php b/app/EmbedExtension.php index 0b0302209..1923aee69 100644 --- a/app/EmbedExtension.php +++ b/app/EmbedExtension.php @@ -43,7 +43,7 @@ public function register(EnvironmentBuilderInterface $environment): void if ($allowedDomains !== []) { $adapter = new DomainFilteringAdapter($adapter, $allowedDomains); } - info('Registering EmbedExtension with allowed domains: '.implode(', ', $allowedDomains)); + $environment ->addBlockStartParser(new EmbedStartParser, 300) ->addEventListener(DocumentParsedEvent::class, new EmbedProcessor($adapter, $environment->getConfiguration()->get('embed.fallback')), 1010) diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 292965eac..95290fc88 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -41,6 +41,8 @@ public function __invoke(DocumentParsedEvent $event): void { $document = $event->getDocument(); $embeds = []; + info('Processing embeds in document'); + info('Total nodes in document: ' . count(iterator_to_array(new NodeIterator($document)))); foreach (new NodeIterator($document) as $node) { if (! ($node instanceof Embed)) { continue; From eae002aa2f808397b8b42b842b91728f7bd747cb Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Sun, 25 May 2025 19:57:10 +0000 Subject: [PATCH 044/126] Fix code styling --- app/EmbedExtension.php | 2 +- app/EmbedProcessor.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/EmbedExtension.php b/app/EmbedExtension.php index 1923aee69..dbbb2a490 100644 --- a/app/EmbedExtension.php +++ b/app/EmbedExtension.php @@ -43,7 +43,7 @@ public function register(EnvironmentBuilderInterface $environment): void if ($allowedDomains !== []) { $adapter = new DomainFilteringAdapter($adapter, $allowedDomains); } - + $environment ->addBlockStartParser(new EmbedStartParser, 300) ->addEventListener(DocumentParsedEvent::class, new EmbedProcessor($adapter, $environment->getConfiguration()->get('embed.fallback')), 1010) diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 95290fc88..1502be5ff 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -42,7 +42,7 @@ public function __invoke(DocumentParsedEvent $event): void $document = $event->getDocument(); $embeds = []; info('Processing embeds in document'); - info('Total nodes in document: ' . count(iterator_to_array(new NodeIterator($document)))); + info('Total nodes in document: '.count(iterator_to_array(new NodeIterator($document)))); foreach (new NodeIterator($document) as $node) { if (! ($node instanceof Embed)) { continue; From 07d561fa7bf25b7d731c0838364b98ff267a5ea2 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Sun, 25 May 2025 22:16:17 +0200 Subject: [PATCH 045/126] wip --- app/EmbedProcessor.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 1502be5ff..56841cd29 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -41,12 +41,13 @@ public function __invoke(DocumentParsedEvent $event): void { $document = $event->getDocument(); $embeds = []; - info('Processing embeds in document'); - info('Total nodes in document: '.count(iterator_to_array(new NodeIterator($document)))); + foreach (new NodeIterator($document) as $node) { + info('Processing node of type: ' . get_class($node)); if (! ($node instanceof Embed)) { continue; } + info('Node is an embed, processing...'); if ($node->parent() !== $document) { $replacement = new Paragraph; From e95a8eeb3790942cfe80afb431fb9f698e73d843 Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Sun, 25 May 2025 20:17:24 +0000 Subject: [PATCH 046/126] Fix code styling --- app/EmbedProcessor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 56841cd29..5b57d72ec 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -41,9 +41,9 @@ public function __invoke(DocumentParsedEvent $event): void { $document = $event->getDocument(); $embeds = []; - + foreach (new NodeIterator($document) as $node) { - info('Processing node of type: ' . get_class($node)); + info('Processing node of type: '.get_class($node)); if (! ($node instanceof Embed)) { continue; } From 57d3041a672069a9d9916ad087a4a11a766f5023 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Sun, 25 May 2025 22:24:04 +0200 Subject: [PATCH 047/126] wip --- app/EmbedProcessor.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/EmbedProcessor.php b/app/EmbedProcessor.php index 5b57d72ec..c37a88116 100644 --- a/app/EmbedProcessor.php +++ b/app/EmbedProcessor.php @@ -43,11 +43,9 @@ public function __invoke(DocumentParsedEvent $event): void $embeds = []; foreach (new NodeIterator($document) as $node) { - info('Processing node of type: '.get_class($node)); if (! ($node instanceof Embed)) { continue; } - info('Node is an embed, processing...'); if ($node->parent() !== $document) { $replacement = new Paragraph; From 74a395dc9213d883cfca80c10cd966ba4d249dd4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 21:29:20 +0200 Subject: [PATCH 048/126] Bump the php-dependencies group with 6 updates (#1297) Bumps the php-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [codeat3/blade-simple-icons](https://github.com/codeat3/blade-simple-icons) | `6.12.1` | `6.15.0` | | [intervention/image](https://github.com/Intervention/image) | `3.11.2` | `3.11.3` | | [laravel/horizon](https://github.com/laravel/horizon) | `5.32.0` | `5.32.1` | | [laravel/socialite](https://github.com/laravel/socialite) | `5.20.0` | `5.21.0` | | [symfony/http-client](https://github.com/symfony/http-client) | `7.2.4` | `7.3.0` | | [symfony/mailgun-mailer](https://github.com/symfony/mailgun-mailer) | `7.2.0` | `7.3.0` | Updates `codeat3/blade-simple-icons` from 6.12.1 to 6.15.0 - [Release notes](https://github.com/codeat3/blade-simple-icons/releases) - [Changelog](https://github.com/codeat3/blade-simple-icons/blob/main/CHANGELOG.md) - [Commits](https://github.com/codeat3/blade-simple-icons/compare/6.12.1...6.15.0) Updates `intervention/image` from 3.11.2 to 3.11.3 - [Release notes](https://github.com/Intervention/image/releases) - [Commits](https://github.com/Intervention/image/compare/3.11.2...3.11.3) Updates `laravel/horizon` from 5.32.0 to 5.32.1 - [Release notes](https://github.com/laravel/horizon/releases) - [Changelog](https://github.com/laravel/horizon/blob/5.x/CHANGELOG.md) - [Commits](https://github.com/laravel/horizon/compare/v5.32.0...v5.32.1) Updates `laravel/socialite` from 5.20.0 to 5.21.0 - [Release notes](https://github.com/laravel/socialite/releases) - [Changelog](https://github.com/laravel/socialite/blob/5.x/CHANGELOG.md) - [Commits](https://github.com/laravel/socialite/compare/v5.20.0...v5.21.0) Updates `symfony/http-client` from 7.2.4 to 7.3.0 - [Release notes](https://github.com/symfony/http-client/releases) - [Changelog](https://github.com/symfony/http-client/blob/7.3/CHANGELOG.md) - [Commits](https://github.com/symfony/http-client/compare/v7.2.4...v7.3.0) Updates `symfony/mailgun-mailer` from 7.2.0 to 7.3.0 - [Release notes](https://github.com/symfony/mailgun-mailer/releases) - [Changelog](https://github.com/symfony/mailgun-mailer/blob/7.3/CHANGELOG.md) - [Commits](https://github.com/symfony/mailgun-mailer/compare/v7.2.0...v7.3.0) --- updated-dependencies: - dependency-name: codeat3/blade-simple-icons dependency-version: 6.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: intervention/image dependency-version: 3.11.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: laravel/horizon dependency-version: 5.32.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: laravel/socialite dependency-version: 5.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: symfony/http-client dependency-version: 7.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: symfony/mailgun-mailer dependency-version: 7.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 326 +++++++++++++++++++++++++------------------------- 1 file changed, 166 insertions(+), 160 deletions(-) diff --git a/composer.lock b/composer.lock index 5a42a81bc..844c5c7d6 100644 --- a/composer.lock +++ b/composer.lock @@ -655,16 +655,16 @@ }, { "name": "codeat3/blade-simple-icons", - "version": "6.12.1", + "version": "6.15.0", "source": { "type": "git", "url": "https://github.com/codeat3/blade-simple-icons.git", - "reference": "d7e0e8dbb065b5ea7d881b206bd429b04379ce36" + "reference": "f3e4b4b86f3d53db6b0fc8ba16245d473a0c9c90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeat3/blade-simple-icons/zipball/d7e0e8dbb065b5ea7d881b206bd429b04379ce36", - "reference": "d7e0e8dbb065b5ea7d881b206bd429b04379ce36", + "url": "https://api.github.com/repos/codeat3/blade-simple-icons/zipball/f3e4b4b86f3d53db6b0fc8ba16245d473a0c9c90", + "reference": "f3e4b4b86f3d53db6b0fc8ba16245d473a0c9c90", "shasum": "" }, "require": { @@ -714,7 +714,7 @@ ], "support": { "issues": "https://github.com/codeat3/blade-simple-icons/issues", - "source": "https://github.com/codeat3/blade-simple-icons/tree/6.12.1" + "source": "https://github.com/codeat3/blade-simple-icons/tree/6.15.0" }, "funding": [ { @@ -722,7 +722,7 @@ "type": "github" } ], - "time": "2025-04-22T08:14:32+00:00" + "time": "2025-05-27T07:31:40+00:00" }, { "name": "composer/ca-bundle", @@ -2014,16 +2014,16 @@ }, { "name": "intervention/image", - "version": "3.11.2", + "version": "3.11.3", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "ebbb711871fb261c064cf4c422f5f3c124fe1842" + "reference": "d0f097b8a3fa8fb758efc9440b513aa3833cda17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/ebbb711871fb261c064cf4c422f5f3c124fe1842", - "reference": "ebbb711871fb261c064cf4c422f5f3c124fe1842", + "url": "https://api.github.com/repos/Intervention/image/zipball/d0f097b8a3fa8fb758efc9440b513aa3833cda17", + "reference": "d0f097b8a3fa8fb758efc9440b513aa3833cda17", "shasum": "" }, "require": { @@ -2070,7 +2070,7 @@ ], "support": { "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/3.11.2" + "source": "https://github.com/Intervention/image/tree/3.11.3" }, "funding": [ { @@ -2086,7 +2086,7 @@ "type": "ko_fi" } ], - "time": "2025-02-27T13:08:55+00:00" + "time": "2025-05-22T17:26:23+00:00" }, { "name": "jean85/pretty-package-versions", @@ -2538,16 +2538,16 @@ }, { "name": "laravel/horizon", - "version": "v5.32.0", + "version": "v5.32.1", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "7686a8e1996472cc341dfd6f1d437065698594ad" + "reference": "e78d9689d85b3d4769dc64def5eb6d94e5776beb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/7686a8e1996472cc341dfd6f1d437065698594ad", - "reference": "7686a8e1996472cc341dfd6f1d437065698594ad", + "url": "https://api.github.com/repos/laravel/horizon/zipball/e78d9689d85b3d4769dc64def5eb6d94e5776beb", + "reference": "e78d9689d85b3d4769dc64def5eb6d94e5776beb", "shasum": "" }, "require": { @@ -2587,7 +2587,7 @@ ] }, "branch-alias": { - "dev-master": "5.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -2612,9 +2612,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.32.0" + "source": "https://github.com/laravel/horizon/tree/v5.32.1" }, - "time": "2025-05-09T14:58:32+00:00" + "time": "2025-05-19T13:13:30+00:00" }, { "name": "laravel/nightwatch", @@ -2963,16 +2963,16 @@ }, { "name": "laravel/socialite", - "version": "v5.20.0", + "version": "v5.21.0", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "30972c12a41f71abeb418bc9ff157da8d9231519" + "reference": "d83639499ad14985c9a6a9713b70073300ce998d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/30972c12a41f71abeb418bc9ff157da8d9231519", - "reference": "30972c12a41f71abeb418bc9ff157da8d9231519", + "url": "https://api.github.com/repos/laravel/socialite/zipball/d83639499ad14985c9a6a9713b70073300ce998d", + "reference": "d83639499ad14985c9a6a9713b70073300ce998d", "shasum": "" }, "require": { @@ -3031,7 +3031,7 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2025-04-21T14:21:34+00:00" + "time": "2025-05-19T12:56:37+00:00" }, { "name": "laravel/tinker", @@ -7257,7 +7257,7 @@ }, { "name": "symfony/clock", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", @@ -7311,7 +7311,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.2.0" + "source": "https://github.com/symfony/clock/tree/v7.3.0" }, "funding": [ { @@ -7331,23 +7331,24 @@ }, { "name": "symfony/console", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218" + "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218", - "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "url": "https://api.github.com/repos/symfony/console/zipball/66c1440edf6f339fd82ed6c7caa76cb006211b44", + "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^6.4|^7.0" + "symfony/string": "^7.2" }, "conflict": { "symfony/dependency-injection": "<6.4", @@ -7404,7 +7405,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.2.6" + "source": "https://github.com/symfony/console/tree/v7.3.0" }, "funding": [ { @@ -7420,11 +7421,11 @@ "type": "tidelift" } ], - "time": "2025-04-07T19:09:28+00:00" + "time": "2025-05-24T10:34:04+00:00" }, { "name": "symfony/css-selector", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -7469,7 +7470,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.2.0" + "source": "https://github.com/symfony/css-selector/tree/v7.3.0" }, "funding": [ { @@ -7489,16 +7490,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", - "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -7511,7 +7512,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -7536,7 +7537,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -7552,7 +7553,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/dom-crawler", @@ -7623,16 +7624,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.2.5", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b" + "reference": "cf68d225bc43629de4ff54778029aee6dc191b83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", - "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/cf68d225bc43629de4ff54778029aee6dc191b83", + "reference": "cf68d225bc43629de4ff54778029aee6dc191b83", "shasum": "" }, "require": { @@ -7645,9 +7646,11 @@ "symfony/http-kernel": "<6.4" }, "require-dev": { + "symfony/console": "^6.4|^7.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0" + "symfony/serializer": "^6.4|^7.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -7678,7 +7681,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.2.5" + "source": "https://github.com/symfony/error-handler/tree/v7.3.0" }, "funding": [ { @@ -7694,20 +7697,20 @@ "type": "tidelift" } ], - "time": "2025-03-03T07:12:39+00:00" + "time": "2025-05-29T07:19:49+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d", + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d", "shasum": "" }, "require": { @@ -7758,7 +7761,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0" }, "funding": [ { @@ -7774,20 +7777,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-04-22T09:11:45+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", - "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { @@ -7801,7 +7804,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -7834,7 +7837,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -7850,20 +7853,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/finder", - "version": "v7.2.2", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb" + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb", + "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d", + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d", "shasum": "" }, "require": { @@ -7898,7 +7901,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.2.2" + "source": "https://github.com/symfony/finder/tree/v7.3.0" }, "funding": [ { @@ -7914,20 +7917,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2024-12-30T19:00:26+00:00" }, { "name": "symfony/http-client", - "version": "v7.2.4", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "78981a2ffef6437ed92d4d7e2a86a82f256c6dc6" + "reference": "57e4fb86314015a695a750ace358d07a7e37b8a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/78981a2ffef6437ed92d4d7e2a86a82f256c6dc6", - "reference": "78981a2ffef6437ed92d4d7e2a86a82f256c6dc6", + "url": "https://api.github.com/repos/symfony/http-client/zipball/57e4fb86314015a695a750ace358d07a7e37b8a9", + "reference": "57e4fb86314015a695a750ace358d07a7e37b8a9", "shasum": "" }, "require": { @@ -7993,7 +7996,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.2.4" + "source": "https://github.com/symfony/http-client/tree/v7.3.0" }, "funding": [ { @@ -8009,20 +8012,20 @@ "type": "tidelift" } ], - "time": "2025-02-13T10:27:23+00:00" + "time": "2025-05-02T08:23:16+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v3.5.2", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645" + "reference": "75d7043853a42837e68111812f4d964b01e5101c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ee8d807ab20fcb51267fdace50fbe3494c31e645", - "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c", + "reference": "75d7043853a42837e68111812f4d964b01e5101c", "shasum": "" }, "require": { @@ -8035,7 +8038,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -8071,7 +8074,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.2" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0" }, "funding": [ { @@ -8087,20 +8090,20 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:49:48+00:00" + "time": "2025-04-29T11:18:49+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "6023ec7607254c87c5e69fb3558255aca440d72b" + "reference": "4236baf01609667d53b20371486228231eb135fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6023ec7607254c87c5e69fb3558255aca440d72b", - "reference": "6023ec7607254c87c5e69fb3558255aca440d72b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4236baf01609667d53b20371486228231eb135fd", + "reference": "4236baf01609667d53b20371486228231eb135fd", "shasum": "" }, "require": { @@ -8117,6 +8120,7 @@ "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "symfony/cache": "^6.4.12|^7.1.5", + "symfony/clock": "^6.4|^7.0", "symfony/dependency-injection": "^6.4|^7.0", "symfony/expression-language": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", @@ -8149,7 +8153,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.6" + "source": "https://github.com/symfony/http-foundation/tree/v7.3.0" }, "funding": [ { @@ -8165,20 +8169,20 @@ "type": "tidelift" } ], - "time": "2025-04-09T08:14:01+00:00" + "time": "2025-05-12T14:48:23+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec" + "reference": "ac7b8e163e8c83dce3abcc055a502d4486051a9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9dec01e6094a063e738f8945ef69c0cfcf792ec", - "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ac7b8e163e8c83dce3abcc055a502d4486051a9f", + "reference": "ac7b8e163e8c83dce3abcc055a502d4486051a9f", "shasum": "" }, "require": { @@ -8186,8 +8190,8 @@ "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/event-dispatcher": "^7.3", + "symfony/http-foundation": "^7.3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -8263,7 +8267,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.2.6" + "source": "https://github.com/symfony/http-kernel/tree/v7.3.0" }, "funding": [ { @@ -8279,20 +8283,20 @@ "type": "tidelift" } ], - "time": "2025-05-02T09:04:03+00:00" + "time": "2025-05-29T07:47:32+00:00" }, { "name": "symfony/mailer", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356" + "reference": "0f375bbbde96ae8c78e4aa3e63aabd486e33364c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/998692469d6e698c6eadc7ef37a6530a9eabb356", - "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356", + "url": "https://api.github.com/repos/symfony/mailer/zipball/0f375bbbde96ae8c78e4aa3e63aabd486e33364c", + "reference": "0f375bbbde96ae8c78e4aa3e63aabd486e33364c", "shasum": "" }, "require": { @@ -8343,7 +8347,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.2.6" + "source": "https://github.com/symfony/mailer/tree/v7.3.0" }, "funding": [ { @@ -8359,11 +8363,11 @@ "type": "tidelift" } ], - "time": "2025-04-04T09:50:51+00:00" + "time": "2025-04-04T09:51:09+00:00" }, { "name": "symfony/mailgun-mailer", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", @@ -8412,7 +8416,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v7.2.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v7.3.0" }, "funding": [ { @@ -8432,16 +8436,16 @@ }, { "name": "symfony/mime", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1" + "reference": "0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/706e65c72d402539a072d0d6ad105fff6c161ef1", - "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1", + "url": "https://api.github.com/repos/symfony/mime/zipball/0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9", + "reference": "0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9", "shasum": "" }, "require": { @@ -8496,7 +8500,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.6" + "source": "https://github.com/symfony/mime/tree/v7.3.0" }, "funding": [ { @@ -8512,7 +8516,7 @@ "type": "tidelift" } ], - "time": "2025-04-27T13:34:41+00:00" + "time": "2025-02-19T08:51:26+00:00" }, { "name": "symfony/options-resolver", @@ -9220,16 +9224,16 @@ }, { "name": "symfony/process", - "version": "v7.2.5", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "87b7c93e57df9d8e39a093d32587702380ff045d" + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/87b7c93e57df9d8e39a093d32587702380ff045d", - "reference": "87b7c93e57df9d8e39a093d32587702380ff045d", + "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", "shasum": "" }, "require": { @@ -9261,7 +9265,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.2.5" + "source": "https://github.com/symfony/process/tree/v7.3.0" }, "funding": [ { @@ -9277,7 +9281,7 @@ "type": "tidelift" } ], - "time": "2025-03-13T12:21:46+00:00" + "time": "2025-04-17T09:11:12+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -9364,16 +9368,16 @@ }, { "name": "symfony/routing", - "version": "v7.2.3", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996" + "reference": "8e213820c5fea844ecea29203d2a308019007c15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ee9a67edc6baa33e5fae662f94f91fd262930996", - "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996", + "url": "https://api.github.com/repos/symfony/routing/zipball/8e213820c5fea844ecea29203d2a308019007c15", + "reference": "8e213820c5fea844ecea29203d2a308019007c15", "shasum": "" }, "require": { @@ -9425,7 +9429,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.2.3" + "source": "https://github.com/symfony/routing/tree/v7.3.0" }, "funding": [ { @@ -9441,20 +9445,20 @@ "type": "tidelift" } ], - "time": "2025-01-17T10:56:55+00:00" + "time": "2025-05-24T20:43:28+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", - "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { @@ -9472,7 +9476,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -9508,7 +9512,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -9524,20 +9528,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/string", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931" + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931", - "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", "shasum": "" }, "require": { @@ -9595,7 +9599,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.2.6" + "source": "https://github.com/symfony/string/tree/v7.3.0" }, "funding": [ { @@ -9611,20 +9615,20 @@ "type": "tidelift" } ], - "time": "2025-04-20T20:18:16+00:00" + "time": "2025-04-20T20:19:01+00:00" }, { "name": "symfony/translation", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6" + "reference": "4aba29076a29a3aa667e09b791e5f868973a8667" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", - "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", + "url": "https://api.github.com/repos/symfony/translation/zipball/4aba29076a29a3aa667e09b791e5f868973a8667", + "reference": "4aba29076a29a3aa667e09b791e5f868973a8667", "shasum": "" }, "require": { @@ -9634,6 +9638,7 @@ "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { + "nikic/php-parser": "<5.0", "symfony/config": "<6.4", "symfony/console": "<6.4", "symfony/dependency-injection": "<6.4", @@ -9647,7 +9652,7 @@ "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "nikic/php-parser": "^4.18|^5.0", + "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", "symfony/config": "^6.4|^7.0", "symfony/console": "^6.4|^7.0", @@ -9690,7 +9695,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.2.6" + "source": "https://github.com/symfony/translation/tree/v7.3.0" }, "funding": [ { @@ -9706,20 +9711,20 @@ "type": "tidelift" } ], - "time": "2025-04-07T19:09:28+00:00" + "time": "2025-05-29T07:19:49+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "4667ff3bd513750603a09c8dedbea942487fb07c" + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", - "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", "shasum": "" }, "require": { @@ -9732,7 +9737,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -9768,7 +9773,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" }, "funding": [ { @@ -9784,20 +9789,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-27T08:32:26+00:00" }, { "name": "symfony/uid", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "2d294d0c48df244c71c105a169d0190bfb080426" + "reference": "7beeb2b885cd584cd01e126c5777206ae4c3c6a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/2d294d0c48df244c71c105a169d0190bfb080426", - "reference": "2d294d0c48df244c71c105a169d0190bfb080426", + "url": "https://api.github.com/repos/symfony/uid/zipball/7beeb2b885cd584cd01e126c5777206ae4c3c6a3", + "reference": "7beeb2b885cd584cd01e126c5777206ae4c3c6a3", "shasum": "" }, "require": { @@ -9842,7 +9847,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.2.0" + "source": "https://github.com/symfony/uid/tree/v7.3.0" }, "funding": [ { @@ -9858,24 +9863,25 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-05-24T14:28:13+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb" + "reference": "548f6760c54197b1084e1e5c71f6d9d523f2f78e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9c46038cd4ed68952166cf7001b54eb539184ccb", - "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/548f6760c54197b1084e1e5c71f6d9d523f2f78e", + "reference": "548f6760c54197b1084e1e5c71f6d9d523f2f78e", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -9925,7 +9931,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.2.6" + "source": "https://github.com/symfony/var-dumper/tree/v7.3.0" }, "funding": [ { @@ -9941,7 +9947,7 @@ "type": "tidelift" } ], - "time": "2025-04-09T08:14:01+00:00" + "time": "2025-04-27T18:39:23+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", From 62a0f113aa674a40891651c575f76ff1fe32a29c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 21:29:53 +0200 Subject: [PATCH 049/126] Bump the js-dependencies group with 2 updates (#1296) Bumps the js-dependencies group with 2 updates: [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss). Updates `@tailwindcss/vite` from 4.1.7 to 4.1.8 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.8/packages/@tailwindcss-vite) Updates `tailwindcss` from 4.1.7 to 4.1.8 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.8/packages/tailwindcss) --- updated-dependencies: - dependency-name: "@tailwindcss/vite" dependency-version: 4.1.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies - dependency-name: tailwindcss dependency-version: 4.1.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 142 +++++++++++++++++++++++----------------------- 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/package-lock.json b/package-lock.json index 38ce6e392..e1563d136 100644 --- a/package-lock.json +++ b/package-lock.json @@ -992,9 +992,9 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.7.tgz", - "integrity": "sha512-9rsOpdY9idRI2NH6CL4wORFY0+Q6fnx9XP9Ju+iq/0wJwGD5IByIgFmwVbyy4ymuyprj8Qh4ErxMKTUL4uNh3g==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.8.tgz", + "integrity": "sha512-OWwBsbC9BFAJelmnNcrKuf+bka2ZxCE2A4Ft53Tkg4uoiE67r/PMEYwCsourC26E+kmxfwE0hVzMdxqeW+xu7Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1004,13 +1004,13 @@ "lightningcss": "1.30.1", "magic-string": "^0.30.17", "source-map-js": "^1.2.1", - "tailwindcss": "4.1.7" + "tailwindcss": "4.1.8" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.7.tgz", - "integrity": "sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.8.tgz", + "integrity": "sha512-d7qvv9PsM5N3VNKhwVUhpK6r4h9wtLkJ6lz9ZY9aeZgrUWk1Z8VPyqyDT9MZlem7GTGseRQHkeB1j3tC7W1P+A==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1022,24 +1022,24 @@ "node": ">= 10" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.7", - "@tailwindcss/oxide-darwin-arm64": "4.1.7", - "@tailwindcss/oxide-darwin-x64": "4.1.7", - "@tailwindcss/oxide-freebsd-x64": "4.1.7", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.7", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.7", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.7", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.7", - "@tailwindcss/oxide-linux-x64-musl": "4.1.7", - "@tailwindcss/oxide-wasm32-wasi": "4.1.7", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.7", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.7" + "@tailwindcss/oxide-android-arm64": "4.1.8", + "@tailwindcss/oxide-darwin-arm64": "4.1.8", + "@tailwindcss/oxide-darwin-x64": "4.1.8", + "@tailwindcss/oxide-freebsd-x64": "4.1.8", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.8", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.8", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.8", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.8", + "@tailwindcss/oxide-linux-x64-musl": "4.1.8", + "@tailwindcss/oxide-wasm32-wasi": "4.1.8", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.8", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.8" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.7.tgz", - "integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.8.tgz", + "integrity": "sha512-Fbz7qni62uKYceWYvUjRqhGfZKwhZDQhlrJKGtnZfuNtHFqa8wmr+Wn74CTWERiW2hn3mN5gTpOoxWKk0jRxjg==", "cpu": [ "arm64" ], @@ -1054,9 +1054,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.7.tgz", - "integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.8.tgz", + "integrity": "sha512-RdRvedGsT0vwVVDztvyXhKpsU2ark/BjgG0huo4+2BluxdXo8NDgzl77qh0T1nUxmM11eXwR8jA39ibvSTbi7A==", "cpu": [ "arm64" ], @@ -1071,9 +1071,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.7.tgz", - "integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.8.tgz", + "integrity": "sha512-t6PgxjEMLp5Ovf7uMb2OFmb3kqzVTPPakWpBIFzppk4JE4ix0yEtbtSjPbU8+PZETpaYMtXvss2Sdkx8Vs4XRw==", "cpu": [ "x64" ], @@ -1088,9 +1088,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.7.tgz", - "integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.8.tgz", + "integrity": "sha512-g8C8eGEyhHTqwPStSwZNSrOlyx0bhK/V/+zX0Y+n7DoRUzyS8eMbVshVOLJTDDC+Qn9IJnilYbIKzpB9n4aBsg==", "cpu": [ "x64" ], @@ -1105,9 +1105,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.7.tgz", - "integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.8.tgz", + "integrity": "sha512-Jmzr3FA4S2tHhaC6yCjac3rGf7hG9R6Gf2z9i9JFcuyy0u79HfQsh/thifbYTF2ic82KJovKKkIB6Z9TdNhCXQ==", "cpu": [ "arm" ], @@ -1122,9 +1122,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.7.tgz", - "integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.8.tgz", + "integrity": "sha512-qq7jXtO1+UEtCmCeBBIRDrPFIVI4ilEQ97qgBGdwXAARrUqSn/L9fUrkb1XP/mvVtoVeR2bt/0L77xx53bPZ/Q==", "cpu": [ "arm64" ], @@ -1139,9 +1139,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.7.tgz", - "integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.8.tgz", + "integrity": "sha512-O6b8QesPbJCRshsNApsOIpzKt3ztG35gfX9tEf4arD7mwNinsoCKxkj8TgEE0YRjmjtO3r9FlJnT/ENd9EVefQ==", "cpu": [ "arm64" ], @@ -1156,9 +1156,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.7.tgz", - "integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.8.tgz", + "integrity": "sha512-32iEXX/pXwikshNOGnERAFwFSfiltmijMIAbUhnNyjFr3tmWmMJWQKU2vNcFX0DACSXJ3ZWcSkzNbaKTdngH6g==", "cpu": [ "x64" ], @@ -1173,9 +1173,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.7.tgz", - "integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.8.tgz", + "integrity": "sha512-s+VSSD+TfZeMEsCaFaHTaY5YNj3Dri8rST09gMvYQKwPphacRG7wbuQ5ZJMIJXN/puxPcg/nU+ucvWguPpvBDg==", "cpu": [ "x64" ], @@ -1190,9 +1190,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.7.tgz", - "integrity": "sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.8.tgz", + "integrity": "sha512-CXBPVFkpDjM67sS1psWohZ6g/2/cd+cq56vPxK4JeawelxwK4YECgl9Y9TjkE2qfF+9/s1tHHJqrC4SS6cVvSg==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -1211,7 +1211,7 @@ "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@emnapi/wasi-threads": "^1.0.2", - "@napi-rs/wasm-runtime": "^0.2.9", + "@napi-rs/wasm-runtime": "^0.2.10", "@tybys/wasm-util": "^0.9.0", "tslib": "^2.8.0" }, @@ -1251,14 +1251,14 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.9", + "version": "0.2.10", "dev": true, "inBundle": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.0", - "@emnapi/runtime": "^1.4.0", + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.9.0" } }, @@ -1280,9 +1280,9 @@ "optional": true }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.7.tgz", - "integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.8.tgz", + "integrity": "sha512-7GmYk1n28teDHUjPlIx4Z6Z4hHEgvP5ZW2QS9ygnDAdI/myh3HTHjDqtSqgu1BpRoI4OiLx+fThAyA1JePoENA==", "cpu": [ "arm64" ], @@ -1297,9 +1297,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.7.tgz", - "integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.8.tgz", + "integrity": "sha512-fou+U20j+Jl0EHwK92spoWISON2OBnCazIc038Xj2TdweYV33ZRkS9nwqiUi2d/Wba5xg5UoHfvynnb/UB49cQ==", "cpu": [ "x64" ], @@ -1330,15 +1330,15 @@ } }, "node_modules/@tailwindcss/vite": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.7.tgz", - "integrity": "sha512-tYa2fO3zDe41I7WqijyVbRd8oWT0aEID1Eokz5hMT6wShLIHj3yvwj9XbfuloHP9glZ6H+aG2AN/+ZrxJ1Y5RQ==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.8.tgz", + "integrity": "sha512-CQ+I8yxNV5/6uGaJjiuymgw0kEQiNKRinYbZXPdx1fk5WgiyReG0VaUx/Xq6aVNSUNJFzxm6o8FNKS5aMaim5A==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.7", - "@tailwindcss/oxide": "4.1.7", - "tailwindcss": "4.1.7" + "@tailwindcss/node": "4.1.8", + "@tailwindcss/oxide": "4.1.8", + "tailwindcss": "4.1.8" }, "peerDependencies": { "vite": "^5.2.0 || ^6" @@ -2336,16 +2336,16 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.7.tgz", - "integrity": "sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.8.tgz", + "integrity": "sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==", "dev": true, "license": "MIT" }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", "dev": true, "license": "MIT", "engines": { From bb07c91d11c6dd7264c7462eb24f49bc33dc9268 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 08:55:07 +0200 Subject: [PATCH 050/126] Bump laravel-vite-plugin in the js-dependencies group (#1299) Bumps the js-dependencies group with 1 update: [laravel-vite-plugin](https://github.com/laravel/vite-plugin). Updates `laravel-vite-plugin` from 1.2.0 to 1.3.0 - [Release notes](https://github.com/laravel/vite-plugin/releases) - [Changelog](https://github.com/laravel/vite-plugin/blob/1.x/CHANGELOG.md) - [Commits](https://github.com/laravel/vite-plugin/compare/v1.2.0...v1.3.0) --- updated-dependencies: - dependency-name: laravel-vite-plugin dependency-version: 1.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: js-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e1563d136..8911eea2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1802,9 +1802,9 @@ } }, "node_modules/laravel-vite-plugin": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.2.0.tgz", - "integrity": "sha512-R0pJ+IcTVeqEMoKz/B2Ij57QVq3sFTABiFmb06gAwFdivbOgsUtuhX6N2MGLEArajrS3U5JbberzwOe7uXHMHQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.3.0.tgz", + "integrity": "sha512-P5qyG56YbYxM8OuYmK2OkhcKe0AksNVJUjq9LUZ5tOekU9fBn9LujYyctI4t9XoLjuMvHJXXpCoPntY1oKltuA==", "dev": true, "license": "MIT", "dependencies": { From e830f09a2c6d7f9a0f19f9ba6fc36cfb7b37eecd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 08:55:17 +0200 Subject: [PATCH 051/126] Bump the php-dependencies group with 4 updates (#1298) Bumps the php-dependencies group with 4 updates: [algolia/scout-extended](https://github.com/algolia/scout-extended), [laravel/framework](https://github.com/laravel/framework), [ramsey/uuid](https://github.com/ramsey/uuid) and [sentry/sentry-laravel](https://github.com/getsentry/sentry-laravel). Updates `algolia/scout-extended` from 3.2.1 to 3.2.2 - [Release notes](https://github.com/algolia/scout-extended/releases) - [Changelog](https://github.com/algolia/scout-extended/blob/master/CHANGELOG.md) - [Commits](https://github.com/algolia/scout-extended/compare/v3.2.1...v3.2.2) Updates `laravel/framework` from 11.45.0 to 11.45.1 - [Release notes](https://github.com/laravel/framework/releases) - [Changelog](https://github.com/laravel/framework/blob/12.x/CHANGELOG.md) - [Commits](https://github.com/laravel/framework/compare/v11.45.0...v11.45.1) Updates `ramsey/uuid` from 4.7.6 to 4.8.1 - [Release notes](https://github.com/ramsey/uuid/releases) - [Changelog](https://github.com/ramsey/uuid/blob/4.x/CHANGELOG.md) - [Commits](https://github.com/ramsey/uuid/compare/4.7.6...4.8.1) Updates `sentry/sentry-laravel` from 4.13.0 to 4.14.0 - [Release notes](https://github.com/getsentry/sentry-laravel/releases) - [Changelog](https://github.com/getsentry/sentry-laravel/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-laravel/compare/4.13.0...4.14.0) --- updated-dependencies: - dependency-name: algolia/scout-extended dependency-version: 3.2.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: laravel/framework dependency-version: 11.45.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: ramsey/uuid dependency-version: 4.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: sentry/sentry-laravel dependency-version: 4.14.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 119 ++++++++++++++++++++++---------------------------- 1 file changed, 53 insertions(+), 66 deletions(-) diff --git a/composer.lock b/composer.lock index 844c5c7d6..914667c02 100644 --- a/composer.lock +++ b/composer.lock @@ -144,16 +144,16 @@ }, { "name": "algolia/scout-extended", - "version": "v3.2.1", + "version": "v3.2.2", "source": { "type": "git", "url": "https://github.com/algolia/scout-extended.git", - "reference": "f772f719f5b85670461195824c28f9530137bb28" + "reference": "ef047089c8570b53f0afad962426dd0c57a23727" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/algolia/scout-extended/zipball/f772f719f5b85670461195824c28f9530137bb28", - "reference": "f772f719f5b85670461195824c28f9530137bb28", + "url": "https://api.github.com/repos/algolia/scout-extended/zipball/ef047089c8570b53f0afad962426dd0c57a23727", + "reference": "ef047089c8570b53f0afad962426dd0c57a23727", "shasum": "" }, "require": { @@ -219,9 +219,9 @@ ], "support": { "issues": "https://github.com/algolia/scout-extended/issues", - "source": "https://github.com/algolia/scout-extended/tree/v3.2.1" + "source": "https://github.com/algolia/scout-extended/tree/v3.2.2" }, - "time": "2025-04-16T09:34:44+00:00" + "time": "2025-06-04T07:46:41+00:00" }, { "name": "aws/aws-crt-php", @@ -2323,16 +2323,16 @@ }, { "name": "laravel/framework", - "version": "v11.45.0", + "version": "v11.45.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "d0730deb427632004d24801be7ca1ed2c10fbc4e" + "reference": "b09ba32795b8e71df10856a2694706663984a239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d0730deb427632004d24801be7ca1ed2c10fbc4e", - "reference": "d0730deb427632004d24801be7ca1ed2c10fbc4e", + "url": "https://api.github.com/repos/laravel/framework/zipball/b09ba32795b8e71df10856a2694706663984a239", + "reference": "b09ba32795b8e71df10856a2694706663984a239", "shasum": "" }, "require": { @@ -2534,7 +2534,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-05-20T15:15:58+00:00" + "time": "2025-06-03T14:01:40+00:00" }, { "name": "laravel/horizon", @@ -4549,16 +4549,16 @@ }, { "name": "nette/utils", - "version": "v4.0.6", + "version": "v4.0.7", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "ce708655043c7050eb050df361c5e313cf708309" + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/ce708655043c7050eb050df361c5e313cf708309", - "reference": "ce708655043c7050eb050df361c5e313cf708309", + "url": "https://api.github.com/repos/nette/utils/zipball/e67c4061eb40b9c113b218214e42cb5a0dda28f2", + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2", "shasum": "" }, "require": { @@ -4629,9 +4629,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.6" + "source": "https://github.com/nette/utils/tree/v4.0.7" }, - "time": "2025-03-30T21:06:30+00:00" + "time": "2025-06-03T04:55:08+00:00" }, { "name": "nicmart/tree", @@ -5996,20 +5996,20 @@ }, { "name": "ramsey/uuid", - "version": "4.7.6", + "version": "4.8.1", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + "reference": "fdf4dd4e2ff1813111bd0ad58d7a1ddbb5b56c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fdf4dd4e2ff1813111bd0ad58d7a1ddbb5b56c28", + "reference": "fdf4dd4e2ff1813111bd0ad58d7a1ddbb5b56c28", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", "ext-json": "*", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" @@ -6018,26 +6018,23 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "captainhook/captainhook": "^5.10", + "captainhook/captainhook": "^5.25", "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -6072,19 +6069,9 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" + "source": "https://github.com/ramsey/uuid/tree/4.8.1" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2024-04-27T21:32:50+00:00" + "time": "2025-06-01T06:28:46+00:00" }, { "name": "riimu/kit-phpencoder", @@ -6226,16 +6213,16 @@ }, { "name": "sentry/sentry-laravel", - "version": "4.13.0", + "version": "4.14.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "d232ac494258e0d50a77c575a5af5f1a426d3f87" + "reference": "d0b285c118910a81d845831a2290fd50a482d59f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/d232ac494258e0d50a77c575a5af5f1a426d3f87", - "reference": "d232ac494258e0d50a77c575a5af5f1a426d3f87", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/d0b285c118910a81d845831a2290fd50a482d59f", + "reference": "d0b285c118910a81d845831a2290fd50a482d59f", "shasum": "" }, "require": { @@ -6299,7 +6286,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/4.13.0" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.14.0" }, "funding": [ { @@ -6311,7 +6298,7 @@ "type": "custom" } ], - "time": "2025-02-18T10:09:29+00:00" + "time": "2025-06-02T08:31:09+00:00" }, { "name": "spatie/backtrace", @@ -8520,16 +8507,16 @@ }, { "name": "symfony/options-resolver", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50" + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50", - "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca", + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca", "shasum": "" }, "require": { @@ -8567,7 +8554,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.2.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.3.0" }, "funding": [ { @@ -8583,7 +8570,7 @@ "type": "tidelift" } ], - "time": "2024-11-20T11:17:29+00:00" + "time": "2025-04-04T13:12:05+00:00" }, { "name": "symfony/polyfill-ctype", @@ -9285,7 +9272,7 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", @@ -9348,7 +9335,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.2.0" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.3.0" }, "funding": [ { From c13e006c6ca8d157c730fc594391246eb7b6bb79 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 15:20:11 +0200 Subject: [PATCH 052/126] Bump the php-dependencies group with 3 updates (#1301) Bumps the php-dependencies group with 3 updates: [laravel/horizon](https://github.com/laravel/horizon), [sentry/sentry-laravel](https://github.com/getsentry/sentry-laravel) and [nunomaduro/collision](https://github.com/nunomaduro/collision). Updates `laravel/horizon` from 5.32.1 to 5.33.0 - [Release notes](https://github.com/laravel/horizon/releases) - [Changelog](https://github.com/laravel/horizon/blob/5.x/CHANGELOG.md) - [Commits](https://github.com/laravel/horizon/compare/v5.32.1...v5.33.0) Updates `sentry/sentry-laravel` from 4.14.0 to 4.15.0 - [Release notes](https://github.com/getsentry/sentry-laravel/releases) - [Changelog](https://github.com/getsentry/sentry-laravel/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-laravel/compare/4.14.0...4.15.0) Updates `nunomaduro/collision` from 8.8.0 to 8.8.1 - [Commits](https://github.com/nunomaduro/collision/compare/v8.8.0...v8.8.1) --- updated-dependencies: - dependency-name: laravel/horizon dependency-version: 5.33.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: sentry/sentry-laravel dependency-version: 4.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: nunomaduro/collision dependency-version: 8.8.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 107 +++++++++++++++++++++++++------------------------- 1 file changed, 53 insertions(+), 54 deletions(-) diff --git a/composer.lock b/composer.lock index 914667c02..5250f9421 100644 --- a/composer.lock +++ b/composer.lock @@ -2538,16 +2538,16 @@ }, { "name": "laravel/horizon", - "version": "v5.32.1", + "version": "v5.33.0", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "e78d9689d85b3d4769dc64def5eb6d94e5776beb" + "reference": "39eaabd96c572fd2613ebb14259372bfdcbc4575" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/e78d9689d85b3d4769dc64def5eb6d94e5776beb", - "reference": "e78d9689d85b3d4769dc64def5eb6d94e5776beb", + "url": "https://api.github.com/repos/laravel/horizon/zipball/39eaabd96c572fd2613ebb14259372bfdcbc4575", + "reference": "39eaabd96c572fd2613ebb14259372bfdcbc4575", "shasum": "" }, "require": { @@ -2612,9 +2612,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.32.1" + "source": "https://github.com/laravel/horizon/tree/v5.33.0" }, - "time": "2025-05-19T13:13:30+00:00" + "time": "2025-06-09T17:42:02+00:00" }, { "name": "laravel/nightwatch", @@ -4381,16 +4381,16 @@ }, { "name": "nesbot/carbon", - "version": "3.9.1", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "ced71f79398ece168e24f7f7710462f462310d4d" + "reference": "c1397390dd0a7e0f11660f0ae20f753d88c1f3d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ced71f79398ece168e24f7f7710462f462310d4d", - "reference": "ced71f79398ece168e24f7f7710462f462310d4d", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/c1397390dd0a7e0f11660f0ae20f753d88c1f3d9", + "reference": "c1397390dd0a7e0f11660f0ae20f753d88c1f3d9", "shasum": "" }, "require": { @@ -4398,9 +4398,9 @@ "ext-json": "*", "php": "^8.1", "psr/clock": "^1.0", - "symfony/clock": "^6.3 || ^7.0", + "symfony/clock": "^6.3.12 || ^7.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0" + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0" }, "provide": { "psr/clock-implementation": "1.0" @@ -4408,14 +4408,13 @@ "require-dev": { "doctrine/dbal": "^3.6.3 || ^4.0", "doctrine/orm": "^2.15.2 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.57.2", + "friendsofphp/php-cs-fixer": "^3.75.0", "kylekatarnls/multi-tester": "^2.5.3", - "ondrejmirtes/better-reflection": "^6.25.0.4", "phpmd/phpmd": "^2.15.0", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.11.2", - "phpunit/phpunit": "^10.5.20", - "squizlabs/php_codesniffer": "^3.9.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.17", + "phpunit/phpunit": "^10.5.46", + "squizlabs/php_codesniffer": "^3.13.0" }, "bin": [ "bin/carbon" @@ -4483,7 +4482,7 @@ "type": "tidelift" } ], - "time": "2025-05-01T19:51:51+00:00" + "time": "2025-06-12T10:24:28+00:00" }, { "name": "nette/schema", @@ -6124,16 +6123,16 @@ }, { "name": "sentry/sentry", - "version": "4.11.1", + "version": "4.13.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "53dc0bcb6a667cac5b760b46f98d5380e63e02ca" + "reference": "b54a0eaedfc27fc2da587e64455a66cd29cd3c4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/53dc0bcb6a667cac5b760b46f98d5380e63e02ca", - "reference": "53dc0bcb6a667cac5b760b46f98d5380e63e02ca", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/b54a0eaedfc27fc2da587e64455a66cd29cd3c4d", + "reference": "b54a0eaedfc27fc2da587e64455a66cd29cd3c4d", "shasum": "" }, "require": { @@ -6197,7 +6196,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/4.11.1" + "source": "https://github.com/getsentry/sentry-php/tree/4.13.0" }, "funding": [ { @@ -6209,27 +6208,27 @@ "type": "custom" } ], - "time": "2025-05-12T11:30:33+00:00" + "time": "2025-06-10T15:39:27+00:00" }, { "name": "sentry/sentry-laravel", - "version": "4.14.0", + "version": "4.15.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "d0b285c118910a81d845831a2290fd50a482d59f" + "reference": "481398f05e4b0f5886f6092e1b95b626a438deff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/d0b285c118910a81d845831a2290fd50a482d59f", - "reference": "d0b285c118910a81d845831a2290fd50a482d59f", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/481398f05e4b0f5886f6092e1b95b626a438deff", + "reference": "481398f05e4b0f5886f6092e1b95b626a438deff", "shasum": "" }, "require": { "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", "nyholm/psr7": "^1.0", "php": "^7.2 | ^8.0", - "sentry/sentry": "^4.10", + "sentry/sentry": "^4.13", "symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0" }, "require-dev": { @@ -6286,7 +6285,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/4.14.0" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.15.0" }, "funding": [ { @@ -6298,7 +6297,7 @@ "type": "custom" } ], - "time": "2025-06-02T08:31:09+00:00" + "time": "2025-06-12T20:56:36+00:00" }, { "name": "spatie/backtrace", @@ -10476,16 +10475,16 @@ }, { "name": "filp/whoops", - "version": "2.18.0", + "version": "2.18.2", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e" + "reference": "89dabca1490bc77dbcab41c2b20968c7e44bf7c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", - "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", + "url": "https://api.github.com/repos/filp/whoops/zipball/89dabca1490bc77dbcab41c2b20968c7e44bf7c3", + "reference": "89dabca1490bc77dbcab41c2b20968c7e44bf7c3", "shasum": "" }, "require": { @@ -10535,7 +10534,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.18.0" + "source": "https://github.com/filp/whoops/tree/2.18.2" }, "funding": [ { @@ -10543,7 +10542,7 @@ "type": "github" } ], - "time": "2025-03-15T12:00:00+00:00" + "time": "2025-06-11T20:42:19+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -10741,23 +10740,23 @@ }, { "name": "nunomaduro/collision", - "version": "v8.8.0", + "version": "v8.8.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "4cf9f3b47afff38b139fb79ce54fc71799022ce8" + "reference": "44ccb82e3e21efb5446748d2a3c81a030ac22bd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/4cf9f3b47afff38b139fb79ce54fc71799022ce8", - "reference": "4cf9f3b47afff38b139fb79ce54fc71799022ce8", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/44ccb82e3e21efb5446748d2a3c81a030ac22bd5", + "reference": "44ccb82e3e21efb5446748d2a3c81a030ac22bd5", "shasum": "" }, "require": { - "filp/whoops": "^2.18.0", - "nunomaduro/termwind": "^2.3.0", + "filp/whoops": "^2.18.1", + "nunomaduro/termwind": "^2.3.1", "php": "^8.2.0", - "symfony/console": "^7.2.5" + "symfony/console": "^7.3.0" }, "conflict": { "laravel/framework": "<11.44.2 || >=13.0.0", @@ -10765,15 +10764,15 @@ }, "require-dev": { "brianium/paratest": "^7.8.3", - "larastan/larastan": "^3.2", - "laravel/framework": "^11.44.2 || ^12.6", - "laravel/pint": "^1.21.2", - "laravel/sail": "^1.41.0", - "laravel/sanctum": "^4.0.8", + "larastan/larastan": "^3.4.2", + "laravel/framework": "^11.44.2 || ^12.18", + "laravel/pint": "^1.22.1", + "laravel/sail": "^1.43.1", + "laravel/sanctum": "^4.1.1", "laravel/tinker": "^2.10.1", - "orchestra/testbench-core": "^9.12.0 || ^10.1", - "pestphp/pest": "^3.8.0", - "sebastian/environment": "^7.2.0 || ^8.0" + "orchestra/testbench-core": "^9.12.0 || ^10.4", + "pestphp/pest": "^3.8.2", + "sebastian/environment": "^7.2.1 || ^8.0" }, "type": "library", "extra": { @@ -10836,7 +10835,7 @@ "type": "patreon" } ], - "time": "2025-04-03T14:33:09+00:00" + "time": "2025-06-11T01:04:21+00:00" }, { "name": "pestphp/pest", From cb7a41b152a575bc511264913b18574f60ad3afb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 15:20:21 +0200 Subject: [PATCH 053/126] Bump the js-dependencies group with 2 updates (#1300) Bumps the js-dependencies group with 2 updates: [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss). Updates `@tailwindcss/vite` from 4.1.8 to 4.1.10 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.10/packages/@tailwindcss-vite) Updates `tailwindcss` from 4.1.8 to 4.1.10 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.10/packages/tailwindcss) --- updated-dependencies: - dependency-name: "@tailwindcss/vite" dependency-version: 4.1.10 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies - dependency-name: tailwindcss dependency-version: 4.1.10 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 128 +++++++++++++++++++++++----------------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8911eea2a..b17b0fb06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -992,9 +992,9 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.8.tgz", - "integrity": "sha512-OWwBsbC9BFAJelmnNcrKuf+bka2ZxCE2A4Ft53Tkg4uoiE67r/PMEYwCsourC26E+kmxfwE0hVzMdxqeW+xu7Q==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.10.tgz", + "integrity": "sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1004,13 +1004,13 @@ "lightningcss": "1.30.1", "magic-string": "^0.30.17", "source-map-js": "^1.2.1", - "tailwindcss": "4.1.8" + "tailwindcss": "4.1.10" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.8.tgz", - "integrity": "sha512-d7qvv9PsM5N3VNKhwVUhpK6r4h9wtLkJ6lz9ZY9aeZgrUWk1Z8VPyqyDT9MZlem7GTGseRQHkeB1j3tC7W1P+A==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.10.tgz", + "integrity": "sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1022,24 +1022,24 @@ "node": ">= 10" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.8", - "@tailwindcss/oxide-darwin-arm64": "4.1.8", - "@tailwindcss/oxide-darwin-x64": "4.1.8", - "@tailwindcss/oxide-freebsd-x64": "4.1.8", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.8", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.8", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.8", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.8", - "@tailwindcss/oxide-linux-x64-musl": "4.1.8", - "@tailwindcss/oxide-wasm32-wasi": "4.1.8", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.8", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.8" + "@tailwindcss/oxide-android-arm64": "4.1.10", + "@tailwindcss/oxide-darwin-arm64": "4.1.10", + "@tailwindcss/oxide-darwin-x64": "4.1.10", + "@tailwindcss/oxide-freebsd-x64": "4.1.10", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.10", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.10", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.10", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.10", + "@tailwindcss/oxide-linux-x64-musl": "4.1.10", + "@tailwindcss/oxide-wasm32-wasi": "4.1.10", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.10", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.10" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.8.tgz", - "integrity": "sha512-Fbz7qni62uKYceWYvUjRqhGfZKwhZDQhlrJKGtnZfuNtHFqa8wmr+Wn74CTWERiW2hn3mN5gTpOoxWKk0jRxjg==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.10.tgz", + "integrity": "sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==", "cpu": [ "arm64" ], @@ -1054,9 +1054,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.8.tgz", - "integrity": "sha512-RdRvedGsT0vwVVDztvyXhKpsU2ark/BjgG0huo4+2BluxdXo8NDgzl77qh0T1nUxmM11eXwR8jA39ibvSTbi7A==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.10.tgz", + "integrity": "sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==", "cpu": [ "arm64" ], @@ -1071,9 +1071,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.8.tgz", - "integrity": "sha512-t6PgxjEMLp5Ovf7uMb2OFmb3kqzVTPPakWpBIFzppk4JE4ix0yEtbtSjPbU8+PZETpaYMtXvss2Sdkx8Vs4XRw==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.10.tgz", + "integrity": "sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==", "cpu": [ "x64" ], @@ -1088,9 +1088,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.8.tgz", - "integrity": "sha512-g8C8eGEyhHTqwPStSwZNSrOlyx0bhK/V/+zX0Y+n7DoRUzyS8eMbVshVOLJTDDC+Qn9IJnilYbIKzpB9n4aBsg==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.10.tgz", + "integrity": "sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==", "cpu": [ "x64" ], @@ -1105,9 +1105,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.8.tgz", - "integrity": "sha512-Jmzr3FA4S2tHhaC6yCjac3rGf7hG9R6Gf2z9i9JFcuyy0u79HfQsh/thifbYTF2ic82KJovKKkIB6Z9TdNhCXQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.10.tgz", + "integrity": "sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==", "cpu": [ "arm" ], @@ -1122,9 +1122,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.8.tgz", - "integrity": "sha512-qq7jXtO1+UEtCmCeBBIRDrPFIVI4ilEQ97qgBGdwXAARrUqSn/L9fUrkb1XP/mvVtoVeR2bt/0L77xx53bPZ/Q==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.10.tgz", + "integrity": "sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==", "cpu": [ "arm64" ], @@ -1139,9 +1139,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.8.tgz", - "integrity": "sha512-O6b8QesPbJCRshsNApsOIpzKt3ztG35gfX9tEf4arD7mwNinsoCKxkj8TgEE0YRjmjtO3r9FlJnT/ENd9EVefQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.10.tgz", + "integrity": "sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==", "cpu": [ "arm64" ], @@ -1156,9 +1156,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.8.tgz", - "integrity": "sha512-32iEXX/pXwikshNOGnERAFwFSfiltmijMIAbUhnNyjFr3tmWmMJWQKU2vNcFX0DACSXJ3ZWcSkzNbaKTdngH6g==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.10.tgz", + "integrity": "sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==", "cpu": [ "x64" ], @@ -1173,9 +1173,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.8.tgz", - "integrity": "sha512-s+VSSD+TfZeMEsCaFaHTaY5YNj3Dri8rST09gMvYQKwPphacRG7wbuQ5ZJMIJXN/puxPcg/nU+ucvWguPpvBDg==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.10.tgz", + "integrity": "sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==", "cpu": [ "x64" ], @@ -1190,9 +1190,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.8.tgz", - "integrity": "sha512-CXBPVFkpDjM67sS1psWohZ6g/2/cd+cq56vPxK4JeawelxwK4YECgl9Y9TjkE2qfF+9/s1tHHJqrC4SS6cVvSg==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.10.tgz", + "integrity": "sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -1280,9 +1280,9 @@ "optional": true }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.8.tgz", - "integrity": "sha512-7GmYk1n28teDHUjPlIx4Z6Z4hHEgvP5ZW2QS9ygnDAdI/myh3HTHjDqtSqgu1BpRoI4OiLx+fThAyA1JePoENA==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.10.tgz", + "integrity": "sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==", "cpu": [ "arm64" ], @@ -1297,9 +1297,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.8.tgz", - "integrity": "sha512-fou+U20j+Jl0EHwK92spoWISON2OBnCazIc038Xj2TdweYV33ZRkS9nwqiUi2d/Wba5xg5UoHfvynnb/UB49cQ==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.10.tgz", + "integrity": "sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==", "cpu": [ "x64" ], @@ -1330,15 +1330,15 @@ } }, "node_modules/@tailwindcss/vite": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.8.tgz", - "integrity": "sha512-CQ+I8yxNV5/6uGaJjiuymgw0kEQiNKRinYbZXPdx1fk5WgiyReG0VaUx/Xq6aVNSUNJFzxm6o8FNKS5aMaim5A==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.10.tgz", + "integrity": "sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.8", - "@tailwindcss/oxide": "4.1.8", - "tailwindcss": "4.1.8" + "@tailwindcss/node": "4.1.10", + "@tailwindcss/oxide": "4.1.10", + "tailwindcss": "4.1.10" }, "peerDependencies": { "vite": "^5.2.0 || ^6" @@ -2336,9 +2336,9 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.8.tgz", - "integrity": "sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.10.tgz", + "integrity": "sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==", "dev": true, "license": "MIT" }, From 7a3d7b12e7588e0640cc38eaa33a93f4cb32f083 Mon Sep 17 00:00:00 2001 From: Shaung Bhone <56265471+ShaungBhone@users.noreply.github.com> Date: Tue, 17 Jun 2025 02:01:52 +0700 Subject: [PATCH 054/126] Fix z-index issue in search modal and clean up template structure (#1305) * Fix z-index issue in search modal and clean up template structure * back to reformat * wip --------- Co-authored-by: Dries Vints --- resources/views/_partials/_search.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/_partials/_search.blade.php b/resources/views/_partials/_search.blade.php index 92a5962c5..61b110406 100644 --- a/resources/views/_partials/_search.blade.php +++ b/resources/views/_partials/_search.blade.php @@ -1,6 +1,6 @@ From 97e11e4d261df808fb18dbc13f25080bd972b443 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 12 Sep 2025 12:29:13 +0200 Subject: [PATCH 111/126] Fix responsive issue --- resources/views/forum/overview.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/forum/overview.blade.php b/resources/views/forum/overview.blade.php index 805ad7bdc..45523a4c0 100644 --- a/resources/views/forum/overview.blade.php +++ b/resources/views/forum/overview.blade.php @@ -8,7 +8,7 @@
    -
    +

    Forum @@ -20,7 +20,7 @@

    -

    +

    {{ number_format($threads->total()) }} Threads

    From b8a3009603d5f5d039c91b434d7d10deb85bc93c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 12:19:41 +0200 Subject: [PATCH 112/126] Bump the php-dependencies group with 4 updates (#1364) Bumps the php-dependencies group with 4 updates: [codeat3/blade-simple-icons](https://github.com/codeat3/blade-simple-icons), [laravel/horizon](https://github.com/laravel/horizon), [laravel/nightwatch](https://github.com/laravel/nightwatch) and [livewire/flux](https://github.com/livewire/flux). Updates `codeat3/blade-simple-icons` from 7.9.0 to 7.15.0 - [Release notes](https://github.com/codeat3/blade-simple-icons/releases) - [Changelog](https://github.com/codeat3/blade-simple-icons/blob/main/CHANGELOG.md) - [Commits](https://github.com/codeat3/blade-simple-icons/compare/7.9.0...7.15.0) Updates `laravel/horizon` from 5.33.5 to 5.34.0 - [Release notes](https://github.com/laravel/horizon/releases) - [Changelog](https://github.com/laravel/horizon/blob/5.x/CHANGELOG.md) - [Commits](https://github.com/laravel/horizon/compare/v5.33.5...v5.34.0) Updates `laravel/nightwatch` from 1.13.4 to 1.13.6 - [Release notes](https://github.com/laravel/nightwatch/releases) - [Changelog](https://github.com/laravel/nightwatch/blob/1.x/CHANGELOG.md) - [Commits](https://github.com/laravel/nightwatch/compare/v1.13.4...v1.13.6) Updates `livewire/flux` from 2.3.2 to 2.4.0 - [Release notes](https://github.com/livewire/flux/releases) - [Commits](https://github.com/livewire/flux/compare/v2.3.2...v2.4.0) --- updated-dependencies: - dependency-name: codeat3/blade-simple-icons dependency-version: 7.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: laravel/horizon dependency-version: 5.34.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: laravel/nightwatch dependency-version: 1.13.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: livewire/flux dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/composer.lock b/composer.lock index 2c30980ef..350523b93 100644 --- a/composer.lock +++ b/composer.lock @@ -655,16 +655,16 @@ }, { "name": "codeat3/blade-simple-icons", - "version": "7.9.0", + "version": "7.15.0", "source": { "type": "git", "url": "https://github.com/codeat3/blade-simple-icons.git", - "reference": "bc67fef6a05741e0606574219b5942b0e68a0ec3" + "reference": "22780d678eb64758f6eed93768edb2c45f4920d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeat3/blade-simple-icons/zipball/bc67fef6a05741e0606574219b5942b0e68a0ec3", - "reference": "bc67fef6a05741e0606574219b5942b0e68a0ec3", + "url": "https://api.github.com/repos/codeat3/blade-simple-icons/zipball/22780d678eb64758f6eed93768edb2c45f4920d0", + "reference": "22780d678eb64758f6eed93768edb2c45f4920d0", "shasum": "" }, "require": { @@ -714,7 +714,7 @@ ], "support": { "issues": "https://github.com/codeat3/blade-simple-icons/issues", - "source": "https://github.com/codeat3/blade-simple-icons/tree/7.9.0" + "source": "https://github.com/codeat3/blade-simple-icons/tree/7.15.0" }, "funding": [ { @@ -722,7 +722,7 @@ "type": "github" } ], - "time": "2025-08-06T09:24:01+00:00" + "time": "2025-09-17T10:30:03+00:00" }, { "name": "composer/ca-bundle", @@ -2537,16 +2537,16 @@ }, { "name": "laravel/horizon", - "version": "v5.33.5", + "version": "v5.34.0", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "ef1c74b8134432eddabbd512e6e61a2e84a13d7a" + "reference": "c110ff6ed494b57beb6b4102a92bb4bf896bb774" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/ef1c74b8134432eddabbd512e6e61a2e84a13d7a", - "reference": "ef1c74b8134432eddabbd512e6e61a2e84a13d7a", + "url": "https://api.github.com/repos/laravel/horizon/zipball/c110ff6ed494b57beb6b4102a92bb4bf896bb774", + "reference": "c110ff6ed494b57beb6b4102a92bb4bf896bb774", "shasum": "" }, "require": { @@ -2611,22 +2611,22 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.33.5" + "source": "https://github.com/laravel/horizon/tree/v5.34.0" }, - "time": "2025-08-31T23:36:14+00:00" + "time": "2025-09-12T15:15:45+00:00" }, { "name": "laravel/nightwatch", - "version": "v1.13.4", + "version": "v1.13.6", "source": { "type": "git", "url": "https://github.com/laravel/nightwatch.git", - "reference": "43488626f89b6f216abde902180a9daaba69928c" + "reference": "0dbf0329e6c99b797a66895f261340ea26c836e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/nightwatch/zipball/43488626f89b6f216abde902180a9daaba69928c", - "reference": "43488626f89b6f216abde902180a9daaba69928c", + "url": "https://api.github.com/repos/laravel/nightwatch/zipball/0dbf0329e6c99b797a66895f261340ea26c836e8", + "reference": "0dbf0329e6c99b797a66895f261340ea26c836e8", "shasum": "" }, "require": { @@ -2644,6 +2644,7 @@ }, "require-dev": { "aws/aws-sdk-php": "^3.349", + "ext-pcntl": "*", "ext-pdo": "*", "guzzlehttp/guzzle": "^7.0", "guzzlehttp/psr7": "^2.0", @@ -2699,7 +2700,7 @@ "issues": "https://github.com/laravel/nightwatch/issues", "source": "https://github.com/laravel/nightwatch" }, - "time": "2025-09-11T02:57:15+00:00" + "time": "2025-09-16T02:23:53+00:00" }, { "name": "laravel/prompts", @@ -3851,16 +3852,16 @@ }, { "name": "livewire/flux", - "version": "v2.3.2", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/livewire/flux.git", - "reference": "e0704b125d5f9544aa32e0cfccb11baaf44d77a0" + "reference": "8d83f34d64ab0542463e8e3feab4d166e1830ed9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/flux/zipball/e0704b125d5f9544aa32e0cfccb11baaf44d77a0", - "reference": "e0704b125d5f9544aa32e0cfccb11baaf44d77a0", + "url": "https://api.github.com/repos/livewire/flux/zipball/8d83f34d64ab0542463e8e3feab4d166e1830ed9", + "reference": "8d83f34d64ab0542463e8e3feab4d166e1830ed9", "shasum": "" }, "require": { @@ -3911,9 +3912,9 @@ ], "support": { "issues": "https://github.com/livewire/flux/issues", - "source": "https://github.com/livewire/flux/tree/v2.3.2" + "source": "https://github.com/livewire/flux/tree/v2.4.0" }, - "time": "2025-09-08T01:11:34+00:00" + "time": "2025-09-16T00:20:10+00:00" }, { "name": "livewire/livewire", From 580a4abf46d13cd65030f1acb5ed03ac8bdecac1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 12:20:16 +0200 Subject: [PATCH 113/126] Bump axios from 1.12.0 to 1.12.2 in the js-dependencies group (#1362) Bumps the js-dependencies group with 1 update: [axios](https://github.com/axios/axios). Updates `axios` from 1.12.0 to 1.12.2 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.12.0...v1.12.2) --- updated-dependencies: - dependency-name: axios dependency-version: 1.12.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4bb55c5df..5a2dc47be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1350,9 +1350,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.0.tgz", - "integrity": "sha512-oXTDccv8PcfjZmPGlWsPSwtOJCZ/b6W5jAMCNcfwJbCzDckwG0jrYJFaWH1yvivfCXjVzV/SPDEhMB3Q+DSurg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", "dev": true, "license": "MIT", "dependencies": { From 5b85454379f23579caf65e323b533a0f1bb76424 Mon Sep 17 00:00:00 2001 From: Hocine Saad Date: Fri, 19 Sep 2025 15:51:31 +0100 Subject: [PATCH 114/126] Filament admin (#1344) --- .../Resources/Articles/ArticleResource.php | 39 + .../Resources/Articles/Pages/ListArticles.php | 16 + .../Articles/Tables/ArticlesTable.php | 56 + .../Resources/Replies/Pages/ListReplies.php | 18 + .../Resources/Replies/ReplyResource.php | 49 + .../Resources/Replies/Tables/RepliesTable.php | 85 + .../Resources/Users/Pages/ListUsers.php | 18 + .../Resources/Users/Tables/UsersTable.php | 188 ++ app/Filament/Resources/Users/UserResource.php | 39 + .../Widgets/ArticlesStatsOverview.php | 66 + app/Filament/Widgets/ArticlesTrendChart.php | 42 + app/Filament/Widgets/RepliesStatsOverview.php | 52 + app/Filament/Widgets/RepliesTrendChart.php | 42 + app/Filament/Widgets/UsersStatsOverview.php | 53 + app/Filament/Widgets/UsersTrendChart.php | 42 + .../Controllers/Admin/ArticlesController.php | 15 - .../Controllers/Admin/RepliesController.php | 21 - .../Controllers/Admin/UsersController.php | 60 - app/Jobs/BanUser.php | 6 +- app/Jobs/DeleteUserThreads.php | 6 +- app/Jobs/UnbanUser.php | 6 +- ...otifications.php => UserNotifications.php} | 4 +- app/Models/User.php | 11 +- app/Providers/Filament/AdminPanelProvider.php | 78 + bootstrap/providers.php | 3 +- composer.json | 8 +- composer.lock | 2486 +++++++++++++++-- resources/views/admin/articles.blade.php | 84 - .../admin/partials/_navigation.blade.php | 48 - resources/views/admin/replies.blade.php | 93 - resources/views/admin/users.blade.php | 138 - resources/views/layouts/_nav.blade.php | 2 +- ...blade.php => user-notifications.blade.php} | 0 resources/views/users/notifications.blade.php | 2 +- routes/web.php | 16 +- tests/Feature/AdminTest.php | 25 +- tests/Feature/NotificationsTest.php | 16 +- 37 files changed, 3147 insertions(+), 786 deletions(-) create mode 100644 app/Filament/Resources/Articles/ArticleResource.php create mode 100644 app/Filament/Resources/Articles/Pages/ListArticles.php create mode 100644 app/Filament/Resources/Articles/Tables/ArticlesTable.php create mode 100644 app/Filament/Resources/Replies/Pages/ListReplies.php create mode 100644 app/Filament/Resources/Replies/ReplyResource.php create mode 100644 app/Filament/Resources/Replies/Tables/RepliesTable.php create mode 100644 app/Filament/Resources/Users/Pages/ListUsers.php create mode 100644 app/Filament/Resources/Users/Tables/UsersTable.php create mode 100644 app/Filament/Resources/Users/UserResource.php create mode 100644 app/Filament/Widgets/ArticlesStatsOverview.php create mode 100644 app/Filament/Widgets/ArticlesTrendChart.php create mode 100644 app/Filament/Widgets/RepliesStatsOverview.php create mode 100644 app/Filament/Widgets/RepliesTrendChart.php create mode 100644 app/Filament/Widgets/UsersStatsOverview.php create mode 100644 app/Filament/Widgets/UsersTrendChart.php delete mode 100644 app/Http/Controllers/Admin/RepliesController.php rename app/Livewire/{Notifications.php => UserNotifications.php} (92%) create mode 100644 app/Providers/Filament/AdminPanelProvider.php delete mode 100644 resources/views/admin/articles.blade.php delete mode 100644 resources/views/admin/partials/_navigation.blade.php delete mode 100644 resources/views/admin/replies.blade.php delete mode 100644 resources/views/admin/users.blade.php rename resources/views/livewire/{notifications.blade.php => user-notifications.blade.php} (100%) diff --git a/app/Filament/Resources/Articles/ArticleResource.php b/app/Filament/Resources/Articles/ArticleResource.php new file mode 100644 index 000000000..de4b5174a --- /dev/null +++ b/app/Filament/Resources/Articles/ArticleResource.php @@ -0,0 +1,39 @@ + ListArticles::route('/') + ]; + } +} diff --git a/app/Filament/Resources/Articles/Pages/ListArticles.php b/app/Filament/Resources/Articles/Pages/ListArticles.php new file mode 100644 index 000000000..2b985ff8d --- /dev/null +++ b/app/Filament/Resources/Articles/Pages/ListArticles.php @@ -0,0 +1,16 @@ +defaultSort('submitted_at', 'desc') + ->openRecordUrlInNewTab() + ->columns([ + ImageColumn::make('authorRelation.github_id') + ->label('Author') + ->circular() + ->width('1%') + ->defaultImageUrl(fn(?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), + + TextColumn::make('authorRelation.name') + ->label('') + ->description(fn(Article $article): ?string => $article->authorRelation->username), + + TextColumn::make('title') + ->searchable(['title', 'slug', 'body']), + + TextColumn::make('submitted_at') + ->label('Submitted on') + ->dateTime() + ->sortable(), + ]) + ->filters([ + Filter::make('awaiting_approvals') + ->query(fn(Builder $query): Builder => $query->awaitingApproval()) + ->default() + ]) + ->recordActions([ + Action::make('view') + ->url(fn(Article $article): string => route('articles.show', $article->slug())) + ->openUrlInNewTab() + ->icon('heroicon-s-eye'), + ]) + ->toolbarActions([ + // + ]); + } +} diff --git a/app/Filament/Resources/Replies/Pages/ListReplies.php b/app/Filament/Resources/Replies/Pages/ListReplies.php new file mode 100644 index 000000000..26e03bac8 --- /dev/null +++ b/app/Filament/Resources/Replies/Pages/ListReplies.php @@ -0,0 +1,18 @@ + ListReplies::route('/'), + ]; + } + + public static function getRecordRouteBindingEloquentQuery(): Builder + { + return parent::getRecordRouteBindingEloquentQuery() + ->withoutGlobalScopes([ + SoftDeletingScope::class, + ]); + } +} diff --git a/app/Filament/Resources/Replies/Tables/RepliesTable.php b/app/Filament/Resources/Replies/Tables/RepliesTable.php new file mode 100644 index 000000000..8f4736993 --- /dev/null +++ b/app/Filament/Resources/Replies/Tables/RepliesTable.php @@ -0,0 +1,85 @@ +defaultSort('updated_at', 'desc') + ->openRecordUrlInNewTab() + ->columns([ + ImageColumn::make('authorRelation.github_id') + ->label('Author') + ->circular() + ->defaultImageUrl(fn(?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), + + TextColumn::make('authorRelation.name') + ->label('') + ->description(fn(Reply $reply): ?string => $reply->authorRelation->username), + + TextColumn::make('replyAbleRelation.subject') + ->label('Thread') + ->searchable(), + + TextColumn::make('body') + ->label('Content') + ->limit(250) + ->wrap() + ->searchable(), + + IconColumn::make('updated_by') + ->label('Updated') + ->boolean() + ->default(false), + + TextColumn::make('created_at') + ->label('Created on') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + + TextColumn::make('updated_at') + ->label('Last updated on') + ->dateTime() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + TrashedFilter::make(), + + TernaryFilter::make('updated_by') + ->label('Updated') + ->nullable() + ]) + ->recordActions([ + Action::make('view') + ->url(fn(Reply $reply): string => route('thread', $reply->replyAble()->slug()) . '#' . $reply->id()) + ->openUrlInNewTab() + ->icon('heroicon-s-eye'), + + DeleteAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ForceDeleteBulkAction::make(), + RestoreBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Users/Pages/ListUsers.php b/app/Filament/Resources/Users/Pages/ListUsers.php new file mode 100644 index 000000000..9de7f5b08 --- /dev/null +++ b/app/Filament/Resources/Users/Pages/ListUsers.php @@ -0,0 +1,18 @@ +defaultSort('created_at', 'desc') + ->openRecordUrlInNewTab() + ->columns([ + ImageColumn::make('github_id') + ->label('Name') + ->circular() + ->width('0%') + ->defaultImageUrl(fn(?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), + + TextColumn::make('username') + ->label('') + ->searchable() + ->formatStateUsing(fn(User $user): ?string => $user->name) + ->description(fn(User $user): ?string => $user->username), + + TextColumn::make('email') + ->searchable() + ->toggleable(isToggledHiddenByDefault: true), + + TextColumn::make('type') + ->label('Role') + ->badge() + ->formatStateUsing(fn(string $state): string => match ($state) { + '1' => 'User', + '2' => 'Moderator', + '3' => 'Admin', + }), + + IconColumn::make('banned_at') + ->label('Banned') + ->boolean() + ->default(false), + + TextColumn::make('created_at') + ->label('Joined on') + ->dateTime() + ->sortable() + ]) + ->filters([ + SelectFilter::make('type') + ->options([ + '1' => 'User', + '2' => 'Moderator', + '3' => 'Admin', + ]), + + TernaryFilter::make('banned_at') + ->label('Banned') + ->nullable() + ]) + ->recordActions([ + Action::make('view') + ->url(fn(User $user): string => route('profile', $user->username)) + ->openUrlInNewTab() + ->icon('heroicon-s-eye'), + + ActionGroup::make([ + Action::make('verify_author') + ->action(function (User $user) { + VerifyAuthor::dispatchSync($user); + + Notification::make() + ->title($user->name . ' is now a verified author.') + ->success() + ->send(); + }) + ->openUrlInNewTab() + ->color('primary') + ->icon('heroicon-s-check-circle') + ->requiresConfirmation() + ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::ADMIN, $user) && ! $user->isVerifiedAuthor()), + + Action::make('unverify_author') + ->action(function (User $user) { + UnVerifyAuthor::dispatchSync($user); + + Notification::make() + ->title($user->name . '\'s threads have been deleted.') + ->success() + ->send(); + }) + ->openUrlInNewTab() + ->color('danger') + ->icon('heroicon-s-x-circle') + ->requiresConfirmation() + ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::ADMIN, $user) && $user->isVerifiedAuthor()), + + Action::make('ban_author') + ->schema([ + TextInput::make('reason') + ->label('Reason') + ->required() + ->placeholder('Provide a reason for banning this user...'), + + Checkbox::make('delete_threads') + ->label('Delete all threads') + ->default(false), + ]) + ->action(function (User $user, array $data) { + BanUser::dispatchSync($user, $data['reason']); + + if ($data['delete_threads']) { + DeleteUserThreads::dispatchSync($user); + } + + Notification::make() + ->title( + $user->name . ' is now banned.' . ($data['delete_threads'] ? ' And all his threads are now deleted.' : '') + ) + ->success() + ->send(); + }) + ->modalDescription('Are you sure you\'d like to ban this user? This will prevent him from logging in, posting threads and replying to threads.') + ->openUrlInNewTab() + ->color('danger') + ->icon('heroicon-s-check-circle') + ->requiresConfirmation() + ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::BAN, $user) && ! $user->isBanned()), + + Action::make('unban_author') + ->action(function (User $user) { + + UnbanUser::dispatchSync($user); + + Notification::make() + ->title($user->name . ' is no longer a banned user.') + ->success() + ->send(); + }) + ->openUrlInNewTab() + ->color('primary') + ->icon('heroicon-s-x-circle') + ->requiresConfirmation() + ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::BAN, $user) && $user->isBanned()), + + Action::make('delete_threads') + ->action(function (User $user) { + DeleteUserThreads::dispatchSync($user); + + Notification::make() + ->title($user->name . '\'s threads have been deleted.') + ->success() + ->send(); + }) + ->openUrlInNewTab() + ->color('danger') + ->icon('heroicon-s-archive-box-x-mark') + ->requiresConfirmation() + ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::DELETE, $user)), + + DeleteAction::make() + ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::DELETE, $user)), + ]), + ]) + ->toolbarActions([ + // + ]); + } +} diff --git a/app/Filament/Resources/Users/UserResource.php b/app/Filament/Resources/Users/UserResource.php new file mode 100644 index 000000000..34f784bfa --- /dev/null +++ b/app/Filament/Resources/Users/UserResource.php @@ -0,0 +1,39 @@ + ListUsers::route('/'), + ]; + } +} diff --git a/app/Filament/Widgets/ArticlesStatsOverview.php b/app/Filament/Widgets/ArticlesStatsOverview.php new file mode 100644 index 000000000..50d340738 --- /dev/null +++ b/app/Filament/Widgets/ArticlesStatsOverview.php @@ -0,0 +1,66 @@ +remember( + "widgets:articles:total", + now()->addSeconds($cacheTtlSeconds), + fn() => Article::query()->count(), + ); + + $publishedTotal = cache()->remember( + "widgets:articles:published:total", + now()->addSeconds($cacheTtlSeconds), + fn() => Article::query()->published()->count(), + ); + + $publishedWindow = cache()->remember( + "widgets:articles:published:{$window}", + now()->addSeconds($cacheTtlSeconds), + fn() => Article::query() + ->published() + ->where('submitted_at', '>=', now()->subDays($window)) + ->count(), + ); + + $awaiting = cache()->remember( + "widgets:articles:awaiting", + now()->addSeconds(60), + fn() => Article::query()->awaitingApproval()->count(), + ); + + return [ + Stat::make('Articles', number_format($total)) + ->description('Total articles') + ->icon('heroicon-o-newspaper'), + + Stat::make('Published', number_format($publishedTotal)) + ->description('All-time approved') + ->color('success') + ->icon('heroicon-o-check-circle'), + + Stat::make("Published ({$window}d)", number_format($publishedWindow)) + ->description("Approved in last {$window} days") + ->color('info') + ->icon('heroicon-o-check-badge'), + + Stat::make('Awaiting Approval', number_format($awaiting)) + ->description('Submitted but not approved') + ->color('warning') + ->icon('heroicon-o-clock'), + ]; + } +} diff --git a/app/Filament/Widgets/ArticlesTrendChart.php b/app/Filament/Widgets/ArticlesTrendChart.php new file mode 100644 index 000000000..deb925453 --- /dev/null +++ b/app/Filament/Widgets/ArticlesTrendChart.php @@ -0,0 +1,42 @@ +between( + start: now()->startOfYear(), + end: now()->endOfYear(), + ) + ->perMonth() + ->count(); + + return [ + 'datasets' => [ + [ + 'label' => 'Submitted', + 'data' => $data->map(fn(TrendValue $value) => $value->aggregate), + 'tension' => 0.35, + ], + ], + 'labels' => $data->map(fn(TrendValue $value) => Carbon::parse($value->date)->format('M Y')), + ]; + } +} diff --git a/app/Filament/Widgets/RepliesStatsOverview.php b/app/Filament/Widgets/RepliesStatsOverview.php new file mode 100644 index 000000000..1b8b3cb7e --- /dev/null +++ b/app/Filament/Widgets/RepliesStatsOverview.php @@ -0,0 +1,52 @@ +remember( + 'widgets:replies:total', + now()->addSeconds($cacheTtlSeconds), + fn() => Reply::query()->count(), + ); + + $lastWindow = cache()->remember( + "widgets:replies:new:{$window}", + now()->addSeconds($cacheTtlSeconds), + fn() => Reply::query()->where('created_at', '>=', now()->subDays($window))->count(), + ); + + $solutions = cache()->remember( + 'widgets:replies:solutions', + now()->addSeconds($cacheTtlSeconds), + fn() => Reply::query()->isSolution()->count(), + ); + + return [ + Stat::make('Replies', number_format($total)) + ->description('Total replies') + ->icon('heroicon-o-chat-bubble-left-right'), + + Stat::make("New ({$window}d)", number_format($lastWindow)) + ->description("Replies in last {$window} days") + ->color('info') + ->icon('heroicon-o-chat-bubble-left-ellipsis'), + + Stat::make('Solutions', number_format($solutions)) + ->description('Marked as solution') + ->color('success') + ->icon('heroicon-o-sparkles'), + ]; + } +} diff --git a/app/Filament/Widgets/RepliesTrendChart.php b/app/Filament/Widgets/RepliesTrendChart.php new file mode 100644 index 000000000..0fa74870a --- /dev/null +++ b/app/Filament/Widgets/RepliesTrendChart.php @@ -0,0 +1,42 @@ +between( + start: now()->startOfYear(), + end: now()->endOfYear(), + ) + ->perMonth() + ->count(); + + return [ + 'datasets' => [ + [ + 'label' => 'Submitted', + 'data' => $data->map(fn(TrendValue $value) => $value->aggregate), + 'tension' => 0.35, + ], + ], + 'labels' => $data->map(fn(TrendValue $value) => Carbon::parse($value->date)->format('M Y')), + ]; + } +} diff --git a/app/Filament/Widgets/UsersStatsOverview.php b/app/Filament/Widgets/UsersStatsOverview.php new file mode 100644 index 000000000..4e60bc19c --- /dev/null +++ b/app/Filament/Widgets/UsersStatsOverview.php @@ -0,0 +1,53 @@ +remember( + 'widgets:users:total', + now()->addSeconds($cacheTtlSeconds), + fn() => User::query()->count(), + ); + + $lastWindow = cache()->remember( + "widgets:users:new:{$window}", + now()->addSeconds($cacheTtlSeconds), + fn() => User::query()->where('created_at', '>=', now()->subDays($window))->count(), + ); + + $verified = cache()->remember( + 'widgets:users:verified', + now()->addSeconds($cacheTtlSeconds), + fn() => User::query()->whereNotNull('author_verified_at')->count(), + ); + + return [ + Stat::make('Users', number_format($total)) + ->description('Total registered') + ->icon('heroicon-o-users'), + + Stat::make("New ({$window}d)", number_format($lastWindow)) + ->description("Joined in last {$window} days") + ->color('info') + ->icon('heroicon-o-user-plus'), + + Stat::make('Verified Authors', number_format($verified)) + ->description('Users verified as authors') + ->color('success') + ->icon('heroicon-o-check'), + ]; + } +} diff --git a/app/Filament/Widgets/UsersTrendChart.php b/app/Filament/Widgets/UsersTrendChart.php new file mode 100644 index 000000000..680edb9d9 --- /dev/null +++ b/app/Filament/Widgets/UsersTrendChart.php @@ -0,0 +1,42 @@ +between( + start: now()->startOfYear(), + end: now()->endOfYear(), + ) + ->perMonth() + ->count(); + + return [ + 'datasets' => [ + [ + 'label' => 'Submitted', + 'data' => $data->map(fn(TrendValue $value) => $value->aggregate), + 'tension' => 0.35, + ], + ], + 'labels' => $data->map(fn(TrendValue $value) => Carbon::parse($value->date)->format('M Y')), + ]; + } +} diff --git a/app/Http/Controllers/Admin/ArticlesController.php b/app/Http/Controllers/Admin/ArticlesController.php index a8433dc1f..8d928645e 100644 --- a/app/Http/Controllers/Admin/ArticlesController.php +++ b/app/Http/Controllers/Admin/ArticlesController.php @@ -9,10 +9,8 @@ use App\Jobs\DisapproveArticle; use App\Models\Article; use App\Policies\ArticlePolicy; -use App\Queries\SearchArticles; use Illuminate\Auth\Middleware\Authenticate; use Illuminate\Http\RedirectResponse; -use Illuminate\View\View; class ArticlesController extends Controller { @@ -21,19 +19,6 @@ public function __construct() $this->middleware([Authenticate::class, VerifyAdmins::class]); } - public function index(): View - { - if ($adminSearch = request('admin_search')) { - $articles = SearchArticles::get($adminSearch)->appends(['admin_search' => $adminSearch]); - } else { - $articles = Article::awaitingApproval() - ->orderByDesc('submitted_at') - ->paginate(); - } - - return view('admin.articles', compact('articles', 'adminSearch')); - } - public function approve(Article $article): RedirectResponse { $this->authorize(ArticlePolicy::APPROVE, $article); diff --git a/app/Http/Controllers/Admin/RepliesController.php b/app/Http/Controllers/Admin/RepliesController.php deleted file mode 100644 index 50f431a96..000000000 --- a/app/Http/Controllers/Admin/RepliesController.php +++ /dev/null @@ -1,21 +0,0 @@ -appends(['admin_search' => $adminSearch]); - } else { - $replies = Reply::with('replyAbleRelation')->orderByDesc('updated_at')->paginate(); - } - - return view('admin.replies', compact('replies', 'adminSearch')); - } -} diff --git a/app/Http/Controllers/Admin/UsersController.php b/app/Http/Controllers/Admin/UsersController.php index f274e2393..e03c2ecf5 100644 --- a/app/Http/Controllers/Admin/UsersController.php +++ b/app/Http/Controllers/Admin/UsersController.php @@ -6,17 +6,12 @@ use App\Http\Middleware\VerifyAdmins; use App\Http\Requests\BanRequest; use App\Jobs\BanUser; -use App\Jobs\DeleteUser; use App\Jobs\DeleteUserThreads; use App\Jobs\UnbanUser; -use App\Jobs\UnVerifyAuthor; -use App\Jobs\VerifyAuthor; use App\Models\User; use App\Policies\UserPolicy; -use App\Queries\SearchUsers; use Illuminate\Auth\Middleware\Authenticate; use Illuminate\Http\RedirectResponse; -use Illuminate\View\View; class UsersController extends Controller { @@ -25,17 +20,6 @@ public function __construct() $this->middleware([Authenticate::class, VerifyAdmins::class]); } - public function index(): View - { - if ($adminSearch = request('admin_search')) { - $users = SearchUsers::get($adminSearch)->appends(['admin_search' => $adminSearch]); - } else { - $users = User::latest()->paginate(20); - } - - return view('admin.users', compact('users', 'adminSearch')); - } - public function ban(BanRequest $request, User $user): RedirectResponse { $this->authorize(UserPolicy::BAN, $user); @@ -61,48 +45,4 @@ public function unban(User $user): RedirectResponse return redirect()->route('profile', $user->username()); } - - public function verifyAuthor(User $user) - { - $this->authorize(UserPolicy::ADMIN, $user); - - $this->dispatchSync(new VerifyAuthor($user)); - - $this->success($user->name().' was verified!'); - - return redirect()->route('admin.users'); - } - - public function unverifyAuthor(User $user) - { - $this->authorize(UserPolicy::ADMIN, $user); - - $this->dispatchSync(new UnverifyAuthor($user)); - - $this->success($user->name().' was unverified!'); - - return redirect()->route('admin.users'); - } - - public function delete(User $user): RedirectResponse - { - $this->authorize(UserPolicy::DELETE, $user); - - $this->dispatchSync(new DeleteUser($user)); - - $this->success($user->name().' was deleted and all of their content was removed!'); - - return redirect()->route('admin.users'); - } - - public function deleteThreads(User $user): RedirectResponse - { - $this->authorize(UserPolicy::DELETE, $user); - - $this->dispatchSync(new DeleteUserThreads($user)); - - $this->success($user->name().' threads were deleted!'); - - return redirect()->route('admin.users'); - } } diff --git a/app/Jobs/BanUser.php b/app/Jobs/BanUser.php index 50f8288d1..b0fcb5a51 100644 --- a/app/Jobs/BanUser.php +++ b/app/Jobs/BanUser.php @@ -4,9 +4,13 @@ use App\Models\User; use Carbon\Carbon; +use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Foundation\Queue\Queueable; -final class BanUser +final class BanUser implements ShouldQueue { + use Queueable; + public function __construct(private User $user, private $reason) {} public function handle(): void diff --git a/app/Jobs/DeleteUserThreads.php b/app/Jobs/DeleteUserThreads.php index 445b9dc4f..1fc6865eb 100644 --- a/app/Jobs/DeleteUserThreads.php +++ b/app/Jobs/DeleteUserThreads.php @@ -3,9 +3,13 @@ namespace App\Jobs; use App\Models\User; +use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Foundation\Queue\Queueable; -final class DeleteUserThreads +final class DeleteUserThreads implements ShouldQueue { + use Queueable; + public function __construct(private User $user) {} public function handle(): void diff --git a/app/Jobs/UnbanUser.php b/app/Jobs/UnbanUser.php index 49b1bdfb7..2d8d0fd34 100644 --- a/app/Jobs/UnbanUser.php +++ b/app/Jobs/UnbanUser.php @@ -3,9 +3,13 @@ namespace App\Jobs; use App\Models\User; +use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Foundation\Queue\Queueable; -final class UnbanUser +final class UnbanUser implements ShouldQueue { + use Queueable; + public function __construct(private User $user) {} public function handle(): void diff --git a/app/Livewire/Notifications.php b/app/Livewire/UserNotifications.php similarity index 92% rename from app/Livewire/Notifications.php rename to app/Livewire/UserNotifications.php index e86e8235e..9badf6f48 100644 --- a/app/Livewire/Notifications.php +++ b/app/Livewire/UserNotifications.php @@ -10,7 +10,7 @@ use Livewire\Component; use Livewire\WithPagination; -final class Notifications extends Component +final class UserNotifications extends Component { use AuthorizesRequests; use WithPagination; @@ -22,7 +22,7 @@ public function render(): View $notifications = Auth::user()->unreadNotifications()->paginate(10); $lastPage = count($notifications) == 0 ? $notifications->lastPage() : null; - return view('livewire.notifications', [ + return view('livewire.user-notifications', [ 'notifications' => Auth::user()->unreadNotifications()->paginate(10, ['*'], 'page', $lastPage), ]); } diff --git a/app/Models/User.php b/app/Models/User.php index aeaaedcd2..1390fa740 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -5,7 +5,11 @@ use App\Concerns\HasTimestamps; use App\Concerns\PreparesSearch; use App\Enums\NotificationType; +use App\Policies\UserPolicy; use Carbon\Carbon; +use Filament\Facades\Filament; +use Filament\Models\Contracts\FilamentUser; +use Filament\Panel; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -18,7 +22,7 @@ use Laravel\Sanctum\HasApiTokens; use Laravel\Scout\Searchable; -final class User extends Authenticatable implements MustVerifyEmail +final class User extends Authenticatable implements MustVerifyEmail, FilamentUser { use HasApiTokens; use HasFactory; @@ -459,4 +463,9 @@ public function isNotificationAllowed(string $notification): bool return NotificationType::from($notificationType)->getClass() === $notification; }); } + + public function canAccessPanel(Panel $panel): bool + { + return $this->can(UserPolicy::ADMIN, User::class); + } } diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php new file mode 100644 index 000000000..a262d5a78 --- /dev/null +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -0,0 +1,78 @@ +default() + ->id('admin') + ->path('admin') + ->login() + ->colors([ + 'primary' => '#18bc9c', + ]) + ->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources') + ->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages') + ->pages([ + Dashboard::class, + ]) + ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets') + ->widgets([ + ArticlesStatsOverview::class, + UsersStatsOverview::class, + RepliesStatsOverview::class, + ArticlesTrendChart::class, + UsersTrendChart::class, + RepliesTrendChart::class, + ]) + ->middleware([ + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartSession::class, + AuthenticateSession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + DisableBladeIconComponents::class, + DispatchServingFilamentEvent::class, + ]) + ->authMiddleware([ + Authenticate::class, + ]) + ->userMenuItems([ + Action::make('Horizon') + ->url(fn(): string => route('horizon.index')) + ->icon('heroicon-o-presentation-chart-bar') + ->openUrlInNewTab(), + ]) + ->brandLogo(asset('images/laravelio-logo.svg')) + ->unsavedChangesAlerts() + ->globalSearch(false) + ->topNavigation() + ->spa(); + } +} diff --git a/bootstrap/providers.php b/bootstrap/providers.php index 7ad1b7b6b..e590a976d 100644 --- a/bootstrap/providers.php +++ b/bootstrap/providers.php @@ -1,6 +1,7 @@ =7.1", + "pragmarx/google2fa": ">=4.0" + }, + "require-dev": { + "bacon/bacon-qr-code": "^2.0", + "chillerlan/php-qrcode": "^1.0|^2.0|^3.0|^4.0", + "khanamiryan/qrcode-detector-decoder": "^1.0", + "phpunit/phpunit": "~4|~5|~6|~7|~8|~9" + }, + "suggest": { + "bacon/bacon-qr-code": "For QR Code generation, requires imagick", + "chillerlan/php-qrcode": "For QR Code generation" + }, + "type": "library", + "extra": { + "component": "package", + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "PragmaRX\\Google2FAQRCode\\": "src/", + "PragmaRX\\Google2FAQRCode\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Antonio Carlos Ribeiro", + "email": "acr@antoniocarlosribeiro.com", + "role": "Creator & Designer" } ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", + "description": "QR Code package for Google2FA", "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" + "2fa", + "Authentication", + "Two Factor Authentication", + "google2fa", + "qr code", + "qrcode" ], "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.46" + "issues": "https://github.com/antonioribeiro/google2fa-qrcode/issues", + "source": "https://github.com/antonioribeiro/google2fa-qrcode/tree/v3.0.0" }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2025-06-26T16:29:55+00:00" + "time": "2021-08-15T12:53:48+00:00" }, { "name": "predis/predis", @@ -5753,16 +7113,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.8", + "version": "v0.12.10", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625" + "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/85057ceedee50c49d4f6ecaff73ee96adb3b3625", - "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/6e80abe6f2257121f1eb9a4c55bf29d921025b22", + "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22", "shasum": "" }, "require": { @@ -5812,12 +7172,11 @@ "authors": [ { "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" + "email": "justin@justinhileman.info" } ], "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", + "homepage": "https://psysh.org", "keywords": [ "REPL", "console", @@ -5826,9 +7185,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.8" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.10" }, - "time": "2025-03-16T03:05:19+00:00" + "time": "2025-08-04T12:39:37+00:00" }, { "name": "ralouphie/getallheaders", @@ -6077,6 +7436,162 @@ }, "time": "2022-12-10T18:12:25+00:00" }, + { + "name": "ryangjchandler/blade-capture-directive", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/ryangjchandler/blade-capture-directive.git", + "reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ryangjchandler/blade-capture-directive/zipball/bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d", + "reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^10.0|^11.0|^12.0", + "php": "^8.1", + "spatie/laravel-package-tools": "^1.9.2" + }, + "require-dev": { + "nunomaduro/collision": "^7.0|^8.0", + "nunomaduro/larastan": "^2.0|^3.0", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^2.0|^3.7", + "pestphp/pest-plugin-laravel": "^2.0|^3.1", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0|^2.0", + "phpstan/phpstan-phpunit": "^1.0|^2.0", + "phpunit/phpunit": "^10.0|^11.5.3", + "spatie/laravel-ray": "^1.26" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "BladeCaptureDirective": "RyanChandler\\BladeCaptureDirective\\Facades\\BladeCaptureDirective" + }, + "providers": [ + "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "RyanChandler\\BladeCaptureDirective\\": "src", + "RyanChandler\\BladeCaptureDirective\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ryan Chandler", + "email": "support@ryangjchandler.co.uk", + "role": "Developer" + } + ], + "description": "Create inline partials in your Blade templates with ease.", + "homepage": "https://github.com/ryangjchandler/blade-capture-directive", + "keywords": [ + "blade-capture-directive", + "laravel", + "ryangjchandler" + ], + "support": { + "issues": "https://github.com/ryangjchandler/blade-capture-directive/issues", + "source": "https://github.com/ryangjchandler/blade-capture-directive/tree/v1.1.0" + }, + "funding": [ + { + "url": "https://github.com/ryangjchandler", + "type": "github" + } + ], + "time": "2025-02-25T09:09:36+00:00" + }, + { + "name": "scrivo/highlight.php", + "version": "v9.18.1.10", + "source": { + "type": "git", + "url": "https://github.com/scrivo/highlight.php.git", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/850f4b44697a2552e892ffe71490ba2733c2fc6e", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7", + "sabberworm/php-css-parser": "^8.3", + "symfony/finder": "^2.8|^3.4|^5.4", + "symfony/var-dumper": "^2.8|^3.4|^5.4" + }, + "suggest": { + "ext-mbstring": "Allows highlighting code with unicode characters and supports language with unicode keywords" + }, + "type": "library", + "autoload": { + "files": [ + "HighlightUtilities/functions.php" + ], + "psr-0": { + "Highlight\\": "", + "HighlightUtilities\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Geert Bergman", + "homepage": "http://www.scrivo.org/", + "role": "Project Author" + }, + { + "name": "Vladimir Jimenez", + "homepage": "https://allejo.io", + "role": "Maintainer" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Contributor" + } + ], + "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", + "keywords": [ + "code", + "highlight", + "highlight.js", + "highlight.php", + "syntax" + ], + "support": { + "issues": "https://github.com/scrivo/highlight.php/issues", + "source": "https://github.com/scrivo/highlight.php" + }, + "funding": [ + { + "url": "https://github.com/allejo", + "type": "github" + } + ], + "time": "2022-12-17T21:53:22+00:00" + }, { "name": "sentry/sentry", "version": "4.15.2", @@ -6257,16 +7772,16 @@ }, { "name": "spatie/backtrace", - "version": "1.7.4", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe" + "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/cd37a49fce7137359ac30ecc44ef3e16404cccbe", - "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110", + "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110", "shasum": "" }, "require": { @@ -6304,7 +7819,8 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.7.4" + "issues": "https://github.com/spatie/backtrace/issues", + "source": "https://github.com/spatie/backtrace/tree/1.8.1" }, "funding": [ { @@ -6316,7 +7832,7 @@ "type": "other" } ], - "time": "2025-05-08T15:41:09+00:00" + "time": "2025-08-26T08:22:30+00:00" }, { "name": "spatie/browsershot", @@ -6680,6 +8196,65 @@ ], "time": "2025-02-21T14:31:39+00:00" }, + { + "name": "spatie/invade", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/invade.git", + "reference": "b920f6411d21df4e8610a138e2e87ae4957d7f63" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/invade/zipball/b920f6411d21df4e8610a138e2e87ae4957d7f63", + "reference": "b920f6411d21df4e8610a138e2e87ae4957d7f63", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "pestphp/pest": "^1.20", + "phpstan/phpstan": "^1.4", + "spatie/ray": "^1.28" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Spatie\\Invade\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "A PHP function to work with private properties and methods", + "homepage": "https://github.com/spatie/invade", + "keywords": [ + "invade", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/invade/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-05-17T09:06:10+00:00" + }, { "name": "spatie/laravel-feed", "version": "4.4.2", @@ -7206,32 +8781,98 @@ "type": "github" } ], - "time": "2024-12-09T15:05:12+00:00" + "time": "2024-12-09T15:05:12+00:00" + }, + { + "name": "spatie/robots-txt", + "version": "2.5.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/robots-txt.git", + "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/robots-txt/zipball/ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", + "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "phpunit/phpunit": "^11.5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Robots\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brent Roose", + "email": "brent@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Determine if a page may be crawled from robots.txt and robots meta tags", + "homepage": "https://github.com/spatie/robots-txt", + "keywords": [ + "robots-txt", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/robots-txt/issues", + "source": "https://github.com/spatie/robots-txt/tree/2.5.1" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-07-01T07:07:44+00:00" }, { - "name": "spatie/robots-txt", - "version": "2.5.1", + "name": "spatie/shiki-php", + "version": "2.3.2", "source": { "type": "git", - "url": "https://github.com/spatie/robots-txt.git", - "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79" + "url": "https://github.com/spatie/shiki-php.git", + "reference": "a2e78a9ff8a1290b25d550be8fbf8285c13175c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/robots-txt/zipball/ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", - "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", + "url": "https://api.github.com/repos/spatie/shiki-php/zipball/a2e78a9ff8a1290b25d550be8fbf8285c13175c5", + "reference": "a2e78a9ff8a1290b25d550be8fbf8285c13175c5", "shasum": "" }, "require": { - "php": "^8.1" + "ext-json": "*", + "php": "^8.0", + "symfony/process": "^5.4|^6.4|^7.1" }, "require-dev": { - "phpunit/phpunit": "^11.5.2" + "friendsofphp/php-cs-fixer": "^v3.0", + "pestphp/pest": "^1.8", + "phpunit/phpunit": "^9.5", + "spatie/pest-plugin-snapshots": "^1.1", + "spatie/ray": "^1.10" }, "type": "library", "autoload": { "psr-4": { - "Spatie\\Robots\\": "src" + "Spatie\\ShikiPhp\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7240,33 +8881,32 @@ ], "authors": [ { - "name": "Brent Roose", - "email": "brent@spatie.be", - "homepage": "https://spatie.be", + "name": "Rias Van der Veken", + "email": "rias@spatie.be", + "role": "Developer" + }, + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", "role": "Developer" } ], - "description": "Determine if a page may be crawled from robots.txt and robots meta tags", - "homepage": "https://github.com/spatie/robots-txt", + "description": "Highlight code using Shiki in PHP", + "homepage": "https://github.com/spatie/shiki-php", "keywords": [ - "robots-txt", + "shiki", "spatie" ], "support": { - "issues": "https://github.com/spatie/robots-txt/issues", - "source": "https://github.com/spatie/robots-txt/tree/2.5.1" + "source": "https://github.com/spatie/shiki-php/tree/2.3.2" }, "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, { "url": "https://github.com/spatie", "type": "github" } ], - "time": "2025-07-01T07:07:44+00:00" + "time": "2025-02-21T14:16:57+00:00" }, { "name": "spatie/temporary-directory", @@ -7635,16 +9275,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v7.3.1", + "version": "v7.3.3", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "8b2ee2e06ab99fa5f067b6699296d4e35c156bb9" + "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/8b2ee2e06ab99fa5f067b6699296d4e35c156bb9", - "reference": "8b2ee2e06ab99fa5f067b6699296d4e35c156bb9", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/efa076ea0eeff504383ff0dcf827ea5ce15690ba", + "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba", "shasum": "" }, "require": { @@ -7682,7 +9322,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.3.1" + "source": "https://github.com/symfony/dom-crawler/tree/v7.3.3" }, "funding": [ { @@ -7693,12 +9333,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-06-15T10:07:06+00:00" + "time": "2025-08-06T20:13:54+00:00" }, { "name": "symfony/error-handler", @@ -8009,6 +9653,79 @@ ], "time": "2025-07-15T13:41:35+00:00" }, + { + "name": "symfony/html-sanitizer", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/html-sanitizer.git", + "reference": "8740fc48979f649dee8b8fc51a2698e5c190bf12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/8740fc48979f649dee8b8fc51a2698e5c190bf12", + "reference": "8740fc48979f649dee8b8fc51a2698e5c190bf12", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "league/uri": "^6.5|^7.0", + "masterminds/html5": "^2.7.2", + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HtmlSanitizer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Titouan Galopin", + "email": "galopintitouan@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to sanitize untrusted HTML input for safe insertion into a document's DOM.", + "homepage": "https://symfony.com", + "keywords": [ + "Purifier", + "html", + "sanitizer" + ], + "support": { + "source": "https://github.com/symfony/html-sanitizer/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-12T10:34:03+00:00" + }, { "name": "symfony/http-client", "version": "v7.3.3", @@ -10170,6 +11887,75 @@ }, "time": "2024-12-21T16:25:41+00:00" }, + { + "name": "ueberdosis/tiptap-php", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/ueberdosis/tiptap-php.git", + "reference": "458194ad0f8b0cf616fecdf451a84f9a6c1f3056" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ueberdosis/tiptap-php/zipball/458194ad0f8b0cf616fecdf451a84f9a6c1f3056", + "reference": "458194ad0f8b0cf616fecdf451a84f9a6c1f3056", + "shasum": "" + }, + "require": { + "php": "^8.0", + "scrivo/highlight.php": "^9.18", + "spatie/shiki-php": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.5", + "pestphp/pest": "^1.21", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Tiptap\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Hans Pagel", + "email": "humans@tiptap.dev", + "role": "Developer" + } + ], + "description": "A PHP package to work with Tiptap output", + "homepage": "https://github.com/ueberdosis/tiptap-php", + "keywords": [ + "prosemirror", + "tiptap", + "ueberdosis" + ], + "support": { + "issues": "https://github.com/ueberdosis/tiptap-php/issues", + "source": "https://github.com/ueberdosis/tiptap-php/tree/2.0.0" + }, + "funding": [ + { + "url": "https://tiptap.dev/pricing", + "type": "custom" + }, + { + "url": "https://github.com/ueberdosis", + "type": "github" + }, + { + "url": "https://opencollective.com/tiptap", + "type": "open_collective" + } + ], + "time": "2025-06-26T14:11:46+00:00" + }, { "name": "vlucas/phpdotenv", "version": "v5.6.2", @@ -10475,16 +12261,16 @@ }, { "name": "brianium/paratest", - "version": "v7.8.3", + "version": "v7.8.4", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "a585c346ddf1bec22e51e20b5387607905604a71" + "reference": "130a9bf0e269ee5f5b320108f794ad03e275cad4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/a585c346ddf1bec22e51e20b5387607905604a71", - "reference": "a585c346ddf1bec22e51e20b5387607905604a71", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/130a9bf0e269ee5f5b320108f794ad03e275cad4", + "reference": "130a9bf0e269ee5f5b320108f794ad03e275cad4", "shasum": "" }, "require": { @@ -10493,26 +12279,26 @@ "ext-reflection": "*", "ext-simplexml": "*", "fidry/cpu-core-counter": "^1.2.0", - "jean85/pretty-package-versions": "^2.1.0", + "jean85/pretty-package-versions": "^2.1.1", "php": "~8.2.0 || ~8.3.0 || ~8.4.0", - "phpunit/php-code-coverage": "^11.0.9 || ^12.0.4", - "phpunit/php-file-iterator": "^5.1.0 || ^6", - "phpunit/php-timer": "^7.0.1 || ^8", - "phpunit/phpunit": "^11.5.11 || ^12.0.6", - "sebastian/environment": "^7.2.0 || ^8", - "symfony/console": "^6.4.17 || ^7.2.1", - "symfony/process": "^6.4.19 || ^7.2.4" + "phpunit/php-code-coverage": "^11.0.10", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-timer": "^7.0.1", + "phpunit/phpunit": "^11.5.24", + "sebastian/environment": "^7.2.1", + "symfony/console": "^6.4.22 || ^7.3.0", + "symfony/process": "^6.4.20 || ^7.3.0" }, "require-dev": { "doctrine/coding-standard": "^12.0.0", "ext-pcov": "*", "ext-posix": "*", - "phpstan/phpstan": "^2.1.6", - "phpstan/phpstan-deprecation-rules": "^2.0.1", - "phpstan/phpstan-phpunit": "^2.0.4", - "phpstan/phpstan-strict-rules": "^2.0.3", - "squizlabs/php_codesniffer": "^3.11.3", - "symfony/filesystem": "^6.4.13 || ^7.2.0" + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpstan/phpstan-phpunit": "^2.0.6", + "phpstan/phpstan-strict-rules": "^2.0.4", + "squizlabs/php_codesniffer": "^3.13.2", + "symfony/filesystem": "^6.4.13 || ^7.3.0" }, "bin": [ "bin/paratest", @@ -10552,7 +12338,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.8.3" + "source": "https://github.com/paratestphp/paratest/tree/v7.8.4" }, "funding": [ { @@ -10564,7 +12350,7 @@ "type": "paypal" } ], - "time": "2025-03-05T08:29:11+00:00" + "time": "2025-06-23T06:07:21+00:00" }, { "name": "doctrine/deprecations", @@ -10679,16 +12465,16 @@ }, { "name": "fidry/cpu-core-counter", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "8520451a140d3f46ac33042715115e290cf5785f" + "reference": "db9508f7b1474469d9d3c53b86f817e344732678" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f", - "reference": "8520451a140d3f46ac33042715115e290cf5785f", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678", "shasum": "" }, "require": { @@ -10698,10 +12484,10 @@ "fidry/makefile": "^0.2.0", "fidry/php-cs-fixer-config": "^1.1.2", "phpstan/extension-installer": "^1.2.0", - "phpstan/phpstan": "^1.9.2", - "phpstan/phpstan-deprecation-rules": "^1.0.0", - "phpstan/phpstan-phpunit": "^1.2.2", - "phpstan/phpstan-strict-rules": "^1.4.4", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", "phpunit/phpunit": "^8.5.31 || ^9.5.26", "webmozarts/strict-phpunit": "^7.5" }, @@ -10728,7 +12514,7 @@ ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0" + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" }, "funding": [ { @@ -10736,20 +12522,20 @@ "type": "github" } ], - "time": "2024-08-06T10:04:20+00:00" + "time": "2025-08-14T07:29:31+00:00" }, { "name": "filp/whoops", - "version": "2.18.3", + "version": "2.18.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "59a123a3d459c5a23055802237cb317f609867e5" + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/59a123a3d459c5a23055802237cb317f609867e5", - "reference": "59a123a3d459c5a23055802237cb317f609867e5", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", "shasum": "" }, "require": { @@ -10799,7 +12585,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.18.3" + "source": "https://github.com/filp/whoops/tree/2.18.4" }, "funding": [ { @@ -10807,7 +12593,7 @@ "type": "github" } ], - "time": "2025-06-16T00:02:10+00:00" + "time": "2025-08-08T12:00:00+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -10945,16 +12731,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.13.1", + "version": "1.13.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", - "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", "shasum": "" }, "require": { @@ -10993,7 +12779,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" }, "funding": [ { @@ -11001,7 +12787,7 @@ "type": "tidelift" } ], - "time": "2025-04-29T12:36:36+00:00" + "time": "2025-08-01T08:46:24+00:00" }, { "name": "nunomaduro/collision", @@ -11104,38 +12890,38 @@ }, { "name": "pestphp/pest", - "version": "v3.8.2", + "version": "v3.8.4", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "c6244a8712968dbac88eb998e7ff3b5caa556b0d" + "reference": "72cf695554420e21858cda831d5db193db102574" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/c6244a8712968dbac88eb998e7ff3b5caa556b0d", - "reference": "c6244a8712968dbac88eb998e7ff3b5caa556b0d", + "url": "https://api.github.com/repos/pestphp/pest/zipball/72cf695554420e21858cda831d5db193db102574", + "reference": "72cf695554420e21858cda831d5db193db102574", "shasum": "" }, "require": { - "brianium/paratest": "^7.8.3", - "nunomaduro/collision": "^8.8.0", - "nunomaduro/termwind": "^2.3.0", + "brianium/paratest": "^7.8.4", + "nunomaduro/collision": "^8.8.2", + "nunomaduro/termwind": "^2.3.1", "pestphp/pest-plugin": "^3.0.0", - "pestphp/pest-plugin-arch": "^3.1.0", + "pestphp/pest-plugin-arch": "^3.1.1", "pestphp/pest-plugin-mutate": "^3.0.5", "php": "^8.2.0", - "phpunit/phpunit": "^11.5.15" + "phpunit/phpunit": "^11.5.33" }, "conflict": { "filp/whoops": "<2.16.0", - "phpunit/phpunit": ">11.5.15", + "phpunit/phpunit": ">11.5.33", "sebastian/exporter": "<6.0.0", "webmozart/assert": "<1.11.0" }, "require-dev": { "pestphp/pest-dev-tools": "^3.4.0", - "pestphp/pest-plugin-type-coverage": "^3.5.0", - "symfony/process": "^7.2.5" + "pestphp/pest-plugin-type-coverage": "^3.6.1", + "symfony/process": "^7.3.0" }, "bin": [ "bin/pest" @@ -11200,7 +12986,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v3.8.2" + "source": "https://github.com/pestphp/pest/tree/v3.8.4" }, "funding": [ { @@ -11212,7 +12998,7 @@ "type": "github" } ], - "time": "2025-04-17T10:53:02+00:00" + "time": "2025-08-20T19:12:42+00:00" }, { "name": "pestphp/pest-plugin", @@ -11428,6 +13214,72 @@ ], "time": "2025-04-21T07:40:53+00:00" }, + { + "name": "pestphp/pest-plugin-livewire", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-livewire.git", + "reference": "e2f2edb0a7d414d6837d87908a0e148256d3bf89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-livewire/zipball/e2f2edb0a7d414d6837d87908a0e148256d3bf89", + "reference": "e2f2edb0a7d414d6837d87908a0e148256d3bf89", + "shasum": "" + }, + "require": { + "livewire/livewire": "^3.5.6", + "pestphp/pest": "^3.0.0", + "php": "^8.1" + }, + "require-dev": { + "orchestra/testbench": "^9.4.0", + "pestphp/pest-dev-tools": "^3.0.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/Autoload.php" + ], + "psr-4": { + "Pest\\Livewire\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Pest Livewire Plugin", + "keywords": [ + "framework", + "livewire", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin-livewire/tree/v3.0.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2024-09-09T00:05:59+00:00" + }, { "name": "pestphp/pest-plugin-mutate", "version": "v3.0.5", @@ -11915,16 +13767,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "11.0.9", + "version": "11.0.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "14d63fbcca18457e49c6f8bebaa91a87e8e188d7" + "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/14d63fbcca18457e49c6f8bebaa91a87e8e188d7", - "reference": "14d63fbcca18457e49c6f8bebaa91a87e8e188d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4", + "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4", "shasum": "" }, "require": { @@ -11981,15 +13833,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.9" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.11" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" } ], - "time": "2025-02-25T13:26:39+00:00" + "time": "2025-08-27T14:37:49+00:00" }, { "name": "phpunit/php-file-iterator", @@ -12238,16 +14102,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.15", + "version": "11.5.33", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c" + "reference": "5965e9ff57546cb9137c0ff6aa78cb7442b05cf6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c", - "reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5965e9ff57546cb9137c0ff6aa78cb7442b05cf6", + "reference": "5965e9ff57546cb9137c0ff6aa78cb7442b05cf6", "shasum": "" }, "require": { @@ -12257,24 +14121,24 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.0", + "myclabs/deep-copy": "^1.13.4", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.2", - "phpunit/php-code-coverage": "^11.0.9", + "phpunit/php-code-coverage": "^11.0.10", "phpunit/php-file-iterator": "^5.1.0", "phpunit/php-invoker": "^5.0.1", "phpunit/php-text-template": "^4.0.1", "phpunit/php-timer": "^7.0.1", "sebastian/cli-parser": "^3.0.2", "sebastian/code-unit": "^3.0.3", - "sebastian/comparator": "^6.3.1", + "sebastian/comparator": "^6.3.2", "sebastian/diff": "^6.0.2", - "sebastian/environment": "^7.2.0", + "sebastian/environment": "^7.2.1", "sebastian/exporter": "^6.3.0", "sebastian/global-state": "^7.0.2", "sebastian/object-enumerator": "^6.0.1", - "sebastian/type": "^5.1.2", + "sebastian/type": "^5.1.3", "sebastian/version": "^5.0.2", "staabm/side-effects-detector": "^1.0.5" }, @@ -12319,7 +14183,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.15" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.33" }, "funding": [ { @@ -12330,12 +14194,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2025-03-23T16:02:11+00:00" + "time": "2025-08-16T05:19:02+00:00" }, { "name": "sebastian/cli-parser", @@ -12509,16 +14381,16 @@ }, { "name": "sebastian/comparator", - "version": "6.3.1", + "version": "6.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959" + "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/24b8fbc2c8e201bb1308e7b05148d6ab393b6959", - "reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/85c77556683e6eee4323e4c5468641ca0237e2e8", + "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8", "shasum": "" }, "require": { @@ -12577,15 +14449,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.2" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" } ], - "time": "2025-03-07T06:57:01+00:00" + "time": "2025-08-10T08:07:46+00:00" }, { "name": "sebastian/complexity", @@ -12714,23 +14598,23 @@ }, { "name": "sebastian/environment", - "version": "7.2.0", + "version": "7.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5" + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", - "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", "shasum": "" }, "require": { "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^11.3" }, "suggest": { "ext-posix": "*" @@ -12766,15 +14650,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0" + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" } ], - "time": "2024-07-03T04:54:44+00:00" + "time": "2025-05-21T11:55:47+00:00" }, { "name": "sebastian/exporter", @@ -13090,23 +14986,23 @@ }, { "name": "sebastian/recursion-context", - "version": "6.0.2", + "version": "6.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "694d156164372abbd149a4b85ccda2e4670c0e16" + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16", - "reference": "694d156164372abbd149a4b85ccda2e4670c0e16", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", "shasum": "" }, "require": { "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { @@ -13142,28 +15038,40 @@ "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2024-07-03T05:10:34+00:00" + "time": "2025-08-13T04:42:22+00:00" }, { "name": "sebastian/type", - "version": "5.1.2", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e" + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/a8a7e30534b0eb0c77cd9d07e82de1a114389f5e", - "reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", "shasum": "" }, "require": { @@ -13199,15 +15107,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/type/issues", "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/5.1.2" + "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "type": "tidelift" } ], - "time": "2025-03-18T13:35:50+00:00" + "time": "2025-08-09T06:55:48+00:00" }, { "name": "sebastian/version", @@ -13497,7 +15417,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "8.3.*" + "php": "^8.3 || ^8.4" }, "platform-dev": {}, "plugin-api-version": "2.6.0" diff --git a/resources/views/admin/articles.blade.php b/resources/views/admin/articles.blade.php deleted file mode 100644 index 407b12438..000000000 --- a/resources/views/admin/articles.blade.php +++ /dev/null @@ -1,84 +0,0 @@ -@title('Articles') - -@extends('layouts.default') - -@section('content') -
    - @include('admin.partials._navigation', [ - 'query' => route('admin'), - 'search' => $adminSearch, - 'placeholder' => 'Search for articles...', - ]) -
    - -
    -
    - @if($articles->isNotEmpty()) -
    -
    -
    - - - - Author - Title - Submitted on - View - - - - @foreach ($articles as $article) - - - - - - - {{ $article->title() }} - - - - {{ $article->submittedAt()->format('j M Y H:i:s') }} - - - - - - - - - @endforeach - -
    -
    -
    -
    - @else - - @endif -
    - -
    - {{ $articles->render() }} -
    -
    -@endsection diff --git a/resources/views/admin/partials/_navigation.blade.php b/resources/views/admin/partials/_navigation.blade.php deleted file mode 100644 index ba3d45618..000000000 --- a/resources/views/admin/partials/_navigation.blade.php +++ /dev/null @@ -1,48 +0,0 @@ -
    -
    -
    -

    - Admin -

    - - -
    - -
    - - - -
    -
    -
    - -
    - - -
    -
    - -
    -
    -
    diff --git a/resources/views/admin/replies.blade.php b/resources/views/admin/replies.blade.php deleted file mode 100644 index 32ff43308..000000000 --- a/resources/views/admin/replies.blade.php +++ /dev/null @@ -1,93 +0,0 @@ -@title('Replies') - -@extends('layouts.default') - -@section('content') -
    - @include('admin.partials._navigation', [ - 'query' => route('admin.replies'), - 'search' => $adminSearch, - 'placeholder' => 'Search for replies...', - ]) -
    - -
    -
    - @if($replies->isNotEmpty()) -
    -
    -
    - - - - Author - Thread - Content - Updated - View - - - - @foreach ($replies as $reply) - - - - - - - {{ $reply->replyAble()->subject() }} - - - - {{ $reply->excerpt() }} - - - - @if ($reply->updatedBy()) - YES - @else - NO - @endif - - - - - - - - - @endforeach - -
    -
    -
    -
    - @else - - @endif -
    - -
    - {{ $replies->render() }} -
    -
    -@endsection diff --git a/resources/views/admin/users.blade.php b/resources/views/admin/users.blade.php deleted file mode 100644 index fa8a6c21c..000000000 --- a/resources/views/admin/users.blade.php +++ /dev/null @@ -1,138 +0,0 @@ -@title('Users') - -@extends('layouts.default') - -@section('content') -
    - @include('admin.partials._navigation', [ - 'query' => route('admin.users'), - 'search' => $adminSearch, - 'placeholder' => 'Search for users...', - ]) -
    - -
    -
    -
    -
    -
    - - - - Name - Role - Joined On - Profile - - - - @foreach ($users as $user) - - - - - - - - @if ($user->isBanned()) - banned - @elseif ($user->isAdmin()) - admin - @elseif ($user->isModerator()) - moderator - @else - user - @endif - - - - - {{ $user->createdAt()->format('j M Y H:i:s') }} - - - - - - - - @can(App\Policies\UserPolicy::DELETE, $user) - - - -

    Deleting this user will remove their account and any related content like threads & replies. This cannot be undone.

    -
    - - - - -

    All the threads from this user will be deleted. This cannot be undone.

    -
    - @endcan - - {{-- Toggle Verified Author --}} - @can(App\Policies\UserPolicy::ADMIN, $user) - @if ($user->isVerifiedAuthor()) - - -

    This will remove the verified author status from this user.

    -
    - @else - - -

    This will mark this user as a verified author.

    -
    - @endif - @endcan -
    - - @endforeach - -
    -
    -
    -
    -
    - -
    - {{ $users->render() }} -
    -
    -@endsection diff --git a/resources/views/layouts/_nav.blade.php b/resources/views/layouts/_nav.blade.php index e26a633bc..05c549540 100644 --- a/resources/views/layouts/_nav.blade.php +++ b/resources/views/layouts/_nav.blade.php @@ -124,7 +124,7 @@ @can(App\Policies\UserPolicy::ADMIN, App\Models\User::class)
  • - + Admin diff --git a/resources/views/livewire/notifications.blade.php b/resources/views/livewire/user-notifications.blade.php similarity index 100% rename from resources/views/livewire/notifications.blade.php rename to resources/views/livewire/user-notifications.blade.php diff --git a/resources/views/users/notifications.blade.php b/resources/views/users/notifications.blade.php index 5d2851275..3a2eb9a30 100644 --- a/resources/views/users/notifications.blade.php +++ b/resources/views/users/notifications.blade.php @@ -4,6 +4,6 @@ @section('content')
    - +
    @endsection diff --git a/routes/web.php b/routes/web.php index 3e01420bd..f8b42d2c4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,8 +1,7 @@ name('admin')->group(function () { - Route::get('/', [AdminArticlesController::class, 'index']); - Route::get('replies', [AdminRepliesController::class, 'index'])->name('.replies'); - // Users - Route::get('users', [UsersController::class, 'index'])->name('.users'); - Route::put('users/{username}/ban', [UsersController::class, 'ban'])->name('.users.ban'); - Route::put('users/{username}/unban', [UsersController::class, 'unban'])->name('.users.unban'); - Route::put('users/{username}/verify-author', [UsersController::class, 'verifyAuthor'])->name('.users.verify-author'); - Route::put('users/{username}/unverify-author', [UsersController::class, 'unverifyAuthor'])->name('.users.unverify-author'); - Route::delete('users/{username}', [UsersController::class, 'delete'])->name('.users.delete'); - - Route::delete('users/{username}/threads', [UsersController::class, 'deleteThreads'])->name('.users.threads.delete'); + Route::put('users/{username}/ban', [AdminUsersController::class, 'ban'])->name('.users.ban'); + Route::put('users/{username}/unban', [AdminUsersController::class, 'unban'])->name('.users.unban'); // Articles Route::put('articles/{article}/approve', [AdminArticlesController::class, 'approve'])->name('.articles.approve'); diff --git a/tests/Feature/AdminTest.php b/tests/Feature/AdminTest.php index 116b1b08e..d2a57e97d 100644 --- a/tests/Feature/AdminTest.php +++ b/tests/Feature/AdminTest.php @@ -1,5 +1,6 @@ get('/admin') - ->assertRedirect('/login'); + ->assertRedirect('/admin/login'); }); test('normal users cannot visit the admin section', function () { @@ -119,12 +122,10 @@ $this->loginAsAdmin(); - $this->delete('/admin/users/'.$user->username()) - ->assertRedirect('/admin/users'); + livewire(ListUsers::class) + ->callAction(TestAction::make('delete')->table($user)); $this->assertDatabaseMissing('users', ['name' => 'Freek Murze']); - - // Make sure associated content is deleted. $this->assertDatabaseMissing('threads', ['author_id' => $user->id()]); $this->assertDatabaseMissing('replies', ['replyable_id' => $thread->id()]); $this->assertDatabaseMissing('replies', ['author_id' => $user->id()]); @@ -135,8 +136,8 @@ $this->loginAsAdmin(); - $this->delete('/admin/users/'.$user->username()) - ->assertForbidden(); + livewire(ListUsers::class) + ->assertActionHidden(TestAction::make('delete')->table($user)); }); test('moderators cannot delete users', function () { @@ -144,8 +145,8 @@ $this->loginAsModerator(); - $this->delete('/admin/users/'.$user->username()) - ->assertForbidden(); + livewire(ListUsers::class) + ->assertActionHidden(TestAction::make('delete')->table($user)); }); test('admins can list submitted articles', function () { @@ -155,7 +156,7 @@ $this->loginAsAdmin(); - $this->get('admin') + $this->get('admin/articles') ->assertSee($submittedArticle->title()) ->assertDontSee($draftArticle->title()) ->assertDontSee($liveArticle->title()); @@ -168,7 +169,7 @@ $this->loginAsModerator(); - $this->get('admin') + $this->get('admin/articles') ->assertSee($submittedArticle->title()) ->assertDontSee($draftArticle->title()) ->assertDontSee($liveArticle->title()); @@ -183,7 +184,7 @@ test('guests cannot list submitted articles', function () { $this->get('admin') - ->assertRedirect('/login'); + ->assertRedirect('/admin/login'); }); test('admins can view submitted articles', function () { diff --git a/tests/Feature/NotificationsTest.php b/tests/Feature/NotificationsTest.php index 917830ee6..792e9f219 100644 --- a/tests/Feature/NotificationsTest.php +++ b/tests/Feature/NotificationsTest.php @@ -1,6 +1,6 @@ loginAs($userOne); - Livewire::test(Notifications::class) + Livewire::test(UserNotifications::class) ->assertSee(new HtmlString( "A new reply was added to \"{$thread->subject()}\".", )); @@ -65,7 +65,7 @@ $this->loginAs($userOne); - Livewire::test(Notifications::class) + Livewire::test(UserNotifications::class) ->assertSee(new HtmlString( "A new reply was added to \"{$thread->subject()}\".", )) @@ -77,7 +77,7 @@ }); test('a_non_logged_in_user_cannot_access_notifications', function () { - Livewire::test(Notifications::class)->assertForbidden(); + Livewire::test(UserNotifications::class)->assertForbidden(); }); test('a_user_cannot_mark_other_users_notifications_as_read', function () { @@ -108,7 +108,7 @@ $this->loginAs($userTwo); - Livewire::test(Notifications::class) + Livewire::test(UserNotifications::class) ->call('markAsRead', $notification->id) ->assertForbidden(); }); @@ -143,7 +143,7 @@ $this->loginAs($userOne); - Livewire::test(Notifications::class) + Livewire::test(UserNotifications::class) ->assertSee('10'); }); @@ -167,13 +167,13 @@ $this->loginAs($userOne); - Livewire::test(Notifications::class) + Livewire::test(UserNotifications::class) ->assertSee('Clear All') ->assertViewHas('notificationCount', 1); post('/notifications/mark-as-read'); - Livewire::test(Notifications::class) + Livewire::test(UserNotifications::class) ->assertDontSee('Clear All') ->assertViewHas('notificationCount', 0); }); From a4dd3c8051011ab4c660f2c4f92091effe7f9a45 Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Fri, 19 Sep 2025 14:51:56 +0000 Subject: [PATCH 115/126] Fix code styling --- .../Resources/Articles/ArticleResource.php | 2 +- .../Articles/Tables/ArticlesTable.php | 12 +++--- .../Resources/Replies/Tables/RepliesTable.php | 8 ++-- .../Resources/Users/Tables/UsersTable.php | 38 +++++++++---------- .../Widgets/ArticlesStatsOverview.php | 14 +++---- app/Filament/Widgets/ArticlesTrendChart.php | 5 ++- app/Filament/Widgets/RepliesStatsOverview.php | 6 +-- app/Filament/Widgets/RepliesTrendChart.php | 5 ++- app/Filament/Widgets/UsersStatsOverview.php | 6 +-- app/Filament/Widgets/UsersTrendChart.php | 5 ++- app/Jobs/DeleteUserThreads.php | 2 +- app/Jobs/UnbanUser.php | 2 +- app/Models/User.php | 3 +- app/Providers/Filament/AdminPanelProvider.php | 2 +- tests/Feature/AdminTest.php | 3 +- 15 files changed, 57 insertions(+), 56 deletions(-) diff --git a/app/Filament/Resources/Articles/ArticleResource.php b/app/Filament/Resources/Articles/ArticleResource.php index de4b5174a..31bfdcdc0 100644 --- a/app/Filament/Resources/Articles/ArticleResource.php +++ b/app/Filament/Resources/Articles/ArticleResource.php @@ -33,7 +33,7 @@ public static function getRelations(): array public static function getPages(): array { return [ - 'index' => ListArticles::route('/') + 'index' => ListArticles::route('/'), ]; } } diff --git a/app/Filament/Resources/Articles/Tables/ArticlesTable.php b/app/Filament/Resources/Articles/Tables/ArticlesTable.php index a6817c114..ab36ece53 100644 --- a/app/Filament/Resources/Articles/Tables/ArticlesTable.php +++ b/app/Filament/Resources/Articles/Tables/ArticlesTable.php @@ -4,8 +4,6 @@ use App\Models\Article; use Filament\Actions\Action; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; use Filament\Tables\Columns\ImageColumn; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Filters\Filter; @@ -24,11 +22,11 @@ public static function configure(Table $table): Table ->label('Author') ->circular() ->width('1%') - ->defaultImageUrl(fn(?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), + ->defaultImageUrl(fn (?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), TextColumn::make('authorRelation.name') ->label('') - ->description(fn(Article $article): ?string => $article->authorRelation->username), + ->description(fn (Article $article): ?string => $article->authorRelation->username), TextColumn::make('title') ->searchable(['title', 'slug', 'body']), @@ -40,12 +38,12 @@ public static function configure(Table $table): Table ]) ->filters([ Filter::make('awaiting_approvals') - ->query(fn(Builder $query): Builder => $query->awaitingApproval()) - ->default() + ->query(fn (Builder $query): Builder => $query->awaitingApproval()) + ->default(), ]) ->recordActions([ Action::make('view') - ->url(fn(Article $article): string => route('articles.show', $article->slug())) + ->url(fn (Article $article): string => route('articles.show', $article->slug())) ->openUrlInNewTab() ->icon('heroicon-s-eye'), ]) diff --git a/app/Filament/Resources/Replies/Tables/RepliesTable.php b/app/Filament/Resources/Replies/Tables/RepliesTable.php index 8f4736993..52cc8defd 100644 --- a/app/Filament/Resources/Replies/Tables/RepliesTable.php +++ b/app/Filament/Resources/Replies/Tables/RepliesTable.php @@ -27,11 +27,11 @@ public static function configure(Table $table): Table ImageColumn::make('authorRelation.github_id') ->label('Author') ->circular() - ->defaultImageUrl(fn(?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), + ->defaultImageUrl(fn (?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), TextColumn::make('authorRelation.name') ->label('') - ->description(fn(Reply $reply): ?string => $reply->authorRelation->username), + ->description(fn (Reply $reply): ?string => $reply->authorRelation->username), TextColumn::make('replyAbleRelation.subject') ->label('Thread') @@ -64,11 +64,11 @@ public static function configure(Table $table): Table TernaryFilter::make('updated_by') ->label('Updated') - ->nullable() + ->nullable(), ]) ->recordActions([ Action::make('view') - ->url(fn(Reply $reply): string => route('thread', $reply->replyAble()->slug()) . '#' . $reply->id()) + ->url(fn (Reply $reply): string => route('thread', $reply->replyAble()->slug()).'#'.$reply->id()) ->openUrlInNewTab() ->icon('heroicon-s-eye'), diff --git a/app/Filament/Resources/Users/Tables/UsersTable.php b/app/Filament/Resources/Users/Tables/UsersTable.php index 4787a2f57..24a4b5a2b 100644 --- a/app/Filament/Resources/Users/Tables/UsersTable.php +++ b/app/Filament/Resources/Users/Tables/UsersTable.php @@ -34,13 +34,13 @@ public static function configure(Table $table): Table ->label('Name') ->circular() ->width('0%') - ->defaultImageUrl(fn(?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), + ->defaultImageUrl(fn (?string $state): string => $state ? sprintf('https://avatars.githubusercontent.com/u/%s', $state) : asset('images/laravelio-icon-gray.svg')), TextColumn::make('username') ->label('') ->searchable() - ->formatStateUsing(fn(User $user): ?string => $user->name) - ->description(fn(User $user): ?string => $user->username), + ->formatStateUsing(fn (User $user): ?string => $user->name) + ->description(fn (User $user): ?string => $user->username), TextColumn::make('email') ->searchable() @@ -49,7 +49,7 @@ public static function configure(Table $table): Table TextColumn::make('type') ->label('Role') ->badge() - ->formatStateUsing(fn(string $state): string => match ($state) { + ->formatStateUsing(fn (string $state): string => match ($state) { '1' => 'User', '2' => 'Moderator', '3' => 'Admin', @@ -63,7 +63,7 @@ public static function configure(Table $table): Table TextColumn::make('created_at') ->label('Joined on') ->dateTime() - ->sortable() + ->sortable(), ]) ->filters([ SelectFilter::make('type') @@ -75,11 +75,11 @@ public static function configure(Table $table): Table TernaryFilter::make('banned_at') ->label('Banned') - ->nullable() + ->nullable(), ]) ->recordActions([ Action::make('view') - ->url(fn(User $user): string => route('profile', $user->username)) + ->url(fn (User $user): string => route('profile', $user->username)) ->openUrlInNewTab() ->icon('heroicon-s-eye'), @@ -89,7 +89,7 @@ public static function configure(Table $table): Table VerifyAuthor::dispatchSync($user); Notification::make() - ->title($user->name . ' is now a verified author.') + ->title($user->name.' is now a verified author.') ->success() ->send(); }) @@ -97,14 +97,14 @@ public static function configure(Table $table): Table ->color('primary') ->icon('heroicon-s-check-circle') ->requiresConfirmation() - ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::ADMIN, $user) && ! $user->isVerifiedAuthor()), + ->visible(fn (User $user): bool => auth()->user()->can(UserPolicy::ADMIN, $user) && ! $user->isVerifiedAuthor()), Action::make('unverify_author') ->action(function (User $user) { UnVerifyAuthor::dispatchSync($user); Notification::make() - ->title($user->name . '\'s threads have been deleted.') + ->title($user->name.'\'s threads have been deleted.') ->success() ->send(); }) @@ -112,7 +112,7 @@ public static function configure(Table $table): Table ->color('danger') ->icon('heroicon-s-x-circle') ->requiresConfirmation() - ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::ADMIN, $user) && $user->isVerifiedAuthor()), + ->visible(fn (User $user): bool => auth()->user()->can(UserPolicy::ADMIN, $user) && $user->isVerifiedAuthor()), Action::make('ban_author') ->schema([ @@ -134,7 +134,7 @@ public static function configure(Table $table): Table Notification::make() ->title( - $user->name . ' is now banned.' . ($data['delete_threads'] ? ' And all his threads are now deleted.' : '') + $user->name.' is now banned.'.($data['delete_threads'] ? ' And all his threads are now deleted.' : '') ) ->success() ->send(); @@ -144,7 +144,7 @@ public static function configure(Table $table): Table ->color('danger') ->icon('heroicon-s-check-circle') ->requiresConfirmation() - ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::BAN, $user) && ! $user->isBanned()), + ->visible(fn (User $user): bool => auth()->user()->can(UserPolicy::BAN, $user) && ! $user->isBanned()), Action::make('unban_author') ->action(function (User $user) { @@ -152,7 +152,7 @@ public static function configure(Table $table): Table UnbanUser::dispatchSync($user); Notification::make() - ->title($user->name . ' is no longer a banned user.') + ->title($user->name.' is no longer a banned user.') ->success() ->send(); }) @@ -160,14 +160,14 @@ public static function configure(Table $table): Table ->color('primary') ->icon('heroicon-s-x-circle') ->requiresConfirmation() - ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::BAN, $user) && $user->isBanned()), + ->visible(fn (User $user): bool => auth()->user()->can(UserPolicy::BAN, $user) && $user->isBanned()), Action::make('delete_threads') ->action(function (User $user) { DeleteUserThreads::dispatchSync($user); Notification::make() - ->title($user->name . '\'s threads have been deleted.') + ->title($user->name.'\'s threads have been deleted.') ->success() ->send(); }) @@ -175,14 +175,14 @@ public static function configure(Table $table): Table ->color('danger') ->icon('heroicon-s-archive-box-x-mark') ->requiresConfirmation() - ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::DELETE, $user)), + ->visible(fn (User $user): bool => auth()->user()->can(UserPolicy::DELETE, $user)), DeleteAction::make() - ->visible(fn(User $user): bool => auth()->user()->can(UserPolicy::DELETE, $user)), + ->visible(fn (User $user): bool => auth()->user()->can(UserPolicy::DELETE, $user)), ]), ]) ->toolbarActions([ - // + // ]); } } diff --git a/app/Filament/Widgets/ArticlesStatsOverview.php b/app/Filament/Widgets/ArticlesStatsOverview.php index 50d340738..5fa88a3d9 100644 --- a/app/Filament/Widgets/ArticlesStatsOverview.php +++ b/app/Filament/Widgets/ArticlesStatsOverview.php @@ -16,30 +16,30 @@ protected function getStats(): array $cacheTtlSeconds = 300; // 5 minutes $total = cache()->remember( - "widgets:articles:total", + 'widgets:articles:total', now()->addSeconds($cacheTtlSeconds), - fn() => Article::query()->count(), + fn () => Article::query()->count(), ); $publishedTotal = cache()->remember( - "widgets:articles:published:total", + 'widgets:articles:published:total', now()->addSeconds($cacheTtlSeconds), - fn() => Article::query()->published()->count(), + fn () => Article::query()->published()->count(), ); $publishedWindow = cache()->remember( "widgets:articles:published:{$window}", now()->addSeconds($cacheTtlSeconds), - fn() => Article::query() + fn () => Article::query() ->published() ->where('submitted_at', '>=', now()->subDays($window)) ->count(), ); $awaiting = cache()->remember( - "widgets:articles:awaiting", + 'widgets:articles:awaiting', now()->addSeconds(60), - fn() => Article::query()->awaitingApproval()->count(), + fn () => Article::query()->awaitingApproval()->count(), ); return [ diff --git a/app/Filament/Widgets/ArticlesTrendChart.php b/app/Filament/Widgets/ArticlesTrendChart.php index deb925453..aa0da196c 100644 --- a/app/Filament/Widgets/ArticlesTrendChart.php +++ b/app/Filament/Widgets/ArticlesTrendChart.php @@ -11,6 +11,7 @@ class ArticlesTrendChart extends ChartWidget { protected ?string $heading = 'Articles per Month'; + protected ?string $pollingInterval = '30s'; protected function getType(): string @@ -32,11 +33,11 @@ protected function getData(): array 'datasets' => [ [ 'label' => 'Submitted', - 'data' => $data->map(fn(TrendValue $value) => $value->aggregate), + 'data' => $data->map(fn (TrendValue $value) => $value->aggregate), 'tension' => 0.35, ], ], - 'labels' => $data->map(fn(TrendValue $value) => Carbon::parse($value->date)->format('M Y')), + 'labels' => $data->map(fn (TrendValue $value) => Carbon::parse($value->date)->format('M Y')), ]; } } diff --git a/app/Filament/Widgets/RepliesStatsOverview.php b/app/Filament/Widgets/RepliesStatsOverview.php index 1b8b3cb7e..53bd83156 100644 --- a/app/Filament/Widgets/RepliesStatsOverview.php +++ b/app/Filament/Widgets/RepliesStatsOverview.php @@ -18,19 +18,19 @@ protected function getStats(): array $total = cache()->remember( 'widgets:replies:total', now()->addSeconds($cacheTtlSeconds), - fn() => Reply::query()->count(), + fn () => Reply::query()->count(), ); $lastWindow = cache()->remember( "widgets:replies:new:{$window}", now()->addSeconds($cacheTtlSeconds), - fn() => Reply::query()->where('created_at', '>=', now()->subDays($window))->count(), + fn () => Reply::query()->where('created_at', '>=', now()->subDays($window))->count(), ); $solutions = cache()->remember( 'widgets:replies:solutions', now()->addSeconds($cacheTtlSeconds), - fn() => Reply::query()->isSolution()->count(), + fn () => Reply::query()->isSolution()->count(), ); return [ diff --git a/app/Filament/Widgets/RepliesTrendChart.php b/app/Filament/Widgets/RepliesTrendChart.php index 0fa74870a..3801b25fd 100644 --- a/app/Filament/Widgets/RepliesTrendChart.php +++ b/app/Filament/Widgets/RepliesTrendChart.php @@ -11,6 +11,7 @@ class RepliesTrendChart extends ChartWidget { protected ?string $heading = 'Replies per Month'; + protected ?string $pollingInterval = '30s'; protected function getType(): string @@ -32,11 +33,11 @@ protected function getData(): array 'datasets' => [ [ 'label' => 'Submitted', - 'data' => $data->map(fn(TrendValue $value) => $value->aggregate), + 'data' => $data->map(fn (TrendValue $value) => $value->aggregate), 'tension' => 0.35, ], ], - 'labels' => $data->map(fn(TrendValue $value) => Carbon::parse($value->date)->format('M Y')), + 'labels' => $data->map(fn (TrendValue $value) => Carbon::parse($value->date)->format('M Y')), ]; } } diff --git a/app/Filament/Widgets/UsersStatsOverview.php b/app/Filament/Widgets/UsersStatsOverview.php index 4e60bc19c..a2617084d 100644 --- a/app/Filament/Widgets/UsersStatsOverview.php +++ b/app/Filament/Widgets/UsersStatsOverview.php @@ -19,19 +19,19 @@ protected function getStats(): array $total = cache()->remember( 'widgets:users:total', now()->addSeconds($cacheTtlSeconds), - fn() => User::query()->count(), + fn () => User::query()->count(), ); $lastWindow = cache()->remember( "widgets:users:new:{$window}", now()->addSeconds($cacheTtlSeconds), - fn() => User::query()->where('created_at', '>=', now()->subDays($window))->count(), + fn () => User::query()->where('created_at', '>=', now()->subDays($window))->count(), ); $verified = cache()->remember( 'widgets:users:verified', now()->addSeconds($cacheTtlSeconds), - fn() => User::query()->whereNotNull('author_verified_at')->count(), + fn () => User::query()->whereNotNull('author_verified_at')->count(), ); return [ diff --git a/app/Filament/Widgets/UsersTrendChart.php b/app/Filament/Widgets/UsersTrendChart.php index 680edb9d9..13189f4af 100644 --- a/app/Filament/Widgets/UsersTrendChart.php +++ b/app/Filament/Widgets/UsersTrendChart.php @@ -11,6 +11,7 @@ class UsersTrendChart extends ChartWidget { protected ?string $heading = 'New Users per Month'; + protected ?string $pollingInterval = '30s'; protected function getType(): string @@ -32,11 +33,11 @@ protected function getData(): array 'datasets' => [ [ 'label' => 'Submitted', - 'data' => $data->map(fn(TrendValue $value) => $value->aggregate), + 'data' => $data->map(fn (TrendValue $value) => $value->aggregate), 'tension' => 0.35, ], ], - 'labels' => $data->map(fn(TrendValue $value) => Carbon::parse($value->date)->format('M Y')), + 'labels' => $data->map(fn (TrendValue $value) => Carbon::parse($value->date)->format('M Y')), ]; } } diff --git a/app/Jobs/DeleteUserThreads.php b/app/Jobs/DeleteUserThreads.php index 1fc6865eb..33dec1176 100644 --- a/app/Jobs/DeleteUserThreads.php +++ b/app/Jobs/DeleteUserThreads.php @@ -9,7 +9,7 @@ final class DeleteUserThreads implements ShouldQueue { use Queueable; - + public function __construct(private User $user) {} public function handle(): void diff --git a/app/Jobs/UnbanUser.php b/app/Jobs/UnbanUser.php index 2d8d0fd34..8e3173d45 100644 --- a/app/Jobs/UnbanUser.php +++ b/app/Jobs/UnbanUser.php @@ -9,7 +9,7 @@ final class UnbanUser implements ShouldQueue { use Queueable; - + public function __construct(private User $user) {} public function handle(): void diff --git a/app/Models/User.php b/app/Models/User.php index 1390fa740..1914dbf3f 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -7,7 +7,6 @@ use App\Enums\NotificationType; use App\Policies\UserPolicy; use Carbon\Carbon; -use Filament\Facades\Filament; use Filament\Models\Contracts\FilamentUser; use Filament\Panel; use Illuminate\Contracts\Auth\MustVerifyEmail; @@ -22,7 +21,7 @@ use Laravel\Sanctum\HasApiTokens; use Laravel\Scout\Searchable; -final class User extends Authenticatable implements MustVerifyEmail, FilamentUser +final class User extends Authenticatable implements FilamentUser, MustVerifyEmail { use HasApiTokens; use HasFactory; diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index a262d5a78..388a5ae6e 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -65,7 +65,7 @@ public function panel(Panel $panel): Panel ]) ->userMenuItems([ Action::make('Horizon') - ->url(fn(): string => route('horizon.index')) + ->url(fn (): string => route('horizon.index')) ->icon('heroicon-o-presentation-chart-bar') ->openUrlInNewTab(), ]) diff --git a/tests/Feature/AdminTest.php b/tests/Feature/AdminTest.php index d2a57e97d..33c395b8a 100644 --- a/tests/Feature/AdminTest.php +++ b/tests/Feature/AdminTest.php @@ -6,9 +6,10 @@ use App\Models\Thread; use App\Models\User; use Carbon\Carbon; +use Filament\Actions\Testing\TestAction; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; -use Filament\Actions\Testing\TestAction; + use function Pest\Livewire\livewire; uses(TestCase::class); From 8d05a86c7ea82e7c6d45cfe0d3e0c5ce877078a8 Mon Sep 17 00:00:00 2001 From: Hocine Saad Date: Fri, 19 Sep 2025 19:30:39 +0100 Subject: [PATCH 116/126] Set "/" as the URL for the logo in the admin panel (#1365) --- app/Providers/Filament/AdminPanelProvider.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 388a5ae6e..1e60cae2e 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -70,6 +70,7 @@ public function panel(Panel $panel): Panel ->openUrlInNewTab(), ]) ->brandLogo(asset('images/laravelio-logo.svg')) + ->homeUrl('/') ->unsavedChangesAlerts() ->globalSearch(false) ->topNavigation() From 308e5fcf771cfd5c6f8149cf01ea4d196541407e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 09:05:07 +0200 Subject: [PATCH 117/126] Bump @tailwindcss/typography in the js-dependencies group (#1367) Bumps the js-dependencies group with 1 update: [@tailwindcss/typography](https://github.com/tailwindlabs/tailwindcss-typography). Updates `@tailwindcss/typography` from 0.5.16 to 0.5.19 - [Release notes](https://github.com/tailwindlabs/tailwindcss-typography/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss-typography/compare/v0.5.16...v0.5.19) --- updated-dependencies: - dependency-name: "@tailwindcss/typography" dependency-version: 0.5.19 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5a2dc47be..25e6d607b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1282,15 +1282,12 @@ } }, "node_modules/@tailwindcss/typography": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz", - "integrity": "sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", + "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", "dev": true, "license": "MIT", "dependencies": { - "lodash.castarray": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", "postcss-selector-parser": "6.0.10" }, "peerDependencies": { @@ -2028,27 +2025,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lodash.castarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", - "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/magic-string": { "version": "0.30.18", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz", From 842f5e88bbfec0f6c8359d53b4b5bcc2201463fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 08:38:34 +0200 Subject: [PATCH 118/126] Bump the js-dependencies group with 2 updates (#1372) Bumps the js-dependencies group with 2 updates: [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss). Updates `@tailwindcss/vite` from 4.1.13 to 4.1.14 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.14/packages/@tailwindcss-vite) Updates `tailwindcss` from 4.1.13 to 4.1.14 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.14/packages/tailwindcss) --- updated-dependencies: - dependency-name: "@tailwindcss/vite" dependency-version: 4.1.14 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies - dependency-name: tailwindcss dependency-version: 4.1.14 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: js-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 221 +++++++++++++++++++++------------------------- 1 file changed, 102 insertions(+), 119 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25e6d607b..d847fa324 100644 --- a/package-lock.json +++ b/package-lock.json @@ -646,9 +646,9 @@ "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.30", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", - "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "license": "MIT", "dependencies": { @@ -960,54 +960,54 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.13.tgz", - "integrity": "sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.14.tgz", + "integrity": "sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", - "jiti": "^2.5.1", + "jiti": "^2.6.0", "lightningcss": "1.30.1", - "magic-string": "^0.30.18", + "magic-string": "^0.30.19", "source-map-js": "^1.2.1", - "tailwindcss": "4.1.13" + "tailwindcss": "4.1.14" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.13.tgz", - "integrity": "sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.14.tgz", + "integrity": "sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { "detect-libc": "^2.0.4", - "tar": "^7.4.3" + "tar": "^7.5.1" }, "engines": { "node": ">= 10" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.13", - "@tailwindcss/oxide-darwin-arm64": "4.1.13", - "@tailwindcss/oxide-darwin-x64": "4.1.13", - "@tailwindcss/oxide-freebsd-x64": "4.1.13", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.13", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.13", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.13", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.13", - "@tailwindcss/oxide-linux-x64-musl": "4.1.13", - "@tailwindcss/oxide-wasm32-wasi": "4.1.13", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.13", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.13" + "@tailwindcss/oxide-android-arm64": "4.1.14", + "@tailwindcss/oxide-darwin-arm64": "4.1.14", + "@tailwindcss/oxide-darwin-x64": "4.1.14", + "@tailwindcss/oxide-freebsd-x64": "4.1.14", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.14", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.14", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.14", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.14", + "@tailwindcss/oxide-linux-x64-musl": "4.1.14", + "@tailwindcss/oxide-wasm32-wasi": "4.1.14", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.14", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.14" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.13.tgz", - "integrity": "sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.14.tgz", + "integrity": "sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==", "cpu": [ "arm64" ], @@ -1022,9 +1022,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.13.tgz", - "integrity": "sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.14.tgz", + "integrity": "sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==", "cpu": [ "arm64" ], @@ -1039,9 +1039,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.13.tgz", - "integrity": "sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.14.tgz", + "integrity": "sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==", "cpu": [ "x64" ], @@ -1056,9 +1056,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.13.tgz", - "integrity": "sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.14.tgz", + "integrity": "sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==", "cpu": [ "x64" ], @@ -1073,9 +1073,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.13.tgz", - "integrity": "sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.14.tgz", + "integrity": "sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==", "cpu": [ "arm" ], @@ -1090,9 +1090,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.13.tgz", - "integrity": "sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.14.tgz", + "integrity": "sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==", "cpu": [ "arm64" ], @@ -1107,9 +1107,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.13.tgz", - "integrity": "sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.14.tgz", + "integrity": "sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==", "cpu": [ "arm64" ], @@ -1124,9 +1124,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.13.tgz", - "integrity": "sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.14.tgz", + "integrity": "sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==", "cpu": [ "x64" ], @@ -1141,9 +1141,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.13.tgz", - "integrity": "sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.14.tgz", + "integrity": "sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==", "cpu": [ "x64" ], @@ -1158,9 +1158,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.13.tgz", - "integrity": "sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.14.tgz", + "integrity": "sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -1176,30 +1176,30 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.5", - "@emnapi/runtime": "^1.4.5", - "@emnapi/wasi-threads": "^1.0.4", - "@napi-rs/wasm-runtime": "^0.2.12", - "@tybys/wasm-util": "^0.10.0", - "tslib": "^2.8.0" + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.5", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { - "version": "1.4.5", + "version": "1.5.0", "dev": true, "inBundle": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.0.4", + "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { - "version": "1.4.5", + "version": "1.5.0", "dev": true, "inBundle": true, "license": "MIT", @@ -1209,7 +1209,7 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { - "version": "1.0.4", + "version": "1.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -1219,19 +1219,19 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", + "version": "1.0.5", "dev": true, "inBundle": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@tybys/wasm-util": "^0.10.1" } }, "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { - "version": "0.10.0", + "version": "0.10.1", "dev": true, "inBundle": true, "license": "MIT", @@ -1241,16 +1241,16 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { - "version": "2.8.0", + "version": "2.8.1", "dev": true, "inBundle": true, "license": "0BSD", "optional": true }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.13.tgz", - "integrity": "sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.14.tgz", + "integrity": "sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==", "cpu": [ "arm64" ], @@ -1265,9 +1265,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.13.tgz", - "integrity": "sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.14.tgz", + "integrity": "sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA==", "cpu": [ "x64" ], @@ -1295,15 +1295,15 @@ } }, "node_modules/@tailwindcss/vite": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.13.tgz", - "integrity": "sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.14.tgz", + "integrity": "sha512-BoFUoU0XqgCUS1UXWhmDJroKKhNXeDzD7/XwabjkDIAbMnc4ULn5e2FuEuBbhZ6ENZoSYzKlzvZ44Yr6EUDUSA==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.13", - "@tailwindcss/oxide": "4.1.13", - "tailwindcss": "4.1.13" + "@tailwindcss/node": "4.1.14", + "@tailwindcss/oxide": "4.1.14", + "tailwindcss": "4.1.14" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" @@ -1757,9 +1757,9 @@ } }, "node_modules/jiti": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", - "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, "license": "MIT", "bin": { @@ -2026,9 +2026,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.18", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz", - "integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==", + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", "dev": true, "license": "MIT", "dependencies": { @@ -2089,9 +2089,9 @@ } }, "node_modules/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", "dev": true, "license": "MIT", "dependencies": { @@ -2101,22 +2101,6 @@ "node": ">= 18" } }, - "node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -2280,16 +2264,16 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.13.tgz", - "integrity": "sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.14.tgz", + "integrity": "sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==", "dev": true, "license": "MIT" }, "node_modules/tapable": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", - "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, "license": "MIT", "engines": { @@ -2301,17 +2285,16 @@ } }, "node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", "dev": true, "license": "ISC", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", + "minizlib": "^3.1.0", "yallist": "^5.0.0" }, "engines": { From 51a2a6f68b8081ebe5294d90de4423f477faad8b Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 3 Oct 2025 09:20:16 +0200 Subject: [PATCH 119/126] Add auto merge workflow --- .github/workflows/tests.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 272b6eea8..e2eb80e77 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -51,7 +51,20 @@ jobs: DB_CONNECTION: mysql DB_COLLATION: utf8mb4_unicode_ci DB_DATABASE: laravel + + dependabot: + permissions: + pull-requests: write + contents: write + uses: driesvints/github-workflows/.github/workflows/dependabot.yml@main + secrets: + gh_token: ${{ secrets.GITHUB_TOKEN }} + deploy: + needs: [tests] + runs-on: ubuntu-latest + + steps: - name: Deploy if: github.repository == 'laravelio/laravel.io' && github.ref_name == 'main' run: curl ${{ secrets.ENVOYER_HOOK }}?sha=${{ github.sha }} From 0c79bce5295f012b66c457b213fca9008c9d2b42 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Fri, 3 Oct 2025 09:20:38 +0200 Subject: [PATCH 120/126] wip --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e2eb80e77..366a0a579 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -53,6 +53,7 @@ jobs: DB_DATABASE: laravel dependabot: + needs: [tests] permissions: pull-requests: write contents: write From 8ca508d5570b70d64f22dc83095d97858679d397 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Mon, 6 Oct 2025 20:56:33 +0200 Subject: [PATCH 121/126] Remove sponsor --- README.md | 1 - public/images/sponsors/litslink.png | Bin 12524 -> 0 bytes resources/views/layouts/_sponsors.blade.php | 4 ---- 3 files changed, 5 deletions(-) delete mode 100644 public/images/sponsors/litslink.png diff --git a/README.md b/README.md index 0a5aef126..1bd6bd7aa 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,6 @@ We'd like to thank these **amazing companies** for sponsoring us. If you are int - [Tinkerwell](https://tinkerwell.app) - [BairesDev](https://www.bairesdev.com/sponsoring-open-source-projects/) - [N-iX](https://www.n-ix.com/) -- [Litslink](https://litslink.com/) ## Requirements diff --git a/public/images/sponsors/litslink.png b/public/images/sponsors/litslink.png deleted file mode 100644 index 016b48a2ff89bf4f1b44bbe54edafb8d53401839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12524 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
  • - -
    - -
    From f0594800c15e7a383feab779032e1a7f6b785b7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 03:03:49 +0000 Subject: [PATCH 122/126] Bump the php-dependencies group across 1 directory with 6 updates (#1376) Bumps the php-dependencies group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [filament/filament](https://github.com/filamentphp/panels) | `4.0.7` | `4.1.6` | | [laravel/horizon](https://github.com/laravel/horizon) | `5.34.0` | `5.35.2` | | [laravel/nightwatch](https://github.com/laravel/nightwatch) | `1.13.6` | `1.15.0` | | [livewire/flux](https://github.com/livewire/flux) | `2.4.0` | `2.5.1` | | [symfony/http-client](https://github.com/symfony/http-client) | `7.3.3` | `7.3.4` | Updates `filament/filament` from 4.0.7 to 4.1.6 - [Commits](https://github.com/filamentphp/panels/compare/v4.0.7...v4.1.6) Updates `laravel/framework` from 11.46.0 to 11.46.1 - [Release notes](https://github.com/laravel/framework/releases) - [Changelog](https://github.com/laravel/framework/blob/12.x/CHANGELOG.md) - [Commits](https://github.com/laravel/framework/compare/v11.46.0...v11.46.1) Updates `laravel/horizon` from 5.34.0 to 5.35.2 - [Release notes](https://github.com/laravel/horizon/releases) - [Changelog](https://github.com/laravel/horizon/blob/5.x/CHANGELOG.md) - [Commits](https://github.com/laravel/horizon/compare/v5.34.0...v5.35.2) Updates `laravel/nightwatch` from 1.13.6 to 1.15.0 - [Release notes](https://github.com/laravel/nightwatch/releases) - [Changelog](https://github.com/laravel/nightwatch/blob/1.x/CHANGELOG.md) - [Commits](https://github.com/laravel/nightwatch/compare/v1.13.6...v1.15.0) Updates `livewire/flux` from 2.4.0 to 2.5.1 - [Release notes](https://github.com/livewire/flux/releases) - [Commits](https://github.com/livewire/flux/compare/v2.4.0...v2.5.1) Updates `symfony/http-client` from 7.3.3 to 7.3.4 - [Release notes](https://github.com/symfony/http-client/releases) - [Changelog](https://github.com/symfony/http-client/blob/7.3/CHANGELOG.md) - [Commits](https://github.com/symfony/http-client/compare/v7.3.3...v7.3.4) --- updated-dependencies: - dependency-name: filament/filament dependency-version: 4.1.6 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: laravel/framework dependency-version: 11.46.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: laravel/horizon dependency-version: 5.35.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: laravel/nightwatch dependency-version: 1.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: livewire/flux dependency-version: 2.5.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: symfony/http-client dependency-version: 7.3.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 448 +++++++++++++++++++++++++++++--------------------- 1 file changed, 265 insertions(+), 183 deletions(-) diff --git a/composer.lock b/composer.lock index 5cf94f18e..9263f7491 100644 --- a/composer.lock +++ b/composer.lock @@ -721,16 +721,16 @@ }, { "name": "chillerlan/php-qrcode", - "version": "5.0.3", + "version": "5.0.4", "source": { "type": "git", "url": "https://github.com/chillerlan/php-qrcode.git", - "reference": "42e215640e9ebdd857570c9e4e52245d1ee51de2" + "reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/42e215640e9ebdd857570c9e4e52245d1ee51de2", - "reference": "42e215640e9ebdd857570c9e4e52245d1ee51de2", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/390393e97a6e42ccae0e0d6205b8d4200f7ddc43", + "reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43", "shasum": "" }, "require": { @@ -741,13 +741,13 @@ "require-dev": { "chillerlan/php-authenticator": "^4.3.1 || ^5.2.1", "ext-fileinfo": "*", - "phan/phan": "^5.4.5", + "phan/phan": "^5.5.1", "phpcompatibility/php-compatibility": "10.x-dev", "phpmd/phpmd": "^2.15", "phpunit/phpunit": "^9.6", "setasign/fpdf": "^1.8.2", - "slevomat/coding-standard": "^8.15", - "squizlabs/php_codesniffer": "^3.11" + "slevomat/coding-standard": "^8.23.0", + "squizlabs/php_codesniffer": "^4.0.0" }, "suggest": { "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", @@ -810,7 +810,7 @@ "type": "Ko-Fi" } ], - "time": "2024-11-21T16:12:34+00:00" + "time": "2025-09-19T17:30:27+00:00" }, { "name": "chillerlan/php-settings-container", @@ -1591,16 +1591,16 @@ }, { "name": "filament/actions", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "839ce7099627bea6f44fb71d4302e2696795fede" + "reference": "bd54da3378705c246c4a0c2d7f185853295bbcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/839ce7099627bea6f44fb71d4302e2696795fede", - "reference": "839ce7099627bea6f44fb71d4302e2696795fede", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/bd54da3378705c246c4a0c2d7f185853295bbcd9", + "reference": "bd54da3378705c246c4a0c2d7f185853295bbcd9", "shasum": "" }, "require": { @@ -1636,20 +1636,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:54+00:00" + "time": "2025-10-07T12:45:33+00:00" }, { "name": "filament/filament", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "5cc9f39f8f2112776d66cd0daeab8430f77921ce" + "reference": "d03d2f80f08002e55c9617bb480dc8cd0403892a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/5cc9f39f8f2112776d66cd0daeab8430f77921ce", - "reference": "5cc9f39f8f2112776d66cd0daeab8430f77921ce", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/d03d2f80f08002e55c9617bb480dc8cd0403892a", + "reference": "d03d2f80f08002e55c9617bb480dc8cd0403892a", "shasum": "" }, "require": { @@ -1693,20 +1693,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:49+00:00" + "time": "2025-10-08T11:01:55+00:00" }, { "name": "filament/forms", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "8aea1f3a16bceefd226554953013c457aa430c40" + "reference": "ddfa808665077bccae64242dc763e0434e98183f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/8aea1f3a16bceefd226554953013c457aa430c40", - "reference": "8aea1f3a16bceefd226554953013c457aa430c40", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/ddfa808665077bccae64242dc763e0434e98183f", + "reference": "ddfa808665077bccae64242dc763e0434e98183f", "shasum": "" }, "require": { @@ -1743,20 +1743,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:46+00:00" + "time": "2025-10-08T10:40:16+00:00" }, { "name": "filament/infolists", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "ecf47afbcc80732671b7c9170e7d9807a9f5a22b" + "reference": "0817b9c0e5e15e0e19b57e01322083b80cf4b715" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/ecf47afbcc80732671b7c9170e7d9807a9f5a22b", - "reference": "ecf47afbcc80732671b7c9170e7d9807a9f5a22b", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/0817b9c0e5e15e0e19b57e01322083b80cf4b715", + "reference": "0817b9c0e5e15e0e19b57e01322083b80cf4b715", "shasum": "" }, "require": { @@ -1788,20 +1788,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:51+00:00" + "time": "2025-09-29T08:02:20+00:00" }, { "name": "filament/notifications", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", - "reference": "378b819305ca262eb8f0677774105dfccce49ac1" + "reference": "0930beeea0b2d2e9bdc95a28b65409f960ebf81a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/notifications/zipball/378b819305ca262eb8f0677774105dfccce49ac1", - "reference": "378b819305ca262eb8f0677774105dfccce49ac1", + "url": "https://api.github.com/repos/filamentphp/notifications/zipball/0930beeea0b2d2e9bdc95a28b65409f960ebf81a", + "reference": "0930beeea0b2d2e9bdc95a28b65409f960ebf81a", "shasum": "" }, "require": { @@ -1835,20 +1835,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:43+00:00" + "time": "2025-10-06T08:11:03+00:00" }, { "name": "filament/schemas", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/schemas.git", - "reference": "328a2b34e812a56b33cf6e4184e1f177094b4a47" + "reference": "21f58ba01bd88e1fca2c1fa9a06ddfa949e9270b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/schemas/zipball/328a2b34e812a56b33cf6e4184e1f177094b4a47", - "reference": "328a2b34e812a56b33cf6e4184e1f177094b4a47", + "url": "https://api.github.com/repos/filamentphp/schemas/zipball/21f58ba01bd88e1fca2c1fa9a06ddfa949e9270b", + "reference": "21f58ba01bd88e1fca2c1fa9a06ddfa949e9270b", "shasum": "" }, "require": { @@ -1880,20 +1880,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:50+00:00" + "time": "2025-10-06T08:10:46+00:00" }, { "name": "filament/support", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "48684756dd3609abebb5c659cf90113a26e9e219" + "reference": "e3294c6cd71d0b6c8cba8d20c99d5af651351a86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/48684756dd3609abebb5c659cf90113a26e9e219", - "reference": "48684756dd3609abebb5c659cf90113a26e9e219", + "url": "https://api.github.com/repos/filamentphp/support/zipball/e3294c6cd71d0b6c8cba8d20c99d5af651351a86", + "reference": "e3294c6cd71d0b6c8cba8d20c99d5af651351a86", "shasum": "" }, "require": { @@ -1938,20 +1938,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:45+00:00" + "time": "2025-10-08T10:40:12+00:00" }, { "name": "filament/tables", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "0c8e7f4f2bacfe1bea6dcfeb5c3d6cc0d173844f" + "reference": "b3bf48fd079d8abdf6dfb0936f1d1c8c4a4479ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/0c8e7f4f2bacfe1bea6dcfeb5c3d6cc0d173844f", - "reference": "0c8e7f4f2bacfe1bea6dcfeb5c3d6cc0d173844f", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/b3bf48fd079d8abdf6dfb0936f1d1c8c4a4479ab", + "reference": "b3bf48fd079d8abdf6dfb0936f1d1c8c4a4479ab", "shasum": "" }, "require": { @@ -1983,20 +1983,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:44+00:00" + "time": "2025-10-08T11:01:10+00:00" }, { "name": "filament/widgets", - "version": "v4.0.7", + "version": "v4.1.6", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", - "reference": "f761a52df367f8bde47d9d2518c3c0b646155345" + "reference": "f0b009e52737a2f973771928ada952ff577704ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/widgets/zipball/f761a52df367f8bde47d9d2518c3c0b646155345", - "reference": "f761a52df367f8bde47d9d2518c3c0b646155345", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/f0b009e52737a2f973771928ada952ff577704ba", + "reference": "f0b009e52737a2f973771928ada952ff577704ba", "shasum": "" }, "require": { @@ -2027,7 +2027,7 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-04T14:12:52+00:00" + "time": "2025-10-08T10:39:57+00:00" }, { "name": "firebase/php-jwt", @@ -3225,16 +3225,16 @@ }, { "name": "laravel/framework", - "version": "v11.46.0", + "version": "v11.46.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "2c6d85f22d08123ad45aa3a6726b16f06e68eecd" + "reference": "5fd457f807570a962a53b403b1346efe4cc80bb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/2c6d85f22d08123ad45aa3a6726b16f06e68eecd", - "reference": "2c6d85f22d08123ad45aa3a6726b16f06e68eecd", + "url": "https://api.github.com/repos/laravel/framework/zipball/5fd457f807570a962a53b403b1346efe4cc80bb8", + "reference": "5fd457f807570a962a53b403b1346efe4cc80bb8", "shasum": "" }, "require": { @@ -3436,20 +3436,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-09-08T21:54:34+00:00" + "time": "2025-09-30T14:51:32+00:00" }, { "name": "laravel/horizon", - "version": "v5.34.0", + "version": "v5.35.2", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "c110ff6ed494b57beb6b4102a92bb4bf896bb774" + "reference": "11f9a980d84de56402dec19cf1e78050b211fcef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/c110ff6ed494b57beb6b4102a92bb4bf896bb774", - "reference": "c110ff6ed494b57beb6b4102a92bb4bf896bb774", + "url": "https://api.github.com/repos/laravel/horizon/zipball/11f9a980d84de56402dec19cf1e78050b211fcef", + "reference": "11f9a980d84de56402dec19cf1e78050b211fcef", "shasum": "" }, "require": { @@ -3514,36 +3514,37 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.34.0" + "source": "https://github.com/laravel/horizon/tree/v5.35.2" }, - "time": "2025-09-12T15:15:45+00:00" + "time": "2025-10-08T12:50:15+00:00" }, { "name": "laravel/nightwatch", - "version": "v1.13.6", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/laravel/nightwatch.git", - "reference": "0dbf0329e6c99b797a66895f261340ea26c836e8" + "reference": "266b424ebdd663fabb56ace6005a6894170f41dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/nightwatch/zipball/0dbf0329e6c99b797a66895f261340ea26c836e8", - "reference": "0dbf0329e6c99b797a66895f261340ea26c836e8", + "url": "https://api.github.com/repos/laravel/nightwatch/zipball/266b424ebdd663fabb56ace6005a6894170f41dc", + "reference": "266b424ebdd663fabb56ace6005a6894170f41dc", "shasum": "" }, "require": { "ext-zlib": "*", "guzzlehttp/promises": "^2.0", "laravel/framework": "^10.0|^11.0|^12.0", - "monolog/monolog": "^3.0", + "monolog/monolog": "^3.6", "nesbot/carbon": "^2.0|^3.0", "php": "^8.2", "psr/http-message": "^1.0|^2.0", "psr/log": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.0", "symfony/console": "^6.0|^7.0", - "symfony/http-foundation": "^6.0|^7.0" + "symfony/http-foundation": "^6.0|^7.0", + "symfony/polyfill-php84": "^1.29" }, "require-dev": { "aws/aws-sdk-php": "^3.349", @@ -3603,20 +3604,20 @@ "issues": "https://github.com/laravel/nightwatch/issues", "source": "https://github.com/laravel/nightwatch" }, - "time": "2025-09-16T02:23:53+00:00" + "time": "2025-10-10T02:41:23+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.6", + "version": "v0.3.7", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "86a8b692e8661d0fb308cec64f3d176821323077" + "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/86a8b692e8661d0fb308cec64f3d176821323077", - "reference": "86a8b692e8661d0fb308cec64f3d176821323077", + "url": "https://api.github.com/repos/laravel/prompts/zipball/a1891d362714bc40c8d23b0b1d7090f022ea27cc", + "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc", "shasum": "" }, "require": { @@ -3633,8 +3634,8 @@ "illuminate/collections": "^10.0|^11.0|^12.0", "mockery/mockery": "^1.5", "pestphp/pest": "^2.3|^3.4", - "phpstan/phpstan": "^1.11", - "phpstan/phpstan-mockery": "^1.1" + "phpstan/phpstan": "^1.12.28", + "phpstan/phpstan-mockery": "^1.1.3" }, "suggest": { "ext-pcntl": "Required for the spinner to be animated." @@ -3660,9 +3661,9 @@ "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.6" + "source": "https://github.com/laravel/prompts/tree/v0.3.7" }, - "time": "2025-07-07T14:17:42+00:00" + "time": "2025-09-19T13:47:56+00:00" }, { "name": "laravel/sanctum", @@ -3811,16 +3812,16 @@ }, { "name": "laravel/serializable-closure", - "version": "v2.0.4", + "version": "v2.0.5", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841" + "reference": "3832547db6e0e2f8bb03d4093857b378c66eceed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b352cf0534aa1ae6b4d825d1e762e35d43f8a841", - "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3832547db6e0e2f8bb03d4093857b378c66eceed", + "reference": "3832547db6e0e2f8bb03d4093857b378c66eceed", "shasum": "" }, "require": { @@ -3868,7 +3869,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2025-03-19T13:51:03+00:00" + "time": "2025-09-22T17:29:40+00:00" }, { "name": "laravel/socialite", @@ -4262,16 +4263,16 @@ }, { "name": "league/csv", - "version": "9.24.1", + "version": "9.26.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8" + "reference": "7fce732754d043f3938899e5183e2d0f3d31b571" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/e0221a3f16aa2a823047d59fab5809d552e29bc8", - "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/7fce732754d043f3938899e5183e2d0f3d31b571", + "reference": "7fce732754d043f3938899e5183e2d0f3d31b571", "shasum": "" }, "require": { @@ -4287,7 +4288,7 @@ "phpstan/phpstan-deprecation-rules": "^1.2.1", "phpstan/phpstan-phpunit": "^1.4.2", "phpstan/phpstan-strict-rules": "^1.6.2", - "phpunit/phpunit": "^10.5.16 || ^11.5.22", + "phpunit/phpunit": "^10.5.16 || ^11.5.22 || ^12.3.6", "symfony/var-dumper": "^6.4.8 || ^7.3.0" }, "suggest": { @@ -4349,7 +4350,7 @@ "type": "github" } ], - "time": "2025-06-25T14:53:51+00:00" + "time": "2025-10-01T11:24:54+00:00" }, { "name": "league/flysystem", @@ -4928,16 +4929,16 @@ }, { "name": "livewire/flux", - "version": "v2.4.0", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/livewire/flux.git", - "reference": "8d83f34d64ab0542463e8e3feab4d166e1830ed9" + "reference": "7d236c6caa6a8fa8604caa08abf2ae630be12c24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/flux/zipball/8d83f34d64ab0542463e8e3feab4d166e1830ed9", - "reference": "8d83f34d64ab0542463e8e3feab4d166e1830ed9", + "url": "https://api.github.com/repos/livewire/flux/zipball/7d236c6caa6a8fa8604caa08abf2ae630be12c24", + "reference": "7d236c6caa6a8fa8604caa08abf2ae630be12c24", "shasum": "" }, "require": { @@ -4988,9 +4989,9 @@ ], "support": { "issues": "https://github.com/livewire/flux/issues", - "source": "https://github.com/livewire/flux/tree/v2.4.0" + "source": "https://github.com/livewire/flux/tree/v2.5.1" }, - "time": "2025-09-16T00:20:10+00:00" + "time": "2025-09-29T21:36:00+00:00" }, { "name": "livewire/livewire", @@ -6217,24 +6218,26 @@ }, { "name": "paragonie/constant_time_encoding", - "version": "v3.0.0", + "version": "v3.1.3", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "df1e7fde177501eee2037dd159cf04f5f301a512" + "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512", - "reference": "df1e7fde177501eee2037dd159cf04f5f301a512", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77", + "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77", "shasum": "" }, "require": { "php": "^8" }, "require-dev": { - "phpunit/phpunit": "^9", - "vimeo/psalm": "^4|^5" + "infection/infection": "^0", + "nikic/php-fuzzer": "^0", + "phpunit/phpunit": "^9|^10|^11", + "vimeo/psalm": "^4|^5|^6" }, "type": "library", "autoload": { @@ -6280,7 +6283,7 @@ "issues": "https://github.com/paragonie/constant_time_encoding/issues", "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2024-05-08T12:36:18+00:00" + "time": "2025-09-24T15:06:41+00:00" }, { "name": "paragonie/random_compat", @@ -6571,21 +6574,21 @@ }, { "name": "pragmarx/google2fa-qrcode", - "version": "v3.0.0", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/antonioribeiro/google2fa-qrcode.git", - "reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b" + "reference": "c23ebcc3a50de0d1566016a6dd1486e183bb78e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/ce4d8a729b6c93741c607cfb2217acfffb5bf76b", - "reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b", + "url": "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/c23ebcc3a50de0d1566016a6dd1486e183bb78e1", + "reference": "c23ebcc3a50de0d1566016a6dd1486e183bb78e1", "shasum": "" }, "require": { "php": ">=7.1", - "pragmarx/google2fa": ">=4.0" + "pragmarx/google2fa": "^4.0|^5.0|^6.0|^7.0|^8.0" }, "require-dev": { "bacon/bacon-qr-code": "^2.0", @@ -6632,9 +6635,9 @@ ], "support": { "issues": "https://github.com/antonioribeiro/google2fa-qrcode/issues", - "source": "https://github.com/antonioribeiro/google2fa-qrcode/tree/v3.0.0" + "source": "https://github.com/antonioribeiro/google2fa-qrcode/tree/v3.0.1" }, - "time": "2021-08-15T12:53:48+00:00" + "time": "2025-09-19T23:02:26+00:00" }, { "name": "predis/predis", @@ -9045,16 +9048,16 @@ }, { "name": "symfony/console", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7" + "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", - "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", + "url": "https://api.github.com/repos/symfony/console/zipball/2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", + "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", "shasum": "" }, "require": { @@ -9119,7 +9122,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.3" + "source": "https://github.com/symfony/console/tree/v7.3.4" }, "funding": [ { @@ -9139,7 +9142,7 @@ "type": "tidelift" } ], - "time": "2025-08-25T06:35:40+00:00" + "time": "2025-09-22T15:31:00+00:00" }, { "name": "symfony/css-selector", @@ -9346,16 +9349,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3" + "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/0b31a944fcd8759ae294da4d2808cbc53aebd0c3", - "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/99f81bc944ab8e5dae4f21b4ca9972698bbad0e4", + "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4", "shasum": "" }, "require": { @@ -9403,7 +9406,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.3.2" + "source": "https://github.com/symfony/error-handler/tree/v7.3.4" }, "funding": [ { @@ -9423,7 +9426,7 @@ "type": "tidelift" } ], - "time": "2025-07-07T08:17:57+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/event-dispatcher", @@ -9728,16 +9731,16 @@ }, { "name": "symfony/http-client", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019" + "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019", - "reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019", + "url": "https://api.github.com/repos/symfony/http-client/zipball/4b62871a01c49457cf2a8e560af7ee8a94b87a62", + "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62", "shasum": "" }, "require": { @@ -9804,7 +9807,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.3.3" + "source": "https://github.com/symfony/http-client/tree/v7.3.4" }, "funding": [ { @@ -9824,7 +9827,7 @@ "type": "tidelift" } ], - "time": "2025-08-27T07:45:05+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/http-client-contracts", @@ -9906,16 +9909,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00" + "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7475561ec27020196c49bb7c4f178d33d7d3dc00", - "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c061c7c18918b1b64268771aad04b40be41dd2e6", + "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6", "shasum": "" }, "require": { @@ -9965,7 +9968,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.3.3" + "source": "https://github.com/symfony/http-foundation/tree/v7.3.4" }, "funding": [ { @@ -9985,20 +9988,20 @@ "type": "tidelift" } ], - "time": "2025-08-20T08:04:18+00:00" + "time": "2025-09-16T08:38:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b" + "reference": "b796dffea7821f035047235e076b60ca2446e3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/72c304de37e1a1cec6d5d12b81187ebd4850a17b", - "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b796dffea7821f035047235e076b60ca2446e3cf", + "reference": "b796dffea7821f035047235e076b60ca2446e3cf", "shasum": "" }, "require": { @@ -10083,7 +10086,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.3.3" + "source": "https://github.com/symfony/http-kernel/tree/v7.3.4" }, "funding": [ { @@ -10103,20 +10106,20 @@ "type": "tidelift" } ], - "time": "2025-08-29T08:23:45+00:00" + "time": "2025-09-27T12:32:17+00:00" }, { "name": "symfony/mailer", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "a32f3f45f1990db8c4341d5122a7d3a381c7e575" + "reference": "ab97ef2f7acf0216955f5845484235113047a31d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/a32f3f45f1990db8c4341d5122a7d3a381c7e575", - "reference": "a32f3f45f1990db8c4341d5122a7d3a381c7e575", + "url": "https://api.github.com/repos/symfony/mailer/zipball/ab97ef2f7acf0216955f5845484235113047a31d", + "reference": "ab97ef2f7acf0216955f5845484235113047a31d", "shasum": "" }, "require": { @@ -10167,7 +10170,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.3.3" + "source": "https://github.com/symfony/mailer/tree/v7.3.4" }, "funding": [ { @@ -10187,7 +10190,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T11:49:31+00:00" + "time": "2025-09-17T05:51:54+00:00" }, { "name": "symfony/mailgun-mailer", @@ -10260,16 +10263,16 @@ }, { "name": "symfony/mime", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1" + "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/e0a0f859148daf1edf6c60b398eb40bfc96697d1", - "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1", + "url": "https://api.github.com/repos/symfony/mime/zipball/b1b828f69cbaf887fa835a091869e55df91d0e35", + "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35", "shasum": "" }, "require": { @@ -10324,7 +10327,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.3.2" + "source": "https://github.com/symfony/mime/tree/v7.3.4" }, "funding": [ { @@ -10344,7 +10347,7 @@ "type": "tidelift" } ], - "time": "2025-07-15T13:41:35+00:00" + "time": "2025-09-16T08:38:17+00:00" }, { "name": "symfony/options-resolver", @@ -11003,6 +11006,86 @@ ], "time": "2025-07-08T02:45:35+00:00" }, + { + "name": "symfony/polyfill-php84", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-24T13:30:11+00:00" + }, { "name": "symfony/polyfill-uuid", "version": "v1.33.0", @@ -11088,16 +11171,16 @@ }, { "name": "symfony/process", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "32241012d521e2e8a9d713adb0812bb773b907f1" + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/32241012d521e2e8a9d713adb0812bb773b907f1", - "reference": "32241012d521e2e8a9d713adb0812bb773b907f1", + "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", "shasum": "" }, "require": { @@ -11129,7 +11212,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.3.3" + "source": "https://github.com/symfony/process/tree/v7.3.4" }, "funding": [ { @@ -11149,7 +11232,7 @@ "type": "tidelift" } ], - "time": "2025-08-18T09:42:54+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -11236,16 +11319,16 @@ }, { "name": "symfony/routing", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4" + "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/7614b8ca5fa89b9cd233e21b627bfc5774f586e4", - "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4", + "url": "https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c", + "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c", "shasum": "" }, "require": { @@ -11297,7 +11380,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.3.2" + "source": "https://github.com/symfony/routing/tree/v7.3.4" }, "funding": [ { @@ -11317,7 +11400,7 @@ "type": "tidelift" } ], - "time": "2025-07-15T11:36:08+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/service-contracts", @@ -11404,16 +11487,16 @@ }, { "name": "symfony/string", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c" + "reference": "f96476035142921000338bad71e5247fbc138872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", + "reference": "f96476035142921000338bad71e5247fbc138872", "shasum": "" }, "require": { @@ -11428,7 +11511,6 @@ }, "require-dev": { "symfony/emoji": "^7.1", - "symfony/error-handler": "^6.4|^7.0", "symfony/http-client": "^6.4|^7.0", "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", @@ -11471,7 +11553,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.3" + "source": "https://github.com/symfony/string/tree/v7.3.4" }, "funding": [ { @@ -11491,20 +11573,20 @@ "type": "tidelift" } ], - "time": "2025-08-25T06:35:40+00:00" + "time": "2025-09-11T14:36:48+00:00" }, { "name": "symfony/translation", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e0837b4cbcef63c754d89a4806575cada743a38d" + "reference": "ec25870502d0c7072d086e8ffba1420c85965174" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e0837b4cbcef63c754d89a4806575cada743a38d", - "reference": "e0837b4cbcef63c754d89a4806575cada743a38d", + "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174", + "reference": "ec25870502d0c7072d086e8ffba1420c85965174", "shasum": "" }, "require": { @@ -11571,7 +11653,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.3.3" + "source": "https://github.com/symfony/translation/tree/v7.3.4" }, "funding": [ { @@ -11591,7 +11673,7 @@ "type": "tidelift" } ], - "time": "2025-08-01T21:02:37+00:00" + "time": "2025-09-07T11:39:36+00:00" }, { "name": "symfony/translation-contracts", @@ -11747,16 +11829,16 @@ }, { "name": "symfony/var-dumper", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f" + "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", - "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb", + "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb", "shasum": "" }, "require": { @@ -11810,7 +11892,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.3.3" + "source": "https://github.com/symfony/var-dumper/tree/v7.3.4" }, "funding": [ { @@ -11830,7 +11912,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T11:49:31+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", From d2478354e37e9a95e0d36118f430a4e0a70f74ee Mon Sep 17 00:00:00 2001 From: Hocine Saad Date: Thu, 16 Oct 2025 09:55:34 +0100 Subject: [PATCH 123/126] Add GitHub account connection and disconnection functionality (#1375) --- app/Actions/ConnectGitHubAccount.php | 21 +++ app/Actions/DisconnectGitHubAccount.php | 17 +++ .../Controllers/Auth/GitHubController.php | 24 +++- .../Settings/GitHubAccountController.php | 40 ++++++ app/Models/User.php | 5 + .../views/users/settings/github.blade.php | 61 +++++++++ .../views/users/settings/settings.blade.php | 9 +- routes/web.php | 3 + tests/Feature/GitHubAccountSettingTest.php | 122 ++++++++++++++++++ 9 files changed, 300 insertions(+), 2 deletions(-) create mode 100644 app/Actions/ConnectGitHubAccount.php create mode 100644 app/Actions/DisconnectGitHubAccount.php create mode 100644 app/Http/Controllers/Settings/GitHubAccountController.php create mode 100644 resources/views/users/settings/github.blade.php create mode 100644 tests/Feature/GitHubAccountSettingTest.php diff --git a/app/Actions/ConnectGitHubAccount.php b/app/Actions/ConnectGitHubAccount.php new file mode 100644 index 000000000..a05eb80d0 --- /dev/null +++ b/app/Actions/ConnectGitHubAccount.php @@ -0,0 +1,21 @@ +update([ + 'github_id' => $socialiteUser->getId(), + 'github_username' => $socialiteUser->getNickname(), + ]); + + dispatch(new UpdateUserIdenticonStatus($user)); + } +} diff --git a/app/Actions/DisconnectGitHubAccount.php b/app/Actions/DisconnectGitHubAccount.php new file mode 100644 index 000000000..15373a9ad --- /dev/null +++ b/app/Actions/DisconnectGitHubAccount.php @@ -0,0 +1,17 @@ +update([ + 'github_id' => null, + 'github_username' => null, + 'github_has_identicon' => false, + ]); + } +} diff --git a/app/Http/Controllers/Auth/GitHubController.php b/app/Http/Controllers/Auth/GitHubController.php index cb8fa20d0..849779859 100644 --- a/app/Http/Controllers/Auth/GitHubController.php +++ b/app/Http/Controllers/Auth/GitHubController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Auth; +use App\Actions\ConnectGitHubAccount; use App\Http\Controllers\Controller; use App\Jobs\UpdateProfile; use App\Models\User; @@ -28,7 +29,7 @@ public function redirectToProvider() /** * Obtain the user information from GitHub. */ - public function handleProviderCallback() + public function handleProviderCallback(ConnectGitHubAccount $connectGitHubAccount) { try { $socialiteUser = $this->getSocialiteUser(); @@ -42,6 +43,27 @@ public function handleProviderCallback() return $socialiteUser; } + $isConnectingAttempt = session()->pull('settings.github.connect.intended', false); + + if ($isConnectingAttempt) { + $currentUser = auth()->user(); + + // Check if the GitHub account is already connected to another user. + $existingUser = User::where('github_id', $socialiteUser->getId()) + ->where('id', '!=', $currentUser->id) + ->first(); + + if ($existingUser) { + $this->error('This GitHub account is already connected to another user.'); + } else { + $connectGitHubAccount($currentUser, $socialiteUser); + + $this->success('Your GitHub account has been connected.'); + } + + return redirect(route('settings.profile')); + } + try { $user = User::findByGitHubId($socialiteUser->getId()); } catch (ModelNotFoundException $exception) { diff --git a/app/Http/Controllers/Settings/GitHubAccountController.php b/app/Http/Controllers/Settings/GitHubAccountController.php new file mode 100644 index 000000000..8465b62f1 --- /dev/null +++ b/app/Http/Controllers/Settings/GitHubAccountController.php @@ -0,0 +1,40 @@ +middleware(Authenticate::class); + } + + public function connect(): RedirectResponse + { + session()->put('settings.github.connect.intended', true); + + return redirect(route('login.github')); + } + + public function disconnect(DisconnectGitHubAccount $disconnectGitHubAccount): RedirectResponse + { + $user = auth()->user(); + + if (! $user->password) { + $this->error('You must set a password before disconnecting your GitHub account, otherwise, you will not be able to log in again.'); + + return redirect(route('settings.profile')); + } + + $disconnectGitHubAccount($user); + + $this->success('Your GitHub account has been disconnected.'); + + return redirect(route('settings.profile')); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 1914dbf3f..87e841cfc 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -118,6 +118,11 @@ public function githubUsername(): string return $this->github_username ?? ''; } + public function hasConnectedGitHubAccount(): bool + { + return ! is_null($this->githubId()); + } + public function hasIdenticon(): bool { return (bool) $this->github_has_identicon; diff --git a/resources/views/users/settings/github.blade.php b/resources/views/users/settings/github.blade.php new file mode 100644 index 000000000..bbe4f3523 --- /dev/null +++ b/resources/views/users/settings/github.blade.php @@ -0,0 +1,61 @@ +@title('GitHub') + +
    +
    +
    +
    +

    + GitHub Account +

    + +

    + Connect your GitHub account to keep your profile for easy login and avatar sync. +

    +
    + + @if (Auth::user()->hasConnectedGitHubAccount()) +
    + + + @if (Auth::user()->password) + + + Disconnect GitHub + + + @else +

    + You must set a password before disconnecting your GitHub account, otherwise, you will not be able to log in again. +

    + @endif +
    + @else +
    +

    + Connecting your GitHub account will automatically populate your GitHub username and use your + GitHub profile image. +

    +
    + @endif +
    + + @unless (Auth::user()->hasConnectedGitHubAccount()) + +
    + + Connect GitHub + +
    +
    + @endunless +
    +
    diff --git a/resources/views/users/settings/settings.blade.php b/resources/views/users/settings/settings.blade.php index 4ae576947..2c8ff5fba 100644 --- a/resources/views/users/settings/settings.blade.php +++ b/resources/views/users/settings/settings.blade.php @@ -25,7 +25,13 @@ Password - + + + GitHub + + API Tokens @@ -45,6 +51,7 @@
    @include('users.settings.profile') @include('users.settings.password') + @include('users.settings.github') @include('users.settings.api_tokens') @include('users.settings.notification_settings') @include('users.settings.blocked') diff --git a/routes/web.php b/routes/web.php index f8b42d2c4..5c7e652f5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -19,6 +19,7 @@ use App\Http\Controllers\ReplyAbleController; use App\Http\Controllers\ReplyController; use App\Http\Controllers\Settings\ApiTokenController; +use App\Http\Controllers\Settings\GitHubAccountController; use App\Http\Controllers\Settings\NotificationSettingsController; use App\Http\Controllers\Settings\PasswordController; use App\Http\Controllers\Settings\ProfileController as ProfileSettingsController; @@ -79,6 +80,8 @@ Route::put('settings', [ProfileSettingsController::class, 'update'])->name('settings.profile.update'); Route::delete('settings', [ProfileSettingsController::class, 'destroy'])->name('settings.profile.delete'); Route::put('settings/password', [PasswordController::class, 'update'])->name('settings.password.update'); +Route::post('settings/github/connect', [GitHubAccountController::class, 'connect'])->name('settings.github.connect'); +Route::post('settings/github/disconnect', [GitHubAccountController::class, 'disconnect'])->name('settings.github.disconnect'); Route::put('settings/users/{username}/unblock', UnblockUserSettingsController::class)->name('settings.users.unblock'); Route::post('settings/api-tokens', [ApiTokenController::class, 'store'])->name('settings.api-tokens.store'); Route::delete('settings/api-tokens', [ApiTokenController::class, 'destroy'])->name('settings.api-tokens.delete'); diff --git a/tests/Feature/GitHubAccountSettingTest.php b/tests/Feature/GitHubAccountSettingTest.php new file mode 100644 index 000000000..e2305d2f2 --- /dev/null +++ b/tests/Feature/GitHubAccountSettingTest.php @@ -0,0 +1,122 @@ +login(); + + $response = $this->actingAs($user)->post('/settings/github/connect'); + + $response->assertRedirect(route('login.github')); + + expect(session('settings.github.connect.intended'))->toBeTrue(); +}); + +test('users can disconnect their GitHub account from settings', function () { + $user = $this->login([ + 'github_id' => '11405387', + 'github_username' => 'theHocineSaad', + 'github_has_identicon' => true, + ]); + + $response = $this->actingAs($user)->post('/settings/github/disconnect'); + + $response->assertRedirect(route('settings.profile')); + $response->assertSessionHas('success', 'Your GitHub account has been disconnected.'); + + $user->refresh(); + + expect($user->github_id)->toBeNull(); + expect($user->github_username)->toBeNull(); + expect($user->github_has_identicon)->toBeFalse(); +}); + +test('users can connect their GitHub account after returning from GitHub', function () { + Queue::fake(); + + $user = $this->login([ + 'github_id' => null, + 'github_username' => null, + ]); + + $socialiteUser = fakeSocialiteUser('11405387', 'theHocineSaad'); + + mockGitHubProvider($socialiteUser); + + $this->withSession(['settings.github.connect.intended' => true]); + + $response = $this->actingAs($user)->get('/auth/github'); + + $response->assertRedirect(route('settings.profile')); + $response->assertSessionHas('success', 'Your GitHub account has been connected.'); + + $user->refresh(); + + expect($user->github_id)->toBe('11405387'); + expect($user->github_username)->toBe('theHocineSaad'); + + Queue::assertPushed(UpdateUserIdenticonStatus::class); +}); + +test('users cannot connect a GitHub account that belongs to another user', function () { + Queue::fake(); + + User::factory()->create([ + 'github_id' => '11405387', + 'github_username' => 'theHocineSaad', + ]); + + $user = $this->login([ + 'github_id' => null, + 'github_username' => null, + ]); + + $socialiteUser = fakeSocialiteUser('11405387', 'theHocineSaad'); + + mockGitHubProvider($socialiteUser); + + $this->withSession(['settings.github.connect.intended' => true]); + + $response = $this->actingAs($user)->get('/auth/github'); + + $response->assertRedirect(route('settings.profile')); + $response->assertSessionHas('error', 'This GitHub account is already connected to another user.'); + + $user->refresh(); + + expect($user->github_id)->toBeNull(); + expect($user->github_username)->toBeNull(); + + Queue::assertNothingPushed(); +}); + +function fakeSocialiteUser(string $id, string $nickname): SocialiteUser +{ + return tap(new SocialiteUser()) + ->setRaw([ + 'id' => $id, + 'login' => $nickname, + ]) + ->map([ + 'id' => $id, + 'nickname' => $nickname, + ]); +} + +function mockGitHubProvider(SocialiteUser $user): void +{ + $provider = Mockery::mock(Provider::class); + $provider->shouldReceive('user')->once()->andReturn($user); + + Socialite::shouldReceive('driver')->once()->with('github')->andReturn($provider); +} From a57966c62b985c7e4f1e198736cff0c4a32343dc Mon Sep 17 00:00:00 2001 From: driesvints <594614+driesvints@users.noreply.github.com> Date: Thu, 16 Oct 2025 08:55:54 +0000 Subject: [PATCH 124/126] Fix code styling --- app/Actions/ConnectGitHubAccount.php | 1 + app/Http/Controllers/Auth/GitHubController.php | 2 +- tests/Feature/GitHubAccountSettingTest.php | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Actions/ConnectGitHubAccount.php b/app/Actions/ConnectGitHubAccount.php index a05eb80d0..c028622a9 100644 --- a/app/Actions/ConnectGitHubAccount.php +++ b/app/Actions/ConnectGitHubAccount.php @@ -5,6 +5,7 @@ use App\Jobs\UpdateUserIdenticonStatus; use App\Models\User; use Laravel\Socialite\Two\User as SocialiteUser; + use function dispatch; final class ConnectGitHubAccount diff --git a/app/Http/Controllers/Auth/GitHubController.php b/app/Http/Controllers/Auth/GitHubController.php index 849779859..5b5797605 100644 --- a/app/Http/Controllers/Auth/GitHubController.php +++ b/app/Http/Controllers/Auth/GitHubController.php @@ -52,7 +52,7 @@ public function handleProviderCallback(ConnectGitHubAccount $connectGitHubAccoun $existingUser = User::where('github_id', $socialiteUser->getId()) ->where('id', '!=', $currentUser->id) ->first(); - + if ($existingUser) { $this->error('This GitHub account is already connected to another user.'); } else { diff --git a/tests/Feature/GitHubAccountSettingTest.php b/tests/Feature/GitHubAccountSettingTest.php index e2305d2f2..b351cfb38 100644 --- a/tests/Feature/GitHubAccountSettingTest.php +++ b/tests/Feature/GitHubAccountSettingTest.php @@ -102,7 +102,7 @@ function fakeSocialiteUser(string $id, string $nickname): SocialiteUser { - return tap(new SocialiteUser()) + return tap(new SocialiteUser) ->setRaw([ 'id' => $id, 'login' => $nickname, From ad473245b040e893f96a511c4642e1442f74a292 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 03:04:02 +0000 Subject: [PATCH 125/126] Bump the php-dependencies group with 6 updates (#1379) Bumps the php-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [codeat3/blade-simple-icons](https://github.com/codeat3/blade-simple-icons) | `7.15.0` | `7.16.0` | | [filament/filament](https://github.com/filamentphp/panels) | `4.1.6` | `4.1.9` | | [laravel/horizon](https://github.com/laravel/horizon) | `5.35.2` | `5.36.0` | | [laravel/nightwatch](https://github.com/laravel/nightwatch) | `1.15.0` | `1.15.1` | | [livewire/flux](https://github.com/livewire/flux) | `2.5.1` | `2.6.0` | | [sentry/sentry-laravel](https://github.com/getsentry/sentry-laravel) | `4.16.0` | `4.17.0` | Updates `codeat3/blade-simple-icons` from 7.15.0 to 7.16.0 - [Release notes](https://github.com/codeat3/blade-simple-icons/releases) - [Changelog](https://github.com/codeat3/blade-simple-icons/blob/main/CHANGELOG.md) - [Commits](https://github.com/codeat3/blade-simple-icons/compare/7.15.0...7.16.0) Updates `filament/filament` from 4.1.6 to 4.1.9 - [Commits](https://github.com/filamentphp/panels/compare/v4.1.6...v4.1.9) Updates `laravel/horizon` from 5.35.2 to 5.36.0 - [Release notes](https://github.com/laravel/horizon/releases) - [Changelog](https://github.com/laravel/horizon/blob/5.x/CHANGELOG.md) - [Commits](https://github.com/laravel/horizon/compare/v5.35.2...v5.36.0) Updates `laravel/nightwatch` from 1.15.0 to 1.15.1 - [Release notes](https://github.com/laravel/nightwatch/releases) - [Changelog](https://github.com/laravel/nightwatch/blob/1.x/CHANGELOG.md) - [Commits](https://github.com/laravel/nightwatch/compare/v1.15.0...v1.15.1) Updates `livewire/flux` from 2.5.1 to 2.6.0 - [Release notes](https://github.com/livewire/flux/releases) - [Commits](https://github.com/livewire/flux/compare/v2.5.1...v2.6.0) Updates `sentry/sentry-laravel` from 4.16.0 to 4.17.0 - [Release notes](https://github.com/getsentry/sentry-laravel/releases) - [Changelog](https://github.com/getsentry/sentry-laravel/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-laravel/compare/4.16.0...4.17.0) --- updated-dependencies: - dependency-name: codeat3/blade-simple-icons dependency-version: 7.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: filament/filament dependency-version: 4.1.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: laravel/horizon dependency-version: 5.36.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: laravel/nightwatch dependency-version: 1.15.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: php-dependencies - dependency-name: livewire/flux dependency-version: 2.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies - dependency-name: sentry/sentry-laravel dependency-version: 4.17.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: php-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 183 +++++++++++++++++++++++++------------------------- 1 file changed, 93 insertions(+), 90 deletions(-) diff --git a/composer.lock b/composer.lock index 9263f7491..7974e11de 100644 --- a/composer.lock +++ b/composer.lock @@ -880,16 +880,16 @@ }, { "name": "codeat3/blade-simple-icons", - "version": "7.15.0", + "version": "7.16.0", "source": { "type": "git", "url": "https://github.com/codeat3/blade-simple-icons.git", - "reference": "22780d678eb64758f6eed93768edb2c45f4920d0" + "reference": "29d269bd0e576deb7b2f026f780f3443c67b2966" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeat3/blade-simple-icons/zipball/22780d678eb64758f6eed93768edb2c45f4920d0", - "reference": "22780d678eb64758f6eed93768edb2c45f4920d0", + "url": "https://api.github.com/repos/codeat3/blade-simple-icons/zipball/29d269bd0e576deb7b2f026f780f3443c67b2966", + "reference": "29d269bd0e576deb7b2f026f780f3443c67b2966", "shasum": "" }, "require": { @@ -939,7 +939,7 @@ ], "support": { "issues": "https://github.com/codeat3/blade-simple-icons/issues", - "source": "https://github.com/codeat3/blade-simple-icons/tree/7.15.0" + "source": "https://github.com/codeat3/blade-simple-icons/tree/7.16.0" }, "funding": [ { @@ -947,7 +947,7 @@ "type": "github" } ], - "time": "2025-09-17T10:30:03+00:00" + "time": "2025-10-12T11:40:22+00:00" }, { "name": "composer/ca-bundle", @@ -1591,16 +1591,16 @@ }, { "name": "filament/actions", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "bd54da3378705c246c4a0c2d7f185853295bbcd9" + "reference": "cd17a34e7bacebf74064a6e43fab6ff87c21630a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/bd54da3378705c246c4a0c2d7f185853295bbcd9", - "reference": "bd54da3378705c246c4a0c2d7f185853295bbcd9", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/cd17a34e7bacebf74064a6e43fab6ff87c21630a", + "reference": "cd17a34e7bacebf74064a6e43fab6ff87c21630a", "shasum": "" }, "require": { @@ -1636,20 +1636,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-07T12:45:33+00:00" + "time": "2025-10-14T15:20:45+00:00" }, { "name": "filament/filament", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "d03d2f80f08002e55c9617bb480dc8cd0403892a" + "reference": "010728faccca684f5b1ee0c64d640c843cc1ade4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/d03d2f80f08002e55c9617bb480dc8cd0403892a", - "reference": "d03d2f80f08002e55c9617bb480dc8cd0403892a", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/010728faccca684f5b1ee0c64d640c843cc1ade4", + "reference": "010728faccca684f5b1ee0c64d640c843cc1ade4", "shasum": "" }, "require": { @@ -1693,20 +1693,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-08T11:01:55+00:00" + "time": "2025-10-15T14:31:27+00:00" }, { "name": "filament/forms", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "ddfa808665077bccae64242dc763e0434e98183f" + "reference": "1993328e69d58088c3ac533a2e9464b09212df78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/ddfa808665077bccae64242dc763e0434e98183f", - "reference": "ddfa808665077bccae64242dc763e0434e98183f", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/1993328e69d58088c3ac533a2e9464b09212df78", + "reference": "1993328e69d58088c3ac533a2e9464b09212df78", "shasum": "" }, "require": { @@ -1743,20 +1743,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-08T10:40:16+00:00" + "time": "2025-10-15T14:31:46+00:00" }, { "name": "filament/infolists", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "0817b9c0e5e15e0e19b57e01322083b80cf4b715" + "reference": "c6572b83fd6b97105c9f915797c6b2c10fae424d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/0817b9c0e5e15e0e19b57e01322083b80cf4b715", - "reference": "0817b9c0e5e15e0e19b57e01322083b80cf4b715", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/c6572b83fd6b97105c9f915797c6b2c10fae424d", + "reference": "c6572b83fd6b97105c9f915797c6b2c10fae424d", "shasum": "" }, "require": { @@ -1788,20 +1788,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-09-29T08:02:20+00:00" + "time": "2025-10-12T16:21:24+00:00" }, { "name": "filament/notifications", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", - "reference": "0930beeea0b2d2e9bdc95a28b65409f960ebf81a" + "reference": "9e606c9566084032f6645ea633ce954b5dd6d113" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/notifications/zipball/0930beeea0b2d2e9bdc95a28b65409f960ebf81a", - "reference": "0930beeea0b2d2e9bdc95a28b65409f960ebf81a", + "url": "https://api.github.com/repos/filamentphp/notifications/zipball/9e606c9566084032f6645ea633ce954b5dd6d113", + "reference": "9e606c9566084032f6645ea633ce954b5dd6d113", "shasum": "" }, "require": { @@ -1835,20 +1835,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-06T08:11:03+00:00" + "time": "2025-10-14T15:22:44+00:00" }, { "name": "filament/schemas", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/schemas.git", - "reference": "21f58ba01bd88e1fca2c1fa9a06ddfa949e9270b" + "reference": "9b58c386499862e751752ab1e61787a84c6912a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/schemas/zipball/21f58ba01bd88e1fca2c1fa9a06ddfa949e9270b", - "reference": "21f58ba01bd88e1fca2c1fa9a06ddfa949e9270b", + "url": "https://api.github.com/repos/filamentphp/schemas/zipball/9b58c386499862e751752ab1e61787a84c6912a6", + "reference": "9b58c386499862e751752ab1e61787a84c6912a6", "shasum": "" }, "require": { @@ -1880,20 +1880,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-06T08:10:46+00:00" + "time": "2025-10-15T14:31:34+00:00" }, { "name": "filament/support", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "e3294c6cd71d0b6c8cba8d20c99d5af651351a86" + "reference": "9f1140bf16a9dd7b4720bd2784e8730f440183c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/e3294c6cd71d0b6c8cba8d20c99d5af651351a86", - "reference": "e3294c6cd71d0b6c8cba8d20c99d5af651351a86", + "url": "https://api.github.com/repos/filamentphp/support/zipball/9f1140bf16a9dd7b4720bd2784e8730f440183c4", + "reference": "9f1140bf16a9dd7b4720bd2784e8730f440183c4", "shasum": "" }, "require": { @@ -1938,20 +1938,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-08T10:40:12+00:00" + "time": "2025-10-14T15:22:28+00:00" }, { "name": "filament/tables", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "b3bf48fd079d8abdf6dfb0936f1d1c8c4a4479ab" + "reference": "0e9b47129e42a7429c020ace617a54cbda4852ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/b3bf48fd079d8abdf6dfb0936f1d1c8c4a4479ab", - "reference": "b3bf48fd079d8abdf6dfb0936f1d1c8c4a4479ab", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/0e9b47129e42a7429c020ace617a54cbda4852ce", + "reference": "0e9b47129e42a7429c020ace617a54cbda4852ce", "shasum": "" }, "require": { @@ -1983,20 +1983,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-08T11:01:10+00:00" + "time": "2025-10-15T14:31:42+00:00" }, { "name": "filament/widgets", - "version": "v4.1.6", + "version": "v4.1.9", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", - "reference": "f0b009e52737a2f973771928ada952ff577704ba" + "reference": "8e3077612a5842aba4cd8d712c729e1042e197aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/widgets/zipball/f0b009e52737a2f973771928ada952ff577704ba", - "reference": "f0b009e52737a2f973771928ada952ff577704ba", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/8e3077612a5842aba4cd8d712c729e1042e197aa", + "reference": "8e3077612a5842aba4cd8d712c729e1042e197aa", "shasum": "" }, "require": { @@ -2027,7 +2027,7 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2025-10-08T10:39:57+00:00" + "time": "2025-10-14T15:22:46+00:00" }, { "name": "firebase/php-jwt", @@ -3440,16 +3440,16 @@ }, { "name": "laravel/horizon", - "version": "v5.35.2", + "version": "v5.36.0", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "11f9a980d84de56402dec19cf1e78050b211fcef" + "reference": "eccc804c9da78064c97a8f506bb148f05c816409" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/11f9a980d84de56402dec19cf1e78050b211fcef", - "reference": "11f9a980d84de56402dec19cf1e78050b211fcef", + "url": "https://api.github.com/repos/laravel/horizon/zipball/eccc804c9da78064c97a8f506bb148f05c816409", + "reference": "eccc804c9da78064c97a8f506bb148f05c816409", "shasum": "" }, "require": { @@ -3514,22 +3514,22 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.35.2" + "source": "https://github.com/laravel/horizon/tree/v5.36.0" }, - "time": "2025-10-08T12:50:15+00:00" + "time": "2025-10-10T13:44:39+00:00" }, { "name": "laravel/nightwatch", - "version": "v1.15.0", + "version": "v1.15.1", "source": { "type": "git", "url": "https://github.com/laravel/nightwatch.git", - "reference": "266b424ebdd663fabb56ace6005a6894170f41dc" + "reference": "d068a90dee09134e395e7b0087fc1efbc33845bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/nightwatch/zipball/266b424ebdd663fabb56ace6005a6894170f41dc", - "reference": "266b424ebdd663fabb56ace6005a6894170f41dc", + "url": "https://api.github.com/repos/laravel/nightwatch/zipball/d068a90dee09134e395e7b0087fc1efbc33845bb", + "reference": "d068a90dee09134e395e7b0087fc1efbc33845bb", "shasum": "" }, "require": { @@ -3578,6 +3578,9 @@ } }, "autoload": { + "files": [ + "agent/helpers.php" + ], "psr-4": { "Laravel\\Nightwatch\\": "src/" } @@ -3604,7 +3607,7 @@ "issues": "https://github.com/laravel/nightwatch/issues", "source": "https://github.com/laravel/nightwatch" }, - "time": "2025-10-10T02:41:23+00:00" + "time": "2025-10-16T04:27:25+00:00" }, { "name": "laravel/prompts", @@ -3812,16 +3815,16 @@ }, { "name": "laravel/serializable-closure", - "version": "v2.0.5", + "version": "v2.0.6", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "3832547db6e0e2f8bb03d4093857b378c66eceed" + "reference": "038ce42edee619599a1debb7e81d7b3759492819" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3832547db6e0e2f8bb03d4093857b378c66eceed", - "reference": "3832547db6e0e2f8bb03d4093857b378c66eceed", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/038ce42edee619599a1debb7e81d7b3759492819", + "reference": "038ce42edee619599a1debb7e81d7b3759492819", "shasum": "" }, "require": { @@ -3869,7 +3872,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2025-09-22T17:29:40+00:00" + "time": "2025-10-09T13:42:30+00:00" }, { "name": "laravel/socialite", @@ -4263,16 +4266,16 @@ }, { "name": "league/csv", - "version": "9.26.0", + "version": "9.27.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "7fce732754d043f3938899e5183e2d0f3d31b571" + "reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/7fce732754d043f3938899e5183e2d0f3d31b571", - "reference": "7fce732754d043f3938899e5183e2d0f3d31b571", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/cb491b1ba3c42ff2bcd0113814f4256b42bae845", + "reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845", "shasum": "" }, "require": { @@ -4350,7 +4353,7 @@ "type": "github" } ], - "time": "2025-10-01T11:24:54+00:00" + "time": "2025-10-16T08:22:09+00:00" }, { "name": "league/flysystem", @@ -4929,16 +4932,16 @@ }, { "name": "livewire/flux", - "version": "v2.5.1", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/livewire/flux.git", - "reference": "7d236c6caa6a8fa8604caa08abf2ae630be12c24" + "reference": "3cb2ea40978449da74b3814eeef75f0388124224" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/flux/zipball/7d236c6caa6a8fa8604caa08abf2ae630be12c24", - "reference": "7d236c6caa6a8fa8604caa08abf2ae630be12c24", + "url": "https://api.github.com/repos/livewire/flux/zipball/3cb2ea40978449da74b3814eeef75f0388124224", + "reference": "3cb2ea40978449da74b3814eeef75f0388124224", "shasum": "" }, "require": { @@ -4989,9 +4992,9 @@ ], "support": { "issues": "https://github.com/livewire/flux/issues", - "source": "https://github.com/livewire/flux/tree/v2.5.1" + "source": "https://github.com/livewire/flux/tree/v2.6.0" }, - "time": "2025-09-29T21:36:00+00:00" + "time": "2025-10-13T23:17:18+00:00" }, { "name": "livewire/livewire", @@ -7597,16 +7600,16 @@ }, { "name": "sentry/sentry", - "version": "4.15.2", + "version": "4.16.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "61a2d918e8424b6de4a2e265c15133a00c17db51" + "reference": "c5b086e4235762da175034bc463b0d31cbb38d2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/61a2d918e8424b6de4a2e265c15133a00c17db51", - "reference": "61a2d918e8424b6de4a2e265c15133a00c17db51", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/c5b086e4235762da175034bc463b0d31cbb38d2e", + "reference": "c5b086e4235762da175034bc463b0d31cbb38d2e", "shasum": "" }, "require": { @@ -7670,7 +7673,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/4.15.2" + "source": "https://github.com/getsentry/sentry-php/tree/4.16.0" }, "funding": [ { @@ -7682,20 +7685,20 @@ "type": "custom" } ], - "time": "2025-09-03T07:23:48+00:00" + "time": "2025-09-22T13:38:03+00:00" }, { "name": "sentry/sentry-laravel", - "version": "4.16.0", + "version": "4.17.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "b33b2e487b02db02d92988228f142d7fa2be2bfa" + "reference": "f321c450f1ff31fc97cf42c249de4a47d593d216" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/b33b2e487b02db02d92988228f142d7fa2be2bfa", - "reference": "b33b2e487b02db02d92988228f142d7fa2be2bfa", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/f321c450f1ff31fc97cf42c249de4a47d593d216", + "reference": "f321c450f1ff31fc97cf42c249de4a47d593d216", "shasum": "" }, "require": { @@ -7759,7 +7762,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/4.16.0" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.17.0" }, "funding": [ { @@ -7771,7 +7774,7 @@ "type": "custom" } ], - "time": "2025-09-10T16:38:18+00:00" + "time": "2025-10-15T09:58:47+00:00" }, { "name": "spatie/backtrace", From cab4b1c6962c975d43630705253f4c34159c70a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 12:55:20 +0200 Subject: [PATCH 126/126] Bump actions/setup-node from 5 to 6 (#1380) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 366a0a579..01a52a1b7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -32,7 +32,7 @@ jobs: coverage: none - name: Setup Node - uses: actions/setup-node@v5 + uses: actions/setup-node@v6 with: node-version: '22.x'