From 454cb8772d3b856d0f58638ea243acea0b0bff30 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 20 Jul 2026 09:13:52 +0200 Subject: [PATCH 1/3] fix(compose): Update isImportantForBounds to return true As any inner node could be important for semantics. --- .../kotlin/io/sentry/compose/SentryModifier.kt | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt index 787c66b3b0b..b48cdbc8766 100644 --- a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt +++ b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt @@ -55,13 +55,11 @@ public object SentryModifier { } // SemanticsModifierNode.isImportantForBounds() was added as an abstract method in - // compose-ui 1.11. Classes compiled against earlier versions lack this method in + // compose-ui 1.11. Classes compiled against earlier versions lack this method in // their bytecode, which causes AbstractMethodError when the accessibility tree is - // traversed on 1.11+ runtimes. We can't use the `override` keyword here because - // the method doesn't exist in the compile-time dependency (compose-ui 1.6.x), but - // the JVM satisfies the abstract-method requirement at runtime via signature - // matching. SentryTagModifierNode only stores a semantic tag and has no visual - // effect on layout, so it is not important for bounds. - @Suppress("unused") fun isImportantForBounds(): Boolean = false + // traversed on 1.11+ runtimes. + // Returning true to match the default behavior + // https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/SemanticsModifierNode.kt;l=69-83;drc=bd7809b4bc9205721c2f1bc681694dd348885849 + @Suppress("unused") fun isImportantForBounds(): Boolean = true } } From d56def8d18ea4f2ba95898d00f7aeefd6f229bb6 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 20 Jul 2026 09:17:35 +0200 Subject: [PATCH 2/3] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44231ff4eed..f1d98e41ebc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixes - Backfill release, environment, distribution, tags, and app version/build—and use the matching replay-on-error sample rate—for `ApplicationExitInfo` ANR and native crash events captured before SDK initialization, without reusing options cached by a later app update ([#5762](https://github.com/getsentry/sentry-java/pull/5762)) +- `SentryTagModifierNode.isImportantForBounds` now matches the default behavior and returns `true` ([#5789](https://github.com/getsentry/sentry-java/pull/5789)) ## 8.49.0 From 5d0bd86a426a8e0b0fb1b6b7ef0c6ba4ae21058f Mon Sep 17 00:00:00 2001 From: Sentry Github Bot Date: Mon, 20 Jul 2026 07:20:47 +0000 Subject: [PATCH 3/3] Format code --- .../androidMain/kotlin/io/sentry/compose/SentryModifier.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt index b48cdbc8766..3c8fb48c35a 100644 --- a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt +++ b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt @@ -57,8 +57,8 @@ public object SentryModifier { // SemanticsModifierNode.isImportantForBounds() was added as an abstract method in // compose-ui 1.11. Classes compiled against earlier versions lack this method in // their bytecode, which causes AbstractMethodError when the accessibility tree is - // traversed on 1.11+ runtimes. - // Returning true to match the default behavior + // traversed on 1.11+ runtimes. + // Returning true to match the default behavior // https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/SemanticsModifierNode.kt;l=69-83;drc=bd7809b4bc9205721c2f1bc681694dd348885849 @Suppress("unused") fun isImportantForBounds(): Boolean = true }