← Timeline
Avatar
Shmuel Leib Melamud
(updated )
Бета-релиз 0.14.0-beta2

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

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

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

Перевод на другие языки. Добавлен механизм локализации интерфейса и сделан перевод на русский и украинский языки. Желающие поучаствовать в переводе на другие языки или внести исправления могут сделать это тут: https://app.tolgee.io/projects/1120 При формировании сообщений теперь учитывается пол/гендер пользователя, если он задан. Язык по умолчанию определяется автоматически из настроек браузера и может быть изменён в настройках или при регистрации.

  • Исправлены ошибки (надеюсь, последние) при вырезании аватара (спасибо @edjekora за сообщение).
  • Разрешена вставка изображений с gifer.com.
  • Исправлена ошибка при создании превью ссылок в комментариях к чужим постам.
  • При возврате из поста в ленту теперь показывается небольшой фрагмент ленты над постом (спасибо Дракониха за предложение).
  • При просмотре галереи теперь показывается сообщение, когда с последней картинки галереи переходим опять на первую (спасибо Дракониха за предложение).
  • Исправлена ошибка при обрезании заголовка поста для показа в ленте, если в заголовке есть эмодзи (спасибо Tigra за сообщение).
  • ...и еще много исправленных ошибок.
To react or comment  View in Web Client
Comments (23)
Avatar

то есть теперь есть сервер как отдельная сущность отдельная от ноды?
а плагины могут изменять клиент?

Avatar

то есть теперь есть сервер как отдельная сущность отдельная от ноды?

Она уже давно есть. Например, есть чисто серверное API /domains, которое управляет созданием/удалением нод. Доступ к нему идёт через корневой ключ. А плагин на уровне сервера получает уведомления обо всех событиях всех нод.

а плагины могут изменять клиент?

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

👍1
Avatar

Оо попробую ещё раз на досуге, если не забуду)))

👍1
Avatar

Что можно сделать с помощью написания плагина?

Avatar

А где переключается язык?

Avatar
Avatar
Avatar

Ага. После переоткрытия приложения подтянуло 🙂

Avatar

Логично, что без переоткрытия приложения у тебя продолжает работать старая версия 😉

😀1
Avatar

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

Avatar

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

👍1
Avatar
Я сначала не обратил внимания, что у меня вдруг все надписи стали на Украинском 😃
😀1
Avatar

Понятно, что плагином можно, например, индексировать пост в поисковой системе.

Avatar

Да. Но это можно сделать и просто отдельной нодой, которая подписана на ленту ноды, которую нужно индексировать. Разница в том, что плагин может индексировать даже подзамочные посты.

👍1
Avatar
Avatar
Avatar

А у меня пропали все мордочки эмоджи(((( Только один пальцеверховый остался(((

Avatar
Avatar

Когда хочу поставить лайк - при длительном нажатии выскакивала строчка с разными эмодзи. Сейчас не выскакивает. Только отмечает значок лайка для копирования.

Avatar
Avatar
Avatar

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

Avatar
To react or comment  View in Web Client