- Новая схема нумерации версий
- Изменение схемы лицензирования, снижение цен
- Голосовые конференции в Android, Linux и macOS
- Полные списки людей в конференциях
- Перехват событий управления проектами Kanban в скриптах
- QR-коды в админке для быстрого входа в чат на мобильных устройствах
- Как запретить подключение к серверу чата из Android или iOS?
- Сервер стал быстрее, уменьшен расход трафика
- Разные полезности
- Все изменения общим списком + история разработки
- Как обновиться на последнюю версию?
1. Новая схема нумерации версий
Решение назревало долго, общая схема похожа на ту, что использует компания JetBrains. Простой пример, как было, как стало, и почему стало лучше :)
Было: версия 8.15.1.14. Мажорная версия 8, минорная — 15, релиз номер 1, сборка 14. О чём это говорит обычному человеку? Наверное, эта версия лучше, чем 7.14, потому что это же аж целая 8-я версия. И лучше, чем 8.14, потому что туда что-то разработчики накрутили, но не сильно много, потому что первая цифра не изменилась.
Стало: 2023.1.0.17. Слева-направо:
- 1 число — год выпуска;
- 2 число — номер версии в пределах этого года;
- 3 число — номер минорной версии, например, технический баг-фикс;
- 4 число — номер сборки, всегда увеличивается, после Нового Года обнуляется.
Как минимум, понятности стало больше, порядка — тоже.
2. Изменение схемы лицензирования, снижение цен
В MyChat уже больше десяти лет есть система подписки на обновления и техническую поддержку (с версии 4.15, выпущенной в 2012 году). Это полезная и нужная вещь, которую ценят и используют наши клиенты.
Начиная с 2023 года, все устаревшие серверы, владельцы которых по тем или иным причинам не хотят или не могут их обновлять — поддерживаться не будут. Также для них будут отключены PUSH-сообщения в Android/iOS приложениях.
Если на сервере нет актуальной подписки на обновления — он не перестанет работать, но переключится в режим "read-only", без возможности отправки новых сообщений. История и настройки сохранятся.
Если в вашей компании просрочена подписка на обновления MyChat — не беда, вы можете продлить её за половину стоимости до весны, в течение января и февраля 2023 года.
Не затягивайте, проконсультируйтесь с нашей службой поддержки.
3. Голосовые конференции в Android, Linux и macOS
Мы запускаем аудио-конференции в бета-режиме, пока что они доступны для Android, Linux и macOS-клиентов.
Начать групповой звонок можно из контекстного меню конференции (для десктопных клиентов):
Или из выпадающего меню списка пользователей в мобильном клиенте:
Сразу после начала звонка появится панель управления, из которой можно завершить групповой звонок или просто отключиться от разговора. Групповой звонок завершается автоматически, когда из него выходит последний участник.
В чате есть уведомление про то, что групповой звонок начинается или закончен:
На Android во время разговора можно видеть список всех участников группового звонка, включен ли у них микрофон и кто разговаривает в данный момент:
Чтобы настроить, кому можно создавать, подключаться и заканчивать звонки — перейдите в админку сервера, в раздел управления группами прав. По умолчанию права на конференц-звонки есть у всех пользователей MyChat.
4. Полные списки людей в конференциях
Это решение назревало уже несколько лет. Многие наши клиенты удивлялись, почему в конференциях видно только онлайн-пользователей. Ведь там есть и другие сотрудники, которые включаются туда автоматически или заходят сами, но сейчас не в сети.
Было бы правильно видеть их там, даже если эти пользователи сейчас офлайн. Ведь они увидят все сообщения, когда подключатся.
Причин, почему этого не было раньше, две: особенности дизайна, что идёт ещё от IRC-систем и технические сложности, связанные с большой нагрузкой на сервер, если конференций много, а людей, подключенных к серверу — от нескольких сотен и больше. Всё-таки MyChat — это система реального времени.
Теперь списки людей в конференциях выглядят так (Ctrl + /):
В нижней части — офлайн-пользователи, сортировка по алфавиту, с серым статусом. В верхней — онлайн-пользователи, сортировка тоже по алфавиту, на первой позиции — всегда вы. Список людей автоматически корректируется, когда меняются статусы (офлайн/в сети/не беспокоить/нет на месте).
Мы уже пару месяцев пользуемся — стало лучше :)
5. Перехват событий управления проектами Kanban в скриптах
Теперь можно "отлавливать" события на канбан-досках и добавлять туда свою логику или просто подавлять их, если нужно.
Например, отправлять уведомления в свою CRM-систему, формировать email, писать дополнительные протоколы и так далее.
Описание событий и примеров использования есть в официальной справке.
6. QR-коды в админке для быстрого входа в чат на мобильных устройствах
К нам обратились несколько клиентов с похожими просьбами. Суть такая: администратор заводит на сервере пользователей, они затем входят в систему и меняют свои пароли, согласно корпоративной политике безопасности. Посмотреть их пароли администратор не может (они хранятся в базе в виде хеш-функций). А настроить мобильные приложения надо.
Заставлять сотрудников качать приложения из маркетов, вводить адрес/порт сервера, свою учётку и пароль, конечно, можно. Или научить их сканировать QR-код в Windows-приложении. Но это не всегда возможно.
А вот зайти браузером в WEB-админку MyChat, раздел управления пользователями, и кликнуть мышкой по кнопке QR-кода для сотрудника можно всегда:
Он сам возьмёт в руки свой смартфон и всё сделает в пару движений. Адреса сервера (основной и резервный), порты, логин, пароль, пароль на подключение к серверу — всё пропишется автоматически.
Экономия времени и нервов людей — налицо.
7. Как запретить подключение к серверу чата из Android или iOS?
Поскольку по умолчанию вход на чат-сервер открыт для всех типов приложений, то пользователи могут сами установить приложение на свой смартфон и войти в чат, отсканировав QR-код в MyChat Client для Windows, например. Это удобно, но может создавать проблему исчерпания лицензий.
Чтобы дать администраторам больше контроля, мы сделали в правах групп пользователей на сервере дополнительный раздел, в котором можно ограничить подключения к чат-серверу из разных операционных систем:
Это легче и быстрее, чем ограничения с помощью скриптов, как делали некоторые наши клиенты в предыдущих версиях MyChat. Хотя скриптами можно сделать более гибкие решения, вроде ограничения по времени и тому подобную сложную логику.
8. Сервер стал быстрее, уменьшен расход трафика
Часто многие изменения не видны "сверху", но от них зависит стабильность и скорость работы системы в целом. Поэтому мы почти 6 месяцев занимались внутренними оптимизациями сервера. Итог — более чем в 10 раз уменьшился исходящий трафик сервера, особенно это заметно при большом количестве онлайн-пользователей и многопользовательских конференций.
Эти технические решения также значительно ускорили процесс первичного логина пользователей, особенно это заметно после перезапуска сервера в рабочее время, когда все сотрудники онлайн. Нагрузка на сервер в этих ситуациях снижена в несколько раз.
Также внедрено адаптивное время для переподключения MyChat Client после разрыва соединения:
- сначала время реконнекта — 15 секунд, последующие неудачные попытки будут делаться больше на 10-15 секунд, чтобы снять нагрузку с сервера, если соединение не получилось именно по этой причине;
- если кликнуть на сообщении — коннект происходит мгновенно (как в консольной команде connect), а таймаут выставляется в 15 секунд, как в самом начале, если всё прошло нормально и связь восстановилась;
- настройка таймаута убрана из клиента, а также из шаблонов настроек на сервере и ini-файлов настроек клиента для экспорта/импорта.
Множество команд для обмена данными между сервером и клиентом оптимизированы, чтобы уменьшить их физический размер ради экономии трафика.
9. Разные полезности
В MyChat Client для iOS сделали отображение статусов пользователей ("в сети", "офлайн", "не беспокоить" и "нет на месте").
В MyChat для Windows теперь можно отключать видимость встроенного робота Elisa в автосоздаваемых конференциях. Физически робот всё равно там есть, но некоторых людей он раздражает :) Так что, если надо — то можно:
В админке переделали рендеринг консольных команд и добавили кое-что полезное:
В Android-версии теперь можно отправлять файлы и фотографии через системное меню "Поделиться".
10. Все изменения общим списком + история разработки
История разработки версии с комментариями разработчиков
MyChat Client
[+] (iOS) в списке чатов добавлено отображение статусов пользователей;
[+] (win32) настройка для отключения рендеринга встроенного робота (Elisa, uin=0) в списках пользователей автосоздаваемых конференций чата;
[+] (win32) теперь в конференциях показывается полный список людей, которые входят в неё, а не только онлайн-пользователи;
[+] (win32) фильтр пользователей в конференциях;
[+] (win32) типы сортировок пользователей в конференциях;
[+] (win32) ключ командной строки mcclient.exe /minimize — свернуть окно MyChat Client на панель задач сразу после запуска;
[+] новая схема нумерации версий;
[+] (Android) в контекстном меню файла добавлен пункт сохранения файла в папку "Загрузки";
[+] (iOS) добавлена возможность удаления аккаунта, если у пользователя для этого есть права.
[*] (win32) переделана схема автоматического переподключения к серверу при разрыве соединения;
[*] (win32) переделан формат параметров в командной строке MyChat Client;
[*] (Android)полностью переработана система работы с файлами в приложении, теперь поддерживается передача любых файлов на новых операционных системах (Android 10+), выбор файлов и изображений теперь осуществляется через системный файловый менеджер, с предпросмотром содержимого, сортировками и навигацией по папкам;
[*] (iOS) добавлен рендеринг некоторых типов сообщений;
[*] (iOS) расширено логгирование пуш-уведомлений для отладки;
[-] (win32) исправлены утечки памяти в процессе работы программы, которые иногда приводят к ошибкам после завершения работы приложения;
[-] (win32) если выбрать через главное меню "Справка" пункт про установку приложения для Android/iOS, то в важных уведомлениях (Ctrl+4) пункт не подсвечивался. Исправлено;
[-] (win32) глюк с двойным кликом на диалогах (приваты/конференции), фокус снимается и переходит куда-то в другое место, если в настройках отключено автоматическое закрытие диалогов по double click. Исправлено;
[-] (Android) исправлена отправка изображений через меню "Поделиться" из других приложений, также добавлена возможность отправлять таким образом файлы любого типа;
[-] (win32) если открыть приват с пользователем, в настройках отключено хранение сообщений в локальной базе данных, полностью удалить приватную историю командой с сервера, а затем снова открыть приват с этим же человеком — сообщения оставались в памяти, индексы сбивались, ситуация исправлялась после реконнекта или перезапуска программы. Исправлено;
[-] (Android) не открывался диалог с Elisa из списка пользователей конференции. Исправлено;
[-] (Android) исправлена загрузка файлов, в названии которых есть пробелы;
[-] (Android) при заливке файла на сервер, в конференции не отображался процесс загрузки и расчета контрольной суммы. Исправлено;
[-] (Android) не работала настройка "Запускать MyChat после перезагрузки", если отключены PUSH-сообщения. Исправлено;
[-] (iOS) неправильно работало удаление сообщений. Исправлено;
[-] (iOS) некорректно отправлялись символы "«" и "»". Исправлено;
[-] (iOS) иногда индикатор новых событий на панели навигации показывал неправильное количество. Исправлено;
[-] исправлены утечки памяти при работе со структурами данных;
[-] (Android) на некоторых версиях Android не происходил тест портов TURN-сервера, из-за чего звонок не начинался. Исправлено;
MyChat Server
[+] (Core) автоматический перезапуск сервера через 30 секунд после возникновения любой фатальной ошибки, с сохранением протоколов;
[+] (Admin) консольная команда "list" для получения полного списка всех доступных консольных команд с короткими текстовыми описаниями;
[+] (Admin) в управлении пользователями, в профиле пользователя и в списке онлайн-юзеров можно получить QR-код для быстрого подключения к серверу с помощью Android или iOS-приложения MyChat;
[+] функции MSL для обработки канбан-событий;
[+] возможность заблокировать подключение к серверу из разных операционных систем по группам прав;
[*] (Core) оптимизации сервера для ускорения работы с конференциями, особенно если их много и с большим количеством пользователей;
[*] (Admin) автоматические отступы в текстовом поле для вывода консольных команд для лучшей читаемости;
[-] ошибка при изменении типа авторизации пользователя, если тип учётной записи — не доменная, исправлено;
[-] (Admin) если не нужно менять размер изображения, при загрузке фотографии в профиле пользователя, не вызывалась отправка фото на сервер. Исправлено;
[-] исправлены утечки памяти при работе со структурами данных;
[-] если удалять сообщения в конференции в админке под пользователем, который не находится в указанной конференции, то сообщения удалялись на сервере, а на клиенты команда удаления не отправлялась, что приводило к рассинхронизации данных. Исправлено;
[-] исправлена ошибка импорта и обновления пользователей из домена;
[-] если попытаться пригласить пользователя в конференцию, в которой вы сами не находитесь, сервер отправлял не то сообщение об ошибке. Исправлено.
11. Как обновиться на последнюю версию?
И коммерческая, и бесплатная версии обновляются одинаково. Сначала обновляется сервер, затем — клиенты. В основном, в автоматическом режиме.
< <<<===== | =====>>> > |
---|