Таб Yandex Music не отображается

Issue #112 resolved
Former user created an issue

Видимо что-то пошло не так с WebView

Comments (27)

  1. Denis Tkachenko

    попробуйте вот эту сборку 2.0.0-134: https://yadi.sk/d/8x-NIvEfXo1bmQ

    пока еще не весь функционал перенесен, например: нет интеграций, нет управления с клавиатуры, нет оповещений, нет локализаций, нет рекламного уменьшения громкости.

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

  2. Andrey Shestakov

    У меня тоже. Спасибо!

    (зы использую приложуху исключительно из-за управления с клавиатуры 😉 )

  3. Anton Novosyolov

    Только стало не с первого раза срабатывать продолжение воспроизведения с кнопки на Touch Bar.

  4. Anton Novosyolov

    В 135 так же, не с первого раза. В 136 вообще перестало управление с Touch Bar работать.

  5. Serg Kalachev

    у меня не заработало. что я делаю не так?

    он “моргает” контентом и остаётся пустым, правый клик не работает (на вкладке радио по правому клику вылезает popup меню с reload).

  6. Denis Tkachenko

    падает процесс вебкита при попытке загрузить страницу музыки, ищу обходное решение

  7. Denis Tkachenko

    накатываем последнее обновление макос, после его установки вкладка стабильно работает

    также 139 сборка https://yadi.sk/d/TQAtd7fxPoyHuA в неё вернул экспорт названия текущего трека в ВК, если кому-то это важно и еще несколько мелких улучшений

  8. Denis Tkachenko

    Андрей, опишите пожалуйста что вы ждете от тачбара?

    я так понимаю что у вас на тачбаре мультемедиа клавиши управления потоком вопроизведения (вперед/назад/плей/пауза), для того чтобы они работа корректно начиная с какой-то версии макос необходимо дать универсальный доступ программе я.радио для глобального перехвата клавиш 🤷‍♂️, попробуйте зайти в Системные настроки → Защита и безопасность

  9. Andrey Shestakov

    да, кнопки переключение вперед/назад/пауза

    глянул - всё включено… но не листает треки и на паузу не ставит. и на блутусной клавиатуре обычный кнопки переключения, они тоже перестали работать((

  10. Andrey Shestakov

    причем перестали не в эту сборку, а после проблем с открытием страницы с музыкой

  11. Vitaly Znachenok

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

  12. Denis Tkachenko

    тут вот в чем может быть проблема. дело в том что если медиаприложения которые тоже перехватывают глобально клавиши становились активными после яндекс.радио - то они на себя забирают перехват клавиш

    как это проверить. 140 сборка в логах этот момент отражает, но правда там не очень удобно, но посмотреть можно https://yadi.sk/d/H4B-XuC0PWmbvg

    1. запустите аппу и остановите воспроизведение если оно начнется
    2. запустить те программы которыми обычно пользуетесь
    3. зайдите в лог я.радио и обратите внимание на запись: updateKeyInterceptStatus() mediaApps – если там будет несколько приложений то скорее всего дело в том что они становятся активными и забирают на себя глобальный перехват

    updateKeyInterceptStatus() mediaApps: [<NSRunningApplication: 0x60000303d7a0 (tk.YandexRadio - 8609)>, <NSRunningApplication: 0x600003040900 (com.apple.iTunes - 8367)>, <NSRunningApplication: 0x60000303e9a0 (org.videolan.vlc - 8370)>]

    вот такая ячейка лога с mediaApps говорит о том, что активно борются за клики/тапы пользователя три программы 🤷‍♂️

  13. Andrey Shestakov

    так-так-так))) Обновил приложуху, проверил - кнопки не работают. Включаю дебаг. Делаю всё по инструкции, получаю лог:

    2019-10-02 07:40:24 +0000:  debug:  Data copied to pasteboard: 277 row, 160673 characters
    2019-10-02 07:40:18 +0000:  info:   updateKeyInterceptStatus() mediaApps: [<NSRunningApplication: 0x600003f9e2e0 (tk.YandexRadio - 52252)>]
    2019-10-02 07:40:18 +0000:  info:   handleApplicationActivation(application:) app: <NSRunningApplication: 0x600003f9e2e0 (tk.YandexRadio - 52252)>
    2019-10-02 07:40:18 +0000:  debug:  applicationWillBecomeActive(_:)name = NSApplicationWillBecomeActiveNotification, object = Optional(<MediaApplication: 0x600003fdd3b0>), userInfo = nil
    2019-10-02 07:40:01 +0000:  debug:  applicationWillResignActive(_:)name = NSApplicationWillResignActiveNotification, object = Optional(<MediaApplication: 0x600003fdd3b0>), userInfo = nil
    2019-10-02 07:39:58 +0000:  debug:  actionFromSegmentedControl(_:)1
    2019-10-02 07:39:57 +0000:  info:   updateKeyInterceptStatus() mediaApps: [<NSRunningApplication: 0x600003f98090 (tk.YandexRadio - 52252)>]
    2019-10-02 07:39:57 +0000:  info:   handleApplicationActivation(application:) app: <NSRunningApplication: 0x600003f98090 (tk.YandexRadio - 52252)>
    2019-10-02 07:39:57 +0000:  debug:  applicationWillBecomeActive(_:)name = NSApplicationWillBecomeActiveNotification, object = Optional(<MediaApplication: 0x600003fdd3b0>), userInfo = nil
    2019-10-02 07:39:54 +0000:  debug:  applicationWillResignActive(_:)name = NSApplicationWillResignActiveNotification, object = Optional(<MediaApplication: 0x600003fdd3b0>), userInfo = nil
    2019-10-02 07:39:54 +0000:  debug:  set(pref:value:synchronize:) adVolumeDownPercent to Optional(50), sync:false
    2019-10-02 07:39:54 +0000:  debug:  controlTextDidEndEditing(_:) int : adVolumeDownPercent : 50
    2019-10-02 07:39:53 +0000:  debug:  synchronize() completed
    

    В логах пишет одно приложение в updateKeyInterceptStatus уже расстроился, ну вот, проблема в другом…. закрыл дебаг, попробовал еще раз кнопки…. иииииииииии….. всё заработало!!))

    С меня кофе)

  14. Denis Tkachenko

    буду искать проблему дальше чтобы выкусить то, что роняет вебкит, падает или нет зависит от версии webkit в системе, не от приложения и сейчас после позавчерашнего обновления 10.14.6 опять поломали, но в то же время на Catalina пока всё работает

    поставлю виртуалку с последней мохавой и буду разбираться

  15. Vitaly Znachenok

    По поводу неработающих кнопок, зашел в system preference / security & privacy / accessibility и удалил / добавил заново yandex.radio, заработало.

  16. Alex Shvetsov

    Спасибо, помогло, теперь пауза работает с первого раза и перемотка заработала.

    Сейчас на Каталине, до этого на Могабе, версия приложения 140

  17. Serg Kalachev

    На Каталине 140 билд заработал. И таб Музыки и кнопочки, всё отлично! Спасибо!!!!

  18. Alexander

    Спасибо! Не работали клавиши, как только запустил логи, сразу всё заработало! macOs Catalina

  19. Alexander

    (решено)

    Снова такая же ситуация появилась: не отображает вкладку music и ничего не помогает(((


    Удалил с помощью CleanMyMac все следы от YandexRadio, заново установил - всё заработало!)

  20. Denis Tkachenko

    ёмкая тема однако получилась, закрываю, просьба открывать новые если проблема не решена

    если не работает переключение вкладок для OSX 10.13.6 вот эта тестовая сборка https://disk.yandex.ru/d/ZwC6F23DuhS67w

    если нихрена не работает для 10.11.6 и 10.12.6 вот так: Проблема в используемой для WKWebWit приложений версии WebKit, она используется с некоторой задержкой от версии основного вебкита в сафари для стабильности. В 10.11 и 10.12 проблема усугубляется снятием с поддержки операционной системы и веб браузера сафари.

    Решение есть, но оно потребует подмены библиотек WebKit и последней доступной для 10.11/10.12 версии сафари 11.1.2 (устанавливается через обновление в AppStore), внизу определен порядок действий и два скрипта: для подмены и возврата, если необходимо старых версий.

    Порядок действий: 1. Отключаем SIP, потому что подменяем системные либы. Команда crsutil disable в терминале в recovery режиме. https://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/ 2. После нормальной загрузки системы, в терминале запускаем Скрипт1. он делает проверки на применимость себя и запускает под sudo переименования и создание ссылок, что естественно требует повышение прав текущего пользователя, потому что мы работаем с системными либами. 3. Возвращаем SIP командой crsutil enable в терминале в recovery режиме, аналогично пунку 1

        • Скрипт1: для замены библиотек - - -
    echo Change to StagedFrameworks &&
    if [ ! -d /System/Library/StagedFrameworks/Safari/JavaScriptCore.framework ]; then echo "ERROR StagedFrameworks NOT exist, install Safari from AppStroreUpdate, please"; return 1; fi && echo AllOK
    if [ -d "/System/Library/Frameworks/WebKit.framework.old" ]; then echo "ERROR WebKit.framework.old exist"; return 1; fi && 
    if [ -L "/System/Library/Frameworks/WebKit.framework" ]; then echo "ERROR WebKit.framework is link"; return 1; fi &&  
    echo start renaming to *.old… &&
    sudo mv /System/Library/Frameworks/WebKit.framework /System/Library/Frameworks/WebKit.framework.old &&
    sudo mv /System/Library/Frameworks/JavaScriptCore.framework /System/Library/Frameworks/JavaScriptCore.framework.old &&
    echo rename completed, start create symlinks… &&
    sudo ln -s /System/Library/StagedFrameworks/Safari/JavaScriptCore.framework /System/Library/Frameworks/JavaScriptCore.framework &&
    sudo ln -s /System/Library/StagedFrameworks/Safari/WebKit.framework /System/Library/Frameworks/WebKit.framework &&
    sudo ln -s /System/Library/StagedFrameworks/Safari/WebKitLegacy.framework /System/Library/Frameworks/WebKitLegacy.framework &&
    sudo ln -s /System/Library/StagedFrameworks/Safari/WebCore.framework /System/Library/Frameworks/WebCore.framework &&
    sudo ln -s /System/Library/StagedFrameworks/Safari/WebInspector.framework /System/Library/Frameworks/WebInspector.framework &&
    sudo ln -s /System/Library/StagedFrameworks/Safari/WebInspectorUI.framework /System/Library/Frameworks/WebInspectorUI.framework && 
    echo All OK, completed in /System/Library/Frameworks
    

    Если потребуется вернуть старые WebKit либы – порядок действий аналогичный приведенному выше, только запускаем Скрипт2

        • Скрипт2: для возврата старых библиотек - - -
    echo Return to SystemFrameworks &&
    sudo unlink /System/Library/Frameworks/JavaScriptCore.framework &&
    sudo mv /System/Library/Frameworks/JavaScriptCore.framework.old /System/Library/Frameworks/JavaScriptCore.framework &&
    sudo unlink /System/Library/Frameworks/WebKit.framework &&
    sudo mv /System/Library/Frameworks/WebKit.framework.old /System/Library/Frameworks/WebKit.framework &&
    sudo unlink /System/Library/Frameworks/WebKitLegacy.framework &&
    sudo unlink /System/Library/Frameworks/WebCore.framework &&
    sudo unlink /System/Library/Frameworks/WebInspector.framework &&
    sudo unlink /System/Library/Frameworks/WebInspectorUI.framework && 
    echo All OK, return to SystemFrameworks completed in /System/Library/Frameworks
    

    PS Скрипт написан в одну строку чтобы его можно было просто скопировать (строки между линиями) и запустить

  21. Log in to comment