LINUX.ORG.RU

lorify-ng новое универсальное расширение для LOR -а

 , ,


20

14

Это реинкарнация проекта lorify - скрипт+расширение, реализующее функционал схожий с тем, что добавляет куклоскрипт для имиджборд.

Расширение дает:

  • Автоматическую подгрузку новых комментариев (поддерживается также подгрузка изменений для комментариев и топика)
  • Индикация отображающая на фавиконе вкладки количество новых комментариев (очищается даблкликом в любом месте страницы); красный кружок с прочерком означает что тред закрыт для комментирования
  • Системные оповещения об имеющихся новых уведомлениях у пользователя (для юзерскрипта требуется «разрешить сайту www.linux.org.ru показывать уведомления»)
  • Динамическая навигация по страничкам темы (по умолчанию подгружается только текущая открытая и последняя, в настройках можно задать колличество подгружаемых заранее)
  • Само собой показ превью постов и ссылки указывающие на комментарии с ответами
  • Кнопки разметки и хоткеи (гайд по использованию)
  • Просмотр, масштабирование и поворачивание картинок, как для встроенных превью в топике так и доступных в тексте комментариев по прямым ссылкам (если url картинки имеет непрямой вид к нему можно добавить хэштег с названием и расширением картинки imghost.orc/24dfuh5d1#скриншот.png)


Доступны следующие варианты установки

  • Юзерскрипт(тестировался с Violentmonkey)
  • Аддон для Firefox
  • Chrome (платный, нужно $5)
    • можно так же установить вручную включив на странице chrome://extensions режим разработчика и выбрав папку с исходниками расширения в качестве распакованного

** WebExtension имеет некоторое преимущество перед юзерскриптом. В часности если лор открыт в нескольких вкладках юзерскрипт будет в каждой вкладке переодически посылать запросы выясняя появились ли уведомления, расширение же будет это делать из своего внутреннего контекста и уже распространять на все открытые табы.

>>> Страница проекта на GitHub

★★★

Ответ на: комментарий от Deleted

А понажимай на глаз/звездочку в каком нибудь топике - что происходит?

uin ★★★ ()
Ответ на: комментарий от Deleted

Отлично, значит я думал в правильную сторону.

А хотя нет, хз.

uin ★★★ ()
Последнее исправление: uin (всего исправлений: 2)

Как правильно установить драйвер с гитхаба? Выполняю все по инструкции и лезут ошибки. (комментарий)

Вот такая бяка у меня: https://0x0.st/zIcQ.png – обрезан, мало заскринил, но внизу видно скругляющийся угол.

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

А вообще, прикольная штука происходит по твоей ссылке. Если по ней перейти, а потом поднять страницу на самый верх, вот эта штуковина «Развернуть» тоже поднимается: https://0x0.st/zIM-.png
Я так понимаю, все из-за того, что ссылка именно на комментарий.

Gonzo ★★★★★ ()

И еще: во-первых, почему-то долго думает перед отправкой комментария (уже разобрался вроде, в настройках есть задержка, но для чего?), во-вторых, после отправки перемещает на самый верх страницы. Галочки в настройках все поснимал, если что.

Gonzo ★★★★★ ()
Последнее исправление: Gonzo (всего исправлений: 1)
Ответ на: комментарий от Gonzo

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

После отправки не кидает, лиса и нативное дополнение, не скрипт. Остается на месте (нативно ЛОР кидает на мое сообщение, длинных тредах бесит, когда отвечаешь в начале-середине). А вот после правки правда косяк, не возвращает к редактируемому, а кидает вверх.

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

В настройках что-то менял? У меня просто кидает наверх. Хм.

Gonzo ★★★★★ ()
Ответ на: комментарий от Gonzo

Так так что там куда кидает?

Ничего вроде не кидает

а, или при редактировании наверх перекидывает. Ну в принципе можно сделать.

uin ★★★ ()
Последнее исправление: uin (всего исправлений: 2)
Ответ на: комментарий от mandala

После отправки не кидает, лиса и нативное дополнение, не скрипт. Остается на месте (нативно ЛОР кидает на мое сообщение, длинных тредах бесит, когда отвечаешь в начале-середине). А вот после правки правда косяк, не возвращает к редактируемому, а кидает вверх.

Напиши что конкретно должно быть. При редактировании возвращать к своему комментарию, при отправке со страницы добавления комментария или при отключении автоподгрузки, прыгает к последнему посту. Не хватает только фиксирования конкретных мест страницы при скроллинге.

uin ★★★ ()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от uin

Меня кидает наверх при ответе. Попробуйю еще с дефолтными настройками.

Gonzo ★★★★★ ()
Ответ на: комментарий от uin

Сорри, уже не кидает. Сбросил настройки и нормально все. У меня просто были сняты все галки вообще, включая «Автоподгрузку комментариев». Подозреваю, что в ней дело. С другой стороны была снята и галка «Перемещать в начало страницы». В общем, такая вот странность.

Gonzo ★★★★★ ()
Последнее исправление: Gonzo (всего исправлений: 1)
Ответ на: комментарий от uin

Упс, а вот при редактивровании комментария только что кинуло вверх...

Gonzo ★★★★★ ()
Последнее исправление: Gonzo (всего исправлений: 1)
Ответ на: комментарий от uin

И еще: при создании комментария - LORCODE (т.к. в профиле у меня именно он), а при редактировании - Markdown. Вот так.

Gonzo ★★★★★ ()
Ответ на: комментарий от Gonzo

С другой стороны была снята и галка «Перемещать в начало страницы». В общем, такая вот странность.

Эта опция при навигации по страницам работает, то есть ты дочитал допустим до низа [5][6][->] нажимаешь следующую и он как бы к верху отматывает.

Упс, а вот при редактировании комментария только что кинуло вверх...

Тут просто дело в том что при редактировании/постинге/итд в стандартном режиме оно же ссылку присылает с редиректом, там в этой ссылке нет никаких указаний на пост, только страница. Но вообще в случае редактирования можно подставить, а в случае отправки через страницу ответа только скакнуть на последний.

И еще: при создании комментария - LORCODE (т.к. в профиле у меня именно он), а при редактировании - Markdown. Вот так.

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

uin ★★★ ()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от uin

После редактирования не отматывать ленту вверх, а возвращаться на тот же пост, как это делает движок ЛОРа в стоке (проверка Да, так и делает). А остальное все хорошо.

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 2)
Ответ на: комментарий от uin

