diff --git a/web/apps/accounts/sentry.client.config.ts b/web/apps/accounts/sentry.client.config.ts deleted file mode 100644 index c43273663..000000000 --- a/web/apps/accounts/sentry.client.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { initSentry } from "@ente/shared/sentry/config/sentry.config.base"; - -initSentry("https://0f7214c7feb9b1dd2fed5db09b42fa1b@sentry.ente.io/5"); diff --git a/web/apps/accounts/sentry.edge.config.ts b/web/apps/accounts/sentry.edge.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/accounts/sentry.properties b/web/apps/accounts/sentry.properties deleted file mode 100644 index 27c3a286f..000000000 --- a/web/apps/accounts/sentry.properties +++ /dev/null @@ -1,6 +0,0 @@ -# This file is used by the SentryWebpackPlugin to upload sourcemaps when the -# SENTRY_AUTH_TOKEN environment variable is defined. - -defaults.url = https://sentry.ente.io/ -defaults.org = ente -defaults.project = web-photos diff --git a/web/apps/accounts/sentry.server.config.ts b/web/apps/accounts/sentry.server.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/auth/next.config.js b/web/apps/auth/next.config.js index eea88bf93..81a64d7dd 100644 --- a/web/apps/auth/next.config.js +++ b/web/apps/auth/next.config.js @@ -1,3 +1 @@ -const nextConfigBase = require("@/next/next.config.base.js"); - -module.exports = nextConfigBase; +module.exports = require("@/next/next.config.base.js"); diff --git a/web/apps/auth/sentry.client.config.ts b/web/apps/auth/sentry.client.config.ts deleted file mode 100644 index 373718e8e..000000000 --- a/web/apps/auth/sentry.client.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { initSentry } from "@ente/shared/sentry/config/sentry.config.base"; - -initSentry("https://5d344112b570b1a368b6f5c1d0bb798b@sentry.ente.io/8"); diff --git a/web/apps/auth/sentry.edge.config.ts b/web/apps/auth/sentry.edge.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/auth/sentry.properties b/web/apps/auth/sentry.properties deleted file mode 100644 index e9b0cad16..000000000 --- a/web/apps/auth/sentry.properties +++ /dev/null @@ -1,6 +0,0 @@ -# This file is used by the SentryWebpackPlugin to upload sourcemaps when the -# SENTRY_AUTH_TOKEN environment variable is defined. - -defaults.url = https://sentry.ente.io/ -defaults.org = ente -defaults.project = web-auth diff --git a/web/apps/auth/sentry.server.config.ts b/web/apps/auth/sentry.server.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/auth/src/pages/_error.tsx b/web/apps/auth/src/pages/_error.tsx deleted file mode 100644 index bf1bb89be..000000000 --- a/web/apps/auth/src/pages/_error.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { APPS } from "@ente/shared/apps/constants"; -import ErrorPage from "@ente/shared/next/pages/_error"; -import { useRouter } from "next/router"; -import { AppContext } from "pages/_app"; -import { useContext } from "react"; - -export default function Error() { - const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); -} diff --git a/web/apps/cast/next.config.js b/web/apps/cast/next.config.js index eea88bf93..81a64d7dd 100644 --- a/web/apps/cast/next.config.js +++ b/web/apps/cast/next.config.js @@ -1,3 +1 @@ -const nextConfigBase = require("@/next/next.config.base.js"); - -module.exports = nextConfigBase; +module.exports = require("@/next/next.config.base.js"); diff --git a/web/apps/cast/sentry.client.config.ts b/web/apps/cast/sentry.client.config.ts deleted file mode 100644 index c43273663..000000000 --- a/web/apps/cast/sentry.client.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { initSentry } from "@ente/shared/sentry/config/sentry.config.base"; - -initSentry("https://0f7214c7feb9b1dd2fed5db09b42fa1b@sentry.ente.io/5"); diff --git a/web/apps/cast/sentry.edge.config.ts b/web/apps/cast/sentry.edge.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/cast/sentry.properties b/web/apps/cast/sentry.properties deleted file mode 100644 index 27c3a286f..000000000 --- a/web/apps/cast/sentry.properties +++ /dev/null @@ -1,6 +0,0 @@ -# This file is used by the SentryWebpackPlugin to upload sourcemaps when the -# SENTRY_AUTH_TOKEN environment variable is defined. - -defaults.url = https://sentry.ente.io/ -defaults.org = ente -defaults.project = web-photos diff --git a/web/apps/cast/sentry.server.config.ts b/web/apps/cast/sentry.server.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/cast/src/services/InMemoryStore.ts b/web/apps/cast/src/services/InMemoryStore.ts index ded73faf0..88e77b869 100644 --- a/web/apps/cast/src/services/InMemoryStore.ts +++ b/web/apps/cast/src/services/InMemoryStore.ts @@ -1,5 +1,4 @@ export enum MS_KEYS { - OPT_OUT_OF_CRASH_REPORTS = "optOutOfCrashReports", SRP_CONFIGURE_IN_PROGRESS = "srpConfigureInProgress", REDIRECT_URL = "redirectUrl", } diff --git a/web/apps/photos/.env.development b/web/apps/photos/.env.development index 045fffaee..038f0237a 100644 --- a/web/apps/photos/.env.development +++ b/web/apps/photos/.env.development @@ -22,7 +22,6 @@ # # - Logs go to the browser console (in addition to the log file) # - There is some additional logging -# - Sentry is not initialized # - ... (search for isDevBuild to see all impacts) # # Note that even in development build, the app still connects to the production diff --git a/web/apps/photos/next.config.js b/web/apps/photos/next.config.js index eea88bf93..81a64d7dd 100644 --- a/web/apps/photos/next.config.js +++ b/web/apps/photos/next.config.js @@ -1,3 +1 @@ -const nextConfigBase = require("@/next/next.config.base.js"); - -module.exports = nextConfigBase; +module.exports = require("@/next/next.config.base.js"); diff --git a/web/apps/photos/sentry.client.config.ts b/web/apps/photos/sentry.client.config.ts deleted file mode 100644 index c43273663..000000000 --- a/web/apps/photos/sentry.client.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { initSentry } from "@ente/shared/sentry/config/sentry.config.base"; - -initSentry("https://0f7214c7feb9b1dd2fed5db09b42fa1b@sentry.ente.io/5"); diff --git a/web/apps/photos/sentry.edge.config.ts b/web/apps/photos/sentry.edge.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/photos/sentry.properties b/web/apps/photos/sentry.properties deleted file mode 100644 index 27c3a286f..000000000 --- a/web/apps/photos/sentry.properties +++ /dev/null @@ -1,6 +0,0 @@ -# This file is used by the SentryWebpackPlugin to upload sourcemaps when the -# SENTRY_AUTH_TOKEN environment variable is defined. - -defaults.url = https://sentry.ente.io/ -defaults.org = ente -defaults.project = web-photos diff --git a/web/apps/photos/sentry.server.config.ts b/web/apps/photos/sentry.server.config.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/photos/src/components/Sidebar/Preferences/index.tsx b/web/apps/photos/src/components/Sidebar/Preferences/index.tsx index ec9d61a47..04dc79a13 100644 --- a/web/apps/photos/src/components/Sidebar/Preferences/index.tsx +++ b/web/apps/photos/src/components/Sidebar/Preferences/index.tsx @@ -1,17 +1,10 @@ import ChevronRight from "@mui/icons-material/ChevronRight"; import { Box, DialogProps, Stack } from "@mui/material"; import { EnteDrawer } from "components/EnteDrawer"; +import { EnteMenuItem } from "components/Menu/EnteMenuItem"; import Titlebar from "components/Titlebar"; import { t } from "i18next"; -import isElectron from "is-electron"; import { useState } from "react"; - -import ElectronAPIs from "@ente/shared/electron"; -import { useLocalState } from "@ente/shared/hooks/useLocalState"; -import { logError } from "@ente/shared/sentry"; -import InMemoryStore, { MS_KEYS } from "@ente/shared/storage/InMemoryStore"; -import { LS_KEYS } from "@ente/shared/storage/localStorage"; -import { EnteMenuItem } from "components/Menu/EnteMenuItem"; import AdvancedSettings from "../AdvancedSettings"; import MapSettings from "../MapSetting"; import { LanguageSelector } from "./LanguageSelector"; @@ -19,10 +12,6 @@ import { LanguageSelector } from "./LanguageSelector"; export default function Preferences({ open, onClose, onRootClose }) { const [advancedSettingsView, setAdvancedSettingsView] = useState(false); const [mapSettingsView, setMapSettingsView] = useState(false); - const [optOutOfCrashReports, setOptOutOfCrashReports] = useLocalState( - LS_KEYS.OPT_OUT_OF_CRASH_REPORTS, - false, - ); const openAdvancedSettings = () => setAdvancedSettingsView(true); const closeAdvancedSettings = () => setAdvancedSettingsView(false); @@ -43,23 +32,6 @@ export default function Preferences({ open, onClose, onRootClose }) { } }; - const toggleOptOutOfCrashReports = async () => { - try { - if (isElectron()) { - await ElectronAPIs.updateOptOutOfCrashReports( - !optOutOfCrashReports, - ); - } - setOptOutOfCrashReports(!optOutOfCrashReports); - InMemoryStore.set( - MS_KEYS.OPT_OUT_OF_CRASH_REPORTS, - !optOutOfCrashReports, - ); - } catch (e) { - logError(e, "toggleOptOutOfCrashReports failed"); - } - }; - return ( - - } diff --git a/web/apps/photos/src/pages/_error.tsx b/web/apps/photos/src/pages/_error.tsx deleted file mode 100644 index bf1bb89be..000000000 --- a/web/apps/photos/src/pages/_error.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { APPS } from "@ente/shared/apps/constants"; -import ErrorPage from "@ente/shared/next/pages/_error"; -import { useRouter } from "next/router"; -import { AppContext } from "pages/_app"; -import { useContext } from "react"; - -export default function Error() { - const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); -} diff --git a/web/apps/photos/src/services/upload/thumbnailService.ts b/web/apps/photos/src/services/upload/thumbnailService.ts index 8b1cf7a61..74ce23f4c 100644 --- a/web/apps/photos/src/services/upload/thumbnailService.ts +++ b/web/apps/photos/src/services/upload/thumbnailService.ts @@ -1,4 +1,4 @@ -import { CustomError, errorWithContext } from "@ente/shared/error"; +import { CustomError } from "@ente/shared/error"; import { addLogLine } from "@ente/shared/logging"; import { getFileNameSize } from "@ente/shared/logging/web"; import { logError } from "@ente/shared/sentry"; @@ -145,10 +145,9 @@ export async function generateImageThumbnailUsingCanvas( clearTimeout(timeout); resolve(null); } catch (e) { - const err = errorWithContext( - e, - `${CustomError.THUMBNAIL_GENERATION_FAILED} err: ${e}`, - ); + const err = new Error(CustomError.THUMBNAIL_GENERATION_FAILED, { + cause: e, + }); reject(err); } }; diff --git a/web/package.json b/web/package.json index bdbce0b42..f7e734651 100644 --- a/web/package.json +++ b/web/package.json @@ -26,7 +26,6 @@ "lint-fix": "yarn prettier --write . && yarn workspaces run eslint --fix ." }, "resolutions": { - "@sentry/cli": "1.75.0", "libsodium": "0.7.9" }, "devDependencies": { diff --git a/web/packages/next/next.config.base.js b/web/packages/next/next.config.base.js index 5439c9443..ef7b65fac 100644 --- a/web/packages/next/next.config.base.js +++ b/web/packages/next/next.config.base.js @@ -10,7 +10,6 @@ * https://nextjs.org/docs/pages/api-reference/next-config-js */ -const { withSentryConfig } = require("@sentry/nextjs"); const cp = require("child_process"); const gitSHA = cp @@ -21,8 +20,7 @@ const gitSHA = cp .trimEnd(); /** - * The base Next.js config. Before exporting this, we wrap this in - * {@link withSentryConfig}. + * Configuration for the Next.js build * * @type {import("next").NextConfig} */ @@ -54,33 +52,6 @@ const nextConfig = { } return config; }, - - // Build time Sentry configuration - // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ - sentry: { - widenClientFileUpload: true, - disableServerWebpackPlugin: true, - }, }; -const sentryWebpackPluginOptions = { - // The same release value needs to be used both: - // 1. here to create a new release on Sentry and upload sourcemaps to it, - // 2. and when initializing Sentry in the browser (`Sentry.init`). - release: gitSHA, -}; - -// withSentryConfig extends the default Next.js usage of webpack to: -// -// 1. Initialize the SDK on client page load (See `sentry.client.config.ts`) -// -// 2. Upload sourcemaps, using the settings defined in `sentry.properties`. -// -// Sourcemaps are only uploaded to Sentry if SENTRY_AUTH_TOKEN is defined. Note -// that sourcemaps are always generated in the static export; the Sentry Webpack -// plugin behavies as if the `productionBrowserSourceMaps` Next.js configuration -// setting is `true`. -// -// Irritatingly, Sentry insists that we create empty sentry.server.config.ts and -// sentry.edge.config.ts files, even though we are not using those parts. -module.exports = withSentryConfig(nextConfig, sentryWebpackPluginOptions); +module.exports = nextConfig; diff --git a/web/packages/shared/electron/service.ts b/web/packages/shared/electron/service.ts index 2f00b42f4..8e035e632 100644 --- a/web/packages/shared/electron/service.ts +++ b/web/packages/shared/electron/service.ts @@ -12,11 +12,7 @@ import { deserializeToResponse, serializeResponse } from "./worker/utils/proxy"; export interface LimitedElectronAPIs extends Pick< ElectronAPIsType, - | "openDiskCache" - | "deleteDiskCache" - | "getSentryUserID" - | "convertToJPEG" - | "logToDisk" + "openDiskCache" | "deleteDiskCache" | "convertToJPEG" | "logToDisk" > {} class WorkerSafeElectronServiceImpl implements LimitedElectronAPIs { @@ -56,10 +52,6 @@ class WorkerSafeElectronServiceImpl implements LimitedElectronAPIs { return await this.proxiedElectron.deleteDiskCache(cacheName); } - async getSentryUserID() { - await this.ready; - return this.proxiedElectron.getSentryUserID(); - } async convertToJPEG( inputFileData: Uint8Array, filename: string, diff --git a/web/packages/shared/electron/types.ts b/web/packages/shared/electron/types.ts index df5829ab0..6b1bff4aa 100644 --- a/web/packages/shared/electron/types.ts +++ b/web/packages/shared/electron/types.ts @@ -80,7 +80,6 @@ export interface ElectronAPIsType { ) => void; updateAndRestart: () => void; skipAppUpdate: (version: string) => void; - getSentryUserID: () => Promise; getAppVersion: () => Promise; runFFmpegCmd: ( cmd: string[], diff --git a/web/packages/shared/electron/worker/client.ts b/web/packages/shared/electron/worker/client.ts index 12b34a4e7..92db7d972 100644 --- a/web/packages/shared/electron/worker/client.ts +++ b/web/packages/shared/electron/worker/client.ts @@ -9,7 +9,6 @@ export interface ProxiedLimitedElectronAPIs { cacheLimitInBytes?: number, ) => Promise; deleteDiskCache: (cacheName: string) => Promise; - getSentryUserID: () => Promise; convertToJPEG: ( inputFileData: Uint8Array, filename: string, @@ -42,10 +41,6 @@ export class WorkerSafeElectronClient implements ProxiedLimitedElectronAPIs { return await ElectronAPIs.deleteDiskCache(cacheName); } - async getSentryUserID() { - return await ElectronAPIs.getSentryUserID(); - } - async convertToJPEG( inputFileData: Uint8Array, filename: string, diff --git a/web/packages/shared/error/index.ts b/web/packages/shared/error/index.ts index 0463c9610..be8f10cea 100644 --- a/web/packages/shared/error/index.ts +++ b/web/packages/shared/error/index.ts @@ -109,15 +109,6 @@ export function handleUploadError(error: any): Error { return parsedError; } -export function errorWithContext(originalError: Error, context: string) { - const errorWithContext = new Error(context); - errorWithContext.stack = - errorWithContext.stack?.split("\n").slice(2, 4).join("\n") + - "\n" + - originalError.stack; - return errorWithContext; -} - export function parseUploadErrorCodes(error: any) { let parsedMessage = null; if (error instanceof ApiError) { diff --git a/web/packages/shared/logging/web.ts b/web/packages/shared/logging/web.ts index e0c36dc89..4fee25258 100644 --- a/web/packages/shared/logging/web.ts +++ b/web/packages/shared/logging/web.ts @@ -7,7 +7,6 @@ import { setData, } from "@ente/shared/storage/localStorage"; import { addLogLine } from "."; -import { getSentryUserID } from "../sentry/utils"; import { formatDateTimeShort } from "../time/format"; import { ElectronFile } from "../upload/types"; import type { User } from "../user/types"; @@ -75,10 +74,9 @@ export const logStartupMessage = async (appId: string) => { // TODO (MR): Remove the need to lowercase it, change the enum itself. const appIdL = appId.toLowerCase(); const userID = (getData(LS_KEYS.USER) as User)?.id; - const sentryID = await getSentryUserID(); const buildId = isDevBuild ? "dev" : `git ${process.env.GIT_SHA}`; - addLogLine(`ente-${appIdL}-web ${buildId} uid ${userID} sid ${sentryID}`); + addLogLine(`ente-${appIdL} ${buildId} uid ${userID}`); }; function getLogs(): Log[] { diff --git a/web/packages/shared/next/pages/_error.tsx b/web/packages/shared/next/pages/_error.tsx deleted file mode 100644 index c0fc2e39f..000000000 --- a/web/packages/shared/next/pages/_error.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as Sentry from "@sentry/nextjs"; -import NextErrorComponent from "next/error"; - -const CustomErrorComponent = (props) => ( - -); - -CustomErrorComponent.getInitialProps = async (contextData) => { - // In case this is running in a serverless function, await this in order to give Sentry - // time to send the error before the lambda exits - await Sentry.captureUnderscoreErrorException(contextData); - - // This will contain the status code of the response - return NextErrorComponent.getInitialProps(contextData); -}; - -export default CustomErrorComponent; diff --git a/web/packages/shared/package.json b/web/packages/shared/package.json index b4d4e1671..807fdd7e6 100644 --- a/web/packages/shared/package.json +++ b/web/packages/shared/package.json @@ -5,7 +5,6 @@ "dependencies": { "@/next": "*", "@ente/eslint-config": "*", - "@sentry/nextjs": "7.77.0", "axios": "^1.6.7" } } diff --git a/web/packages/shared/sentry/config/sentry.config.base.ts b/web/packages/shared/sentry/config/sentry.config.base.ts deleted file mode 100644 index d37572de6..000000000 --- a/web/packages/shared/sentry/config/sentry.config.base.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { isDevBuild } from "@/utils/env"; -import { runningInBrowser } from "@ente/shared/platform"; -import { getSentryUserID } from "@ente/shared/sentry/utils"; -import { getHasOptedOutOfCrashReports } from "@ente/shared/storage/localStorage/helpers"; -import * as Sentry from "@sentry/nextjs"; - -export const initSentry = async (dsn: string) => { - // Don't initialize Sentry for dev builds - if (isDevBuild) return; - - // Don't initialize Sentry if the user has opted out of crash reporting - if (optedOut()) return; - - Sentry.init({ - dsn, - release: process.env.GIT_SHA, - attachStacktrace: true, - autoSessionTracking: false, - tunnel: "https://sentry-reporter.ente.io", - beforeSend(event) { - event.request = event.request || {}; - const currentURL = new URL(document.location.href); - currentURL.hash = ""; - event.request.url = currentURL.href; - return event; - }, - integrations: function (i) { - return i.filter(function (i) { - return i.name !== "Breadcrumbs"; - }); - }, - }); - - Sentry.setUser({ id: await getSentryUserID() }); -}; - -/** Return true if the user has opted out of crash reporting */ -const optedOut = () => runningInBrowser() && getHasOptedOutOfCrashReports(); diff --git a/web/packages/shared/sentry/index.ts b/web/packages/shared/sentry/index.ts index 9279c1134..2dae035b7 100644 --- a/web/packages/shared/sentry/index.ts +++ b/web/packages/shared/sentry/index.ts @@ -1,59 +1,27 @@ -import { ApiError, errorWithContext } from "@ente/shared/error"; -import { addLocalLog, addLogLine } from "@ente/shared/logging"; -import { - getSentryUserID, - isErrorUnnecessaryForSentry, -} from "@ente/shared/sentry/utils"; -import InMemoryStore, { MS_KEYS } from "@ente/shared/storage/InMemoryStore"; -import { getHasOptedOutOfCrashReports } from "@ente/shared/storage/localStorage/helpers"; -import * as Sentry from "@sentry/nextjs"; +import { ApiError } from "@ente/shared/error"; +import { addLogLine } from "@ente/shared/logging"; +/** Deprecated: Use `logError` from `@/utils/logging` */ export const logError = async ( error: any, msg: string, info?: Record, skipAddLogLine = false, ) => { - const err = errorWithContext(error, msg); - if (!skipAddLogLine) { - if (error instanceof ApiError) { - addLogLine(`error: ${error?.name} ${error?.message} + if (skipAddLogLine) return; + + if (error instanceof ApiError) { + addLogLine(`error: ${error?.name} ${error?.message} msg: ${msg} errorCode: ${JSON.stringify(error?.errCode)} httpStatusCode: ${JSON.stringify(error?.httpStatusCode)} ${ info ? `info: ${JSON.stringify(info)}` : "" } ${error?.stack}`); - } else { - addLogLine( - `error: ${error?.name} ${error?.message} + } else { + addLogLine( + `error: ${error?.name} ${error?.message} msg: ${msg} ${info ? `info: ${JSON.stringify(info)}` : ""} ${error?.stack}`, - ); - } - } - if (!InMemoryStore.has(MS_KEYS.OPT_OUT_OF_CRASH_REPORTS)) { - const optedOutOfCrashReports = getHasOptedOutOfCrashReports(); - InMemoryStore.set( - MS_KEYS.OPT_OUT_OF_CRASH_REPORTS, - optedOutOfCrashReports, ); } - if (InMemoryStore.get(MS_KEYS.OPT_OUT_OF_CRASH_REPORTS)) { - addLocalLog(() => `skipping sentry error: ${error?.name}`); - return; - } - if (isErrorUnnecessaryForSentry(error)) { - return; - } - - Sentry.captureException(err, { - level: "info", - user: { id: await getSentryUserID() }, - contexts: { - ...(info && { - info: info, - }), - rootCause: { message: error?.message, completeError: error }, - }, - }); }; diff --git a/web/packages/shared/sentry/utils.ts b/web/packages/shared/sentry/utils.ts deleted file mode 100644 index 258db570e..000000000 --- a/web/packages/shared/sentry/utils.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { WorkerSafeElectronService } from "@ente/shared/electron/service"; -import { - getLocalSentryUserID, - setLocalSentryUserID, -} from "@ente/shared/storage/localStorage/helpers"; -import { HttpStatusCode } from "axios"; -import isElectron from "is-electron"; -import { ApiError } from "../error"; - -export async function getSentryUserID() { - if (isElectron()) { - return await WorkerSafeElectronService.getSentryUserID(); - } else { - let anonymizeUserID = getLocalSentryUserID(); - if (!anonymizeUserID) { - anonymizeUserID = makeID(6); - setLocalSentryUserID(anonymizeUserID); - } - return anonymizeUserID; - } -} - -function makeID(length) { - let result = ""; - const characters = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - const charactersLength = characters.length; - for (let i = 0; i < length; i++) { - result += characters.charAt( - Math.floor(Math.random() * charactersLength), - ); - } - return result; -} - -export function isErrorUnnecessaryForSentry(error: any) { - if (error?.message?.includes("Network Error")) { - return true; - } else if ( - error instanceof ApiError && - error.httpStatusCode === HttpStatusCode.Unauthorized - ) { - return true; - } - return false; -} diff --git a/web/packages/shared/storage/InMemoryStore.ts b/web/packages/shared/storage/InMemoryStore.ts index ded73faf0..88e77b869 100644 --- a/web/packages/shared/storage/InMemoryStore.ts +++ b/web/packages/shared/storage/InMemoryStore.ts @@ -1,5 +1,4 @@ export enum MS_KEYS { - OPT_OUT_OF_CRASH_REPORTS = "optOutOfCrashReports", SRP_CONFIGURE_IN_PROGRESS = "srpConfigureInProgress", REDIRECT_URL = "redirectUrl", } diff --git a/web/packages/shared/storage/localStorage/helpers.ts b/web/packages/shared/storage/localStorage/helpers.ts index d8092a56a..95ae280e3 100644 --- a/web/packages/shared/storage/localStorage/helpers.ts +++ b/web/packages/shared/storage/localStorage/helpers.ts @@ -37,18 +37,6 @@ export function setLocalMapEnabled(value: boolean) { setData(LS_KEYS.MAP_ENABLED, { value }); } -export function getHasOptedOutOfCrashReports(): boolean { - return getData(LS_KEYS.OPT_OUT_OF_CRASH_REPORTS)?.value ?? false; -} - -export function getLocalSentryUserID() { - return getData(LS_KEYS.AnonymizedUserID)?.id; -} - -export function setLocalSentryUserID(id: string) { - setData(LS_KEYS.AnonymizedUserID, { id }); -} - export function getLocalReferralSource() { return getData(LS_KEYS.REFERRAL_SOURCE)?.source; } diff --git a/web/packages/shared/storage/localStorage/index.ts b/web/packages/shared/storage/localStorage/index.ts index e40b64457..14901fdd4 100644 --- a/web/packages/shared/storage/localStorage/index.ts +++ b/web/packages/shared/storage/localStorage/index.ts @@ -12,7 +12,6 @@ export enum LS_KEYS { JUST_SIGNED_UP = "justSignedUp", SHOW_BACK_BUTTON = "showBackButton", EXPORT = "export", - AnonymizedUserID = "anonymizedUserID", THUMBNAIL_FIX_STATE = "thumbnailFixState", LIVE_PHOTO_INFO_SHOWN_COUNT = "livePhotoInfoShownCount", LOGS = "logs", @@ -26,7 +25,6 @@ export enum LS_KEYS { MAP_ENABLED = "mapEnabled", SRP_SETUP_ATTRIBUTES = "srpSetupAttributes", SRP_ATTRIBUTES = "srpAttributes", - OPT_OUT_OF_CRASH_REPORTS = "optOutOfCrashReports", CF_PROXY_DISABLED = "cfProxyDisabled", REFERRAL_SOURCE = "referralSource", CLIENT_PACKAGE = "clientPackage", diff --git a/web/packages/utils/logging.ts b/web/packages/utils/logging.ts index b3d7d8567..cd9c4b53b 100644 --- a/web/packages/utils/logging.ts +++ b/web/packages/utils/logging.ts @@ -17,7 +17,7 @@ * * TODO (MR): Currently this is a placeholder function to funnel error logs * through. This needs to do what the existing logError in @ente/shared does, - * but it cannot have a direct Electron/Sentry dependency here. For now, we just + * but it cannot have a direct Electron dependency here. For now, we just * log on the console. */ export const logError = (message: string, e?: unknown) => { @@ -35,5 +35,7 @@ export const logError = (message: string, e?: unknown) => { // For the rest rare cases, use the default string serialization of e. es = String(e); } + + // TODO(MR): Use addLogLine console.error(`${message}: ${es}`); }; diff --git a/web/yarn.lock b/web/yarn.lock index be4cf6488..2f5cbb105 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -302,11 +302,6 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@jridgewell/sourcemap-codec@^1.4.13": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - "@mui/base@5.0.0-beta.36": version "5.0.0-beta.36" resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.36.tgz#29ca2de9d387f6d3943b6f18a84415c43e5f206c" @@ -538,161 +533,11 @@ dependencies: dequal "^2.0.3" -"@rollup/plugin-commonjs@24.0.0": - version "24.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz#fb7cf4a6029f07ec42b25daa535c75b05a43f75c" - integrity sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g== - dependencies: - "@rollup/pluginutils" "^5.0.1" - commondir "^1.0.1" - estree-walker "^2.0.2" - glob "^8.0.3" - is-reference "1.2.1" - magic-string "^0.27.0" - -"@rollup/pluginutils@^5.0.1": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" - integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - "@rushstack/eslint-patch@^1.3.3": version "1.7.2" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz#2d4260033e199b3032a08b41348ac10de21c47e9" integrity sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA== -"@sentry-internal/tracing@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.77.0.tgz#f3d82486f8934a955b3dd2aa54c8d29586e42a37" - integrity sha512-8HRF1rdqWwtINqGEdx8Iqs9UOP/n8E0vXUu3Nmbqj4p5sQPA7vvCfq+4Y4rTqZFc7sNdFpDsRION5iQEh8zfZw== - dependencies: - "@sentry/core" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - -"@sentry/browser@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.77.0.tgz#155440f1a0d3a1bbd5d564c28d6b0c9853a51d72" - integrity sha512-nJ2KDZD90H8jcPx9BysQLiQW+w7k7kISCWeRjrEMJzjtge32dmHA8G4stlUTRIQugy5F+73cOayWShceFP7QJQ== - dependencies: - "@sentry-internal/tracing" "7.77.0" - "@sentry/core" "7.77.0" - "@sentry/replay" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - -"@sentry/cli@1.75.0", "@sentry/cli@^1.74.6": - version "1.75.0" - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.75.0.tgz#4a5e71b5619cd4e9e6238cc77857c66f6b38d86a" - integrity sha512-vT8NurHy00GcN8dNqur4CMIYvFH3PaKdkX3qllVvi4syybKqjwoz+aWRCvprbYv0knweneFkLt1SmBWqazUMfA== - dependencies: - https-proxy-agent "^5.0.0" - mkdirp "^0.5.5" - node-fetch "^2.6.7" - progress "^2.0.3" - proxy-from-env "^1.1.0" - which "^2.0.2" - -"@sentry/core@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.77.0.tgz#21100843132beeeff42296c8370cdcc7aa1d8510" - integrity sha512-Tj8oTYFZ/ZD+xW8IGIsU6gcFXD/gfE+FUxUaeSosd9KHwBQNOLhZSsYo/tTVf/rnQI/dQnsd4onPZLiL+27aTg== - dependencies: - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - -"@sentry/integrations@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.77.0.tgz#f2717e05cb7c69363316ccd34096b2ea07ae4c59" - integrity sha512-P055qXgBHeZNKnnVEs5eZYLdy6P49Zr77A1aWJuNih/EenzMy922GOeGy2mF6XYrn1YJSjEwsNMNsQkcvMTK8Q== - dependencies: - "@sentry/core" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - localforage "^1.8.1" - -"@sentry/nextjs@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.77.0.tgz#036b1c45dd106e01d44967c97985464e108922be" - integrity sha512-8tYPBt5luFjrng1sAMJqNjM9sq80q0jbt6yariADU9hEr7Zk8YqFaOI2/Q6yn9dZ6XyytIRtLEo54kk2AO94xw== - dependencies: - "@rollup/plugin-commonjs" "24.0.0" - "@sentry/core" "7.77.0" - "@sentry/integrations" "7.77.0" - "@sentry/node" "7.77.0" - "@sentry/react" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - "@sentry/vercel-edge" "7.77.0" - "@sentry/webpack-plugin" "1.20.0" - chalk "3.0.0" - resolve "1.22.8" - rollup "2.78.0" - stacktrace-parser "^0.1.10" - -"@sentry/node@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.77.0.tgz#a247452779a5bcb55724457707286e3e4a29dbbe" - integrity sha512-Ob5tgaJOj0OYMwnocc6G/CDLWC7hXfVvKX/ofkF98+BbN/tQa5poL+OwgFn9BA8ud8xKzyGPxGU6LdZ8Oh3z/g== - dependencies: - "@sentry-internal/tracing" "7.77.0" - "@sentry/core" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - https-proxy-agent "^5.0.0" - -"@sentry/react@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.77.0.tgz#9da14e4b21eae4b5a6306d39bb7c42ef0827d2c2" - integrity sha512-Q+htKzib5em0MdaQZMmPomaswaU3xhcVqmLi2CxqQypSjbYgBPPd+DuhrXKoWYLDDkkbY2uyfe4Lp3yLRWeXYw== - dependencies: - "@sentry/browser" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - hoist-non-react-statics "^3.3.2" - -"@sentry/replay@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.77.0.tgz#21d242c9cd70a7235237216174873fd140b6eb80" - integrity sha512-M9Ik2J5ekl+C1Och3wzLRZVaRGK33BlnBwfwf3qKjgLDwfKW+1YkwDfTHbc2b74RowkJbOVNcp4m8ptlehlSaQ== - dependencies: - "@sentry-internal/tracing" "7.77.0" - "@sentry/core" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - -"@sentry/types@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.77.0.tgz#c5d00fe547b89ccde59cdea59143bf145cee3144" - integrity sha512-nfb00XRJVi0QpDHg+JkqrmEBHsqBnxJu191Ded+Cs1OJ5oPXEW6F59LVcBScGvMqe+WEk1a73eH8XezwfgrTsA== - -"@sentry/utils@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.77.0.tgz#1f88501f0b8777de31b371cf859d13c82ebe1379" - integrity sha512-NmM2kDOqVchrey3N5WSzdQoCsyDkQkiRxExPaNI2oKQ/jMWHs9yt0tSy7otPBcXs0AP59ihl75Bvm1tDRcsp5g== - dependencies: - "@sentry/types" "7.77.0" - -"@sentry/vercel-edge@7.77.0": - version "7.77.0" - resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-7.77.0.tgz#6a90a869878e4e78803c4331c30aea841fcc6a73" - integrity sha512-ffddPCgxVeAccPYuH5sooZeHBqDuJ9OIhIRYKoDi4TvmwAzWo58zzZWhRpkHqHgIQdQvhLVZ5F+FSQVWnYSOkw== - dependencies: - "@sentry/core" "7.77.0" - "@sentry/types" "7.77.0" - "@sentry/utils" "7.77.0" - -"@sentry/webpack-plugin@1.20.0": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.20.0.tgz#e7add76122708fb6b4ee7951294b521019720e58" - integrity sha512-Ssj1mJVFsfU6vMCOM2d+h+KQR7QHSfeIP16t4l20Uq/neqWXZUQ2yvQfe4S3BjdbJXz/X4Rw8Hfy1Sd0ocunYw== - dependencies: - "@sentry/cli" "^1.74.6" - webpack-sources "^2.0.0 || ^3.0.0" - "@stripe/stripe-js@^1.13.2": version "1.54.2" resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.54.2.tgz#0665848e22cbda936cfd05256facdfbba121438d" @@ -764,11 +609,6 @@ "@types/node" "*" base-x "^3.0.6" -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - "@types/geojson@*": version "7946.0.14" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.14.tgz#319b63ad6df705ee2a65a73ef042c8271e696613" @@ -1127,13 +967,6 @@ acorn@^8.0.4, acorn@^8.9.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -1444,14 +1277,6 @@ caniuse-lite@^1.0.30001579: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz#7ad6dba4c9bf6561aec8291976402339dc157dfb" integrity sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg== -chalk@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1552,11 +1377,6 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1631,13 +1451,6 @@ debounce@^2.0.0: resolved "https://registry.yarnpkg.com/debounce/-/debounce-2.0.0.tgz#b2f914518a1481466f4edaee0b063e4d473ad549" integrity sha512-xRetU6gL1VJbs85Mc4FoEGSjQxzpdxRyFhe3lmWFyy2EzydIcD4xzUvRJMD+NPDfMwKNhxa3PvsIOU32luIWeA== -debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -1645,6 +1458,13 @@ debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -2100,11 +1920,6 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -2382,17 +2197,6 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - globals@^13.19.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" @@ -2523,7 +2327,7 @@ heic-decode@^2.0.0: dependencies: libheif-js "^1.17.1" -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -2553,14 +2357,6 @@ html-tokenize@^2.0.0: readable-stream "~1.0.27-1" through2 "~0.4.1" -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - i18next-http-backend@^2.5: version "2.5.0" resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.5.0.tgz#8396a7df30bfe722eff7a65f629df32a61720414" @@ -2781,13 +2577,6 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-reference@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -3041,7 +2830,7 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -localforage@^1.8.1, localforage@^1.9.0: +localforage@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== @@ -3099,13 +2888,6 @@ lru-cache@^6.0.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - "memoize-one@>=3.1.1 <6", memoize-one@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" @@ -3155,13 +2937,6 @@ minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.6, minimist@~1.2.5: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -3172,13 +2947,6 @@ minimist@^1.2.0, minimist@^1.2.6, minimist@~1.2.5: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== -mkdirp@^0.5.5: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - ml-array-max@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/ml-array-max/-/ml-array-max-1.2.4.tgz#2373e2b7e51c8807e456cc0ef364c5863713623b" @@ -3266,7 +3034,7 @@ next@^14.1: "@next/swc-win32-ia32-msvc" "14.1.0" "@next/swc-win32-x64-msvc" "14.1.0" -node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@^2.6.1, node-fetch@^2.6.12: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -3549,11 +3317,6 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prop-types-extra@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" @@ -3852,7 +3615,7 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve@1.22.8, resolve@^1.19.0, resolve@^1.22.4: +resolve@^1.19.0, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -3887,13 +3650,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup@2.78.0: - version "2.78.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e" - integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg== - optionalDependencies: - fsevents "~2.3.2" - run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -4081,13 +3837,6 @@ source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -stacktrace-parser@^0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" - integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== - dependencies: - type-fest "^0.7.1" - streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" @@ -4356,11 +4105,6 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - type-fest@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" @@ -4503,11 +4247,6 @@ webpack-bundle-analyzer@4.10.1: sirv "^2.0.3" ws "^7.3.1" -"webpack-sources@^2.0.0 || ^3.0.0": - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -4566,7 +4305,7 @@ which-typed-array@^1.1.14, which-typed-array@^1.1.9: gopd "^1.0.1" has-tostringtag "^1.0.1" -which@^2.0.1, which@^2.0.2: +which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==