fix(block-kit): keep highlighted Bible links clickable - #1552
Draft
Jeremy1844 wants to merge 1 commit into
Draft
Conversation
This was referenced Jul 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Audit root
ADV-2026-0023/RC-002355405f66a8c555047dc0035747acdcaa371d59fa13b6247f4d98a6a76a2faf4f8c01424f9dfd4292Why
Compose BlockKit inserts a visual
rounded_corner_spanannotation before the preserved semanticurlannotation for highlighted text. The tap path selected the first annotation at the offset and only afterward checked its tag, so the decoration shadowed highlighted Bible links and navigation was ignored.Minimal fix
Query the semantic
urltag directly through one sharedAnnotatedString.urlAt(position)resolver and use it in both selectable and non-selectable Markdown rendering. No parser, persistence, schema, URI destination, content, dependency, or deployment changes are included.Regression evidence
:libraries:block-kit:ui:check spotlessCheck; 20/20 BlockKit tests, zero failures/errors/skips.:app:bundleRelease(1,200 Gradle tasks).Local environment: checked-in Gradle 9.4.0 wrapper, Temurin 21.0.11, Android SDK/API 36. Hosted CI, emulator/device, TalkBack, keyboard/D-pad, signed build, release, and deployment results are not claimed.
Overlap and compatibility
PR #1548 changes only screen timeout behavior. Drafts #1549-#1551 address separate persistence/migration/PDF roots. This PR has no file/root overlap with any of them and all merge-tree checks pass. The contrast root is intentionally separate and merges cleanly.
No data or wire migration is required. Existing URI values and callbacks remain unchanged. Reverting this commit is format-compatible but restores the click defect.
The published commit uses the account's GitHub noreply identity; its tested source tree, parent, message, and stable patch ID are unchanged from the recorded local evidence.
Keep this PR in draft until hosted Android CI and the minimum/current API, selection gesture, RTL, TalkBack, keyboard/D-pad, and release-equivalent device matrix pass. Do not merge or close #1547 from local evidence alone.