Не хватает только фиксирования конкретных мест страницы при скроллинге.

И тогда после удаления поста не кидать в начало треда, а возвращаться к предыдущему перед удаленным сообщению! (если сообщение одно и было в треде, то на стартовое как это и происходит сейчас). Эх, мечты…

mandala ★★★★ ()
Ответ на: комментарий от uin

надо попросить чтоб они ее туда вставили тоже

Не имеет смысла добавлять именно переключатель, т.к. при редактировании нельзя изменить тип разметки. Хотя можно отображать тип разметки при редактировании (просто переключатель сделать не активным), движок то знает какая разметка.

mandala ★★★★ ()

Ещё баг (или не баг, хз): не появляются теги при наборе

Deleted ()

Сделай уже что-то с новостями. При постинге новости не отправляются на сервер заголовок и текст новости. Из-за этого постинг не проходит.

А нет! Новость-таки отправляется на сервер, но из-за этой непонятки я сейчас задублировал новость 3 раза.

bvn13 ★★★★★ ()
Последнее исправление: bvn13 (всего исправлений: 1)
Ответ на: комментарий от Deleted

Да, баг, подтверждаю. Все забывал зарепортить.

mandala ★★★★ ()
  • v2.8.6
    • Исправлен баг с отправкой формы для добавления новой темы [ 1, 2 ]
    • Возврат к посту со страницы редактирования и переход к последним в случае страницы добавления комментария [ 1, 2 ]
    • Исправлена обработка удаленных комментариев имеющих пометку «новый»
    • Усовершенствованная система мониторинга за уведомлениями, обрабатывающая сбой сети, отказ в доступе и кеширование.
    • Реализована собственная автоподстановка тегов [ 1, 2 ]
    • Добавлен костыль для некорректных блоков кода [ 1 ]
uin ★★★ ()

Баг: в удалённых темах при переходе на другую страницу происходит бесконечная загрузка

Deleted ()

У меня последнее время не работают уведомления. Они как бы всегда работали не очень стабильно и надёжно. Иногда требовалось перезапустить браузер, чтобы уведомления опять заработали. А с какого то момента перестали работать совсем.

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от mandala

Ох ё, надо было сюда сперва заглядывать

uin ★★★ ()
Ответ на: комментарий от eternal_sorrow

Не знаю, на хроме есть такая хрень что расширения выгружаются из памяти, но если все правильно написать что бы программа не ломалась от перезапуска то это должно хорошо работать. Я все строго на нее переписал, хотя оно не очень подходит как бы к изначальной идее что даже без вкладок будет что то висеть в фоне и проверять ответы, ну и ладно.
Только лиса оказалось не поддерживает (пока) этот режим работы, то есть почему в ней происходит то что происходит - хз. Ну да и в любом случае страница теперь отслеживает соединение с бакендом и если что пытается переконектится.

uin ★★★ ()
Ответ на: комментарий от eternal_sorrow

На хроме будут работать вот так - как только ни одной открытой вкладки нет оно доделывает оставшееся и уходит в сон (полностью завершается и убирается из памяти), но как только вкладку откроешь или по иконке потыкаешь, оно сразу проснется. Возможно оно так же выгружается и с открытыми вкладками при ооочень долгом неактивном висении, на этот случай там предусмотрено переподключение которое по идее будет его возвращать в работу.

