Some unbelievable crashes happen in MTP codegen-ed serialization
if the binary is using -flto with MTP in non-flto static library.
To build and link static libraries with -flto additional GYP patch
is required, so that ar/ranlib/nm use gcc- wrappers.
Some tests were disabled by a crashpad patch because the changes to make
them work with new SDK are relatively big and no need to backport them.
Fixes#4353.
To be able to run on the same distributions as before we need to have
the same GLIBC version dependency as in Ubuntu 12.04, which is 2.15.
For that we need to remove all usages of GLIBC features from 2.16 and above.
Currently there are three methods used, so they're wrapped in a separate
static library, linux_glibc_wraps.
It is a separate library because it must be compiled without '-flto' flag,
otherwise the inline __asm__ is not working and we get unresolved symbols.
Also implement panels that appear in all spaces on macOS.
Using them for calls panels and custom notifications, so it
will be possible to use custom notifications in macOS as well.
This will allow us to use C++14 library on all platforms.
Patches for macold versions got bigger and are now different for
crashpad and mini_chromium, so they were moved to a separate folder.
Also the initial background saved as JPG to reduce the Telegram.exe
file size below 32 MB. Currently deployed versions can't autoupdate
to a file that is larger than 32 MB due to a critical Qt bug.
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.