You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@fixwire/nextjs, new: Fixwire for Next.js 15.3 and newer from one import, which bundlers resolve to its Node.js, edge or browser build. init() in instrumentation.ts and instrumentation-client.ts reads FIXWIRE_* and NEXT_PUBLIC_FIXWIRE_* settings and traces page loads when tracing is on; captureRequestError reports server errors with the route pattern (on the edge runtime too, delivered before it returns); onRouterTransitionStart leaves navigation breadcrumbs; useCaptureException reports what error.tsx and global-error.tsx show, except server errors already reported; withFixwireConfig turns on browser source maps.
@fixwire/vue, new: init({ app, router }) reports the errors Vue catches (renders, setup, watchers, hooks, event handlers) with the component, its parents and the hook, keeping the app's own errorHandler; vue-router's routes (4 or 5) name page loads, navigations and the errors after them, and the router's errors are reported. attachErrorHandler(app) and browserTracingIntegration({ router }) do each part alone.
@fixwire/nuxt, new: a Nuxt module (Nuxt 3.13 and newer) that sets up the browser and the server from fixwire in nuxt.config (runtime config, so NUXT_PUBLIC_FIXWIRE_DSN sets the DSN when the server starts) and the optional fixwire.client.config and fixwire.server.config files. Vue's errors come from Nuxt's hooks, so Nuxt's error page shows when it would have; server rendering's and Nitro's errors are reported once each, 4xx not; page loads, navigations, rendered pages and API requests are named after their routes; with client source maps on, the browser build is stamped with debug ids before Nitro records the files' sizes.
@fixwire/sveltekit, new: one import for SvelteKit 2 and 3, resolved to its server or browser build. handleErrorWithFixwire() reports unexpected errors (SvelteKit 3's kind: "unknown", SvelteKit 2's 5xx) named after their route and returns your handler's App.Error; fixwireHandle() names requests after their route and puts the route and the request's trace in a rendered page's head, so the browser names its page load and continues the trace; trackNavigation names navigations; fixwireSvelteKit() from @fixwire/sveltekit/vite stamps the client build with debug ids before adapters list and compress it (a chunk whose bundler wrote one keeps it and gets the snippet). The server reads PUBLIC_FIXWIRE_DSN too.
@fixwire/angular, new: for Angular 20 and newer, without decorators. provideFixwire() provides an ErrorHandler that reports what Angular catches (then logs as Angular's does) and @boundary blocks' errors as handled, naming their component by selector; HttpClient's HttpErrorResponse arrives named as such with the request's status and URL and without the response body, however it was caught; the Router's routes name pages, navigations and errors, and failed navigations are reported. createErrorHandler() for apps that provide their own.
@fixwire/core: the EventProcessor type is exported, as Scope.addEventProcessor takes one.
@fixwire/vue: captureVueError reports an error Vue caught for hosts that hand it over another way, and @fixwire/vue/shared has what needs no browser SDK, for server rendering.
@fixwire/core: setRouteName(route) names the request's or page's segment and the errors after it after the route the framework matched.
An example app per framework, made with the framework's own scaffolding, built for production and driven in Chromium by its test: Next.js, Vue, Nuxt, SvelteKit and Angular. FIXWIRE_CLI runs them with a fixwire-cli built from source.