Remove underline from system message link#64709
Conversation
|
@allroundexperts Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
Will run a test build 🚀 |
|
🚧 @shawnborton has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
|
The underline is gone, nice! However, the links don't use our default :hover style where they slightly change color to theme's link-hover color. Is that something you can fix too? |
|
@shawnborton is there an example of how that looks? I tried hovering on a non-chat link, but don't see the hover style. a.mp4Also, do we want that hover style to apply to links with an underline, too? |
|
This is the example I was thinking of: CleanShot.2025-06-24.at.08.57.27.mp4We don't want to add an underline style on hover, it's just a color change. |
|
I see. Yeah, we can do that.
I mean, do we want to apply the color change to link with the underline too? This is how both look. web.mp4 |
|
Ah - I would say yes, though in the case you just cited, even that link should not have an underline. We want one consistent link style everywhere, cc @Expensify/design for the gut check! |
Couldn't agree more. |
|
Yup, totally agree! |
|
Got it. Updated! a.mp4 |
|
Nice, that is feeling good to me! |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppUnable to build android Android: mWeb ChromeScreen.Recording.2025-06-29.at.2.54.30.AM.moviOS: mWeb SafariScreen.Recording.2025-06-29.at.2.47.49.AM.movMacOS: Chrome / SafariScreen.Recording.2025-06-29.at.2.31.15.AM.movMacOS: DesktopScreen.Recording.2025-06-29.at.2.40.31.AM.mov |
I think ideally we'd have every single link style in the app look the same, but we can follow up and fix that one later. |
|
(Unless it's an easy fix, then feel free to squeeze it in here) |
|
Hmm I feel like we should be able to control the link styles regardless of whether or not this is coming from a different repo. Like we should build this in a way that allows anyone to style the links as they desire, without messing with that repo too much. Why can't we do that here? |
|
We can pass a custom style for link markdown, but the underline style (from the live markdown repo) always takes higher precedence. (code ref) |
|
How can we fix that? Again, we should have full control over the styles in the composer box. |
|
For web, we can easily change it so that the text decoration style takes from the custom style (which we will set to 'none') and falls back to the underline. But for native, it's different. Each new style added needs to be handled. We need to conditionally apply the underline if the text decoration is underline or undefined (if it's undefined, then we fall back to underline). |
|
I think changing it in the library is more complex. @shawnborton Are you fine with handling it in a follow up? |
I think we should update it in such a way that projects using |
Yup, totally down to do it as a follow up. Let's get this one merged in the meantime, thanks! |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 9.1.77-1 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.1.77-2 🚀
|
|
🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 9.1.78-0 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.1.78-4 🚀
|



Explanation of Change
Fixed Issues
$ #64041
PROPOSAL: #64041 (comment)
Tests
Same as QA Steps
Offline tests
Same as QA Steps
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop