Обсуждение Isotoxin'а

Questions to developers
admin
Site Admin
Posts: 122
Joined: Mon Jan 26, 2015 11:51 am

Re: Обсуждение Isotoxin'а

Postby admin » Wed Oct 26, 2016 6:18 pm

Shota wrote:-Мне не очень понравилась реализация "$$$isotoxin\backup" в временных файлах(ведь теряется весь смысл при авто очистке временных файлов при выключении пк), перенёс папку рядом с программой, но нет авто очистки файлов бэкапа (т.е. файлы копятся с каждым запуском).


А как? Сейчас текущий профиль бэкапится при старте. Могу прикрутить очистку папки, скажем удалять всё что старше 1 месяца.

Shota
Posts: 20
Joined: Fri Sep 02, 2016 9:30 am

Re: Обсуждение Isotoxin'а

Postby Shota » Thu Oct 27, 2016 2:32 pm

admin wrote:А как? Сейчас текущий профиль бэкапится при старте. Могу прикрутить очистку папки, скажем удалять всё что старше 1 месяца.

Как правило, очистку по кол-ву файлов, с проблемами в таком случае не сталкивался.
п.с. К пожеланиям в дальнейшем: Подгружать список нод из текстового файла(если он рядом с программой), в ином случае из внутреннего\вшитого списка.

andrew
Posts: 7
Joined: Mon Feb 13, 2017 8:01 pm

Re: Обсуждение Isotoxin'а

Postby andrew » Tue Feb 14, 2017 5:59 pm

Моё уважение автору за то, что он взялся за такую трудную и нужную задачу - создание качественной работающей реализации клиента Tox. У меня и раньше было подозрение, что с официальным клиентом что-то не так, а почитав Ваш блог на LJ, окончательно прояснился масштаб проблемы. Вызывает восхищение Ваш скрупулезный подход к делу, стремление к минимализму и уничтожению говнокода даже в сторонних подключаемых библиотеках, редкий разработчик занимается этим так тщательно. Хочется, чтобы проект развивался, так как потребность в таком защищенном средстве общения очень высока.

Погонял программу на разных машинах. Вот список того, что удалось пока заметить в плане недочётов:

Программа: Isotoxin 0.4.503 (портабельная версия в zip-архиве). Версию с инсталлятором не пробовал, т.к. мне инсталлятор не требуется). Проверялась в ОС: Windows Server 2008 R2 Datacenter RU (64 bit), Windows 7 Enterprise SP1 EN (32 bit), Windows 7 Home RU (32 bit) и Windows XP Professional VL SP3 RU (32 bit). Пока проверял работу программы только через протокол "Tox".

Распаковываю, при первом запуске выбираю настройку руками, указываю устанавливать *.exe не нужно, файлы профилей хранить в папке с программой, задаю имя файла первого профиля.

1. При первом старте программа позволяет выбрать имя файла профиля, однако не подставляет туда ничего по умолчанию. Лучше, если бы предлагала что-то в виде: "profile1.profile".

2. Isotoxin в портабельном режиме сохраняет профиль в ту же папку, где находится он сам. Желательно по умолчанию сохранять в подпапку, например: "%CONFIG%\profile\".

3. В портабельном режиме папка "backup" продолжает оставаться в "%TEMP%", пусть лучше будет в "%CONFIG%", пропишите для портабельного режима расположение по умолчанию: "%CONFIG%\backup\".

4. Имя файла бэкапа по умолчанию сейчас выглядит так: "имяпрофиля гггг-ММ-дд чч-мм-сс.zip". Вместо пробелов в шаблоне имени файла наверное лучше использовать подчеркивание: "имяпрофиля_гггг-ММ-дд_чч-мм-сс.zip", или позволить пользователю самостоятельно задать шаблон.

5. Вкладка настроек "Разное": в поля "Папка для временных файлов для отправки изображений" и "Папка для временных файлов для обработки изображений" в портабельном режиме прописывается путь в "%TEMP%", а надо бы что-то вроде "%CONFIG%\temp\sendimg\" и "%CONFIG%\temp\handlemsg\".

