MyChat 2023.1 — beta audio conferences, new versioning scheme

  1. New version numeration scheme
  2. Changing licensing policy, price reduction
  3. Voice conferences in Android, Linux, macOS
  4. Full lists of conference members
  5. Intercepting events with scripts in Kanban projects
  6. QR codes in Admin Panel for quick entering into the chat on mobile devices
  7. How to forbid connection to the chat server from Android or iOS?
  8. The server became faster, reduced traffic consumption
  9. Various improvements
  10. Full list of changes + development history
  11. How to update to the latest version?

1. New version numeration scheme


We thought about this solution a long time ago. A common scheme is similar to what is used by JetBrains company. A simple example of how it was and how better it is now :)

Was: a version 8.15.1.14. A major version is 8, a minor is 15; the release number is 1, and the build is 14. How a regular person can interpret it? Perhaps, this version is better than 7.14, because it's a whole 8 version. And it's better than 8.14 because developers did something but not a lot as the first number did not change.

Now: 2023.1.0.17. From left to right:

  • number 1 — release year;
  • number 2 — version number within a current year;
  • number 3 — minor version, for example, a technical bug fix;
  • number 4 — build date. This number increases until the end of the year.

As a result everything looks more convenient and neat.


2. Changing licensing policy, price reduction


For more than 10 years there is a system for updating subscriptions and support in MyChat (starting from 4.15, released in 2012). This is a useful and required thing used by our customers.

Starting from 2023, all outdated servers, whose owners can't update them for various reasons, will not be supported. Also, PUSH messages for Android and iOS applications will be disabled for such servers.

If there is not relevant update subscription on the server, it continues its work but only with a limitation for 20 concurrent connections MyChat. The settings and history remain the same.

If you company has an expired subscription, do not worry — you can prolong it for half price until spring, during January and February of 2023.

Do not postpone this, and consult with our support team.


3. Voice conferences in Android, Linux, macOS


We are launching audio conferences in beta mode. This feature is only available yet for Android, Linux, and macOS clients.

Start a group call via a conference context menu (for desktop clients):

Starting a group call in MyChat

Or from a drop-down user list in a mobile client:

MyChat menu in Android

Right after the call starts, the management panel displays where you can end a group call, or disconnect from the conversation. A group call ends automatically as soon as the last member leaves.

A group call in MyChat

There is a notification in the chat indicating a call start and finish:

Group call features in MyChat

In MyChat for Android, you can view the list of all group call members: if their microphone is on, and who is the current speaker:

Group call in MyChat, list of members

To configure access for creating calls, connecting and ending them — go to Admin Panel, to the section of permission groups. By default, all MyChat users have the right to perform conference calls.


4. Full lists of conference members


A lot of our users were confused, about why only online members are visible in a conference. There are other offline teammates who also connected automatically or enter manually.

It would be reasonable to display them too even if they are offline. They will also see all the messages after the connection.

There are two reasons why we did not make it before: design peculiarities dealing with IRC systems, and technical complexity dealing with a large load on the server when there is a lot of conferences with a couple of hundreds of users. After all, MyChat is a real-time system.

Not the lists of conference members look like this (Ctrl + /):

Conference members in MyChat

At the bottom are offline users sorted by alphabet and highlighted in gray. At the top — online users are sorted by alphabet too. The first position is always you. The list of users is automatically corrected when statuses change (offline/online/do not disturb/away).

We have been using it for a couple of months and find it convenient :)


5. Intercepting events with scripts in Kanban projects


Now it is possible to "catch" events on the Kanban board and add your own logic or suppress them if necessary.

Scripts for Kanban on MyChat Server

For example, send notifications to your CRM system, create emails, write additional protocols, etc.

Description of events and examples are in the official Help.


6. QR codes in Admin Panel for quick entering into the chat on mobile devices


A couple of users requested this option. The point is an administrator register users on the server, then they enter the system and change their passwords according to the corporate privacy policy. An administrator can't view their passwords (they are stored in a database as hash functions), but he needs to set up mobile applications.

He can force employees to download applications from markets, and enter a server's address/port, own account, and password. Or he can teach them to scan a QR code in a Windows application. But it is not always possible.

Another option is to enter the Admin Panel via a browser, open the section for user management, and click on a QR code button:

QR code in MyChat user's profile on MyChat Server

A person takes his phone and does everything on their own. A server's address (main and backup one), ports, login, password, and connection password for the server — these all are written automatically.

Time and mental health saving feature.


7. How to forbid connection to the chat server from Android or iOS?


As entering the chat server is open for all application types by default, users can install an application on their phones and enter the chat by scanning a QR code in MyChat Client for Windows, for example. This is convenient but can cause the problem of connection exhaustion.

To give administrators more control, we added a special section in the users' rights groups on the server where they can limit connections to the chat server from various operating systems:

Limiting users' right on MyChat Server

It's simplier and faster than limitation with scripts in previous MyChat versions. Although, scripts allow making more flexible solutions like time limitations and other complicated logic.


8. The server became faster, reduced traffic consumption


Usually, most changes are not visible but important for the system's stability and speed. That is why we have been optimizing the server for the last 6 months. As a result, we reduced outcoming traffic consumption by more than 10 times. It is noticeable when having a big number of users and conferences.

