From 23e323af95056e807a8a2bdf3d0502dbbdd653ac Mon Sep 17 00:00:00 2001 From: Julien Nahum Date: Sun, 8 Oct 2023 13:35:15 +0100 Subject: [PATCH] Add sentry front-end tracking --- composer.lock | 368 +++++++++++++------------- config/services.php | 1 + package.json | 1 + resources/js/middleware/check-auth.js | 15 ++ resources/js/plugins/index.js | 1 + resources/js/plugins/sentry.js | 17 ++ resources/js/router/index.js | 6 + resources/views/spa.blade.php | 1 + 8 files changed, 229 insertions(+), 181 deletions(-) create mode 100644 resources/js/plugins/sentry.js diff --git a/composer.lock b/composer.lock index 9a5177f..23b0f66 100644 --- a/composer.lock +++ b/composer.lock @@ -118,16 +118,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.281.8", + "version": "3.282.2", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "eb349b9f31502a05c70362f57913b9fed6b65b1f" + "reference": "b9b4013f68f1bd5f219f9784c1b2a47da02c1261" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/eb349b9f31502a05c70362f57913b9fed6b65b1f", - "reference": "eb349b9f31502a05c70362f57913b9fed6b65b1f", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/b9b4013f68f1bd5f219f9784c1b2a47da02c1261", + "reference": "b9b4013f68f1bd5f219f9784c1b2a47da02c1261", "shasum": "" }, "require": { @@ -207,9 +207,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.281.8" + "source": "https://github.com/aws/aws-sdk-php/tree/3.282.2" }, - "time": "2023-09-15T18:34:59+00:00" + "time": "2023-10-03T18:07:23+00:00" }, { "name": "brick/math", @@ -583,16 +583,16 @@ }, { "name": "doctrine/dbal", - "version": "3.6.6", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "63646ffd71d1676d2f747f871be31b7e921c7864" + "reference": "00d03067f07482f025d41ab55e4ba0db5eca2cdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/63646ffd71d1676d2f747f871be31b7e921c7864", - "reference": "63646ffd71d1676d2f747f871be31b7e921c7864", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/00d03067f07482f025d41ab55e4ba0db5eca2cdf", + "reference": "00d03067f07482f025d41ab55e4ba0db5eca2cdf", "shasum": "" }, "require": { @@ -608,9 +608,9 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.10.29", + "phpstan/phpstan": "1.10.35", "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.9", + "phpunit/phpunit": "9.6.13", "psalm/plugin-phpunit": "0.18.4", "slevomat/coding-standard": "8.13.1", "squizlabs/php_codesniffer": "3.7.2", @@ -676,7 +676,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.6.6" + "source": "https://github.com/doctrine/dbal/tree/3.7.0" }, "funding": [ { @@ -692,20 +692,20 @@ "type": "tidelift" } ], - "time": "2023-08-17T05:38:17+00:00" + "time": "2023-09-26T20:56:55+00:00" }, { "name": "doctrine/deprecations", - "version": "v1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { @@ -737,9 +737,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, - "time": "2023-06-03T09:27:29+00:00" + "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/event-manager", @@ -1404,16 +1404,16 @@ }, { "name": "giggsey/libphonenumber-for-php", - "version": "8.13.20", + "version": "8.13.22", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php.git", - "reference": "c8da9366ab46cbc83f9fd0e7b0ac12f8ddbb721a" + "reference": "fc69cbcaff14c1af1f935b79033bdc5c0fa4a846" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/c8da9366ab46cbc83f9fd0e7b0ac12f8ddbb721a", - "reference": "c8da9366ab46cbc83f9fd0e7b0ac12f8ddbb721a", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/fc69cbcaff14c1af1f935b79033bdc5c0fa4a846", + "reference": "fc69cbcaff14c1af1f935b79033bdc5c0fa4a846", "shasum": "" }, "require": { @@ -1472,7 +1472,7 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php/issues", "source": "https://github.com/giggsey/libphonenumber-for-php" }, - "time": "2023-09-07T06:33:03+00:00" + "time": "2023-09-29T14:53:55+00:00" }, { "name": "giggsey/locale", @@ -2541,16 +2541,16 @@ }, { "name": "laravel/framework", - "version": "v9.52.15", + "version": "v9.52.16", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "e3350e87a52346af9cc655a3012d2175d2d05ad7" + "reference": "082345d76fc6a55b649572efe10b11b03e279d24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/e3350e87a52346af9cc655a3012d2175d2d05ad7", - "reference": "e3350e87a52346af9cc655a3012d2175d2d05ad7", + "url": "https://api.github.com/repos/laravel/framework/zipball/082345d76fc6a55b649572efe10b11b03e279d24", + "reference": "082345d76fc6a55b649572efe10b11b03e279d24", "shasum": "" }, "require": { @@ -2735,20 +2735,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-08-08T14:28:40+00:00" + "time": "2023-10-03T13:02:30+00:00" }, { "name": "laravel/horizon", - "version": "v5.20.1", + "version": "v5.21.1", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "6eaf4efebbfc9955be7504b5b6f045d9d10e86af" + "reference": "ded3632dca7fd66618d5b712b4a0c6c1c77ecb3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/6eaf4efebbfc9955be7504b5b6f045d9d10e86af", - "reference": "6eaf4efebbfc9955be7504b5b6f045d9d10e86af", + "url": "https://api.github.com/repos/laravel/horizon/zipball/ded3632dca7fd66618d5b712b4a0c6c1c77ecb3f", + "reference": "ded3632dca7fd66618d5b712b4a0c6c1c77ecb3f", "shasum": "" }, "require": { @@ -2811,9 +2811,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.20.1" + "source": "https://github.com/laravel/horizon/tree/v5.21.1" }, - "time": "2023-09-12T11:21:57+00:00" + "time": "2023-09-19T22:42:19+00:00" }, { "name": "laravel/serializable-closure", @@ -3077,16 +3077,16 @@ }, { "name": "laravel/vapor-cli", - "version": "v1.59.1", + "version": "v1.60.0", "source": { "type": "git", "url": "https://github.com/laravel/vapor-cli.git", - "reference": "dfde3ad406717dd352386e92f11459160614c46b" + "reference": "012b8beae5f258aba75422896110cdfbb160bc25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/vapor-cli/zipball/dfde3ad406717dd352386e92f11459160614c46b", - "reference": "dfde3ad406717dd352386e92f11459160614c46b", + "url": "https://api.github.com/repos/laravel/vapor-cli/zipball/012b8beae5f258aba75422896110cdfbb160bc25", + "reference": "012b8beae5f258aba75422896110cdfbb160bc25", "shasum": "" }, "require": { @@ -3140,22 +3140,22 @@ "vapor" ], "support": { - "source": "https://github.com/laravel/vapor-cli/tree/v1.59.1" + "source": "https://github.com/laravel/vapor-cli/tree/v1.60.0" }, - "time": "2023-08-10T09:35:52+00:00" + "time": "2023-09-21T14:19:36+00:00" }, { "name": "laravel/vapor-core", - "version": "v2.33.1", + "version": "v2.33.2", "source": { "type": "git", "url": "https://github.com/laravel/vapor-core.git", - "reference": "51d116c15d4f8a07b0d55b44622d68e4b5075743" + "reference": "de2ddb6c279b8e51e9ef9cea3e0f7fda829740b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/vapor-core/zipball/51d116c15d4f8a07b0d55b44622d68e4b5075743", - "reference": "51d116c15d4f8a07b0d55b44622d68e4b5075743", + "url": "https://api.github.com/repos/laravel/vapor-core/zipball/de2ddb6c279b8e51e9ef9cea3e0f7fda829740b2", + "reference": "de2ddb6c279b8e51e9ef9cea3e0f7fda829740b2", "shasum": "" }, "require": { @@ -3189,7 +3189,10 @@ "laravel": { "providers": [ "Laravel\\Vapor\\VaporServiceProvider" - ] + ], + "aliases": { + "Vapor": "Laravel\\Vapor\\Vapor" + } } }, "autoload": { @@ -3217,9 +3220,9 @@ "vapor" ], "support": { - "source": "https://github.com/laravel/vapor-core/tree/v2.33.1" + "source": "https://github.com/laravel/vapor-core/tree/v2.33.2" }, - "time": "2023-09-07T14:14:16+00:00" + "time": "2023-09-29T13:37:32+00:00" }, { "name": "laravel/vapor-ui", @@ -4686,16 +4689,16 @@ }, { "name": "nesbot/carbon", - "version": "2.70.0", + "version": "2.71.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d" + "reference": "98276233188583f2ff845a0f992a235472d9466a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d3298b38ea8612e5f77d38d1a99438e42f70341d", - "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a", + "reference": "98276233188583f2ff845a0f992a235472d9466a", "shasum": "" }, "require": { @@ -4788,7 +4791,7 @@ "type": "tidelift" } ], - "time": "2023-09-07T16:43:50+00:00" + "time": "2023-09-25T11:31:05+00:00" }, { "name": "nette/schema", @@ -4854,16 +4857,16 @@ }, { "name": "nette/utils", - "version": "v4.0.1", + "version": "v4.0.2", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e" + "reference": "cead6637226456b35e1175cc53797dd585d85545" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/9124157137da01b1f5a5a22d6486cb975f26db7e", - "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e", + "url": "https://api.github.com/repos/nette/utils/zipball/cead6637226456b35e1175cc53797dd585d85545", + "reference": "cead6637226456b35e1175cc53797dd585d85545", "shasum": "" }, "require": { @@ -4885,8 +4888,7 @@ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" }, "type": "library", "extra": { @@ -4935,9 +4937,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.1" + "source": "https://github.com/nette/utils/tree/v4.0.2" }, - "time": "2023-07-30T15:42:21+00:00" + "time": "2023-09-19T11:58:07+00:00" }, { "name": "nicmart/tree", @@ -6010,16 +6012,16 @@ }, { "name": "propaganistas/laravel-disposable-email", - "version": "2.2.12", + "version": "2.2.13", "source": { "type": "git", "url": "https://github.com/Propaganistas/Laravel-Disposable-Email.git", - "reference": "5d3b26769386543aef2eed7436f4574a9104607f" + "reference": "0b960667f844e6f65f3c32d99e616e70bd2ffc8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Propaganistas/Laravel-Disposable-Email/zipball/5d3b26769386543aef2eed7436f4574a9104607f", - "reference": "5d3b26769386543aef2eed7436f4574a9104607f", + "url": "https://api.github.com/repos/Propaganistas/Laravel-Disposable-Email/zipball/0b960667f844e6f65f3c32d99e616e70bd2ffc8d", + "reference": "0b960667f844e6f65f3c32d99e616e70bd2ffc8d", "shasum": "" }, "require": { @@ -6073,7 +6075,7 @@ ], "support": { "issues": "https://github.com/Propaganistas/Laravel-Disposable-Email/issues", - "source": "https://github.com/Propaganistas/Laravel-Disposable-Email/tree/2.2.12" + "source": "https://github.com/Propaganistas/Laravel-Disposable-Email/tree/2.2.13" }, "funding": [ { @@ -6081,7 +6083,7 @@ "type": "github" } ], - "time": "2023-09-05T06:38:24+00:00" + "time": "2023-10-01T01:13:59+00:00" }, { "name": "psr/cache", @@ -6285,16 +6287,16 @@ }, { "name": "psr/http-client", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/php-fig/http-client.git", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31" + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { @@ -6331,9 +6333,9 @@ "psr-18" ], "support": { - "source": "https://github.com/php-fig/http-client/tree/1.0.2" + "source": "https://github.com/php-fig/http-client" }, - "time": "2023-04-10T20:12:12+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { "name": "psr/http-factory", @@ -6546,16 +6548,16 @@ }, { "name": "psy/psysh", - "version": "v0.11.20", + "version": "v0.11.21", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "0fa27040553d1d280a67a4393194df5228afea5b" + "reference": "bcb22101107f3bf770523b65630c9d547f60c540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/0fa27040553d1d280a67a4393194df5228afea5b", - "reference": "0fa27040553d1d280a67a4393194df5228afea5b", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/bcb22101107f3bf770523b65630c9d547f60c540", + "reference": "bcb22101107f3bf770523b65630c9d547f60c540", "shasum": "" }, "require": { @@ -6585,6 +6587,10 @@ "extra": { "branch-alias": { "dev-main": "0.11.x-dev" + }, + "bamarni-bin": { + "bin-links": false, + "forward-command": false } }, "autoload": { @@ -6616,9 +6622,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.20" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.21" }, - "time": "2023-07-31T14:32:22+00:00" + "time": "2023-09-17T21:15:54+00:00" }, { "name": "ralouphie/getallheaders", @@ -7652,16 +7658,16 @@ }, { "name": "spatie/laravel-webhook-server", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-webhook-server.git", - "reference": "7aec82720bf06c9c9a9221a1f2d5175492a4c3fe" + "reference": "6f4f1e08dd47d9eb5a8b1da22b6f930d28c7f021" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-webhook-server/zipball/7aec82720bf06c9c9a9221a1f2d5175492a4c3fe", - "reference": "7aec82720bf06c9c9a9221a1f2d5175492a4c3fe", + "url": "https://api.github.com/repos/spatie/laravel-webhook-server/zipball/6f4f1e08dd47d9eb5a8b1da22b6f930d28c7f021", + "reference": "6f4f1e08dd47d9eb5a8b1da22b6f930d28c7f021", "shasum": "" }, "require": { @@ -7714,7 +7720,7 @@ "webhook" ], "support": { - "source": "https://github.com/spatie/laravel-webhook-server/tree/3.5.0" + "source": "https://github.com/spatie/laravel-webhook-server/tree/3.6.0" }, "funding": [ { @@ -7722,7 +7728,7 @@ "type": "custom" } ], - "time": "2023-09-12T09:01:43+00:00" + "time": "2023-09-25T07:16:09+00:00" }, { "name": "spatie/robots-txt", @@ -7787,16 +7793,16 @@ }, { "name": "spatie/temporary-directory", - "version": "2.1.2", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", - "reference": "0c804873f6b4042aa8836839dca683c7d0f71831" + "reference": "efc258c9f4da28f0c7661765b8393e4ccee3d19c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/0c804873f6b4042aa8836839dca683c7d0f71831", - "reference": "0c804873f6b4042aa8836839dca683c7d0f71831", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/efc258c9f4da28f0c7661765b8393e4ccee3d19c", + "reference": "efc258c9f4da28f0c7661765b8393e4ccee3d19c", "shasum": "" }, "require": { @@ -7832,7 +7838,7 @@ ], "support": { "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.1.2" + "source": "https://github.com/spatie/temporary-directory/tree/2.2.0" }, "funding": [ { @@ -7844,7 +7850,7 @@ "type": "github" } ], - "time": "2023-04-28T07:47:42+00:00" + "time": "2023-09-25T07:13:36+00:00" }, { "name": "stevebauman/purify", @@ -8263,16 +8269,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.3.2", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a" + "reference": "1f69476b64fb47105c06beef757766c376b548c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/85fd65ed295c4078367c784e8a5a6cee30348b7a", - "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/1f69476b64fb47105c06beef757766c376b548c4", + "reference": "1f69476b64fb47105c06beef757766c376b548c4", "shasum": "" }, "require": { @@ -8317,7 +8323,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/v6.3.2" + "source": "https://github.com/symfony/error-handler/tree/v6.3.5" }, "funding": [ { @@ -8333,7 +8339,7 @@ "type": "tidelift" } ], - "time": "2023-07-16T17:05:46+00:00" + "time": "2023-09-12T06:57:20+00:00" }, { "name": "symfony/event-dispatcher", @@ -8493,16 +8499,16 @@ }, { "name": "symfony/finder", - "version": "v6.3.3", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e" + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e", + "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", "shasum": "" }, "require": { @@ -8537,7 +8543,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.3" + "source": "https://github.com/symfony/finder/tree/v6.3.5" }, "funding": [ { @@ -8553,20 +8559,20 @@ "type": "tidelift" } ], - "time": "2023-07-31T08:31:44+00:00" + "time": "2023-09-26T12:56:25+00:00" }, { "name": "symfony/http-client", - "version": "v6.3.2", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00" + "reference": "213e564da4cbf61acc9728d97e666bcdb868c10d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", - "reference": "15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", + "url": "https://api.github.com/repos/symfony/http-client/zipball/213e564da4cbf61acc9728d97e666bcdb868c10d", + "reference": "213e564da4cbf61acc9728d97e666bcdb868c10d", "shasum": "" }, "require": { @@ -8629,7 +8635,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.3.2" + "source": "https://github.com/symfony/http-client/tree/v6.3.5" }, "funding": [ { @@ -8645,7 +8651,7 @@ "type": "tidelift" } ], - "time": "2023-07-05T08:41:27+00:00" + "time": "2023-09-29T15:57:12+00:00" }, { "name": "symfony/http-client-contracts", @@ -8727,16 +8733,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.3.4", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "cac1556fdfdf6719668181974104e6fcfa60e844" + "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cac1556fdfdf6719668181974104e6fcfa60e844", - "reference": "cac1556fdfdf6719668181974104e6fcfa60e844", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b50f5e281d722cb0f4c296f908bacc3e2b721957", + "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957", "shasum": "" }, "require": { @@ -8784,7 +8790,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.4" + "source": "https://github.com/symfony/http-foundation/tree/v6.3.5" }, "funding": [ { @@ -8800,20 +8806,20 @@ "type": "tidelift" } ], - "time": "2023-08-22T08:20:46+00:00" + "time": "2023-09-04T21:33:54+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.3.4", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "36abb425b4af863ae1fe54d8a8b8b4c76a2bccdb" + "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/36abb425b4af863ae1fe54d8a8b8b4c76a2bccdb", - "reference": "36abb425b4af863ae1fe54d8a8b8b4c76a2bccdb", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9f991a964368bee8d883e8d57ced4fe9fff04dfc", + "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc", "shasum": "" }, "require": { @@ -8897,7 +8903,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/v6.3.4" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.5" }, "funding": [ { @@ -8913,20 +8919,20 @@ "type": "tidelift" } ], - "time": "2023-08-26T13:54:49+00:00" + "time": "2023-09-30T06:37:04+00:00" }, { "name": "symfony/mailer", - "version": "v6.3.0", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "7b03d9be1dea29bfec0a6c7b603f5072a4c97435" + "reference": "d89611a7830d51b5e118bca38e390dea92f9ea06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/7b03d9be1dea29bfec0a6c7b603f5072a4c97435", - "reference": "7b03d9be1dea29bfec0a6c7b603f5072a4c97435", + "url": "https://api.github.com/repos/symfony/mailer/zipball/d89611a7830d51b5e118bca38e390dea92f9ea06", + "reference": "d89611a7830d51b5e118bca38e390dea92f9ea06", "shasum": "" }, "require": { @@ -8977,7 +8983,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.3.0" + "source": "https://github.com/symfony/mailer/tree/v6.3.5" }, "funding": [ { @@ -8993,20 +8999,20 @@ "type": "tidelift" } ], - "time": "2023-05-29T12:49:39+00:00" + "time": "2023-09-06T09:47:15+00:00" }, { "name": "symfony/mime", - "version": "v6.3.3", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98" + "reference": "d5179eedf1cb2946dbd760475ebf05c251ef6a6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", - "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", + "url": "https://api.github.com/repos/symfony/mime/zipball/d5179eedf1cb2946dbd760475ebf05c251ef6a6e", + "reference": "d5179eedf1cb2946dbd760475ebf05c251ef6a6e", "shasum": "" }, "require": { @@ -9061,7 +9067,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.3.3" + "source": "https://github.com/symfony/mime/tree/v6.3.5" }, "funding": [ { @@ -9077,7 +9083,7 @@ "type": "tidelift" } ], - "time": "2023-07-31T07:08:24+00:00" + "time": "2023-09-29T06:59:36+00:00" }, { "name": "symfony/options-resolver", @@ -10191,16 +10197,16 @@ }, { "name": "symfony/routing", - "version": "v6.3.3", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a" + "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/e7243039ab663822ff134fbc46099b5fdfa16f6a", - "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a", + "url": "https://api.github.com/repos/symfony/routing/zipball/82616e59acd3e3d9c916bba798326cb7796d7d31", + "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31", "shasum": "" }, "require": { @@ -10254,7 +10260,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.3.3" + "source": "https://github.com/symfony/routing/tree/v6.3.5" }, "funding": [ { @@ -10270,7 +10276,7 @@ "type": "tidelift" } ], - "time": "2023-07-31T07:08:24+00:00" + "time": "2023-09-20T16:05:51+00:00" }, { "name": "symfony/service-contracts", @@ -10356,16 +10362,16 @@ }, { "name": "symfony/string", - "version": "v6.3.2", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "53d1a83225002635bca3482fcbf963001313fb68" + "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", - "reference": "53d1a83225002635bca3482fcbf963001313fb68", + "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339", + "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339", "shasum": "" }, "require": { @@ -10422,7 +10428,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.2" + "source": "https://github.com/symfony/string/tree/v6.3.5" }, "funding": [ { @@ -10438,7 +10444,7 @@ "type": "tidelift" } ], - "time": "2023-07-05T08:41:27+00:00" + "time": "2023-09-18T10:38:32+00:00" }, { "name": "symfony/translation", @@ -10689,16 +10695,16 @@ }, { "name": "symfony/var-dumper", - "version": "v6.3.4", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "2027be14f8ae8eae999ceadebcda5b4909b81d45" + "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2027be14f8ae8eae999ceadebcda5b4909b81d45", - "reference": "2027be14f8ae8eae999ceadebcda5b4909b81d45", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3d9999376be5fea8de47752837a3e1d1c5f69ef5", + "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5", "shasum": "" }, "require": { @@ -10753,7 +10759,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.4" + "source": "https://github.com/symfony/var-dumper/tree/v6.3.5" }, "funding": [ { @@ -10769,7 +10775,7 @@ "type": "tidelift" } ], - "time": "2023-08-24T14:51:05+00:00" + "time": "2023-09-12T10:11:35+00:00" }, { "name": "symfony/yaml", @@ -13031,16 +13037,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.24.0", + "version": "1.24.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "3510b0a6274cc42f7219367cb3abfc123ffa09d6" + "reference": "bcad8d995980440892759db0c32acae7c8e79442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/3510b0a6274cc42f7219367cb3abfc123ffa09d6", - "reference": "3510b0a6274cc42f7219367cb3abfc123ffa09d6", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bcad8d995980440892759db0c32acae7c8e79442", + "reference": "bcad8d995980440892759db0c32acae7c8e79442", "shasum": "" }, "require": { @@ -13072,22 +13078,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.2" }, - "time": "2023-09-07T20:46:32+00:00" + "time": "2023-09-26T12:28:12+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.28", + "version": "9.2.29", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef" + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef", - "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", "shasum": "" }, "require": { @@ -13144,7 +13150,7 @@ "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/9.2.28" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" }, "funding": [ { @@ -13152,7 +13158,7 @@ "type": "github" } ], - "time": "2023-09-12T14:36:20+00:00" + "time": "2023-09-19T04:57:46+00:00" }, { "name": "phpunit/php-file-iterator", @@ -13397,16 +13403,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.12", + "version": "9.6.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f" + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a122c2ebd469b751d774aa0f613dc0d67697653f", - "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", "shasum": "" }, "require": { @@ -13480,7 +13486,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.12" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" }, "funding": [ { @@ -13496,7 +13502,7 @@ "type": "tidelift" } ], - "time": "2023-09-12T14:39:31+00:00" + "time": "2023-09-19T05:39:22+00:00" }, { "name": "pimple/pimple", @@ -14649,16 +14655,16 @@ }, { "name": "spatie/ignition", - "version": "1.10.1", + "version": "1.11.2", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "d92b9a081e99261179b63a858c7a4b01541e7dd1" + "reference": "48b23411ca4bfbc75c75dfc638b6b36159c375aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/d92b9a081e99261179b63a858c7a4b01541e7dd1", - "reference": "d92b9a081e99261179b63a858c7a4b01541e7dd1", + "url": "https://api.github.com/repos/spatie/ignition/zipball/48b23411ca4bfbc75c75dfc638b6b36159c375aa", + "reference": "48b23411ca4bfbc75c75dfc638b6b36159c375aa", "shasum": "" }, "require": { @@ -14728,7 +14734,7 @@ "type": "github" } ], - "time": "2023-08-21T15:06:37+00:00" + "time": "2023-09-19T15:29:52+00:00" }, { "name": "spatie/laravel-ignition", @@ -14957,16 +14963,16 @@ }, { "name": "spatie/ray", - "version": "1.38.0", + "version": "1.39.0", "source": { "type": "git", "url": "https://github.com/spatie/ray.git", - "reference": "b77656d7475875375fcbccf28441eedf1596acd5" + "reference": "7ab6bd01dc6a8ecdd836b3182d40a04308ae0c75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ray/zipball/b77656d7475875375fcbccf28441eedf1596acd5", - "reference": "b77656d7475875375fcbccf28441eedf1596acd5", + "url": "https://api.github.com/repos/spatie/ray/zipball/7ab6bd01dc6a8ecdd836b3182d40a04308ae0c75", + "reference": "7ab6bd01dc6a8ecdd836b3182d40a04308ae0c75", "shasum": "" }, "require": { @@ -15017,7 +15023,7 @@ ], "support": { "issues": "https://github.com/spatie/ray/issues", - "source": "https://github.com/spatie/ray/tree/1.38.0" + "source": "https://github.com/spatie/ray/tree/1.39.0" }, "funding": [ { @@ -15029,7 +15035,7 @@ "type": "other" } ], - "time": "2023-09-12T10:41:10+00:00" + "time": "2023-09-18T10:36:07+00:00" }, { "name": "symfony/polyfill-iconv", diff --git a/config/services.php b/config/services.php index 84e4b7e..3dd126f 100644 --- a/config/services.php +++ b/config/services.php @@ -60,6 +60,7 @@ return [ 'google_analytics_code' => env('GOOGLE_ANALYTICS_CODE'), 'amplitude_code' => env('AMPLITUDE_CODE'), 'crisp_website_id' => env('CRISP_WEBSITE_ID'), + 'sentry_vue_dsn' => env('SENTRY_VUE_DSN'), 'admin_emails' => explode(",", env('ADMIN_EMAILS') ?? ''), 'template_editor_emails' => explode(",", env('TEMPLATE_EDITOR_EMAILS') ?? '') diff --git a/package.json b/package.json index 07da23d..d07d8fe 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@hcaptcha/vue-hcaptcha": "^0.3.2", "@sentry/tracing": "^6.11.0", "@sentry/vue": "^6.11.0", + "@sentry/integrations": "^7.53.1", "axios": "^0.21.1", "chart.js": "^3.7.1", "clone-deep": "^4.0.1", diff --git a/resources/js/middleware/check-auth.js b/resources/js/middleware/check-auth.js index 396ebde..3698717 100644 --- a/resources/js/middleware/check-auth.js +++ b/resources/js/middleware/check-auth.js @@ -1,4 +1,5 @@ import store from '~/store' +import * as Sentry from '@sentry/vue' export function initCrisp (user) { return new Promise((resolve, reject) => { @@ -17,6 +18,19 @@ export function initCrisp (user) { }) } +export function initSentry (user) { + if (!window.config.sentry_dsn) { + return + } + Sentry.configureScope((scope) => { + scope.setUser({ + id: user.id, + email: user.email, + subscription: user?.is_subscribed + }) + }) +} + export default async (to, from, next) => { if (!store.getters['auth/check'] && store.getters['auth/token'] !== null && @@ -25,6 +39,7 @@ export default async (to, from, next) => { try { const user = await store.dispatch('auth/fetchUser') initCrisp(user) + initSentry(user) } catch (e) { console.log(e, 'error') } diff --git a/resources/js/plugins/index.js b/resources/js/plugins/index.js index 79fe354..37fe465 100644 --- a/resources/js/plugins/index.js +++ b/resources/js/plugins/index.js @@ -2,3 +2,4 @@ import './axios' import './vue-plugins' import './amplitude' import './vapor' +import './sentry' diff --git a/resources/js/plugins/sentry.js b/resources/js/plugins/sentry.js new file mode 100644 index 0000000..c4bcd7a --- /dev/null +++ b/resources/js/plugins/sentry.js @@ -0,0 +1,17 @@ +import Vue from 'vue' +import * as Sentry from '@sentry/vue' + +if (window.config.sentry_dsn) { + Sentry.init({ + Vue, + dsn: window.config.sentry_dsn, + integrations: [], + // Performance Monitoring + tracesSampleRate: 0.01, + logErrors: true, + debug: false + }) + if (!window.config.production) { + console.info('== Sentry enabled ==') + } +} diff --git a/resources/js/router/index.js b/resources/js/router/index.js index bbca434..4e7b466 100644 --- a/resources/js/router/index.js +++ b/resources/js/router/index.js @@ -4,6 +4,7 @@ import Meta from 'vue-meta' import routes from './routes' import Router from 'vue-router' import {sync} from 'vuex-router-sync' +import * as Sentry from '@sentry/vue' Vue.use(Meta) Vue.use(Router) @@ -49,6 +50,11 @@ function createRouter () { * @param {Function} next */ async function beforeEach (to, from, next) { + // Sentry tracking + if (window.config.sentry_dsn) { + Sentry.configureScope((scope) => scope.setTransactionName(to?.name || 'Unknown route name')) + } + let components = [] // External redirect diff --git a/resources/views/spa.blade.php b/resources/views/spa.blade.php index 6d909c5..a4f4ab8 100644 --- a/resources/views/spa.blade.php +++ b/resources/views/spa.blade.php @@ -12,6 +12,7 @@ 'hCaptchaSiteKey' => config('services.h_captcha.site_key'), 'google_analytics_code' => config('services.google_analytics_code'), 'amplitude_code' => config('services.amplitude_code'), + 'sentry_dsn' => config('services.sentry_vue_dsn'), 'crisp_website_id' => config('services.crisp_website_id'), 'ai_features_enabled' => !is_null(config('services.openai.api_key')), 's3_enabled' => config('filesystems.default') === 's3',