MyChat 8.12 — GPS трекінг у корпоративному чаті

  1. Перегляд історії переміщень на карті
  2. Інструмент для звільнення користувачів
  3. Різні корисності
  4. Всі зміни загальним списком + історія розробки
  5. Як оновитися на останню версію?

1. Перегляд історії переміщень на карті


Тепер всі мобільні додатки MyChat вміють відправляти свої GPS координати на сервер. Це регулюється правами груп на сервері, технологію можна відключити.

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

Можна задавати діапазон часу для перегляду координат, обирати, які типи пристроїв дивитися (Android або iPhone). Також показується остання відома точка, де був користувач:

GPS в MyChat

За замовчуванням координати відправляються в момент отримання вхідних PUSH-повідомлень, або за запитом, але не частіше, ніж це зазначено в налаштуваннях сервера (за замовчуванням — раз в 15 хвилин).

Також у скриптовому движку додана функція mGetGeoPosition для примусового запиту широти і довготи певного онлайн-пристрою.

Для показу карти потрібен доступ в інтернет і Windows 10 з останніми оновленнями, оскільки для рендеринга карти використовується вбудований в систему движок Chrome-Edge.


2. Інструмент для звільнення користувачів


Раніше, коли в компанії звільнялася людина, її обліковий запис блокували, треба було вручну видалити його з усіх списків контактів, груп і налаштувань. З деяких списків взагалі видалити не можна було, наприклад, з особистих контактів.

Зараз це робиться одним натисканням кнопки на користувача в будь-якому місці чату — в діалогах, контактах, конференціях, в публічному чаті (потрібні права, що дозволяють звільнення співробітників):

Звільнення користувача в MyChat

Це працює і на сервері, в адмінці, в управлінні користувачами (відразу кілька людей за раз), та у профілях користувачів, у розділі "Робота":

Звільнення користувача на MyChat Server

Звільнення користувача на MyChat Server через профіль

  • користувач відключається від сервера, якщо він онлайн, від сервера відключаються всі його пристрої;
  • блокується обліковий запис;
  • користувач видаляється із загального списку контактів;
  • особисті списки контактів цього користувача видаляються;
  • користувач видаляється з усіх особистих контактів інших користувачів;
  • користувач видаляється з усіх груп (загальних і особистих);
  • користувач видаляється з усіх приватних діалогів в клієнтських додатках інших людей.


3. Різні корисності


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

Таким чином вийшло досягти максимальної гнучкості.

Якщо у вікні інформації про користувача в публічному чаті (панель праворуч, Ctrl + /) занадто довгий текст, то при наведенні мишки він миттєво показується в хинті. Хінт автоматично зникає через 3 секунди:

Хінт в полі інформації про користувача в MyChat Client

Для Android-додатків допрацювали дошку оголошень, тепер там працює підсвічування лінків, телефонів і адрес електронної пошти. На екрані створення оповіщень додані кнопки "Вибрати всіх", "Інвертувати" і "Очистити", щоб можна було швидше вибрати одержувачів масових оповіщень.

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


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

MyChat Client

[+] (Android) на екрані створення сповіщень додані кнопки "Вибрати всіх", "Інвертувати", "Очистити";
[+] система GPS-трекінгу користувачів (поки Android, iOS скоро буде);
[+] інструмент звільнення користувачів, вмикається правами на сервері;

[*] "Ctrl" + "3" у вікні чату тепер чергує переключення між загальними та особистими контактами, якщо вони дозволені правами;
[*] якщо у вікні інформації про користувача занадто довгий текст, то при наведенні мишкою від одразу показується у хінті. Хінт автоматично зникає через 3 секунди;
[*] якщо після застосування шаблону налаштувань із сервера в клієнті змінити будь-які налаштування, то при наступному підключенні до сервера шаблон буде примусово застосований знову;
[*] (Android) на дошці оголошень додано підсвічення лінків, номерів телефону, email;

