From 3e9fc3672902adc8f2c589d034aa3772f06825e2 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Mon, 12 Jun 2023 12:16:04 -0400 Subject: [PATCH] Remove hacky patch for "safari emoji glitch fix" (#25208) (#25211) Backport #25208 by @wxiaoguang According to my test, the UI (emoji) is fine in Safari And actually the code is just dead code, because the "resize" event is never fired on page loading. So for most cases users just view the pages without this hacky patch, nobody ever complains. Co-authored-by: wxiaoguang --- web_src/css/base.css | 13 ------------- web_src/js/features/common-global.js | 14 -------------- web_src/js/utils.js | 13 ------------- 3 files changed, 40 deletions(-) diff --git a/web_src/css/base.css b/web_src/css/base.css index f9b2ca99b..38faf2287 100644 --- a/web_src/css/base.css +++ b/web_src/css/base.css @@ -2199,19 +2199,6 @@ table th[data-sortt-desc] .svg { vertical-align: -0.075em; } -@supports (-webkit-hyphens:none) { - body:not(.safari-above125) .emoji, - body:not(.safari-above125) .reaction { - font-size: inherit; - vertical-align: inherit; - } - body:not(.safari-above125) .emoji img, - body:not(.safari-above125) .reaction img { - font-size: 1.25em; - vertical-align: -0.225em !important; - } -} - .emoji img, .reaction img { border-width: 0 !important; diff --git a/web_src/js/features/common-global.js b/web_src/js/features/common-global.js index cb50ebcae..46a80beb5 100644 --- a/web_src/js/features/common-global.js +++ b/web_src/js/features/common-global.js @@ -1,6 +1,5 @@ import $ from 'jquery'; import 'jquery.are-you-sure'; -import {mqBinarySearch} from '../utils.js'; import {createDropzone} from './dropzone.js'; import {initCompColorPicker} from './comp/ColorPicker.js'; import {showGlobalErrorMessage} from '../bootstrap.js'; @@ -62,19 +61,6 @@ export function initGlobalButtonClickOnEnter() { } export function initGlobalCommon() { - // Undo Safari emoji glitch fix at high enough zoom levels - if (navigator.userAgent.match('Safari')) { - $(window).on('resize', () => { - const px = mqBinarySearch('width', 0, 4096, 1, 'px'); - const em = mqBinarySearch('width', 0, 1024, 0.01, 'em'); - if (em * 16 * 1.25 - px <= -1) { - $('body').addClass('safari-above125'); - } else { - $('body').removeClass('safari-above125'); - } - }); - } - // Semantic UI modules. const $uiDropdowns = $('.ui.dropdown'); diff --git a/web_src/js/utils.js b/web_src/js/utils.js index 4f9ad452f..4655b8eac 100644 --- a/web_src/js/utils.js +++ b/web_src/js/utils.js @@ -37,19 +37,6 @@ export function stripTags(text) { return text.replace(/<[^>]*>?/g, ''); } -// searches the inclusive range [minValue, maxValue]. -// credits: https://matthiasott.com/notes/write-your-media-queries-in-pixels-not-ems -export function mqBinarySearch(feature, minValue, maxValue, step, unit) { - if (maxValue - minValue < step) { - return minValue; - } - const mid = Math.ceil((minValue + maxValue) / 2 / step) * step; - if (matchMedia(`screen and (min-${feature}:${mid}${unit})`).matches) { - return mqBinarySearch(feature, mid, maxValue, step, unit); // feature is >= mid - } - return mqBinarySearch(feature, minValue, mid - step, step, unit); // feature is < mid -} - export function parseIssueHref(href) { const path = (href || '').replace(/[#?].*$/, ''); const [_, owner, repo, type, index] = /([^/]+)\/([^/]+)\/(issues|pulls)\/([0-9]+)/.exec(path) || [];