Follow

This is all you need to know about Matrix third-party client development.

For the uninitiated: Matrix doesn't really work properly without encryption support (which is good). But the vast majority of the clients break their teeth on implementing encryption.

This pretty much locks you into Element as the only client that actually works.

· Edited · · Web · 10 · 14 · 13
@drq одна из причин, почему я хавал кактус и всё-таки забил на матрих окончательно

@icumblood В моем случае, ничего лучше Матриха просто нету.

@drq @icumblood Что ж у тебя за требования такие, что только Matrix тебе подхосит?

@dushnygik
0) Селф-хост. Централизованное не рассматривается даже
1) Возможность дать однозначную внешнюю ссылку на точку обуждения в комнате для использования в справочных материалах для сотрудников ("вот это слово у нас значит вот это потому что однажды мы договорились вот так - с *оригинальными* аргументами")
2) Видимость, кто где застрял в обсуждении и до какого поста прочел
3) Нормальная работа с LDAP без дурацких ограничений под "энтерпрайз-версию"
4) Возможность интергации рабочих инструментов, таких как, скажем, почта поддержки или мосты в другие мессенджеры
5) На будущее - возможность федерации.

Еще что-то, что я уже забыл.

Так уж получилось, что по этим требованиям подходит только Матрих

@icumblood

@drq у матрикса есть официальный sdk на расте если что :ageblobcat:

@mo Я людям на работе буду в качестве клиента SDK ставить?

Спасибо, у них есть чем заняться.

@drq нет, просто на этом SDK можно написать клиенты. Почему их не пишут, а ждут возрождения гномовского велосипеда — хуй их разберёт

@mo
Тем более, что есть и libolm 🤷
@drq

@drq @mo вот так вот.

Был XMPP и полноценные клиенты даже под J2ME.

Стал Matrix и ни клиентов, ни серверов. Одну вебню с кривой версткой жрат

@a1ba интересно, насколько полноценные у XMPP клиенты были в свое время. Все же он на пятнадцать лет древнее

@drq

@mo @drq когда я толкьо начинал вкатываться, у меня были клиенты которые помимо базового чата умели MUC, умели ad-hoc (типа интерфейса графического для ботов и транспортов), умели регистрацию из клиента. Многие даже всякие списки приватности умели и нестандартные расширения типа X статусов.

Шифрование ещё OTR было, но на мобилах не видел. Но народ тогда и не понимал зачем оно нужно.

Причем выбор на каждой платформе из 3-4 полнофункциональных клиентов. По-моему только айфонам по классике не везло. :)

@a1ba
Я помню на какую-то нокию поставил Bombus и охуел
ЧАТЫ В ТЕЛЕФОНЕ + весь функционал аськи
Тогда правда казалось, что ебдущее за XMPP
@drq @mo

@a1ba
Функционал — да, примерно такой, но клиенты выглядели довольно жалко. Из того, чем можно было пользоваться, и смотреть на них без боли, могу вспомнить gaim, который потом стал pidgin, и gajim — написанный на питоне, а машины тогда были не те, что сейчас и это имело значение, иногда подтормаживало.
Если бы на этом этапе XMPP не начали осваивать компании, которые сегодня считаются злом, в виде Google Talk например, то он бы благополучно тогда и умер.
@drq @mo

@a1ba
На маках, кстати, был основанных на gaim Adium — вот он выглядел действительно круто! И при этом работал 😅
На айфонах — да, было туго. Был IM+, который был, кажется, даже на телефонах с Java. Криво, некрасиво, но сообщения приходят — и ладно. Айфоны и сами тогда только появились, так что это не было большой проблемой.
@drq @mo

@m0xee @drq @mo это вообще вкусовщина.

Ни один из них не тормозил, правда Pidgin не нравился интерфейсом. Спустя года я попытался понять как к нему плагины пишутся, но не понял. Так и нет плагина для Pleroma Chat :)

Не могу сказать о значении GTalk, к тому моменту когда я пользовался жаббиром, он уже не федерировался.

