diff --git a/src/components/ProfileBadges.tsx b/src/components/ProfileBadges.tsx index a7bc3417dd..d92dce5a1f 100644 --- a/src/components/ProfileBadges.tsx +++ b/src/components/ProfileBadges.tsx @@ -113,7 +113,9 @@ export function ProfileBadges({ * The box height is the only lever left, so constrain it to the cap height of * the surrounding text. That lands the box exactly over the capital letters, * and `align_center` then centers the badges on them - independent of which - * badges are visible and how tall they are. + * badges are visible and how tall they are. Keeping the box this short also + * keeps it inside the line's ascent, so TextKit never has to shift it to make + * it fit, which is what the badges' full height used to force. */ const inlineHeight = IS_IOS && inlineFontSize diff --git a/src/view/com/notifications/NotificationFeedItem.tsx b/src/view/com/notifications/NotificationFeedItem.tsx index 415f3800a5..6e702d1e03 100644 --- a/src/view/com/notifications/NotificationFeedItem.tsx +++ b/src/view/com/notifications/NotificationFeedItem.tsx @@ -247,7 +247,13 @@ let NotificationFeedItem = ({ t.atoms.text, a.font_semi_bold, a.text_md, - a.leading_tight, + /* + * Must match the leading of the surrounding text. On iOS the whole + * paragraph takes its line metrics from the first character, so a + * tighter leading here silently compressed every line of the + * notification. + */ + a.leading_snug, web({direction: 'ltr', unicodeBidi: 'isolate'}), ]} to={firstAuthor.href}