Pmmlabs / OpenPeriscope

Unofficial Periscope client
GNU General Public License v2.0
74 stars 30 forks source link

Уведомления о новых трансляциях #5

Closed Pmmlabs closed 8 years ago

Pmmlabs commented 8 years ago

Показывать уведомления, когда кто-то из подписок начинает трансляцию. Push API работает не во всех браузерах, точнее только в самых-самых новых версиях, поэтому надо что-то другое. Хотя ajax по таймеру как-то не хочется.

a1ex7 commented 8 years ago

Пусть может не постоянный мониторинг, а хотя бы при любом обновлении страницы уведомление о новых трансах где-нибудь на видном месте в углу, чтобы не переходить постоянно на Folowing и не жать Refresh

Pmmlabs commented 8 years ago

Это подключение твиттеровой библиотеки виджетов. Я посмотрел на сетевые запросы, думал сначала, что там у них long_poll, (ну это когда сервер специально очень долго отвечает на запрос, чтобы клиент слал запросы без задержки, подряд, а ответ возвращается только когда происходит событие) но оказалось что у них там обычный ajax с задержкой 15 секунд. Хотя, запрос отрабатывает быстрее чем API перископа. Поэтому лучше делать через эту штуку. Спасибо за совет.

Vol-2016 commented 8 years ago

Удалил, потому как вдруг показалось, что не пойдет... Если ошибся и таки пригодится - хорошо, что гитхаб дублирует на почту :)

Но я с инфой: посмотри страничку https://www.periscope.tv/joe . Дело не столько в самой трансляции, хотя и она интересна ("Working. JavaScriptAScope"): взгляни, сколько времени она сохраняется без всякого #save - 14 дней ! Сдается, этот Джо плотно связан с Periscope, если не инсайдер, так хакер в теме, и с ним пообщаться - так может и фич OpenPeriscope добавится :)

Pmmlabs commented 8 years ago

У него id 97, по-любому близок к разработчикам. И я думаю, он в принципе не одобрит существование неофициального клиента )

Pmmlabs commented 8 years ago

Ну короче посмотрел я его трансляцию, он там пишет сайт перископа, т.е. плеер трансляций. Ничего нового и секретного там нет, исходники фронт-енда всегда в открытом доступе. Я уже изучал их, единственное, что они почему-то написаны как будто на Node.js и потом запакованы в один файл для использования в браузере. Распакованные исходники я залил в свой репозиторий https://github.com/Pmmlabs/periscopetv , пока не удалось их запустить, но я это и не преследую, потому что главная их ценность - для исследовательских целей.

Vol-2016 commented 8 years ago

Интересно, спасибо.

(на его id не догадаться взглянуть - это я отличился :)

Pmmlabs commented 8 years ago

Готово! https://github.com/Pmmlabs/OpenPeriscope/commit/2e8f9c64f97b889f33b75e2b80cd4784043534e7 включается через настройки untitled реализовано через периодический вызов followingBroadcastFeed, поэтому имеется параметр частоты обновления

Vol-2016 commented 8 years ago

Ага, заработало. Тестирую... Что заметил:

Vol-2016 commented 8 years ago

Кстати, клики по уведомлениям плодят вкладки с трансляциями, голосящими одновременно, - так что очень на руку экспериментальная фича Хрома: chrome://flags/#enable-tab-audio-muting .

Pmmlabs commented 8 years ago

а в firefox она давно уже не экспериментальная и работает :)

Vol-2016 commented 8 years ago

ага, только со скриптом (у меня) лис подглючивает, а хром (тьфу-тьфу) нет.

Pmmlabs commented 8 years ago

Я пользуюсь лисом, вроде ничего не замечал. Что конкретно подглючивает?

Vol-2016 commented 8 years ago

с лисом не часто, в подробностях не припомню... в общем, погоняю и доложу.

Pmmlabs commented 8 years ago

в уведомлении есть линк на исключение из уведомлений - еще бы и флаг для каждого в списке Following (в оф. - есть)...

А это разве относится не к push-уведомлениям? у нас то не пуш, а просто обновление ленты подписок.

Pmmlabs commented 8 years ago

Добавлено отображение времени https://github.com/Pmmlabs/OpenPeriscope/commit/bd7f5ce6dfcadae1c423cd81098c40bc0bcba098 Ссылки в уведомлениях показывать невозможно, только текст. Соответственно, замьютить из уведомления - невозможно. (Только если писать свой движок уведомлений внутри страницы, но это пока нафиг)