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

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

    Также был доработан блок по приёму хабратопиков (для уменьшения трафика) и исправлено немного общих багов.


    Добавлен приём и просмотр личных сообщений — вкладка «Приват». В ней приватные вкладки «Контакты», «Переписка» и приватные события.

    В контактах присутствуют системные папки «Я читаю» и «Меня читают», а также «Последние контакты». В последних контактах оказываются юзеры, с которыми вы когда-либо переписывались, при этом они отсортированы по времени самого последнего сообщения.

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



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

    Щелчок по аватару юзера (в любом месте расширения) открывает в новой вкладке его профиль.

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

    Новые комментарии помечаются более жирным шрифтом и плюсиком со счётчиком количества новых сообщений.



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

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

    Информация кешируется на 5 минут (и запрашивается с сервера только для активных элементов).


    Добавленные настройки:
    1. Подгружать свою старую переписку. Если включено, то будет подгружаться ваша старая личная переписка (у которых время создания раньше времени установки расширения)
    2. Ограничение подгрузки и проверки переписки, страниц.
    3. Периодичность пересканирования переписки, сек. Как часто будет пересканировать весь список вашей переписки на появление в них новых сообщений. Сделано для того, чтобы всё же находить комментарии для вас, если через проверку прямого эфира они упустились — по причине закрытия браузера, отсутствия интернета и т.п.
    4. Настройка Периодичность сканирования прямого эфира расширена до Периодичность сканирования прямого эфира или привата, сек. То есть, используется и для прямого эфира и для привата. Это один и тот же адрес, поэтому настройка одна.


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

    Я попробовал также применить одну хитрость в Хроме с iframe (в Опере это пока не работает), но это не сработало — то ли у хабры стоит защита на iframe, то ли это баг в Хроме. Постараюсь это получше исследовать.

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

    В ближайшем будущем буду заниматься разделом QA, а также сделать версии для браузеров Safari и Firefox.

    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 4
    • +3
      Очень приятно видеть развитие этого удобного плагина (: спасибо за труд!
      • +1
        document.write('')

        нету у хабра защиты от фреймов. покликджекать чтоли…
        • +2
          Хорошая новость — получилось через iframe в Хроме отправить и получать комментарии через ajax!

          Оказывается, в первых экспериментах был баг — не дожидался загрузки страницы и пытался отправить запрос.

          Так что на днях выложу улучшенную версию, в которой будет отправка сообщений + получение комментариев по экономному ajax-каналу =)
          • 0
            С недавних пор появилась защита

            X-Frame-Options: SAMEORIGIN

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

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