From 6119d6cf232cdf322b6c9d6d8beec7c8f47b8ad2 Mon Sep 17 00:00:00 2001 From: Hivert Quentin Date: Thu, 23 Apr 2026 16:39:22 +0200 Subject: [PATCH] fix(mail): remove negative margin from mail --- UI/MailPartViewers/UIxMailPartHTMLViewer.m | 32 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/UI/MailPartViewers/UIxMailPartHTMLViewer.m b/UI/MailPartViewers/UIxMailPartHTMLViewer.m index d79e32e65..0b5e6c0b0 100644 --- a/UI/MailPartViewers/UIxMailPartHTMLViewer.m +++ b/UI/MailPartViewers/UIxMailPartHTMLViewer.m @@ -938,7 +938,11 @@ static NSString *_sanitizeHtmlForDisplay(NSString *content) - (NSString *) cssContent { - NSString *cssContent, *css; + NSString *cssContent, *css, *newResult; + NSRegularExpression *regex; + NSError *error; + + error = nil; if (!handler) [self _parseContent]; @@ -950,6 +954,16 @@ static NSString *_sanitizeHtmlForDisplay(NSString *content) [handler css]]; else cssContent = @""; + + regex = [NSRegularExpression regularExpressionWithPattern:@"margin-left\\s*:\\s*-[^;]+(\\s*!important)?" + options: NSRegularExpressionCaseInsensitive error:&error]; + newResult = [regex stringByReplacingMatchesInString:cssContent options:0 range:NSMakeRange(0, [cssContent length]) withTemplate:@"margin-left: 0 !important"]; + cssContent = [NSString stringWithString: newResult]; + + regex = [NSRegularExpression regularExpressionWithPattern:@"margin-right\\s*:\\s*-[^;]+(\\s*!important)?" + options: NSRegularExpressionCaseInsensitive error:&error]; + newResult = [regex stringByReplacingMatchesInString:cssContent options:0 range:NSMakeRange(0, [cssContent length]) withTemplate:@"margin-right: 0 !important"]; + cssContent = [NSString stringWithString: newResult]; return cssContent; } @@ -1093,7 +1107,11 @@ static NSString *_sanitizeHtmlForDisplay(NSString *content) - (NSString *) cssContent { - NSString *cssContent, *css; + NSString *cssContent, *css, *newResult; + NSRegularExpression *regex; + NSError *error; + + error = nil; if (!handler) [self _parseContent]; @@ -1105,6 +1123,16 @@ static NSString *_sanitizeHtmlForDisplay(NSString *content) [handler css]]; else cssContent = @""; + + regex = [NSRegularExpression regularExpressionWithPattern:@"margin-(?:left|right)\\s*:\\s*-[^;]+(\\s*!important)?" + options: NSRegularExpressionCaseInsensitive error:&error]; + newResult = [regex stringByReplacingMatchesInString:cssContent options:0 range:NSMakeRange(0, [cssContent length]) withTemplate:@"margin-left: 0 !important"]; + cssContent = [NSString stringWithString: newResult]; + + regex = [NSRegularExpression regularExpressionWithPattern:@"margin-right\\s*:\\s*-[^;]+(\\s*!important)?" + options: NSRegularExpressionCaseInsensitive error:&error]; + newResult = [regex stringByReplacingMatchesInString:cssContent options:0 range:NSMakeRange(0, [cssContent length]) withTemplate:@"margin-right: 0 !important"]; + cssContent = [NSString stringWithString: newResult]; return cssContent; }