diff --git a/packages/editor-ui/package.json b/packages/editor-ui/package.json index 04fed80e31..cbed587c55 100644 --- a/packages/editor-ui/package.json +++ b/packages/editor-ui/package.json @@ -38,7 +38,7 @@ "@n8n/codemirror-lang": "workspace:*", "@n8n/codemirror-lang-sql": "^1.0.2", "@n8n/permissions": "workspace:*", - "@sentry/vue": "^8.31.0", + "@sentry/vue": "catalog:frontend", "@vue-flow/background": "^1.3.0", "@vue-flow/controls": "^1.1.2", "@vue-flow/core": "^1.41.2", diff --git a/packages/editor-ui/src/Interface.ts b/packages/editor-ui/src/Interface.ts index 21849861ef..97ca0cf4eb 100644 --- a/packages/editor-ui/src/Interface.ts +++ b/packages/editor-ui/src/Interface.ts @@ -116,10 +116,6 @@ declare global { }; // eslint-disable-next-line @typescript-eslint/naming-convention Cypress: unknown; - - Sentry?: { - captureException: (error: Error, metadata?: unknown) => void; - }; } } diff --git a/packages/editor-ui/src/components/ParameterInputList.vue b/packages/editor-ui/src/components/ParameterInputList.vue index 1d08dfa505..146e7c0961 100644 --- a/packages/editor-ui/src/components/ParameterInputList.vue +++ b/packages/editor-ui/src/components/ParameterInputList.vue @@ -29,6 +29,7 @@ import { } from '@/utils/nodeTypesUtils'; import { get, set } from 'lodash-es'; import { useRouter } from 'vue-router'; +import { captureException } from '@sentry/vue'; const LazyFixedCollectionParameter = defineAsyncComponent( async () => await import('./FixedCollectionParameter.vue'), @@ -73,7 +74,7 @@ onErrorCaptured((e, component) => { } asyncLoadingError.value = true; console.error(e); - window?.Sentry?.captureException(e, { + captureException(e, { tags: { asyncLoadingError: true, }, diff --git a/packages/editor-ui/src/plugins/codemirror/resolvableHighlighter.ts b/packages/editor-ui/src/plugins/codemirror/resolvableHighlighter.ts index 6bbe3dcf42..22263fd35a 100644 --- a/packages/editor-ui/src/plugins/codemirror/resolvableHighlighter.ts +++ b/packages/editor-ui/src/plugins/codemirror/resolvableHighlighter.ts @@ -3,6 +3,7 @@ import { EditorView, Decoration } from '@codemirror/view'; import { StateField, StateEffect } from '@codemirror/state'; import { tags } from '@lezer/highlight'; import { syntaxHighlighting, HighlightStyle } from '@codemirror/language'; +import { captureException } from '@sentry/vue'; import type { ColoringStateEffect, @@ -87,7 +88,7 @@ const coloringStateField = StateField.define({ } } } catch (error) { - window?.Sentry?.captureException(error); + captureException(error); } return colorings; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9e3fd987bb..a9cbdc9d8f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,6 +61,9 @@ catalogs: specifier: 3.23.8 version: 3.23.8 frontend: + '@sentry/vue': + specifier: ^8.33.1 + version: 8.33.1 '@vitest/coverage-v8': specifier: ^2.0.5 version: 2.1.1 @@ -1341,8 +1344,8 @@ importers: specifier: workspace:* version: link:../@n8n/permissions '@sentry/vue': - specifier: ^8.31.0 - version: 8.31.0(vue@3.4.21(typescript@5.6.2)) + specifier: catalog:frontend + version: 8.33.1(vue@3.4.21(typescript@5.6.2)) '@vue-flow/background': specifier: ^1.3.0 version: 1.3.0(@vue-flow/core@1.41.2(vue@3.4.21(typescript@5.6.2)))(vue@3.4.21(typescript@5.6.2)) @@ -4019,20 +4022,20 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@sentry-internal/browser-utils@8.31.0': - resolution: {integrity: sha512-Bq7TFMhPr1PixRGYkB/6ar9ws7sj224XzQ+hgpz6OxGEc9fQakvD8t/Nn7dp14k3FI/hcBRA6BBvpOKUUuPgGA==} + '@sentry-internal/browser-utils@8.33.1': + resolution: {integrity: sha512-TW6/r+Gl5jiXv54iK1xZ3mlVgTS/jaBp4vcQ0xGMdgiQ3WchEPcFSeYovL+YHT3tSud0GZqVtDQCz+5i76puqA==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.31.0': - resolution: {integrity: sha512-R3LcC2IaTe8lgi5AU9h0rMgyVPpaTiMSLRhRlVeQPVmAKCz8pSG/um13q37t0BsXpTaImW9yYQ71Aj6h6IrShQ==} + '@sentry-internal/feedback@8.33.1': + resolution: {integrity: sha512-qauMRTm3qDaLqZ3ibI03cj4gLF40y0ij65nj+cns6iWxGCtPrO8tjvXFWuQsE7Aye9dGMnBgmv7uN+NTUtC3RA==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.31.0': - resolution: {integrity: sha512-ConyrhWozx4HluRj0+9teN4XTC1ndXjxMdJQvDnbLFsQhCCEdwUfaZVshV1CFe9T08Bfyjruaw33yR7pDXYktw==} + '@sentry-internal/replay-canvas@8.33.1': + resolution: {integrity: sha512-nsxTFTPCT10Ty/v6+AiST3+yotGP1sUb8xqfKB9fPnS1hZHFryp0NnEls7xFjBsBbZPU1GpFkzrk/E6JFzixDQ==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.31.0': - resolution: {integrity: sha512-r8hmFDwWxeAxpdzBCRWTKQ/QHl8QanFw8XfM0fvFes/H1d/b43Vwc/IiUnsYoMOdooIP8hJFGDKlfq+Y5uVVGA==} + '@sentry-internal/replay@8.33.1': + resolution: {integrity: sha512-fm4coIOjmanU29NOVN9MyaP4fUCOYytbtFqVSKRFNZQ/xAgNeySiBIbUd6IjujMmnOk9bY0WEUMcdm3Uotjdog==} engines: {node: '>=14.18'} '@sentry-internal/tracing@7.87.0': @@ -4043,8 +4046,8 @@ packages: resolution: {integrity: sha512-hbSq067KwmeKIEkmyzkTNJbmbtx2KRqvpiy9Q/DynI5Z46Nko/ppvgIfyFXK9DelwvEPOqZic4WXTIhO4iv3DA==} engines: {node: '>= 14'} - '@sentry/browser@8.31.0': - resolution: {integrity: sha512-LZK0uLPGB4Al+qWc1eaad+H/1SR6CY9a0V2XWpUbNAT3+VkEo0Z/78bW1kb43N0cok87hNPOe+c66SfwdxphVQ==} + '@sentry/browser@8.33.1': + resolution: {integrity: sha512-c6zI/igexkLwZuGk+u8Rj26ChjxGgkhe6ZbKFsXCYaKAp5ep5X7HQRkkqgbxApiqlC0LduHdd/ymzh139JLg8w==} engines: {node: '>=14.18'} '@sentry/bundler-plugin-core@2.22.4': @@ -4101,8 +4104,8 @@ packages: resolution: {integrity: sha512-jkoXqK/nuYh8DYS+n7uaSuSIdw4HJemyRkXsWjAEPtEgD7taGMafZGbP5pl+XE38SE59jTBxmKnkUEZOFMgZGA==} engines: {node: '>=8'} - '@sentry/core@8.31.0': - resolution: {integrity: sha512-5zsMBOML18e5a/ZoR5XpcYF59e2kSxb6lTg13u52f/+NA27EPgxKgXim5dz6L/6+0cizgwwmFaZFGJiFc2qoAA==} + '@sentry/core@8.33.1': + resolution: {integrity: sha512-3SS41suXLFzxL3OQvTMZ6q92ZapELVq2l2SoWlZopcamWhog2Ru0dp2vkunq97kFHb2TzKRTlFH4+4gbT8SJug==} engines: {node: '>=14.18'} '@sentry/integrations@7.87.0': @@ -4117,24 +4120,24 @@ packages: resolution: {integrity: sha512-w8jKFHq/Llupmr2FezmFgQsnm3y/CnqLjb7s6PstI78E409wrhH7p7oqX/OEuzccH1qNCNwes/3QKvPTRQDB4Q==} engines: {node: '>=8'} - '@sentry/types@8.31.0': - resolution: {integrity: sha512-prRM/n5nlP+xQZSpdEkSR8BwwZtgsLk0NbI8eCjTMu2isVlrlggop8pVaJb7y9HmElVtDA1Q6y4u8TD2htQKFQ==} + '@sentry/types@8.33.1': + resolution: {integrity: sha512-GjoAMvwtpIemoF/IiwZ7A60g4nQv3qwzR21GvJqDVUoKD0e8pv9OLX+HyXoUat4wEDGSuDUcUyUKD2G+od73QA==} engines: {node: '>=14.18'} '@sentry/utils@7.87.0': resolution: {integrity: sha512-7xgtPTnTNP/4IznFMFXxltuaXfLvzznrYCDMv9ny8EeUjJqlLX3CVA8Qq3YALsLCQCKcrGRARbAcd/EGG//w2w==} engines: {node: '>=8'} - '@sentry/utils@8.31.0': - resolution: {integrity: sha512-9W2LZ9QIHKc0HSyH/7UmTolc01Q4vX/qMSZk7i1noinlkQtnRUmTP39r1DSITjKCrDHj6zvB/J1RPDUoRcTXxQ==} + '@sentry/utils@8.33.1': + resolution: {integrity: sha512-uzuYpiiJuFY3N4WNHMBWUQX5oNv2t/TbG0OHRp3Rr7yeu+HSfD542TIp9/gMZ+G0Cxd8AmVO3wkKIFbk0TL4Qg==} engines: {node: '>=14.18'} '@sentry/vite-plugin@2.22.4': resolution: {integrity: sha512-C51PUlTv0BXN3+e9SjPHptNX3b9E0clrsaR5c//l/sFkQjuteDHKChA1gNzZSvfoa3gm9NzZAgpk3hVF2O3nBA==} engines: {node: '>= 14'} - '@sentry/vue@8.31.0': - resolution: {integrity: sha512-w512J2XLs43OZ7KBcdy4ho+IWMf37TQDJ5+JBONC+OLmGo7rixAZZxwIA7nI1/kZsBYEZ6JZL1uPCMrwwe/BsQ==} + '@sentry/vue@8.33.1': + resolution: {integrity: sha512-Ec3Z/KM96PhSdc3NSQUkKRETSipnIy55M35ujGCbdMnlGr95TjmInxVIxQGZap8S0EVzcpGCWFTGlzUR/pmVJQ==} engines: {node: '>=14.18'} peerDependencies: vue: 2.x || 3.x @@ -15260,31 +15263,31 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@sentry-internal/browser-utils@8.31.0': + '@sentry-internal/browser-utils@8.33.1': dependencies: - '@sentry/core': 8.31.0 - '@sentry/types': 8.31.0 - '@sentry/utils': 8.31.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/feedback@8.31.0': + '@sentry-internal/feedback@8.33.1': dependencies: - '@sentry/core': 8.31.0 - '@sentry/types': 8.31.0 - '@sentry/utils': 8.31.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/replay-canvas@8.31.0': + '@sentry-internal/replay-canvas@8.33.1': dependencies: - '@sentry-internal/replay': 8.31.0 - '@sentry/core': 8.31.0 - '@sentry/types': 8.31.0 - '@sentry/utils': 8.31.0 + '@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.31.0': + '@sentry-internal/replay@8.33.1': dependencies: - '@sentry-internal/browser-utils': 8.31.0 - '@sentry/core': 8.31.0 - '@sentry/types': 8.31.0 - '@sentry/utils': 8.31.0 + '@sentry-internal/browser-utils': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 '@sentry-internal/tracing@7.87.0': dependencies: @@ -15294,15 +15297,15 @@ snapshots: '@sentry/babel-plugin-component-annotate@2.22.4': {} - '@sentry/browser@8.31.0': + '@sentry/browser@8.33.1': dependencies: - '@sentry-internal/browser-utils': 8.31.0 - '@sentry-internal/feedback': 8.31.0 - '@sentry-internal/replay': 8.31.0 - '@sentry-internal/replay-canvas': 8.31.0 - '@sentry/core': 8.31.0 - '@sentry/types': 8.31.0 - '@sentry/utils': 8.31.0 + '@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/bundler-plugin-core@2.22.4(encoding@0.1.13)': dependencies: @@ -15363,10 +15366,10 @@ snapshots: '@sentry/types': 7.87.0 '@sentry/utils': 7.87.0 - '@sentry/core@8.31.0': + '@sentry/core@8.33.1': dependencies: - '@sentry/types': 8.31.0 - '@sentry/utils': 8.31.0 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 '@sentry/integrations@7.87.0': dependencies: @@ -15387,15 +15390,15 @@ snapshots: '@sentry/types@7.87.0': {} - '@sentry/types@8.31.0': {} + '@sentry/types@8.33.1': {} '@sentry/utils@7.87.0': dependencies: '@sentry/types': 7.87.0 - '@sentry/utils@8.31.0': + '@sentry/utils@8.33.1': dependencies: - '@sentry/types': 8.31.0 + '@sentry/types': 8.33.1 '@sentry/vite-plugin@2.22.4(encoding@0.1.13)': dependencies: @@ -15405,12 +15408,12 @@ snapshots: - encoding - supports-color - '@sentry/vue@8.31.0(vue@3.4.21(typescript@5.6.2))': + '@sentry/vue@8.33.1(vue@3.4.21(typescript@5.6.2))': dependencies: - '@sentry/browser': 8.31.0 - '@sentry/core': 8.31.0 - '@sentry/types': 8.31.0 - '@sentry/utils': 8.31.0 + '@sentry/browser': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 vue: 3.4.21(typescript@5.6.2) '@sevinf/maybe@0.5.0': {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4647c29147..18fc085728 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -27,6 +27,7 @@ catalog: catalogs: frontend: '@vitest/coverage-v8': ^2.0.5 + '@sentry/vue': ^8.33.1 vite: ^5.4.6 vitest: ^2.1.1 vitest-mock-extended: ^2.0.2