MyChat 7.4 — многоадресные сообщения и видео в форуме

  1. Многоадресные приватные сообщения
  2. Перенаправление разговоров между людьми
  3. Вставка видео в форум
  4. Улучшения в интерфейсе MyChat Client
  5. Шифрование баз данных
  6. Обновление чата WEB-поддержки на сайт
  7. Новые функции скриптового движка
  8. Разные полезности
  9. Все изменения общим списком + история разработки
  10. Как обновиться на последнюю версию?

1. Многоадресные приватные сообщения


В MyChat уже давно работает инструмент для отправки оповещений (Ctrl+F9). Он удобен и надёжен. Однако в оповещениях нельзя вести диалог, как в обычном приватном разговоре.

Поэтому, по просьбам наших клиентов, мы сделали инструмент для многоадресных приватных сообщений (Alt+F9). Выделяете несколько людей в списке контактов мышкой с зажатой клавишей Ctrl или Shift и отправляете приватное сообщение:

Многоадресные приватные сообщения в MyChat Client 7.4

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

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

Готовые списки людей в оповещениях MyChat

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


2. Перенаправление разговоров между людьми


Операторы чата поддержки на сайте часто сталкиваются с ситуацией, когда разговор с клиентом надо "перебросить" на другого, более компетентного в каком-то вопросе сотрудника. Писать человеку "Иван Иванович, перелогиньтесь!" негуманно, поэтому мы сделали инструмент "Перенаправить диалог" (F6):

Перенаправление диалога в MyChat 7.4

Если это посетитель с сайта, то показываем список операторов WEB-чата, кому можно передать разговор. А если обычный пользователь MyChat (так тоже можно) — то всех зарегистрированных пользователей, за исключением WEB Guests и заблокированных учётных записей:

Перенаправление диалога в MyChat 7.4

После этого диалог у оператора закрывается, на сайте у посетителя "бесшовно" меняется оператор, а у другого оператора поддержки открывается диалог с этим человеком.

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


3. Вставка видео в форум


Встроенный в MyChat форум часто используют в качестве базы знаний для сотрудников. Там размещают инструкции, документацию, разные технологические how-to, договоры и тому подобные вещи, потому что в форуме это все легко разнести по темам в виде дерева с быстрым поиском.

В версии 7.4 мы добавили вставку видеофайлов в форум. Ролики заливаются на сервер, физически размещаются на нём же, никаких кодеков для проигрывания не нужно, современные браузеры проигрывают это видео самостоятельно. Размер видео не ограничен, проигрываются они в потоковом режиме.

Форум в MyChat 7.4

Вы можете сгенерировать HTML-ссылку на тему и передать её другому человеку:

Презентация записи на форуме в MyChat 7.4

Для просмотра ссылки не надо никаких прав, она будет показана в read-only режиме:

Презентация записи на форуме в MyChat 7.4


4. Улучшения в интерфейсе MyChat Client


Внешний вид главного окна теперь разделён на три основные части: слева — списки контактов, посредине — тексты чатов, справа — список людей конференции или информация о пользователе в приватном диалоге:

Презентация записи на форуме в MyChat 7.4

Мы оптимизировали скорость прорисовки общего и личного списка контактов в фильтрах, если контактов больше нескольких сотен. Теперь торможений нет, поиск работает плавно.

Убрали вертикальный сплиттер в конференциях и приватах, теперь высота окна ввода для текста рассчитывается автоматически. Как только текста становится много, окошко "разъезжается" по вертикали:

Сплиттер текста в MyChat 7.4

Сделали multi-select пользователей в общем и личном списках контактов с Ctrl и Shift, чтобы быстро отправлять им оповещения и многоадресные приватные сообщения по ПКМ:

Multi-select пользователей в MyChat 7.4

Заменили отдельные пункты контекстного меню для разворачивания и сворачивания групп контактов на один — "Открыть/свернуть группы" (клавиши "/" и "*" на цифровой клавиатуре):

Сворачивание групп в MyChat 7.4

Уменьшили нагрузку на процессор почти до нуля в системе контроля рабочего времени. Это особенно важно в терминальных сессиях когда клиенты работают одновременно на одном Windows-сервере.

