MyChat 8.15 — великий service pack

  1. MyChat для Windows
  2. MyChat для Android
  3. MyChat для iOS
  4. Оновлення сервера MyChat
  5. Всі зміни загальним списком + історія розробки
  6. Як оновитися на останню версію?

1. MyChat для Windows


Змін досить багато, тому коротко розповімо про головні.

В основному вікні чату можна змінювати розмір шрифту за допомогою Ctrl+колеса мишки. Зручно прокручувати вміст вікна чату з клавіатури — Ctrl+Up/Down.

Зробили налаштування для заборони збереження історії конференцій та приватів у локальній базі даних, а також інструмент для повного видалення текстових протоколів, історії конференцій та приватів у локальній базі даних MyChat Client як окремо, так і "разом":

Налаштування MyChat Client 8.15

Якщо завантаження історії у вікні чату вимкнено або є заборона збереження історії в локальній базі, у чаті про це показується повідомлення. Якщо клацнути на ньому, то відкриються налаштування програми:

Завантаження історії MyChat Client 8.15

Коли ви користуєтеся інструментом перегляду історії переміщень користувача, а GPS-координат ще немає або передача даних на смартфоні вимкнена, показується плашка, де написано про це. За кліком відкривається довідка:

Геопозиція в MyChat Client 8.15

Для тих, хто користується FAR Manager або Total Commander зробили відправлення файлів у чат (конференції або привати) з командного рядка: mcclient.exe /sendfile.

У конференціях та приватах тепер є контекстне меню "Текст", "Очистити вікно" (Ctrl+Del) для миттєвого очищення видимого вмісту вікна чату.

Додано повідомлення про онлайн-користувачів у чаті, зроблено toast-повідомлення.

Пошук користувачів (Alt+F) став "розумнішим", можна шукати кирилицею та латинськими літерами, наприклад "Юлія" або "Julia", програма зрозуміє запит правильно і видасть потрібні результати.

Запрацював інструмент для зміни теми конференції в MyChat Client (ПКМ діалогах конференцій (Ctrl+2) або клік на трикрапці/назві конференції, "Змінити", "Тему").

Ширину правої інформаційної панелі в чаті (Ctrl+/) тепер можна міняти:

Ширина панелі в MyChat Client 8.15


2. MyChat для Android


У новій версії з'явилися налаштування для заборони збереження історії конференцій та приватів у локальній базі даних.

По тапу на аватарці користувача у конференції, якщо є права, можна відкрити розділ адміністрування (бан, блокування, відключення від сервера, звільнення).

Зробили кнопки видалення історії приватів та конференцій з локальної бази даних у налаштуваннях.

Виправили велику кількість помилок та недоліків.


3. MyChat для iOS


MyChat Client для iPhone та iPad оновлюється постійно, в основному ми "дотягуємо" функціонал до рівня програми під Android з урахуванням специфіки iOS, а також постійно виправляємо знайдені помилки та недоробки.

Функціонал MyChat Client для iOS трохи відстає, але розрив планомірно скорочується від версії до версії.


4. Оновлення сервера MyChat


Додали ключ командного рядку сервера /MIXER=NO для налагоджувальних цілей, а також зробили параметр stun-only=true у custom-конфігурації STUN/TURN, якщо треба використовувати лише STUN-сервери, а не TURN для дзвінків.

В правах додали правило для дозволу доступу до інструменту перевірки доступності портів в адмінці, а сам інструмент для перевірки доступності сервера з Інтернету перенесли в розділ "Інструменти".

Додали також правило для блокування надсилання повідомлень у конференції, щоб певним користувачам можна було надсилати повідомлення у конференції, а решті — тільки читати.

Дуже сильно переробили інструмент імпорту фотографій користувачів з домену по LDAP, збільшено швидкість роботи, зроблено систему "розумного" кешування. Особливо добре показує себе на великих серверах із великою кількістю користувачів.

Оптимізували інструмент масових змін облікових записів користувачів (Адмінка, "Користувачі", "Список користувачів").

Зробили кешування мініатюр зображень у пам'яті для прискорення "віддачі" клієнтам у конференціях.


5. Всі зміни загальним списком + історія розробки


