]> Sergey Matveev's repositories - stargrave-blog.git/commit
Снова хаки matterircd
authorSergey Matveev <stargrave@stargrave.org>
Mon, 8 Jun 2020 10:20:02 +0000 (13:20 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 8 Jun 2020 10:20:02 +0000 (13:20 +0300)
commit6a534864b35e7c7a43799d77337c8fd323539ace
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent6e7de5b78354401f7a7e8ece810166ed84c20752
Снова хаки matterircd

Уже были проблемы с matterircd в 2b96a8c59bf04a7f70d9226390e8d060a19a1a07.
Точнее не с ним, а с рабочим сервером, который считает что matterircd
флудит сообщениями. Но уже точно с matterircd есть другая проблема:
длинные сообщения он жёстко режет просто по 400-ому байту.
Англоговорящим то это нормально, ибо в одном байте буква умещается, а
вот у меня часто бьющиеся сообщения попадают, когда в irssi приходит
последующее сообщение в котором все данные искорёжены. Это правда
чуть-чуть удивляет, ведь в UTF-8 действительно есть самосинхронизация и
после битых данных он должен показываться, но тут уж наверное зависит и
от способа рендеринга irssi и от терминала.

Для тестирования решил сам себе отправить сообщение (через другой клиент
на удалённом доступе): matterircd сразу же запаниковал, ибо в коде явно
не подразумевается возможность общения самого с собой и кое где
появляется nil. Ну, 10 секунд, и это профикшено. Ещё минут пять и теперь
он с конца определяет валиден ли UTF-8 символ, по байту отступая назад.
Теперь разбиение происходит ничего не ломая. Open source и язык Go
позволяют в совершенно незнакомой программе с ходу вносить изменения и
исправления!