6. В окне настроек при нажатии курсором мыши на название вкладки, это же название отображается в заголовке окна настроек в виде "Isotoxin: Настройки / названиевкладки". Однако, если нажать на любую вкладку из группы "Дополнительные", то её название в заголовке окна настроек уже не появится, там остаётся название той вкладки, которая просматривалась ранее.

7. Шрифт в редакторе сообщений и шрифт в чате: по умолчанию желательно поставить размер кегля шрифта хотя бы 14 пунктов, а то мелкий текст трудно читать.

andrew
Posts: 7
Joined: Mon Feb 13, 2017 8:01 pm

Re: Обсуждение Isotoxin'а

Postby andrew » Tue Feb 14, 2017 8:09 pm

8. Окно "Настройка соединения (Tox protocol)": в строке "Порт сервера" стоит 0, нужно ли его менять на какое-либо другое число? Для чего нужна эта настройка?

9. При выборе варианта "Socks 5 proxy" проксируются ли через него запросы к DNS, или же они идут напрямую минуя прокси?

10. При выборе русского языка интерфейса и открытии окна редактора цветов, надписи в окне остаются на английском: "colors", "Preset", "Color", "Apply". Переключение языка интерфейса при открытом окне редактора цветов язык надписей не изменяет. При выборе английского (или шведского) языка интерфейса и открытии окна редактора цветов программа крашится, в папке с программой появляются файлы "Isotoxin.0.4.503.dmp" и "messages.log".

11. Вкладка настроек "Видео": если нет камеры, программа позволяет выбрать в качестве источника видеосигнала по умолчанию только "Рабочий стол". Хотелось бы, чтобы в списке источников был пункт "None" (в qTox имеется), при выборе которого программа не транслировала бы никакого видео вообще, а кнопка видеозвонка была бы неактивна.

12. При выборе в качестве источника видеосигнала камеры предлагается только одно видеоразрешение 640х480, в то время как qTox позволял выбрать и меньшие размеры картинки.

13. При звонке (неважно, я звоню или входящий) проявляется такой косяк: всегда отсутствует воспроизведение речи собеседника в моих наушниках (но сигналы вызова, подтверждения звонка, окончания звонка и т.д., т.е. те звуки, что есть в самой программе, всегда воспроизводятся). Чтобы это исправить, во время звонка открываю вкладку "Настройка звука", выбираю в качестве динамиков вместо устройства по умолчанию другое устройство, например непосредственно тот аудиовыход, куда у меня подключены наушники (если в настройке стояли наушники, то наоборот, выбираю устройство воспроизведения по умолчанию), нажимаю кнопку "Сохранить" и через пару секунд звук появляется. Завершаю звонок. Звоню повторно: звука опять нет. Снова дёргаю настройку, снова звук появляется. Т.е. неважно что выбирать, главное дёрнуть настройку во время звонка. При неактивном звонке передёргивание настройки не помогает. Косяк проявляется как при работе в локалке, так и в инете (в обоих случаях через протокол Tox, другие протоколы пока не проверял). Когда удавалось наладить звук путём передёргивания настройки, само качество этого звука тоже не порадовало. В начале сеанса связи собеседник отмечал, что мой голос как-бы "рассыпается" (продолжается это где-то секунд 5), затем звук стабилизируется, можно слушать, речь более-менее разборчивая, но периодически выпадают отдельные сэмплы или даже звучание прерывается на пару секунд. Канал в инет порядка 2-х мегабит/с. Скайп через этот канал работает нормально, у него звук почти никогда не прерывается. Кстати, в самой программе отсутствуют какие-либо настройки звукового кодека, как то: битрейт, частота или разрядность. Как быть, если я хочу выставить комбинацию параметров: частота 8 kHz, разрядность 8 bit, битрейт 6 kbit/s для аудио с микрофонного входа?

14. Выбираю "Отправить файл" -> "Отправить изображение": открывается окно "Isotoxin: подготовка изображения к отправке". В верхней части этого окна имеются 3 круглые кнопки. Если подвести к каждой из них курсор мыши, появится контекстная подсказка с названием кнопки. У средней кнопки в подсказке присутствуют посторонние символы (квадратики или пробелы) вместо одной или нескольких букв, притом расположение этих мусорных символов периодически меняется, может даже исчезнуть вся надпись, оставив лишь пустой прямоугольник подсказки. Один раз вместо нескольких букв появилась строчка: "face=avpaste rl+S".