Історія розробки версії з коментарями розробників

MyChat Client

[+] якщо в правах заборонена відправка повідомлень у конференції, то в чаті закривається блок інтерфейсу для вводу та відправки повідомлень, і показується повідомлення в нижній частині чату;
[+] тепер можна змінювати ширину правої інформаційної панелі в чаті (Ctrl+/);
[+] (Web) (Linux) (Mac) додана обробка скриптової команди mSetRemoteClientCurrentPlaceID;
[+] інструмент для зміни теми конференції в MyChat Client (ПКМ діалогів конференцій (Ctrl+2) або клік по трьом крапкам/назві конференції, "Змінити", "Тему");
[+] (Android) в налаштуваннях додані кнопки видалення історії приватів і конференцій із локальної бази даних;
[+] (Android) додане опрацювання налаштувань для вимкнення збереження історії на клієнті з шаблону налаштувань;
[+] консольна команда purge backups/caches ;
[+] контекстне меню в конференціях и приватах, "Текст", "Очистити вікно" - Ctrl+Del, для миттєвого очищення видимого змісту вікна чату;
[+] (Android) налаштування для заборони зберігання історії конференцій та приватів у локальній базі даних;
[+] (Android) додано парсинг типу повідомлення "Бан";
[+] (Android) за тапом на аватарці користувача в конференції, якщо є права, можна відкрити розділ адміністрування (бан, блокування, відключення ві сервера, звільнення і т. д.);
[+]ключ командного рядку mcclient.exe /sendfile для відправлення файлу в конференцію чи приват;
[+] Alt+С — очищення стилю виділеного тексту в інструменті відправлення форматованого тексту (Alt+T);
[+] (iOS) налаштування для заборони збереження історії конференцій та приватів у локальній базі даних;
[+] налаштування для заборони збереження історії конференцій та приватів у локальній базі даних;
[+] інструмент для повного видалення текстових протоколів, історії конференцій та приватів у локальній базі даних MyChat Client, як окремо так і все одразу;
[+] Ctrl+"колесо миші верх/вниз" змінює розмір тексту в чаті;
[+] Ctrl+Up/Down прокручує зміст вікна чату, так як ви робили б це мишкою;

[*] (Web-chat) якщо клієнту прийшов шаблон налаштувань з вимкненим збереженням історії приватів чи конференцій, то після втрати зв'язку повністю очищуэться выкно чату;
[*] (Android) при вимкненому збереженні історії тепер також не зберігається список діалогів;
[*] установник MyChat Client тепер автоматично визначає мову локалізації;
[*] спрощений варіант установки MyChat Client тепер не задає питань, а одразу запускається, з'єднується із сервером та автоматично реєструє користувача;
[*] автоматичний установник клієнтської програми з лобі сервера навчився ігнорувати зайві символи в своїй назві, якщо дистрибутив завантажується повторно і браузер додає в кінець назви файлу індекс копії;
[*] більш інтелектуальний пошук користувачів (Alt+F), можна шукати кирилицею та латиницею, наприклад, "Юлія" чи "Julia", програма зрозуміє запит і правильно видасть потрібні результати;
[*] (Android) при вимкненому налаштуванні "Зберігати ітсорію приватів" чи "Зберігати історію конференцій", при втраті зв'язку з сервером автоматично буде закриватися активний чат, а списки діалогів або конференцій будуть сховані. Також з'явиться інформаційне повідомлення, чому списків немає;
[*] дороблені повідомлення про онлайн-користувачах у чаті, зроблені toast-повідомлення;
[*] покращена технологія дзвінків у складних мережах, використовуються протоколи TCP і UDP, перевага надається UDP;
[*] якщо координат для перегляду GPS-переміщень користувача немає або передача даних на смартфоні вимкнена, то в клієнті показується плашка, де написано, що в історії координат ще немає. Клік відкриває відповідний розділ Довідки;
[*] (Linux)(macOS)(WEB) в повідомленні про прочитання сповіщення пишеться ім'я користувача, котрий прочитав це повідомлення;
[*] клік по банеру активного дзвінка у верхній частині вікна MyChat автоматично переключає на приват з цією людиною;
[*] якщо завантаження історії у вікно чату вимкнена або є заборона на збереження історії у локальній базі, в чаті про це показується повідомлення. Якщо клікнути на ньому, то відкриються налаштування програми;
[*] якщо увікнути налагоджувальний режим консольною командою debug on, то в файлі вхідного трафіку записується ще й розпакований варіант повідомлень, якщо він був стиснутий GZIP (помітка "unpacked data");
[*] якщо через якусь причину не вдається залити або завантажити файл чи зображення на сервер, то в консолі показується помилка з описом, чому операція не вдалась з посиланням на довідку для вирішення проблеми;

