Remove hacky patch for "safari emoji glitch fix" (#25208)

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.
This commit is contained in:
wxiaoguang 2023-06-12 23:44:53 +08:00 committed by GitHub
parent eaf551b3c1
commit d8e45608d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 0 additions and 40 deletions

View file

@ -2199,19 +2199,6 @@ table th[data-sortt-desc] .svg {
vertical-align: -0.075em; 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, .emoji img,
.reaction img { .reaction img {
border-width: 0 !important; border-width: 0 !important;

View file

@ -1,6 +1,5 @@
import $ from 'jquery'; import $ from 'jquery';
import 'jquery.are-you-sure'; import 'jquery.are-you-sure';
import {mqBinarySearch} from '../utils.js';
import {createDropzone} from './dropzone.js'; import {createDropzone} from './dropzone.js';
import {initCompColorPicker} from './comp/ColorPicker.js'; import {initCompColorPicker} from './comp/ColorPicker.js';
import {showGlobalErrorMessage} from '../bootstrap.js'; import {showGlobalErrorMessage} from '../bootstrap.js';
@ -62,19 +61,6 @@ export function initGlobalButtonClickOnEnter() {
} }
export function initGlobalCommon() { 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. // Semantic UI modules.
const $uiDropdowns = $('.ui.dropdown'); const $uiDropdowns = $('.ui.dropdown');

View file

@ -37,19 +37,6 @@ export function stripTags(text) {
return text.replace(/<[^>]*>?/g, ''); 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) { export function parseIssueHref(href) {
const path = (href || '').replace(/[#?].*$/, ''); const path = (href || '').replace(/[#?].*$/, '');
const [_, owner, repo, type, index] = /([^/]+)\/([^/]+)\/(issues|pulls)\/([0-9]+)/.exec(path) || []; const [_, owner, repo, type, index] = /([^/]+)\/([^/]+)\/(issues|pulls)\/([0-9]+)/.exec(path) || [];