15. Открываю окно "О программе", нажимаю кнопку "Проверить наличие обновления", в ответ программа пишет: "Обновление не найдено". Такое сообщение малопонятно, неясно по какой причине оно не найдено (недоступен сервер, отсутствует файл или актуальная версия уже запущена, а новее нет). Лучше показывать сообщение: "У вас актуальная версия программы, обновление не требуется".

Наиболее неприятный косяк - это со звуком, по сути он не позволяет нормально пользоваться программой. Это только у меня одного так?

admin
Site Admin
Posts: 122
Joined: Mon Jan 26, 2015 11:51 am

Re: Обсуждение Isotoxin'а

Postby admin » Tue Feb 21, 2017 7:29 pm

Здравствуйте andrew
Спасибо за отзыв и описание багов. Буду потихоньку разгребать и отвечать тут по мере появления ответов.

1. По умолчанию предлагается в качестве имени профия имя юзера в системе. Обнаружился баг: если имя меньше 6 символов, то происходит выход за пределы массива. В вашем случае это, видимо, проявилось в виде пустого имени. А вообще могло и крашнуться. Вобщем, исправлено.

2. Ok, сделаю этот путь: %CONFIG%\profile\

3. Хм. Вроде делал уже. Видимо не доделал.

4. Сделаю подчерк вместо пробела. Давать настраивать шаблон не вижу смысла. И так многовато настроек. Нужно меру соблюдать :)

5. Я понял, что нужно все папки в портабельном режиме располагать в %CONFIG%. Вобщем то согласен. Так и сделаю.

6. Да, баг. Исправлю.

7. Посмотрю. Если приемлемо, сделаю больше.

8. Это просто tcp порт, который ядро tox начинает слушать. Теоретически это превращает работающий клиент в tcp ноду. Но я не уверен. Просто вынес эту настройку. Видимо нужно как-то перефразировать название этой настройки или вообще убрать, чтобы не смущала.

9. Если речь идет про tox, то это на совести ядра. Насколько я знаю, ядро просто вызывает системную функцию резолва - следовательно запросы минуют прокси. Согласен, это плохо. Пока нет возможности заняться этим вопросом.

10. Редактор цветов пока останется без перевода. Это чисто девелоперский, неудобный, глючный тул. Если уж делать, то делать полноценный редактор тем. Но пока так.

11. А есть ли в этом смысл? Просто не надо делать видеозвонки. Единственный usecase, который приходит на ум - это настроить для бабушки, которая точно не полезет в настройки, чтобы ее лишняя кнопка не смущала. Если да, именно для этого, то сделаю.

12. В принципе, учитывая то, как видео реализовано в ядре, имеет смысл. Наверное. Я подумаю.

13. Со звуком пока затрудняюсь что-то ответить. Планирую через версию заняться переписыванием звуковой подсистемы. Мне там щас многое не нравится, как сделано. Вопрос пока открытый.

14. да, баг. Уже исправил.

15. Хорошо, перефразирую текст. Добавлю другие варианты.

andrew
Posts: 7
Joined: Mon Feb 13, 2017 8:01 pm

Re: Обсуждение Isotoxin'а

Postby andrew » Wed Feb 22, 2017 3:54 pm

Спасибо за ответ.
admin wrote:1. По умолчанию предлагается в качестве имени профиля имя юзера в системе. Обнаружился баг: если имя меньше 6 символов, то происходит выход за пределы массива. В вашем случае это, видимо, проявилось в виде пустого имени. А вообще могло и крашнуться. Вобщем, исправлено.

Да, у меня ряд имён пользователей на машинах двух-трёх символьные. Кстати, в именах могут использоваться не только символы латиницы. Чтоб не крашилось, может имеет смысл использовать для критичных участков кода что-то типа SEH (Secure Exception Handler), правда не знаю, есть ли его аналог на линуксе.
admin wrote:8. Это просто tcp порт, который ядро tox начинает слушать. Теоретически это превращает работающий клиент в tcp ноду. Но я не уверен. Просто вынес эту настройку. Видимо нужно как-то перефразировать название этой настройки или вообще убрать, чтобы не смущала.