Разрешили удалять дату своего рождения в профиле (Alt+U). Специально для тех, кому есть что скрывать ;) Достаточно очистить поле с датой (Del) и нажать на кнопку "Ok" или "Применить".

Убрали панель дополнений в правой части окна, функция включения/выключения звука в программе назначена на комбинацию Shift+F5, а отключение режима прозрачности для главного окна MyChat Client — на Shift+F8:

Настройка звука в MyChat 7.4

Функцию вставки ссылки на файл или папку в локальной сети убрали из-за очень медленного обзора сети и частых зависаний. Всё то же самое можно сделать с помощью инструмента вставки ссылки (Alt+L):

Вставка ссылок в MyChat 7.4

Инструмент "понимает", если у вас в буфере обмена находится ссылка на WEB или локальный ресурс (\\COMPUTER\sharedresource), и автоматически подставляет их в окно:

Вставка ссылок в MyChat 7.4

В это же окно добавили вызов Проводника для обзора сети. А если в буфере обмена находится ссылка на локальный сетевой ресурс, то при нажатии Ctrl+V, Shift+Ins или ПКМ->"Вставить" будет автоматически вызвано окно вставки ссылки.

Сделали настройки для переназначения "горячих" клавиш для звонков и разворачивания окна чата на весь экран:

Горячие клавиши в MyChat 7.4


5. Шифрование баз данных


Для MyChat Client мы используем базу данных SQLite. Она очень надёжна, быстра и занимает немного места. Но есть недочёт — она открыта для посторонних глаз. Если файлы баз данных получат "не те" люди, они смогут прочитать историю переписки.

Поэтому, в версии 7.4 мы "прикрутили" автоматическое шифрование баз данных MyChat Client. Скопировать базы можно, но прочитать, что же внутри — уже не получится:

Шифрование баз данных в MyChat 7.4

Конвертация баз данных происходит автоматически при обновлении до новой версии, незаметно для пользователя.


6. Обновление чата WEB-поддержки на сайт


Чат поддержки на сайт можно настроить для работы во фрейме (IFRAME):

Чат поддержки на сайт во фрейме в MyChat 7.4

Код для вставки на сайт теперь не надо вставлять в HTML-страницу каждый раз, когда вы меняете настройки инструмента, всё "подтягивается" автоматически:

Настройки чата поддержки на сайт во фрейме в MyChat 7.4

В версии 7.4 можно указать время, спустя которое открытый диалог будет автоматически закрыт, если пользователь с сайта долго ничего не пишет.


7. Новые функции скриптового движка


Как обычно, в каждой версии мы расширяем возможности MyChat Script Language на сервере.

В MyChat 7.4 появились функции mGetConfTopic и mGetConfPassword для получения тем и паролей текстовых конференций по UID, а также набор функций для работы с файлами и папками: GetDirectoriesAndFiles, MoveFile, CopyFile, CreateFolder, DeleteFolder, FolderExists.


8. Разные полезности


В MyChat для Android клиентские ошибки отображаются в специальном меню снизу экрана (Snackbar) вместо всплывающего сообщения (Toast). Они кликабельны, ведут в справку:

Клиентские ошибки в Андроид-версии MyChat 7.4

В админке, в IP фильтрах теперь можно разрешить или запретить доступ к MyChat Server из Linux, macOS, встроенного форума, управления проектами Kanban и сервиса MyChat Guest.

В дистрибутив сервера, помимо русской, включается ещё и английская справка, которая открывается в зависимости от текущей выбранной локализации.

Улучшили импорт пользователей из домена. К сожалению, в AD нет стандартного поля "отчество", и администраторы часто пишут полное ФИО или его варианты в поле displayName. Поэтому, MyChat при импорте пользователя из домена пытается достать отчество из поля displayName, при условии, что имя ("givenName") и фамилия ("sn") точно указаны в профиле.

А если из-за небрежности администратора, имя, фамилия или отчество введены в домене с маленькой буквы, то MyChat при импорте исправит этот момент, и втащит пользователя в базу, как нужно.

Сделали консольную команду "hwid" для получения HardwareID устройства, на котором сейчас запущен MyChat Client.

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

Переделали функцию создания резервных копий баз данных сервера. В момент создания бекапа сервер закрывает работу со всеми своими базами, копирует их в папку C:\ProgramData\MyChat Server\db\temp\ и восстанавливает соединение с базами.

