Очистка кеша в web.telegram.org/k/

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 385
Благодарностей
698
Баллы
113
Сап.
Ранее я создавал тикет, в котором жаловался на невероятно большой объем кеша у профиль-папок, которые работают с телеграмом в вебе.
В одном из патчей траблу вроде бы и фиксанули, но привело это к тому, что пострадали и установки языка и темы.
Проблема перекочевала и в ZennoBrowser. Спустя время работы настройки скидываются к дефолту (белая тема и английский язык, хотя я ставлю темную тему и русский язык).
Посидел, покумекал, как временная мера для тех, кто тоже, может быть, работает с телегой в вебе, такой js меняет нам язык на русский и ставит темную тему:
JavaScript:
I18n.getLangPack('ru', true).then(()=>console.log("Язык загружен!")).catch(console.error);
themeController.switchTheme('night');
Как словить баг?
1. Авторизуем акк и ставим ему темную тему через переключалку (три полоски слева сверху) + ставим русский язык (в настройках)
2. Начинаем безбожно шагать по большому количеству наполненных каналов, тем самым "забивая" кеш всякими картинками, видео и прочей медиа-гадостью
3. Проверяем через часа 4 - видим английский язык и белую тему

Если нужен будет список какой-то каналов, чтобы вручную не собирать - пишите в личку, предоставлю.
 
  • Спасибо
Реакции: Sergei_Zenno

Sergei_Zenno

Moderator
Регистрация
26.08.2024
Сообщения
233
Благодарностей
221
Баллы
43
Сап.
Ранее я создавал тикет, в котором жаловался на невероятно большой объем кеша у профиль-папок, которые работают с телеграмом в вебе.
В одном из патчей траблу вроде бы и фиксанули, но привело это к тому, что пострадали и установки языка и темы.
Проблема перекочевала и в ZennoBrowser. Спустя время работы настройки скидываются к дефолту (белая тема и английский язык, хотя я ставлю темную тему и русский язык).
Посидел, покумекал, как временная мера для тех, кто тоже, может быть, работает с телегой в вебе, такой js меняет нам язык на русский и ставит темную тему:
JavaScript:
I18n.getLangPack('ru', true).then(()=>console.log("Язык загружен!")).catch(console.error);
themeController.switchTheme('night');
Как словить баг?
1. Авторизуем акк и ставим ему темную тему через переключалку (три полоски слева сверху) + ставим русский язык (в настройках)
2. Начинаем безбожно шагать по большому количеству наполненных каналов, тем самым "забивая" кеш всякими картинками, видео и прочей медиа-гадостью
3. Проверяем через часа 4 - видим английский язык и белую тему

Если нужен будет список какой-то каналов, чтобы вручную не собирать - пишите в личку, предоставлю.
В этом смысле веб телеграм достаточно интересен, но постораюсь ответить, что мы смогли найти:
  1. У нас НЕ очищается кэш специфически, видно, что это дефолтное поведение хромиум
  2. Если веб-приложение "бесконечно" пишет данные, то либо размер профиля будет огромным, либо браузер будет чистить его сам по своим внутренним эвристикам.
    1. В случае с Telegram WebK 2.1.0 - он не имеет максимального ограничения на объем, однако он очищает ресурсы в кэше которые пролежали там более 24 часов. В описанном сценарии - он превращается в приложение которое бесконечно пишет данные и упрётся в некий лимит.
    2. Telegram WebK 2.1.0 - не использует постоянных хранилищ и настройки (тема и язык), так же хранятся во временном хранилище - поэтому браузер его имеет полное право удалить.
Соответственно для специфического варианта могут быть и специфические же решения:
  1. Самое очевидное - это настроить размер хранилища до желаемого
  2. Можно превентивно очищать Cache Storage , до того как браузер очистит его вместе с IndexedDB. Для этого у нас есть специальный метод, но наружу он нигде не выставлен. Соответственно можно сообразить очень простой скрипт и при заполнении хранилища например на 50% - очищать именно кэш (IndexedDB при этом остается живой).
 
  • Спасибо
Реакции: Sergodjan

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 385
Благодарностей
698
Баллы
113
Для этого у нас есть специальный метод, но наружу он нигде не выставлен. Соответственно можно сообразить очень простой скрипт и при заполнении хранилища например на 50% - очищать именно кэш (IndexedDB при этом остается живой).
Как пользователям этим тогда воспользоватсья?
 

unicorn79

Client
Регистрация
11.01.2017
Сообщения
48
Благодарностей
21
Баллы
8
Если я правильно понял вопрос с чисткой кэша - вот штатная функция браузера - открываем страницу в кубике - chrome://settings/clearBrowserData, а там при помощи клавиш TAB и ENTER завершите процедуру очистки.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)