Кто вам отвечает в хабратопике. Расширение для браузера

в 20:00, , рубрики: Extensions, Google Chrome, opera, производительность, расширения, хабрахабр, Хабрахабр API, хром, метки: , , , , , ,

Кто вам отвечает в хабратопике. Расширение для браузераЭто расширение для браузера, которое позволяет получать и читать новые события с хабры, такие как ответы на ваши комментарии в хабратопиках.

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

Пока сделаны версии для двух браузеров — Chrome и Opera.

На текущий момент в версии 1.0 реализован минимум — оповещение о новых комментариях, которые направлены вам.

По приходу нового комментария начинает мигать иконка расширения с количеством новых комментариев, и открыв список, вы увидите новое сообщение, помеченное жирным фоном и с красной пометкой-кнопкой «новое». По щелчку на эту кнопку сообщение помечается как прочитанное. Точно также сообщение помечается как прочитанное при открытии ссылки события (хабратопика).

Кто вам отвечает в хабратопике. Расширение для браузера
Можно «удалить» (скрыть) неинтересное сообщение, если нужно. Оно попадает во вкладку «удалённые». А уже из этой вкладки они удаляются навсегда.

При вводе текста в поле ответа можно в любой момент закрыть окно приложения. Текст запоминается, и можно продолжить писать ответ в любой последующий удобный момент.

Ответ через расширение пока не реализовал, ибо у хабры стоит проверка на Referer при отправке комментария, но обязательно сделаю это в следующих версиях.

Кто вам отвечает в хабратопике. Расширение для браузераПрисутствует меню для действий со всеми элементами — можно пометить как прочитанное, удалить, восстановить. Это треугольник справа от названий вкладок «новые», «все» и т.д.

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

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

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

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

Для Хрома работает desktop notification. Можно отключить — иконка в правом верхнем углу.

Движок использует БД на sqlite для хранения данных.

Использован обратный страничник. Это позволяет сделать так, чтобы сообщения были постоянно на одной и той же странице, сколько бы новых ни появилось.

Все ссылки укорачиваются до минимально возможной длины с троеточием посередине. При цитировании они правильно раскрываются в нормальные полные ссылки.

Длинные записи сворачиваются и рисуются ножницы. Чтобы посмотреть весь текст, нужно щёлкнуть по ним.

Расширение для Оперы расположено на моём сервере, поэтому встроено автообновление по стандарту.

В Опере стоит ограничение по размеру БД на 5 Мбайт, поэтому, чтобы хранить много информации, вы можете увеличить этот размер. Нужно открыть в Опере вот эту ссылку opera:config#PersistentStorage:
Нужно увеличить Domain Quota For Databases, Domain Quota For Widget Preferences, Global Quota For Databases, Global Quota For Widget Preferences.
Необходимый минимум для расширения — 1 Мб (зависит от объёма переписки, для 400 комментариев около 600 Кбайт нужно)

При самом первом запуске оно будет активно трудиться и подгружать все ваши комментарии + ответы на них, а также юзеров, которые это всё написали. То есть, будет тратить трафик.

В дальнейшем же трафик будет на уровне минимум 8 Кб в минуту, но обычно выше, так как будут постоянно проверяться на новые комментарии те хабратопики, в которых вы участвуете (но обычно это только те хабратопики, которые проявляются в прямом эфире).

Хабр проверяет Referer и при взятии комментариев, поэтому хабратопики берутся полностью по html-каналу, а не по ajax, но если хабр уберёт эту проверку, то трафик можно снизить до минимума.

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

Настройки:

  1. Можно сделать так, что при клике по окошку desktop-уведомления будет открываться ссылка события, а также событие будет помечаться прочитанным;
  2. Периодичность сканирования прямого эфира, сек — как часто проверять прямой эфир на появление обновленных хабратопиков, где вы комментировали. Не ставьте слишком большое время, ибо тогда может не ухватить хабратопик и пропустить комментарий для вас. Хотя он всё равно найдётся при пересканировании ваших комментариев;
  3. Периодичность проверки новых собственных комментариев, сек — как часто проверять на появление ваших собственных комментариев в вашем профиле. По сути, влияет на добавление хабратопика в проверяемый список прямого эфира;
  4. Периодичность пересканирования собственных комментариев, сек — раз в час будет пересканировать весь ваш список ваших комментариев на появление в них новых комментариев (ибо там есть счётчик комментариев). Сделано для того, чтобы всё же находить комментарии для вас, если через проверку прямого эфира они упустились — по причине закрытия браузера, отсутствия интернета и т.п.

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

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

Автор: Methos

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js