These technical solutions speed up the process of users' first login, especially after the server restart during working hours when all employees are online. The load on the server is reduced for such cases.

We have also implemented an adaptive time for reconnecting MyChat after disconnection:

MyChat reconnection

  • initial reconnect time is 15 seconds. Repeated unsuccessful attempts will be made later, in +10-15 seconds, to relieve the load from the server if the connection failed for this exact reason;
  • If you click on the message, the connection is made instantly (as in the console command "connect"), the timeout is set to 15 seconds, as at the very beginning;
  • the timeout setting has been removed from the client, settings templates on the server, and client settings INI files for export/import.

most of the commands for data transfer between the server and client are optimized to reduce their physical size for traffic saving.


9. Various improvements


In MyChat Client for iOS you can see user's statuses ("online", "offline", "do not disturb", and "away").

In MyChat for Windows you can disable visibility for a built-in bot Elisa in auto-created conferences. The bot is still there physically, and sometimes it annoys people, so if you want to make it disappear, here you go:

Settings MyChat Client

Redesigned rendering on Admin Panel for console commands, and added something useful too:

Console in MyChat Server

Send files and photos in MyChat for Android via the menu item "Share".


10. Full list of changes + development history


Development history with developers' comments

MyChat Client

[+] (iOS) (iOS) added user statuses in the chat list;
[+] (win32) settings for disabling rendering for the built-in bot (Elisa, uin=0) in the user lists of auto-created conferences in the chat;
[+] (win32) conferences display a full list of members, not only online ones;
[+] (win32) user filer in conferences;
[+] (win32) user sorting types in conferences;
[+] (win32) a command line key mcclient.exe /minimize — minimize MyChat window to the taskbar right after the launch;
[+] (win32) new version numeration scheme;
[+] (Android)added menu item for saving a file to the folder "Downloads";
[+] (iOS) added the option for account deletion if a user has sufficient rights;

[*] (win32) redesigned scheme of automatic reconnection to the server after disconnection;
[*] (win32) redesigned format of parameters in MyChat command line;
[*] (Android) completely redesigned system for working with files in the application. Now it supports transferring any files on the latest operating systems (Android 10+). Select files and images via a system file manager, preview the content sorted in folders;
[*] (iOS) added rendering for some message types;
[*] (iOS) extended logging of PUSH notifications for debugging purposes;

[-] (win32) fixed memory loss when the program is in the working process. The losses cause errors after the program shuts down;
[-] (win32) main menu, "Help", when choosing the menu item about installing the application on Android/iOS, then this item does not highlight in the important notifications(Ctrl+4). Fixed;
[-] (win32) a bug when double clicking on dialogues (private/conferences); a focus switches somewhere if automatic dialogue closing is off in the settings. Fixed; [-] (Android) fixed sending images via the menu option "Share" in other applications. Added the option to send files of any type via "Share";
[-] (win32) if open a private dialogue with a user with disabled history in a local database, and then delete the whole private history by using a server command and open a private dialogue with this person again the messages remain in memory, indexes get messed up. The issue fixes after the program reconnection or restart. Fixed;
[-] (Android) the dialogue with Elisa does not open from the list of conference users. Fixed;
[-] (Android) fixed issue when downloading files that contain spaces in titles;
[-] (Android) when uploading a file on a server, there is no upload indication and checksum calculation displayed in a conference. Fixed;
[-] (Android) the setting "Restart MyChat after reboot" does not work when PUSH notifications are disabled. Fixed;
[-] (iOS) incorrect deleting of messages. Fixed;
[-] (iOS) incorrect display for "«" and "»" symbols. Fixed;
[-] (iOS) sometimes the indicator for new events on the navigation panel displays the incorrect number. Fixed;
[-] fixed memory leaking when working with data structures;
[-] (Android) some Android devices do not perform ports test for the TURN server which causes the call failure. Fixed;

MyChat Server

[+] (Core) automatic server restart after 30 seconds after any fatal error. Logs included;
[+] (Admin) a console command "list" for getting a full list of all available console commands with short text descriptions;
[+] (Admin) when managing users, in a user's profile, there is a QR code for quick connection to the server via Android or iOS application for MyChat;
[+] MSL functions for processing Kanban events;
[+] added the option to block connections to the server from various operating systems according to Rights groups;

[*] (Core) server optimization for faster work with conferences especially if there are a lot of them with a big number of members;
[*] (Admin) automatic indentations in a text field for outputting console commands for a better reading experience;

[-] error when changing a user's authorization type if the account type is not a domain one. Fixed;
[-] (Admin) if an image is not required to be resized, then it was impossible to upload a user photo on the server; Fixed.
[-] fixed memory leaking when working with data structures;
[-] when deleting conference messages on Admin Panel, under a user who is not a member of this conference, messages are deleted on the server but not on the clients because the command is not sent creating out of sync. Fixed;
[-] fixed error when importing or updating users from a domain;
[-] when inviting a user to a conference that you are not a member of, the server sends an incorrect error. Fixed.


11. How to update to the latest version?


Both commercial and free versions are updated in the same way. The server is updated first, then the clients. In general, this process is performed automatically.

Instruction for updating MyChat

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