When updating local online status from user action events we use
action timestamp, and ignoring events from getDifference, if no
timestamp is available for the specific action.
Couple of hidden actions added in Settings. Alpha version 0.9.54.
MediaView handling of screen resolution change fixed.
Media messages now display both name/type and caption in dialogs list.
When viewing group profile photo delete affects either photo or message.
All service messages are now not multiline (including pinned).
Confirmation for profile photo deleting will be added (not enabled).
Copy-by-selection should be supported in Linux version now.
Drafts that contain only reply-to-id (without text) support added.
Many minor design improvements in the new profiles.
New drafts design in the dialogs list: no icon, red badge.
Verified checkbox added to the new profile implementation.
Drafts saving to cloud is delayed for 1 second when switching chats.
Before quitting the app makes an attempt to save drafts (timeout 1.5s).
HistoryToEnd button is always shown if there are unread messages.
HistoryToEnd button displayes unread messages count.
New service message (HistoryCleared) is handled (not displayed at all).
Now instead of plain text a TextWithTags struct is used almost
everywhere. Started writing and reading serialized tags to drafts
from 9048, switched version to 0.9.48 for testing.
Crash fix when trying to reply to a bot message which hides the keyboard.
Counting button widths better (more padding, use exact width when avail).
Hiding inline bot results fixed when switched to emoji before hiding.
It replaces Send button when the user is editing an inline bot
query. First cancel clears the inline bot request, second one
clears the field entirely. Escape key acts the same as cancel.
Moved inline bot result layouts from layout.cpp/h module.
Over status prepared for inline bot file result icon.
Dependencies reduced, inline bots code moved to InlineBots namespace.
Build in Xcode and QtCreator broken.
Global methods textlnkOver/Down/DrawOver were replaced by
static members of ClickHandler, now global state consists
of the handler pointer + host pointer, who declares callbacks
for the active and pressed handler changed events.
This will allow to use ClickHandler from different hosts
simultaneously (like HistoryItem / BotDescription / BotKeyboard).
Not yet tested.
(server doesn't allow to delete large channels any more).
Error message added in a case when the current user
(not admin) tries to add to a supergroup a user who
was kicked by admin (and blacklisted by this action).