diff --git a/CHANGELOG.md b/CHANGELOG.md index f21550f..6b3fb7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## 1.4.1 (2023-04-04) + + +### 🐛 Bug Fixes + +* **custom**: 修复sentry无法捕获到路由的错误 ([6003529](https://vlink.dev/EOEFANS/eoefans-web/commits/6003529)) + + + # 1.4.0 (2023-03-31) diff --git a/package.json b/package.json index 6ecba18..f52a920 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eoefans-web", - "version": "1.4.0", + "version": "1.4.1", "type": "module", "scripts": { "dev": "vite --config ./config/vite.dev.config.ts", diff --git a/src/main.tsx b/src/main.tsx index 8a3f0ac..7e21f66 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,5 +1,12 @@ import ReactDOM from "react-dom/client"; -import { createBrowserRouter, RouterProvider } from "react-router-dom"; +import { + createBrowserRouter, + createRoutesFromChildren, + matchRoutes, + RouterProvider, + useLocation, + useNavigationType, +} from "react-router-dom"; //router page import VideoPage from "./routers/video"; import Layout from "./routers/layout"; @@ -23,6 +30,7 @@ import * as Sentry from "@sentry/react"; import { BrowserTracing } from "@sentry/tracing"; import SearchPage, { loader as SearchLoader } from "@routers/search"; import { RecoilRoot } from "recoil"; +import React from "react"; if (!isdev && isrelease) { Sentry.init({ dsn: "https://086f27258cce4d28aacc8c2719a683fb@sentry.vtb.link/3", @@ -33,7 +41,15 @@ if (!isdev && isrelease) { return event; }, integrations: [ - new BrowserTracing(), + new BrowserTracing({ + routingInstrumentation: Sentry.reactRouterV6Instrumentation( + React.useEffect, + useLocation, + useNavigationType, + createRoutesFromChildren, + matchRoutes + ), + }), new Sentry.Replay({ // Additional SDK configuration goes in here, for example: maskAllText: true, @@ -44,13 +60,15 @@ if (!isdev && isrelease) { // Set tracesSampleRate to 1.0 to capture 100% // of transactions for performance monitoring. // We recommend adjusting this value in production - tracesSampleRate: 0.5, + tracesSampleRate: 1.0, replaysSessionSampleRate: 0.1, replaysOnErrorSampleRate: 1.0, }); } +const sentryCreateBrowserRouter = + Sentry.wrapCreateBrowserRouter(createBrowserRouter); -const router = createBrowserRouter([ +const router = sentryCreateBrowserRouter([ { path: "/", element: ,