Repository navigation
Make links in Remotes messages open on a tap - #158
Merged
Merged
Conversation
mdeloughry
marked this pull request as ready for review
November 3, 2026 22:21
Member
|
looks good! nice work |
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.
Links in Remotes messages were drawn as plain text. The shared
message-bodypartial handled mentions, inline code and hex colours, but had no branch forBodyRun::$link, so a URL fell through to a plain text run with no tap handler. That left the links in pinned messages, and in normal thread messages, unclickable.This adds a
links()list toMessage(the same shape as commits and scheduled commits), aConversation::openMessageLink($id, $index)action that opens dev/null pages in the app and everything else in the in-app browser, and link runs inmessage-body. A named dev/null or GitHub link keeps its muted owner prefix, as a commit's does. On your own lane a link uses the lane's label colour so it reads on the coloured bubble, where Commit Blue would not.Long pinned messages now draw their three-line preview through the same link-aware body, capped with
PinnedLines, so links work before Show more. The preview draws the first block, which keeps the three-line cap without leaking later blocks past it.Worth a look
Testing
New
Native::test()coverage: a normal message with a browser link, a dev/null profile link and a commit link; and a pinned message link from the sheet and from its three-line preview, so the preview keeps both the cap and the tap.ConversationTestis 86 passed with 9 pre-existing failures in this environment (the missingnativephp/mobile-clipboardplugin'sBindingResolutionExceptionon Copy text, plus four pin/toast assertions); none of them involve links. Pint passes.Tried on an iPhone 16 simulator (iOS 18.6) and an Android 15 emulator, in light and dark: the pinned link opens the in-app browser on both. The Android emulator had no SDK on this machine and was set up from scratch for this.
Screenshots
remotes