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

Для перегляду WEB-сторінки не потрібно ніяких прав, вона буде показана в 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 під час відкриття приватного діалогу. Виправлено;
[-] якщо було ввімкнене налаштування "Автоматично переключатися на вхідні повідомлення" і "Показувати вікно чату поверх усіх вікон при отриманні нового повідомлення в приваті" в розділі "Події", інформація про відправника і його фотографія не перемальовувались. Виправлено;
[-] якщо натиснути ПКМ на непрочитані повідомлення і закрити діалог, іконка в треї продовжувала блимати до перезапуску програми, навіть якщо непрочитаних повідомлень більше не залишалось. Виправлено;
[-] якщо клікнути на спливаюче вікно в треї або на блимаючій іконці, якщо є вхідне приватне повідомлення, вікно чату відкривалось, але не переключалось на цей приват. Виправлено;
[-] помилка рендеру загального списку контактів, інколи не потрапляли в список блоки вкладених підрозділів, якщо їх багато. Виправлено;
[-] (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;

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

[-] (Admin) якщо в управлінні користувачами змінити підрозділ або посаду користувача, а потім перезавантажити сервер, все поверталося назад, ніби зміни в базу не записувались. Виправлено;
[-] (Admin) розділ "Управління правами", в навігації по дереву правил з клавіатури, поточний елемент відображався пустим і неможна відмітити "галочку". Поки що ця опція відключена, щоб не ламала інтерфейс;
[-] (Admin) "Користувачі", "Загальний список контактів", якщо "дропнути" користувача нище дерева, де нічого немає, то контакти візуально зхлопувались до перезавантаження сторінки. Виправлено;
[-] (Admin) в інструменті "Резервне копіювання", якщо натиснути "Повне очищення даних", а потім "Відміна" — видавало повідомлення, що всі дані були видалені. Виправлено;
[-] (Core) при видаленні користувачів не видалялись відповідні приватні діалоги. Виправлено;
[-] (Support) неправильно відображався час повідомлень при завантаженні з історії. Виправлено;
[-] (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

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