to post messages and comments.

← All posts tagged XMPP

@vt:

[09:58:51] *** Contact has been switched: [email protected]/Juick

@vt:

"Приобрел" домен spectrum.im вместе с правами на гитхаб, теперь еще и пользователи спектрума будут ныть и требовать от меня что-то делать :)

@vt:

mail.jabber.org
there was a failure at the hosting provider, destroying the server that hosts the xmpp.org XMPP service, website, wiki, xmpp.net service, etc. etc.
that machine wasn’t being backed up

@vt:

26 июня вас станет вдвое меньше — gsuiteupdates.googleblog.com — ну, расскажите мне про открытые протоколы, красноглазые друзья ;)

@vt:

Добавил в угнич-жабберсервер поддержку STARTTLS — как и обещал, это заняло один вечер :)
xmpp.net — результаты для тестовой копии, в ближайшем времени запустим на основном домене.

@vt:

Нас убил ватсапп. А так — сегодня могло исполниться 10 лет. Не чокаясь! Мы убили на тебя 10 лет, бомбус!

@vt:

Иии на замену одного автора невзлетевшего "стартапа" — juick — выходит участник другого никому не нужного проекта 4talk — #2710104 — вкратце "у меня нихуя не получается, но я точно знаю что xmpp во всем виноват!"

@vt:

@ugnich фонтанирует идеями про XMPP в жуйк, XMPP Software Foundation фонтанирует XEPами, а клиентов как не было, так и нет. Почему их энергию не направить на дело, а не на треп? :)

@vt:

github.com — для тех кто хочет потестить учетную запись jabber.ru/xmpp.ru для звонков, непосредственно из Tkabber :)

@vt:

Модные современные мессенджеры умеют получать push-уведомления на Android/iOS-устройства о новых сообщениях, а XMPP разработчики этих убийц Whatsapp-а считают "устаревшим" и "не умеющим" реализовывать подобные фичи. На самом деле все очень просто и нужно совсем немного кода:
1) берем xmpp-сервер prosody и модуль mod_smacks из prosody-modules, реализующий XEP-0198: Stream Management
2) настраиваем ему параметр smacks_hibernation_time = 86400 — столько секунд он будет держать сессию клиента подключенной, если он(клиент) отключился.
3) немножко патчим его(модуль), добавляя туда один единственный вызов события получения сообщения — paste.org.ru
4) теперь пишем дополнительный модуль, назовем его mod_smacks_notifications, который будет слать принятые во время отсутствия клиента сообщения через Google Cloud Messaging (аналогичным образом можно работать и с Apple и Microsoft, coming soon)
paste.org.ru
5) далее нужно добавить поддержку в клиент, мной взят Android-клиент SawIM:
а) быстренько дописываем поддержку XEP-0198, очень простой XEP, нам достаточно считать полученные пакеты и по запросу сервера высылать это число, ну и естественно включать управление сессиями и продолжать разорванную сессию.
б) при получении от GCM регистрационного кода устройства, шлем нашему серверу запрос типа:
<iq type=set"><register xmlns="..." regid="[полученный-regid-от-гугла]" /></iq>
в) Создаем в Google API Console проект для нашего мессенджера, в консоли разработчика Google Play связываемся с приложением через Server API Key, в конфигурации нашего написанного модуля указываем gcm_api_key.
На все про всё ушло пара дней неспешной работы в свободное время, lua видел второй раз в жизни, ну java видел чуть побольше :) — github.com

@vt:

Зарелизился Tkabber 1.1, изменения: главное — поддержка OTR, плюс Roster Versioning, новая встроенная игра и багфиксы :)
Официальная новость — tkabber.jabber.ru
Сборочка для Windows — tkabber.jabber.ru

@vt:

Тут вот новый крутой сайт про жаббер, xmpp.net — тестирует безопасность жаббер-серверов. К juick.com ему даже не удалось подключиться — xmpp.net

@vt:

Сборочка Spectrum2 под Шиндошс — dropbox.com
Отладочные символы + все необходимое для того чтоб написать свой плагин, например транспорт вконтактика — dropbox.com
Дополнительно требуется Шиндошс Vista/Server 2008 и выше (на икспи/2003 работать не будет) и MSVC 2012 Redist X86 — microsoft.com

@vt:

оно ожило, посоны, не прошло и трех лет — dropbox.com

@vt:

Идем на swift.im и читаем там:

Why Choose Swiften?
You don’t have to spend time reading specs and determining correct behaviour – we’ve been doing that for over a decade, and even wrote the book on it.
Окей. Берем Swiften и пишем такой крошечный тест:

void createWithInvalidName() {
Swift::JID jid("romeo", "example.net", "");
CPPUNIT_ASSERT_EQUAL(std::string("[email protected]"), jid.toString());
}

Что мы получаем на выходе? Правильно:

Test name: LocalBuddyTest::createWithInvalidName
equality assertion failed
— Expected: [email protected]
— Actual : [email protected]/

Сказать ФЕЙСПАЛМ это просто ничего не сказать. Пишут они жаббер десятилетиями, ага.

@vt:

Итак, от закрытия API v1 пострадали tweet.im, pidgin-microblog, spectrum twitter backend, и даже говорят что QIP! Кто еще?
Почините!