[-] (Android) на пристроях з Android 8.0 (API 26) додаток завершував роботу під час запуску сканера штрих-кодів. Виправлено;
[-] якщо видалити своє повідомлення у конференції, потім переключитись на інший чат і потім повернутись в початкову конференцію, то в загальному вікні з повідомленнями відображався порожній рядок. Виправлено;
[-] (iOS) у вхідних повідомленнях не завжди відображалося ім'я користувача. Виправлено;
[-] (Android) у вхідному сповіщенні неправильно оброблювалась стать користувача, через що у рядку прочитання формулювання завжди було у середньому роді. Виправлено;
[-] (Android) при переключенні між різними серверами (без очищення програми з пам'яті), якщо на них є користувачі з однаковими UIN, неправильно відображались імена користувачів. Виправлено;
[-] виправлена помилка завантаження шаблону налаштувань із сервера, якщо на момент застосування пресету клієнт був не в мережі;
[-] клік по лінкам на дошці оголошень (Ctrl+F12) не працював. Виправлено;
[-] при вставці форматованого тексту (Alt+T), якщо між забарвленими блоками тексту були пробіли, вони ігнорувались. Виправлено;
[-] інколи, якщо користувач був модератором конференції та був залогінений з декількох пристроїв одночасно, то у списку користувачів конференції малювався чорним кольором (як звичайний користувач), а не червоним. Це також впливало на доступність контекстного меню для функцій адміністрування. Виправлено;
[-] при додаванні завдання у Канбан-проект (Alt+K) дата дедлайну ставилась невірно. Виправлено;
[-] видалення повідомлень у конференціях працювало некоректно, навіть якщо у вікні видалення поставили галочку "Видалити для всіх", повідомлення все рівно видалялось у всіх учасників конференції. Виправлено;
[-] (macOS)(Linux)(WinAlternative) при переключенні на оффлайн-користувача під час дзвінку виклик завершується. Виправлено;
[-] [-] (macOS)(Linux)(WinAlternative) при підключенні на альтернативну адресу сервера, використовувалась неправильна IP адреса для завантаження файлів і перегляду зображень. Виправлено;
[-] (iOS) виправлені випадки, коли список конференцій ставав порожнім;
[-] (iOS) після зміни облікового запису не очищувався список конференцій. Виправлено;
[-] (Android) не працювало перемикання між основною та альтернативною адресою сервера. Виправлено;
[-] (iOS) неправильно розраховувався розмір файлів. Виправлено;
[-] (iOS) інколи неправильно працював лічильник непрочитаних діалогів на значках навігації. Виправлено;

MyChat Server

[+] технологія звільнення користувачів, працює в адмінці, управління користувачами (відразу декілька користувачів за раз) і в профілях користувачів у розділі "Робота";
[+] консольна команда "remove gpshistory" для очищення історії gps-переміщень чату з серверної бази даних;
[+] (MSL) функція mGetGeoPosition для запиту широти та довготи онлайн-пристрою користувача (Android або iOS);

[*] (Kanban) при натисканні на плюсик у заголовку етапу завдання буде додаватись в цей етап, а не перший;
[*] (Kanban) в адресному полі завжди буде писатись ідентифікатор проекту для копіювання лінка;
[*] (Kanban) все дати та час в управлінні проектами переведені в UTC;
[*] система кешування груп прав для прискорення підключення великої кількості користувачів;
[*] в деяких випадках під час імпорту користувачів із домену не вдавалось сформувати загальний список контактів на основі їх дерева підрозділів. Процедура імпорту допрацьована;

[-] (Kanban) при додаванні нової картинки через редагування завдання, це зображення не відображалося у картці завдання після збереження. Виправлено;
[-] при custom-налаштуванні STUN/TURN серверів для дзвінків ігнорувався параметр listening-port, порт завжди був рівним 8888. Виправлено;
[-] при видаленні користувача з сервера не видалялись особисті групи, що йому належать, а також записи з загальних та особистих груп, в яких перебував цей користувач. Виправлено;
[-] якщо видалити користувача з сервера, то цей обліковий запис не видалявся із особистого списку контактів, якщо вона там була. Виправлено;
[-] сервер не повертав інформацію у приватне вікно для зареєстрованих користувачів за списком (COMPUTER_NET_NAME, IP_ADDRESS, MAC_ADDRESS, ROLE и других). Виправлено;
[-] помилка відправки статусів знову підключених до сервера користувачів, інколи в список онлайн-користувачів могли попадати ті облікові записи, котрі вже встигли відключитися від сервера. Виправлено;
[-] (Admin) якщо зайти в управління користувачами, редагування профілю, закладка "Робота" і змінити підрозділ для облікового запису — сервер повисав. Виправлено;
[-] (MSL) функція mGetUserGroupsListAsJSON працювала неправильно, повертала всі загальні групи, а не тільки те, в яких знаходиться користувач. Виправлено.

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


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

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

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