Open InterstellarStella opened 3 weeks ago
Hi and sorry for the confusion, the docs are pointing to the documentation for the next release :(
For this version, you need to initialize the following Integrations as shown on the below snippet
import './assets/main.css'
import { createApp } from 'vue'
import App from './App.vue'
import * as Sentry from "@sentry/capacitor";
import * as SentryVue from "@sentry/vue";
Sentry.init(
{
dsn: "DSN HERE",
// Set your release version, such as "getsentry@1.0.0"
release: "my-project-name@<release-name>",
// Set your dist version, such as "1"
dist: "<dist>",
integrations: [
// Registers and configures the Tracing integration,
// which automatically instruments your application to monitor its
// performance, including custom Angular routing instrumentation
new SentryVue.BrowserTracing(),
// Registers the Replay integration,
// which automatically captures Session Replays
new SentryVue.Replay(),
],
// Set tracesSampleRate to 1.0 to capture 100%
// of transactions for tracing.
// We recommend adjusting this value in production
tracesSampleRate: 1.0,
// Set `tracePropagationTargets` to control for which URLs distributed tracing should be enabled
tracePropagationTargets: ["localhost", /^https:\/\/yourserver\.io\/api/],
// Capture Replay for 10% of all sessions,
// plus for 100% of sessions with an error
replaysSessionSampleRate: 1.0,
replaysOnErrorSampleRate: 1.0,
},
// Forward the init method from @sentry/angular
SentryVue.init
);
createApp(App).mount('#app')
Hi, I'm trying to get kind of the same configuration running but with capacitor v6
and @sentry/capacitor": "^0.18.0
but with @sentry/vue=^8.14.0
, but unfortunately my IDE complains about the integrations.
This is my setup:
import { createApp } from 'vue'
import App from './App.vue'
import router from '@/router';
import * as Sentry from "@sentry/capacitor";
import * as SentryVue from "@sentry/vue";
const vueApp = createApp(App)
Sentry.init(
{
app: vueApp,
dsn: import.meta.env.VITE_SENTRY_DSN,
release: "my-project-name@<release-name>",
dist: import.meta.env.VITE_SENTRY_DIST,,
integrations: [
SentryVue.browserTracing({ router }),
SentryVue.replay(),
],
},
SentryVue.init
);
vueApp.mount('#app')
But with this I get the error in the IDE:
Type '(Integration | Replay)[]' is not assignable to type '((Integration[] | ((integrations: Integration[]) => Integration[])) & (Integration[] | ((integrations: Integration[]) => Integration[]))) | undefined'.
Type '(Integration | Replay)[]' is not assignable to type '((integrations: Integration[]) => Integration[]) & Integration[]'.
Type '(Integration | Replay)[]' is not assignable to type '(integrations: Integration[]) => Integration[]'.
Type '(Integration | Replay)[]' provides no match for the signature '(integrations: Integration[]): Integration[]'.ts(2322)
options.d.ts(274, 5): The expected type comes from property 'integrations' which is declared here on type 'CapacitorOptions & Partial<Omit<Options, "tracingOptions"> & { tracingOptions: Partial<TracingOptions>; }>'
and this error if I run it:
TypeError: addGlobalEventProcessor2 is not a function
at _SdkInfo.setupOnce (@sentry_capacitor.js?v=3e1dce11:25303:5)
at setupIntegration (@sentry_vue.js?v=3e1dce11:4884:17)
at @sentry_vue.js?v=3e1dce11:4865:7
at Array.forEach (<anonymous>)
at setupIntegrations (@sentry_vue.js?v=3e1dce11:4863:16)
at BrowserClient._setupIntegrations (@sentry_vue.js?v=3e1dce11:5167:26)
at BrowserClient.init (@sentry_vue.js?v=3e1dce11:5079:12)
at initAndBind (@sentry_vue.js?v=3e1dce11:5481:10)
at init (@sentry_vue.js?v=3e1dce11:13691:18)
at init2 (@sentry_vue.js?v=3e1dce11:29587:10)
at Module.init2 (@sentry_capacitor.js?v=3e1dce11:25583:3)
A quick update:
TypeError: addGlobalEventProcessor2 is not a function
This only seems to be caused by SentryVue.init
but the type error is caused by the integrations which also lead to this error:
TypeError: integration.setupOnce is not a function
at setupIntegration (@sentry_capacitor.js?v=3e1dce11:8118:17)
at @sentry_capacitor.js?v=3e1dce11:8099:7
at Array.forEach (<anonymous>)
at setupIntegrations (@sentry_capacitor.js?v=3e1dce11:8097:16)
at BrowserClient._setupIntegrations (@sentry_capacitor.js?v=3e1dce11:8536:26)
at BrowserClient.init (@sentry_capacitor.js?v=3e1dce11:8423:12)
at initializeClient (@sentry_capacitor.js?v=3e1dce11:8961:12)
at initAndBind (@sentry_capacitor.js?v=3e1dce11:8951:3)
at init (@sentry_capacitor.js?v=3e1dce11:13666:3)
at Module.init2 (@sentry_capacitor.js?v=3e1dce11:25583:3)
Hi, I'm trying to get kind of the same configuration running but with capacitor
v6
and@sentry/capacitor": "^0.18.0
but with@sentry/vue=^8.14.0
, but unfortunately my IDE complains about the integrations.This is my setup:
import { createApp } from 'vue' import App from './App.vue' import router from '@/router'; import * as Sentry from "@sentry/capacitor"; import * as SentryVue from "@sentry/vue"; const vueApp = createApp(App) Sentry.init( { app: vueApp, dsn: import.meta.env.VITE_SENTRY_DSN, release: "my-project-name@<release-name>", dist: import.meta.env.VITE_SENTRY_DIST,, integrations: [ SentryVue.browserTracing({ router }), SentryVue.replay(), ], }, SentryVue.init ); vueApp.mount('#app')
But with this I get the error in the IDE:
Type '(Integration | Replay)[]' is not assignable to type '((Integration[] | ((integrations: Integration[]) => Integration[])) & (Integration[] | ((integrations: Integration[]) => Integration[]))) | undefined'. Type '(Integration | Replay)[]' is not assignable to type '((integrations: Integration[]) => Integration[]) & Integration[]'. Type '(Integration | Replay)[]' is not assignable to type '(integrations: Integration[]) => Integration[]'. Type '(Integration | Replay)[]' provides no match for the signature '(integrations: Integration[]): Integration[]'.ts(2322) options.d.ts(274, 5): The expected type comes from property 'integrations' which is declared here on type 'CapacitorOptions & Partial<Omit<Options, "tracingOptions"> & { tracingOptions: Partial<TracingOptions>; }>'
and this error if I run it:
TypeError: addGlobalEventProcessor2 is not a function at _SdkInfo.setupOnce (@sentry_capacitor.js?v=3e1dce11:25303:5) at setupIntegration (@sentry_vue.js?v=3e1dce11:4884:17) at @sentry_vue.js?v=3e1dce11:4865:7 at Array.forEach (<anonymous>) at setupIntegrations (@sentry_vue.js?v=3e1dce11:4863:16) at BrowserClient._setupIntegrations (@sentry_vue.js?v=3e1dce11:5167:26) at BrowserClient.init (@sentry_vue.js?v=3e1dce11:5079:12) at initAndBind (@sentry_vue.js?v=3e1dce11:5481:10) at init (@sentry_vue.js?v=3e1dce11:13691:18) at init2 (@sentry_vue.js?v=3e1dce11:29587:10) at Module.init2 (@sentry_capacitor.js?v=3e1dce11:25583:3)
Hi, for the time being Sentry Capacitor is only compatible with Sentry vue V7, so I would recommend for now to use @sentry/vue
on version 7.114.0
Hi, thanks for the hint. It's working with v7
even though it's not very intuitive with the use of those deprecated functions. :-)
One error that remains is that the use of SentryVue.init
somehow leads to the error Expected 0-1 arguments, but got 2
(in VScode) but the project nevertheless starts without any complains.
This repo is a minimal reproduction of this case.
One error that remains is that the use of SentryVue.init somehow leads to the error Expected 0-1 arguments, but got 2 (in VScode) but the project nevertheless starts without any complains. This repo is a minimal reproduction of this case.
I just saw this is related to a false import which was my bad. :-)
Environment
What version are you running? Etc.
Steps to Reproduce
Set up a Vue application and then add capacitor to it. The
main.js
looks like this:Then just run the app. I ran it in development.
Expected Result
The app runs normally.
Actual Result
We get the following error in the browser console:
If we change
Sentry.replayIntegration(),
toSentryVue.replayIntegration(),
, the error goes away and the application works normally.However, the Sentry docs indicate that we should be able to use
Sentry.replayIntegration(),
here.