Miranda NG Official Community Forum

Miranda NG русскоязычный форум => Разработка => Topic started by: lokapal on 04 09 2017, 13:51:28

Title: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3
Post by: lokapal on 04 09 2017, 13:51:28
Добрый день, джентельмены!

Если (что вполне допустимо) протоколы из 0.95.3 в ночную версию не перетащишь, тогда встречный вопрос - как с минимальными усилиями сделать backport, то есть втащить в 0.95.3 последние "ночнушки", в частности, icq.dll? Можно и jabber, не помешает, но icq обязательно. Это не делается малой кровью типа заменить файлы protocol.cpp и/или protocol.h в директории? Или, скажем, заменить все файлы КРОМЕ? Я бы сам занялся экспериментами, но в директории icq ровно 50 .cpp файлов. Эксперименты могу неоправданно подзатянуться :)
Мне необходимо чтобы сменилась только логика работы с серверами, а интерфейс работы с ядром миранды остался старый. Дело в том, что миранда
0.95.3 ОЧЕНЬ часто крашится в модуле icq.dll, и совершенно точно виноват в этом майлру, потому что pidgin, конечно, не крашится, но сообщает о "неизвестной команде" и соединяться с серверами просто отказывается. Перейти на последнюю "ночную" или "стабильную" миранду, увы, не могу.
Диагностика от pidgin: "Received unexpected response from https://api.icq.net/aim/startOSCARSession: Invalid Request.  statusDetailCode 1015"
Title: Re: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3
Post by: Mikalair on 04 09 2017, 15:29:13
lokapal, а почему именно 0.95.3 ? Насколько я помню аську не меняли уже ооочень давно.
Title: Re: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3
Post by: lokapal on 04 09 2017, 21:24:44
Потому что в 0.95.3 чудесно работает skype.dll
Который был ДО classic, и ДО web  ::)
Title: Re: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3
Post by: Elzor on 05 09 2017, 08:36:18
lokapal, единственный реальный способ адаптировать протоколы для работы в 0.95.3 - это взять исходники протоколов на момент релиза 0.95.3 и выборочно накатывать на них коммиты из свн и гит, которые были сделаны за это время (2 года и 9 месяцев, между прочим). Каждый коммит придется оценивать для чего он - для совместимости с ядром или это правка багов/изменение функционала самого протокола. Не исключено, что некоторые коммиты делались и с той и с другой целью, тогда придется руками отделять одно от другого. Не исключено, что какие-то изменения в ядре/других плагинах сделаны были из-за изменений в протоколах. Короче, нетривиальная работа. За это время в ICQ было сделано 144 коммита, в Jabber - 344. Сами решайте, реально ли адаптировать текущие версии плагинов к старому ядру.
Title: Re: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3
Post by: lokapal on 05 09 2017, 08:58:17
По поводу ручного накатывания коммитов я понял, спасибо. Просто как вариант меня интересовало - не структурирован ли для удобства код протоколов по файлам. То есть "файлы типа А отвечают за общение с базой", "файлы типа B отвечают за UI", "файлы типа C отвечают за общение с серверами". Видимо, ничего такого нет, придётся ковырять вручную, как будет время.
Title: Re: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3
Post by: dartraiden on 05 09 2017, 09:23:59
По-моему, проще и правильнее адаптировать этот один плагин к текущей стабильной версии, которая вышла буквально неделю назад, чем плагины с транка к той древней версии ядра.
Title: Re: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3
Post by: lokapal on 05 09 2017, 09:38:20
исходники SkypeKit дадите?  8) Без него skype.dll не соберётся.