diff --git a/apps/demo/package.json b/apps/demo/package.json index 3f068413a3..41989fe04c 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -13,7 +13,7 @@ "dependencies": { "@formbricks/js": "workspace:*", "@formbricks/ui": "workspace:*", - "lucide-react": "0.418.0", + "lucide-react": "0.452.0", "next": "14.2.15", "react": "18.3.1", "react-dom": "18.3.1" diff --git a/apps/docs/app/self-hosting/migration-guide/page.mdx b/apps/docs/app/self-hosting/migration-guide/page.mdx index 7c4e3d82d2..31d1d12aac 100644 --- a/apps/docs/app/self-hosting/migration-guide/page.mdx +++ b/apps/docs/app/self-hosting/migration-guide/page.mdx @@ -8,6 +8,103 @@ export const metadata = { # Migration Guide +## v2.6 + +Formbricks v2.6 introduces advanced logic jumps for surveys, allowing you to add more advanced branching logic to your surveys including variables, and/or conditions and many more. This release also includes a lot of bug fixes, big performance improvements to website and app surveys and a lot of stability improvements. + + + This release includes the last step of the serverside actions deprecation. The migrations included in this + release will delete all actions from the database. If you still need the actions, please make sure to export + them before upgrading. + + +### Steps to Migrate + +This guide is for users who are self-hosting Formbricks using our one-click setup. If you are using a different setup, you might adjust the commands accordingly. + +To run all these steps, please navigate to the `formbricks` folder where your `docker-compose.yml` file is located. + +1. **Backup your Database**: This is a crucial step. Please make sure to backup your database before proceeding with the upgrade. You can use the following command to backup your database: + + + + +```bash +docker exec formbricks-postgres-1 pg_dump -Fc -U postgres -d formbricks > formbricks_pre_v2.6_$(date +%Y%m%d_%H%M%S).dump +``` + + + + + + If you run into “No such container”, use `docker ps` to find your container name, e.g. + `formbricks_postgres_1`. + + + + If you prefer storing the backup as an `*.sql` file remove the `-Fc` (custom format) option. In case of a + restore scenario you will need to use `psql` then with an empty `formbricks` database. + + +2. Pull the latest version of Formbricks: + + + + +```bash +docker compose pull +``` + + + + +3. Stop the running Formbricks instance & remove the related containers: + + + + +```bash +docker compose down +``` + + + + +4. Restarting the containers with the latest version of Formbricks: + + + + +```bash +docker compose up -d +``` + + + + +5. Now let's migrate the data to the latest schema: + +To find your Docker Network name for your Postgres Database, find it using `docker network ls` + + + + +```bash +docker pull ghcr.io/formbricks/data-migrations:latest && \ +docker run --rm \ + --network=formbricks_default \ + -e DATABASE_URL="postgresql://postgres:postgres@postgres:5432/formbricks?schema=public" \ + -e UPGRADE_TO_VERSION="v2.6" \ + ghcr.io/formbricks/data-migrations:v2.6.0 +``` + + + + +The above command will migrate your data to the latest schema. This is a crucial step to migrate your existing data to the new structure. Only if the script runs successful, changes are made to the database. The script can safely run multiple times. + +6. That's it! Once the migration is complete, you can **now access your Formbricks instance** at the same URL as before. + ## v2.5 Formbricks v2.5 allows you to visualize responses in a data table format. This release also includes a few bug fixes and performance improvements. @@ -95,7 +192,7 @@ docker run --rm \ --network=formbricks_default \ -e DATABASE_URL="postgresql://postgres:postgres@postgres:5432/formbricks?schema=public" \ -e UPGRADE_TO_VERSION="v2.5" \ - ghcr.io/formbricks/data-migrations:latest + ghcr.io/formbricks/data-migrations:v2.5.3 ``` diff --git a/apps/docs/package.json b/apps/docs/package.json index f681c96f4d..0347d5027e 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -36,7 +36,7 @@ "framer-motion": "11.11.4", "lottie-web": "5.12.2", "lucide": "0.451.0", - "lucide-react": "0.451.0", + "lucide-react": "0.452.0", "mdast-util-to-string": "4.0.0", "mdx-annotations": "0.1.4", "next": "14.2.15", diff --git a/apps/web/package.json b/apps/web/package.json index 7d372f69ec..8ee64517af 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@formbricks/web", - "version": "2.5.3", + "version": "2.6.0", "private": true, "scripts": { "clean": "rimraf .turbo node_modules .next", @@ -31,7 +31,7 @@ "@paralleldrive/cuid2": "2.2.2", "@radix-ui/react-collapsible": "1.1.1", "@react-email/components": "0.0.25", - "@sentry/nextjs": "8.33.1", + "@sentry/nextjs": "8.34.0", "@tanstack/react-table": "8.20.5", "@vercel/og": "0.6.3", "@vercel/speed-insights": "1.0.12", @@ -39,13 +39,13 @@ "dotenv": "16.4.5", "encoding": "0.1.13", "file-loader": "6.2.0", - "framer-motion": "11.11.4", + "framer-motion": "11.11.8", "googleapis": "144.0.0", "jiti": "2.3.3", "jsonwebtoken": "9.0.2", "lodash": "4.17.21", "lru-cache": "11.0.1", - "lucide-react": "0.451.0", + "lucide-react": "0.452.0", "mime": "4.0.4", "next": "14.2.15", "next-safe-action": "7.9.3", @@ -68,7 +68,7 @@ "devDependencies": { "@formbricks/config-typescript": "workspace:*", "@formbricks/eslint-config": "workspace:*", - "@neshca/cache-handler": "1.7.3", + "@neshca/cache-handler": "1.7.4", "@types/bcryptjs": "2.4.6", "@types/lodash": "4.17.10", "@types/markdown-it": "14.1.2", diff --git a/packages/database/package.json b/packages/database/package.json index 86bc2054fe..ab164a8d35 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -52,7 +52,8 @@ "data-migration:address-question": "ts-node ./data-migrations/20240924123456_migrate_address_question/data-migration.ts", "data-migration:advanced-logic": "ts-node ./data-migrations/20240828122408_advanced_logic_editor/data-migration.ts", "data-migration:segments-actions-cleanup": "ts-node ./data-migrations/20240904091113_removed_actions_table/data-migration.ts", - "data-migration:migrate-survey-types": "ts-node ./data-migrations/20241002123456_migrate_survey_types/data-migration.ts" + "data-migration:migrate-survey-types": "ts-node ./data-migrations/20241002123456_migrate_survey_types/data-migration.ts", + "data-migration:v2.6": "pnpm data-migration:add-display-id-to-response && pnpm data-migration:address-question && pnpm data-migration:advanced-logic && pnpm data-migration:segments-actions-cleanup && pnpm data-migration:migrate-survey-types" }, "dependencies": { "@prisma/client": "5.20.0", diff --git a/packages/ee/package.json b/packages/ee/package.json index d27e26cee6..8ef89a7972 100644 --- a/packages/ee/package.json +++ b/packages/ee/package.json @@ -25,7 +25,7 @@ "@paralleldrive/cuid2": "2.2.2", "@radix-ui/react-collapsible": "1.1.0", "https-proxy-agent": "7.0.5", - "lucide-react": "0.427.0", + "lucide-react": "0.452.0", "next": "14.2.15", "next-auth": "4.24.7", "node-fetch": "3.3.2", diff --git a/packages/email/package.json b/packages/email/package.json index d2c4dda43f..d05bcf0bf9 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -15,7 +15,7 @@ "@formbricks/ui": "workspace:*", "@react-email/components": "0.0.25", "@react-email/render": "1.0.1", - "lucide-react": "0.451.0", + "lucide-react": "0.452.0", "nodemailer": "6.9.15" }, "devDependencies": { diff --git a/packages/ui/package.json b/packages/ui/package.json index 31768e9643..e0ba155b12 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -47,7 +47,7 @@ "clsx": "2.1.1", "cmdk": "1.0.0", "lexical": "0.17.0", - "lucide-react": "0.427.0", + "lucide-react": "0.452.0", "mime": "4.0.4", "react-colorful": "5.6.1", "react-confetti": "6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d70976486..689ca46215 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,8 +49,8 @@ importers: specifier: workspace:* version: link:../../packages/ui lucide-react: - specifier: 0.418.0 - version: 0.418.0(react@18.3.1) + specifier: 0.452.0 + version: 0.452.0(react@18.3.1) next: specifier: 14.2.15 version: 14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -177,8 +177,8 @@ importers: specifier: 0.451.0 version: 0.451.0 lucide-react: - specifier: 0.451.0 - version: 0.451.0(react@18.3.1) + specifier: 0.452.0 + version: 0.452.0(react@18.3.1) mdast-util-to-string: specifier: 4.0.0 version: 4.0.0 @@ -407,8 +407,8 @@ importers: specifier: 0.0.25 version: 0.0.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sentry/nextjs': - specifier: 8.33.1 - version: 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.95.0) + specifier: 8.34.0 + version: 8.34.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.95.0) '@tanstack/react-table': specifier: 8.20.5 version: 8.20.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -431,8 +431,8 @@ importers: specifier: 6.2.0 version: 6.2.0(webpack@5.95.0) framer-motion: - specifier: 11.11.4 - version: 11.11.4(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 11.11.8 + version: 11.11.8(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) googleapis: specifier: 144.0.0 version: 144.0.0(encoding@0.1.13) @@ -449,8 +449,8 @@ importers: specifier: 11.0.1 version: 11.0.1 lucide-react: - specifier: 0.451.0 - version: 0.451.0(react@18.3.1) + specifier: 0.452.0 + version: 0.452.0(react@18.3.1) mime: specifier: 4.0.4 version: 4.0.4 @@ -513,8 +513,8 @@ importers: specifier: workspace:* version: link:../../packages/config-eslint '@neshca/cache-handler': - specifier: 1.7.3 - version: 1.7.3(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(redis@4.7.0) + specifier: 1.7.4 + version: 1.7.4(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(redis@4.7.0) '@types/bcryptjs': specifier: 2.4.6 version: 2.4.6 @@ -682,8 +682,8 @@ importers: specifier: 7.0.5 version: 7.0.5 lucide-react: - specifier: 0.427.0 - version: 0.427.0(react@18.3.1) + specifier: 0.452.0 + version: 0.452.0(react@18.3.1) next: specifier: 14.2.15 version: 14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -749,8 +749,8 @@ importers: specifier: 1.0.1 version: 1.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lucide-react: - specifier: 0.451.0 - version: 0.451.0(react@18.3.1) + specifier: 0.452.0 + version: 0.452.0(react@18.3.1) nodemailer: specifier: 6.9.15 version: 6.9.15 @@ -1118,8 +1118,8 @@ importers: specifier: 0.17.0 version: 0.17.0 lucide-react: - specifier: 0.427.0 - version: 0.427.0(react@18.3.1) + specifier: 0.452.0 + version: 0.452.0(react@18.3.1) mime: specifier: 4.0.4 version: 4.0.4 @@ -3402,8 +3402,8 @@ packages: '@microsoft/tsdoc@0.14.2': resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - '@neshca/cache-handler@1.7.3': - resolution: {integrity: sha512-jRLTO7pb/JRWvgGO8k+fB/tGhfTiY4N79N7auBi/p9E3G5JU8pUQWcdFfJirrODfxWwYghTPklwWx0J5WeR2sQ==} + '@neshca/cache-handler@1.7.4': + resolution: {integrity: sha512-LcswRRzamauTwNZX+0pBGdGslHsvVrmZvOMLzeSxJnCXZyOHTH8CwJIV4bZzrPcC0e0/OLqZVrBwlry7UesMRg==} peerDependencies: next: '>=13.5.1' redis: '>=4.6' @@ -5069,28 +5069,28 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@sentry-internal/browser-utils@8.33.1': - resolution: {integrity: sha512-TW6/r+Gl5jiXv54iK1xZ3mlVgTS/jaBp4vcQ0xGMdgiQ3WchEPcFSeYovL+YHT3tSud0GZqVtDQCz+5i76puqA==} + '@sentry-internal/browser-utils@8.34.0': + resolution: {integrity: sha512-4AcYOzPzD1tL5eSRQ/GpKv5enquZf4dMVUez99/Bh3va8qiJrNP55AcM7UzZ7WZLTqKygIYruJTU5Zu2SpEAPQ==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.33.1': - resolution: {integrity: sha512-qauMRTm3qDaLqZ3ibI03cj4gLF40y0ij65nj+cns6iWxGCtPrO8tjvXFWuQsE7Aye9dGMnBgmv7uN+NTUtC3RA==} + '@sentry-internal/feedback@8.34.0': + resolution: {integrity: sha512-aYSM2KPUs0FLPxxbJCFSwCYG70VMzlT04xepD1Y/tTlPPOja/02tSv2tyOdZbv8Uw7xslZs3/8Lhj74oYcTBxw==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.33.1': - resolution: {integrity: sha512-nsxTFTPCT10Ty/v6+AiST3+yotGP1sUb8xqfKB9fPnS1hZHFryp0NnEls7xFjBsBbZPU1GpFkzrk/E6JFzixDQ==} + '@sentry-internal/replay-canvas@8.34.0': + resolution: {integrity: sha512-x8KhZcCDpbKHqFOykYXiamX6x0LRxv6N1OJHoH+XCrMtiDBZr4Yo30d/MaS6rjmKGMtSRij30v+Uq+YWIgxUrg==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.33.1': - resolution: {integrity: sha512-fm4coIOjmanU29NOVN9MyaP4fUCOYytbtFqVSKRFNZQ/xAgNeySiBIbUd6IjujMmnOk9bY0WEUMcdm3Uotjdog==} + '@sentry-internal/replay@8.34.0': + resolution: {integrity: sha512-EoMh9NYljNewZK1quY23YILgtNdGgrkzJ9TPsj6jXUG0LZ0Q7N7eFWd0xOEDBvFxrmI3cSXF1i4d1sBb+eyKRw==} engines: {node: '>=14.18'} '@sentry/babel-plugin-component-annotate@2.22.3': resolution: {integrity: sha512-OlHA+i+vnQHRIdry4glpiS/xTOtgjmpXOt6IBOUqynx5Jd/iK1+fj+t8CckqOx9wRacO/hru2wfW/jFq0iViLg==} engines: {node: '>= 14'} - '@sentry/browser@8.33.1': - resolution: {integrity: sha512-c6zI/igexkLwZuGk+u8Rj26ChjxGgkhe6ZbKFsXCYaKAp5ep5X7HQRkkqgbxApiqlC0LduHdd/ymzh139JLg8w==} + '@sentry/browser@8.34.0': + resolution: {integrity: sha512-3HHG2NXxzHq1lVmDy2uRjYjGNf9NsJsTPlOC70vbQdOb+S49EdH/XMPy+J3ruIoyv6Cu0LwvA6bMOM6rHZOgNQ==} engines: {node: '>=14.18'} '@sentry/bundler-plugin-core@2.22.3': @@ -5143,12 +5143,12 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@8.33.1': - resolution: {integrity: sha512-3SS41suXLFzxL3OQvTMZ6q92ZapELVq2l2SoWlZopcamWhog2Ru0dp2vkunq97kFHb2TzKRTlFH4+4gbT8SJug==} + '@sentry/core@8.34.0': + resolution: {integrity: sha512-adrXCTK/zsg5pJ67lgtZqdqHvyx6etMjQW3P82NgWdj83c8fb+zH+K79Z47pD4zQjX0ou2Ws5nwwi4wJbz4bfA==} engines: {node: '>=14.18'} - '@sentry/nextjs@8.33.1': - resolution: {integrity: sha512-XLUyib6bCv2iynKaoYIotVKzLsGc9lr6QI4ZV3/PstiiXKwtTm1TPdBfIlrDJMGIMxH7Z/DmkvJNSESV19Ui6Q==} + '@sentry/nextjs@8.34.0': + resolution: {integrity: sha512-REHE3E21Mnm92B3BfJz3GTMsaZM8vaDJAe7RlAMDltESRECv+ELJ5qVRLgAp8Bd6w4mG8IRNINmK2UwHrAIi9g==} engines: {node: '>=14.18'} peerDependencies: next: ^13.2.0 || ^14.0 || ^15.0.0-rc.0 @@ -5157,12 +5157,12 @@ packages: webpack: optional: true - '@sentry/node@8.33.1': - resolution: {integrity: sha512-0Xmlrl5nU5Bx6YybaIfztyOIiIXW5X64vcK0u94Sg4uHcDO7YvEbhflKjp669ds2I6ZQ/czqxnaAY8gM6P2SCA==} + '@sentry/node@8.34.0': + resolution: {integrity: sha512-Q7BPp7Y8yCcwD620xoziWSOuPi/PCIdttkczvB0BGzBRYh2s702h+qNusRijRpVNZmzmYOo9m1x7Y1O/b8/v2A==} engines: {node: '>=14.18'} - '@sentry/opentelemetry@8.33.1': - resolution: {integrity: sha512-D2aE2G0DUHLLnfbOXrTjiNJKAs/RZfOBJMidI4fC2AIwqCmrp55Aex4dRq4hxd8MPLR92Kt/ikHeJxlzWB15KA==} + '@sentry/opentelemetry@8.34.0': + resolution: {integrity: sha512-WS91L+HVKGVIzOgt0szGp+24iKOs86BZsAHGt0HWnMR4kqWP6Ak+TLvqWDCxnuzniZMxdewDGA8p5hrBAPsmsA==} engines: {node: '>=14.18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -5171,22 +5171,22 @@ packages: '@opentelemetry/sdk-trace-base': ^1.26.0 '@opentelemetry/semantic-conventions': ^1.27.0 - '@sentry/react@8.33.1': - resolution: {integrity: sha512-SsEX05xfcfOvo7/pK1UyeyTAYWH8iSIsXXlsjvnSRsbuJkjb0c+q6yiZpj3A2PRdbcx43nTVE1n0lSpgaqj2HA==} + '@sentry/react@8.34.0': + resolution: {integrity: sha512-gIgzhj7h67C+Sdq2ul4fOSK142Gf0uV99bqHRdtIiUlXw9yjzZQY5TKTtzbOaevn7qBJ0xrRKtIRUbOBMl0clw==} engines: {node: '>=14.18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/types@8.33.1': - resolution: {integrity: sha512-GjoAMvwtpIemoF/IiwZ7A60g4nQv3qwzR21GvJqDVUoKD0e8pv9OLX+HyXoUat4wEDGSuDUcUyUKD2G+od73QA==} + '@sentry/types@8.34.0': + resolution: {integrity: sha512-zLRc60CzohGCo6zNsNeQ9JF3SiEeRE4aDCP9fDDdIVCOKovS+mn1rtSip0qd0Vp2fidOu0+2yY0ALCz1A3PJSQ==} engines: {node: '>=14.18'} - '@sentry/utils@8.33.1': - resolution: {integrity: sha512-uzuYpiiJuFY3N4WNHMBWUQX5oNv2t/TbG0OHRp3Rr7yeu+HSfD542TIp9/gMZ+G0Cxd8AmVO3wkKIFbk0TL4Qg==} + '@sentry/utils@8.34.0': + resolution: {integrity: sha512-W1KoRlFUjprlh3t86DZPFxLfM6mzjRzshVfMY7vRlJFymBelJsnJ3A1lPeBZM9nCraOSiw6GtOWu6k5BAkiGIg==} engines: {node: '>=14.18'} - '@sentry/vercel-edge@8.33.1': - resolution: {integrity: sha512-YKAsFAm4ctsKRdoS3LkYF4oG5BD1chT4Uqy4AaBhlz0s5iHxBI7YzZFbcW4YiNnDWT80tdF+FS7AvUAjy+npoA==} + '@sentry/vercel-edge@8.34.0': + resolution: {integrity: sha512-yF6043FcVO9GqPawCJZp0psEL8iF9+5bOlAdQydCyaj2BtDgFvAeBVI19qlDeAHhqsXNfTD0JsIox2aJPNupwg==} engines: {node: '>=14.18'} '@sentry/webpack-plugin@2.22.3': @@ -8533,6 +8533,20 @@ packages: react-dom: optional: true + framer-motion@11.11.8: + resolution: {integrity: sha512-mnGQNEoz99GtFXBBPw+Ag5K4FcfP5XrXxrxHz+iE4Lmg7W3sf2gKmGuvfkZCW/yIfcdv5vJd6KiSPETH1Pw68Q==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + freeport-async@2.0.0: resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==} engines: {node: '>=8'} @@ -9834,18 +9848,8 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - lucide-react@0.418.0: - resolution: {integrity: sha512-7TSd4CLfvT/U9504MSJ+e03pgAvqZQ5WbML4Pm+axjCbYBLTWuDu68bebFr/e51Z32uHMY7MO+SpaHX8NubveA==} - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - lucide-react@0.427.0: - resolution: {integrity: sha512-lv9s6c5BDF/ccuA0EgTdskTxIe11qpwBDmzRZHJAKtp8LTewAvDvOM+pTES9IpbBuTqkjiMhOmGpJ/CB+mKjFw==} - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc - - lucide-react@0.451.0: - resolution: {integrity: sha512-OwQ3uljZLp2cerj8sboy5rnhtGTCl9UCJIhT1J85/yOuGVlEH+xaUPR7tvNdddPvmV5M5VLdr7cQuWE3hzA4jw==} + lucide-react@0.452.0: + resolution: {integrity: sha512-kNefjOUOGm+Mu3KDiryONyPba9r+nhcrz5oJs3N6JDzGboQNEXw5GB3yB8rnV9/FA4bPyggNU6CRSihZm9MvSw==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc @@ -16653,7 +16657,7 @@ snapshots: '@microsoft/tsdoc@0.14.2': {} - '@neshca/cache-handler@1.7.3(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(redis@4.7.0)': + '@neshca/cache-handler@1.7.4(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(redis@4.7.0)': dependencies: cluster-key-slot: 1.1.2 lru-cache: 10.4.3 @@ -18964,43 +18968,43 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@sentry-internal/browser-utils@8.33.1': + '@sentry-internal/browser-utils@8.34.0': dependencies: - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 - '@sentry-internal/feedback@8.33.1': + '@sentry-internal/feedback@8.34.0': dependencies: - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 - '@sentry-internal/replay-canvas@8.33.1': + '@sentry-internal/replay-canvas@8.34.0': dependencies: - '@sentry-internal/replay': 8.33.1 - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry-internal/replay': 8.34.0 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 - '@sentry-internal/replay@8.33.1': + '@sentry-internal/replay@8.34.0': dependencies: - '@sentry-internal/browser-utils': 8.33.1 - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry-internal/browser-utils': 8.34.0 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 '@sentry/babel-plugin-component-annotate@2.22.3': {} - '@sentry/browser@8.33.1': + '@sentry/browser@8.34.0': dependencies: - '@sentry-internal/browser-utils': 8.33.1 - '@sentry-internal/feedback': 8.33.1 - '@sentry-internal/replay': 8.33.1 - '@sentry-internal/replay-canvas': 8.33.1 - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry-internal/browser-utils': 8.34.0 + '@sentry-internal/feedback': 8.34.0 + '@sentry-internal/replay': 8.34.0 + '@sentry-internal/replay-canvas': 8.34.0 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 '@sentry/bundler-plugin-core@2.22.3(encoding@0.1.13)': dependencies: @@ -19056,24 +19060,24 @@ snapshots: - encoding - supports-color - '@sentry/core@8.33.1': + '@sentry/core@8.34.0': dependencies: - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 - '@sentry/nextjs@8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.95.0)': + '@sentry/nextjs@8.34.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.95.0)': dependencies: '@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@rollup/plugin-commonjs': 26.0.1(rollup@3.29.5) - '@sentry-internal/browser-utils': 8.33.1 - '@sentry/core': 8.33.1 - '@sentry/node': 8.33.1 - '@sentry/opentelemetry': 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/react': 8.33.1(react@18.3.1) - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 - '@sentry/vercel-edge': 8.33.1 + '@sentry-internal/browser-utils': 8.34.0 + '@sentry/core': 8.34.0 + '@sentry/node': 8.34.0 + '@sentry/opentelemetry': 8.34.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/react': 8.34.0(react@18.3.1) + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 + '@sentry/vercel-edge': 8.34.0 '@sentry/webpack-plugin': 2.22.3(encoding@0.1.13)(webpack@5.95.0) chalk: 3.0.0 next: 14.2.15(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -19091,7 +19095,7 @@ snapshots: - react - supports-color - '@sentry/node@8.33.1': + '@sentry/node@8.34.0': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.26.0(@opentelemetry/api@1.9.0) @@ -19123,45 +19127,45 @@ snapshots: '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@prisma/instrumentation': 5.19.1 - '@sentry/core': 8.33.1 - '@sentry/opentelemetry': 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry/core': 8.34.0 + '@sentry/opentelemetry': 8.34.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 import-in-the-middle: 1.11.2 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': + '@sentry/opentelemetry@8.34.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 - '@sentry/react@8.33.1(react@18.3.1)': + '@sentry/react@8.34.0(react@18.3.1)': dependencies: - '@sentry/browser': 8.33.1 - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry/browser': 8.34.0 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 hoist-non-react-statics: 3.3.2 react: 18.3.1 - '@sentry/types@8.33.1': {} + '@sentry/types@8.34.0': {} - '@sentry/utils@8.33.1': + '@sentry/utils@8.34.0': dependencies: - '@sentry/types': 8.33.1 + '@sentry/types': 8.34.0 - '@sentry/vercel-edge@8.33.1': + '@sentry/vercel-edge@8.34.0': dependencies: - '@sentry/core': 8.33.1 - '@sentry/types': 8.33.1 - '@sentry/utils': 8.33.1 + '@sentry/core': 8.34.0 + '@sentry/types': 8.34.0 + '@sentry/utils': 8.34.0 '@sentry/webpack-plugin@2.22.3(encoding@0.1.13)(webpack@5.95.0)': dependencies: @@ -21362,7 +21366,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.0.1 + chalk: 5.3.0 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -23479,6 +23483,14 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + framer-motion@11.11.8(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + tslib: 2.7.0 + optionalDependencies: + '@emotion/is-prop-valid': 0.8.8 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + freeport-async@2.0.0: {} fresh@0.5.2: {} @@ -24886,15 +24898,7 @@ snapshots: dependencies: yallist: 4.0.0 - lucide-react@0.418.0(react@18.3.1): - dependencies: - react: 18.3.1 - - lucide-react@0.427.0(react@18.3.1): - dependencies: - react: 18.3.1 - - lucide-react@0.451.0(react@18.3.1): + lucide-react@0.452.0(react@18.3.1): dependencies: react: 18.3.1 @@ -26019,7 +26023,7 @@ snapshots: normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4