Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Замена библиотеки на сайт (INF DEV) #227

Merged
merged 48 commits into from
Aug 7, 2023
Merged

Замена библиотеки на сайт (INF DEV) #227

merged 48 commits into from
Aug 7, 2023

Conversation

SashaXser
Copy link

Я пришёл к выводу, что веб-сервер будет намного точнее и быстрее, чем библиотека tinyld. Поэтому я решил создать сервер для определения языка. Он работает достаточно быстро и очень точно.

Я пришёл к выводу, что веб-сервер будет намного точнее и быстрее, чем библиотека tinyld. Поэтому я решил создать сервер для определения языка. Он работает достаточно быстро и очень точно.
Теперь при abort происходит остановка перевода
@daregod
Copy link

daregod commented Jul 26, 2023

И когда веб-сервер протухнет, что случится? Скрипт превратится в тыкву? Вся эта автоматика из последних версий работает плохо, отключается ещё хуже, пришлось вернуться на 1.0.9.9

@SashaXser
Copy link
Author

И когда веб-сервер протухнет, что случится? Скрипт превратится в тыкву? Вся эта автоматика из последних версий работает плохо, отключается ещё хуже, пришлось вернуться на 1.0.9.9

Она работает только тогда, когда субтитры отсутствуют. Если ты можешь сделать лучше, сделай. Меня не интересует твой бесполезный разговор.

@daregod
Copy link

daregod commented Jul 26, 2023

И когда веб-сервер протухнет, что случится? Скрипт превратится в тыкву? Вся эта автоматика из последних версий работает плохо, отключается ещё хуже, пришлось вернуться на 1.0.9.9

Она работает только тогда, когда субтитры отсутствуют. Если ты можешь сделать лучше, сделай. Меня не интересует твой бесполезный разговор.

Ну то есть внятного ответа что будет со скриптом когда сайт по любой причине исчезнет - не будет? Никакого механизма backoff обратно на библиотеку не предусматривается?

@SashaXser
Copy link
Author

И когда веб-сервер протухнет, что случится? Скрипт превратится в тыкву? Вся эта автоматика из последних версий работает плохо, отключается ещё хуже, пришлось вернуться на 1.0.9.9

Она работает только тогда, когда субтитры отсутствуют. Если ты можешь сделать лучше, сделай. Меня не интересует твой бесполезный разговор.

Ну то есть внятного ответа что будет со скриптом когда сайт по любой причине исчезнет - не будет? Никакого механизма backoff обратно на библиотеку не предусматривается?

Будет устанавливаться en, если сайт выйдет из строя, но я не думаю, что это произойдет. Если у тебя есть альтернативы или идеи, как это можно улучшить, то поделись, пожалуйста. Я был бы рад, если бы ты принял участие в этом проекте.

@SashaXser SashaXser changed the title Замена библиотеки на сайт Замена библиотеки на сайт (INF DEV) Aug 2, 2023
@ilyhalight
Copy link
Owner

ilyhalight commented Aug 5, 2023

Похоже пофиксил, можно объединять (На всякий чекните на баги)

Вроде всё работает, за исключение селектора языков (просто не кликабелен) и слайдера аудио (аналогично не кликабелен)

@SashaXser
Copy link
Author

Похоже пофиксил, можно объединять (На всякий чекните на баги)

Вроде всё работает, за исключение селектора языков (просто не кликабелен) и слайдера аудио (аналогично не кликабелен)

В каком браузере? У меня в Firefox работает

@ilyhalight
Copy link
Owner

Похоже пофиксил, можно объединять (На всякий чекните на баги)

Вроде всё работает, за исключение селектора языков (просто не кликабелен) и слайдера аудио (аналогично не кликабелен)

В каком браузере? У меня в Firefox работает

Попробовал в других браузерах и похоже проблема в уже установленных версиях Firefox, но в чем именно проблема остается загадкой.

Браузер Версия Описание
Firefox Developer Edition 117.0b3 64bit Слайдеры громкости и дропдауны для смены языка работают только в инкогнито
Firefox 114 64bit, 116.0.1 64bit Слайдеры громкости и дропдауны для смены языка работают только в инкогнито
Firefox Beta (Полностью чистый браузер) 117.0b3 64bit Всё работает
Firefox Nightly (Полностью чистый браузер) 118.0a1 (2023-08-05) (64-разрядный) Всё работает
Librewolf (форк мозиллы) 100.0.2-1, 116.0-1 Всё работает
Chrome 115.0.5790.111 64bit Всё работает
Brave Версия 1.56.20, Chromium: 115.0.5790.171 (Официальная сборка), (64 бит)) Всё работает

Из того, что пробовал:

  • Тестировал на Tampermonkey 4.19, смена версии на 4.19 Beta результата не дала.
  • Все доп. расширения выключены.
  • Язык браузера не влияет на это.
  • Выполнен вход или нет не влияет.
  • Сбрасывал базу IndexedDB
  • Пробовал сбрасывать кэш, фулл очищал Firefox через настройки, тоже результата не дало.

Пока писал и проверял всё это, в обычной версии Firefox всё-таки заработали слайдеры и дропдауны. Без понятия что это было. Похоже на какой-то совершенно рандомный баг, который вряд ли получится отследить.

@ilyhalight
Copy link
Owner

ilyhalight commented Aug 5, 2023

Я пока не до конца понимаю, почему возникают проблемы с переводом на один и тот же язык, может быть, потом разберусь. А вот смена языка ломалась из-за videoData в VideoValidtor, он просто сбрасывал язык на дефолтный. Я это исправил, но, похоже, это не все.

Смена языка всё так же не работает. При попытке смены языка до того как перевод видео был запущен, мы в консоли получаем ошибку:
TypeError: can't assign to property "responseLanguage" on "": not an object

Ошибка возникает в этой функции, скорее всего из-за того, что videoData по умолчанию устанавливается как пустая строка, а не как пустой объект:


    async function setResponseLangauge(data, videolang) {
      switch (videolang) {
        case "en":
          data.responseLanguage = videolang;
          if (lang == "ru") data.detectedLanguage = "ru";
          break;
        default:
          if (!Object.keys(constants/* availableLangs */.tW).includes(videolang)) {
            return setResponseLangauge(data, "ru");
          }

          if (data.detectedLanguage && data.responseLanguage === lang) {
            data.detectedLanguage = "en";
          }

          data.responseLanguage = videolang; <--- ВОЗНИКАЕТ ИЗ-ЗА ЭТОГО
      }

@SashaXser
Copy link
Author

videoData по умолчанию устанавливается как пустая строка

А да, я забыл поменять на videoData.detectedLanguage = ""

Сейчас залью фикс

@SashaXser
Copy link
Author

SashaXser commented Aug 5, 2023

Вроде бы исправил, проверь

@ilyhalight
Copy link
Owner

Теперь, вроде, работает. Потом проверю получше и замержу

@ilyhalight ilyhalight merged commit 44ccf67 into ilyhalight:master Aug 7, 2023
3 checks passed
@ilyhalight ilyhalight added 📈 Улучшение Новая функция или пожелание ✅ Добавлено labels Aug 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✅ Добавлено 📈 Улучшение Новая функция или пожелание
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants