From a7387f1514d780ea96310b5a75d21bd947867a02 Mon Sep 17 00:00:00 2001 From: George Gritsouk <989898+gggritso@users.noreply.github.com> Date: Tue, 10 Dec 2024 15:57:02 -0500 Subject: [PATCH 01/11] ref(dashboards): Export Widget component props (#81924) Useful to other components and these names are better. --- .../dashboards/widgets/bigNumberWidget/bigNumberWidget.tsx | 4 ++-- .../dashboards/widgets/lineChartWidget/lineChartWidget.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/static/app/views/dashboards/widgets/bigNumberWidget/bigNumberWidget.tsx b/static/app/views/dashboards/widgets/bigNumberWidget/bigNumberWidget.tsx index a12f0c3e58112b..62856d97a67a8a 100644 --- a/static/app/views/dashboards/widgets/bigNumberWidget/bigNumberWidget.tsx +++ b/static/app/views/dashboards/widgets/bigNumberWidget/bigNumberWidget.tsx @@ -21,12 +21,12 @@ import type {StateProps} from '../common/types'; import {DEEMPHASIS_COLOR_NAME, LOADING_PLACEHOLDER} from './settings'; -interface Props +export interface BigNumberWidgetProps extends StateProps, Omit, Partial {} -export function BigNumberWidget(props: Props) { +export function BigNumberWidget(props: BigNumberWidgetProps) { const {value, previousPeriodValue, field} = props; if (props.isLoading) { diff --git a/static/app/views/dashboards/widgets/lineChartWidget/lineChartWidget.tsx b/static/app/views/dashboards/widgets/lineChartWidget/lineChartWidget.tsx index 283dfa55c35d8a..5cf2284a646265 100644 --- a/static/app/views/dashboards/widgets/lineChartWidget/lineChartWidget.tsx +++ b/static/app/views/dashboards/widgets/lineChartWidget/lineChartWidget.tsx @@ -15,12 +15,12 @@ import { import {MISSING_DATA_MESSAGE, X_GUTTER, Y_GUTTER} from '../common/settings'; import type {StateProps} from '../common/types'; -interface Props +export interface LineChartWidgetProps extends StateProps, Omit, Partial {} -export function LineChartWidget(props: Props) { +export function LineChartWidget(props: LineChartWidgetProps) { const {timeseries} = props; if (props.isLoading) { From c3b94ea1f87a5b32aab6de2a5711dd467ec17444 Mon Sep 17 00:00:00 2001 From: Scott Cooper Date: Tue, 10 Dec 2024 13:00:55 -0800 Subject: [PATCH 02/11] feat(ui): Add dark app loading theme (#81611) --- src/sentry/templates/sentry/base-react.html | 2 ++ src/sentry/web/frontend/react_page.py | 11 ++++++++++- static/less/base.less | 16 ++++++++++++++++ static/less/shared-components.less | 18 ++++++++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/sentry/templates/sentry/base-react.html b/src/sentry/templates/sentry/base-react.html index d8c0ffd686f3b1..ab3e218318e48a 100644 --- a/src/sentry/templates/sentry/base-react.html +++ b/src/sentry/templates/sentry/base-react.html @@ -18,3 +18,5 @@ {% endblock %} + +{% block wrapperclass %}{{ user_theme }}{% endblock %} diff --git a/src/sentry/web/frontend/react_page.py b/src/sentry/web/frontend/react_page.py index 81e5c4d26b8051..68e65ed8d01463 100644 --- a/src/sentry/web/frontend/react_page.py +++ b/src/sentry/web/frontend/react_page.py @@ -88,6 +88,14 @@ def dns_prefetch(self) -> list[str]: def handle_react(self, request: Request, **kwargs) -> HttpResponse: org_context = getattr(self, "active_organization", None) + react_config = get_client_config(request, org_context) + + user_theme = "" + if react_config.get("user", None) and react_config["user"].get("options", {}).get( + "theme", None + ): + user_theme = f"theme-{react_config['user']['options']['theme']}" + context = { "CSRF_COOKIE_NAME": settings.CSRF_COOKIE_NAME, "meta_tags": [ @@ -100,7 +108,8 @@ def handle_react(self, request: Request, **kwargs) -> HttpResponse: # Since we already have it here from the OrganizationMixin, we can # save some work and render it faster. "org_context": org_context, - "react_config": get_client_config(request, org_context), + "react_config": react_config, + "user_theme": user_theme, } # Force a new CSRF token to be generated and set in user's diff --git a/static/less/base.less b/static/less/base.less index d96c1dd87365bc..6db46ce9526263 100644 --- a/static/less/base.less +++ b/static/less/base.less @@ -32,6 +32,22 @@ body { min-height: 100vh; } +// Applied to body +body.theme-dark { + // theme.surface200 + background: #1A141F; + // theme.gray400 + color: #D6D0DC; +} +body.theme-system { + @media (prefers-color-scheme: dark) { + // theme.surface200 + background: #1A141F; + // theme.gray400 + color: #D6D0DC; + } +} + h1, h2, h3, diff --git a/static/less/shared-components.less b/static/less/shared-components.less index e32f2b1a5db5ec..d71932ee585f20 100644 --- a/static/less/shared-components.less +++ b/static/less/shared-components.less @@ -438,6 +438,11 @@ table.table.key-value { } } +.theme-dark .loading .loading-indicator { + // theme.surface200 + background: #1A141F; +} + @-webkit-keyframes loading { 0% { -webkit-transform: rotate(0deg); @@ -519,6 +524,19 @@ table.table.key-value { } } +.theme-dark .loading.triangle .loading-indicator { + filter: invert(100%); + opacity: 0.8; +} +body.theme-system { + @media (prefers-color-scheme: dark) { + .loading.triangle .loading-indicator { + filter: invert(100%); + opacity: 0.8; + } + } +} + /** * Box * ============================================================================ From c7ee8970a519ed8055f2afa029a5a3e739f6ed73 Mon Sep 17 00:00:00 2001 From: Harshitha Durai <76853136+harshithadurai@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:19:04 -0500 Subject: [PATCH 03/11] feat(dashboards): add success message when favoriting dashboards (#81887) Add success message after favoriting/unfavoriting dashboards --- static/app/actionCreators/dashboards.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/app/actionCreators/dashboards.tsx b/static/app/actionCreators/dashboards.tsx index 845fe1c8227db6..846145e26b331c 100644 --- a/static/app/actionCreators/dashboards.tsx +++ b/static/app/actionCreators/dashboards.tsx @@ -1,6 +1,6 @@ import omit from 'lodash/omit'; -import {addErrorMessage} from 'sentry/actionCreators/indicator'; +import {addErrorMessage, addSuccessMessage} from 'sentry/actionCreators/indicator'; import type {Client} from 'sentry/api'; import {ALL_ACCESS_PROJECTS} from 'sentry/constants/pageFilters'; import {t} from 'sentry/locale'; @@ -113,6 +113,7 @@ export async function updateDashboardFavorite( }, } ); + addSuccessMessage(isFavorited ? t('Added as favorite') : t('Removed as favorite')); } catch (response) { const errorResponse = response?.responseJSON ?? null; if (errorResponse) { From 040076dd95723adb4fd9587869817278868045f1 Mon Sep 17 00:00:00 2001 From: Neo Huang <126607112+kneeyo1@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:21:13 -0800 Subject: [PATCH 04/11] Better logging for backpressure (#81648) This just adds host/port of the service to the logs. --- src/sentry/processing/backpressure/memory.py | 31 ++++++++++++++++++- src/sentry/processing/backpressure/monitor.py | 10 ++++++ .../processing/backpressure/test_redis.py | 24 ++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/src/sentry/processing/backpressure/memory.py b/src/sentry/processing/backpressure/memory.py index 3a336377043ce2..7b2af742fe0597 100644 --- a/src/sentry/processing/backpressure/memory.py +++ b/src/sentry/processing/backpressure/memory.py @@ -13,6 +13,8 @@ class ServiceMemory: used: int available: int percentage: float + host: str | None = None + port: int | None = None def __init__(self, name: str, used: int, available: int): self.name = name @@ -21,6 +23,12 @@ def __init__(self, name: str, used: int, available: int): self.percentage = used / available +@dataclass +class NodeInfo: + host: str | None + port: int | None + + def query_rabbitmq_memory_usage(host: str) -> ServiceMemory: """Returns the currently used memory and the memory limit of a RabbitMQ host. @@ -51,6 +59,23 @@ def get_memory_usage(node_id: str, info: Mapping[str, Any]) -> ServiceMemory: return ServiceMemory(node_id, memory_used, memory_available) +def get_host_port_info(node_id: str, cluster: Cluster) -> NodeInfo: + """ + Extract the host and port of the redis node in the cluster. + """ + try: + if isinstance(cluster, RedisCluster): + # RedisCluster node mapping + node = cluster.connection_pool.nodes.nodes.get(node_id) + return NodeInfo(node["host"], node["port"]) + else: + # rb.Cluster node mapping + node = cluster.hosts[node_id] + return NodeInfo(node.host, node.port) + except Exception: + return NodeInfo(None, None) + + def iter_cluster_memory_usage(cluster: Cluster) -> Generator[ServiceMemory, None, None]: """ A generator that yields redis `INFO` results for each of the nodes in the `cluster`. @@ -65,4 +90,8 @@ def iter_cluster_memory_usage(cluster: Cluster) -> Generator[ServiceMemory, None cluster_info = promise.value for node_id, info in cluster_info.items(): - yield get_memory_usage(node_id, info) + node_info = get_host_port_info(node_id, cluster) + memory_usage = get_memory_usage(node_id, info) + memory_usage.host = node_info.host + memory_usage.port = node_info.port + yield memory_usage diff --git a/src/sentry/processing/backpressure/monitor.py b/src/sentry/processing/backpressure/monitor.py index f9c233d6dd409a..bcd856c6b00d0d 100644 --- a/src/sentry/processing/backpressure/monitor.py +++ b/src/sentry/processing/backpressure/monitor.py @@ -85,10 +85,12 @@ def check_service_health(services: Mapping[str, Service]) -> MutableMapping[str, reasons = [] logger.info("Checking service `%s` (configured high watermark: %s):", name, high_watermark) + memory = None try: for memory in check_service_memory(service): if memory.percentage >= high_watermark: reasons.append(memory) + logger.info("Checking node: %s:%s", memory.host, memory.port) logger.info( " name: %s, used: %s, available: %s, percentage: %s", memory.name, @@ -101,6 +103,14 @@ def check_service_health(services: Mapping[str, Service]) -> MutableMapping[str, scope.set_tag("service", name) sentry_sdk.capture_exception(e) unhealthy_services[name] = e + host = memory.host if memory else "unknown" + port = memory.port if memory else "unknown" + logger.exception( + "Error while processing node %s:%s for service %s", + host, + port, + service, + ) else: unhealthy_services[name] = reasons diff --git a/tests/sentry/processing/backpressure/test_redis.py b/tests/sentry/processing/backpressure/test_redis.py index 5c111c4e0f68f6..a327aa48cc96ca 100644 --- a/tests/sentry/processing/backpressure/test_redis.py +++ b/tests/sentry/processing/backpressure/test_redis.py @@ -21,6 +21,8 @@ def test_rb_cluster_returns_some_usage() -> None: assert memory.used > 0 assert memory.available > 0 assert 0.0 < memory.percentage < 1.0 + assert memory.host == "localhost" + assert memory.port == 6379 @use_redis_cluster() @@ -35,6 +37,8 @@ def test_redis_cluster_cluster_returns_some_usage() -> None: assert memory.used > 0 assert memory.available > 0 assert 0.0 < memory.percentage < 1.0 + assert memory.host == "127.0.0.1" + assert memory.port in {7000, 7001, 7002, 7003, 7004, 7005} @use_redis_cluster(high_watermark=100) @@ -47,6 +51,14 @@ def test_redis_health(): assert isinstance(redis_services, list) assert len(redis_services) == 0 + usage = list(iter_cluster_memory_usage(services["redis"].cluster)) + for memory in usage: + assert memory.used >= 0 + assert memory.available > 0 + assert 0.0 < memory.percentage <= 1.0 + assert memory.host == "127.0.0.1" + assert memory.port in {7000, 7001, 7002, 7003, 7004, 7005} + @use_redis_cluster(high_watermark=0) def test_redis_unhealthy_state(): @@ -57,3 +69,15 @@ def test_redis_unhealthy_state(): redis_services = unhealthy_services.get("redis") assert isinstance(redis_services, list) assert len(redis_services) == 6 + + usage = list(iter_cluster_memory_usage(services["redis"].cluster)) + for memory in usage: + assert memory.used >= 0 + assert memory.available > 0 + assert 0.0 < memory.percentage <= 1.0 + assert memory.host == "127.0.0.1" + assert memory.port in {7000, 7001, 7002, 7003, 7004, 7005} + + for memory in redis_services: + assert memory.host == "127.0.0.1" + assert memory.port in {7000, 7001, 7002, 7003, 7004, 7005} From 524f5ca6a715a8ee94de5254472fbc2095031a50 Mon Sep 17 00:00:00 2001 From: Andrew Liu <159852527+aliu39@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:26:56 -0800 Subject: [PATCH 05/11] feat(sdk): Upgrade @sentry SDKs to v8.43.0 (#81925) Planning to instrument the new browser `featureFlagsIntegration` to track internal flag evaluations. We need the latest release for this (https://github.com/getsentry/sentry-javascript/releases/tag/8.43.0). @sentry/types was deprecated so I've changed imports to use @sentry/core --- build-utils/sentry-instrumentation.ts | 2 +- package.json | 12 +- static/app/bootstrap/initializeSdk.tsx | 3 +- static/app/components/badge/featureBadge.tsx | 2 +- .../devtoolbar/hooks/useReplayRecorder.tsx | 2 +- .../hooks/useSentryClientAndScope.tsx | 2 +- .../events/featureFlags/useIssueEvents.tsx | 2 +- .../featureFeedback/feedbackModal.tsx | 2 +- .../app/components/feedback/widget/types.ts | 2 +- .../components/group/externalIssueForm.tsx | 2 +- static/app/types/event.tsx | 2 +- static/app/utils/analytics.tsx | 2 +- static/app/utils/featureObserver.ts | 2 +- .../app/utils/performanceForSentry/index.tsx | 2 +- .../utils/profiling/profile/importProfile.tsx | 2 +- static/app/utils/profiling/profile/utils.tsx | 2 +- static/app/utils/useFeedbackForm.tsx | 2 +- static/app/views/routeError.tsx | 2 +- .../settings/featureFlags/useUserFromId.tsx | 2 +- yarn.lock | 550 +++++++++--------- 20 files changed, 298 insertions(+), 301 deletions(-) diff --git a/build-utils/sentry-instrumentation.ts b/build-utils/sentry-instrumentation.ts index c6797c1e22f490..b680f98a34b263 100644 --- a/build-utils/sentry-instrumentation.ts +++ b/build-utils/sentry-instrumentation.ts @@ -1,6 +1,6 @@ /* eslint-env node */ +import type {Span} from '@sentry/core'; import type * as Sentry from '@sentry/node'; -import type {Span} from '@sentry/types'; import crypto from 'node:crypto'; import https from 'node:https'; import os from 'node:os'; diff --git a/package.json b/package.json index 0a27d0d93efa85..72ef9ba42cfbd7 100644 --- a/package.json +++ b/package.json @@ -56,13 +56,13 @@ "@sentry-internal/rrweb": "2.26.0", "@sentry-internal/rrweb-player": "2.26.0", "@sentry-internal/rrweb-snapshot": "2.26.0", - "@sentry/core": "8.39.0-beta.0", - "@sentry/node": "8.39.0-beta.0", - "@sentry/react": "8.39.0-beta.0", + "@sentry/core": "8.43.0", + "@sentry/node": "8.43.0", + "@sentry/react": "8.43.0", "@sentry/release-parser": "^1.3.1", "@sentry/status-page-list": "^0.3.0", - "@sentry/types": "8.39.0-beta.0", - "@sentry/utils": "8.39.0-beta.0", + "@sentry/types": "8.43.0", + "@sentry/utils": "8.43.0", "@sentry/webpack-plugin": "^2.22.4", "@spotlightjs/spotlight": "^2.0.0-alpha.1", "@tanstack/react-query": "^5.56.2", @@ -179,7 +179,7 @@ "@emotion/eslint-plugin": "^11.12.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.15", "@sentry/jest-environment": "6.0.0", - "@sentry/profiling-node": "8.39.0-beta.0", + "@sentry/profiling-node": "8.43.0", "@styled/typescript-styled-plugin": "^1.0.1", "@testing-library/dom": "10.1.0", "@testing-library/jest-dom": "6.4.5", diff --git a/static/app/bootstrap/initializeSdk.tsx b/static/app/bootstrap/initializeSdk.tsx index 80ecff878cc382..ab3a7671a80e64 100644 --- a/static/app/bootstrap/initializeSdk.tsx +++ b/static/app/bootstrap/initializeSdk.tsx @@ -1,7 +1,6 @@ // eslint-disable-next-line simple-import-sort/imports import * as Sentry from '@sentry/react'; -import {_browserPerformanceTimeOriginMode} from '@sentry/utils'; -import type {Event} from '@sentry/types'; +import {type Event, _browserPerformanceTimeOriginMode} from '@sentry/core'; import {SENTRY_RELEASE_VERSION, SPA_DSN} from 'sentry/constants'; import type {Config} from 'sentry/types/system'; diff --git a/static/app/components/badge/featureBadge.tsx b/static/app/components/badge/featureBadge.tsx index 1d400ef746e844..f88860a620c577 100644 --- a/static/app/components/badge/featureBadge.tsx +++ b/static/app/components/badge/featureBadge.tsx @@ -1,8 +1,8 @@ import {Fragment, type ReactNode} from 'react'; import {useTheme} from '@emotion/react'; import styled from '@emotion/styled'; +import type {SeverityLevel} from '@sentry/core'; import {captureException, withScope} from '@sentry/react'; -import type {SeverityLevel} from '@sentry/types'; import Badge from 'sentry/components/badge/badge'; import CircleIndicator from 'sentry/components/circleIndicator'; diff --git a/static/app/components/devtoolbar/hooks/useReplayRecorder.tsx b/static/app/components/devtoolbar/hooks/useReplayRecorder.tsx index 70d1be99034da1..d88b66437c3631 100644 --- a/static/app/components/devtoolbar/hooks/useReplayRecorder.tsx +++ b/static/app/components/devtoolbar/hooks/useReplayRecorder.tsx @@ -1,6 +1,6 @@ import {useCallback, useEffect, useState} from 'react'; +import type {ReplayRecordingMode} from '@sentry/core'; import type {replayIntegration} from '@sentry/react'; -import type {ReplayRecordingMode} from '@sentry/types'; import useConfiguration from 'sentry/components/devtoolbar/hooks/useConfiguration'; import {useSessionStorage} from 'sentry/utils/useSessionStorage'; diff --git a/static/app/components/devtoolbar/hooks/useSentryClientAndScope.tsx b/static/app/components/devtoolbar/hooks/useSentryClientAndScope.tsx index b95f283e1c4dd7..3c492995693b36 100644 --- a/static/app/components/devtoolbar/hooks/useSentryClientAndScope.tsx +++ b/static/app/components/devtoolbar/hooks/useSentryClientAndScope.tsx @@ -1,4 +1,4 @@ -import type {Client, Scope} from '@sentry/types'; +import type {Client, Scope} from '@sentry/core'; type V8Carrier = { stack: { diff --git a/static/app/components/events/featureFlags/useIssueEvents.tsx b/static/app/components/events/featureFlags/useIssueEvents.tsx index 11c7fd95a66f3a..b4196feaedb113 100644 --- a/static/app/components/events/featureFlags/useIssueEvents.tsx +++ b/static/app/components/events/featureFlags/useIssueEvents.tsx @@ -1,4 +1,4 @@ -import type {Event} from '@sentry/types'; +import type {Event} from '@sentry/core'; import {useApiQuery} from 'sentry/utils/queryClient'; import useOrganization from 'sentry/utils/useOrganization'; diff --git a/static/app/components/featureFeedback/feedbackModal.tsx b/static/app/components/featureFeedback/feedbackModal.tsx index 6e42a489b38c03..79767ae2bb9cd7 100644 --- a/static/app/components/featureFeedback/feedbackModal.tsx +++ b/static/app/components/featureFeedback/feedbackModal.tsx @@ -1,6 +1,7 @@ import {Fragment, useCallback, useMemo, useState} from 'react'; import {css, useTheme} from '@emotion/react'; import styled from '@emotion/styled'; +import type {Event} from '@sentry/core'; import { BrowserClient, captureFeedback, @@ -8,7 +9,6 @@ import { getDefaultIntegrations, makeFetchTransport, } from '@sentry/react'; -import type {Event} from '@sentry/types'; import cloneDeep from 'lodash/cloneDeep'; import {addSuccessMessage} from 'sentry/actionCreators/indicator'; diff --git a/static/app/components/feedback/widget/types.ts b/static/app/components/feedback/widget/types.ts index 8c3ef9b01c8292..a53a611c3a877e 100644 --- a/static/app/components/feedback/widget/types.ts +++ b/static/app/components/feedback/widget/types.ts @@ -1,4 +1,4 @@ -import type {Event} from '@sentry/types'; +import type {Event} from '@sentry/core'; /** * NOTE: These types are still considered Beta and subject to change. diff --git a/static/app/components/group/externalIssueForm.tsx b/static/app/components/group/externalIssueForm.tsx index df53acb18a931c..44d41805f05e5c 100644 --- a/static/app/components/group/externalIssueForm.tsx +++ b/static/app/components/group/externalIssueForm.tsx @@ -1,5 +1,5 @@ +import type {Span} from '@sentry/core'; import * as Sentry from '@sentry/react'; -import type {Span} from '@sentry/types'; import {addSuccessMessage} from 'sentry/actionCreators/indicator'; import type DeprecatedAsyncComponent from 'sentry/components/deprecatedAsyncComponent'; diff --git a/static/app/types/event.tsx b/static/app/types/event.tsx index 070a1369c83750..51a24ea3b52a4b 100644 --- a/static/app/types/event.tsx +++ b/static/app/types/event.tsx @@ -1,4 +1,4 @@ -import type {CloudResourceContext} from '@sentry/types'; +import type {CloudResourceContext} from '@sentry/core'; import type {CultureContext} from 'sentry/components/events/contexts/knownContext/culture'; import type {MissingInstrumentationContext} from 'sentry/components/events/contexts/knownContext/missingInstrumentation'; diff --git a/static/app/utils/analytics.tsx b/static/app/utils/analytics.tsx index 35bd66487781cf..cdd067fbd01108 100644 --- a/static/app/utils/analytics.tsx +++ b/static/app/utils/analytics.tsx @@ -1,5 +1,5 @@ +import type {Span} from '@sentry/core'; import * as Sentry from '@sentry/react'; -import type {Span} from '@sentry/types'; import HookStore from 'sentry/stores/hookStore'; import type {Hooks} from 'sentry/types/hooks'; diff --git a/static/app/utils/featureObserver.ts b/static/app/utils/featureObserver.ts index 0d3a66043ce9d3..38df3ab8129e3b 100644 --- a/static/app/utils/featureObserver.ts +++ b/static/app/utils/featureObserver.ts @@ -1,4 +1,4 @@ -import type {FeatureFlagContext} from '@sentry/types/build/types/context'; +import type {FeatureFlagContext} from '@sentry/core/build/types/types-hoist/context'; import type {Organization} from 'sentry/types/organization'; import type {Project} from 'sentry/types/project'; diff --git a/static/app/utils/performanceForSentry/index.tsx b/static/app/utils/performanceForSentry/index.tsx index 9845b2637aa224..de15d5d3b72911 100644 --- a/static/app/utils/performanceForSentry/index.tsx +++ b/static/app/utils/performanceForSentry/index.tsx @@ -1,7 +1,7 @@ import type {ProfilerOnRenderCallback, ReactNode} from 'react'; import {Fragment, Profiler, useEffect, useRef} from 'react'; +import type {MeasurementUnit, Span, TransactionEvent} from '@sentry/core'; import * as Sentry from '@sentry/react'; -import type {MeasurementUnit, Span, TransactionEvent} from '@sentry/types'; import { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, diff --git a/static/app/utils/profiling/profile/importProfile.tsx b/static/app/utils/profiling/profile/importProfile.tsx index 701ae5d446fd4d..ad50bb10e36d7a 100644 --- a/static/app/utils/profiling/profile/importProfile.tsx +++ b/static/app/utils/profiling/profile/importProfile.tsx @@ -1,5 +1,5 @@ +import type {Span} from '@sentry/core'; import * as Sentry from '@sentry/react'; -import type {Span} from '@sentry/types'; import type {Image} from 'sentry/types/debugImage'; diff --git a/static/app/utils/profiling/profile/utils.tsx b/static/app/utils/profiling/profile/utils.tsx index d23831ccd854ab..326c07dd6bc91f 100644 --- a/static/app/utils/profiling/profile/utils.tsx +++ b/static/app/utils/profiling/profile/utils.tsx @@ -1,5 +1,5 @@ +import type {Span} from '@sentry/core'; import * as Sentry from '@sentry/react'; -import type {Span} from '@sentry/types'; import {defined} from 'sentry/utils'; import type {FlamegraphFrame} from 'sentry/utils/profiling/flamegraphFrame'; diff --git a/static/app/utils/useFeedbackForm.tsx b/static/app/utils/useFeedbackForm.tsx index 070379cbe3357b..0fcf451e56dc0d 100644 --- a/static/app/utils/useFeedbackForm.tsx +++ b/static/app/utils/useFeedbackForm.tsx @@ -6,7 +6,7 @@ import { useEffect, useRef, } from 'react'; -import type {FeedbackModalIntegration} from '@sentry/types'; +import type {FeedbackModalIntegration} from '@sentry/core'; import { useFeedback, diff --git a/static/app/views/routeError.tsx b/static/app/views/routeError.tsx index 3f7acf24028084..530d986187cd4f 100644 --- a/static/app/views/routeError.tsx +++ b/static/app/views/routeError.tsx @@ -1,7 +1,7 @@ import {useEffect} from 'react'; import styled from '@emotion/styled'; +import type {Scope} from '@sentry/core'; import * as Sentry from '@sentry/react'; -import type {Scope} from '@sentry/types'; import {getLastEventId} from 'sentry/bootstrap/initializeSdk'; import {Alert} from 'sentry/components/alert'; diff --git a/static/app/views/settings/featureFlags/useUserFromId.tsx b/static/app/views/settings/featureFlags/useUserFromId.tsx index 837dbe8300218c..8b15847c47db1f 100644 --- a/static/app/views/settings/featureFlags/useUserFromId.tsx +++ b/static/app/views/settings/featureFlags/useUserFromId.tsx @@ -1,4 +1,4 @@ -import type {User} from '@sentry/types'; +import type {User} from '@sentry/core'; import {useApiQuery} from 'sentry/utils/queryClient'; import useOrganization from 'sentry/utils/useOrganization'; diff --git a/yarn.lock b/yarn.lock index 31b26dad3c229c..8ee3923363182f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2105,17 +2105,10 @@ dependencies: "@opentelemetry/api" "^1.0.0" -"@opentelemetry/api-logs@0.53.0": - version "0.53.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.53.0.tgz#c478cbd8120ec2547b64edfa03a552cfe42170be" - integrity sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw== - dependencies: - "@opentelemetry/api" "^1.0.0" - -"@opentelemetry/api-logs@0.54.2": - version "0.54.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.54.2.tgz#bb8aa11cdc69b327b58d7e10cc2bc26bf540421f" - integrity sha512-4MTVwwmLgUh5QrJnZpYo6YRO5IBLAggf2h8gWDblwRagDStY13aEvt7gGk3jewrMaPlHiF83fENhIx0HO97/cQ== +"@opentelemetry/api-logs@0.56.0": + version "0.56.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.56.0.tgz#68f8c51ca905c260b610c8a3c67d3f9fa3d59a45" + integrity sha512-Wr39+94UNNG3Ei9nv3pHd4AJ63gq5nSemMRpCd8fPwDL9rN3vK26lzxfH27mw16XzOSO+TpyQwBAMaLxaPWG0g== dependencies: "@opentelemetry/api" "^1.3.0" @@ -2124,230 +2117,239 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== -"@opentelemetry/context-async-hooks@^1.25.1": - version "1.25.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.1.tgz#810bff2fcab84ec51f4684aff2d21f6c057d9e73" - integrity sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ== +"@opentelemetry/context-async-hooks@^1.29.0": + version "1.29.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.29.0.tgz#3b3836c913834afa7720fdcf9687620f49b2cf37" + integrity sha512-TKT91jcFXgHyIDF1lgJF3BHGIakn6x0Xp7Tq3zoS3TMPzT9IlP0xEavWP8C1zGjU9UmZP2VR1tJhW9Az1A3w8Q== -"@opentelemetry/core@1.26.0", "@opentelemetry/core@^1.1.0", "@opentelemetry/core@^1.25.1", "@opentelemetry/core@^1.8.0": +"@opentelemetry/core@1.26.0", "@opentelemetry/core@^1.1.0", "@opentelemetry/core@^1.8.0": version "1.26.0" resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.26.0.tgz#7d84265aaa850ed0ca5813f97d831155be42b328" integrity sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ== dependencies: "@opentelemetry/semantic-conventions" "1.27.0" -"@opentelemetry/instrumentation-amqplib@^0.43.0": - version "0.43.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.43.0.tgz#e18b7d763b69c605a7abf9869e1c278f9bfdc1eb" - integrity sha512-ALjfQC+0dnIEcvNYsbZl/VLh7D2P1HhFF4vicRKHhHFIUV3Shpg4kXgiek5PLhmeKSIPiUB25IYH5RIneclL4A== +"@opentelemetry/core@1.29.0", "@opentelemetry/core@^1.26.0", "@opentelemetry/core@^1.29.0": + version "1.29.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.29.0.tgz#a9397dfd9a8b37b2435b5e44be16d39ec1c82bd9" + integrity sha512-gmT7vAreXl0DTHD2rVZcw3+l2g84+5XiHIqdBUxXbExymPCvSsGOpiwMmn8nkiJur28STV31wnhIDrzWDPzjfA== + dependencies: + "@opentelemetry/semantic-conventions" "1.28.0" + +"@opentelemetry/instrumentation-amqplib@^0.45.0": + version "0.45.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.45.0.tgz#747d72e38ff89266670e730ead90b85b6edc62d3" + integrity sha512-SlKLsOS65NGMIBG1Lh/hLrMDU9WzTUF25apnV6ZmWZB1bBmUwan7qrwwrTu1cL5LzJWCXOdZPuTaxP7pC9qxnQ== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-connect@0.40.0": - version "0.40.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.40.0.tgz#cb151b860ad8a711ebce4d7e025dcde95e4ba2c5" - integrity sha512-3aR/3YBQ160siitwwRLjwqrv2KBT16897+bo6yz8wIfel6nWOxTZBJudcbsK3p42pTC7qrbotJ9t/1wRLpv79Q== +"@opentelemetry/instrumentation-connect@0.42.0": + version "0.42.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.42.0.tgz#daebedbe65068746c9db0eee6e3a636a0912d251" + integrity sha512-bOoYHBmbnq/jFaLHmXJ55VQ6jrH5fHDMAPjFM0d3JvR0dvIqW7anEoNC33QqYGFYUfVJ50S0d/eoyF61ALqQuA== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" "@types/connect" "3.4.36" -"@opentelemetry/instrumentation-dataloader@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.12.0.tgz#de03a3948dec4f15fed80aa424d6bd5d6a8d10c7" - integrity sha512-pnPxatoFE0OXIZDQhL2okF//dmbiWFzcSc8pUg9TqofCLYZySSxDCgQc69CJBo5JnI3Gz1KP+mOjS4WAeRIH4g== +"@opentelemetry/instrumentation-dataloader@0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.15.0.tgz#c3ac6f41672961a489080edd2c59aceebe412798" + integrity sha512-5fP35A2jUPk4SerVcduEkpbRAIoqa2PaP5rWumn01T1uSbavXNccAr3Xvx1N6xFtZxXpLJq4FYqGFnMgDWgVng== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" -"@opentelemetry/instrumentation-express@0.44.0": - version "0.44.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.44.0.tgz#51dc11e3152ffbee1c4e389298aac30231c8270a" - integrity sha512-GWgibp6Q0wxyFaaU8ERIgMMYgzcHmGrw3ILUtGchLtLncHNOKk0SNoWGqiylXWWT4HTn5XdV8MGawUgpZh80cA== +"@opentelemetry/instrumentation-express@0.46.0": + version "0.46.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.46.0.tgz#8dfbc9dc567e2e864a00a6a7edfbec2dd8482056" + integrity sha512-BCEClDj/HPq/1xYRAlOr6z+OUnbp2eFp18DSrgyQz4IT9pkdYk8eWHnMi9oZSqlC6J5mQzkFmaW5RrKb1GLQhg== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-fastify@0.41.0": - version "0.41.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.41.0.tgz#5e1d00383756f3a8cc2ea4a9d15f9f7510cec571" - integrity sha512-pNRjFvf0mvqfJueaeL/qEkuGJwgtE5pgjIHGYwjc2rMViNCrtY9/Sf+Nu8ww6dDd/Oyk2fwZZP7i0XZfCnETrA== +"@opentelemetry/instrumentation-fastify@0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.43.0.tgz#855e259733bd75e21cb54cc110a7910861b200a4" + integrity sha512-Lmdsg7tYiV+K3/NKVAQfnnLNGmakUOFdB0PhoTh2aXuSyCmyNnnDvhn2MsArAPTZ68wnD5Llh5HtmiuTkf+DyQ== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-fs@0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.16.0.tgz#aa1cc3aa81011ad9843a0156b200f06f31ffa03e" - integrity sha512-hMDRUxV38ln1R3lNz6osj3YjlO32ykbHqVrzG7gEhGXFQfu7LJUx8t9tEwE4r2h3CD4D0Rw4YGDU4yF4mP3ilg== +"@opentelemetry/instrumentation-fs@0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.18.0.tgz#6ef0e58cda3212ce2cd17bddc4dd74f768fd74c0" + integrity sha512-kC40y6CEMONm8/MWwoF5GHWIC7gOdF+g3sgsjfwJaUkgD6bdWV+FgG0XApqSbTQndICKzw3RonVk8i7s6mHqhA== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" -"@opentelemetry/instrumentation-generic-pool@0.39.0": - version "0.39.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.39.0.tgz#2b9af16ad82d5cbe67125c0125753cecd162a728" - integrity sha512-y4v8Y+tSfRB3NNBvHjbjrn7rX/7sdARG7FuK6zR8PGb28CTa0kHpEGCJqvL9L8xkTNvTXo+lM36ajFGUaK1aNw== +"@opentelemetry/instrumentation-generic-pool@0.42.0": + version "0.42.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.42.0.tgz#6c6c6dcf2300e803acb22b2b914c6053acb80bf3" + integrity sha512-J4QxqiQ1imtB9ogzsOnHra0g3dmmLAx4JCeoK3o0rFes1OirljNHnO8Hsj4s1jAir8WmWvnEEQO1y8yk6j2tog== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" -"@opentelemetry/instrumentation-graphql@0.44.0": - version "0.44.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.44.0.tgz#6fce8e2f303d16810bf8a03148cad6e8e6119de1" - integrity sha512-FYXTe3Bv96aNpYktqm86BFUTpjglKD0kWI5T5bxYkLUPEPvFn38vWGMJTGrDMVou/i55E4jlWvcm6hFIqLsMbg== +"@opentelemetry/instrumentation-graphql@0.46.0": + version "0.46.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.46.0.tgz#fbcf0844656c759294c03c30c471fc4862209a01" + integrity sha512-tplk0YWINSECcK89PGM7IVtOYenXyoOuhOQlN0X0YrcDUfMS4tZMKkVc0vyhNWYYrexnUHwNry2YNBNugSpjlQ== dependencies: - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" -"@opentelemetry/instrumentation-hapi@0.41.0": - version "0.41.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.41.0.tgz#de8711907256d8fae1b5faf71fc825cef4a7ddbb" - integrity sha512-jKDrxPNXDByPlYcMdZjNPYCvw0SQJjN+B1A+QH+sx+sAHsKSAf9hwFiJSrI6C4XdOls43V/f/fkp9ITkHhKFbQ== +"@opentelemetry/instrumentation-hapi@0.44.0": + version "0.44.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.44.0.tgz#5b4524bef636209ba6cc95cfbb976b605c2946cd" + integrity sha512-4HdNIMNXWK1O6nsaQOrACo83QWEVoyNODTdVDbUqtqXiv2peDfD0RAPhSQlSGWLPw3S4d9UoOmrV7s2HYj6T2A== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-http@0.53.0": - version "0.53.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.53.0.tgz#0d806adf1b3aba036bc46e16162e3c0dbb8a6b60" - integrity sha512-H74ErMeDuZfj7KgYCTOFGWF5W9AfaPnqLQQxeFq85+D29wwV2yqHbz2IKLYpkOh7EI6QwDEl7rZCIxjJLyc/CQ== +"@opentelemetry/instrumentation-http@0.56.0": + version "0.56.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.56.0.tgz#f7a9e1bb4126c0d918775c1368a42b8afd5a48a2" + integrity sha512-/bWHBUAq8VoATnH9iLk5w8CE9+gj+RgYSUphe7hry472n6fYl7+4PvuScoQMdmSUTprKq/gyr2kOWL6zrC7FkQ== dependencies: - "@opentelemetry/core" "1.26.0" - "@opentelemetry/instrumentation" "0.53.0" - "@opentelemetry/semantic-conventions" "1.27.0" + "@opentelemetry/core" "1.29.0" + "@opentelemetry/instrumentation" "0.56.0" + "@opentelemetry/semantic-conventions" "1.28.0" + forwarded-parse "2.1.2" semver "^7.5.2" -"@opentelemetry/instrumentation-ioredis@0.43.0": - version "0.43.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.43.0.tgz#dbadabaeefc4cb47c406f878444f1bcac774fa89" - integrity sha512-i3Dke/LdhZbiUAEImmRG3i7Dimm/BD7t8pDDzwepSvIQ6s2X6FPia7561gw+64w+nx0+G9X14D7rEfaMEmmjig== +"@opentelemetry/instrumentation-ioredis@0.46.0": + version "0.46.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.46.0.tgz#ec230466813f8ce82eb9ca9b23308ccfa460ce2b" + integrity sha512-sOdsq8oGi29V58p1AkefHvuB3l2ymP1IbxRIX3y4lZesQWKL8fLhBmy8xYjINSQ5gHzWul2yoz7pe7boxhZcqQ== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/redis-common" "^0.36.2" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-kafkajs@0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.4.0.tgz#c1fe0de45a65a66581be0d7422f6828cc806b3bb" - integrity sha512-I9VwDG314g7SDL4t8kD/7+1ytaDBRbZQjhVaQaVIDR8K+mlsoBhLsWH79yHxhHQKvwCSZwqXF+TiTOhoQVUt7A== +"@opentelemetry/instrumentation-kafkajs@0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.6.0.tgz#5d1c6738da8e270acde9259521a9c6e0f421490c" + integrity sha512-MGQrzqEUAl0tacKJUFpuNHJesyTi51oUzSVizn7FdvJplkRIdS11FukyZBZJEscofSEdk7Ycmg+kNMLi5QHUFg== dependencies: - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-knex@0.41.0": - version "0.41.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.41.0.tgz#74d611489e823003a825097bac019c6c2ad061a5" - integrity sha512-OhI1SlLv5qnsnm2dOVrian/x3431P75GngSpnR7c4fcVFv7prXGYu29Z6ILRWJf/NJt6fkbySmwdfUUnFnHCTg== +"@opentelemetry/instrumentation-knex@0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.43.0.tgz#1f45cfea69212bd579e4fa95c6d5cccdd9626b8e" + integrity sha512-mOp0TRQNFFSBj5am0WF67fRO7UZMUmsF3/7HSDja9g3H4pnj+4YNvWWyZn4+q0rGrPtywminAXe0rxtgaGYIqg== dependencies: - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-koa@0.43.0": - version "0.43.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.43.0.tgz#963fd192a1b5f6cbae5dabf4ec82e3105cbb23b1" - integrity sha512-lDAhSnmoTIN6ELKmLJBplXzT/Jqs5jGZehuG22EdSMaTwgjMpxMDI1YtlKEhiWPWkrz5LUsd0aOO0ZRc9vn3AQ== +"@opentelemetry/instrumentation-koa@0.46.0": + version "0.46.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.46.0.tgz#bcdfb29f3b41be45355a9aa278fb231e19eb02e5" + integrity sha512-RcWXMQdJQANnPUaXbHY5G0Fg6gmleZ/ZtZeSsekWPaZmQq12FGk0L1UwodIgs31OlYfviAZ4yTeytoSUkgo5vQ== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-lru-memoizer@0.40.0": - version "0.40.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.40.0.tgz#dc60d7fdfd2a0c681cb23e7ed4f314d1506ccdc0" - integrity sha512-21xRwZsEdMPnROu/QsaOIODmzw59IYpGFmuC4aFWvMj6stA8+Ei1tX67nkarJttlNjoM94um0N4X26AD7ff54A== +"@opentelemetry/instrumentation-lru-memoizer@0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.43.0.tgz#7d3f524a10715d9f681e8d4ee6bfe91be80c82cf" + integrity sha512-fZc+1eJUV+tFxaB3zkbupiA8SL3vhDUq89HbDNg1asweYrEb9OlHIB+Ot14ZiHUc1qCmmWmZHbPTwa56mVVwzg== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" -"@opentelemetry/instrumentation-mongodb@0.48.0": - version "0.48.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.48.0.tgz#40fb8c705cb4bf8d8c5bf8752c60c5a0aaaaf617" - integrity sha512-9YWvaGvrrcrydMsYGLu0w+RgmosLMKe3kv/UNlsPy8RLnCkN2z+bhhbjjjuxtUmvEuKZMCoXFluABVuBr1yhjw== +"@opentelemetry/instrumentation-mongodb@0.50.0": + version "0.50.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.50.0.tgz#e5c60ad0bfbdd8ac3238c255a0662b7430083303" + integrity sha512-DtwJMjYFXFT5auAvv8aGrBj1h3ciA/dXQom11rxL7B1+Oy3FopSpanvwYxJ+z0qmBrQ1/iMuWELitYqU4LnlkQ== dependencies: - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-mongoose@0.42.0": - version "0.42.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.42.0.tgz#375afd21adfcd897a8f521c1ffd2d91e6a428705" - integrity sha512-AnWv+RaR86uG3qNEMwt3plKX1ueRM7AspfszJYVkvkehiicC3bHQA6vWdb6Zvy5HAE14RyFbu9+2hUUjR2NSyg== +"@opentelemetry/instrumentation-mongoose@0.45.0": + version "0.45.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.45.0.tgz#c8179827769fac8528b681da5888ae1779bd844b" + integrity sha512-zHgNh+A01C5baI2mb5dAGyMC7DWmUpOfwpV8axtC0Hd5Uzqv+oqKgKbVDIVhOaDkPxjgVJwYF9YQZl2pw2qxIA== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-mysql2@0.41.0": - version "0.41.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.41.0.tgz#6377b6e2d2487fd88e1d79aa03658db6c8d51651" - integrity sha512-REQB0x+IzVTpoNgVmy5b+UnH1/mDByrneimP6sbDHkp1j8QOl1HyWOrBH/6YWR0nrbU3l825Em5PlybjT3232g== +"@opentelemetry/instrumentation-mysql2@0.44.0": + version "0.44.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.44.0.tgz#309d3fa452d4fcb632c4facb68ed7ea74b6738f9" + integrity sha512-e9QY4AGsjGFwmfHd6kBa4yPaQZjAq2FuxMb0BbKlXCAjG+jwqw+sr9xWdJGR60jMsTq52hx3mAlE3dUJ9BipxQ== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/sql-common" "^0.40.1" -"@opentelemetry/instrumentation-mysql@0.41.0": - version "0.41.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.41.0.tgz#2d50691ead5219774bd36d66c35d5b4681485dd7" - integrity sha512-jnvrV6BsQWyHS2qb2fkfbfSb1R/lmYwqEZITwufuRl37apTopswu9izc0b1CYRp/34tUG/4k/V39PND6eyiNvw== +"@opentelemetry/instrumentation-mysql@0.44.0": + version "0.44.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.44.0.tgz#a29af4432d4289ed9d147d9c30038c57031d950c" + integrity sha512-al7jbXvT/uT1KV8gdNDzaWd5/WXf+mrjrsF0/NtbnqLa0UUFGgQnoK3cyborgny7I+KxWhL8h7YPTf6Zq4nKsg== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" "@types/mysql" "2.15.26" -"@opentelemetry/instrumentation-nestjs-core@0.40.0": - version "0.40.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.40.0.tgz#2c0e6405b56caaec32747d55c57ff9a034668ea8" - integrity sha512-WF1hCUed07vKmf5BzEkL0wSPinqJgH7kGzOjjMAiTGacofNXjb/y4KQ8loj2sNsh5C/NN7s1zxQuCgbWbVTGKg== +"@opentelemetry/instrumentation-nestjs-core@0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.43.0.tgz#c176409ab5ebfac862298e31a6a149126e278700" + integrity sha512-NEo4RU7HTjiaXk3curqXUvCb9alRiFWxQY//+hvDXwWLlADX2vB6QEmVCeEZrKO+6I/tBrI4vNdAnbCY9ldZVg== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-pg@0.44.0": - version "0.44.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.44.0.tgz#1e97a0aeb2dca068ee23ce75884a0a0063a7ce3f" - integrity sha512-oTWVyzKqXud1BYEGX1loo2o4k4vaU1elr3vPO8NZolrBtFvQ34nx4HgUaexUDuEog00qQt+MLR5gws/p+JXMLQ== +"@opentelemetry/instrumentation-pg@0.49.0": + version "0.49.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.49.0.tgz#47a6a461099fae8e1ffbb97b715a0c34f0aec0b6" + integrity sha512-3alvNNjPXVdAPdY1G7nGRVINbDxRK02+KAugDiEpzw0jFQfU8IzFkSWA4jyU4/GbMxKvHD+XIOEfSjpieSodKw== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" - "@opentelemetry/semantic-conventions" "^1.27.0" + "@opentelemetry/core" "^1.26.0" + "@opentelemetry/instrumentation" "^0.56.0" + "@opentelemetry/semantic-conventions" "1.27.0" "@opentelemetry/sql-common" "^0.40.1" "@types/pg" "8.6.1" "@types/pg-pool" "2.0.6" -"@opentelemetry/instrumentation-redis-4@0.42.0": - version "0.42.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.42.0.tgz#fc01104cfe884c7546385eaae03c57a47edd19d1" - integrity sha512-NaD+t2JNcOzX/Qa7kMy68JbmoVIV37fT/fJYzLKu2Wwd+0NCxt+K2OOsOakA8GVg8lSpFdbx4V/suzZZ2Pvdjg== +"@opentelemetry/instrumentation-redis-4@0.45.0": + version "0.45.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.45.0.tgz#34115d39f7050b8576344d9e7f7cb8ceebf85067" + integrity sha512-Sjgym1xn3mdxPRH5CNZtoz+bFd3E3NlGIu7FoYr4YrQouCc9PbnmoBcmSkEdDy5LYgzNildPgsjx9l0EKNjKTQ== dependencies: - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/redis-common" "^0.36.2" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-tedious@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.15.0.tgz#da82f4d153fb6ff7d1f85d39872ac40bf9db12ea" - integrity sha512-Kb7yo8Zsq2TUwBbmwYgTAMPK0VbhoS8ikJ6Bup9KrDtCx2JC01nCb+M0VJWXt7tl0+5jARUbKWh5jRSoImxdCw== +"@opentelemetry/instrumentation-tedious@0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.17.0.tgz#689b7c87346f11b73488b3aa91661d15e8fa830c" + integrity sha512-yRBz2409an03uVd1Q2jWMt3SqwZqRFyKoWYYX3hBAtPDazJ4w5L+1VOij71TKwgZxZZNdDBXImTQjii+VeuzLg== dependencies: - "@opentelemetry/instrumentation" "^0.54.0" + "@opentelemetry/instrumentation" "^0.56.0" "@opentelemetry/semantic-conventions" "^1.27.0" "@types/tedious" "^4.0.14" -"@opentelemetry/instrumentation-undici@0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.6.0.tgz#9436ee155c8dcb0b760b66947c0e0f347688a5ef" - integrity sha512-ABJBhm5OdhGmbh0S/fOTE4N69IZ00CsHC5ijMYfzbw3E5NwLgpQk5xsljaECrJ8wz1SfXbO03FiSuu5AyRAkvQ== +"@opentelemetry/instrumentation-undici@0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.9.0.tgz#c0be1854a90a5002d2345f8bc939d659a9ad76b1" + integrity sha512-lxc3cpUZ28CqbrWcUHxGW/ObDpMOYbuxF/ZOzeFZq54P9uJ2Cpa8gcrC9F716mtuiMaekwk8D6n34vg/JtkkxQ== dependencies: "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.53.0" + "@opentelemetry/instrumentation" "^0.56.0" -"@opentelemetry/instrumentation@0.53.0", "@opentelemetry/instrumentation@^0.53.0": - version "0.53.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz#e6369e4015eb5112468a4d45d38dcada7dad892d" - integrity sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A== +"@opentelemetry/instrumentation@0.56.0", "@opentelemetry/instrumentation@^0.56.0": + version "0.56.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.56.0.tgz#3330ce16d9235a548efa1019a4a7f01414edd44a" + integrity sha512-2KkGBKE+FPXU1F0zKww+stnlUxUTlBvLCiWdP63Z9sqXYeNI/ziNzsxAp4LAdUcTQmXjw1IWgvm5CAb/BHy99w== dependencies: - "@opentelemetry/api-logs" "0.53.0" + "@opentelemetry/api-logs" "0.56.0" "@types/shimmer" "^1.2.0" import-in-the-middle "^1.8.1" require-in-the-middle "^7.1.1" @@ -2366,24 +2368,12 @@ semver "^7.5.2" shimmer "^1.2.1" -"@opentelemetry/instrumentation@^0.54.0": - version "0.54.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.54.2.tgz#29693a33bbaaf0156634ac5d9e774636b8f17f73" - integrity sha512-go6zpOVoZVztT9r1aPd79Fr3OWiD4N24bCPJsIKkBses8oyFo12F/Ew3UBTdIu6hsW4HC4MVEJygG6TEyJI/lg== - dependencies: - "@opentelemetry/api-logs" "0.54.2" - "@types/shimmer" "^1.2.0" - import-in-the-middle "^1.8.1" - require-in-the-middle "^7.1.1" - semver "^7.5.2" - shimmer "^1.2.1" - "@opentelemetry/redis-common@^0.36.2": version "0.36.2" resolved "https://registry.yarnpkg.com/@opentelemetry/redis-common/-/redis-common-0.36.2.tgz#906ac8e4d804d4109f3ebd5c224ac988276fdc47" integrity sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g== -"@opentelemetry/resources@1.26.0", "@opentelemetry/resources@^1.26.0": +"@opentelemetry/resources@1.26.0": version "1.26.0" resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.26.0.tgz#da4c7366018bd8add1f3aa9c91c6ac59fd503cef" integrity sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw== @@ -2391,7 +2381,15 @@ "@opentelemetry/core" "1.26.0" "@opentelemetry/semantic-conventions" "1.27.0" -"@opentelemetry/sdk-trace-base@^1.22", "@opentelemetry/sdk-trace-base@^1.26.0": +"@opentelemetry/resources@1.29.0", "@opentelemetry/resources@^1.29.0": + version "1.29.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.29.0.tgz#d170f39b2ac93d61b53d13dfcd96795181bdc372" + integrity sha512-s7mLXuHZE7RQr1wwweGcaRp3Q4UJJ0wazeGlc/N5/XSe6UyXfsh1UQGMADYeg7YwD+cEdMtU1yJAUXdnFzYzyQ== + dependencies: + "@opentelemetry/core" "1.29.0" + "@opentelemetry/semantic-conventions" "1.28.0" + +"@opentelemetry/sdk-trace-base@^1.22": version "1.26.0" resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.26.0.tgz#0c913bc6d2cfafd901de330e4540952269ae579c" integrity sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw== @@ -2400,11 +2398,25 @@ "@opentelemetry/resources" "1.26.0" "@opentelemetry/semantic-conventions" "1.27.0" +"@opentelemetry/sdk-trace-base@^1.29.0": + version "1.29.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.29.0.tgz#f48d95dae0e58e601d0596bd2e482122d2688fb8" + integrity sha512-hEOpAYLKXF3wGJpXOtWsxEtqBgde0SCv+w+jvr3/UusR4ll3QrENEGnSl1WDCyRrpqOQ5NCNOvZch9UFVa7MnQ== + dependencies: + "@opentelemetry/core" "1.29.0" + "@opentelemetry/resources" "1.29.0" + "@opentelemetry/semantic-conventions" "1.28.0" + "@opentelemetry/semantic-conventions@1.27.0", "@opentelemetry/semantic-conventions@^1.27.0": version "1.27.0" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz#1a857dcc95a5ab30122e04417148211e6f945e6c" integrity sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg== +"@opentelemetry/semantic-conventions@1.28.0", "@opentelemetry/semantic-conventions@^1.28.0": + version "1.28.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz#337fb2bca0453d0726696e745f50064411f646d6" + integrity sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA== + "@opentelemetry/sql-common@^0.40.1": version "0.40.1" resolved "https://registry.yarnpkg.com/@opentelemetry/sql-common/-/sql-common-0.40.1.tgz#93fbc48d8017449f5b3c3274f2268a08af2b83b6" @@ -3176,23 +3188,19 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@sentry-internal/browser-utils@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.39.0-beta.0.tgz#aaec8215fffb34e7906cdca87725b81b6da735aa" - integrity sha512-J92C1qjuzLtMPfFFs9gKMlphUEgrLXLwVPbnDujZhFhh+anxZhwUVVsCtUN7ivDjkrWiQO8+e1ZRDRPR9fXf9g== +"@sentry-internal/browser-utils@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.43.0.tgz#b064908a537d1cc17d8ddaf0f4c5d712557cbf40" + integrity sha512-5WhJZ3SA5sZVDBwOsChDd5JCzYcwBX7sEqBqEcm3pFru6TUihEnFIJmDIbreIyrQMwUhs3dTxnfnidgjr5z1Ag== dependencies: - "@sentry/core" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry/core" "8.43.0" -"@sentry-internal/feedback@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.39.0-beta.0.tgz#444c62e140656db70cc3574a9e60e2963291848b" - integrity sha512-eh4NMPbMzrevycp+DCGvfzYHe1biTNK9J6clEhgvqUbWbxzGLXzb6pP4paXNCx8KO/AeFYHlFiVPSOPE+baEvg== +"@sentry-internal/feedback@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.43.0.tgz#9477b999c9bca62335eb944a6f7246a96beb0111" + integrity sha512-rcGR2kzFu4vLXBQbI9eGJwjyToyjl36O2q/UKbiZBNJ5IFtDvKRLke6jIHq/YqiHPfFGpVtq5M/lYduDfA/eaQ== dependencies: - "@sentry/core" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry/core" "8.43.0" "@sentry-internal/global-search@^1.0.0": version "1.0.0" @@ -3208,25 +3216,21 @@ htmlparser2 "^4.1.0" title-case "^3.0.2" -"@sentry-internal/replay-canvas@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.39.0-beta.0.tgz#77c19dfd2f685dcbb18e50713d9aa1c1b122215b" - integrity sha512-axIAQsUX1VDGJwYibkcWvYNa9SvfrG1h2b8Nf1PGUwdiWVCVyq0D9FeLWhC/9CizwxrqJ84VOLs8OLRpJJTIqg== +"@sentry-internal/replay-canvas@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.43.0.tgz#f5672a08c9eb588afa0bf36f07b9f5c29b5c9920" + integrity sha512-rL8G7E1GtozH8VNalRrBQNjYDJ5ChWS/vpQI5hUG11PZfvQFXEVatLvT3uO2l0xIlHm4idTsHOSLTe/usxnogQ== dependencies: - "@sentry-internal/replay" "8.39.0-beta.0" - "@sentry/core" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry-internal/replay" "8.43.0" + "@sentry/core" "8.43.0" -"@sentry-internal/replay@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.39.0-beta.0.tgz#2944e8431e798bea4b837d97fcc2bebe72522220" - integrity sha512-0Nf5S/8hcLg9BhpsgBQP9QZqVmHwG1EtA428JMauPHpHzUoR73VK1CLA0Kh4qAB86PzKuShFS+5L7BuRWM/Yow== +"@sentry-internal/replay@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.43.0.tgz#4e2e3844f52b47b16bf816d21857921bbfe85d62" + integrity sha512-geV5/zejLfGGwWHjylzrb1w8NI3U37GMG9/53nmv13FmTXUDF5XF2lh41KXFVYwvp7Ha4bd1FRQ9IU9YtBWskw== dependencies: - "@sentry-internal/browser-utils" "8.39.0-beta.0" - "@sentry/core" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry-internal/browser-utils" "8.43.0" + "@sentry/core" "8.43.0" "@sentry-internal/rrdom@2.26.0": version "2.26.0" @@ -3275,18 +3279,16 @@ resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.22.4.tgz#c5adef7201a799c971cdccc5ba11c97d4609b1a2" integrity sha512-hbSq067KwmeKIEkmyzkTNJbmbtx2KRqvpiy9Q/DynI5Z46Nko/ppvgIfyFXK9DelwvEPOqZic4WXTIhO4iv3DA== -"@sentry/browser@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.39.0-beta.0.tgz#3f02b9445adf7dfbe96f260fa19ee815d4799bf9" - integrity sha512-73xm8DrC9XKR4EJqBuhBrU1wgYUeLtt4ACYmL5/VRz1/UoJ50kjz6f1sgIisO6aScODKlEovp9qO822e72Z/hw== +"@sentry/browser@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.43.0.tgz#4eec67bc6fb278727304045b612ac392674cade6" + integrity sha512-LGvLLnfmR8+AEgFmd7Q7KHiOTiV0P1Lvio2ENDELhEqJOIiICauttibVmig+AW02qg4kMeywvleMsUYaZv2RVA== dependencies: - "@sentry-internal/browser-utils" "8.39.0-beta.0" - "@sentry-internal/feedback" "8.39.0-beta.0" - "@sentry-internal/replay" "8.39.0-beta.0" - "@sentry-internal/replay-canvas" "8.39.0-beta.0" - "@sentry/core" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry-internal/browser-utils" "8.43.0" + "@sentry-internal/feedback" "8.43.0" + "@sentry-internal/replay" "8.43.0" + "@sentry-internal/replay-canvas" "8.43.0" + "@sentry/core" "8.43.0" "@sentry/bundler-plugin-core@2.22.4": version "2.22.4" @@ -3356,92 +3358,81 @@ "@sentry/cli-win32-i686" "2.36.2" "@sentry/cli-win32-x64" "2.36.2" -"@sentry/core@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.39.0-beta.0.tgz#31f95bad5e53c9781a9a47116463569213631f2d" - integrity sha512-M680BSZJtnvQBlRknBZAoIoP6m+f9UDgp9+Fe7+Zf/lInpQs6XEt/MDa6gD+9AY7M5nkBK2k6gc+yVmFxbYMIg== - dependencies: - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" +"@sentry/core@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.43.0.tgz#e96a489e87a9999199f5ac27d8860da37c1fa8b4" + integrity sha512-ktyovtjkTMNud+kC/XfqHVCoQKreIKgx/hgeRvzPwuPyd1t1KzYmRL3DBkbcWVnyOPpVTHn+RsEI1eRcVYHtvw== "@sentry/jest-environment@6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@sentry/jest-environment/-/jest-environment-6.0.0.tgz#7d77ac2e18e3fe4f0da2c143bc0985ad3d3c2dcb" integrity sha512-e4ZTE/h1/wNITyIzZUqka3KOmLMICVYXLxGiM7OdQy8zS7J7j/HCKbUPIZ9ozk5RVQJDwG68U2pNB4YX2Ka3xQ== -"@sentry/node@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.39.0-beta.0.tgz#b2187cda24a24dd698197253633f73fdc3a330b7" - integrity sha512-Uvv5j6VAdbFBMRrIzoE7U/qREr0HhcC+sRHHa6y5+rIEOasU8b5uGXe33vjghjJ1XE8lDGXMaPh5gvV6hpUYxg== +"@sentry/node@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.43.0.tgz#e7417a6c262f9492f68b522934bb75201b84abe1" + integrity sha512-qCQU9vFxf03ejw1h+qWJXCf0erV56HBi5xgi262lHiBLcRtuwj1xjufMVKOWX0sQEvAxzqpMZmqRE64lXLY4Ig== dependencies: "@opentelemetry/api" "^1.9.0" - "@opentelemetry/context-async-hooks" "^1.25.1" - "@opentelemetry/core" "^1.25.1" - "@opentelemetry/instrumentation" "^0.54.0" - "@opentelemetry/instrumentation-amqplib" "^0.43.0" - "@opentelemetry/instrumentation-connect" "0.40.0" - "@opentelemetry/instrumentation-dataloader" "0.12.0" - "@opentelemetry/instrumentation-express" "0.44.0" - "@opentelemetry/instrumentation-fastify" "0.41.0" - "@opentelemetry/instrumentation-fs" "0.16.0" - "@opentelemetry/instrumentation-generic-pool" "0.39.0" - "@opentelemetry/instrumentation-graphql" "0.44.0" - "@opentelemetry/instrumentation-hapi" "0.41.0" - "@opentelemetry/instrumentation-http" "0.53.0" - "@opentelemetry/instrumentation-ioredis" "0.43.0" - "@opentelemetry/instrumentation-kafkajs" "0.4.0" - "@opentelemetry/instrumentation-knex" "0.41.0" - "@opentelemetry/instrumentation-koa" "0.43.0" - "@opentelemetry/instrumentation-lru-memoizer" "0.40.0" - "@opentelemetry/instrumentation-mongodb" "0.48.0" - "@opentelemetry/instrumentation-mongoose" "0.42.0" - "@opentelemetry/instrumentation-mysql" "0.41.0" - "@opentelemetry/instrumentation-mysql2" "0.41.0" - "@opentelemetry/instrumentation-nestjs-core" "0.40.0" - "@opentelemetry/instrumentation-pg" "0.44.0" - "@opentelemetry/instrumentation-redis-4" "0.42.0" - "@opentelemetry/instrumentation-tedious" "0.15.0" - "@opentelemetry/instrumentation-undici" "0.6.0" - "@opentelemetry/resources" "^1.26.0" - "@opentelemetry/sdk-trace-base" "^1.26.0" - "@opentelemetry/semantic-conventions" "^1.27.0" + "@opentelemetry/context-async-hooks" "^1.29.0" + "@opentelemetry/core" "^1.29.0" + "@opentelemetry/instrumentation" "^0.56.0" + "@opentelemetry/instrumentation-amqplib" "^0.45.0" + "@opentelemetry/instrumentation-connect" "0.42.0" + "@opentelemetry/instrumentation-dataloader" "0.15.0" + "@opentelemetry/instrumentation-express" "0.46.0" + "@opentelemetry/instrumentation-fastify" "0.43.0" + "@opentelemetry/instrumentation-fs" "0.18.0" + "@opentelemetry/instrumentation-generic-pool" "0.42.0" + "@opentelemetry/instrumentation-graphql" "0.46.0" + "@opentelemetry/instrumentation-hapi" "0.44.0" + "@opentelemetry/instrumentation-http" "0.56.0" + "@opentelemetry/instrumentation-ioredis" "0.46.0" + "@opentelemetry/instrumentation-kafkajs" "0.6.0" + "@opentelemetry/instrumentation-knex" "0.43.0" + "@opentelemetry/instrumentation-koa" "0.46.0" + "@opentelemetry/instrumentation-lru-memoizer" "0.43.0" + "@opentelemetry/instrumentation-mongodb" "0.50.0" + "@opentelemetry/instrumentation-mongoose" "0.45.0" + "@opentelemetry/instrumentation-mysql" "0.44.0" + "@opentelemetry/instrumentation-mysql2" "0.44.0" + "@opentelemetry/instrumentation-nestjs-core" "0.43.0" + "@opentelemetry/instrumentation-pg" "0.49.0" + "@opentelemetry/instrumentation-redis-4" "0.45.0" + "@opentelemetry/instrumentation-tedious" "0.17.0" + "@opentelemetry/instrumentation-undici" "0.9.0" + "@opentelemetry/resources" "^1.29.0" + "@opentelemetry/sdk-trace-base" "^1.29.0" + "@opentelemetry/semantic-conventions" "^1.28.0" "@prisma/instrumentation" "5.19.1" - "@sentry/core" "8.39.0-beta.0" - "@sentry/opentelemetry" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry/core" "8.43.0" + "@sentry/opentelemetry" "8.43.0" import-in-the-middle "^1.11.2" -"@sentry/opentelemetry@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.39.0-beta.0.tgz#76abbf1d7d329f881a90f63424e909f74d3ce725" - integrity sha512-0BNHhyEd38n0dgZAJ9UdYSkwruULU5Iej8pIsOmT5mciDOwrqLil1xwfjkvElUnRnz/igR7Ghl4vVByRzqGC9A== +"@sentry/opentelemetry@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.43.0.tgz#9823a3e4162bf464c12092149fe714ba5e5ba0b9" + integrity sha512-Ey+z1+JuMsb+LNY5MddJhjJpCnmkVwGZwoc5T/wWfh+5WKnvZ5RSNwaUl71Ho0lpVhhejwuUtaNxc4Ilk1KjhA== dependencies: - "@sentry/core" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry/core" "8.43.0" -"@sentry/profiling-node@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/profiling-node/-/profiling-node-8.39.0-beta.0.tgz#f25b701708d5806865a0c153c40f7307bf7f0678" - integrity sha512-qoOky56SqqxxhDabMkDJGLWjEbjrn6xY5MuGH8PZXHDtAX+vmnD1lln5Y4Ka0wFuqJM+/YvXCLijib5W/3zMRQ== +"@sentry/profiling-node@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/profiling-node/-/profiling-node-8.43.0.tgz#6461a15ed94a30ed7787dd254d800500a05509ec" + integrity sha512-WyPknmDWA1nChFHv22u1k+nC7zo0iGpNLf9JuhpFxD0tAbltiXz414DQE/ISZvtPkDng89dVzKy0FJEAaGg7Dg== dependencies: - "@sentry/core" "8.39.0-beta.0" - "@sentry/node" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry/core" "8.43.0" + "@sentry/node" "8.43.0" detect-libc "^2.0.2" node-abi "^3.61.0" -"@sentry/react@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.39.0-beta.0.tgz#e08f8de27c61656453bf8faac866f8a5fe36f017" - integrity sha512-iLxwSmVByNY4APUUWEfFu/nqgnB7I1j6xHdfql1wcI+mvTE7rLAneMa59dvvLFj6+0OqauKIAw22ZFT63b1ZKw== +"@sentry/react@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.43.0.tgz#ad49bd16b0b1897613ef5cbd2f0a49b2b41f98a9" + integrity sha512-PsTzLrYio/FOJU537Y5Gj9jJi7OMHEjdttsC9INUxy5062LOd8ObtHsjE0mopLaSYEwUfSROQOBZCwmISh8ByQ== dependencies: - "@sentry/browser" "8.39.0-beta.0" - "@sentry/core" "8.39.0-beta.0" - "@sentry/types" "8.39.0-beta.0" - "@sentry/utils" "8.39.0-beta.0" + "@sentry/browser" "8.43.0" + "@sentry/core" "8.43.0" hoist-non-react-statics "^3.3.2" "@sentry/release-parser@^1.3.1": @@ -3454,17 +3445,19 @@ resolved "https://registry.yarnpkg.com/@sentry/status-page-list/-/status-page-list-0.3.0.tgz#d5520057007be1a021933aae26dfa6a4a3981c40" integrity sha512-v/MkVOvs48QioXt7Ex8gmZEFGvjukWqx2DlIej+Ac4pVQJAfzF6/DFFVT3IK8/owIqv/IdEhY0XzHOcIB0yBIA== -"@sentry/types@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.39.0-beta.0.tgz#2e267f587d7ffa1b8cb7e21823c869efc09b893d" - integrity sha512-gJvUZNvbxlucEp3ktfgVRGMP6IJXofUN0Zqc0V1F6ia3cs43DRyW+k1E0KXFFMoIxg9EjkLthAor3TZd5Zw4fg== +"@sentry/types@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.43.0.tgz#abe8ad46e26563260fd66f715a1133c4696d1b8e" + integrity sha512-NdTfD3S+od4RTw7xn+4sVSO5n63N/9pUsNT5s0D1QiGGZw0DpENoIb3J/PiGfuWL5f02Bmv7l9vVW0ovWZDWPg== + dependencies: + "@sentry/core" "8.43.0" -"@sentry/utils@8.39.0-beta.0": - version "8.39.0-beta.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.39.0-beta.0.tgz#7312aa9c1c57121f8f853806485b1594b5f6587a" - integrity sha512-bSjvF/caPGMrhWDWZLR0irTYoHJQxatdHOzC5f6mq4sOQZ+Ah4ZSPLVtxeq9Q5A/kooY5xmjH8yFBb5dGnfUgQ== +"@sentry/utils@8.43.0": + version "8.43.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.43.0.tgz#d9ec0ceeea59116bf573a006b2b34229f6420e90" + integrity sha512-z7wD8OgRSn7R9n0kSPo/TTBrPXyNmIivQMqMHhXGOOtA9VfHJ7advkn0eQ5Ohq9/euiDDYWG3AUo+nO4rh4nCA== dependencies: - "@sentry/types" "8.39.0-beta.0" + "@sentry/core" "8.43.0" "@sentry/webpack-plugin@^2.22.4": version "2.22.4" @@ -7136,6 +7129,11 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +forwarded-parse@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/forwarded-parse/-/forwarded-parse-2.1.2.tgz#08511eddaaa2ddfd56ba11138eee7df117a09325" + integrity sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw== + forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" From a3abebb3208bb8e3df6ef0a38148fb221bfcebf9 Mon Sep 17 00:00:00 2001 From: Rohan Agarwal <47861399+roaga@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:35:34 -0500 Subject: [PATCH 06/11] feat(issue summary): Change 3-dot menu to dropdown (#81928) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Aligns the button with the header properly 2. Changes the popup to a dropdown for consistency 3. Adds a feedback button to the dropdown Screenshot 2024-12-10 at 1 04 28 PM Screenshot 2024-12-10 at 1 06 54 PM Screenshot 2024-12-10 at 1 07 12 PM --- static/app/components/group/groupSummary.tsx | 166 ++++++++----------- 1 file changed, 65 insertions(+), 101 deletions(-) diff --git a/static/app/components/group/groupSummary.tsx b/static/app/components/group/groupSummary.tsx index 67b204f318e1f1..879d9b359fb5d1 100644 --- a/static/app/components/group/groupSummary.tsx +++ b/static/app/components/group/groupSummary.tsx @@ -1,10 +1,9 @@ -import {useEffect, useRef, useState} from 'react'; +import {useEffect, useState} from 'react'; import styled from '@emotion/styled'; -import {Button} from 'sentry/components/button'; -import Link from 'sentry/components/links/link'; +import {DropdownMenu} from 'sentry/components/dropdownMenu'; import Placeholder from 'sentry/components/placeholder'; -import {IconEllipsis, IconFatal, IconFocus, IconRefresh, IconSpan} from 'sentry/icons'; +import {IconEllipsis, IconFatal, IconFocus, IconSpan} from 'sentry/icons'; import {t} from 'sentry/locale'; import {space} from 'sentry/styles/space'; import type {Event} from 'sentry/types/event'; @@ -13,6 +12,7 @@ import type {Project} from 'sentry/types/project'; import marked from 'sentry/utils/marked'; import {type ApiQueryKey, useApiQuery, useQueryClient} from 'sentry/utils/queryClient'; import normalizeUrl from 'sentry/utils/url/normalizeUrl'; +import {useFeedbackForm} from 'sentry/utils/useFeedbackForm'; import useOrganization from 'sentry/utils/useOrganization'; import {useAiConfig} from 'sentry/views/issueDetails/streamline/hooks/useAiConfig'; @@ -90,7 +90,7 @@ export function GroupSummary({ }) { const organization = useOrganization(); const [forceEvent, setForceEvent] = useState(false); - const [showEventDetails, setShowEventDetails] = useState(false); + const openFeedbackForm = useFeedbackForm(); const {data, isPending, isError, refresh} = useGroupSummary( group, event, @@ -98,9 +98,6 @@ export function GroupSummary({ forceEvent ); - const popupRef = useRef(null); - const buttonRef = useRef(null); - useEffect(() => { if (forceEvent && !isPending) { refresh(); @@ -108,58 +105,51 @@ export function GroupSummary({ } }, [forceEvent, isPending, refresh]); - useEffect(() => { - function handleClickOutside(e: MouseEvent) { - if ( - showEventDetails && - popupRef.current && - buttonRef.current && - !popupRef.current.contains(e.target as Node) && - !buttonRef.current.contains(e.target as Node) - ) { - setShowEventDetails(false); - } - } - - document.addEventListener('click', handleClickOutside); - return () => { - document.removeEventListener('click', handleClickOutside); - }; - }, [showEventDetails]); - - const tooltipContent = data?.eventId ? ( - event?.id === data.eventId ? ( - t('Based on this event') - ) : ( - - - {t('Based on event ')} - - {data.eventId.substring(0, 8)} - - -