На лисе такого пока нету, то есть на ней оно будет висеть всегда как и раньше (в about:debugging можно посмотреть ворнинг висит что ключь parsistent: false в манифесте пока не поддерживается).

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

uin ★★★ ()
Ответ на: комментарий от uin

после обновления до 2.9.1 перестал работать также индикатор количества уведомлений вверху страницы возле слова «Уведомления». не показывает ничего даже когда уведомления есть

eternal_sorrow ★★★★★ ()
Последнее исправление: eternal_sorrow (всего исправлений: 1)

Как-то все усложняется, из-за чего глючит, не работает и т.д. Есть вариант сделать какую-то легкую, stripped-down версию, которая бы просто умела показывать предыдущие комментарии во «всплывающих окошках» и все? :) Ну ок, пусть еще будут фичи с форматированием текста (хотя я этим все равно никогда не пользовался практически).

Gonzo ★★★★★ ()
Последнее исправление: Gonzo (всего исправлений: 2)
Ответ на: комментарий от eternal_sorrow

Ну пока как раньше вроде все работает ваши сообщения мне по крайней мере уведомляются с закрытыми вкладками. Потом если начнет вырубаться и это будет сильно не удобно, в манефесте выставлю постоянное весение. Просто ходят слухи что постоянно висящие в фоне расширения однажды выкинут из API, так что в любом случае лучше поддержать заранее.

после обновления до 2.9.1 перестал работать также индикатор количества уведомлений вверху страницы возле слова «Уведомления». не показывает ничего даже когда уведомления есть

Это наверное из за того что на странице старый скрипт еще работал.

баг подгрузки - дублирование сообщения http://i.imgur.com/7ha0m7B.png

Часто такое происходит или один раз было?

uin ★★★ ()
Ответ на: комментарий от Gonzo

просто умела показывать предыдущие комментарии во «всплывающих окошках» и все? :) Ну ок, пусть еще будут фичи с форматированием текста (хотя я этим все равно никогда не пользовался практически).

Проще взять старую версию, код со всплывающими окошками практически не менялся за все время - вот тут даже без кнопок разметки еще, тяни юзерскрипт и убери строчку с updateURL чтоб не обновлялся, либо форкни.

uin ★★★ ()
Ответ на: комментарий от uin

О, спасибо! Т.е., это мне нужен только lorify-ng.user.js? А заюзать его потом как? Tampermonkey/Greasemonkey/Violentmonkey?

Gonzo ★★★★★ ()
Последнее исправление: Gonzo (всего исправлений: 3)
Ответ на: комментарий от eternal_sorrow

Так у тебя вообще в системе присутствуют уведомления какиенибудь?

запусти в консоли браузера вот эту строчку:

new Notification('LOR', { icon: 'https://www.linux.org.ru/tango/img/linux-logo.png', body: 'test' });

uin ★★★ ()
Ответ на: комментарий от uin

уведомления присутствуют. в том числе в браузере. вот эта строчка ничего не отобразила.

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от uin

Прости, не посмотрел в шапку, там все есть. Спасибо.

Gonzo ★★★★★ ()
Ответ на: комментарий от uin

Не могу установить в Violentmonkey, пишет: Error loading dependencies.

Стянул зип, распаковал и перетаскиваю туда lorify-ng.user.js. Все правильно же?

Gonzo ★★★★★ ()
Последнее исправление: Gonzo (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

уведомления присутствуют. в том числе в браузере. вот эта строчка ничего не отобразила.

Значит либо в настройках DE либо в настройках браузера отключены, либо может в разделе безопасность в фоксе уведобления для linux.org.ru запрещены, я правда не уверен что это на расширение распространяется, но кто его знает.

uin ★★★ ()
Ответ на: комментарий от Gonzo

А, там придется тиникон убрать, все вот эти строчки найти и выпилить

// @require     https://rawgit.com/OpenA/lorify-ng/master/tinycon.mod.js

Tinycon.index = 0;

Tinycon.setBubble('\u2013', '#F00');

Tinycon.setBubble(
	(Tinycon.index -= newadded.length)
);

Tinycon.setBubble('\u2013', '#F00');

Tinycon.index += i;

Tinycon.index += msg.length;

Tinycon.setBubble(Tinycon.index);

uin ★★★ ()
Ответ на: комментарий от Gonzo

Или можешь один // @require убрать и вот это где нибудь вначале скрипта вставить:

const Tinycon = { setBubble: () => void 0 };

uin ★★★ ()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от uin

повторю, уведомления в системе работают, в том числе из браузера. для linux.org.ru уведомления не запрещены (но и не разрешены, по умолчанию браузер должен спрашивать разрешение).

На расширение это распространяться не должно.

eternal_sorrow ★★★★★ ()
Последнее исправление: eternal_sorrow (всего исправлений: 1)

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

eternal_sorrow ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)