Не, убирать настройку не нужно, если ядро позволяет её крутить, то пусть будет. Название можно перефразировать, для p2p-архитектуры традиционная клиент-серверная терминология не всегда подходит. Я вообще полагал, что у tox участник сети по-умолчанию является полноправной нодой (как это сделано, например, в официальном клиенте биткоин, хотя там при желании это можно отключить, ну или заблочить порт в firewall/nat). В идеале, номер порта вообще не должен быть фиксированным, а изменяться каждый раз при запуске программы (можно сделать настройку на выбор: либо статический порт, либо динамический в определенном диапазоне). А исходящие порты по какому принципу ядро выбирает? Может ли ядро привязываться к сетевому интерфейсу с определенным адресом? Например, у меня в компьютере две сетевые карты, у одной есть IPv4, у второй IPv4 и IPv6 (все три адреса разные), я хочу привязать сетевое соединение tox ко второй карте только к адресу IPv6 и только по UDP, это возможно?
admin wrote:9. Если речь идет про tox, то это на совести ядра. Насколько я знаю, ядро просто вызывает системную функцию резолва - следовательно запросы минуют прокси. Согласен, это плохо. Пока нет возможности заняться этим вопросом.

Да, имелось ввиду окно "Настройка соединения". Для скачивания обновлений и словарей программа резолвит dns через прокси?
admin wrote:10. Редактор цветов пока останется без перевода. Это чисто девелоперский, неудобный, глючный тул. Если уж делать, то делать полноценный редактор тем. Но пока так.

Понятно, ну тогда хотя бы сделайте, чтобы программа не крашилась, если открываешь окно редактора цветов при языке интерфейса, отличном от русского.
admin wrote:11. А есть ли в этом смысл? Просто не надо делать видеозвонки. Единственный usecase, который приходит на ум - это настроить для бабушки, которая точно не полезет в настройки, чтобы ее лишняя кнопка не смущала. Если да, именно для этого, то сделаю.

Да, в том числе и для бабушки :). Ну и можно промахнуться, и включить видеозвонок с малознакомым собеседником, случайно протранслировав ему картинку со своего рабочего стола (а вдруг он записывает видеопоток и аудио :) ).
admin wrote:12. В принципе, учитывая то, как видео реализовано в ядре, имеет смысл. Наверное. Я подумаю.

Иногда бывает нужна видеосвязь, но нет желания светить своё лицо в крупном разрешении :)
admin wrote:13. Со звуком пока затрудняюсь что-то ответить. Планирую через версию заняться переписыванием звуковой подсистемы. Мне там щас многое не нравится, как сделано. Вопрос пока открытый.

Хотелось бы иметь возможность задавать параметры аудиокодека, как это сделано для видеокодека, т.е. отдельная вкладка в настройках программы, или выбирать другой аудиокодек. Неплохо бы прикрутить к программе какой-нибудь низкобитрейтный кодек типа iLBC, или из стандарта P-25 (APCO-25) с низкой задержкой порядка десятков микросекунд. По моим опросам, "музыкальная достоверность" передаваемой речи многих людей не интересует, интересует разборчивость, читаемость речи собеседника, отсутствие притыканий, выпадения семплов и кусков слов. Если программа автоматически распознаёт и вырезает паузы в речи (для снижения объёма передаваемых данных), то сделайте эту возможность отключаемой, излишняя пульсация трафика ни к чему. Также бы не помешал софтовый компрессор сигнала (для выравнивания уровней) или АРУ. Если бы программа позволяла проводить связь с качеством звука хотя бы на уровне GSM-стандарта, было бы идеально.
admin wrote:14. да, баг. Уже исправил.

Аналогичный баг нашёл в окне "Isotoxin: Создание аватара".
Last edited by andrew on Wed Feb 22, 2017 6:04 pm, edited 4 times in total.

andrew
Posts: 7
Joined: Mon Feb 13, 2017 8:01 pm

Re: Обсуждение Isotoxin'а

Postby andrew » Wed Feb 22, 2017 5:33 pm

Ещё немного обнаруженных особенностей:

16. Во время звонка статус "Онлайн" переключается в "Отошёл", если не взаимодействовать с компьютером и истекло установленное в настройках время неактивности. Это не очень логично, пусть при начатом звонке будет "Онлайн", а отсчёт времени неактивности начинается после завершения звонка.