@a1ba
Значит мы немного про разное время говорим. Тогда и ejabberd не на каждом старом компьютере можно было держать. В общем, примерно те же вилы, что сейчас с Matrix.
Matrix как протокол хорош, а недостатки реализации — это недостатки реализации. При этом он актуальный, а XMPP — не особо. Я думаю, что когда пройдёт столько же времени, сколько сейчас прошло для XMPP, ситуация будет намного лучше.
@drq @mo

@m0xee @drq @mo да, и правда возможно о разном. Я в линуксы-то начал вникать только в 2010-ом. :)

Я не могу сказать насколько хорош протокол Matrix, потому что никогда не читал спецификацию его протокола. И более того ничего для Matrix не писал.

Мне в целом вообще абсолютно насрать какой у него протокол. Я только хочу клиент которым можно пользоваться без крови из моих глаз и завывающего кулера компьютера. Как любитель всякого рода self-host, хочу и сервер который как минимум не пытался бы потеснить по жЫру рядом находящуюся Pleroma. Ну и в который если что несложно мелкие фиксы засылать.

@a1ba @drq @mo лучше бы конечно xmpp допилили и клиенты сделали современные чем вот это вот все

@dettlaff Вот да. Нет в протоколе XMPP никаких особых ограничений на то, что умеет делать Матрих.

XML - да, бесит, но в вебе мы с ним миримся в виде HTML, и ничего.

Но блин, никто не запрещал все те фичи внедрить в XMPP.

@a1ba @mo

@drq что, даже репликацию может? :ageblobcat:
XML (который в XMPP) и HTML это вообще теплое с мягким и палец с жопой
И вообще, если продолжать навешивать на старый протокол новые фичи, рано или поздно протокол превратится в SMTP. Думаю тебе не надо объяснять, насколько все там плохо

@dettlaff @a1ba

@mo Окей, мы все обнулили, выкинули все наработки, и начали с нуля. С чем мы остались?

@dettlaff @a1ba

@drq с пальцем и жопой, разумеется /j :blobcatgooglytrash:

@dettlaff @a1ba

@drq @mo @dettlaff
Переписывать _с_нуля_ вообще путь крайне недалеких людей.

Здесь был TL;DR на тему почему, но похуй. Наброс так наброс!

@mo
В SMTP расширяемость не была заложена
@drq @dettlaff @a1ba

@coaxial и тем не менее, с помощью очень большого пальца его успешно расширили. Ну ок, не SMTP а ESMTP, что-то поменялось?

@drq @dettlaff @a1ba

@coaxial Вот ключевая вещь. SMTP абсолютно дубовый. Поэтому, костыли.

@mo @dettlaff @a1ba

@drq ESMTP поддерживает расширения протокола и их обнаружение. Примерно как в XMPP обмениваются поддерживаемыми XEP-ами, не?

@coaxial @dettlaff @a1ba

@mo
Ну, разметки-то как не было, так и нет, если не ошибаюсь. Да и само ядро - решение задачи переложить текстовый файл с одной машины на другую, и положить в папочку юзера.
Я чёт не понимаю, в чем срач. XMPP ещё не дошел до состояния супер-стар. Базис всё таки ориентирован на сообщения (а не файлики), расширяемость, и разметку. Как бы ничего не поменялось, в отличие от ситуации с SMTP. На нем нормально все решить можно было. Как можно не видеть в матриксе тупиковый подход, я не очень понимаю. Тащить в веб, который и так уже какой-то ебучий монстр, ещё и обмен сообщениями - ну уж увольте. Давайте признаем, что просто люди не захотели ебаться с XML, ой простите, с "всратым легаси", когда можно одной рукой пить смузи, а второй ебашить в базу JSON стрингами нахуй.
Я тролль если что

@drq @dettlaff @a1ba

