From 0e55e6e67b2296341f092e545d09fcec99eeb808 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Apr 2025 11:40:17 +0200 Subject: [PATCH] Bump sentry-sdk from 2.26.1 to 2.27.0 (#5842) * Bump sentry-sdk from 2.26.1 to 2.27.0 Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.26.1 to 2.27.0. - [Release notes](https://github.com/getsentry/sentry-python/releases) - [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-python/compare/2.26.1...2.27.0) --- updated-dependencies: - dependency-name: sentry-sdk dependency-version: 2.27.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Make use of new typing hints in filter.py * Avoid creating unnecessary empty dict --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Stefan Agner --- requirements.txt | 2 +- supervisor/misc/filter.py | 47 +++++++++++++++++++++------------------ 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/requirements.txt b/requirements.txt index 896d03bf1..d99871283 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,7 +23,7 @@ pyudev==0.24.3 PyYAML==6.0.2 requests==2.32.3 securetar==2025.2.1 -sentry-sdk==2.26.1 +sentry-sdk==2.27.0 setuptools==79.0.1 voluptuous==0.15.2 dbus-fast==2.44.1 diff --git a/supervisor/misc/filter.py b/supervisor/misc/filter.py index 614209feb..9e44a2eda 100644 --- a/supervisor/misc/filter.py +++ b/supervisor/misc/filter.py @@ -3,9 +3,11 @@ import ipaddress import os import re +from typing import cast from aiohttp import hdrs import attr +from sentry_sdk.types import Event, Hint from ..const import DOCKER_NETWORK_MASK, HEADER_TOKEN, HEADER_TOKEN_OLD, CoreState from ..coresys import CoreSys @@ -39,7 +41,7 @@ def sanitize_url(url: str) -> str: return f"{match.group(1)}{host}{match.group(3)}" -def filter_data(coresys: CoreSys, event: dict, hint: dict) -> dict: +def filter_data(coresys: CoreSys, event: Event, hint: Hint) -> Event | None: """Filter event data before sending to sentry.""" # Ignore some exceptions if "exc_info" in hint: @@ -53,11 +55,12 @@ def filter_data(coresys: CoreSys, event: dict, hint: dict) -> dict: event.setdefault("extra", {}).update({"os.environ": dict(os.environ)}) event.setdefault("user", {}).update({"id": coresys.machine_id}) - event.setdefault("tags", {}).update( - { - "machine": coresys.machine, - } - ) + if coresys.machine: + event.setdefault("tags", {}).update( + { + "machine": coresys.machine, + } + ) # Not full startup - missing information if coresys.core.state in (CoreState.INITIALIZE, CoreState.SETUP): @@ -122,22 +125,22 @@ def filter_data(coresys: CoreSys, event: dict, hint: dict) -> dict: } ) - if event.get("request"): - if event["request"].get("url"): - event["request"]["url"] = sanitize_url(event["request"]["url"]) + if request := event.get("request"): + if request.get("url"): + request["url"] = sanitize_url(cast(str, request["url"])) - headers = event["request"].get("headers", {}) - if hdrs.REFERER in headers: - headers[hdrs.REFERER] = sanitize_url(headers[hdrs.REFERER]) - if HEADER_TOKEN in headers: - headers[HEADER_TOKEN] = "XXXXXXXXXXXXXXXXXXX" - if HEADER_TOKEN_OLD in headers: - headers[HEADER_TOKEN_OLD] = "XXXXXXXXXXXXXXXXXXX" - if hdrs.HOST in headers: - headers[hdrs.HOST] = sanitize_host(headers[hdrs.HOST]) - if hdrs.X_FORWARDED_HOST in headers: - headers[hdrs.X_FORWARDED_HOST] = sanitize_host( - headers[hdrs.X_FORWARDED_HOST] - ) + if headers := cast(dict, request.get("headers")): + if hdrs.REFERER in headers: + headers[hdrs.REFERER] = sanitize_url(headers[hdrs.REFERER]) + if HEADER_TOKEN in headers: + headers[HEADER_TOKEN] = "XXXXXXXXXXXXXXXXXXX" + if HEADER_TOKEN_OLD in headers: + headers[HEADER_TOKEN_OLD] = "XXXXXXXXXXXXXXXXXXX" + if hdrs.HOST in headers: + headers[hdrs.HOST] = sanitize_host(headers[hdrs.HOST]) + if hdrs.X_FORWARDED_HOST in headers: + headers[hdrs.X_FORWARDED_HOST] = sanitize_host( + headers[hdrs.X_FORWARDED_HOST] + ) return event