[-] (Android) неправильно працювала кнопка перемикання між особистим та загальним списком контактів, якщо особистий список був пустий, додаток падав з помилкою. Виправлено;
[-] виправлена робота фільтрів у діалогах (Ctrl+1), конференціях (Ctrl+2) і сповіщеннях (Ctrl+4). Неправильно працювала прокрутка колесом мишки, якщо в списках були відфільтровані дані;
[-] (iOS) не працювало додавання нового та зміна вже доданого сервера в мастері. Виправлено;
[-] в MSI-дистрибутив не был включен файл WebView2Loader_x86.dll, исправлено;
[-] (Support) в повідомленні про перенаправлення діалогу писались імена користувачів з використанням основного шаблону, а не того, що вказаний у налаштуваннях веб-підтримки. Виправлено;
[-] якщо відправити файл у чат, а потім видалити оригінал, а потім знову завантажити файл із сервера на свій комп'ютер, ПКМ на файлі в чаті не показувало меню Провідника, програма рахувала, що файл не завантажений. Виправлено;
[-] (Android) якщо на вхідний відео-дзвінок відповідати голосом, відео все рівно вмикалось. Виправлено;
[-] неправильно вставлявся форматований текст, якщо розмір шрифта в чаті змінений, не робиться resize. Виправлено;
[-] кліки по лінкам в цитатах не працювали. Виправлено;
[-] коректно формуються відображення імен для користувачів Web-підтримки, якщо вони налаштовані не так, як у основному чаті;
[-] (Android) після невдалої спроби підключення на екрані логіну текст помилки перекривався сервісним повідомленням. Виправлено;
[-] не працював клік на посиланнях у повідомленнях з форматованим текстом. Виправлено;
[-] Ctrl+I при введенні форматованого тексту працювало неправильно, виділений текст очищався і вставлявся символ табуляції. Виправлено;
[-] помилка при відправленні форматованого тексту, якщо в процесі редагування обирати для кольору фона чи тексту "Automatic". Виправлено;
[-] (Android) на пристроях із версією Android до 8.1 інколи час у чаті відображається у 12-годинному форматі. Виправлено;
[-] не працював пункт контекстного меню "Тільки онлайн" в дереві контактів (Ctrl+3). Виправлено;
[-] при ініціалізації дзвінка передавались тільки STUN адреси, а UPD адреси не встановлювались. Виправлено;
[-] (iOS) після виходу з облікового запису, на сторінці логіну з'являлась помилка через деякий час. Виправлено;
[-] (Android) некоректно працювала команда видалення історії, вимагався примусовий перезапуск клієнта. Виправлено;
[-] (iOS) якщо в обліковий запис був виконаний вхід одночасно з iOS і будь-якого іншого типу додатку, неможливо було почати дзвінок не на iOS. Виправлено;
[-] контекстне меню у розділі Консоль (Ctrl+`) "Відкрити файл протоколу" не працювало. Виправлено;

MyChat Server

[+] (MSL) функція mGetUserTotalUnreadPrivateMessagesCount для отримання сумми непрочитаних приватних повідомлень у всіх діалогах;
[+] ключ /debug для сервера MyChat для увімкнення режиму розширеного протоколювання;
[+] правило для блокування відправки повідомлень у конференції;
[+] ключ сервера /MIXER=NO;
[+] параметр stun-only=true в custom-конфігурації STUN/TURN, якщо потрібно використовувати лише STUN-сервери, але не TURN;
[+] правило для розширення доступу до інструменту перевірки доступності портів у адмінці;

[*] (Admin) відображення технічних повідомлень під час перегляду протоколів конференцій;
[*] кешування мініатюр зображень в пам'яті для прискорення "віддачі" клієнтам в конференціях;
[*] в інсталяторі сервера і клієнта тепер вказується номер версії установника;
[*] (Admin) в інструменті для бекапу бази даних сервера доданий розмір файлу бекапа ;
[*] (MSL) функція mConvertMsgToPlainText "навчилась" розуміти типи повідомлень MSG_TYPE_LAN_LINK та MSG_TYPE_ANY_LINK;
[*] зменшений мережевий таймаут при підключенню до домену з 60 до 5 секунд. В локальній мережі цього більш ніж достатньо, не потрібно довго чекати, якщо IP контролера домену вказали невірно або служба AD LDS вимкнена;
[*] якщо при імпорті користувачів із домену немає з'єднання з LDAP сервером, то показується мережева помилка, наприклад #10060;
[*] знано прискорена процедура масових змін облікових записів користувачів;
[*] перероблений імпорт фотографій користувачів із домену по LDAP, збільшена швидкість роботи;
[*] інструмент для перевірки доступності сервера з інтернету перенесений у розділ "Інструменти";
[*] якщо на сервері неправильно налаштовані IP-фільтри + увімкнено bind конкретної IP адреси, а не обрано "слухати всі", то при натисканні кнопки "Адміністрування" не виходило відкрити адмінку з інтерфейсу сервера. Допрацьовано;
[*] (Integration API) при відправленні помилки з'єднання із сервером рветься не одразу, а через 1 секунду, що дає можливість опрацювати помилку на віддаленому хості;
[*] (Integration API) при отриманні помилки в JSON-відповідь додаються два посилання на російську та англійську довідки;

[-] помилка ID: 21C643BD, могла виникнути при оновленні зі старих версій 5.xx ("no such table: cuids"). Виправлено;
[-] (Admin) у розділі "Конференції" - "Модератори" значення UID відображалось як "undefined". Виправлено;
[-] (Kanban) для проекту, у якого встановлений "повний доступ" в його налаштуваннях, використовувався стандартний набір прав, замість прав, котрі назначені для групи прав підключеного користувача. Виправлено;
[-] помилка ID: BFE826C5, інколи виникала при створенні мініатюр зображень в повільних мережах або при дуже великих навантаженнях. Виправлено;
[-] (Admin) після змін, включення чи вимкнення custom menu потрібний був перезапуск сервера, щоб клієнтські додатки "побачили" зміни;
[-] (Admin) в інструменті перегляду історії повідомлень неправильно корегувався час за UTC. Виправлено;
[-] помилка імпорту користувачів із домену. З часом накопичувались дублікати даних і процес імпорту вимагав усе більше часу. Виправлено;
[-] при імпорті користувачів із домену інколи виникала помилка "Out of memory" через дуже великий розмір пакету фотографій імпортованих користувачів. Виправлено;
[-] якщо змінюємо ти авторизації користувача на доменну, нік автоматично переводиться у lowercase;
[-] якщо створювати користувача в адмінці, встановити ФИО, то до перезапуску сервера на клієнті не можна було знайти цього користувача в інструменті пошуку Alt+F. Виправлено;
[-] (WEB) не працювали дзвінки через помилку формування ICE серверів. Виправлено;
[-] (Kanban) при вході в канбан на новому сервері без проектів не відображається кнопка "Створити проект". Виправлено;
[-] при прочитанні сповіщення з підтвердженням (Ctrl+F9) система могла неправильно підрахувати кількість тих, хто прочитав, якщо вони знаходились в мережі з декількох пристроїв одночасно. Виправлено;
[-] (Integration API) при виникненні помилки про вимкнутий Integration API в команду-відповідь не писалась оригінальна команда (evocator). Виправлено;
[-] на сервері в розділі "Інструменти", "Шаблони налаштувань" можна було вибрати в спадаючому списку шаблон "MyChat Default Options Set". Виправлено.

6. Як оновитися на останню версію?


І комерційна, і безкоштовна версії оновлюються однаково. Спочатку оновлюється сервер, потім — клієнти. В цілому, в автоматичному режимі.

Інструкція щодо оновлення MyChat

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