[О блоге] [наверх] [пред] [2020-06-08 13:20:02+03:00] [6a534864b35e7c7a43799d77337c8fd323539ace]

Снова хаки matterircd

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

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

    [оставить комментарий]