SHA256
Эмодзи/мобильный чат: убрать загрузку с GitHub, клавиатура, тихий Script error
- Пикер: анимированные webp грузились с raw.githubusercontent.com (в репо их нет) — у пользователей с VPN/операторскими блокировками тап по эмодзи давал сетевую ошибку и «моргание»/подмену картинки. Теперь всегда локальные статичные превью, без внешних запросов и pointer capture; мёртвая константа GitHub-URL удалена. Возврат анимаций — только локальным паком. - Чат (тач): открытие эмодзи-пикера прячет клавиатуру (blur), вставка эмодзи не фокусирует textarea на сенсорных устройствах — поле больше не перекрывается клавиатурой (на десктопе фокус как раньше). - Глобальный обработчик ошибок: кросс-ориджин «Script error.» без файла/стека больше не показывается алертом (лог и captureClientError остаются) — устраняет пугающую плашку на Xiaomi/Safari. - VERSION: client 1.2.327. Проверено в превью: тап по эмодзи — 0 запросов к githubusercontent, 😈 вставляется ровно как 😈, картинка кнопки стабильна; фильтр алерта: Script error. — тихо, реальная ошибка — алерт показывается. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -40,12 +40,25 @@ function saveRecent(items) {
|
||||
function appendAnimatedAsset(root, item) {
|
||||
const previewUrl = item.previewUrl || getTelegramEmojiPreviewUrl(item.file);
|
||||
const animatedUrl = item.animatedUrl || getTelegramEmojiAssetUrl(item.file);
|
||||
const hasAnimation = animatedUrl && animatedUrl !== previewUrl;
|
||||
const image = document.createElement('img');
|
||||
image.className = 'telegram-emoji-image';
|
||||
image.alt = '';
|
||||
image.decoding = 'async';
|
||||
image.setAttribute('aria-hidden', 'true');
|
||||
|
||||
// Без отдельного анимационного ассета — просто статичная картинка,
|
||||
// без hover/tap-подмены src и pointer capture (лишние запросы и «моргание»).
|
||||
if (!hasAnimation) {
|
||||
image.src = previewUrl;
|
||||
image.onerror = () => {
|
||||
root.classList.add('is-error');
|
||||
image.removeAttribute('src');
|
||||
};
|
||||
root.append(image);
|
||||
return;
|
||||
}
|
||||
|
||||
let isActive = false;
|
||||
let sourceVersion = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user