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 <wxiaoguang@gmail.com>
This commit is contained in:
Giteabot 2023-06-12 12:16:04 -04:00 committed by GitHub
parent 8e798ebbdf
commit 3e9fc36729
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) || [];