17. Настройки программы, вкладка "Разное": галка "Сохранять аватары на диск" - если галка не стоит (по умолчанию не стоит), куда программа сохраняет?

18. Вкладка "Настройка звука": кнопка "Записать тестовые 5 секунд" вроде выполняет запись (внизу окна появляется строчка "Записываем" и бегущие проценты), однако при нажатии кнопки "Проверка динамиков" ничего не происходит, в наушниках слышен лишь тихий одиночный щелчок.

19. В окне "Isotoxin: Свойства контакта" заголовок вкладки "Комментарий" не вмещается в установленную по умолчанию ширину окна, правая его часть получается скрыта границей окна. В английской и шведской локализациях нормально.

20. На вкладке настроек "Уведомления" строчка "Разрешить назойливое поведение при входящем сообщении (перемещать окно на передний план)" также не вмещается в границы окна по умолчанию. В английской и шведской локализациях нормально.

21. В главном окне надписи "Все", "Онлайн", "Без тэга" всегда на русском независимо от выбора языка интерфейса.

22. В списке языков интерфейса локализуемое название языка желательно продублировать нелокализуемым названием на том же языке.

Например, для английского языка интерфейса:

English
Russian (Русский)
Swedish (Svenska)

для русского языка интерфейса:

Английский (English)
Русский
Шведский (Svenska)

для шведского языка интерфейса:

Engelska (English)
Ryska (Русский)
Svenska

и далее по аналогии.

23. В настройках на вкладке "Отладка": при установке галки "Enable telemetry" что посылает программа и куда? Действуют ли на эту опцию настройки прокси?

Желательно бы TLS прикрутить к форуму, а то весь трафик в открытую идёт. Покупать сертификат не надо, есть CA, выдающие их бесплатно, ну или использовать самоподписанный сертификат.

Поздравляю Вас с праздником!

admin
Site Admin
Posts: 122
Joined: Mon Jan 26, 2015 11:51 am

Re: Обсуждение Isotoxin'а

Postby admin » Sat Feb 25, 2017 5:12 pm

16. При активном звонке считать, что юзер активен? В принципе это так, хоть и не всегда. Сделаю. Потом, при необходимости, вынесу в настройки.

17. Если галку снять, автвры на диск не сохраняются. Эта фича только для желающих получить автвры в виде изображений на диске. Как кэш аватары всегда хранятся прямо в профиле.

18. Похоже сломал в одной из последних версий.

19. 20. 21. Исправлю.

22. Да, есть смысл. Сделаю.

23. Это сейчас работает только для lan протокола при видеозвонке. Телеметрия в данном случае - это просто какие-то технические данные, которые выводятся прямо на принимаемое изображение. Я использовал это для отладки. Простому юзеру может быть интресно один раз включить и посмотреть. Оставил в релизе, т.к. в будущем планирую добавить больше инфы и сделать рабочим для других протоколов.

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

andrew
Posts: 7
Joined: Mon Feb 13, 2017 8:01 pm

Re: Обсуждение Isotoxin'а

Postby andrew » Sat Feb 25, 2017 8:41 pm

admin wrote:17. Если галку снять, автвры на диск не сохраняются. Эта фича только для желающих получить автвры в виде изображений на диске. Как кэш аватары всегда хранятся прямо в профиле.

Теперь понятно. Возможно стоит переименовать опцию во что-то вроде "Автоматически экспортировать аватары в папку", во избежание двусмысленности.

admin wrote:23. Это сейчас работает только для lan протокола при видеозвонке. Телеметрия в данном случае - это просто какие-то технические данные, которые выводятся прямо на принимаемое изображение.

В таком случае лучше тоже переименовать, скажем назвать пункт "Отображать техническую информацию на видео (для LAN-протокола)". Термин "телеметрия" всё-таки предполагает передачу живых данных или статистики на удалённый хост (или получение их оттуда).

Shota
Posts: 20
Joined: Fri Sep 02, 2016 9:30 am

Re: Обсуждение Isotoxin'а

Postby Shota » Thu Mar 30, 2017 3:56 pm

Приветствую, не знаю на сколько сейчас часто admin обитает на форуме, но!
Версия 0.4.503