После этого сервер архивирует содержимое temp-папки в ZIP-файл и удаляет её. Таким образом, удалось уменьшить задержки при активной работе пользователей с сервером, если резервная копия нужна "прямо сейчас" либо сервер активно используется круглые сутки, а базы данных — большого размера и резервная копия создаётся долго.

Убрали из настроек FTP файлового сервера IP адрес для внешних клиентов, начали использовать для этого IP адрес или DNS имя сервера для внешних клиентов из основного раздела сетевых настроек.

Сделали новый инструмент для выполнения консольных команд в админке сервера — Terminal:

Инструмент Terminal для выполнения консольных команд в MyChat 7.4


9. Все изменения общим списком + история разработки


История разработки версии с комментариями разработчиков

MyChat Client

[+] базы данных MyChat Client теперь шифруются;
[+] настройки для переназначения "горячих" клавиш для звонков и разворачивания окна чата на весь экран;
[+] новый инструмент для отправки многоадресных приватных сообщений (Alt+F9);
[+] консольная команда "hwid" для получения HardwareID устройства, на котором сейчас запущен MyChat Client;
[+] инструмент для перенаправления пользователей в приватном чате;

[*] убрана функция "Вставить", "Ссылку", "Файл или папка в локальной сети". Доработана функция вставки в чат произвольных ссылок (\\, http://, https://, ftp://, file://);
[*] в файл mcdomain.reg для настройки прозрачной доменной авторизации теперь можно добавить параметр "Secured" для включения или отключения шифрования на клиенте;
[*] приложение MyChat Client теперь запоминает, какое окно было активно перед тем, как переключились на него, чтобы вернуть фокус обратно, когда его свернут в трей по Esc или кнопкой закрытия окна;
[*] убрана панель дополнений в правой части окна;
[*] функция включения/выключения звука в программе назначена на комбинацию Shift+F5;
[*] Shift+F8 — отключить режим прозрачности для главного окна MyChat Client;
[*] убрана настройка для открытия приватных диалогов из панели контактов и списка пользователей в конференциях одинарным кликом мышки. Связано с появлением multi-select пользователей в панели контактов;
[*] при отправке файлов в конференциях и в приватах, расположенных на сетевых ресурсах, получатель видел прямую ссылку на этот файл. Исправлено;
[*] возможность удаления даты рождения в своём профиле (Alt+U);
[*] уменьшена нагрузка на процессор почти до нуля в системе контроля рабочего времени;
[*] изменена компоновка главного окна, слева — списки контактов (общий или личный), посредине — окно чата, справа — список пользователей конференции или информация о пользователе, если открыт приват;
[*] убран вертикальный сплиттер в конференциях и приватах, теперь высота окна ввода для текста рассчитывается автоматически;
[*] если в общем списке контактов выбрать пользователя и добавить его в личный список контактов — чат автоматически переключается на новый добавленный контакт в личном списке;
[*] multi-select пользователей в общем и личном списке контактов. Можно отправлять оповещения, многоадресные приватные сообщения и приглашать в конференции всех отмеченных пользователей;
[*] отдельные пункты контекстного меню для разворачивания и сворачивания групп контактов заменены одним — "Открыть/свернуть группы" (клавиши "/" и "*" на цифровой клавиатуре);
[*] значительно увеличена скорость отрисовки общего и личного списка контактов в фильтрах, если контактов больше нескольких сотен;
[*] (Mac,Linux) при приеме файлов напрямую, если принимающая сторона не может принять файлы, по какой-либо причине — отправляется сообщение в приват об этом;
[*] (Android) теперь клиентские ошибки отображаются в специальном меню снизу экрана (Snackbar) вместо всплывающего сообщения (Toast). Они кликабельны, при нажатии ведут в справку;

[-] (Android) на версиях Android 8.1 и выше могла не работать передача и скачивание файлов и изображений. Исправлено;
[-] настройка "Файлы", "Переименовывать файлы-дубликаты при приёме, не перезаписывая поверху" работала некорректно при передаче файлов напрямую между клиентами, дубликаты переименовывались не всегда. Исправлено;
[-] если пользователь получил оповещение с файлами, установлена настройка для автоматической загрузки файлов из входящих оповещений, а файлов от отправителя он ещё не разу не получал, MyChat Client зависал. Исправлено;
[-] не появлялось всплывающее уведомление о входящем сообщении в конференции, если окно конференции открыто в чате, а сам чат не в фокусе либо свёрнут в трей. Также не мигала иконка в трее и кнопка на панели задач, хотя звуковое уведомление работало. Исправлено;
[-] (Console Messenger) не работала отправка сообщения в конференцию в консольной утилите mcconsole.exe. Исправлено;
[-] (setup) проблема с автоматическим инсталлятором MyChat Client, скачанным со своего сервера. Иногда установка могла начаться не в профиль пользователя, а в Program Files. Исправлено;
[-] если перейти в поле поиска общих контактов в главном окне, а затем кликнуть мышкой на одной из групп общего древовидного списка контактов, открывалась всегда первая группа. Исправлено;
[-] исправлена сортировка в окне истории приватных разговоров (в пределах суток самые новые — выше всех в списке);
[-] в окне истории не появлялись свежие записи о новых диалогах до перезапуска программы. Исправлено;
[-] проблема с зависанием MyChat Client при открытии приватного диалога. Исправлена;
[-] проблема с зависанием MyChat Client при открытии приватного диалога. Исправлена;
[-] если нажать ПКМ на непрочитанное сообщение и закрыть диалог, иконка в трее продолжала мигать до перезапуска программы, даже если непрочитанных диалогов больше не оставалось. Исправлено;
[-] при клике на всплывающем окошке в трее или на мигающей иконке, если есть входящее приватное сообщения, окно чата открывалось, но не переключалось на этот приват. Исправлено;
[-] ошибка рендеринга общего списка контактов, иногда не попадали в список блоки вложенных подразделений, если их много. Исправлено;
[-] (Android) критическая ошибка при попытке выбрать сервер, у которого в названии были символы "". Исправлено;
[-] исправлена ошибка при выборе сообщения в ниспадающем списке входящих оповещений, исправлена;
[-] ошибка в рендеринге оповещений, если они были созданы с минимальным интервалом, например, скриптом (разница по времени создания меньше секунды), не появлялись кнопки "Предыдущее" и "Следующее". Исправлена;
[-] (Mac,Linux) не подчитывалась история переговоров в конференциях после потери/восстановления соединения. Исправлено;
[-] исправлены ошибки в просмотре истории отправленных и полученных оповещений (проблемы конвертации UTC <=> local time) для пользователей и сервера из разных часовых поясов;
[-] при поиске пользователей (Alt+F) в первой позиции выдавалась запись с UIN=-1. Исправлено;
[-] (Mac, Linux) не отображалась ошибка о несовместимости версии клиента и сервера. Исправлено;
[-] (Android) ошибка вылета программы в мастере серверов на устройствах под управлением Android 4.2, Android 4.3. Исправлено;
[-] (Android) на устройствах под управлением Android 4.2, Android 4.3 в сообщениях отображались символы начала строки (L$). Исправлено;

MyChat Server

[+] (MSL) функция mGetConfTopic для получения темы текстовой конференции по её идентификатору;
[+] (MSL) функция mGetConfPassword для получения пароля текстовой конференции по её идентификатору;
[+] (Forum) добавлена вставка локальных видео;
[+] (Admin) настройка для ограничения максимального размера заливаемых на сервер файлов. По умолчанию — без ограничений;
[+] (Admin) новый инструмент для выполнения консольных команд в админке сервера — Terminal;
[+] (MSL) функция FolderExists для проверки существования папки на диске;
[+] (MSL) функция CopyFile для копирования файла из одной папки в другую;
[+] (MSL) функция CreateFolder для создания папки со вложенными подпапками на диске;
[+] (MSL) функция DeleteFolder для удаления папок вместе с их содержимым;
[+] (MSL) функция GetDirectoriesAndFiles для получения списка папок и файлов из указанного каталога;
[+] (MSL) функция MoveFile для переноса файла из одной папки в другую;
[+] (Admin) в веб-поддержке добавлена настройка "Показать чат-поддержки во фрейме";
[+] (Admin) в IP фильтрах теперь можно разрешить или запретить доступ к MyChat Server из Linux, macOS, встроенного форума, управления проектами Kanban и сервиса MyChat Guest;

[*] при импорте пользователей из CSV файла в базу данных MyChat Server, если пол человека не указан, сервер попытается определить его автоматически;
[*] (Admin) добавлено автоматическое сохранение соответствий полей пользователей при импорте из Active Directory.
[*] убрали из настроек FTP файлового сервера IP адрес для внешних клиентов, начали использовать для этого IP адрес или DNS имя сервера для внешних клиентов из основного раздела сетевых настроек;
[*] улучшена функция создания резервной копии баз данных сервера;
[*] импорт пользователей из CSV-файла: пароль пользователя, подразделение в общем списке контактов (с вложенностью, через символ "\");
[*] автоматический импорт отчества пользователя из домена, используя поле "displayName";
[*] при импорте пользователей из домена сервер автоматически делает первую букву в фамилии, имени и отчестве — заглавной;
[*] в дистрибутив сервера теперь, помимо русской, включается ещё и английская справка, которая открывается в зависимости от текущей выбранной локализации;
[*] (Core) механизмы контроля количества регистраций с одного IP, MAC и HardwareID теперь учитывают только попытки регистрации, но не логинов;

[-] (Admin) если в управлении пользователями сменить подразделение или должность пользователя, а затем перегрузить сервер, все возвращалось назад, как будто бы изменения в базу не записывались. Исправлено;
[-] (Admin) раздел "Управление правами", в навигации по дереву правил с клавиатуры, текущий элемент отображался пустым и нельзя отметить "галочку". Пока эта навигация отключена, чтобы не ломала интерфейс;
[-] (Admin) если "дропнуть" пользователя ниже дерева, где ничего нет, то контакты визуально схлопывались до перезагрузки страницы. Исправлено;
[-] (Admin)в инструменте "Резервное копирование", если нажать "Полная очистка всех данных", а потом "Отмена" — выдавало сообщение, что все данные были удалены. Исправлено;
[-] (Core) при удалении пользователей не удалялись соответствующие приватные диалоги. Исправлено;
[-] (Suport) неправильно отображалось время сообщений, при загрузке из истории. Исправлено;
[-] (Support) двойная отправка сообщения тапом по иконке "Отправить" в чате в браузерах под iOS. Исправлено;
[-] (Admin) при удалении должности в админке, если в базе данных нет ни одного пользователя, возникала ошибка. Исправлено;
[-] (Admin) при вставке из буфера обмена текста (мышкой) в поля профиля пользователя, не появлялся диалог для сохранения изменившихся данных. Исправлено;
[-] при обновлении сервера со старых версий главная конференция с UID=1 могла автоматически переименоваться в "main". Исправлено;
[-] (Core) не работала система восстановления учётных записей с MyChat Client из-за того, что при регистрации новых пользователей данные про секретный вопрос и ответ игнорировались. Исправлено;
[-] (Core) если удаляли пользователя, то он не удалялся из группы WEB-поддержки. Исправлено;
[-] (Support) если посетитель веб-поддержки попробует возобновить связь с оператором, которого удалили из списка операторов, получает ошибку без возможности подключиться к другому оператору группы. Теперь будет выбран другой, существующий оператор. Исправлено;
[-] (Core) при обновлении со старых версий (5.xx) в общем списке контактов могли появляться шаблонные названия групп, которые не отображались в админке, но были видны на клиентах. Исправлено;
[-] (Forum) при подписке либо отписке на уведомления в форуме требовались права администратора. Исправлено;
[-] (Forum) при редактировании сообщения менялось имя создателя на имя пользователя, кто его изменил. Исправлено;
[-] (Forum) при создании сообщения на форуме — у других пользователей, которые находятся на форуме, оно появлялось в любой теме. Исправлено;
[-] (Forum) ошибка удаления корневых подразделений (List index out of bounds). Исправлена;
[-] (MyChat Guest) ошибка авторизации пользователей, система требовала, чтобы отправитель приглашения был в группе пользователей Web поддержки на сайт. Исправлено;
[-] (Support) неправильная ошибка №115 отображалась, при потере соединения, и не давало показать правильную ошибку. Исправлено.

10. Как обновиться на последнюю версию?


И коммерческая, и бесплатная версии обновляются одинаково. Сначала обновляется сервер, затем — клиенты. В основном, в автоматическом режиме.

Инструкция по обновлению MyChat

Служба поддержки