From 465492e904209d2203f3e4ba6aa2249fbdfe2bc8 Mon Sep 17 00:00:00 2001 From: Maxime Julian <44675210+therealemjy@users.noreply.github.com> Date: Wed, 26 Jul 2023 15:36:17 +0200 Subject: [PATCH] feat: re-enable analytics and error logger + bug fix (#1205) --- package.json | 9 ++++-- src/App/index.tsx | 46 +++++++++++++++++-------------- src/context/Analytics/index.tsx | 2 +- src/context/ErrorLogger/index.tsx | 23 +++++++--------- vite.config.ts | 8 ++++-- yarn.lock | 11 +++++++- 6 files changed, 59 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index 526b0e262f..80590455bd 100755 --- a/package.json +++ b/package.json @@ -21,12 +21,13 @@ "generate-subgraph-types:mainnet": "yarn graphql-codegen --config ./src/config/codegen.ts --project mainnet", "generate-subgraph-types:testnet": "yarn graphql-codegen --config ./src/config/codegen.ts --project testnet", "generate-subgraph-types": "npm-run-all --parallel generate-subgraph-types:mainnet generate-subgraph-types:testnet", - "generate-contract-types": "rimraf src/types/contracts && typechain --target=ethers-v5 --out-dir=src/types/contracts 'src/constants/contracts/abis/*.json'", - "generate-contract-types:contract-package": "rimraf ./src/types/contracts && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/isolatedPools './node_modules/@venusprotocol/isolated-pools/artifacts/contracts/!(Factories)/**/*[!.dbg].json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/oracle './node_modules/@venusprotocol/oracle/artifacts/contracts/!(Factories)/**/*[!.dbg].json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/venusProtocol './node_modules/@venusprotocol/venus-protocol/artifacts/contracts/!(Factories)/**/*[!.dbg].json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/xvsVesting './node_modules/@venusprotocol/venus-protocol/artifacts/contracts/Tokens/XVS/XVSVesting.sol/XVSVesting.json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/others './src/packages/contracts/contractInfos/externalAbis/*.json'", + "generate-contract-types": "rimraf ./src/types/contracts && npm-run-all generate-contract-types:app generate-contract-types:contract-package", + "generate-contract-types:app": "typechain --target=ethers-v5 --out-dir=src/types/contracts 'src/constants/contracts/abis/*.json'", + "generate-contract-types:contract-package": "typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/isolatedPools './node_modules/@venusprotocol/isolated-pools/artifacts/contracts/!(Factories)/**/*[!.dbg].json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/oracle './node_modules/@venusprotocol/oracle/artifacts/contracts/!(Factories)/**/*[!.dbg].json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/venusProtocol './node_modules/@venusprotocol/venus-protocol/artifacts/contracts/!(Factories)/**/*[!.dbg].json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/xvsVesting './node_modules/@venusprotocol/venus-protocol/artifacts/contracts/Tokens/XVS/XVSVesting.sol/XVSVesting.json' && typechain --target=ethers-v5 --out-dir=./src/packages/contracts/types/contracts/others './src/packages/contracts/contractInfos/externalAbis/*.json'", "generate-pancake-swap-tokens": "node ./scripts/generatePancakeSwapTokens.mjs && yarn prettier --write ./src/constants/tokens/swap/mainnetPancakeSwapTokens.ts", "generate-version-file": "genversion --es6 --semi src/constants/version.ts", "husky:install": "husky install", - "postinstall": "npm-run-all --parallel husky:install generate-contract-types generate-contract-types:contract-package generate-subgraph-types generate-version-file && yarn generate-pancake-swap-tokens", + "postinstall": "npm-run-all --parallel husky:install generate-contract-types generate-subgraph-types generate-version-file && yarn generate-pancake-swap-tokens", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "regression": "reg-suit run" @@ -53,6 +54,7 @@ "@venusprotocol/oracle": "^1.7.0", "@venusprotocol/venus-protocol": "^3.0.0-dev.13", "bignumber.js": "^9.0.0", + "buffer": "^6.0.3", "copy-to-clipboard": "^3.3.1", "date-fns": "^2.28.0", "ethereum-multicall": "2.15.0", @@ -90,6 +92,7 @@ "@graphql-codegen/client-preset": "^4.0.1", "@graphql-codegen/typed-document-node": "^5.0.1", "@graphql-codegen/typescript-operations": "^4.0.1", + "@rollup/plugin-inject": "^5.0.3", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^10.0.1", "@semantic-release/git": "^10.0.1", diff --git a/src/App/index.tsx b/src/App/index.tsx index 5d897744ff..32526c3989 100644 --- a/src/App/index.tsx +++ b/src/App/index.tsx @@ -1,41 +1,47 @@ import { Layout, ResetScrollOnRouteChange } from 'components'; import React from 'react'; import { QueryClientProvider } from 'react-query'; -import { HashRouter } from 'react-router-dom'; +import { BrowserRouter } from 'react-router-dom'; import { ToastContainer } from 'react-toastify'; import 'assets/styles/App.scss'; import { queryClient } from 'clients/api'; import { Web3Wrapper } from 'clients/web3'; +import { AnalyticsProvider } from 'context/Analytics'; import { AuthProvider } from 'context/AuthContext'; import { DisableLunaUstWarningProvider } from 'context/DisableLunaUstWarning'; +import { ErrorLoggerProvider } from 'context/ErrorLogger'; import { SuccessfulTransactionModalProvider } from 'context/SuccessfulTransactionModalContext'; import { MuiThemeProvider } from 'theme/MuiThemeProvider'; import Switch from './Switch'; const App = () => ( - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + + + ); export default App; diff --git a/src/context/Analytics/index.tsx b/src/context/Analytics/index.tsx index 0002ede4d7..85bd590645 100644 --- a/src/context/Analytics/index.tsx +++ b/src/context/Analytics/index.tsx @@ -27,7 +27,7 @@ export const AnalyticsProvider: React.FC = ({ children }) => ( apiKey={config.posthog.apiKey} options={{ api_host: config.posthog.hostUrl, - persistence: 'localStorage', + persistence: 'memory', name: DAPP_VERSION, }} > diff --git a/src/context/ErrorLogger/index.tsx b/src/context/ErrorLogger/index.tsx index cd8325cbb3..43ce05a870 100644 --- a/src/context/ErrorLogger/index.tsx +++ b/src/context/ErrorLogger/index.tsx @@ -19,18 +19,15 @@ export const ErrorLoggerProvider: React.FC = ({ children }) => { }; export const logError = (error: string | unknown) => { - // Temporarily disable Sentry - console.error(`[Logger]: ${error}`); + // Only log errors in live environments + if (config.environment !== 'mainnet') { + console.error(`[Logger]: ${error}`); + return; + } - // // Only log errors in live environments - // if (config.environment !== 'mainnet') { - // console.error(`[Logger]: ${error}`); - // return; - // } - - // if (typeof error === 'string') { - // Sentry.captureMessage(error); - // } else { - // Sentry.captureException(error); - // } + if (typeof error === 'string') { + Sentry.captureMessage(error); + } else { + Sentry.captureException(error); + } }; diff --git a/vite.config.ts b/vite.config.ts index 80d6996dff..37e43a918e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,13 +1,17 @@ /// +import inject from '@rollup/plugin-inject'; import react from '@vitejs/plugin-react'; import { defineConfig } from 'vite'; import svgrPlugin from 'vite-plugin-svgr'; import viteTsconfigPaths from 'vite-tsconfig-paths'; -export default defineConfig({ +export default defineConfig(({ mode }) => ({ plugins: [react(), viteTsconfigPaths(), svgrPlugin()], build: { outDir: 'build', + rollupOptions: { + plugins: [inject({ Buffer: ['buffer', 'Buffer'] })], + }, }, test: { globals: true, @@ -18,4 +22,4 @@ export default defineConfig({ exclude: ['node_modules/', 'src/setupTests.tsx'], }, }, -}); +})); diff --git a/yarn.lock b/yarn.lock index 3142b8d46f..b79285c7bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4776,6 +4776,15 @@ resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca" integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== +"@rollup/plugin-inject@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.3.tgz#0783711efd93a9547d52971db73b2fb6140a67b1" + integrity sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA== + dependencies: + "@rollup/pluginutils" "^5.0.1" + estree-walker "^2.0.2" + magic-string "^0.27.0" + "@rollup/pluginutils@^4.2.0": version "4.2.1" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" @@ -4784,7 +4793,7 @@ estree-walker "^2.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^5.0.2": +"@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==