1. plghost.exe перезагружается, если нет контактов в онлайне.
И это ужасно не удобно в условиях использования на флешке(портабл). В одном месте подключился - брандмауэр, в другом аваст, в третье ещё что-то, а сохранять постоянное правило - нет смысла. Поведение очень дебильное.

2. В новой версии появилось "Folder shares - you can share any folder to your friend", как это работает? Поверх чего? Шифрование?

3. isotoxin съедает "именно" последние слова(не отправляет) при аудио разговоре. ку-мю токсы таким не грешат.
3.1. Звук от собеседника может волшебным образом пропасть, но собеседник продолжает тебя слышать. Решается только новым звонком.
3.2. Звук от собеседника может уйти в правый или левый канал, решает полным перезапуском и до сих пор не понятно как в mono такое вообще может быть.
3.3. Почему нельзя добавить в чат информацию о том, когда звонок начался и когда закончился(с информацией о длительности).
3.4. Как в режиме занят\отошёл с выключены звуковым сопровождением, включить звуковое уведомление о конце разговора?
3.5. Создаём групповой разговор, создаём разговор с ещё кем-то. При переключении с группового на одного - активироваться будет или тот или другой, а нельзя предусмотреть паузу(имеется ввиду звук\мик.)? Ведь мне нужен в данный момент один разговор, но с возможность чата в групповом(к примеру).

4. Показ картинок в чате отключён, уже не первый раз пишу. Но всё равно их подгружает в чат при переключении с контакта_на_контакт. Последней каплей стала гифка в 50мб, которая воспроизводилась в окне чата.
4.1. Кнопка, которая должна открыть папку с файлом, каждый раз открывает папку в новом(отдельном) окне. А т.к. напрямую открыть файл из isotoxin нельзя, прокликав по всем файлам(10 шт.) открыто будет 10 окон, 10 ОКОН ПРОВОДНИКА.

5. Цитирование\копирование во время активного диалога могут вызвать краш всего isotoxina.
5.1. Цитирую текст собеседника, который содержит цитату с моим текстом. И такая цитата оформляет как текст, написанный от лица собеседника.

6. При перезапуске isotoxina при условии нескольких аккаунтов в одном профиле. Контакт листы всех аккаунтов будут в открытом виде и не важно, свёрнуты они были до этого или нет. Это крайне не удобно.
6.1. Пора бы уже добавить кратки список контактов. Без аватаров\подписей\ещё чего-то. Просто список ников.

Хотелки:
7. Когда уже появится возможность вводить свой список НОД?
8. Нормальный поиск, найти что-то при запросе " я на завтра " не возможно. Найдёт все предложения с "я" "на" "завтра", при том найдёт слова "знал" "нельзя" и прочее.
8.1. При выходе из поиска - чат не возвращается в стандартное положение. т.е. его приходится скролить в самый низ.
9. Кнопки "добавить контакт\групповой чат" занимают очень много места, можно их куда-то убрать\перенести?
9.1. Кнопка "отправить файл" из той же серии, ширины поля ввода и так не хватает.
10. Не хватает возможности замУтить собеседника, иногда отдельный собеседник может изрядно строчить(о своей нелёгкой жизни) и пиликанье\кряканье достаёт. А отключение всех звуков\уведомлений для всех контактов не желательно.
11. Я не уверен, но достаточно ли, при использовании своей темы, наличие файла "dark2.decl" т.е. будут ли подхвачены(из стандартных файлов) недостающие "back.png" "struct.decl" и например строчка "text_appname=#какой-то цвет"? Каждый раз смотреть изменения, при обновлении, нет желания.
11.1. Можно как-то вынести из "struct.decl" fonts {...} отдельно? Чтоб не прописывать каждый раз, при обновлении, свой тип шрифтов? Сейчас приходится сравнивать файлы "struct.decl" "dark2.decl и dark.decl" при каждом обновлении.

п.с. tox теперь используется намного чаще, т.к. скайп ушёл полностью в pidgin для очень крайних случаев текстового общения, поэтому проблем при использовании isotoxin стало побольше. щупая периодически qtox в linux - isotoxin выглядит намного перспективнее\удобнее\лучше ИМХО


Return to “Developer online”

Who is online

Users browsing this forum: No registered users and 1 guest

cron