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

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