@mo
Сразу отобъюсь
В жаберд тоже сообщения текстом в базе, это норм.
Но в синапс ебанули ещё и всё служебное. Причем, о случая к случаю: где то разобрали по столбцам, где то болта поклали.
И вот в матриксе так во всем: вроде работает, но много мелких и средней руки недочётов. То тут тормоза, то тут отвал, то тут недоделка. Как будто какая-то медленная пытка: тебя просто по чуть чуть сводят с ума. В XMPP хотя бы просто можно смириться с тем что есть, но то что есть работает как часики
@drq @dettlaff @a1ba

@coaxial
1) разметка в емейлах уже миллион лет есть, стандартный для таких целей HTML. Особо крутые вообще шлют multipart/alternative
2) матрикс не обязан "втаскиваться в веб", он просто протокол на технологиях которые сейчас есть везде и просто. Это наоборот, часть веба втащили в обмен сообщениями (причем относительно небольшую, легковесную и в принципе оправданную)
3) ты что-то имеешь против смузи? Я щас тебя ржавым питоном закусаю

@drq @dettlaff @a1ba

@mo @coaxial @drq @dettlaff притом эта разметка в почте -- открыла путь к сотням уязвимостей.

Just saying.

@a1ba
1) Это та разметка, которая начинается с BEGIN ХУЯМБОЛА SECTION и дальше Base64?
@dettlaff @drq @mo

@coaxial нет, просто Content-Type: text/html и дальше тело письма в HTML

@a1ba @dettlaff @drq

@coaxial в этом плане письмо мало чем отличается от HTTP запроса на самом деле. А в HTTP btw заложена гибкость

@a1ba @dettlaff @drq

@a1ba необязательно рендерить полный HTML, или грузить сторонние ресурсы по дефолту.

Just saying.

@dettlaff @drq @coaxial

@mo @dettlaff @drq @coaxial да, в итоге, так и делают.

Потому что тысячи вендокомпутеров обосрались от багов в Outlook :)

@a1ba А ты уже слышал нашу историю про Outlook и кодировки? :)

@dettlaff @mo @coaxial

@drq @dettlaff @mo @coaxial да. KOI8-R в 2022 году!

А я думал МЦСТ тормозят с кодировками из 90-ых :)

@a1ba Я охуел, я ожидал что-то вроде CP-1251 или какое-нибудь подобное говно.

Но КОИ - это... для эстетов.

@dettlaff @mo @coaxial

@yura Мигрировал это я предприятие на новый почтовый сервер.

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

Смотрю в логи - а там вместо исходящих адресов ересь какая-то, и указание кодировки - KOI-8R.

Воу, думаю. А откуда оно такое? Эту кодировку уже лет 20-30 не использует никто всерьез.

Оказывается, во всех клиентах в качестве кодировки для отправки настроено как раз это самое KOI. И я выпал в осадок, потому что Аутлук не такой уж и старый по меркам энтерпрайза стоит.

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

@a1ba @dettlaff @mo @coaxial

@mo
> что, даже репликацию может

Что напишешь, то и будет мочь.

@dettlaff @a1ba

@drq ну напишите хороших клиентов для матрикса раз умные такие, заебали жаловаться /j

@dettlaff @a1ba

@drq@mastodon.ml I mean, it's not that weird to not want to duplicate effort developing another matrix rust library? and matrix-rust-sdk doesn't have much to do with element

@tromino What I want is a working client.

"We rely on this lib" and "Project abandoned" together do not get anyone closer to a working client.

@tromino Start using a library that works, maybe. Or at least is being developed, I dunno.

And it's not only Fractal, it's everyone pretty much.

@drq@mastodon.ml they've been developing fractal-next using matrix-rust-sdk for a long time already though, it just hasn't had a stable release yet (and afaik they don't want to until it reaches mostly feature parity with the old client)

@drq My favorite meme is the "Fractal isn't actually usable because you have to log in from scratch every time you cold launch the application because it's a tremendous piece of shit that doesn't save credentials for some reason." Unfortunately, I will continue using Matrix.
Sign in to participate in the conversation
Mastodon.ml

Русская нода социальной сети "Мастодонт", части Fediverse - всемирной федерации социальных сетей. Зона общения, свободная от рекламы и шпионажа, теперь и в России.