Compare commits

...

2152 Commits

Author SHA1 Message Date
John Preston
2f48bbd317 Version 3.4: Fix build with GCC. 2021-12-30 18:18:30 +03:00
John Preston
450f9ca91e Version 3.4: Update nimf submodule to clone fine on Windows. 2021-12-30 16:53:04 +03:00
John Preston
f86e2d98cc Version 3.4: Show mini-profiles from reactions overview. 2021-12-30 16:48:52 +03:00
John Preston
0cf85be86b Version 3.4.
- Send reactions to messages.
- Group and Channel admins can enable reactions in their chat
via '...' menu > Manage > Reactions.
- Select text when typing and choose 'Formatting > Spoiler' in
the context menu to hide some or all of the contents of a message.
- Click on the spoiler in chat to reveal its hidden text.
- Spoiler formatting hides text in chat,
as well as in the chat list and notifications.
2021-12-30 16:25:43 +03:00
John Preston
a15ef8bbc2 Check noforwards of specific messages in shared media. 2021-12-30 16:15:38 +03:00
John Preston
ecca60afe4 Some spoiler improvements. 2021-12-30 16:08:15 +03:00
John Preston
1ab0f840f3 Use reactions icon in context menu if more than 1 reaction type. 2021-12-30 16:08:15 +03:00
John Preston
3623fb1f9a Disable saveAs in media viewer if restricted. 2021-12-30 14:58:34 +03:00
John Preston
4cbfcc8dbc Disable reaction button on Call messages. 2021-12-30 14:33:11 +03:00
John Preston
90821428d3 Fix quick reaction button on Retina screens. 2021-12-30 14:33:11 +03:00
John Preston
c5468a1111 Fix spoilers in some cases. 2021-12-30 13:37:56 +03:00
John Preston
505ef04134 Show reaction button only when the cursor is over the message. 2021-12-30 13:37:39 +03:00
John Preston
f70c2adbdd Fix menu icons in proxy settings. 2021-12-30 13:37:17 +03:00
John Preston
2c20e7bb02 Beta version 3.3.2: Fix build with GCC. 2021-12-30 00:19:47 +03:00
John Preston
67fa58edc4 Beta version 3.3.2: One more attempt to fix macOS camera. 2021-12-30 00:02:21 +03:00
John Preston
43e1079969 Beta version 3.3.2.
- Select text when typing and choose 'Formatting > Spoiler' in the
context menu to hide some or all of the contents of a message.
- Click on the spoiler in chat to reveal its hidden text.
- Spoiler formatting hides text in chat,
as well as in the chat list and notifications.
2021-12-29 22:55:31 +03:00
John Preston
7b4354eb4a Fallback to QThreadPool if dispatch is unavailable. 2021-12-29 21:23:35 +03:00
John Preston
08b99b19c3 Fix crash in spoilers restoring. 2021-12-29 21:22:34 +03:00
John Preston
70658c6e65 Reactions under view button in the message bubble. 2021-12-29 21:22:34 +03:00
John Preston
c875f367e6 Add a semi-nice looking box with reactions overview. 2021-12-29 21:22:34 +03:00
23rd
3aacae2cb2 Added behavior to hide spoilers when switching sections. 2021-12-29 21:22:34 +03:00
John Preston
a381439e3e Show reactions in replies / pinned context menu. 2021-12-29 21:22:34 +03:00
John Preston
c6811640b5 Show box with reacted users. 2021-12-29 21:22:34 +03:00
John Preston
58c9494c03 Add reactions to replies / comments / pinned section. 2021-12-29 21:22:34 +03:00
John Preston
71d52d26c3 Show react button and dropdown with a delay. 2021-12-29 21:22:34 +03:00
John Preston
87e97ad533 Add admin event log phrases about reactions. 2021-12-29 21:22:34 +03:00
John Preston
a8bc7baa70 Update all messages in case of chat reactions toggle. 2021-12-29 21:22:34 +03:00
John Preston
ec16ca7df7 Poll reactions for visible messages. 2021-12-29 21:22:34 +03:00
John Preston
aafc24008b Apply reactions from message edit updates. 2021-12-29 21:22:34 +03:00
23rd
0ffd827fc5 Moved ellipsis string to lib_ui. 2021-12-29 21:22:34 +03:00
23rd
c40bcdc446 Added utility to correctly cut text with commands. 2021-12-29 21:22:34 +03:00
23rd
8b74dc2dec Added spoiler support to service messages. 2021-12-29 21:22:33 +03:00
John Preston
1d2065e4ef Fix reactions geometry for round videos. 2021-12-29 21:22:33 +03:00
John Preston
830a338082 Sort reactions in bubbles correctly. 2021-12-29 21:22:33 +03:00
John Preston
4228557722 Improve reactions position and colors. 2021-12-29 21:22:33 +03:00
John Preston
38c296b69f Remove test image-patterned message backgrounds. 2021-12-29 21:22:33 +03:00
John Preston
948dd7d545 Fix emoji in the input field with Qt 6.2.2. 2021-12-29 21:22:33 +03:00
John Preston
26827a5043 Fix build with Qt 6. 2021-12-29 21:22:33 +03:00
John Preston
a7c93a9421 Support patterned reactions dropdown. 2021-12-29 21:22:33 +03:00
John Preston
95e003153a Implement inline reactions dropdown. 2021-12-29 21:22:33 +03:00
John Preston
54f5b47585 Fix crash in reactions sending. 2021-12-29 21:22:33 +03:00
23rd
ec1511e0c9 Fixed focus when switching between accounts. 2021-12-29 21:22:33 +03:00
John Preston
b396d6e836 Start from-reaction-button dropdown. 2021-12-29 21:22:33 +03:00
23rd
022249f235 Fixed build on non-Windows. 2021-12-29 21:22:33 +03:00
23rd
fa4d1d72c4 Added animation for spoilers in sections. 2021-12-29 21:22:33 +03:00
23rd
938aa5d577 Added spoiler support to system notifications. 2021-12-29 21:22:33 +03:00
23rd
baca36e715 Added chat invites support to sponsored messages. 2021-12-29 21:22:33 +03:00
23rd
4252066cf6 Added spoiler support to export. 2021-12-29 21:22:33 +03:00
23rd
1cca4d71bd Provided spoiler info to preview text. 2021-12-29 21:22:33 +03:00
23rd
a027a02130 Provided spoiler info to notification text. 2021-12-29 21:22:33 +03:00
23rd
90dedb7b70 Added spoiler support to input field. 2021-12-29 21:22:33 +03:00
23rd
52699ccfc2 Added new colors to text palette for spoilers. 2021-12-29 21:22:33 +03:00
23rd
f2c7237d5f Moved item preview structs to separated file. 2021-12-29 21:22:33 +03:00
John Preston
79a09a4510 Show latest reacted in context menu. 2021-12-29 21:22:33 +03:00
John Preston
fe468ce7e9 Respect can_see_list flag in reactions. 2021-12-29 21:22:33 +03:00
John Preston
118072db77 Update API scheme on layer 136. 2021-12-29 21:22:33 +03:00
John Preston
6f2bb43505 Fix temporary reaction selector on Retina screens. 2021-12-29 21:22:33 +03:00
John Preston
a550b73e2c Move "who read" context menu item to the bottom. 2021-12-29 21:22:33 +03:00
John Preston
a5caebe890 Toggle reactions by the button. 2021-12-29 21:22:33 +03:00
John Preston
2991c3c17f Toggle reactions from the list under the message. 2021-12-29 21:22:33 +03:00
John Preston
b5edaf4c23 Fix layout of reactions in files / contacts. 2021-12-29 21:22:33 +03:00
John Preston
ad1476e80f Return reading proper noforwards value. 2021-12-29 21:22:33 +03:00
John Preston
6f8c9f65cf Optimize small emoji image caching and painting. 2021-12-29 21:22:33 +03:00
John Preston
4050866b3b Nice reactions design in private chats. 2021-12-29 21:22:33 +03:00
John Preston
2a3cf8ac58 Implement (sub-optimal) painting of reactions in groups. 2021-12-29 21:22:33 +03:00
John Preston
710ef43e41 Update API scheme on layer 136. 2021-12-29 21:22:33 +03:00
John Preston
51e96bf074 Support reaction button with gradient bubbles. 2021-12-29 21:22:33 +03:00
John Preston
68d45a2c08 Show / hide reactions selector. 2021-12-29 21:22:33 +03:00
John Preston
35378e717a Handle click on the reaction once again. 2021-12-29 21:22:33 +03:00
John Preston
b108e93092 Keep reaction visible if mouse is over it. 2021-12-29 21:22:33 +03:00
John Preston
371c9c1bfe Implement a nice corner reaction button. 2021-12-29 21:22:33 +03:00
John Preston
e148b5ff08 Proof-of-concept reactions dropdown. 2021-12-29 21:22:33 +03:00
John Preston
9c18f7b0e3 Allow choosing allowed reactions in groups / channels. 2021-12-29 21:22:33 +03:00
John Preston
bfdbb64295 Move some Settings icons to a subfolder. 2021-12-29 21:22:33 +03:00
John Preston
b773bb6e70 Add icons to the media viewer menus. 2021-12-29 21:22:33 +03:00
John Preston
2c36623cfb Add some icons to popup menus. 2021-12-29 21:22:33 +03:00
John Preston
535fd8d523 Display reactions outside bottom info in groups. 2021-12-29 21:22:33 +03:00
John Preston
3aacd15ef2 Use HistoryView::Object in BottomInfo. 2021-12-29 21:22:33 +03:00
John Preston
57cb921bb9 For testing show self reaction in bold. 2021-12-29 21:22:33 +03:00
John Preston
b1668afdf1 Use available reactions list from the server. 2021-12-29 21:22:33 +03:00
John Preston
be74f8f2bc Fix sponsored messages badge with BottomInfo. 2021-12-29 21:22:33 +03:00
John Preston
b151d210bf Add peer-list-like view for message reactions list. 2021-12-29 21:22:33 +03:00
John Preston
b5d80a3c15 Improve BottomInfo layout. 2021-12-29 21:22:33 +03:00
John Preston
2b0cd2a611 Fix refreshing bottom info. 2021-12-29 21:22:33 +03:00
John Preston
1af2cfe143 Extract BottomInfo from HistoryView::Message. 2021-12-29 21:22:33 +03:00
John Preston
3a43217301 Show reactions in messages. 2021-12-29 21:22:32 +03:00
John Preston
f5c7b206bb Track message reactions. 2021-12-29 21:22:32 +03:00
John Preston
a1439163ce Update API scheme to layer136. 2021-12-29 21:22:32 +03:00
Klemens Nanni
32473b2908 Remove unused variable
Unused since c79cd0b692
"Use Images::Read instead of App::readImage."
2021-12-29 20:16:04 +03:00
Klemens Nanni
078a2af385 Fix -Wunused-const-variable warnings under DESKTOP_APP_DISABLE_DBUS_INTEGRATION
OpenBSD builds without dbus integration (for now);  this fixes the warnings.
Those variables have been introduced in multiple commits.
2021-12-29 20:16:04 +03:00
Klemens Nanni
b61250e101 Remove unused variables
Not used anymore since 29c0956d61
"Always try to play video in voice chats.".
2021-12-29 20:16:04 +03:00
Ilya Fedin
f90fb6c80c Update cmake_helpers 2021-12-29 17:27:23 +03:00
Ilya Fedin
cbd0469042 Update statusnotifieritem 2021-12-29 17:27:23 +03:00
Ilya Fedin
a49feca281 Update submodule libraries 2021-12-29 17:27:23 +03:00
Ilya Fedin
641583b434 Update libraries in Dockerfile & snapcraft.yml 2021-12-29 17:27:23 +03:00
Ilya Fedin
9506093cbd Remove unused submodules 2021-12-29 17:27:23 +03:00
Ilya Fedin
ffe4208595 Implement loop status/shuffle for MPRIS 2021-12-29 00:56:46 +04:00
k1ee
4c3835c61c Use https:// not git:// to clone.
git:// is not going through proxy.
2021-12-28 15:26:42 +04:00
Nate Graham
dad1f196ba Mark as single-instance using X-GNOME-SingleWindow key
Telegram is a single-instance app; attempting to open a second instance
fails and simply focuses the existing instance. However the app's
.desktop file does not indicate this to Linux desktop shells like GNOME
and KDE Plasma, causing them to show a "Start new instance/Open new
window" action for the app that will not work when used.

This commit fixes that by setting `X-GNOME-SingleWindow=true` in the
desktop file. This is a GNOME-specific key, but it is honored in KDE
Plasma too.
2021-12-27 17:47:48 +04:00
John Preston
8aa2f56717 Specify exact FFmpeg revision. 2021-12-23 00:07:26 +00:00
John Preston
ede4c0f781 Beta version 3.3.1.
- Switch between contacts list sorting modes.
- Sort contacts list by last seen time by default.
- Fix disappearing Send As Channel button after message editing.
- Fix file upload cancelling.
- Fix crash in video capture on macOS.
- Fix labels in the About box.
- Use Qt 6.2.2 for macOS and Linux builds.
- Allow installing x64 Windows version on Windows ARM.
2021-12-23 00:07:26 +00:00
John Preston
75337ad1c2 Fix shared media list in migrated groups. 2021-12-23 00:07:26 +00:00
John Preston
e05b2f3b38 Fix build on Linux. 2021-12-22 17:32:35 +00:00
John Preston
0f15adb208 Sort contacts by last seen by default.
Fixes #5515.
2021-12-22 15:14:16 +00:00
John Preston
a7e552ccab Fix assertion violation in media overview.
Regression was introduced in 5e7e7eaa83.
2021-12-22 13:05:54 +00:00
John Preston
797433ebe9 Fix disappearing Send As Channel button.
Fixes #17359.
2021-12-22 12:32:09 +00:00
John Preston
633532b88d Fix build on Windows. 2021-12-22 11:47:17 +00:00
John Preston
a0dcade9d8 Remove redundant freedesktop.org.xml. 2021-12-22 10:42:32 +00:00
John Preston
2a0babe5ab Fix file upload cancelling.
Fixes #17408.
2021-12-22 10:34:00 +00:00
23rd
dd92f7fb9d Slightly refactored AddContactBox. 2021-12-22 10:27:43 +00:00
John Preston
7ad08b3ef8 Update submodules. 2021-12-22 10:23:54 +00:00
John Preston
73917e8a4b Re-apply crash fix on macOS video capture. 2021-12-22 10:17:50 +00:00
Ilya Fedin
dc7aef3f86 Move HFLAGS to other variables in Dockerfile 2021-12-22 14:15:48 +04:00
Ilya Fedin
d89597bf64 Activate crl dispatch backend on Linux
Linux is the only platform where slow QThreadPool is used, let's use dispatch here as well
2021-12-22 14:15:48 +04:00
Magnus Groß
c2b2d0a92a Do not destroy drag after launchDrag()
On X11 we need to keep the QDrag around a little longer.

Right now, drag is scoped local to launchDrag() and will be destroyed
immediately when launchDrag() finishes. However for X11 we must keep the
drag object alive a little longer. It may only be destroyed once the
drag operation has been accepted by another window, otherwise drag and
drop is broken on Linux and no action happens when something is dragged
from Telegram into another window.

This is because there is still communication happening in the XDND
protocol once QDrag::exec() finishes. See the documentation for
reference: https://freedesktop.org/wiki/Specifications/XDND/

Fixes #17291
2021-12-22 14:15:36 +04:00
John Preston
b341dddbb9 Move macOS and Linux builds to Qt 6.2.2. 2021-12-22 10:13:31 +00:00
John Preston
999e4264c5 Move macOS and Linux builds to Qt 6.2.2. 2021-12-22 10:13:29 +00:00
John Preston
aee11469c4 Fix crash in video capture on macOS.
Fixes #17420.
2021-12-22 10:11:57 +00:00
John Preston
651cfe5b7e Fix about box text labels layout. 2021-12-22 10:11:57 +00:00
John Preston
a34b2a5472 Fix build with DESKTOP_APP_USE_PACKAGED_RLOTTIE. 2021-12-22 10:11:57 +00:00
John Preston
5e7e7eaa83 FullMsgId rely on PeerId instead of ChannelId. 2021-12-22 10:11:57 +00:00
Ilya Fedin
a8f05a01ed Build kwayland as external project
This will simplify packaged Qt 6 build
2021-12-22 14:09:32 +04:00
Ilya Fedin
fedd21b0a6 Use QFontMetrics::height in PreLaunchWindow 2021-12-22 14:08:22 +04:00
Ilya Fedin
7ff7473db6 Auto-check for many instance
This option was invented when single instance check wasn't adapted for -workdir. Now, -workdir can work without -many and this option is redudant, but auto-update prevention is helpful. Let's autodetect whether the binary is already running with a lock file.
2021-12-22 14:07:22 +04:00
Vitaly Zaitsev
d89aab08bf Fixed build against OpenSSL 3.0.
Deprecated function FIPS_mode_set() was removed in OpenSSL 3.0.

Switched to EVP_default_properties_enable_fips() as described in OpenSSL
3.0 migration guide.

Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2021-12-19 16:35:13 +04:00
Ilya Fedin
b2fb5424ed Get rid of deprecated OpenSSL <1.1 functions 2021-12-16 13:05:53 +04:00
John Preston
e7e34d50ba Fix building on Windows. 2021-12-14 16:27:57 +04:00
John Preston
19320cc5d8 Fix dependencies build on M1. 2021-12-14 11:33:59 +04:00
k1ee
107a87c7ce Add support to build on M1 Mac
On M1 mac, some dependencies build two `arm64` builds and makes `lipo` fail.
2021-12-14 11:32:13 +04:00
RadRussianRus
2cb1d2c0bc Removed explicit definition of cmake generator
Even though TDesktop build migrated to VS 2022, dependencies script still had "Visual Studio 16 2019" for mozjpeg and openal-soft as a generator. Removing these lines allows to use latest Visual Studio without changing the script.
2021-12-13 14:26:05 +04:00
Ilya Fedin
48ab88a9ca Don't use QPlatformNativeInterface for native window handle on Windows 2021-12-13 14:24:34 +04:00
Ilya Fedin
33b7ac209e Don't use QPlatformNativeInterface-based XCB::GetRootWindowFromQt 2021-12-13 14:24:34 +04:00
Ilya Fedin
4a0ffdc9f5 Result binary shouldn't be in bin subfolder with any generator on macOS
Since MACOSX_BUNDLE is used
2021-12-11 07:29:02 +04:00
Ilya Fedin
1ec2c16d27 Fix path to result binary in Linux action 2021-12-11 07:29:02 +04:00
John Preston
4b03fd0f23 Version 3.3: Fix build with GCC. 2021-12-08 08:35:03 +04:00
John Preston
9f117cd680 Version 3.3: Update submodules. 2021-12-07 16:29:38 +04:00
John Preston
f6d29991d6 Version 3.3.
- Content creators can restrict the ability to save media
and forward messages from their groups and channels.
- Clear messages in one-on-one chats from a specific day or date range.
- Comment as one of your channels in public groups and channel comments.
- When you request to join a community and its admin
or bot-admin contacts you with a message,
you will see which chat they are from at the top of the chat.
- Bot-admins can now ask users to complete tasks
before they are allowed to join - like accepting community rules,
passing a test, or making a donation to the content creators.
2021-12-07 15:52:33 +04:00
John Preston
1a0d430291 Fix crash in admin log right click.
Fixes #17325.
2021-12-07 15:42:30 +04:00
John Preston
e3b9927faa Reset session on receiving a really old msgId. 2021-12-07 10:05:41 +04:00
John Preston
d199e16a6e Load cloud image without active view only once. 2021-12-07 10:01:56 +04:00
John Preston
01c2be3f01 Add some checks for actions in a locked state. 2021-12-07 10:01:56 +04:00
Ilya Fedin
6db537d1ec Rename telegramdesktop.appdata.xml -> telegramdesktop.metainfo.xml
.appinfo.xml is legacy according to https://freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
2021-12-06 11:53:28 +04:00
John Preston
e708b2d39c Move some icons, fix verified check scaling. 2021-12-03 15:30:40 +04:00
John Preston
ebd9587821 Fix admin ranks in participants edit. 2021-12-03 15:02:45 +04:00
John Preston
9e5117d336 Respect autodownload settings in reply previews. 2021-12-03 14:59:08 +04:00
John Preston
1c2ea8d84a Fix semi-transparent inline result thumbnails. 2021-12-02 16:03:13 +04:00
John Preston
235484b719 Fix saving group type without changing username. 2021-12-02 15:26:58 +04:00
John Preston
b9ea5718a2 Fix "about request admin panel" box hiding. 2021-12-02 15:00:27 +04:00
John Preston
db0c57a186 Fix reply-to-media timestamps in captions. 2021-12-02 14:42:50 +04:00
John Preston
0fa458737a Fix shared media loading. 2021-12-02 13:54:30 +04:00
John Preston
caaeff32c5 Move global privacy setting down. 2021-12-02 13:36:49 +04:00
John Preston
c4c234f0d3 Pass FilterId to pinnedIndexChanged. 2021-12-02 13:36:49 +04:00
John Preston
894e7c5828 Fix imported messages without a sender name. 2021-12-02 13:36:49 +04:00
John Preston
afcebb136c Don't use MTP for PeerData::isSelf. 2021-12-02 13:36:49 +04:00
Ilya Fedin
8592326a3c Revert "Use kernel accelerated sendfile to copy files on Linux"
This reverts commit 34534a9653.
2021-12-02 09:15:23 +04:00
John Preston
0b308aebb2 Beta version 3.2.8.
- Fix crash in opening shared media with another user.
2021-12-01 13:29:53 +04:00
John Preston
f7ec60b958 Fix crash in opening shared media with another user. 2021-12-01 13:29:19 +04:00
GitHub Action
7b4bc64191 Update User-Agent for DNS to Chrome 96.0.4664.45. 2021-12-01 13:26:23 +04:00
Ilya Fedin
5c91506723 Update tg_owt in snap 2021-12-01 07:39:03 +04:00
Ilya Fedin
e5ee665fa4 Add support for webkit2gtk-5.0 and webkit2gtk-4.1 2021-12-01 07:39:03 +04:00
John Preston
60a95df652 Beta version 3.2.7.
- Active sessions list redesign.
- Fix disappearing emoji selector button.
- Fix a crash in archived stickers loading.
- Fix a crash in calls to old Telegram versions.
2021-11-30 22:43:22 +04:00
John Preston
28eb2f1a91 Return terminate session button to the list. 2021-11-30 21:08:15 +04:00
John Preston
168711b352 Use PeerList for sessions list (wip). 2021-11-30 20:44:15 +04:00
John Preston
7bf557971e Fix "Send As" button on Retina screens. 2021-11-30 20:19:23 +04:00
John Preston
40330afbd3 Use distinct strings for groups / channels noforwards. 2021-11-30 18:09:06 +04:00
Ilya Fedin
0f0ade54a7 Update lock-threads bot to v3 2021-11-30 17:58:00 +04:00
Ilya Fedin
899de8a359 Use default values for daysUntilClose and closeComment arguments of no-response bot
The current closeComment follows the default comment anyway and it seems the default value of daysUntilClose (14 days) would be fine
2021-11-30 17:58:00 +04:00
John Preston
fa32151391 Add distinct strings for groups / channels noforwards. 2021-11-30 17:56:46 +04:00
23rd
9706b84409 Slightly refactored api_bot. 2021-11-30 17:38:22 +04:00
23rd
77d1d9bd3a Moved out getting of phone pattern groups from PhoneInput fields. 2021-11-30 17:38:17 +04:00
23rd
d218b76efe Removed MTP::Error from migrating chat. 2021-11-30 17:38:12 +04:00
23rd
0dfb77435d Slightly refactored add_contact_box. 2021-11-30 17:38:03 +04:00
23rd
69dc6c98ce Removed unused MTPBool from callbacks on done. 2021-11-30 17:37:39 +04:00
23rd
3647241f71 Removed unused MTP::Error from callbacks on fail. 2021-11-30 17:37:07 +04:00
23rd
287a35d208 Removed MTP* from PrePasswordErrorBox. 2021-11-30 17:36:54 +04:00
John Preston
0c3b289af9 Add floating dates to CalendarBox selecting mode. 2021-11-30 17:36:37 +04:00
John Preston
5309af5d56 Restrict shared media selection in noforward chats. 2021-11-30 16:26:47 +04:00
John Preston
1d1fa5f98b Improve session details box design. 2021-11-30 16:06:41 +04:00
John Preston
92e398e0b7 Support new skin color modifiers in rlottie. 2021-11-30 16:05:52 +04:00
John Preston
47074b48d6 Improve sessions list design. 2021-11-30 13:44:31 +04:00
John Preston
94bec3b574 Fix crash in archived stickers loading.
Fixes #17297.
2021-11-30 09:29:28 +04:00
John Preston
234ff3ba37 Add some resources for sessions redesign. 2021-11-29 18:05:49 +04:00
John Preston
d4c6475ae8 Show sessions list in a Settings Section. 2021-11-29 17:30:14 +04:00
Ilya Fedin
2ad20d6c4a Instantiate a local dbus server for webview IPC 2021-11-29 16:23:51 +04:00
John Preston
bd0e4c0075 Backport fix for empty bus name to glibmm patch. 2021-11-29 16:21:07 +04:00
John Preston
09bed4989b Cherry-pick a crash-fix patch for Qt 6.2. 2021-11-29 15:59:48 +04:00
John Preston
2eb64e051b Don't start animations from QEvent::Enter.
The enter/leave events may be sent from ~QWidget() and if we start
animating something with grabbing of widgets it crashes sometimes.
2021-11-29 15:56:50 +04:00
John Preston
03775e0cc5 Allow to ban channels in groups from moderate actions. 2021-11-29 15:24:30 +04:00
John Preston
fc4cdd4482 Fix crash in legacy calls with new WebRTC. 2021-11-29 15:24:08 +04:00
John Preston
16232c0a4a Open channel profile from message sender click. 2021-11-29 14:54:31 +04:00
John Preston
3c0f80719e Don't show playlist with mouse over controls. 2021-11-29 11:11:38 +04:00
John Preston
c153cdc70e Change volume by wheel events on volume icon. 2021-11-29 11:11:16 +04:00
John Preston
07dfe88d62 Fix player controls with animations disabled. 2021-11-29 10:25:55 +04:00
John Preston
453ce1bff9 Beta version 3.2.6: Fix build on Linux. 2021-11-29 09:49:40 +04:00
John Preston
5afcd47ab0 Beta version 3.2.6: Update tg_owt revision in Dockerfile. 2021-11-29 09:47:47 +04:00
John Preston
abc40f7e43 Beta version 3.2.6: Add logs for scroll on Linux. 2021-11-29 09:47:47 +04:00
John Preston
f2915064b5 Fix "Send As" list refresh on admin anonymity change. 2021-11-29 09:24:38 +04:00
John Preston
8460a62588 Don't show "Send As" button when editing a message.
Fixes #17302.
2021-11-28 16:37:11 +04:00
John Preston
27e80b8e42 Fix crash in inconsistent local send as peer data. 2021-11-28 16:26:34 +04:00
John Preston
133f64f370 Fix disappearing emoji selector button. 2021-11-28 15:45:16 +04:00
John Preston
feb1e9c4af Beta version 3.2.6: Disable LTO in 64 bit Windows build. 2021-11-27 21:37:01 +04:00
John Preston
6850cc5ab4 Beta version 3.2.6: Fix build in Release on macOS. 2021-11-27 10:20:59 +04:00
John Preston
9360f1f970 Beta version 3.2.6: Fix build on macOS. 2021-11-26 23:51:47 +04:00
John Preston
57340f9514 Beta version 3.2.6.
- Try out the new audio player with playlist shuffle and repeat.
- Give a custom name to your desktop session
to distinguish it in the sessions list.
2021-11-26 23:06:39 +04:00
Ilya Fedin
4e63346877 Use AL_REMIX_UNMATCHED_SOFT enum value instead of hard-coded value
This makes the feature require version 1.21.0, previously was 1.20.1
2021-11-26 18:48:35 +04:00
Ilya Fedin
f69d0823a9 Get rid of oal-soft specific alext.h include 2021-11-26 18:48:35 +04:00
Ilya Fedin
02ae541246 Get rid of unnecessary udev in docker image 2021-11-26 18:29:03 +04:00
Ilya Fedin
8fda1169e5 Get rid of Platform::MainWindow::psLinux* 2021-11-26 18:28:37 +04:00
Ilya Fedin
53305f5f46 Fix paste check in Linux global menu 2021-11-26 18:28:37 +04:00
John Preston
75fc88d679 Use VS 2022 with 10.0.22000.0 SDK version. 2021-11-26 18:13:58 +04:00
John Preston
8264968718 Use cloud "disable calls" settings instead of local. 2021-11-26 18:04:03 +04:00
John Preston
598cec8a9d Show session details on click. 2021-11-26 18:00:22 +04:00
John Preston
f3e1aef264 Allow editing sessions auto-termination period. 2021-11-26 18:00:22 +04:00
John Preston
fe4bb19358 Improve custom device name input design. 2021-11-26 18:00:22 +04:00
John Preston
07ba84c857 Fix requesting bots list in megagroup. 2021-11-26 18:00:22 +04:00
John Preston
0f443da758 Track noforwards flag in specific messages. 2021-11-26 18:00:22 +04:00
John Preston
886ff7de50 Fix different colors in active emoji icon. 2021-11-26 18:00:22 +04:00
John Preston
5cb5e3cc22 Use similar dropdown for playback speed. 2021-11-26 18:00:22 +04:00
John Preston
82e150a27e Improve device model name handling. 2021-11-26 18:00:22 +04:00
John Preston
c947586091 Add reverse / shuffle options dropdown. 2021-11-26 18:00:22 +04:00
John Preston
eb6afdf438 Fix build on Windows. 2021-11-26 18:00:22 +04:00
John Preston
b634ebab78 Update API scheme on layer 135. 2021-11-26 18:00:22 +04:00
23rd
e2fbcd4b0e Replaced parsing of MTPChannelParticipant in AdminLog::GenerateItems. 2021-11-26 18:00:22 +04:00
23rd
f255573070 Replaced use of raw MTP* participant type with new transitional class. 2021-11-26 18:00:22 +04:00
23rd
c65468f270 Added new class Api::ChatParticipant. 2021-11-26 18:00:22 +04:00
23rd
503814ad4e Slightly refactored Api::ChatParticipants. 2021-11-26 18:00:22 +04:00
23rd
b9c64499bd Moved code for api participants to separated file. 2021-11-26 18:00:21 +04:00
23rd
3271cdf251 Removed duplicated MTP* rights generation. 2021-11-26 18:00:21 +04:00
23rd
0eee937e6d Moved ChatRestrictionsInfo and ChatAdminRightsInfo to separated file. 2021-11-26 18:00:21 +04:00
23rd
30cd3cb681 Removed MTP* from AdminLog::FilterValue. 2021-11-26 18:00:21 +04:00
23rd
d6a30c4853 Slightly refactored AdminLog::GenerateItems. 2021-11-26 18:00:21 +04:00
John Preston
551e1f787c Move volume dropdown management to audio player. 2021-11-26 18:00:21 +04:00
John Preston
cdf09e0519 Use composition for playbackSpeed button. 2021-11-26 18:00:21 +04:00
John Preston
4b489ee7d2 Fade out controls in a narrow player. 2021-11-26 18:00:21 +04:00
John Preston
ca61b80fe5 Update audio player icons. 2021-11-26 18:00:21 +04:00
John Preston
aef37be3d0 Move box divider colors to the palette. 2021-11-26 18:00:21 +04:00
John Preston
96c86b3e49 Update API scheme on layer 135. 2021-11-26 18:00:21 +04:00
John Preston
38367dc1c7 Allow repeat all in shuffle mode. 2021-11-26 18:00:21 +04:00
John Preston
7ef78ba6c9 Fix contact status buttons display. 2021-11-26 18:00:21 +04:00
John Preston
433169626b Fix restarting shuffled playlist. 2021-11-26 18:00:21 +04:00
John Preston
5cd339332c Implement shuffled playlist. 2021-11-26 18:00:20 +04:00
John Preston
d1b9785d31 Allow deleting all from a channel to a group. 2021-11-26 18:00:20 +04:00
John Preston
a7c9a1ab34 Fix chats list forwarded messages sender. 2021-11-26 18:00:20 +04:00
John Preston
9bc9547b1c Revert "Fix crash in imported messages in search."
This reverts commit 65d96c0364.
2021-11-26 18:00:20 +04:00
John Preston
5e3b094e86 Allow report / block / delete all from channels. 2021-11-26 18:00:20 +04:00
John Preston
8d66680a96 Show info about request chat admin incoming message. 2021-11-26 18:00:20 +04:00
John Preston
bdc43c0aea Update API scheme on layer 135.
Add channelAdminLogEventActionSendMessage admin log action.
2021-11-26 18:00:20 +04:00
John Preston
4cb6e4b787 Allow group / channel type box if !can_edit_username. 2021-11-26 18:00:20 +04:00
John Preston
596c4a06a3 Use button colors for the calendar selections. 2021-11-26 18:00:20 +04:00
John Preston
4f7c728632 Update API scheme on layer 135. 2021-11-26 18:00:20 +04:00
John Preston
7d89952541 Edit noforwards in group / channel type. 2021-11-26 18:00:20 +04:00
John Preston
0309eb023e Cycle through repeat modes by repeat toggle button. 2021-11-26 18:00:20 +04:00
John Preston
969b27cb75 Many-day selection by two clicks in the calendar. 2021-11-26 18:00:20 +04:00
John Preston
ecb4d1d9ba Support repeat all in the audio player. 2021-11-26 18:00:20 +04:00
John Preston
68378cf8e5 Support reversed order in the playlist. 2021-11-26 18:00:20 +04:00
John Preston
4f02f722ae Fix order of playlist and volume / settings dropdowns. 2021-11-26 18:00:20 +04:00
John Preston
74cfaff100 Migrate Media::Player::Instance to rpl. 2021-11-26 18:00:20 +04:00
John Preston
92e2b91f81 Add repeat / order controls to the audio player. 2021-11-26 18:00:20 +04:00
John Preston
395100584f Add a second dropdown with playback mode controls. 2021-11-26 18:00:20 +04:00
John Preston
49544111ab Allow setting custom device name. 2021-11-26 18:00:19 +04:00
John Preston
f3a00abe18 Fix working with new tg_owt. 2021-11-26 18:00:19 +04:00
John Preston
a511681113 Take session name from device model. 2021-11-26 18:00:19 +04:00
John Preston
aab4dbb7cf Hide export and fast share for noforwards. 2021-11-26 18:00:19 +04:00
John Preston
80fcffcc40 Delete history for specific days in private chats. 2021-11-26 18:00:19 +04:00
John Preston
aa0a9b2db9 Update API scheme on layer 135. 2021-11-26 18:00:19 +04:00
John Preston
b7c95e9636 Support selecting messages range. 2021-11-26 18:00:19 +04:00
John Preston
4414369fc8 Implement jump-to-start / end by long press in CalendarBox. 2021-11-26 18:00:19 +04:00
John Preston
15dc6064ef Improve CalendarBox title design for vertical layout. 2021-11-26 18:00:19 +04:00
John Preston
b9b609f445 Track month in CalendarBox while scrolling. 2021-11-26 18:00:19 +04:00
John Preston
be7cd51740 Start scrollable CalendarBox. 2021-11-26 18:00:19 +04:00
John Preston
f13e28a9c5 Use in-class initializers for bitfields. 2021-11-26 18:00:19 +04:00
John Preston
fe025e3c44 Move Send As phrases to the langpack. 2021-11-26 18:00:19 +04:00
John Preston
dd7568ed3a Fix Send As button visibility. 2021-11-26 18:00:19 +04:00
John Preston
b47e29b182 Fix custom chat themes in scheduled messages. 2021-11-26 18:00:19 +04:00
John Preston
dee8b1fe6f Don't attach outgoing items from a channel to each other. 2021-11-26 18:00:19 +04:00
John Preston
3c040ab5f9 Fix send as button refresh. 2021-11-26 18:00:19 +04:00
John Preston
17ffebb684 Fix local display of sent-as from anonymous admin. 2021-11-26 18:00:19 +04:00
John Preston
8c824edaa5 Choose send as in scheduled / discussions. 2021-11-26 18:00:19 +04:00
John Preston
ad52c0cb16 Single-click change Send As. 2021-11-26 18:00:18 +04:00
John Preston
773755d70e Send as a channel in HistoryWidget. 2021-11-26 18:00:18 +04:00
John Preston
1bd74fe478 Choose a channel to send messages as. 2021-11-26 18:00:18 +04:00
John Preston
4691cff3f6 Start SendAsButton in HistoryWidget. 2021-11-26 18:00:18 +04:00
John Preston
c849d17667 Remove corner download if noforwards. 2021-11-26 18:00:18 +04:00
John Preston
96c910190b Restrict saving files as if noforwards. 2021-11-26 18:00:18 +04:00
John Preston
fd6751233e Disable selecting items with actions. 2021-11-26 18:00:18 +04:00
John Preston
487e8a9009 Disable copy to clipboard if noforwards. 2021-11-26 18:00:18 +04:00
John Preston
3a536c6f75 Show forwards toggle in recent actions. 2021-11-26 18:00:18 +04:00
John Preston
154c0e6bb2 Don't show empty top bar selections. 2021-11-26 18:00:18 +04:00
John Preston
9be47f0870 Allow restricting forwards in groups / channels. 2021-11-26 18:00:18 +04:00
John Preston
431e3035af Update API scheme to layer 135. 2021-11-26 18:00:18 +04:00
John Preston
bf18907fe6 Fix video in calls working on tgcalls v2 implementation. 2021-11-26 18:00:18 +04:00
John Preston
c7678f17ac Fix build of tg_owt with VS 2022. 2021-11-26 18:00:18 +04:00
John Preston
0c695a6a9a Update tg_owt with desktop capture fix on macOS. 2021-11-26 18:00:18 +04:00
John Preston
efe12e0289 Fix tg_owt build on Windows with C++20. 2021-11-26 18:00:18 +04:00
John Preston
dad11a17dd Build tg_owt / tgcalls / tgvoip with C++20. 2021-11-26 18:00:18 +04:00
John Preston
dbf673f674 Build new tgcalls with C++20 on Windows. 2021-11-26 18:00:17 +04:00
John Preston
9308615361 Fix crash in search in Finder on macOS. 2021-11-24 17:37:33 +04:00
Ilya Fedin
c7433477bc Use ninja as much as possible in docker 2021-11-21 09:51:01 +04:00
John Preston
8a1140c09f Extract Media::Player::Dropdown widget. 2021-11-18 21:51:10 +04:00
John Preston
a2bf1544df Remove Q_OBJECT from VolumeWidget. 2021-11-18 21:51:10 +04:00
John Preston
f4a6be2ed9 Move audio player icons to "player" folder. 2021-11-18 21:51:10 +04:00
Ilya Fedin
6b24eb6d8e Update lib_webview 2021-11-18 20:32:52 +04:00
Ilya Fedin
a55dbe212a Cleanup unneeded commands in Dockerfile 2021-11-18 20:32:52 +04:00
Ilya Fedin
55e44e3675 Use GCC 10 in GH action 2021-11-18 20:32:52 +04:00
Ilya Fedin
dc8aefd7ad Use GCC 10 in snap 2021-11-18 20:32:52 +04:00
John Preston
33f56a791a Show correct tooltip on YouTube timestamps. 2021-11-18 17:13:04 +04:00
John Preston
f2e4a5a35a Highlight YouTube video timestamps as external links. 2021-11-18 16:03:12 +04:00
John Preston
ebded1b421 Use Photo/DocumentData::isNull instead of date check. 2021-11-18 11:40:15 +04:00
John Preston
53c15ed2ac Make SendingAlbum::Item::Item non-inline. 2021-11-18 11:04:18 +04:00
John Preston
3b2f6b893d Hide MTPInputFile in Api::RemoteFileInfo. 2021-11-18 11:04:06 +04:00
John Preston
5d0445dd25 Remove unneeded namespace qualifiers. 2021-11-18 11:03:03 +04:00
John Preston
12eda0bb26 Use C++20 on Linux with GCC 10. 2021-11-17 10:03:14 +04:00
John Preston
96a3c704d2 Use Ninja Multi-Config generator on Linux. 2021-11-17 10:03:14 +04:00
John Preston
a02642b917 Switch to devtoolset-10 in Docker. 2021-11-17 10:03:14 +04:00
Ilya Fedin
80fe3d732a Try to fix snap store upload 2021-11-16 18:06:25 +04:00
John Preston
f55d3d1c6a Version 3.2.5: Add information about macOS build. 2021-11-16 14:35:28 +04:00
John Preston
deea69e119 Version 3.2.5. [Windows]
- Fix connecting in case bad characters appear in device name.
2021-11-16 12:45:34 +04:00
John Preston
6925bf6a8e Refresh global proxy after settings being read.
Fixes #16600, fixes #17249.
2021-11-16 12:39:24 +04:00
John Preston
a0110fed27 Allow to see who viewed message from the migrated history. 2021-11-16 12:39:19 +04:00
John Preston
30a945a043 Clean device name string.
Fixes #17243.
2021-11-16 12:38:59 +04:00
Amin Vakil
c062b4b3a1 Run yum clean all also for remote installations
They may try to install some dependencies from official centos mirrors.
2021-11-15 23:24:20 +04:00
Amin Vakil
06fb5540e1 Run yum clean all after package installation
KISS :)

Co-authored-by: ilya-fedin <fedin-ilja2010@ya.ru>

Make it in oneline

Co-authored-by: ilya-fedin <fedin-ilja2010@ya.ru>

perl-XML-Parser installation has been moved

Co-authored-by: ilya-fedin <fedin-ilja2010@ya.ru>

Typo

Co-authored-by: ilya-fedin <fedin-ilja2010@ya.ru>
2021-11-15 23:24:20 +04:00
John Preston
0e9a7ffe46 Version 3.2.4.
- Fix editing of scheduled messages on macOS.
- Fix launching on Chrome OS in Crostini container (fixes #17210).
2021-11-13 13:51:38 +04:00
John Preston
2f48fe920e Fixed edit of scheduled messages. 2021-11-13 13:44:56 +04:00
Ilya Fedin
936d4004ff Update controls geometry in MainWindow according to body changes 2021-11-10 19:30:29 +04:00
Ilya Fedin
fd03217032 Update patches in Docker 2021-11-09 16:17:45 +04:00
John Preston
963722cce1 Version 3.2.3.
- Fix autoupdater launch on macOS.
2021-11-08 17:44:53 +04:00
John Preston
b890b9542c Try fixing build on Linux. 2021-11-08 17:43:23 +04:00
John Preston
9b2d080e8e Fix restart before exec on macOS. 2021-11-08 17:42:33 +04:00
John Preston
6eaeb306d6 Add a RequestDependentMessageData method. 2021-11-08 12:37:02 +04:00
John Preston
213d7875ba Rename insertLocalMessage -> insertMessageToBlocks. 2021-11-08 12:37:02 +04:00
John Preston
7ff74b9e1e Fix build without DBus. 2021-11-07 12:53:10 +04:00
John Preston
bd5f145a8c Fix unwrapped media display in Replies chat. 2021-11-07 12:51:20 +04:00
John Preston
c534f3f22e Some internal HistoryItem refactoring.
Replace most IsServerMsgId / id <=> 0 with isRegular().
Track isLocal / isHistoryEntry in flags.
Remove toHistoryMessage.
2021-11-07 12:50:13 +04:00
Ilya Fedin
22b37c4bf8 Use webkitgtk without its headers 2021-11-06 16:33:39 +04:00
Ilya Fedin
1e60eb1894 Adjust snap permissions
Due to the removal of beariers, network-manager-observe shouldn't be needed anymore.
hardware-observe is needed for DeviceModelPretty, though.
Added systemd to stage-packages for calling systemd-detect-virt.
pulseaudio is a legacy interface, audio-playback and audio-record replace it.
2021-11-06 10:28:28 +04:00
John Preston
af93d7cc97 History::createItem returns not_null. 2021-11-06 00:36:16 +04:00
Ilya Fedin
0e6e263a7b Use epoxy in snap 2021-11-05 19:41:03 +04:00
John Preston
c0b106015c Version 3.2.2: Update lib_ui. 2021-11-05 17:03:07 +04:00
John Preston
681a3e602b Version 3.2.2: Update lib_base. 2021-11-05 16:25:23 +04:00
John Preston
00f75ca5d6 Version 3.2.2.
- Fix webpage preview links when View Button is present.
- Fixed possible crash on sponsored messages.
2021-11-05 15:32:03 +04:00
John Preston
c0f898b069 Cache sponsored messages for 5 minutes. 2021-11-05 15:28:45 +04:00
John Preston
d0cb387c6e Fix layout of webpage preview with a sticker with small height. 2021-11-05 15:28:32 +04:00
23rd
55eb381bd2 Removed display of stale sponsored messages. 2021-11-05 11:27:26 +03:00
John Preston
5565da5308 Fix webpage with ViewButton links in text. 2021-11-05 10:37:38 +04:00
John Preston
1ea6224e60 Fix autostart toggling. 2021-11-05 10:15:41 +04:00
23rd
5c4b68d632 Fixed possible crash on sponsored messages. 2021-11-05 08:27:33 +03:00
John Preston
f4a3d87b5d Update icon assets in Windows Store build. 2021-11-04 12:55:05 +04:00
John Preston
f10ed4b9bc Support autostart in Windows Store version.
Fixes #3234.
2021-11-04 12:36:28 +04:00
Ilya Fedin
81327ede7b Build Qt without high DPI scaling support 2021-11-04 10:20:48 +04:00
Ilya Fedin
9a4b8cdd82 Use QPlatformScreen::logicalDpi instead of QScreen::logicalDotsPerInch
QScreen::logicalDotsPerInch can be overriden by QT_FONT_DPI what is not good
2021-11-04 10:18:03 +04:00
John Preston
f882a0f407 Version 3.2.1.
- Remove AppImage icon hack and -pie. (Linux only)
2021-11-04 01:11:13 +04:00
John Preston
e48fd5d079 Revert "Re-enable -pie along with AppImage-like format hack."
This reverts commit d58b9dc954.

AppImage hack fired back: #17183
2021-11-03 21:35:50 +04:00
John Preston
63919422e0 Version 3.2: Fix build error on Linux. 2021-11-03 17:56:32 +04:00
John Preston
d6e6c51639 Version 3.2.
- Create special invite links that require admins
to approve users before they become members.
- Admins can view the applicants' profiles and bios
by tapping the Join Requests bar at the top of the chat.
- Add internal labels to your chat's Invite Links
to keep them organized.
- More Interactive Emoji - 👻, :dislike:, :face_vomiting:,
😂, 💸 or 🎃
2021-11-03 16:38:14 +04:00
John Preston
95a24d6aa1 Don't limit invite import aboutRequests text. 2021-11-03 16:27:51 +04:00
John Preston
fa28b0b405 Fallback to "Desktop" instead of "PC". 2021-11-03 16:24:37 +04:00
John Preston
42fcf4ceb2 Add patch system version component on macOS. 2021-11-03 16:18:31 +04:00
John Preston
3743dd0161 Fix small window icon counter.
Regression was introduced in aef45b3a1d.
2021-11-03 16:14:20 +04:00
John Preston
dab859ea29 Fix sponsored messages about text layout. 2021-11-03 16:01:38 +04:00
John Preston
a92394a81f Hide "Request admin approval" in public peers. 2021-11-03 16:01:25 +04:00
John Preston
7a57174ab1 Register sponsored view only on full message show. 2021-11-03 15:49:48 +04:00
23rd
52bacb3cde Improved tracking of views for sponsored messages. 2021-11-02 20:58:35 +03:00
23rd
8ad9770118 Fixed missed CallId alias. 2021-11-02 20:58:35 +03:00
John Preston
aef45b3a1d Refactor icon unread counter painting. 2021-11-02 20:12:57 +04:00
John Preston
87af865604 Fix warning about inactive QPainter. 2021-11-02 20:12:51 +04:00
John Preston
4efeaacf5c Add send context menu to StickerSetBox. 2021-11-02 20:11:20 +04:00
John Preston
e73928f6a3 Beta version 3.1.13.
- Fix requests to groups / channels processing.
- Fix internal link previews with View Content button layout.
- Fix crash in messages search with imported messages results.
- Don't use fractional system UI scaling on Linux.
- Fix invite link icons on macOS.
- Several crash fixes.
2021-11-02 11:28:53 +04:00
John Preston
589ddb7b22 Add network reachability plugin on macOS. 2021-11-02 11:16:54 +04:00
John Preston
6d73b11d54 Move "Request approval" button to the top. 2021-11-02 10:22:12 +04:00
John Preston
81ff4d7497 Show joined list on permanent link "N joined" click. 2021-11-02 10:10:48 +04:00
John Preston
e4ac810773 Allow exactly 1x20 aspect in photos. 2021-11-02 09:59:06 +04:00
John Preston
7e9302fce8 Try linking with -z,now on Linux once again. 2021-11-02 09:43:20 +04:00
John Preston
bd2fe2f68e Debug std::isnan assertion violation. 2021-11-02 09:37:33 +04:00
John Preston
e73c049899 Fix crash in PopupMenu hide on macOS. 2021-11-02 00:18:57 +04:00
John Preston
dab3bce8ba Fix crash on macOS before the app starts. 2021-11-02 00:07:22 +04:00
John Preston
eae6e4fc60 Fix build on non-Windows. 2021-11-02 00:06:56 +04:00
John Preston
79a8fced80 Fix scrolling by Page Up / Down by Qt 6 patch. 2021-11-01 16:57:40 +04:00
John Preston
3bd9ccd45d Don't generate dSYM for macOS build. 2021-11-01 16:57:40 +04:00
John Preston
1bfa97d4fd Fix invite link icons on macOS Retina. 2021-11-01 16:57:40 +04:00
John Preston
3b4b5d3576 Don't activate PeerListRow elements on mouse down. 2021-11-01 16:57:40 +04:00
John Preston
98cb1478c7 Fix requests list processing. 2021-11-01 16:04:30 +04:00
John Preston
099326f211 Don't set window border color on Windows 11.
When set it can only be opaque which doesn't look great.
When left default it is made of a semi-transparent shadow color.
2021-11-01 15:03:28 +04:00
John Preston
8b4a95826c Fix webpage layout with ViewButton. 2021-11-01 14:54:44 +04:00
Ilya Fedin
27a9b61f72 Avoid Qt's fractional scaling 2021-11-01 13:12:13 +04:00
GitHub Action
bad193ec29 Update User-Agent for DNS to Chrome 94.0.4606.81. 2021-11-01 13:12:00 +04:00
John Preston
60444b1fee Fix message ViewButton rendering in 1x. 2021-11-01 13:11:34 +04:00
John Preston
65d96c0364 Fix crash in imported messages in search. 2021-11-01 13:11:34 +04:00
John Preston
28f85eb710 Allow running custom commands through prepare script. 2021-11-01 11:51:49 +04:00
John Preston
63485dbf7f Change sponsored messages about link. 2021-11-01 11:50:55 +04:00
John Preston
d58b9dc954 Re-enable -pie along with AppImage-like format hack.
Fixes #1112.

This allows the binary to be launched even when compiled with -pie.
2021-10-31 16:49:44 +04:00
John Preston
7b8b50ecd5 Beta version 3.1.12.
- Create special invite links that require admins
to approve users before they become members.
- Admins can view the applicants' profiles and bios
by tapping the Join Requests bar at the top of the chat.
- Add internal labels to your chat's Invite Links
to keep them organized.
- Run natively on Apple Silicon (macOS only).
2021-10-31 12:33:22 +04:00
John Preston
5cbfdad2e8 Separate strings for "requested to join {date}". 2021-10-31 12:33:22 +04:00
John Preston
51addb7320 Fix build on Windows 64 bit. 2021-10-31 12:28:22 +04:00
John Preston
e652b4b65e Improve DeviceModelPretty. 2021-10-31 11:31:13 +04:00
John Preston
510e1e9cdf Fix one more unused variable warning. 2021-10-31 11:01:39 +04:00
John Preston
057e8ce391 Fix drag by title on macOS. 2021-10-31 10:14:00 +04:00
John Preston
1d655fb5b5 Fix build on Windows and Linux CI. 2021-10-31 10:07:12 +04:00
John Preston
5761e7559a Fix compilation error on GCC. 2021-10-31 09:45:43 +04:00
23rd
c55dc00180 Added selecting scroll to sections.
Fixed #17136.
2021-10-30 21:22:51 +03:00
23rd
27dc91e51a Moved management of selecting scroll to separated class in td_ui. 2021-10-30 21:22:51 +03:00
23rd
6ef67caa73 Fixed emoji clearing in sections when sending failed due to slowmode.
Fixed #17149.
2021-10-30 21:22:51 +03:00
Ilya Fedin
b36fce31d5 Add missing libSM and libICE to snap 2021-10-30 21:46:48 +04:00
John Preston
aaafa8b3f6 Fix compilation error on GCC. 2021-10-30 17:19:58 +04:00
John Preston
b4950fe943 Fix build for Mac App Store. 2021-10-30 17:19:24 +04:00
John Preston
7ad6699bff Show mouse hold tip when clicking record button. 2021-10-30 15:13:18 +04:00
John Preston
05efc925f8 Fix CMake warning when running on Windows. 2021-10-30 15:03:45 +04:00
23rd
06c9cac2e4 Updated Qt license. 2021-10-30 14:20:20 +04:00
Ilya Fedin
4b33d7cb2f Fix Qt dependencies in snap
Qt uses libOpenGL and libGLX instead of libGL now
2021-10-30 14:02:37 +04:00
John Preston
9c0bf32b84 Fix tg_owt build in prepare script on Windows. 2021-10-29 22:29:05 +04:00
Ilya Fedin
2a504dd90d Update lib_base 2021-10-29 22:06:46 +04:00
Ilya Fedin
97881e7754 Default to Qt 6 on Linux and macOS 2021-10-29 22:06:46 +04:00
Ilya Fedin
e42f08f08d Switch snap to Qt 6 2021-10-29 22:06:46 +04:00
John Preston
42015d6a72 Use new defaults in configure invocations. 2021-10-29 22:05:21 +04:00
John Preston
094010a91d Fix Breakpad + remove Crashpad build on Windows. 2021-10-29 22:01:04 +04:00
John Preston
f71a2149f3 Improve defaults in prepare script. 2021-10-29 21:21:33 +04:00
John Preston
1297860652 Fix build of minidump_stackwalk. 2021-10-29 21:11:23 +04:00
John Preston
c528ea24ea Version 3.1.11.
- Create special invite links that require admins to approve users before they become members.
- Admins can view the applicants' profiles and bios by tapping the Join Requests bar at the top of the chat.
- Add internal labels to your chat's Invite Links to keep them organized.
- Run natively on Apple Silicon (macOS only).
2021-10-29 19:06:19 +04:00
John Preston
fa8792927e Improve invite link name phrases. 2021-10-29 18:31:07 +04:00
John Preston
aaae5b0553 Support invite link label editing. 2021-10-29 18:31:07 +04:00
John Preston
eb82664452 Use recent requester userIds from API. 2021-10-29 18:31:07 +04:00
John Preston
36271d6b85 Save recent requester userIds from API. 2021-10-29 18:31:07 +04:00
John Preston
f839c7f2bb Update API scheme on layer 134. 2021-10-29 18:31:07 +04:00
John Preston
94dc595a81 Show full profile from group members list. 2021-10-29 18:31:07 +04:00
John Preston
2f4651fe6f Fix build on macOS. 2021-10-29 18:31:07 +04:00
John Preston
97ae094c3c Update API scheme with new cloud themes. 2021-10-29 18:31:07 +04:00
John Preston
045689fab1 Highlight links in about. 2021-10-29 18:31:07 +04:00
John Preston
47d957f942 Add 5 lines of About to group call context menu. 2021-10-29 18:31:07 +04:00
John Preston
d0606a3798 Show PeerShortInfoCover in group call context menu. 2021-10-29 18:31:07 +04:00
John Preston
bcddda3cd3 Extract PeerShortInfoCover from the box. 2021-10-29 18:31:07 +04:00
John Preston
b5f50a4b9f Preload photos in PeerShortInfoBox. 2021-10-29 18:31:07 +04:00
John Preston
9c77f26a8b Show radial progress in PeerShortInfoBox photo. 2021-10-29 18:31:07 +04:00
John Preston
d73d5724d8 Show radial progress in PeerShortInfoBox video. 2021-10-29 18:31:07 +04:00
John Preston
9f21da8bde Display profile video playback progress. 2021-10-29 18:31:07 +04:00
John Preston
6b137b9778 Make full PeerShortInfoBox scrollable. 2021-10-29 18:31:07 +04:00
John Preston
c9e5eadb06 Use a detailed phrase for single user join request. 2021-10-29 18:31:07 +04:00
John Preston
05bdef041b Improve PeerShortInfoBox cover updating. 2021-10-29 18:31:07 +04:00
John Preston
360a92c198 Show user photos overview in PeerShortInfoBox. 2021-10-29 18:31:07 +04:00
John Preston
64f6b86739 Return local search to requests box. 2021-10-29 18:31:07 +04:00
John Preston
dcc14a4726 Add info rows to PeerShortInfoBox. 2021-10-29 18:31:07 +04:00
John Preston
2ca5f26546 Don't show "You:" in private chats. 2021-10-29 18:31:07 +04:00
John Preston
24e0ea2a59 Show profile video in PeerShortInfoBox. 2021-10-29 18:31:07 +04:00
John Preston
61ac7e6c1d Start PeerShortInfoBox for small in-box profiles. 2021-10-29 18:31:06 +04:00
John Preston
49b28ac695 Reuse "info_add_member" icon for requests management. 2021-10-29 18:31:06 +04:00
John Preston
2163957299 Fix empty chat history after custom themed chat. 2021-10-29 18:31:06 +04:00
John Preston
2e1981c5a6 Improve confirm join box design. 2021-10-29 18:31:06 +04:00
John Preston
ab60628386 Usage limit and requests are mutually exclusive. 2021-10-29 18:31:06 +04:00
John Preston
2ade6be146 Show correct phrase in local join messages. 2021-10-29 18:31:06 +04:00
John Preston
721aac57a5 Fix processing requests from search results. 2021-10-29 18:31:06 +04:00
John Preston
8618f6d7eb Push recent requests from requests box to the bar. 2021-10-29 18:31:06 +04:00
John Preston
7543351bc9 Add pending requests bar in the chat. 2021-10-29 18:31:06 +04:00
John Preston
0dfbd5fa6e Allow processing requests from full list. 2021-10-29 18:31:06 +04:00
John Preston
9dfbc96274 Display full list of requests. 2021-10-29 18:31:06 +04:00
John Preston
ab58aa020e Allow many custom elements in PeerListRow. 2021-10-29 18:31:06 +04:00
John Preston
7f428f2eeb Show full requests list in a box. 2021-10-29 18:31:06 +04:00
John Preston
b4895ef730 Allow to accept / reject requests by link. 2021-10-29 18:31:06 +04:00
John Preston
9e05e44a14 Inform about join request being sent. 2021-10-29 18:31:06 +04:00
John Preston
3af3f85f82 Allow creating approve-only invite links. 2021-10-29 18:31:06 +04:00
John Preston
e471d61d7a Enable ads leading to a specific channel post. 2021-10-29 18:31:06 +04:00
John Preston
185523f66f Update API scheme to layer 134. 2021-10-29 18:31:06 +04:00
John Preston
66a83d3862 Update build script for macOS. 2021-10-29 18:29:29 +04:00
John Preston
ad9d15dd21 Remove debug code from resource loading. 2021-10-29 17:42:57 +04:00
John Preston
f204b9fca0 RegisterBundledResources only on macOS. 2021-10-29 17:42:57 +04:00
John Preston
a3e3bcd46d Fix repeated phoneCallRequested update handling. 2021-10-29 17:42:57 +04:00
John Preston
c693b03a64 Update breakpad build in Windows CI. 2021-10-29 17:42:57 +04:00
John Preston
31f15a2f09 Beta version 3.1.10.
- Native support for M1 on macOS.
2021-10-29 16:11:15 +04:00
John Preston
45b5e1241c Show device model in sessions list on Windows / Linux. 2021-10-29 16:11:15 +04:00
John Preston
43d42b54f8 Closed alpha version 3.1.9.5: Separate macOS updates. 2021-10-29 16:10:07 +04:00
John Preston
090277d7a1 Upload a separate macOS ARM update. 2021-10-29 16:10:07 +04:00
John Preston
766b393295 On macOS build autoupdates single-arch + universal setup. 2021-10-29 16:10:07 +04:00
John Preston
b2d647b579 Add support for fcitx-qt5 on Qt 6.2. 2021-10-29 16:10:07 +04:00
John Preston
1ed6844247 Use Qt resources from a file on macOS. 2021-10-29 16:10:07 +04:00
John Preston
5276e5b4ae Build minidump_stackwalk separately.
On macOS gyp is no longer required for non-official builds.
2021-10-29 16:10:07 +04:00
John Preston
6587f89db1 Update Breakpad to the latest commit. 2021-10-29 16:10:07 +04:00
John Preston
fb262b265b Link a single crashpad_client library. 2021-10-29 16:10:07 +04:00
John Preston
95074ef304 Closed alpha version 3.1.9.2 for macOS. 2021-10-29 16:10:07 +04:00
John Preston
4ac93806aa Fix emoji in the input fields on macOS with Qt 6.2. 2021-10-29 16:10:07 +04:00
John Preston
92b3149cdd Pass CMAKE_OSX_ARCHITECTURES from command line to configure. 2021-10-29 16:10:07 +04:00
John Preston
98c87d4a16 Dump symbols for both macOS builds. 2021-10-29 16:10:07 +04:00
John Preston
9a93d5811a Closed alpha version 3.1.9.1: Universal 2 macOS build. 2021-10-29 16:10:07 +04:00
John Preston
759e3270cc Fix popup menu transparency on macOS with Qt 6.2. 2021-10-29 16:10:07 +04:00
John Preston
746b72166f Fix main window drag-by-title on macOS with Qt 6.2. 2021-10-29 16:10:07 +04:00
John Preston
0292df12ef Working Universal 2 build. 2021-10-29 16:10:07 +04:00
John Preston
1e86c07505 Build FFMpeg as Universal 2 binaries. 2021-10-29 16:10:07 +04:00
John Preston
47b6956be9 Update crashpad to a new revision. 2021-10-29 16:10:07 +04:00
John Preston
df8708ef1e Build some dependencies as Universal 2 binaries. 2021-10-29 16:10:07 +04:00
John Preston
20c0be0df6 Use python from a correct folder. 2021-10-29 16:10:07 +04:00
23rd
cefdc29a7f Fixed release build of Breakpad on clean macOS. 2021-10-29 16:10:07 +04:00
23rd
70e9b4a332 Moved type of call id to alias. 2021-10-29 16:10:07 +04:00
23rd
08939ac51d Fixed display of edit badge in albums. 2021-10-29 16:10:07 +04:00
23rd
b5d9947408 Slightly improved code style in Calls:Call. 2021-10-29 16:10:07 +04:00
23rd
78f0cf908e Moved RateCallBox to td_ui. 2021-10-29 16:10:07 +04:00
23rd
93ae5e71f7 Guarded timers for online processing in touchbar's PinnedDialogButton. 2021-10-29 16:10:07 +04:00
Ilya Fedin
b8b268c7cc Add build architecture to version on other systems with non-x86_64 2021-10-29 16:02:41 +04:00
Ilya Fedin
c991bbc7e3 Reduce obtrusiveness of the lock bot 2021-10-29 16:02:15 +04:00
Ilya Fedin
45bbe33929 Multiple scale values in UI by device pixel ratio on non-Mac
To avoid confusion
2021-10-25 19:55:11 +04:00
John Preston
5aaa72e8cd Fix crash in scheduled emoji interactions.
Fixes #17093.
2021-10-25 09:43:22 +04:00
John Preston
57345cec3b Discard incoming calls by ring_timeout (1.5 minutes). 2021-10-25 09:43:12 +04:00
John Preston
fba17a8c25 Update description in lib/xdg/telegramdesktop.appdata.xml.in. 2021-10-25 09:23:36 +04:00
Ilya Fedin
70147922ae Re-enable kwayland with Qt 6 2021-10-25 08:59:43 +04:00
Ilya Fedin
44cc3c7809 Update submodules 2021-10-24 20:01:55 +04:00
Ilya Fedin
c50a5db277 Restore dbusmenu-qt dependent functionality with Qt 6 2021-10-24 20:01:55 +04:00
John Preston
389ea2af83 Fix compilation error on Linux. 2021-10-22 18:34:59 +04:00
John Preston
4cf9bf18e9 Fix clearing of macOS native notifications. 2021-10-21 23:37:14 +04:00
John Preston
7bc4b2c595 Add StickersSet::thumbnailBigFileBaseCacheKey. 2021-10-21 23:01:14 +04:00
John Preston
9075489c18 Use last history item date for jump-to-date. 2021-10-21 23:01:13 +04:00
John Preston
d361f5c6b0 Hide native notifications of deleted messages. 2021-10-21 23:01:13 +04:00
John Preston
1f95e00793 Fix "Copy Selected Text" appearing outside of selection. 2021-10-21 22:59:49 +04:00
John Preston
3d8899b9dc Update tg_owt revision. 2021-10-21 22:53:12 +04:00
John Preston
dba9aa30f7 Fix build action on macOS. 2021-10-21 21:01:33 +04:00
John Preston
3626943fc9 Use Qt 6.2 build on macOS GitHub action. 2021-10-21 20:20:35 +04:00
John Preston
1f6a9ab556 Fix prepare libraries on macOS with Qt 6.2. 2021-10-21 20:19:56 +04:00
John Preston
f7085b40b1 Support building macOS version with Qt 6.2. 2021-10-21 19:49:48 +04:00
Ilya Fedin
7222bc63f7 Update MozJPEG 2021-10-21 19:31:22 +04:00
Ilya Fedin
3dacbc6bf6 Ignore changes to Dockerfile on mac 2021-10-21 19:31:22 +04:00
Ilya Fedin
9dfa29ff0f Avoid using scl binary since it breaks conditions 2021-10-21 18:31:08 +04:00
Ilya Fedin
a1e67b6177 Fix failing on exit code check 2021-10-21 15:51:36 +04:00
Ilya Fedin
03a687c200 Adapt Dockerfile for Qt 6 2021-10-21 15:43:59 +04:00
Ilya Fedin
847c01d605 Add Qt 6 support
Tested only on Linux so far
2021-10-21 13:15:00 +04:00
23rd
ea10cf5758 Moved api polls processing to separated file. 2021-10-20 22:56:19 +03:00
23rd
159beb138a Moved api peer photo processing to separated file.
Removed MainWidget::deletePhotoLayer.
2021-10-20 22:56:19 +03:00
23rd
36d6682122 Improved code style in ChangePhoneBox. 2021-10-20 04:06:17 +03:00
23rd
25f6bea66e Moved ConfirmPhoneBox to td_ui. 2021-10-19 06:34:28 +03:00
23rd
80461bd9fe Moved ConfirmBox to Ui namespace. 2021-10-19 06:34:27 +03:00
23rd
6148edbc7d Moved ConfirmBox to td_ui. 2021-10-19 06:34:27 +03:00
23rd
3fa529d858 Extracted MaxInviteBox to separated file. 2021-10-19 06:34:27 +03:00
23rd
9117b3cdfa Extracted DeleteMessagesBox to separated file. 2021-10-19 06:34:27 +03:00
23rd
d4fe5f7a83 Extracted PinMessageBox to separated file. 2021-10-19 06:34:27 +03:00
23rd
fa6725c54a Extracted api code from ConfirmPhoneBox to separated file. 2021-10-19 06:34:27 +03:00
23rd
f9976005f7 Moved ShowPhoneBannedError to separated file. 2021-10-19 06:34:27 +03:00
23rd
c6e1b14429 Added Window::SessionController to ChangePhoneBox. 2021-10-19 06:34:27 +03:00
23rd
30681e2e58 Moved widget sliders to td_ui. 2021-10-19 06:34:27 +03:00
23rd
c15ba7d23a Moved SentCodeField to td_ui. 2021-10-19 06:34:27 +03:00
23rd
94d5d20281 Simplified saving self bio. 2021-10-19 06:34:27 +03:00
23rd
b776308fd7 Moved some constants for peer editing to separated file. 2021-10-19 06:34:27 +03:00
23rd
2d37920a4c Improved code style in some peer boxes. 2021-10-19 06:34:27 +03:00
23rd
ee05e0af06 Improved code style in UsernameBox. 2021-10-19 06:34:27 +03:00
23rd
2efd735243 Removed static storing of passport config. 2021-10-14 17:41:52 +03:00
John Preston
adb0a9b6f0 Fix document filenames.
Regression was introduced in 2b11e45692.
2021-10-11 22:58:24 +04:00
CoderTimZ
c9e24c2283 Display dates with the system date format 2021-10-11 21:56:29 +04:00
John Preston
041c922451 Add non-MTP ParseWebPageType. 2021-10-11 21:54:07 +04:00
John Preston
01c1096c62 Save Data::Session* in GameData. 2021-10-11 21:53:18 +04:00
John Preston
2b11e45692 Add DocumentData::setFileName. 2021-10-11 21:52:49 +04:00
23rd
6163e922b3 Added view button to webpages. 2021-10-10 19:30:38 +03:00
John Preston
1613495425 Version 3.1.9.
- Fix crash in chat closing while scrolling (macOS only).
2021-10-08 22:37:36 +04:00
23rd
455c7280a4 Fixed possible crash in scroll of empty HistoryWidget. 2021-10-08 19:10:39 +03:00
John Preston
746f8d835d Version 3.1.8.
- Show small media previews in chats list.
- Show media album previews and caption text in chats list.
- Add "Quick Reply" and "Mark as Read" to native Windows notifications.
2021-10-08 13:51:22 +04:00
John Preston
d66e9a1b00 Remove -pie linker flag.
See https://gitlab.gnome.org/GNOME/nautilus/-/issues/1601
2021-10-08 13:50:27 +04:00
John Preston
8cca75da5c Handle foreign instance in COM toast activator. 2021-10-08 13:46:52 +04:00
John Preston
8d0ff1b61d Try setting current window as foreground on activate. 2021-10-08 12:20:24 +04:00
John Preston
dd856b9e4a Use real QWindow for taskbar icon hider.
Fixes #17081.
2021-10-08 12:19:41 +04:00
23rd
eb5ba12ba3 Fixed ability to copy original caption in admin log.
Fixed #17076.
2021-10-08 10:39:36 +04:00
23rd
e2c5995a2e Fixed timestamp highlighting in albums.
Fixed #17078.
2021-10-08 10:39:36 +04:00
23rd
ef10bb2bd6 Fixed editing caption of album from context menu.
Fixed #17077.
2021-10-08 10:39:36 +04:00
23rd
64aa5480ad Fixed display edited badge in scheduled albums.
Moved hideEditedBadge from HistoryMessage to HistoryItem.
2021-10-08 10:39:36 +04:00
23rd
816f422e21 Removed MTP* from applying message edition.
Fixed #17073.
2021-10-08 10:39:36 +04:00
23rd
6c0dccd9ff Fixed replying in replies by double click.
Fixed #16645.
2021-10-08 10:39:36 +04:00
23rd
c2b505b78c Added ability to open specific post from sponsored messages. 2021-10-08 10:39:27 +04:00
23rd
d8fb5be9b5 Moved opening peer from PeerClickHandler to SessionController. 2021-10-07 23:32:10 +03:00
23rd
51b259fdea Updated ad description. 2021-10-07 23:32:10 +03:00
John Preston
d532b65d1c Don't use MTP* for replies data. 2021-10-07 22:57:44 +04:00
John Preston
bef35b9bc3 Don't use MTP* in call and invoice media data. 2021-10-07 18:22:28 +04:00
John Preston
ae261fcede Beta version 3.1.7.
- Fix channel message views and comments counter updates.
- Sponsored messages support.
- Crash fix.
2021-10-07 11:42:24 +04:00
John Preston
c04cdff7f7 Disable group call logs to console. 2021-10-07 11:42:24 +04:00
John Preston
466aa5a14d Fix view button style. 2021-10-07 11:38:07 +04:00
John Preston
4aac633413 Fix views increment.
Regression was introduced in 21aa1f49d7.

Fixes #17069.
2021-10-07 11:29:30 +04:00
23rd
ad328d35a2 Added box for ad description. 2021-10-07 11:09:09 +04:00
23rd
c5140f34a7 Added view button to sponsored messages. 2021-10-07 11:09:09 +04:00
23rd
419f6345b3 Added sponsored messages to HistoryWidget. 2021-10-07 11:09:09 +04:00
23rd
c2c53df886 Added new Ui::СontinuousScroll. 2021-10-07 11:09:09 +04:00
23rd
b3f73bb6a9 Added badge for sponsored messages. 2021-10-07 11:09:08 +04:00
23rd
eda5cd47ad Added manager of sponsored messages. 2021-10-07 11:09:08 +04:00
John Preston
0c906a5e6d Fix crash in local changelog messages. 2021-10-07 10:58:24 +04:00
John Preston
352768053d Beta version 3.1.6: Fix build on Linux. 2021-10-06 21:07:18 +04:00
John Preston
79b1cec4f3 Beta version 3.1.6: Remove -z,all from linker flags on Linux.
I hope it fixes #17037.
2021-10-06 20:37:39 +04:00
John Preston
8d09190439 Build ffmpeg without --disable-alsa/iconv on Linux. 2021-10-06 20:37:30 +04:00
John Preston
5cd0a3719e Beta version 3.1.6: Detach FastReply from MarkAsRead. 2021-10-06 19:24:30 +04:00
John Preston
8b7cd4a0c7 Beta version 3.1.6: Fix crash on old Windows 10 versions. 2021-10-06 17:36:30 +04:00
John Preston
937c2d3dce Beta version 3.1.6: Update patches revision. 2021-10-06 13:44:28 +04:00
23rd
1fa5d273cc Fixed scroll in Dialogs::Widget.
Regression was introduced in cb8f49aea0.
2021-10-06 13:40:26 +04:00
John Preston
24fa3dbf8f Beta version 3.1.6: Fix build on macOS. 2021-10-06 11:10:06 +04:00
John Preston
c9b782fd63 Beta version 3.1.6.
- Show small media previews in chats list.
- Show media album previews and caption text in chats list.
- Add "Quick Reply" and "Mark as Read" to native Windows notifications.
2021-10-06 11:07:38 +04:00
John Preston
e7cf560da0 Handle toast activations by COM activator. 2021-10-06 11:02:57 +04:00
John Preston
86e07518ad Fix clearing notifications from Action Center.
Regression was introduced in 997913be25.
2021-10-05 16:53:36 +04:00
John Preston
8c71d03959 Add reply from Windows native notifications. 2021-10-05 16:52:46 +04:00
John Preston
967e86f4ab Rewrite Windows native notifications using C++/WinRT. 2021-10-05 12:09:15 +04:00
John Preston
730412fefe Load albums of last chat messages. 2021-10-04 23:47:33 +04:00
John Preston
576883ddc8 Make mini preview radius 2px. 2021-10-04 23:47:33 +04:00
John Preston
992d636680 Generate album mini previews with up-to-three images. 2021-10-04 23:47:33 +04:00
John Preston
8cdd2f113f Add play icon to video mini previews. 2021-10-04 23:47:33 +04:00
John Preston
d5f935b73d Put mini-previews after sender name. 2021-10-04 23:47:33 +04:00
John Preston
84f561b251 Don't use MTP* in the image editor. 2021-10-04 23:47:33 +04:00
John Preston
21ac2b8f3a Don't use MTP* for reply markup data. 2021-10-04 23:47:30 +04:00
John Preston
1790828b01 Dump symbols from the binary instead of dSYM.
For some reason dump_syms from dSYM now fails with an error:

Telegram.app.dSYM/Contents/Resources/DWARF/Telegram:
the section '__text' in segment '__TEXT' claims its contents lie outside the segment's contents
2021-10-04 23:45:21 +04:00
John Preston
792b9090a7 Generate mini-previews for photos and files. 2021-10-04 23:45:21 +04:00
John Preston
8c21fad642 Move preview paint to Dialogs::Ui::MessageView. 2021-10-04 23:45:21 +04:00
John Preston
5136cc3c9c Rename Dialogs::Layout to Dialogs::Ui. 2021-10-04 23:45:21 +04:00
John Preston
b78b27f517 Move dialogs_layout to dialogs/ui/. 2021-10-04 23:45:21 +04:00
John Preston
85760ea92c Fix repeated attempt to transfer ownership.
Fixes #8570.
2021-10-04 23:45:21 +04:00
Ilya Fedin
c2212c719e Inform Qt about taskbar hider
This allows the feature to work without patching Qt
2021-10-04 23:23:50 +04:00
GitHub Action
fc8a0d0efd Update User-Agent for DNS to Chrome 94.0.4606.61. 2021-10-04 23:23:20 +04:00
23rd
c052c37621 Fixed build for non-Windows. 2021-09-30 21:04:43 +03:00
23rd
21f7cec781 Fixed build for macOS. 2021-09-30 21:21:07 +04:00
23rd
64af456d29 Fixed build for macOS. 2021-09-30 21:16:45 +04:00
John Preston
7751c4ac1f Port PQ factorization from TDLib. 2021-09-30 21:14:00 +04:00
23rd
ececdcb9c0 Removed Q_SLOTS from HistoryInner. 2021-09-30 18:45:38 +03:00
23rd
cb8f49aea0 Removed Q_OBJECT from ScrollArea. 2021-09-30 18:45:38 +03:00
23rd
e3ef7d6631 Removed MainWidget::highlightStartTime. 2021-09-30 18:45:38 +03:00
23rd
21aa1f49d7 Moved views increment scheduler from MainWidget to separate file. 2021-09-30 18:45:38 +03:00
John Preston
51e80170e2 Always clear passcode lock widget on reset.
Fixes #17016.
2021-09-30 19:37:42 +04:00
John Preston
b2526ab7f6 Make sure special MsgId-s are always outside ServerMaxMsgId range. 2021-09-30 19:31:03 +04:00
John Preston
e220447bdd Put the "N Seen" context menu item always first. 2021-09-30 15:36:14 +04:00
John Preston
ead695b101 Don't pass wide fake MsgId through MTPMessage. 2021-09-30 15:30:39 +04:00
John Preston
4ea72f8f89 Don't add "Change colors" to profile menu. 2021-09-30 15:30:29 +04:00
John Preston
4ef550da9b Hide webview while showing a box in payments. 2021-09-30 14:53:18 +04:00
John Preston
1e660fc2a2 Allocate 64 bits for message ids. 2021-09-30 13:49:37 +04:00
Ilya Fedin
6adf791b3b Update cmake_helpers 2021-09-29 09:04:23 +04:00
Ilya Fedin
d2a41a42e0 Move applicationDidFinishLaunching code to init
This should make the Qt patch catching the event unneeded
2021-09-29 09:04:23 +04:00
John Preston
315549b5f8 Beta version 3.1.5: Fix build on Linux. 2021-09-28 23:48:37 +04:00
John Preston
fd4a543bab Beta version 3.1.5: Fix theme change UI on Retina screens. 2021-09-28 22:27:41 +04:00
John Preston
d525e56053 Beta version 3.1.5: Fix build on Linux. 2021-09-28 22:08:28 +04:00
John Preston
dab5d1f994 Beta version 3.1.5.
- Choose one of 8 new preset themes for any individual private chat.
- Click on '...' menu > 'Change Colors' to pick a theme.
- Both chat participants will see the same theme
in that chat – on all their devices.
- Each new theme features colorful gradient message bubbles,
beautifully animated backgrounds and unique background patterns.
- All chat themes have day and night versions
and will follow your overall dark mode settings.
- Implement main window rounded corners on Windows 11.
- Fix audio capture from AirPods on macOS.
2021-09-28 22:00:51 +04:00
23rd
de3b52425c Removed unused HistoryInner::setFirstLoading. 2021-09-28 21:14:33 +04:00
John Preston
844fd58a97 Support Windows 11 rounded corners and themeable title bar. 2021-09-28 21:11:35 +04:00
John Preston
de2bad51d3 Scroll to currently selected theme. 2021-09-28 19:27:41 +04:00
John Preston
1424ea3540 Allow scrolling themes list. 2021-09-28 19:27:41 +04:00
John Preston
a8efd0ef3d Show chosen element in custom theme selector. 2021-09-28 19:27:41 +04:00
John Preston
1204e282d3 Fix attach icon in theme preview. 2021-09-28 19:27:41 +04:00
John Preston
6588242793 Prepare correct custom chat theme preview. 2021-09-28 19:27:41 +04:00
John Preston
b1ba9a42c6 Use Ui::GenerateBackgroundImage for preview in Settings. 2021-09-28 19:27:41 +04:00
John Preston
ab0d2bf9c6 Initial chat theme changing. 2021-09-28 19:27:41 +04:00
John Preston
80028e41f3 Bump OpenAL version in prepare script. 2021-09-28 19:25:39 +04:00
John Preston
2c581adc55 Add some hardening compiler / linker flags to dependencies. 2021-09-28 18:44:52 +04:00
John Preston
f0e8c1e325 Update lib_webview and docker patches revision. 2021-09-28 12:23:54 +04:00
John Preston
a2db9de4d7 Remove debug code. 2021-09-28 11:30:18 +04:00
John Preston
a228c62286 Fix "Nobody Viewed / Watched / Listened" seen state. 2021-09-27 18:51:50 +04:00
John Preston
37d940eca6 Beta version 3.1.4.
- Fix crash in network availability init.
- Fix assertion violation after a NaN-resulting std::round call.
2021-09-27 13:29:11 +04:00
John Preston
f7c24c54a1 Fix crash in failed network availability init. 2021-09-27 13:25:04 +04:00
John Preston
19ce1edc16 Use base::SafeRound instead of std::round.
Previous assertion violations because of NaN from std::round were
in video streaming, see commits 27d58ba07b, 8f5830d520.

Now the crashes happened in the ConvertScale() call from a background
thread when preparing an image from clipboard for sending to a chat.
2021-09-27 12:13:57 +04:00
John Preston
21b10cebe0 Beta version 3.1.3.
- Fix illegal instruction crash in opus encoder.
2021-09-27 10:28:29 +04:00
John Preston
50435f7783 Allow creating links with Ip addresses. 2021-09-27 10:28:29 +04:00
Ilya Fedin
1b789de4f4 Cherry-pick a opus fix for detecting CPU instructions on Windows 2021-09-27 08:50:51 +04:00
John Preston
a50310f0c1 Beta version 3.1.2 (Windows only).
- Control video in fullscreen mode using arrows and numbers.
- Open locations in browser if default Bing Maps is not installed.
- Reconnect without timeout when network availability changes.
- Crash fixes.
2021-09-26 17:24:09 +04:00
John Preston
eb02a7861a Add modern C++/WinRT headers path to Telegram project. 2021-09-26 17:20:22 +04:00
John Preston
8759ca4577 Rewrite bingmaps check to C++/WinRT. 2021-09-26 17:17:57 +04:00
Hermesis
d5c6d9a231 Open map in browser if default "bingmaps:" handler is not found 2021-09-26 17:16:38 +04:00
John Preston
63f179e93e Add Windows network reachability backend. 2021-09-26 14:31:54 +04:00
Hermesis
cfcc1b1ce7 Control video in fullscreen mode using arrows and numbers 2021-09-26 14:07:02 +04:00
John Preston
da1945d0ca Add some more information for an assertion violation. 2021-09-25 22:49:51 +04:00
John Preston
12252ef1aa One more attempt of OpenGL context loss crash fix. 2021-09-25 22:39:49 +04:00
John Preston
1eef94e8d9 Fix possible crash in delayed typing updates. 2021-09-25 22:39:11 +04:00
Ilya Fedin
0984e631fa Use opus built with cmake on Windows 2021-09-25 15:35:32 +04:00
John Preston
ec064a904d Version 3.1.1.
- Crash fixes.
2021-09-24 08:47:02 +04:00
John Preston
b47692e920 Update patches revision. 2021-09-24 08:46:52 +04:00
John Preston
132f127f3f Add some assertions to debug a crash. 2021-09-24 08:44:22 +04:00
John Preston
5c44b851fe One more attempt to fix crashes on context loss. 2021-09-23 17:39:39 +04:00
John Preston
2f5bed2899 Skip "contact joined" toast if disabled in Settings.
The chats still appear (they are server-side), but skip the toast.
2021-09-23 17:37:29 +04:00
John Preston
cf76933352 Fix saving tray "Toggle notifications" on relaunch.
Fixes https://bugs.telegram.org/c/9509
2021-09-22 14:03:41 +04:00
John Preston
eaa4c5e5b1 Fix caching by making a fake dir ThirdParty/gyp. 2021-09-22 12:42:59 +04:00
John Preston
a4b5b6e370 Fix crash in lottie destructor.
Fixes #16985.
2021-09-21 21:29:59 +04:00
John Preston
c1be1ca4ae Add ./build/prepare/linux.sh which builds docker. 2021-09-21 18:11:24 +04:00
Ilya Fedin
b2df781b76 Fix icon for Quit Telegram taskbar item in snap 2021-09-20 15:09:42 +03:00
Ilya Fedin
38815c1ca8 Backport fonts hook from snapcraft extensions 2021-09-20 11:40:03 +03:00
John Preston
2ec92f541c Version 3.1: Fix building Qt for Release. 2021-09-19 18:42:29 +03:00
John Preston
7ce8b42216 Version 3.1.
- Some animated emoji now have extra effects.
- Send 🎆 🎉, 🎈, :like:, 💩 or ❤️
to any private chat, then click on the animated emoji
to launch the effect.
- If your chat partner also has the chat open,
you will both see the effects.
- See the "Watching" status
when your chat partner is enjoying emoji effects with you.
- More interactive emoji coming soon.
- Right click one of your outgoing messages in small groups
to see who recently viewed it.
- To protect privacy, read receipts are only stored for 7 days
after the message was sent.
- Record video and audio from live broadcasts in your group or channel.
- Admins can start recording from the '...' menu.
- Choose between recording in portrait or landscape orientation.
- Finished recordings are sent to the admin's Saved Messages
and can be easily shared.
2021-09-19 18:21:31 +03:00
John Preston
17511749de Hold only last 5 custom themes in memory. 2021-09-19 18:15:46 +03:00
John Preston
4f6c7657bf Fix comments root pinned view disappearing. 2021-09-19 17:48:00 +03:00
John Preston
54085c70a4 Select light / dark custom theme based on dialogsBg value. 2021-09-19 17:39:29 +03:00
John Preston
e6c4b96c54 Just close SendFilesBox on last item remove.
Fixes https://bugs.telegram.org/c/2298
2021-09-19 17:36:31 +03:00
John Preston
b75221737a Make history-down button scale better. 2021-09-19 17:29:42 +03:00
John Preston
c336d725ea Fix media controls hiding workaround. 2021-09-19 16:55:55 +03:00
John Preston
d0fcc40d25 Don't play interactions in an inactive window. 2021-09-19 15:12:37 +03:00
John Preston
422bfd973b Don't play interactions without large emoji. 2021-09-19 15:12:20 +03:00
John Preston
d4db679ce8 Base custom chat themes on a separate light theme. 2021-09-19 14:43:09 +03:00
John Preston
2c7d8858c0 Base custom chat themes on a separate dark theme. 2021-09-19 14:43:09 +03:00
John Preston
155bbed3f4 Show correct video recording status. 2021-09-19 14:42:56 +03:00
John Preston
b1517c68fb Colorize outgoing selected state in light custom themes. 2021-09-19 14:42:51 +03:00
John Preston
d206ba7e1d Always underline links if color is the same as text. 2021-09-19 14:42:46 +03:00
John Preston
af100c2d13 Fix poll answer check in custom chat themes. 2021-09-19 14:40:43 +03:00
John Preston
1f25777929 Update watching emoji interaction phrase. 2021-09-19 14:40:43 +03:00
John Preston
a566405598 Show correct emoticon in interaction-seen status. 2021-09-19 14:40:43 +03:00
John Preston
b02967a44e Update tg_angle in prepare script. 2021-09-19 14:40:43 +03:00
John Preston
e0135e509d Allow exporting test chat themes. 2021-09-19 14:40:43 +03:00
John Preston
8274fddcbc Revert build-in Tinted theme.
Fixes #16969.
2021-09-19 14:40:43 +03:00
John Preston
82c45871c7 Fix build with Xcode. 2021-09-19 14:40:43 +03:00
23rd
2164caaab7 Fixed formatting of comments count. 2021-09-19 14:40:07 +03:00
Ilya Fedin
f4b162cbaf Update submodules 2021-09-19 13:22:38 +03:00
Ilya Fedin
4bc4584868 Build glibmm with LTO
In combination with https://github.com/desktop-app/cmake_helpers/pull/126 gets rid of unused glib symbols
2021-09-19 13:22:38 +03:00
John Preston
890a126423 Use shared provider for interaction animations. 2021-09-18 20:29:56 +03:00
John Preston
42cc24e167 Cache interactions in four cache keys. 2021-09-17 19:23:52 +03:00
John Preston
26b9146c32 Beta version 3.0.5: Try fixing messages skipping. 2021-09-17 14:27:34 +03:00
John Preston
ab6f5ae2ac Optimize bubble gradient background painting. 2021-09-17 13:22:33 +03:00
John Preston
559d4cf4da Update theme preview. 2021-09-17 13:22:33 +03:00
23rd
449f2d2f94 Migrated dependencies in Github CI for macOS. 2021-09-17 13:12:07 +03:00
John Preston
038f19d055 Beta version 3.0.5: Fix build on Linux. 2021-09-17 11:45:05 +03:00
John Preston
10d405aef4 Beta version 3.0.5: Add in-app changelog. 2021-09-17 10:57:42 +03:00
John Preston
efd4cceb19 Beta version 3.0.5.
- Add support for Emoji 13.1.
2021-09-17 10:56:16 +03:00
John Preston
822a3b69b5 Update libtgvoip. 2021-09-17 10:27:10 +03:00
John Preston
a632798383 Preserve alpha value in colorizer. 2021-09-17 10:25:37 +03:00
John Preston
cca08e3946 Fix crash in emoji interactions. 2021-09-17 10:25:36 +03:00
John Preston
4d267327b8 Update built-in Tinted dark theme. 2021-09-17 10:25:36 +03:00
John Preston
06798adce4 Accept skin colors and heart colors. 2021-09-17 10:25:36 +03:00
John Preston
34c0d97c54 Show emoji interaction seen status. 2021-09-17 10:25:36 +03:00
John Preston
4b7f594b0e Send emoji interaction seen requests. 2021-09-17 10:25:36 +03:00
John Preston
cfb43081c7 Play incoming interactions. 2021-09-17 10:25:36 +03:00
John Preston
703ea9aacd Apply scale keeping window center in place. 2021-09-17 10:25:36 +03:00
John Preston
de9b21e436 Correctly render interactions on inbox messages. 2021-09-17 10:25:36 +03:00
John Preston
73c0ea4b7d Don't mark as read when forwarding to scheduled. 2021-09-17 10:25:36 +03:00
John Preston
3e681e5449 Always force window frame inside screen geometry.
I hope this fixes #16934.
2021-09-17 10:25:36 +03:00
John Preston
bc2f96251f Limit amount of playing interactions. 2021-09-17 10:25:36 +03:00
John Preston
15f83892a1 Start emoji interactions playback. 2021-09-17 10:25:36 +03:00
John Preston
b6fafdd8f7 Limit emoji size to half of sticker size. 2021-09-17 10:25:36 +03:00
John Preston
139b9723d7 Accumulate and send emoji interactions. 2021-09-17 10:25:36 +03:00
John Preston
d152782115 Load and reload interaction stickers. 2021-09-17 10:25:36 +03:00
John Preston
35356a1736 Update API scheme. 2021-09-17 10:25:35 +03:00
Gleb Smirnoff
ef27670954 Fix compilation in presence of libzip installed.
When both minizip [1] and libzip [2] are present in the build
environment we have two <zip.h> includes. We are interested in
the minizip. Unfortunately, libzip usually installs its zip.h
straight into ${PREFIX}/include where lots of other headers reside.
We pick up ${PREFIX}/include into the include path with the
desktop-app::lib_base target, which is also dependency of
of tdesktop::td_* targets. To fix compilation in presence of
conflicting zip.h we need to put minizip's include directory
before ${PREFIX}/include, thus record its dependency before
all other dependencies that can bring desktop-app::lib_base.

[1] http://www.winimage.com/zLibDll/minizip.html
[2] https://libzip.org
2021-09-17 09:47:48 +03:00
Gleb Smirnoff
8cf9dc3319 Pull up to recent cmake_helpers and tg_owt that bring FreeBSD fixes. 2021-09-15 23:24:39 +03:00
Gleb Smirnoff
59f2f750b4 On FreeBSD the system malloc is jemalloc and non-portable
extensions are enabled including malloc_np.h.
2021-09-15 23:24:39 +03:00
John Preston
8069fdd873 Use base/random.h instead of openssl::RandomValue. 2021-09-15 13:42:22 +03:00
John Preston
52721847f4 Fix outgoing voice message unread mark. 2021-09-15 13:42:22 +03:00
John Preston
e492bbb883 Fix delayed pattern-with-negative-intensity appearance. 2021-09-14 16:36:30 +03:00
John Preston
7f20cc7b44 Update emoji to 13.1. 2021-09-14 15:14:25 +03:00
John Preston
7fbce765c9 Apply uniform-color palette to webpage preview titles. 2021-09-14 15:14:12 +03:00
John Preston
f771ad8cb1 Beta version 3.0.4: Fix build for Windows. 2021-09-13 20:13:15 +03:00
John Preston
6a53fc7edc Beta version 3.0.4: Add some theme loading logging. 2021-09-13 20:09:55 +03:00
John Preston
889c3293e7 Fix PathShiftGradient colors with custom palettes. 2021-09-13 20:09:23 +03:00
23rd
fa4b7145f5 Added extra space to choosing sticker animation in left position. 2021-09-13 18:13:50 +03:00
23rd
a5be9d78d8 Fixed animation for grouped userpics in who read context menu item. 2021-09-13 18:13:50 +03:00
John Preston
21c562fcb7 Make "set_version.py" working with Python 2.7 as well. 2021-09-13 18:03:43 +03:00
John Preston
626c062bf0 Beta version 3.0.4.
- Fix a crash when joining video chat or live broadcast.
- Add a "Close to Taskbar" option when tray icon is disabled
(Windows and Linux).
2021-09-13 18:01:39 +03:00
Ilya Fedin
e92ae40ecb Implement close to taskbar option 2021-09-13 17:46:53 +03:00
John Preston
ce256161f1 Couple of crash fixes. 2021-09-13 17:39:17 +03:00
John Preston
3bf9a1c70b Build minidump_stackwalk as part of macOS prepare. 2021-09-13 16:59:10 +03:00
John Preston
3202a5f081 Fix prepare getch for macOS. 2021-09-13 16:50:44 +03:00
John Preston
e99f650eaa Change default autoupdate URL. 2021-09-13 16:33:31 +03:00
John Preston
c6097d3d11 Accept "livestream" and "videochat" link params. 2021-09-13 16:19:59 +03:00
John Preston
58b5b3deec Update main built-in palette values. 2021-09-13 15:40:02 +03:00
John Preston
5a63428093 Improve messages in preparep.py. 2021-09-13 15:39:44 +03:00
John Preston
0c42bca111 Ask before rebuilding in prepare.py. 2021-09-13 15:01:52 +03:00
John Preston
13bf089672 Update patches revision. 2021-09-13 14:21:56 +03:00
John Preston
f73264025d Fix a crash after joining broadcasts. 2021-09-13 14:21:01 +03:00
Ilya Fedin
0a6fb696a3 Build Qt without egl-extension-platform-wayland 2021-09-13 10:51:35 +03:00
John Preston
bc2e6c4fd1 Accept uppercase hex values in theme testing links. 2021-09-12 23:18:37 +03:00
John Preston
d822f8e9ff Improve colorizing more. 2021-09-12 23:16:23 +03:00
John Preston
86362875dd Beta version 3.0.3.
- Try fixing crashes in allocator on Linux.
2021-09-12 01:53:04 +03:00
John Preston
0a4a96d4cd Fix action build on Linux. 2021-09-12 01:39:28 +03:00
John Preston
1c33eee80a Update hime to 0.9.11. 2021-09-12 00:33:35 +03:00
Ilya Fedin
4f5558d28c Move new dependencies to the beginning of Dockerfile, update patches
The reason was to not to do a full rebuild, but looks like the cache is already cleaned
2021-09-12 00:25:01 +03:00
Ilya Fedin
3fbd68cff9 Don't link glib with DESKTOP_APP_DISABLE_DBUS_INTEGRATION 2021-09-12 00:12:13 +03:00
Ilya Fedin
ee8c6f68d7 Use clang to build jemalloc since it crashes with gcc 2021-09-12 00:11:47 +03:00
John Preston
8d4174afb5 Fix macOS build in GitHub Actions. 2021-09-11 20:13:18 +03:00
John Preston
9150cc77f9 Improve colorizing of custom themes. 2021-09-11 12:26:35 +03:00
John Preston
8d31769846 Fix build with Xcode. 2021-09-11 00:02:15 +03:00
John Preston
13c00949ed Add a simple way of testing color themes. 2021-09-10 22:29:30 +03:00
John Preston
c4d822ba02 Fix action build on Windows. 2021-09-10 16:19:07 +03:00
John Preston
fd288fbdfd Beta version 3.0.2: Fix Windows build scripts. 2021-09-10 14:33:47 +03:00
John Preston
453954f901 Fix forward options for text messages. 2021-09-10 14:33:18 +03:00
John Preston
b1d52e088e Beta version 3.0.2.
- Check who've seen your message in small groups from the context menu.
- Enable recording with video in live streams and video chats.
2021-09-10 13:42:53 +03:00
Ilya Fedin
0570b2639d Link drm & zlib statically like before, make GL optional 2021-09-10 13:24:13 +03:00
Gleb Smirnoff
720f238cf8 Close a race between Gio threads and Qt application init.
QApplication has a historical feature[1] of calling setlocale(3) at init,
which today cause more harm than good.  Such call isn't thread safe neither
per C standard, not per any known libc implementation.  The Gio threads
would call into locale reading functions all the time, so early access to
locale by Gio may race with setlocale() by Qt leading to undefined behavior.

Platform specific start before the Sandbox (aka QApplication) is at core
design of tdesktop and that order can't be changed. There is no way to pause
Gio until QApplication instantiates.

Fortunately, Qt library itself has a static global flag that prevents it
from calling setlocale() twice. We don't even need to instantiate a
temporary QCoreApplication, we can just call into the method.  So call
it form Platform::start before any existing or future calls to Gio.

Fixes #16922

[1] https://chat.stackoverflow.com/rooms/63812/discussion-between-phil-armstrong-and-matteo-italia
2021-09-10 13:18:20 +03:00
John Preston
05b35bb803 Update API scheme. 2021-09-10 12:58:52 +03:00
John Preston
faa5619f1e Remove check used only for 32 bit ids. 2021-09-10 10:23:00 +03:00
John Preston
28be89f7c3 Correctly apply photos from "min" users. 2021-09-09 16:59:36 +03:00
23rd
54e76c0b71 Removed extra space from end of country patterns. 2021-09-09 16:32:07 +03:00
23rd
900a7d0b2b Appended references to const auto types in loop to prevent copying.
Suggested by Apple Clang.
2021-09-09 16:32:04 +03:00
John Preston
baea762832 Allow QSurfaceFormat::NoProfile in OpenGL detection. 2021-09-09 16:31:51 +03:00
John Preston
79b0bbf6cf Add an icon to who read context menu item. 2021-09-09 16:27:44 +03:00
John Preston
b4bff83266 Limit popup menu with who read users height. 2021-09-09 16:02:37 +03:00
John Preston
a3e8e379dd Show userpics in full who read list. 2021-09-09 11:48:30 +03:00
John Preston
14314df26a Show userpics in who read context item. 2021-09-09 00:10:49 +03:00
John Preston
8f480b52e7 Display who seen loading state as disabled item. 2021-09-08 14:38:05 +03:00
John Preston
fa5e66a736 Check listened / viewed for voice / video messages. 2021-09-08 13:50:56 +03:00
John Preston
eb1874566b Fix media caption text selection rendering. 2021-09-08 13:47:34 +03:00
John Preston
f135ece841 Update patches revision. 2021-09-08 00:10:36 +03:00
John Preston
374e3238ad Build FFmpeg with upstream yasm on macOS. 2021-09-07 23:41:54 +03:00
John Preston
54adf77d99 Build dependencies by script on Windows and macOS. 2021-09-07 23:41:54 +03:00
John Preston
7797099a49 Fix media viewer loading animation first show. 2021-09-07 23:41:08 +03:00
John Preston
d00226d51e Don't show important tooltips above layers. 2021-09-07 23:41:08 +03:00
John Preston
abbac61702 Show who've seen the message in submenu. 2021-09-07 23:41:08 +03:00
John Preston
2f5f100626 Start loading users who've read an outgoing message. 2021-09-07 23:41:08 +03:00
John Preston
8f9e394dd0 Fix build with GCC. 2021-09-07 23:41:08 +03:00
23rd
4582d2d0d5 Attempted to fix ordering buttons above boxes in group calls panel. 2021-09-07 23:41:08 +03:00
23rd
cd59ba6629 Added ability to start video recording in group calls. 2021-09-07 23:41:08 +03:00
John Preston
19611d5b26 Update patches revision in Docker. 2021-09-07 23:41:08 +03:00
John Preston
74846c87ce Closed alpha version 3.0.1.1. 2021-09-07 23:41:08 +03:00
John Preston
e880b66574 Rotate background with half a speed. 2021-09-07 23:41:08 +03:00
John Preston
b6cd9c2911 Invert patter image to white for dark colors. 2021-09-07 23:41:08 +03:00
John Preston
4273167aa2 Adjust outgoing bubble text and icon colors. 2021-09-07 23:41:08 +03:00
John Preston
c318f57fc0 Use outbox bubble colors, adjust custom colors. 2021-09-07 23:41:08 +03:00
John Preston
e4e5c4a1d2 Support 64 bit peer-bare-ids in export settings. 2021-09-07 23:41:07 +03:00
John Preston
a6c98f4bb4 Update API scheme to layer 133. 2021-09-07 23:41:07 +03:00
23rd
ce7a3c354c Simplified conditions for hiding hint for photo editor. 2021-09-07 23:41:07 +03:00
23rd
150dbef19f Added ability to save icon of last voice playback speed. 2021-09-07 23:41:07 +03:00
23rd
81a72caf07 Added context menu to voice playback speed button.
Fixed #16868.
Fixed #16138.
2021-09-07 23:41:07 +03:00
23rd
2f1db4f449 Fixed sending of choosing type from field autocomplete. 2021-09-07 23:41:07 +03:00
23rd
92425c7a1e Fixed space of action animation in middle text for different scales. 2021-09-07 23:41:07 +03:00
23rd
dabe83bd27 Fixed animation updating with small width for choosing sticker. 2021-09-07 23:41:07 +03:00
23rd
613f2ba708 Replaced instant base::call_delayed with InvokeQueued. 2021-09-07 23:41:07 +03:00
23rd
c1d3e5f0c5 Removed sending of typing action when sticker is chose in autocomplete. 2021-09-07 23:41:07 +03:00
23rd
de3b1ff9ae Removed unused static variable from CountryInput. 2021-09-07 23:41:07 +03:00
23rd
d4c0ac5e4a Removed forwarding options for dices. 2021-09-07 23:41:07 +03:00
23rd
58da62b413 Added refreshing of list in CountrySelectBox on update. 2021-09-07 23:41:07 +03:00
23rd
e80a7907a9 Removed Q_OBJECT from CountryInput. 2021-09-07 23:41:07 +03:00
23rd
48f7d715d6 Added all available calling codes on each country to CountrySelectBox. 2021-09-07 23:41:07 +03:00
Ilya Fedin
45360adbc2 Remove unneeded libraries from snapcraft.yaml 2021-09-07 23:40:08 +03:00
Ilya Fedin
60fb2d7c1f Move LZMA usage under TDESKTOP_DISABLE_AUTOUPDATE 2021-09-07 23:40:08 +03:00
John Preston
84cbb98000 Attempt#3 to fix build with GCC. 2021-09-07 12:59:33 +03:00
John Preston
32301046e7 Attempt#2 to fix build with GCC. 2021-09-07 12:56:54 +03:00
Ilya Fedin
23378e4661 Migrate to no-response action since github app is archived 2021-09-07 12:26:22 +03:00
GitHub Action
9a6d7d3a95 Update User-Agent for DNS to Chrome 92.0.4515.131. 2021-09-07 12:24:42 +03:00
Beni Cherniavsky-Paskin
f8c631ed24 Export CSS: per-line automatic bidi direction
Fixes #16120.
`unicode-bidi: plaintext` makes browser auto-detect base bidi direction according to bidi algorithm heuristics, on each line separately.
https://drafts.csswg.org/css-writing-modes/#bidi-algo
AFAICT this matches both Android and Desktop behaviors, and is the friendly behavior for mixed-direction users.
Purely LTR users should not be affected — the heuristics return LTR even on "neutral" lines that contain no letters, only punctuation/emojis/digits.
(http://www.unicode.org/reports/tr9/#P2 — rule P3 defaults to level 0, which is LTR.)
Whereas all RTL language users in practice need to deal with mixed-direction texts, and the ability to split lines to prevent LTR/RTL mixups is extremely handy...

The `text-align: start` ensures LTR-detected lines are displayed left-aligned, and RTL-detected lines right-aligned.
Which again matches both Android and Desktop behaviors.
This is redundant — it seems already the default with current CSS — but is important for mixed-language users, so I wanted to ensure it in case somebody sets alignment on bigger parts of the document in the future.
2021-09-07 12:20:44 +03:00
John Preston
246f2ca1ac Attempt to fix build with GCC. 2021-09-07 12:19:42 +03:00
John Preston
9f43719075 Fix build with Xcode. 2021-09-07 12:18:18 +03:00
Ilya Fedin
05d4d58f8b Replace GTK integration with xsettings + XDP 2021-09-06 15:43:28 +03:00
John Preston
434a7c5293 Remember volume from SMC.
Co-authored-by: 23rd <23rd@vivaldi.net>
2021-09-06 15:40:51 +03:00
udf
fb1c253992 Set mixer volume on media control change 2021-09-06 15:40:51 +03:00
udf
d53932382c Set mixer volume before changing setting 2021-09-06 15:40:51 +03:00
John Preston
463da7e410 Allow Ui::GL::Renderer::deinit on lost context. 2021-09-06 13:13:26 +03:00
John Preston
241798ac29 Custom colors in historyDown/unreadMentions buttons. 2021-09-06 13:13:26 +03:00
John Preston
64457cd6cb Custom colors in FillComplex(Overlay|Location)Rect. 2021-09-06 13:13:26 +03:00
John Preston
16c9031f88 Fix a phrase in voice chat settings. 2021-09-06 13:13:26 +03:00
John Preston
b2364140e9 Custom colors in all media/history_view_ modules. 2021-09-06 13:13:26 +03:00
John Preston
cbfe57c51d Custom colors in history_view_document module. 2021-09-06 13:13:26 +03:00
John Preston
23e9e7b9f0 Remove for_const macro. 2021-09-06 13:13:26 +03:00
John Preston
2a2607d026 Custom colors in history_view_service_message module. 2021-09-06 13:13:26 +03:00
John Preston
1a4a9319f3 Custom colors in history_view_message module. 2021-09-06 13:13:26 +03:00
John Preston
444f21fd7e Support colorizing of the default palette. 2021-09-06 13:13:26 +03:00
John Preston
2554aaf3c0 Move Window::Theme::Colorizer to style::colorizer. 2021-09-06 13:13:26 +03:00
John Preston
c4982711db Use ui/style/style_core_palette. 2021-09-06 13:13:26 +03:00
Ilya Fedin
5000902d61 Convert feature request template to the new format 2021-09-05 17:36:45 +03:00
Ilya Fedin
32dcb73cba Convert bug report issue template to the new format 2021-09-05 17:36:45 +03:00
John Preston
f6175e7b7c Invite by link in case of non-self voice chat join. 2021-09-02 11:04:28 +03:00
John Preston
b487644355 Fix incorrect bad file size logging. 2021-09-02 11:03:40 +03:00
John Preston
09e014cc14 Force non-transparency for WebDocuments in PhotoData. 2021-09-02 10:31:57 +03:00
John Preston
b0f54822e0 Version 3.0.1.
- Crash fixes.
2021-09-01 19:41:57 +03:00
John Preston
df4c9a0765 Cache correct background faster. 2021-09-01 19:38:36 +03:00
John Preston
47e15d136d Fix background update with all chats closed. 2021-09-01 19:28:02 +03:00
John Preston
5aff4cca0e Fix rare crash in message history resizing. 2021-09-01 19:21:39 +03:00
John Preston
a064e836f2 Removed redundant "base::EnterFromEventLoop". 2021-09-01 19:08:56 +03:00
John Preston
81ed3acfa1 Attempt to fix a crash in event loop nesting tracking. 2021-09-01 19:08:23 +03:00
John Preston
cc2dd31555 Attempt to fix a possible crash in InputField. 2021-09-01 18:50:11 +03:00
John Preston
0ee6395022 Try to a fix crash after lost OpenGL context. 2021-09-01 18:38:12 +03:00
John Preston
1d2a18929a Use QOperatingSystemVersion. 2021-09-01 18:33:53 +03:00
John Preston
a0a3de125a Detect Windows 11 by build number 22000. 2021-09-01 18:33:43 +03:00
John Preston
1cf207671e Fix crash in countries list refresh. 2021-09-01 18:33:24 +03:00
John Preston
c208b5dc58 Couple more of crash fixes. 2021-09-01 13:45:45 +03:00
John Preston
6eb5d47c35 Couple of crash fixes. 2021-09-01 13:27:36 +03:00
23rd
59977da2b4 Added choosing sticker action to field autocomplete. 2021-09-01 01:23:20 +03:00
23rd
4550b2a315 Decreased record bitrate of voice messages.
Fixed #6708.
2021-09-01 01:23:20 +03:00
23rd
bcbab7ad8e Added ability to change playback speed for long audio files. 2021-09-01 01:23:20 +03:00
23rd
b635a9d4a5 Changed voice playback speed setting to storage value of speed. 2021-09-01 01:23:20 +03:00
23rd
eadd7704ef Removed Main::Session forward declaration from data_types. 2021-09-01 01:23:20 +03:00
23rd
e6f0c176f7 Moved AudioMsgId to separated file. 2021-09-01 01:23:20 +03:00
John Preston
22d4331ead Version 3.0: Update tgcalls submodule. 2021-09-01 01:15:49 +03:00
John Preston
1247fde04e Version 3.0.
- Broadcast video and share your screen
to an unlimited number of viewers.
- To begin, tap the Live Stream button
in the title bar of a community where you are an admin.
- Tap the "Forward Message" label above the input field
to change how messages will be sent.
- Hide or show the original sender's name.
- Remove or keep captions from media messages.
- See how many unread comments there are
when opening a channel's comments.
2021-08-31 22:26:06 +03:00
John Preston
88a2f05c6d Fix crash in new phone formatting. 2021-08-31 22:26:06 +03:00
John Preston
df15c67dab Improve phrase in forwarding options box. 2021-08-31 22:10:56 +03:00
John Preston
f59db10267 Update default chat background. 2021-08-31 22:10:39 +03:00
John Preston
d29a1f5cd2 Refresh choose sticker animation data on lang update. 2021-08-31 20:47:08 +03:00
John Preston
cd8d257c70 Disable chat themes. 2021-08-31 19:51:56 +03:00
John Preston
9dfc60026e Add simple forwarding options on bar click. 2021-08-31 19:47:38 +03:00
John Preston
e9a5c45f34 Use separate strings for channel voice chats. 2021-08-31 17:59:29 +03:00
John Preston
2c07bdd0e8 Beta version 2.9.14.
- Fix crash in authorization after logout.
2021-08-31 14:07:42 +03:00
John Preston
b106438de8 Fix crash in stale authorization keys destruction. 2021-08-31 14:06:12 +03:00
23rd
92b7afc5f5 Fixed position of send action animation. 2021-08-31 14:06:11 +03:00
John Preston
0f28069881 Beta version 2.9.13: Fix clean build. 2021-08-31 13:35:12 +03:00
John Preston
cbe38af427 Beta version 2.9.13: Mark 'isPrefix' as '[[maybe_unused]]'. 2021-08-31 12:45:37 +03:00
John Preston
4598ce2671 Beta version 2.9.13: Update lib_webview. 2021-08-31 11:13:48 +03:00
John Preston
244ccba871 Beta version 2.9.13.
- See unread comments count when scrolling discussions in channels.
2021-08-31 10:37:31 +03:00
23rd
dc8eb79295 Moved code of data send actions from Data::Session to separated file. 2021-08-30 23:08:57 +03:00
23rd
f7abd85761 Slightly optimized replacement in send action text. 2021-08-30 21:45:56 +03:00
23rd
436212bb88 Added animation of send action for stickers to middle of text. 2021-08-30 20:50:36 +03:00
23rd
8c17e3e578 Added sending action when choosing sticker. 2021-08-30 20:50:32 +03:00
23rd
0852dbc40f Formatted classes for send actions. 2021-08-30 20:50:28 +03:00
23rd
ccea6ce492 Added animated indicator of choosing sticker action to chats list. 2021-08-30 20:50:24 +03:00
John Preston
2d0bcf7dca Resend non-authorization requests on main DC change. 2021-08-30 20:32:58 +03:00
John Preston
ae40ea9336 Always start with QR-code login. 2021-08-30 20:32:58 +03:00
John Preston
52a6282eb9 Count unread replies locally when possible. 2021-08-30 20:32:58 +03:00
John Preston
c39024c7fd Track and display unread count in discussions. 2021-08-30 20:32:58 +03:00
John Preston
85e4c8527b Always write local drafts the same way. 2021-08-30 20:32:58 +03:00
John Preston
f2da34c9f5 Fix jump to message / to end in discussions. 2021-08-30 20:32:58 +03:00
John Preston
9709297713 Remove unread bar in not-seen post comments opening. 2021-08-30 20:32:58 +03:00
John Preston
809b0e9fe0 Fix build for Linux. 2021-08-30 20:32:58 +03:00
John Preston
d684c8057c Fix build for macOS. 2021-08-30 20:32:57 +03:00
John Preston
d5820e7a5a Closed alpha version 2.9.12.1. 2021-08-30 20:32:57 +03:00
John Preston
beff635e45 Colorize bubbles according to a custom chat theme. 2021-08-30 20:32:57 +03:00
John Preston
5de83ef30c Fix assertion violation in profile video with zero file size. 2021-08-30 20:32:57 +03:00
John Preston
f5a323e40a Move all background helper methods to chat_theme module. 2021-08-30 20:32:57 +03:00
John Preston
0a1e84ddb2 Move ChatTheme to td_ui. 2021-08-30 20:32:57 +03:00
John Preston
3cd0f9d189 Start non-unique ChatTheme. 2021-08-30 20:32:57 +03:00
John Preston
f3dd8c68b3 Load chat cloud themes list. 2021-08-30 20:32:57 +03:00
John Preston
70808dfa7d Show chat theme changing service messages. 2021-08-30 20:32:57 +03:00
John Preston
0821c21285 Support mono playback in OpenAL ADM. 2021-08-30 20:32:57 +03:00
John Preston
29c0956d61 Always try to play video in voice chats. 2021-08-30 20:32:57 +03:00
John Preston
0cfede984c Update API scheme to layer 132. 2021-08-30 20:32:56 +03:00
23rd
558e1d96fd Simplified extracting of calling code from phone number. 2021-08-30 20:32:56 +03:00
23rd
44c188024e Fixed updating of masked input field in intro. 2021-08-30 20:32:56 +03:00
23rd
3acbcc6247 Updated fallback countries list. 2021-08-30 20:32:56 +03:00
23rd
6caddb5141 Removed old code entry from country info. 2021-08-30 20:32:56 +03:00
23rd
963fda69a8 Removed old formatting of phone numbers. 2021-08-30 20:32:56 +03:00
23rd
6ff0cb853d Added ability to extract pattern groups from incomplete phone number. 2021-08-29 23:31:12 +03:00
23rd
10c8162575 Added ability to extract pattern groups from phone number in modern way. 2021-08-29 23:31:12 +03:00
23rd
e4640590d0 Added ability to format phone numbers in modern way. 2021-08-29 23:31:12 +03:00
23rd
e5b85bbaf1 Improved country caching. 2021-08-29 23:31:12 +03:00
23rd
8310d7e47c Improved parsing of countries data from server. 2021-08-29 23:31:12 +03:00
23rd
cf523953ad Added initial manager of countries. 2021-08-29 23:29:39 +03:00
23rd
3e80c04da7 Replaced const char ptr with QString in country structs. 2021-08-29 21:01:30 +03:00
23rd
c593f43629 Made list of countries mutable. 2021-08-29 21:01:30 +03:00
23rd
86aaa9673d Moved countries to singleton. 2021-08-29 21:01:10 +03:00
23rd
a230e83778 Simplified some names in countries. 2021-08-29 21:00:48 +03:00
23rd
df02bbb0a3 Moved countries from Data to Countries namespace. 2021-08-29 20:39:43 +03:00
John Preston
1b3075ac2e Fix pattern background tiling on Retina screens. 2021-08-25 17:15:07 +03:00
John Preston
d45c530db0 Fix CDN downloads after authorization. 2021-08-25 16:24:20 +03:00
John Preston
2671e67119 Fix crash on cancelled Qr login attempt. 2021-08-25 16:24:15 +03:00
John Preston
bdc275a927 Don't crash on bad userId in local storage. 2021-08-25 16:24:09 +03:00
Ilya Fedin
6192413f0b Split webview initialization from GtkIntegration class 2021-08-25 12:52:43 +03:00
Ilya Fedin
51df482571 Get rid of gtk open with dialog
Portal open with dialog works just fine and is a more universal solution... That allows to get rid of an additional process.
2021-08-25 12:52:43 +03:00
John Preston
2694cb76a7 Remove crash debug information from streaming. 2021-08-25 11:24:32 +03:00
John Preston
b5ae492f5e Beta version 2.9.12: Fix build on Windows. 2021-08-24 21:08:35 +03:00
John Preston
018ee0564f Beta version 2.9.12.
- Disable floating point exceptions in 32 bit Windows version.
2021-08-24 20:34:54 +03:00
John Preston
156eb69d38 Disable fp exceptions in Windows 32 bit build. 2021-08-24 20:32:26 +03:00
23rd
df0229cffd Fixed render of text selection in sections.
Regression was introduced in f4fdadd3b0.
2021-08-24 20:02:36 +03:00
23rd
b3f8d0e81a Removed dcId from passport FileKey. 2021-08-24 20:02:36 +03:00
23rd
559d488b0b Moved load status of files in passport to separated class. 2021-08-24 20:02:36 +03:00
John Preston
401529e7d1 Fix possible crash in media viewer hide workaround. 2021-08-24 19:25:31 +03:00
John Preston
a6fb0e372e Beta version 2.9.11.
- Resolve (again) a video playback crash in 32 bit Windows version.
2021-08-24 18:12:26 +03:00
John Preston
7948fc509e Remove (incorrect) checks for double casts. 2021-08-24 18:11:47 +03:00
John Preston
2d6155fc85 Throw fp exceptions in Windows 32 bit build. 2021-08-24 17:43:31 +03:00
John Preston
c7e60ef723 Beta version 2.9.10.
- Resolve (hopefully) a video playback crash in 32 bit Windows version.
2021-08-24 12:42:58 +03:00
John Preston
8f5830d520 Workaround both std::round-s in video streaming. 2021-08-24 12:42:27 +03:00
John Preston
f21d7821e7 Beta version 2.9.9.
- Still(3) debugging a video playback crash in 32 bit Windows version.
2021-08-23 20:34:38 +03:00
John Preston
e8f1373edc Add some checks for NAN in video playback. 2021-08-23 20:29:40 +03:00
John Preston
c8d1e01159 Beta version 2.9.8.
- And still debugging a video playback crash in 32 bit Windows version.
2021-08-23 18:30:14 +03:00
John Preston
7e6f24552a Add basic OpenGL info to crash annotations. 2021-08-23 18:29:20 +03:00
John Preston
27d58ba07b Try to do a non-failed double->crl::time cast.
A crash on some old CPUs show, that in video frame processing
sometimes a cast from double to crl::time fails, writing to
the resulting crl::time value INT64_MIN (0x8000000000000000).

This is shown in crash logs, with lines like:

...,rounded:104,casted:-9223372036854775808,...

where logs are written like:

...
).arg(std::round(adjust * _options.speed)
).arg(crl::time(std::round(adjust * _options.speed))
...

I don't know what to do and how to workaround this. Trying other casts.
2021-08-23 17:58:59 +03:00
23rd
3a92a181a1 Fixed editing on Up arrow in sections with non-empty input field. 2021-08-23 13:57:35 +03:00
23rd
ddd5617043 Fixed processing GIF images as non-album files.
Fixed #16844.
2021-08-23 13:57:31 +03:00
John Preston
70b3e414ce Fix crash in Update-requested-by-tg://-link. 2021-08-23 13:54:49 +03:00
John Preston
2b04653f24 Beta version 2.9.7.
- Still debugging a video playback crash in 32 bit Windows version.
2021-08-23 12:21:09 +03:00
John Preston
868015da25 Add extensive video playback crash logs. 2021-08-23 12:17:40 +03:00
John Preston
7aeffa242e Beta version 2.9.6.
- Debugging a video playback crash in 32 bit Windows version.
2021-08-21 09:34:26 +03:00
John Preston
3136c0586e Add some more assertions to debug a crash. 2021-08-21 09:33:20 +03:00
John Preston
fb0fcbca7f Remove redundant -static-libstdc++ for Updater. 2021-08-20 21:14:39 +03:00
John Preston
0d449c037b Beta version 2.9.5: Fix hide workaround for media viewer. 2021-08-20 19:56:40 +03:00
John Preston
4d98230694 Beta version 2.9.5.
- Tile chat background patterns horizontally.
- Fix a rare crash in spellchecker on Windows.
- Fix animated chat backgrounds in Saved Messages.
- Fix "Sorry, group is inaccessible" message in scheduled voice chats.
2021-08-20 18:42:13 +03:00
John Preston
3d36e501a1 Add some assertions to debug a crash in video playback. 2021-08-20 18:42:13 +03:00
John Preston
b4eb9a0827 Fix single-colored patterns. 2021-08-20 16:24:26 +03:00
John Preston
aaf0015be4 Improve pattern wallpaper preview in Settings. 2021-08-20 16:14:09 +03:00
John Preston
1e8e163bb1 Tile patterns horizontally. 2021-08-20 15:55:10 +03:00
John Preston
f3f741e1eb Hide 'Tile' option in generated backgrounds. 2021-08-20 15:14:28 +03:00
John Preston
44f52ca6cd Fix solid color background preview. 2021-08-20 14:54:11 +03:00
John Preston
2b6e04bca3 Apply initial bubble opacity in QImage bubble backgrounds. 2021-08-20 14:54:11 +03:00
John Preston
784d57a2bc Use QImage bubbles background for some Media parts. 2021-08-20 14:54:11 +03:00
John Preston
f4fdadd3b0 Allow arbitrary QImage as outgoing bubbles background. 2021-08-20 14:54:11 +03:00
John Preston
1cc9a52461 Fix my speaking status freeze in voice chats. 2021-08-18 17:52:23 +03:00
John Preston
cd52982752 Hopefully fix an assertion violation in voice chats. 2021-08-18 17:45:21 +03:00
John Preston
4dd58b79e9 Fix forward of a bot message with a game from a group. 2021-08-18 16:43:22 +03:00
John Preston
c5c94276c2 Allow editing caption of forwarded audio file.
Fixes https://bugs.telegram.org/c/3025
2021-08-18 16:29:05 +03:00
John Preston
8e0b9b685c Show 'X subscribers' in channel ConfirmInviteBox.
Fixes https://bugs.telegram.org/c/2059
2021-08-18 15:57:52 +03:00
John Preston
1792bed721 Remove additional padding in shared contacts. 2021-08-18 15:52:04 +03:00
John Preston
a502cbc06e Move message link up in registered shared contacts.
Fixes #16804.
2021-08-18 15:48:30 +03:00
John Preston
ddda7b8c52 Fix crash in application Dock menu on macOS. 2021-08-18 15:44:38 +03:00
John Preston
0f19ba3231 Fix spellcheck crash on Windows on certain strings. 2021-08-18 15:22:27 +03:00
John Preston
36486a3d73 Fix creating a theme from a default one.
Regression was introduced in 79cc797aff.
2021-08-18 14:52:57 +03:00
John Preston
02f48a7781 Don't allow selected items together with text. 2021-08-18 14:52:49 +03:00
John Preston
c77f4dd794 Fix build on Linux. 2021-08-18 13:06:47 +03:00
John Preston
ca31a08182 Fix 'Sorry, group is inac...' in scheduled voice chat. 2021-08-18 11:34:16 +03:00
John Preston
33936195a1 Animate the chat background in Saved Messages. 2021-08-18 11:33:37 +03:00
John Preston
67bafa02fe Remove attempt of a shadow Qt build. 2021-08-17 18:15:55 +03:00
John Preston
1ef0046002 Beta version 2.9.4.
- Choose one from dozens of new gorgeous animated backgrounds
in Chat Settings > Chat background.
2021-08-17 18:09:18 +03:00
John Preston
f2f19b14eb Fix reading one message if last one is outgoing. 2021-08-17 18:07:20 +03:00
John Preston
662966ba31 Support patterns with negative intensity. 2021-08-17 17:35:10 +03:00
John Preston
5383ae3d96 Fix log in after password change by email. 2021-08-17 15:51:36 +03:00
John Preston
d80b25944e Fix Snap build on GitHub Actions. 2021-08-17 15:17:58 +03:00
23rd
76813db3ad Completed ability to recover cloud password with email. 2021-08-17 15:08:57 +03:00
John Preston
c3595f2e31 Ask for a new password when recovering by email. 2021-08-17 15:07:58 +03:00
John Preston
5a882d1fdc Rotate background in ListWidget. 2021-08-17 14:55:40 +03:00
John Preston
ce6f9f580f Remove unused ColorizePattern function. 2021-08-17 13:06:28 +03:00
John Preston
52b9a1fceb Log all Qt messages as usual in debug builds. 2021-08-17 12:25:13 +03:00
John Preston
1209b2692a Generate correct next rotated gradient. 2021-08-16 17:15:02 +03:00
John Preston
2abcb51dda Filter out patterns without background colors. 2021-08-16 17:14:34 +03:00
John Preston
7a06eccaec Make complex gradients animate on outgoing messages. 2021-08-16 16:07:43 +03:00
John Preston
a1f81e4de8 Generate static complex gradients. 2021-08-16 13:24:15 +03:00
John Preston
689378ee04 Prefer 1280x720 resolution for camera video. 2021-08-16 10:26:08 +03:00
John Preston
b239506150 Fix pattern wallpaper preview on retina screens. 2021-08-16 10:26:08 +03:00
John Preston
3dadcd9352 Animated transition on pattern-on-gradient resize. 2021-08-16 10:26:08 +03:00
John Preston
b9a9520ef5 Don't blend SoftLight patterns in realtime. 2021-08-16 10:26:08 +03:00
John Preston
2b46f87d7b Cache background quickly if no buttons pressed. 2021-08-16 10:26:08 +03:00
John Preston
2667bb3568 Move background caching to Window::SessionController. 2021-08-16 10:26:08 +03:00
John Preston
1bc5277d51 Show color / gradient wallpapers in WebPage previews. 2021-08-16 10:26:08 +03:00
John Preston
436d7b9d82 Add support for linear gradients without patterns. 2021-08-16 10:26:08 +03:00
John Preston
ba7e976fe2 Fix background sample generation. 2021-08-16 10:26:08 +03:00
John Preston
c2b1187948 Start support of linear gradient wallpapers. 2021-08-16 10:26:08 +03:00
23rd
1fd28d5cfb Removed MTP* from public interface of Api::CloudPassword. 2021-08-15 13:44:43 +03:00
23rd
eec58137e9 Fixed build for Linux. 2021-08-15 13:26:43 +03:00
Ilya Fedin
e7d39e6046 Get rid of GtkIntegration::initializeSettings use 2021-08-13 15:21:19 +03:00
Ilya Fedin
63a92cb90a Log icon theme 2021-08-13 15:21:19 +03:00
John Preston
85cc3b30a0 Don't use MTP* for WallPaper flags. 2021-08-12 12:32:30 +03:00
John Preston
474a6a71d9 Move unread mentions menu to chat_helpers/send_context_menu. 2021-08-12 10:06:16 +03:00
John Preston
393173c1da Finish 'Mark mentions as read' context menu. 2021-08-12 09:46:02 +03:00
John Preston
badc27eda4 Fix build with a correct lib_ui revision. 2021-08-12 09:03:19 +03:00
test
920f3b245b Update lang.strings 2021-08-12 08:52:56 +03:00
test
f189ffc6ac Summary 2021-08-12 08:52:56 +03:00
Nicholas Guriev
840bb447ba Mention some missing includes in payments/ subdirectory 2021-08-12 08:51:45 +03:00
Ilya Fedin
414456d003 Revert "Use gtk clipboard when available to avoid https://bugreports.qt.io/browse/QTBUG-56595"
Fixed in Qt by https://codereview.qt-project.org/c/qt/qtbase/+/306771

This reverts commit 3a91003eea.
2021-08-12 08:51:10 +03:00
23rd
ea3191badf Fixed Github CI build. 2021-08-12 08:34:51 +03:00
John Preston
4452edcaad Update release asset uploading script. 2021-08-12 08:34:47 +03:00
23rd
76eb00cea9 Added drafts saving on account switching. 2021-08-12 02:36:41 +03:00
23rd
b3622b413e Added ability to set custom auto-lock timer. 2021-08-12 02:36:41 +03:00
23rd
b55383efe7 Moved time input widgets to lib_ui. 2021-08-12 02:36:41 +03:00
23rd
852e46f0c9 Added filepath removal for modified images in photo editor.
Fixed #16791.
2021-08-12 02:35:53 +03:00
John Preston
84fef1f045 Fix linking to QtSvg properly. 2021-08-11 20:22:45 +03:00
John Preston
6cadf54874 Add support for SVG patterns in wallpapers. 2021-08-11 19:56:12 +03:00
John Preston
e8fc874456 Build and link with QtSvg. 2021-08-11 19:55:47 +03:00
John Preston
c79cd0b692 Use Images::Read instead of App::readImage. 2021-08-11 18:55:08 +03:00
John Preston
b150ab8ef5 Add .tgv as a known mime type. 2021-08-11 18:23:14 +03:00
Ilya Fedin
8b7b0fa570 Remove -externalupdater flag
Having a path to executable in /etc/tdesktop/externalupdater is a way more convenient and is enough
2021-08-11 18:20:52 +03:00
Ilya Fedin
a3ee1e4ed5 Remove mentions of unused -testmode flag 2021-08-11 18:20:52 +03:00
Ilya Fedin
349446e6b0 Lock issues once a day rather than once a hour 2021-08-11 17:56:25 +03:00
Ilya Fedin
97262a99c7 Get rid of osx and linux32 special targets 2021-08-11 16:59:27 +03:00
Ilya Fedin
1d2e34f5e9 Write Qt messages only to log in debug mode 2021-08-11 15:49:31 +03:00
Ilya Fedin
bc2fc94e25 Don't check libtgvoip defines, too big queue 2021-08-11 15:46:38 +03:00
Ilya Fedin
6f0e94a04a WebKitGTK support doesn't depend on GTK integration anymore 2021-08-11 15:46:38 +03:00
John Preston
60e43cfa3f Version 2.9.3.
- Fix requesting screencast rights on macOS (again).
2021-08-11 11:35:48 +03:00
John Preston
46885b7f9f Fix mouse input in layers in call window. 2021-08-11 11:06:34 +03:00
23rd
fff42a664c Fixed Github CI Windows build. 2021-08-11 05:53:16 +03:00
John Preston
437d35d8c4 Version 2.9.2: Fix build on macOS. 2021-08-10 19:24:56 +03:00
John Preston
36a5dd8d8b Version 2.9.2: Buffer more audio data.
I hope this fixes #16733.
2021-08-10 16:44:59 +03:00
John Preston
d8e99b4860 Version 2.9.2.
- Fix crashes and bugs in scheduled messages.
- Fix file sending after a call or voice chat on Windows.
- Fix main window title glitches on Windows 7.
2021-08-10 16:10:59 +03:00
John Preston
3cddcaa039 Update submodules. 2021-08-10 16:05:08 +03:00
John Preston
49078e5679 Apply a window title workaround on Windows 7.
Fixes #16785, fixes #16758, fixes #16721.
2021-08-10 15:46:18 +03:00
John Preston
1dec054766 Check if native window frame fits for saved geometry. 2021-08-10 15:46:18 +03:00
John Preston
91ef6f13c8 Use good bitrate for screen capture in calls. 2021-08-10 15:46:18 +03:00
John Preston
73c8f16340 Fix maximized window on Linux, update tg_angle. 2021-08-10 15:46:18 +03:00
23rd
cbad2469db Moved MTP cloud password from ApiWrap to Api::CloudPassword. 2021-08-10 15:46:18 +03:00
23rd
0ae260c6e1 Moved MTP blocked peers from ApiWrap to Api::BlockedPeers. 2021-08-10 15:46:18 +03:00
23rd
221ded6d54 Fixed handle of last message on Up arrow in sections on macOS. 2021-08-10 15:46:18 +03:00
23rd
6f80811ecd Fixed applying server messages as scheduled.
Fixed #16726 and many other problems.
2021-08-10 15:46:18 +03:00
23rd
5bd73bab9b Moved user privacy from ApiWrap to Api::UserPrivacy. 2021-08-10 15:46:18 +03:00
Ilya Fedin
ac86f3e5bd Use Communications category for tray icon
Since tdesktop fits it
2021-08-10 15:42:21 +03:00
GitHub Action
bae6a29326 Update User-Agent for DNS to Chrome 92.0.4515.107. 2021-08-09 10:21:57 +03:00
John Preston
dcf86f55af Version 2.9.1.
- Fix requesting screencast rights on macOS.
2021-07-30 21:28:24 +03:00
John Preston
2d223b3a2d Version 2.9: Add jemalloc submodule. 2021-07-30 21:26:05 +03:00
John Preston
f3ab01604c Version 2.9: Fix build on Linux. 2021-07-30 21:03:49 +03:00
John Preston
66bcc20f58 Fix requesting screencast rights on macOS. 2021-07-30 20:45:00 +03:00
John Preston
d69a1d3cd9 Version 2.9: Updated changelog. 2021-07-30 18:21:54 +03:00
John Preston
ccc5aeb8f7 Version 2.9.
- Reset your Two-Step Verification password even if you forgot
your old password and don't have a recovery email.
- To do this, you must be logged into your account.
The reset takes 7 days and can be cancelled from any of your devices.
2021-07-30 17:35:30 +03:00
John Preston
5899d60363 Remove some legacy langs scripts. 2021-07-30 16:11:42 +03:00
John Preston
4f89216db0 Disable noise suppression by default. 2021-07-30 16:11:13 +03:00
John Preston
bd78bac4bf Warn admins about many voice chat participants. 2021-07-30 16:06:27 +03:00
John Preston
b2e829904f Add support for 1 month self-destruct messages. 2021-07-30 16:05:13 +03:00
John Preston
256546071b Add ability to reset cloud password in 7 days. 2021-07-30 14:32:49 +03:00
John Preston
c100055fac Allow sharing screen or window in one-on-one calls. 2021-07-30 00:40:25 +03:00
John Preston
ae30366cbf Fix window move by title on macOS. 2021-07-29 15:30:22 +03:00
John Preston
663c99cc2d Fix build on macOS. 2021-07-29 15:30:22 +03:00
Ilya Fedin
d986e70a89 Fix global menu on 64-bit systems with X11
When Wayland support for global menu was added (0b86feeeb5), X11 support was broken since QWindow::winId returns WId what is a quintptr that expands to uint32 on 32-bit and to uint64 on 64-bit, while AppMenu d-bus service accepts only uint32.
2021-07-28 23:41:36 +03:00
Ilya Fedin
1ebf27bfa1 Switch MainWindow to Ui::RpWindow 2021-07-28 18:05:39 +03:00
John Preston
4ef2d3b957 Fix crash in mosaic layout. 2021-07-28 17:34:39 +03:00
John Preston
868c494299 Extract Mosaic::Layout::AbstractMosaicLayout. 2021-07-28 17:00:46 +03:00
John Preston
4a86b172d4 Rename Ui::Window to Ui::RpWindow. 2021-07-28 16:24:11 +03:00
Ilya Fedin
f71ce9afdf Fix dark titlebar on Windows 10 17763 2021-07-28 16:01:50 +03:00
John Preston
c170a86189 Fix build on Windows. 2021-07-28 15:59:42 +03:00
John Preston
116a768fde Don't use MTP* for Message flags. 2021-07-28 15:28:17 +03:00
John Preston
22e77bf3af Don't use MTP* for ReplyMarkup flags. 2021-07-28 15:16:23 +03:00
John Preston
bbbcd37b8f Provide latency values to AEC. 2021-07-28 15:16:23 +03:00
John Preston
bc707320f8 Add 'invited' icon in narrow voice chat members list. 2021-07-28 15:16:23 +03:00
23rd
000911ecfa Updated section icon for shared GIFs. 2021-07-27 20:40:44 +03:00
23rd
479611f6df Removed ui_getPeerForMouseAction. 2021-07-27 02:50:08 +03:00
23rd
dcc8a64d37 Removed App::sendBotCommand. 2021-07-27 02:50:08 +03:00
23rd
a030907598 Refactored sending bot commands. 2021-07-27 02:50:08 +03:00
23rd
34cac3092f Moved utils for sending bot commands to separated file. 2021-07-27 02:50:08 +03:00
23rd
05f1caf944 Removed App::searchByHashtag from facades. 2021-07-27 02:18:49 +03:00
23rd
93bcd90fd4 Provided more context for click handlers. 2021-07-27 02:18:49 +03:00
23rd
7c8b1cd5b1 Disabled forced session switching when closing PiP.
Regression was introduced in 7decf68122.
2021-07-26 18:54:58 +03:00
23rd
82165bec5e Replaced MainWidget::replyToItem with history element delegate. 2021-07-26 17:39:18 +03:00
23rd
65aecf16a6 Removed App::wnd() from HistoryView::Message. 2021-07-26 17:38:52 +03:00
23rd
ca83b8a8c6 Removed App::wnd() from HistoryView::Contact. 2021-07-26 17:38:52 +03:00
23rd
024bb5e54f Moved App::formatPhone to td_ui. 2021-07-26 17:38:51 +03:00
23rd
a14f2144e1 Removed layout.cpp/h. 2021-07-26 17:38:51 +03:00
23rd
c6071d1148 Moved generic document preview info to separated file. 2021-07-26 17:38:51 +03:00
23rd
6e2f8eb9a7 Moved text selection utils to td_ui. 2021-07-26 17:38:51 +03:00
23rd
793f748d2e Replaced overview and inline mosaic layouts with new mosaic layout. 2021-07-26 17:38:51 +03:00
23rd
bb404a38d3 Merged mosaic layouts from overview and inline to td_ui generic class. 2021-07-26 17:38:51 +03:00
23rd
c82006c6f8 Moved position info from ItemBases to AbstractLayoutItem. 2021-07-26 17:38:51 +03:00
23rd
2256482ae0 Moved layout utils to td_ui. 2021-07-26 17:38:51 +03:00
23rd
d11e756381 Detached abstract part of LayoutItemBase and moved to td_ui. 2021-07-26 17:38:51 +03:00
John Preston
a128c16f59 Define 'KHRONOS_STATIC' globally. 2021-07-26 16:23:41 +03:00
John Preston
48207102ce Beta version 2.8.13.
- Fix crash in messages animation.
- Save GIFs from context menu in channel comments.
2021-07-23 23:22:08 +03:00
23rd
2d354f8777 Added ability to save GIFs from context menu in sections.
Fixed #8739.
2021-07-23 22:05:23 +03:00
John Preston
b27dc4ef8d Fix crash in messages animation. 2021-07-23 21:41:43 +03:00
John Preston
99505b4ee2 Beta version 2.8.12: Fix build on Linux. 2021-07-23 20:42:24 +03:00
John Preston
245909e381 Beta version 2.8.12: Prune icon cache on Linux. 2021-07-23 19:39:31 +03:00
John Preston
0a545589ce Beta version 2.8.12: Fix build on macOS. 2021-07-23 19:36:47 +03:00
John Preston
4ec764bb57 Beta version 2.8.12.
- Change the default chat background.
- Add GIFs overview section in chats.
- Add a simple new messages animation.
- Use modern Telegram application icon.
- Use Direct3D 11 by default on Windows.
- Fix Direct3D acceleration on basic Windows 7 setup.
2021-07-23 15:46:25 +03:00
23rd
9b6ab6e137 Fixed date badge in Shared GIFs section. 2021-07-23 15:42:17 +03:00
23rd
73bb1382b1 Replaced MatrixRowShift with layout utils. 2021-07-23 15:42:17 +03:00
23rd
a153059b38 Added ability to unload not visible GIFs as heavy parts in overview. 2021-07-23 15:42:17 +03:00
23rd
039ffd3d34 Copied layout items mosaic drawing for overview layout. 2021-07-23 15:42:17 +03:00
23rd
abdd2fa99b Added ability to force open media viewer from overview layout. 2021-07-23 15:42:17 +03:00
23rd
b366c27a0c Added to Overview::Layout::Delegate ability to request repaint item. 2021-07-23 15:42:17 +03:00
23rd
1fa71b6569 Copied GIF Layout from inline bots results to overview. 2021-07-23 15:42:17 +03:00
23rd
81c39af122 Replaced mosaic drawing in InlineBots::Layout::Inner. 2021-07-23 15:42:17 +03:00
23rd
9699aeb1cd Slightly simplified ChatHelpers::GifsListWidget. 2021-07-23 15:42:17 +03:00
23rd
85ce179f58 Added layout utils file. 2021-07-23 15:42:17 +03:00
23rd
c4d8d52aed Replaced mosaic drawing in ChatHelpers::GifsListWidget. 2021-07-23 15:42:17 +03:00
23rd
812f5d4311 Modernized code style of InlineBots::Bots::MosaicLayout. 2021-07-23 15:42:17 +03:00
23rd
34d2d7bcba Moved layout items mosaic drawing to separate file. 2021-07-23 15:42:17 +03:00
c0re100
842a89d2c7 Add GIFs shared media section 2021-07-23 15:42:17 +03:00
John Preston
565877630f Dither default background to avoid color banding. 2021-07-23 15:42:17 +03:00
John Preston
8f478b86ee Change default wallpaper. 2021-07-23 15:42:17 +03:00
John Preston
9943f8a093 Use custom 'gpu_driver_bug_list.json'. 2021-07-23 15:42:17 +03:00
John Preston
c0f8e68f5d Don't use CurrentSingleComponentFormat.
Fix noise in voice chat blur in OpenGL ES (ANGLE).
2021-07-23 15:42:16 +03:00
John Preston
92d9ebc9f3 Fix Direct3D 11 ANGLE backend colors issue. 2021-07-23 15:42:16 +03:00
John Preston
530aae4bdb Fix crash in inline bots results. 2021-07-23 15:42:16 +03:00
23rd
e1ff230547 Added info for empty section of scheduled messages. 2021-07-23 15:42:16 +03:00
23rd
95a896004f Added bubble widget for empty list info in modern history view list. 2021-07-23 15:42:16 +03:00
John Preston
87ca2c891a Update Windows taskbar icon in new version. 2021-07-20 20:21:21 +03:00
John Preston
3a26644fa2 Fix new messages animation in sections. 2021-07-20 20:21:20 +03:00
John Preston
7e11966766 Fix d3dcompiler_47.dll loading on 64 bit build. 2021-07-20 20:21:20 +03:00
John Preston
c1c4314e52 Pack compiler to portable / store version. 2021-07-20 19:30:17 +03:00
23rd
a6dbcdad54 Disabled auto-closing section of scheduled messages after 'Send Now'. 2021-07-20 19:30:00 +03:00
23rd
3dc73417e9 Fixed some bugs in EditCaptionBox.
Fixed checkbox display in some cases.
Fixed editing of album items.

Regression was introduced in 7e83088a84.
2021-07-20 19:30:00 +03:00
John Preston
1ce66e5198 Pack and deploy d3dcompiler_47.dll. 2021-07-20 17:10:23 +03:00
Christian Hesse
6e90d6ae53 Add loading of custom shipped d3dcompiler_47.dll. 2021-07-20 15:41:49 +03:00
John Preston
5910c0ae30 Fix build on Windows. 2021-07-20 14:28:18 +03:00
23rd
2de0b79b4e Fixed overlapping emoji suggestions in Replies section. 2021-07-20 12:20:31 +03:00
23rd
cba0ebce6e Fixed size of animated preview in boxes. 2021-07-20 12:20:30 +03:00
John Preston
773912f586 Apply local / server comment updates together. 2021-07-20 12:20:22 +03:00
John Preston
c789349b24 Support add item animation in ListWidget (sections). 2021-07-20 12:20:22 +03:00
John Preston
7bbc4b7191 Add basic new messages animation. 2021-07-20 12:20:22 +03:00
John Preston
551732738b Update app icon. 2021-07-20 12:19:56 +03:00
Ilya Fedin
c5867e2293 Fix build with clang 2021-07-20 10:34:03 +03:00
Ilya Fedin
46d5fc1fa0 Allow to build with generators other than Xcode on mac 2021-07-20 10:27:40 +03:00
Christian Hesse
b922839490 re-compress preview image
The preview image takes some time to load, just re-compressing it can
save about 13% of data without changing the result.
2021-07-20 10:26:35 +03:00
Ilya Fedin
4b82a56270 Remove old instructions & patches they referred to
(& rename instructions to the actual state)

Old instruction names were from the time when tdesktop used GYP that had MSVC, XCode and CMake backends.
But tdesktop uses CMake now, so these names are no longer correct.
2021-07-20 09:50:57 +03:00
Christian Hesse
b2c762e974 Set (group) call window icon. 2021-07-20 00:15:04 +04:00
Ilya Fedin
0a4b8fc7f6 Always use QLibrary for gtk to avoid confusing dynamic linker 2021-07-19 22:57:07 +03:00
Ilya Fedin
087fbe89ce Add additional checks to NotificationData::setImage 2021-07-19 22:56:38 +03:00
Ilya Fedin
3e8912a53f Remove reference to non-existing linux_mpris_support from CMakeFiles.txt 2021-07-19 22:56:14 +03:00
Ilya Fedin
dc81f9eeaf Remove SetWatchingMediaKeys
Since SPMediaKeyTap has been removed on Mac, Linux is the only platform where this function is implemented, but that's not really needed due to MPRIS support, so SetWatchingMediaKeys can be dropped entirely
2021-07-19 22:56:14 +03:00
Ilya Fedin
49fed41dfa Use RegisterUrlScheme from lib_base 2021-07-19 22:55:57 +03:00
Ilya Fedin
9b1d967967 Move NotificationServiceWatcher to notifications manager 2021-07-19 22:39:38 +03:00
Pavel Moiseenko
4ea065fdf1 Specify name of app in list of installed apps 2021-07-19 22:33:25 +03:00
Ilya Fedin
a094fa42a0 Update submodules 2021-07-19 22:31:27 +03:00
Ilya Fedin
6f151f20e9 Add support for DESKTOP_APP_DISABLE_WEBKITGTK
Co-authored-by: mid-kid <esteve.varela@gmail.com>
2021-07-19 22:31:27 +03:00
Ilya Fedin
ae70dfb1f4 Return after throwing access denied error 2021-07-19 22:31:27 +03:00
Ilya Fedin
d9ea4f31ca Add SYSTEM flag to target_include_directories where appropriate 2021-07-19 22:31:27 +03:00
Ilya Fedin
ba9b72e038 Fix -Wunused-variable warnings with gcc 2021-07-19 22:31:27 +03:00
Christian Hesse
3d1a049405 window title for call window
Having an empty window title brings different issues, for example:

* invisible on task bar
* invisible in task switcher
* apply properties by match
* ...

So let's use the contact user name for window title.

Fixes #10243
2021-07-19 19:26:32 +03:00
Mahdi Jafari
df9e9a9d75 Fix applying of patches in Dockerfile. 2021-07-19 19:02:18 +03:00
John Preston
77d8c7ce01 Version 2.8.11.
- Check shader compilation / linking before using ANGLE.

It fails on default Windows 7 installations.
2021-07-17 12:47:10 +03:00
John Preston
de0897343b Version 2.8.10: Fix media loading. 2021-07-16 20:15:44 +03:00
John Preston
e27399baa6 Pinpoint patches revision, including Dockerfile. 2021-07-16 19:38:54 +03:00
John Preston
42eb74d07a Version 2.8.9: Fix GIF caption edit. 2021-07-16 10:10:58 +03:00
John Preston
aee991f598 Version 2.8.9.
- Fix version on Windows without SetDefaultDllDirectories.
- Fix fonts on Linux.
2021-07-16 09:41:52 +03:00
John Preston
96c3dc4161 Fix Windows version without SetDefaultDllDirectories. 2021-07-16 09:39:52 +03:00
John Preston
77586a1297 Fix font styles on Linux. 2021-07-16 09:27:26 +03:00
John Preston
b69cac3ed6 Version 2.8.8.
- Added an image editor.
Crop photos or highlight parts of screenshots before sending.
2021-07-15 21:22:58 +03:00
John Preston
c4654f1ee8 Update patches revision for Windows build. 2021-07-15 21:22:54 +03:00
John Preston
c45122ab1e Update tgcalls submodule. 2021-07-15 21:08:47 +03:00
John Preston
10e1feb40b Use GL_BGRA_EXT format with ANGLE. 2021-07-15 16:42:38 +03:00
John Preston
4d99c1fd44 Allow sharing system audio with window share. 2021-07-15 16:42:38 +03:00
John Preston
4276b6cce0 Use rpl for Window::Theme::Background updates. 2021-07-15 16:42:36 +03:00
23rd
7e83088a84 Completely refactored EditCaptionBox.
Moved preview content to separate widget.
Increased caption area height.
2021-07-13 22:15:49 +03:00
23rd
47a4f4229d Added ability to hide attach controls. 2021-07-13 22:15:22 +03:00
23rd
7cf5e6d94f Added ability to set controls type for single previews. 2021-07-13 22:15:22 +03:00
23rd
5431541694 Added AbstractSinglePreview. 2021-07-13 22:15:22 +03:00
23rd
c1e86418c2 Added ability to generate single media preview from history item. 2021-07-13 22:15:22 +03:00
23rd
86db29cec7 Added AbstractSingleMediaPreview. 2021-07-13 22:15:22 +03:00
23rd
19139a9a5f Added ability to generate single file preview from history item. 2021-07-13 22:15:22 +03:00
23rd
9509a00664 Added AbstractSingleFilePreview. 2021-07-13 22:15:20 +03:00
John Preston
e2a85e3156 Closed alpha version 2.8.7.1. 2021-07-13 22:09:48 +03:00
John Preston
99353dcfba Update submodules. 2021-07-13 22:09:14 +03:00
John Preston
86a2a4d63a Count unique video senders in limit. 2021-07-13 22:08:10 +03:00
John Preston
ab67aa28b5 Support resampling for loopback audio. 2021-07-13 22:08:10 +03:00
John Preston
db81638656 Allow sharing screen with sound on Windows. 2021-07-13 22:08:09 +03:00
John Preston
402729dc99 Check unmuted video limit in group call. 2021-07-13 22:08:09 +03:00
John Preston
801c8b6220 Screencast with system sound on Windows. 2021-07-13 22:08:09 +03:00
John Preston
881eb4510e Separate test and production RSA keys. 2021-07-13 22:08:09 +03:00
John Preston
cc013305ac Apply local volume / mute to additional audio stream. 2021-07-13 22:08:09 +03:00
John Preston
f17fc0b670 Support additional audio ssrc. 2021-07-13 22:08:09 +03:00
John Preston
5e2cdde2c8 Update API scheme. 2021-07-13 22:08:09 +03:00
John Preston
eea48c7139 Update used public RSA keys. 2021-07-13 22:08:09 +03:00
John Preston
95a7ce4622 New auth key generation algorithm. 2021-07-13 22:08:09 +03:00
John Preston
a0540e0486 Send dependent requests in bunches. 2021-07-13 22:08:09 +03:00
John Preston
e28fb1211e Handle MSG_WAIT_FAILED / MSG_WAIT_TIMEOUT. 2021-07-13 22:08:09 +03:00
John Preston
bae8335285 Always resend messages in a container. 2021-07-13 22:08:09 +03:00
John Preston
8fc7ba7ac1 Handle updateBotCommands. 2021-07-13 22:08:09 +03:00
John Preston
8f5ac0420e Update API scheme to layer 131. 2021-07-13 22:08:09 +03:00
John Preston
b57255297c Clang on Linux build fixes. 2021-07-13 21:56:36 +03:00
Ilya Fedin
79cc797aff Fix -Wunused-variable warnings 2021-07-13 21:43:34 +03:00
Ilya Fedin
b6881022ce Allow to build with -Werror and clang
Fixes -Wdeprecated-enum-enum-conversion, -Wdeprecated-declarations, -Wrange-loop-construct, -Winconsistent-missing-override
2021-07-13 21:32:06 +03:00
Ilya Fedin
89765340c3 Fix -Wunused-function warnings 2021-07-13 21:31:22 +03:00
John Preston
84b1fac0c8 Fix more warnings in submodules. 2021-07-13 21:30:55 +03:00
nyakze
a283049b34 Expand moderator mode + fix
Apparently for commands to work, they have to be bind to 1-9 keys, apart from any other alternative hotkeys. It should address this issue, as well as expanding to ease the usage on numpad.
2021-07-13 16:04:16 +03:00
Ilya Fedin
8ecc98eb03 Right file dialog freeze fix
The freezing is still happening if the service is not accessible
2021-07-12 11:10:16 +03:00
Ilya Fedin
c53564cfdc Set service name for MPRIS 2021-07-10 14:28:04 +03:00
John Preston
cc7f569c77 Fix build on non-Windows. 2021-07-09 21:39:08 +03:00
23rd
7526964904 Simplified calculation of minimum crop size in photo editor.
It also fixes cropping of images with unbalanced ratios.
2021-07-09 13:15:31 +03:00
23rd
f1669674d8 Moved formatting of image size text to single place.
Fixed wrong size display on retina screens.
Replaced "x" with special character.
2021-07-09 13:15:31 +03:00
23rd
cab8a52f8f Fixed visual glitch in image size text from SendFilexBox.
Regression was introduced in f52c6a6daa.
2021-07-09 13:15:31 +03:00
23rd
6b93d8dc41 Refactored and fixed saving scene states between modes in photo editor. 2021-07-09 12:49:07 +03:00
23rd
9be122710d Moved SaveState from Editor::BaseItem to Editor::NumberedItem. 2021-07-09 12:49:07 +03:00
23rd
1e3044fbf4 Moved performing of Undo/Redo from Editor::Paint to Editor::Scene. 2021-07-09 12:49:07 +03:00
23rd
aef2148ed0 Moved hasUndo and hasRedo from Editor::Paint to Editor::Scene. 2021-07-09 12:49:07 +03:00
23rd
fb511c3e03 Added status to Editor::NumberedItem. 2021-07-09 12:49:07 +03:00
23rd
6acd9f18ad Replaced interaction with QGraphicsItem to Editor::NumberedItem. 2021-07-09 12:49:07 +03:00
23rd
78b25c694e Added ability to save and restore items state in photo editor. 2021-07-09 12:49:07 +03:00
23rd
d2d97a3e47 Moved to separate file some structs for internal usage in photo editor. 2021-07-09 12:49:07 +03:00
23rd
bf8f3e42f4 Simplified work with Editor::ItemBase::Data. 2021-07-09 12:49:07 +03:00
23rd
fe8eae09c4 Fixed item handlers size when opening photo editor with modified scene. 2021-07-09 12:49:07 +03:00
23rd
5bbf3a329d Fixed items order when opening photo editor with modified scene. 2021-07-09 12:49:07 +03:00
23rd
8ddbf08a97 Changed max and min sizes of scene items from pixels to ratio. 2021-07-09 12:49:06 +03:00
23rd
d69090bf34 Moved flip and rotation info to Editor::ItemBase struct. 2021-07-09 12:49:06 +03:00
23rd
0c50fbf1b9 Moved Editor::ItemBase arguments to struct. 2021-07-09 12:49:06 +03:00
John Preston
4206ff0483 Don't use MTP* for StickersSet flags. 2021-07-09 09:08:58 +03:00
Ilya Fedin
62fd968409 Don't call gtk_selection_data_get_length on nullptr 2021-07-08 22:09:26 +03:00
Ilya Fedin
2c6e4eed19 Use unique_ptr for GtkSelectionData 2021-07-08 22:09:26 +03:00
John Preston
75090dedaa Don't store MTPInputStickerSet in data. 2021-07-08 22:08:59 +03:00
23rd
9dfb43d525 Fixed build for macOS and Linux. 2021-07-08 20:18:40 +03:00
Ilya Fedin
3b07785f87 Optimize pasting with gtk 2021-07-08 18:58:40 +03:00
John Preston
f22e68fc32 Don't use MTP* for PeerSettings flags. 2021-07-08 17:32:39 +03:00
John Preston
878c890bc2 Bump version to 2.8.7.beta for serialization. 2021-07-08 16:11:30 +03:00
John Preston
a74228acea Don't use MTP* for ChannelData flags. 2021-07-08 16:11:09 +03:00
John Preston
5040c2e766 Don't use MTP* for ChatData flags. 2021-07-08 15:11:46 +03:00
John Preston
e34375405e Don't use MTP* for UserData flags. 2021-07-08 14:19:12 +03:00
John Preston
2ffda9f240 Don't use MTP* for ChatAdminRight / ChatRestriction. 2021-07-08 13:34:06 +03:00
23rd
8e73a6a6ff Fixed Github CI Windows build. 2021-07-07 19:31:36 +03:00
John Preston
b642a80cd8 Fix timers race condition on Windows. 2021-07-07 17:57:31 +03:00
John Preston
94bdae13d8 Fix Qt build instructions on Windows. 2021-07-07 17:29:20 +03:00
Ilya Fedin
ee773a28bb Fix 30s freeze after pasting 2021-07-07 16:40:09 +03:00
John Preston
caddb44a2c Update tg_owt revision. 2021-07-07 16:39:26 +03:00
Ilya Fedin
1b4216803d Add snap permission to own name for gtk integration IPC 2021-07-07 14:26:33 +03:00
Ilya Fedin
17cee8ec56 Set service name for lib_base and lib_webview gtk integration 2021-07-07 12:16:01 +03:00
John Preston
3cdd115317 Beta version 2.8.6: Fix build for Linux. 2021-07-07 00:54:56 +03:00
John Preston
bdd1d2484c Beta version 2.8.6: Update build script. 2021-07-06 20:32:08 +03:00
John Preston
d5a416d5ea Beta version 2.8.6: Fix build for macOS. 2021-07-06 20:25:46 +03:00
John Preston
46d393ea0f Beta version 2.8.6.
- Added a simple image editor.
Crop photos or highlight parts of screenshots before sending.
- Use Direct3D 9 backend in ANGLE by default (Windows).
- Fix "Show in Finder" not focusing the Finder window (macOS).
- Use GTK from a child process (Linux).
2021-07-06 17:17:23 +03:00
nyakze
68e351b7c8 Attempt to fix not working commands
Attempt to fix not working commands by using more conventional keys
2021-07-06 17:16:46 +03:00
John Preston
6f9c911faa Fix Qt build instructions with ANGLE. 2021-07-06 17:04:05 +03:00
John Preston
dd381d9b56 Show vector elements count in DebugLogs. 2021-07-06 16:54:26 +03:00
John Preston
8eedc7b2ba Fix build on Windows. 2021-07-06 15:56:43 +03:00
John Preston
9ba1af2eb9 Use tg_angle fork. 2021-07-06 15:55:49 +03:00
23rd
f567328a60 Fixed deleting item after saving result of scene in photo editor. 2021-07-06 14:15:07 +03:00
23rd
953fa52490 Fixed updating of undo state on deleting item in photo editor. 2021-07-06 14:15:07 +03:00
23rd
b1477260f0 Improved content margins in photo editor. 2021-07-06 14:15:07 +03:00
23rd
038de9ef15 Changed behavior to keep StickerSetBox until pack is archived. 2021-07-06 12:13:06 +03:00
23rd
4701c5d6e3 Added ability to archive mask packs. 2021-07-06 12:13:06 +03:00
23rd
8420b7dc17 Disabled ability to use hotkeys when selecting color in photo editor. 2021-07-06 12:13:06 +03:00
23rd
9dacf69d41 Fixed line drawing on mode switching in photo editor. 2021-07-06 12:13:06 +03:00
23rd
a91efd9164 Fixed ability to draw blank lines in photo editor. 2021-07-06 12:13:06 +03:00
23rd
a631a28092 Removed App::pixmapFromImageInPlace. 2021-07-06 12:13:06 +03:00
23rd
7bcb1fc8b2 Fixed borders of drawn lines in photo editor. 2021-07-06 12:13:06 +03:00
23rd
cdafd8f171 Fixed width of preview for small media in SendFilesBox.
Regression was introduced in 42d4fdb89f.
2021-07-06 12:13:06 +03:00
23rd
116aa01e51 Refactored column width in SingleMediaPreview. 2021-07-06 12:13:06 +03:00
23rd
96b40f43e9 Added ability to drag and drop images in photo editor. 2021-07-06 12:13:06 +03:00
23rd
a93ec9c2c2 Added Escape hotkey to clear selection in photo editor. 2021-07-06 12:13:06 +03:00
23rd
3ee3919d50 Added hotkeys for switching between modes in photo editor. 2021-07-06 12:13:06 +03:00
23rd
b4410c49b9 Added background color in photo editor. 2021-07-06 12:13:06 +03:00
23rd
82bf6ca94f Fixed display of sticker panel on mode change in photo editor. 2021-07-06 12:13:06 +03:00
23rd
785ebfee34 Added animation to button bars in photo editor. 2021-07-06 12:13:06 +03:00
23rd
a60f8d75a0 Added second button bar for paint mode in photo editor. 2021-07-06 12:13:06 +03:00
23rd
5976a7ed19 Moved edge buttons to bar in photo editor. 2021-07-06 12:13:06 +03:00
23rd
df7026b59c Made alignment to bottom for button strip in photo editor. 2021-07-06 12:13:06 +03:00
23rd
edfd9bedc1 Improved style for controls in EditCaptionBox. 2021-07-06 12:13:06 +03:00
23rd
f52c6a6daa Improved style for controls in SendFilesBox. 2021-07-06 12:13:06 +03:00
23rd
af10b6d487 Added icons for SendFilesBox. 2021-07-06 12:13:06 +03:00
23rd
e30eacff41 Added photo editor hint to SendFilesBox. 2021-07-06 12:13:06 +03:00
23rd
18154e403a Added ability to open photo editor in SendFilesBox with left-click. 2021-07-06 12:13:06 +03:00
23rd
6975b04e6b Fixed triggering of pressed buttons in album preview. 2021-07-06 12:13:06 +03:00
23rd
948302cf02 Added setting to hide photo editor hint. 2021-07-06 12:13:06 +03:00
23rd
e4cff8cb4b Added photo editor hint to EditCaptionBox. 2021-07-06 12:13:06 +03:00
23rd
5bd17ae1b2 Fixed caption area height in EditCaptionBox.
Regression was introduced in 51f960442e.
2021-07-06 12:13:06 +03:00
23rd
22213a71c1 Added ability to open photo editor in EditCaptionBox with left-click. 2021-07-06 12:13:06 +03:00
23rd
e926e5f882 Slightly improved style of controls in photo editor. 2021-07-06 12:13:06 +03:00
23rd
221d45b500 Updated control icons for photo editor. 2021-07-06 12:13:06 +03:00
23rd
6bb7e2c2eb Removed using of hardcoded numbers of tray menu actions. 2021-07-06 12:13:06 +03:00
23rd
2a86ce596d Added shortcuts for actions of items in photo editor. 2021-07-06 12:13:06 +03:00
23rd
f936e484cc Removed unused types from scene items. 2021-07-06 12:13:05 +03:00
23rd
b2a1c10036 Removed masks panel when there are no masks. 2021-07-06 12:13:05 +03:00
23rd
2a58d01927 Removed search and featured buttons from masks panel. 2021-07-06 12:13:05 +03:00
23rd
7cd6b821b3 Fixed update of recently attached stickers after sending. 2021-07-06 12:13:05 +03:00
23rd
de108c8efe Fixed removing masks set from StickersListWidget. 2021-07-06 12:13:05 +03:00
23rd
e7104b5ebe Added support for archived masks. 2021-07-06 12:13:05 +03:00
23rd
2d17bd02a3 Moved mask management to separate box. 2021-07-06 12:13:05 +03:00
23rd
2a3115f461 Fixed phrases to display mask count. 2021-07-06 12:13:05 +03:00
23rd
8d62800e77 Moved stickerSetInstalled from ApiWrap to Data::Stickers. 2021-07-06 12:13:05 +03:00
23rd
7e04bf9533 Added ability to install mask sets. 2021-07-06 12:13:05 +03:00
23rd
2bd3a8aaff Added ability to delete and reorder mask sets.
Moved ApiWrap::stickerSetDisenabled and ApiWrap::stickersSaveOrder
to ApiWrap::saveStickerSets as lambdas.
2021-07-06 12:13:05 +03:00
23rd
70f92a7817 Added initial masks tab to manage stickers box. 2021-07-06 12:13:05 +03:00
23rd
8e08f69508 Added support updateNewStickerSet and updateStickerSets for masks. 2021-07-06 12:13:05 +03:00
23rd
abe62475cb Added support updateStickerSetsOrder for masks. 2021-07-06 12:13:05 +03:00
23rd
1cdb83462e Added initial implementation of masks panel. 2021-07-06 12:13:05 +03:00
23rd
d9a29b6f15 Fixed item pen width in big images. 2021-07-06 12:13:05 +03:00
23rd
1504f92a64 Fixed size limits of item on big images. 2021-07-06 12:13:05 +03:00
23rd
36e5056b59 Fixed selection of items on mode switching. 2021-07-06 12:13:05 +03:00
23rd
c5c707f0fd Fixed independence of item and scene transforms when adding. 2021-07-06 12:13:05 +03:00
23rd
832dd8d50c Moved some photo editor files to separate directories. 2021-07-06 12:13:05 +03:00
23rd
7d2b20e624 Made TabbedSelector more flexible. 2021-07-06 12:13:05 +03:00
23rd
049945a9b9 Added ability to duplicate items in photo editor. 2021-07-06 12:13:05 +03:00
23rd
808c9e3d2c Added ability to flip items in photo editor. 2021-07-06 12:13:05 +03:00
23rd
fde7cef9c8 Removed using of raw pointers for QGraphicsItem in photo editor.
Now all items are wrapped in the shared_ptr,
and the Scene loses ownership of all items before being destroyed.
2021-07-06 12:13:05 +03:00
23rd
2791f89f30 Added initial context menu to items in photo editor. 2021-07-06 12:13:05 +03:00
23rd
858b5831e8 Fixed clearing of redo list after adding sticker item in photo editor. 2021-07-06 12:13:05 +03:00
23rd
9166423598 Fixed multi selection of items in photo editor. 2021-07-06 12:13:05 +03:00
23rd
184d984336 Added ability to snap rotation of items with Shift key in photo editor. 2021-07-06 12:13:05 +03:00
23rd
0b5044f064 Fixed size of handles of base item in photo editor. 2021-07-06 12:13:05 +03:00
23rd
274b66f74b Added ability to create items in photo editor with different ratios. 2021-07-06 12:13:05 +03:00
23rd
e05343d721 Added sending info of stickered photos. 2021-07-06 12:13:05 +03:00
23rd
bc316a2536 Removed Storage::UploadedThumbDocument struct. 2021-07-06 12:13:05 +03:00
23rd
a6904be81d Slightly optimized mouse painting in photo editor. 2021-07-06 12:13:05 +03:00
23rd
690a7d1608 Fixed undo and redo paint actions. 2021-07-06 12:13:05 +03:00
23rd
a3e54fcd7c Moved draft painting in photo editor to separate files. 2021-07-06 12:13:05 +03:00
23rd
23c67bb2a2 Added ability to add stickers to photo in photo editor. 2021-07-06 12:13:05 +03:00
23rd
75367f0488 Added sticker panel to photo editor. 2021-07-06 12:13:05 +03:00
23rd
216ffad80e Added container of controllers for photo editor. 2021-07-06 12:13:05 +03:00
23rd
c312607ff8 Added stickers panel controller for photo editor. 2021-07-06 12:13:05 +03:00
23rd
812d616f66 Added scene base item for photo editor. 2021-07-06 12:13:05 +03:00
23rd
183408cb2d Added button highlighting for flipped image to photo editor. 2021-07-06 12:13:05 +03:00
23rd
1a7d5b7c95 Removed unused photo crop box. 2021-07-06 12:13:05 +03:00
23rd
17465e1082 Replaced old photo crop box with photo editor for profile photos. 2021-07-06 12:13:05 +03:00
23rd
a996b14291 Fixed keeping of aspect ratio in crop widget. 2021-07-06 12:13:05 +03:00
23rd
2045252cfd Added ability to pass data for photo editor. 2021-07-06 12:13:05 +03:00
23rd
a2e674bdb6 Added Window::Controller pointer to data of intro widget. 2021-07-06 12:13:05 +03:00
23rd
cc4055a5e3 Added method to Window::Controller to show custom layer widget. 2021-07-06 12:13:05 +03:00
23rd
d1b6cf1fae Added draft menu to EditCaptionBox to open photo editor. 2021-07-06 12:13:05 +03:00
23rd
671a06c407 Replaced using of QPixmap in photo editor with Image. 2021-07-06 12:13:05 +03:00
23rd
3ce315111f Added draft menu to SendFilesBox to open photo editor. 2021-07-06 12:13:05 +03:00
23rd
09768ce28a Refactored crop widget in photo editor. 2021-07-06 12:13:05 +03:00
23rd
c9affe0da5 Added custom layer widget with photo editor. 2021-07-06 12:13:05 +03:00
23rd
4909ba5a1e Added ability to pass custom layer widgets to stack. 2021-07-06 12:13:05 +03:00
23rd
e322733e20 Added saving of color and size of brush from photo editor to settings. 2021-07-06 12:13:05 +03:00
23rd
dc7f440902 Added color picker to photo editor. 2021-07-06 12:13:05 +03:00
23rd
4849376347 Added ability to undo and to redo paint actions in photo editor. 2021-07-06 12:13:05 +03:00
23rd
8eca57f419 Added saving and discarding between modes in photo editor. 2021-07-06 12:13:05 +03:00
23rd
0adcd37030 Added edge buttons to controls of photo editor. 2021-07-06 12:13:05 +03:00
23rd
2bdb9af146 Added dummy control icons for photo editor. 2021-07-06 12:13:05 +03:00
23rd
5b6bddd7fc Added initial implementation of mouse drawing in photo editor. 2021-07-06 12:13:05 +03:00
23rd
e1ea833ad6 Added ability to crop images in photo editor. 2021-07-06 12:13:05 +03:00
23rd
85c21ba0e4 Added ability to open photo editor with saved modifications. 2021-07-06 12:13:05 +03:00
23rd
4d72d20398 Added ability to send modified images. 2021-07-06 12:13:04 +03:00
23rd
9d3d16a725 Added initial ability to rotate and flip image to photo editor. 2021-07-06 12:13:04 +03:00
23rd
99deaf6005 Added dummy buttons to PhotoEditorControls. 2021-07-06 12:13:04 +03:00
23rd
d8921c7cf5 Added HorizontalContainer for buttons to PhotoEditorControls. 2021-07-06 12:13:04 +03:00
23rd
f7fa36ca1d Added photo painting to PhotoEditorContent. 2021-07-06 12:13:04 +03:00
23rd
45f8e68203 Initialized empty files of photo editor. 2021-07-06 12:13:04 +03:00
John Preston
2b47d6d63f Add depot_tools information to build instructions. 2021-07-06 12:05:45 +03:00
John Preston
aaefeed3f1 Support custom keyboard placeholders. 2021-07-05 21:12:52 +03:00
John Preston
7f00065bd8 Update API scheme to layer 130. 2021-07-05 21:12:52 +03:00
Ilya Fedin
6f031a715e Revert "Use QMenuBar instead of own global menu implementation on Linux"
This reverts commit 79f96480c2.
2021-07-05 21:01:20 +03:00
John Preston
6981ae605a Fix fake unread status reset on account change. 2021-07-05 19:48:06 +03:00
John Preston
d91c21fb26 Try enabling OpenGL back after switching to ANGLE. 2021-07-05 19:48:06 +03:00
John Preston
c95f052e60 Fix "Show in Finder" app focus bug by a Qt patch. 2021-07-05 19:31:21 +03:00
John Preston
c33be27b3c Update lib_webview submodule. 2021-07-05 15:57:55 +03:00
John Preston
6be9b25e99 Submit voice chat boxes by Enter. 2021-07-05 15:37:34 +03:00
Ilya Fedin
0bb391937e Update lib_webview 2021-07-04 20:05:53 +03:00
Ilya Fedin
75ff7a6637 Control GtkOpenWithDialog lifetime from outside 2021-07-04 20:05:53 +03:00
John Preston
aece7c1096 Remove testing code in stickers view. 2021-07-02 22:11:34 +03:00
John Preston
d2e6e7adf2 Fix build on macOS. 2021-07-02 22:11:23 +03:00
John Preston
b930bc0e6d Track bot commands separately in different chats. 2021-07-02 20:41:48 +03:00
John Preston
93d99d6173 Track only strings in BotCommand struct. 2021-07-02 20:41:46 +03:00
John Preston
a8df3dcf91 Remove test code for animated path thumbnails. 2021-07-02 20:40:32 +03:00
John Preston
b22e2ffe1d Animate inline path thumbnails with sliding gradient. 2021-07-02 20:40:32 +03:00
Ilya Fedin
22d23c8be1 Add missed signalId check 2021-07-02 20:11:28 +03:00
Ilya Fedin
b335741f99 Use gsl::finally to pop thread context where appropriate 2021-07-02 20:11:28 +03:00
Ilya Fedin
1261c775d4 Fix freeze after creating file dialog 2021-07-02 15:51:58 +03:00
John Preston
01b4a24ac7 Save sticker path thumbnails to local storage. 2021-07-02 13:39:08 +03:00
John Preston
4124c2eb57 Show inline path thumbnails for stickers. 2021-07-02 13:13:48 +03:00
John Preston
f09b91ebb5 Beta version 2.8.5: Fix build on non-Windows. 2021-07-02 04:45:58 +03:00
John Preston
57b147e0c8 Beta version 2.8.5.
- Use ANGLE for OpenGL over DirectX 9 / DirectX 11 (Windows).
- Use GTK from a child process (Linux).
2021-07-02 00:59:51 +03:00
Ilya Fedin
551ea7d879 Move GTK integration out of process with D-Bus 2021-07-02 00:59:36 +03:00
John Preston
d3c9bb0bc6 Try disabling native child OpenGL workaround. 2021-07-02 00:37:27 +03:00
John Preston
c711b1f1df Fix build on non-Linux systems. 2021-07-02 00:27:25 +03:00
23rd
af7ea90246 Added floating panel of playing playlist for scheduled audio files. 2021-07-01 23:53:45 +03:00
23rd
348cf4829c Added ability to scroll media in section of scheduled messages.
Fixed #8388.
2021-07-01 23:53:45 +03:00
23rd
4753a57091 Added ability to validate playlists in section of scheduled messages. 2021-07-01 23:53:45 +03:00
23rd
1a93f4fa4c Added ability to sparse id slices of scheduled media. 2021-07-01 23:53:45 +03:00
23rd
118fd187e3 Added abstract class for sparse ids slices. 2021-07-01 23:53:45 +03:00
23rd
baa47bde7f Removed unused MsgRange from SparseIdsSlice. 2021-07-01 23:53:45 +03:00
John Preston
18b48df9ce Allow to choose ANGLE backend. 2021-07-01 23:48:18 +03:00
John Preston
e71fc60d22 Use exact revision of ANGLE. 2021-07-01 23:48:16 +03:00
John Preston
148af59615 Don't check dll-s if "SetDefaultDllDirectories" is available. 2021-07-01 23:47:12 +03:00
John Preston
5b2db4112f Don't allow any .dll-s near Telegram.exe 2021-07-01 23:47:12 +03:00
John Preston
7cedc1f7a5 Add dynamic DirectX loading helper. 2021-07-01 23:47:08 +03:00
John Preston
6cea7d4a52 Fix YUV->RGB on D3D9 ANGLE backend. 2021-07-01 23:46:52 +03:00
John Preston
bd93aed393 Test build with statically linked ANGLE. 2021-07-01 23:46:52 +03:00
John Preston
348666de6d Use media viewer size hack only when required. 2021-07-01 23:46:52 +03:00
Ilya Fedin
47e32bebe4 Remove not really needed gtk scale factor query 2021-07-01 22:13:50 +03:00
Ilya Fedin
0b21c04489 Remove the copy of gtk file dialog 2021-07-01 22:13:50 +03:00
Ilya Fedin
85f013ebdb Revert "Avoid removing portal platformtheme plugin in snap"
This reverts commit 12db51fe75.
2021-07-01 22:13:50 +03:00
Ilya Fedin
832cc6ac69 Build Qt with gtk integration 2021-07-01 22:13:50 +03:00
Ilya Fedin
30ce049f51 Update submodules 2021-07-01 22:13:20 +03:00
Ilya Fedin
d42fb6d1b9 Switch from mallocng to jemalloc
Now it's known how to make it free the memory in an expected manner and it's better maintained
2021-07-01 22:13:20 +03:00
John Preston
cade53aa0a Version 2.8.4.
- Crash fixes in WebView on Windows.
2021-07-01 11:05:21 +03:00
GitHub Action
2fdcda7536 Update User-Agent for DNS to Chrome 91.0.4472.114. 2021-07-01 10:48:17 +03:00
Ilya Fedin
7e6439e4f8 Fix counting screen bottom point when restoring geometry 2021-06-30 00:27:39 +03:00
Ilya Fedin
f07ee7f590 Update lib_base and cmake_helpers 2021-06-29 17:35:39 +03:00
Ilya Fedin
02db4e01fa Get rid of qt5ct 2021-06-29 17:35:39 +03:00
Ilya Fedin
8d75078a42 Use Glib::MainLoop instead of QEventLoop in glib code 2021-06-29 15:10:08 +03:00
John Preston
0e25ef7524 Handle WinRT exceptions in WebView. 2021-06-29 14:08:50 +03:00
John Preston
8608d8aa4d Crash Fix: Destroy WebView before the container. 2021-06-29 11:07:47 +03:00
sammiee5311
c1a7332a5e Shorten if statement
Shorten if statement
2021-06-29 10:38:35 +03:00
Ilya Fedin
c3fb392906 Clean dbus-specific code in main_window_linux.h 2021-06-29 10:30:48 +03:00
Ilya Fedin
a59bfdb2f8 Fix handleNativeSurfaceChanged when dbus integration is disabled 2021-06-29 10:30:48 +03:00
Ilya Fedin
79f96480c2 Use QMenuBar instead of own global menu implementation on Linux 2021-06-29 10:30:48 +03:00
John Preston
60cbd96d91 Version 2.8.3.
- Fix crashes in OpenSSL on macOS.
2021-06-28 13:51:06 +03:00
John Preston
ee0400f1ac Version 2.8.2.
- Attempt to fix random crashes on macOS.

Fixes #16504.
2021-06-28 08:57:40 +03:00
John Preston
b8a3746558 Version 2.8.1: Fix NuGet WinRT header generation. 2021-06-26 13:26:39 +03:00
John Preston
14f25fc997 Version 2.8.1.
- Fix crash in audio player volume slider.
2021-06-26 13:03:40 +03:00
John Preston
27da6ee9eb Update patches revision in instructions. 2021-06-26 13:00:16 +03:00
John Preston
48d482006a Fix crash fix. 2021-06-26 12:33:18 +03:00
John Preston
9afee2620a Fix crash in vertical sliders.
Regression was introduced in 90ff8ecd0f.
2021-06-26 08:20:37 +03:00
John Preston
baca3047d4 Version 2.8: Fix build on Windows x64. 2021-06-24 18:39:41 +04:00
John Preston
43a5265e0c Version 2.8.
- Start video conferences from Voice Chats in any group.
- Share your screen or video from your camera
with up to 30 participants (limit to be increased soon).
- Talk without video with an unlimited number of participants.
- Create voice chats from the info page
of any group where you are an admin.
- Group video calls are supported natively on all devices,
including iPads and laptops.
2021-06-24 17:57:09 +04:00
John Preston
5519bb3523 Allow reporting private groups as well.
Fixes #7451.
2021-06-24 17:44:55 +04:00
John Preston
ff213d1386 Enable /LARGEADDRESSAWARE for 32 bit Windows build. 2021-06-24 17:44:55 +04:00
John Preston
55b3f99653 Fix new formatting mixing with emoji. 2021-06-24 17:44:55 +04:00
John Preston
8a6ff3f414 Add separator above volume control in voice chats. 2021-06-24 17:44:55 +04:00
John Preston
feb8624d05 Don't use private Hunspell headers. 2021-06-24 17:44:55 +04:00
John Preston
a2c33545d4 Improve some paddings. 2021-06-24 17:44:28 +04:00
23rd
7decf68122 Fixed possible crash in OverlayWidget when video continues from PiP. 2021-06-24 17:44:28 +04:00
John Preston
6b62ec97c6 Fix possible crash in export panel management. 2021-06-24 11:57:27 +04:00
Ilya Fedin
ea3dab4a06 Update lib_base 2021-06-24 11:26:24 +04:00
Ilya Fedin
5c8f08fc92 Move preview support from QGtkDialog to GtkFileDialog 2021-06-24 11:26:24 +04:00
Ilya Fedin
00a0b2c8b6 Get rid of GTK cast templates 2021-06-24 11:26:24 +04:00
Ilya Fedin
007218cc13 Use C++ wrappers in GtkOpenWithDialog 2021-06-24 11:26:24 +04:00
Ilya Fedin
8afe495a4f Avoid using g_unix_fd_list_new_from_array 2021-06-24 11:26:24 +04:00
Ilya Fedin
257f2086d1 Get rid of gtk2 header compatibility 2021-06-24 11:26:24 +04:00
Ilya Fedin
f011c84ce8 Make Linux file dialog API better 2021-06-24 11:26:24 +04:00
Ilya Fedin
8b839f46b2 Fix crash report window scale 2021-06-24 11:26:08 +04:00
23rd
c1067d8fe1 Fixed possible crash in notifications manager. 2021-06-24 11:25:36 +04:00
23rd
bb76818cc8 Split adaptive changed rpl::producer into two. 2021-06-24 11:25:35 +04:00
John Preston
5dcc219f1c For large video tile always request full quality. 2021-06-24 10:57:23 +04:00
John Preston
4ff9e90153 Add some assertions and logging for a crash debugging. 2021-06-24 10:49:01 +04:00
John Preston
28fe98af80 Add some assertions for a strange crash debugging. 2021-06-24 10:24:52 +04:00
John Preston
5eba65aaa0 Remove unused legacy protocol code. 2021-06-24 09:55:57 +04:00
John Preston
d1e3e7d240 Don't show pinned tooltips if only one video. 2021-06-23 20:14:49 +04:00
John Preston
90ff8ecd0f Fix volume slider in voice chats. 2021-06-23 20:14:22 +04:00
John Preston
468e75a572 Update submodules. 2021-06-23 20:13:19 +04:00
John Preston
ae3e5487d7 Fix editing messages with monospace parts. 2021-06-23 15:55:29 +04:00
John Preston
03147a5426 Fix possible crash in case of API error. 2021-06-23 14:29:38 +04:00
John Preston
14a2b10989 Show error if camera could not be enabled. 2021-06-23 12:04:05 +04:00
John Preston
b29f8aa1e6 Remove background over highlight in volume change item. 2021-06-23 11:07:23 +04:00
John Preston
f9bb932cd8 Fix voice chat window expanding near the screen edges. 2021-06-23 10:52:04 +04:00
John Preston
a38cbbf7e8 Fix disappearing icons after popup menu display. 2021-06-23 10:43:51 +04:00
John Preston
d5bb1717e0 Beta version 2.7.10: Fix link on macOS. 2021-06-22 23:07:33 +04:00
John Preston
520ff8f2ce Beta version 2.7.10: Fix build with Xcode. 2021-06-22 21:25:03 +04:00
John Preston
b3848f6a84 Beta version 2.7.10: Fix screencasts. 2021-06-22 21:23:01 +04:00
John Preston
518f387e0c Beta version 2.7.10: Update version. 2021-06-22 20:00:35 +04:00
John Preston
635f76a312 Beta version 2.7.10.
- Added ability to mix together bold, italic and other formatting.
- Fix voice chats and video calls OpenGL with some drivers on Windows.
- Several bug fixes.
2021-06-22 19:59:22 +04:00
John Preston
ff14ac68ee Always show tooltip about the muted microphone. 2021-06-22 19:50:26 +04:00
John Preston
948c5d50cb Add C++/WinRT library helper to lib_base. 2021-06-22 19:47:02 +04:00
John Preston
6b520ecc05 Add overlapping markup support. 2021-06-22 19:05:27 +04:00
John Preston
bb474686eb Use NuGet package for WinRT headers generation. 2021-06-22 09:53:20 +04:00
John Preston
659ddae9a8 Use native child window in video calls on Windows. 2021-06-21 11:29:29 +04:00
John Preston
b70276912e Use native child window in group calls on Windows. 2021-06-21 09:23:10 +04:00
23rd
858c575782 Fixed Hunspell license. 2021-06-21 09:23:10 +04:00
23rd
62fe14d592 Fixed lock icon display when switching layers in one column mode. 2021-06-21 09:23:10 +04:00
Ilya Fedin
6ad037e556 Update lib_waylandshells and cmake_helpers 2021-06-20 10:39:42 +04:00
Ilya Fedin
a55b41faa1 Provide a list of shell integrations in QT_WAYLAND_SHELL_INTEGRATION 2021-06-20 10:39:42 +04:00
Ilya Fedin
a26d769304 Set QT_WAYLAND_SHELL_INTEGRATION to custom value 2021-06-19 08:16:38 +04:00
John Preston
e1120d1cb5 Optimize out most of LastUserInputTime() calls.
Fixes #16118.
2021-06-18 19:22:36 +04:00
John Preston
8897f9e46a Limit requested qualities to 4 Full / 16 Medium. 2021-06-18 18:43:13 +04:00
John Preston
7a588be54f Add a hint to unmute your microphone. 2021-06-18 17:47:07 +04:00
John Preston
1cb1f1cbc1 Add a hint to turn on the camera. 2021-06-18 16:11:32 +04:00
John Preston
5827d6ffdb Update lib_ui submodule. 2021-06-18 12:15:01 +04:00
Ilya Fedin
766bc90921 Adapt for Ui::DisableCustomScaling changes 2021-06-18 12:15:01 +04:00
23rd
eb228eb744 Removed unused methods from file click handler. 2021-06-18 09:48:39 +03:00
23rd
7c02d67665 Moved cancelUploadLayer from MainWidget to SessionController. 2021-06-18 09:39:10 +03:00
23rd
23c54896e5 Removed App::main() from file click handlers. 2021-06-18 09:20:49 +03:00
23rd
460baa54d8 Fixed switching between PiP and OverlayWidget. 2021-06-18 07:30:54 +03:00
23rd
6c56fad180 Fixed updating of parent id for file click handlers.
Fixed #16447.
2021-06-18 07:30:54 +03:00
23rd
3fd772ce17 Moved file click handlers to separated file. 2021-06-18 07:30:54 +03:00
John Preston
8834ec8bf2 Disable audio device tracking on macOS. 2021-06-17 17:15:13 +04:00
John Preston
003fb52fb9 Make 100% volume value more sticky. 2021-06-17 16:42:50 +04:00
John Preston
ec234cdc43 Improve volume slider design in group calls. 2021-06-17 16:22:51 +04:00
John Preston
55e494f55a Beta version 2.7.9.
- Added "Enable noise suppression" option to group calls Settings.
- Fix media viewer with Retina + Non-Retina dual monitor setup on macOS.
- Several bug and crash fixes.
2021-06-17 12:11:08 +04:00
John Preston
0b4605a656 Don't pass Quality::Medium for screencast to tgcalls. 2021-06-17 12:03:26 +04:00
John Preston
18a86e500b Update tgcalls and tg_owt. 2021-06-17 11:55:10 +04:00
John Preston
e19af1257c Improve video in voice chats controls layout. 2021-06-17 11:52:53 +04:00
John Preston
e0159e15b2 Close StickerSetBox on error. 2021-06-17 11:06:17 +04:00
23rd
b6e77537e2 Fixed logo size in box of invite link QR code generation. 2021-06-17 10:57:46 +04:00
23rd
beaa4190eb Removed Q_OBJECT from GroupMembersWidget.
Removed unused onlineCountUpdated since d93c1ccbaa.
2021-06-17 10:57:46 +04:00
23rd
7924979dfb Removed Ui::showPeerHistoryAtItem from facades. 2021-06-17 10:57:46 +04:00
23rd
570ed5691d Added Window::Controller pointer to data of intro widget. 2021-06-17 10:57:45 +04:00
23rd
c25779b844 Removed showDocument and showPhoto from Media::View::OverlayWidget. 2021-06-17 10:57:45 +04:00
23rd
7304f2b695 Removed Application::showTheme. 2021-06-17 10:57:45 +04:00
23rd
b4bff939b1 Removed showDocument and showPhoto from Application. 2021-06-17 10:57:45 +04:00
23rd
1f816c249b Replaced DocumentOpenClickHandler. 2021-06-17 10:57:45 +04:00
23rd
8591d58798 Added ability to show content from Controller for Shared Media. 2021-06-17 10:57:45 +04:00
23rd
9290cd3a16 Added SessionController pointer to Media::View::OverlayWidget. 2021-06-17 10:57:45 +04:00
23rd
dc0aaec4a4 Added ability to show document from Controller for sections. 2021-06-17 10:57:45 +04:00
23rd
eefa7263b5 Added ability to show photo from Controller for sections. 2021-06-17 10:57:45 +04:00
23rd
7885be4a94 Added ability to show content from Controller for inline results. 2021-06-17 10:57:45 +04:00
23rd
583c3d3429 Moved static functions from DocumentData to separated file. 2021-06-17 10:57:45 +04:00
23rd
6d0d399250 Added initial ability to show documents in OverlayWidget from Controller. 2021-06-17 10:57:45 +04:00
23rd
0e89c93993 Added initial ability to show content in OverlayWidget from Controller. 2021-06-17 10:57:45 +04:00
23rd
b422ec025e Removed Ui::show from classes that have pointer to Controller. 2021-06-17 10:57:45 +04:00
John Preston
c8535acad8 Fix crash in hunspell initialization. 2021-06-17 10:11:08 +04:00
John Preston
e2a97e2ae9 Fix possible crash in media viewer. 2021-06-17 10:09:22 +04:00
John Preston
77a019325d Show information about unsupported gradient backgrounds. 2021-06-16 11:30:33 +04:00
23rd
115dc460ac Removed unused variables from LastCrashedWindow. 2021-06-16 09:31:32 +03:00
23rd
3df1a73cf5 Removed Q_OBJECT from LastCrashedWindow. 2021-06-16 09:31:32 +03:00
23rd
5cf69366d1 Removed Q_OBJECT from NetworkSettingsWindow. 2021-06-16 09:31:32 +03:00
23rd
8c2b1168af Fixed background color of input fields in crash reports with dark theme. 2021-06-16 09:31:32 +03:00
23rd
a425024f21 Fixed userpic updating of pinned peers in touchbar. 2021-06-16 09:31:32 +03:00
23rd
e85026ec46 Removed observable in Intro::details::Step. 2021-06-16 09:31:32 +03:00
23rd
1c6e2eae04 Removed unused enum from local legacy storage settings scheme. 2021-06-16 09:31:32 +03:00
23rd
4db5624beb Completely removed Global namespace. 2021-06-16 09:31:32 +03:00
23rd
6d08542afa Moved proxy global variables from facades to core settings. 2021-06-16 09:31:32 +03:00
23rd
707b36dc12 Moved DBIWorkMode to Core::Settings. 2021-06-16 09:31:32 +03:00
23rd
da3e140069 Moved DBINotifyView to Core::Settings. 2021-06-16 09:31:32 +03:00
23rd
5334372671 Moved WorkMode global variable from facades to core settings. 2021-06-16 09:31:32 +03:00
23rd
16db8468fa Moved ScreenIsLocked variable from facades to application. 2021-06-16 09:31:32 +03:00
23rd
2ed3543b53 Renamed class back from AdaptiveModern to Adaptive. 2021-06-16 09:31:32 +03:00
23rd
5b4d442799 Removed Adaptive namespace and related global variables from facades. 2021-06-16 09:31:32 +03:00
23rd
9669a8a44a Moved Core::Settings:chatWide to Window::Adaptive. 2021-06-16 09:31:32 +03:00
23rd
80fe2f57e9 Removed Adaptive namespace from Window::Controller and MainWidget. 2021-06-16 09:31:32 +03:00
23rd
824fbc21e8 Removed Adaptive namespace from peer context menu. 2021-06-16 09:31:32 +03:00
23rd
bf7f117323 Removed Adaptive namespace from Window::HistoryHider. 2021-06-16 09:31:32 +03:00
23rd
9b488f03a1 Removed Adaptive namespace from Settings::Chat. 2021-06-16 09:31:32 +03:00
23rd
295a863d69 Removed Adaptive namespace from Profile::BackButton. 2021-06-16 09:31:32 +03:00
23rd
0d814066d6 Removed Adaptive namespace from top bar widgets. 2021-06-16 09:31:32 +03:00
23rd
1af8e89eb9 Removed Adaptive namespace from HistoryWidget. 2021-06-16 09:31:32 +03:00
23rd
7cf79e1f8a Removed Adaptive namespace from sections. 2021-06-16 09:31:32 +03:00
23rd
019fd83c8a Removed Adaptive namespace from Dialogs::Widget. 2021-06-16 09:31:32 +03:00
23rd
65779ec37e Removed Adaptive namespace from FieldAutocomplete. 2021-06-16 09:31:32 +03:00
23rd
2d90a06078 Added new Adaptive class to replace legacy Adaptive namespace.
Temporarily named class as AdaptiveModern.
2021-06-16 09:31:32 +03:00
23rd
d2c8780c0f Removed NotificationsDemoIsShown global variable from facades. 2021-06-16 09:31:32 +03:00
23rd
54dd63d61a Removed LocalPasscode global variable from facades. 2021-06-16 09:31:32 +03:00
23rd
7852c82eab Simplified updating of autolock time in Settings::PrivacySecurity. 2021-06-16 09:31:32 +03:00
23rd
77c8bf8176 Removed PeerChooseCancel global variable from facades. 2021-06-16 09:31:32 +03:00
23rd
daa14466e5 Replaced observable in Lang::CloudManager with rpl. 2021-06-16 09:31:32 +03:00
23rd
aad38c2809 Replaced observable in Window::Notifications::System with rpl. 2021-06-16 09:31:32 +03:00
23rd
2c50d3d87b Replaced observable in Intro::details::Data with rpl. 2021-06-16 09:31:32 +03:00
23rd
0fe7c07007 Replaced observable with rpl in FixedBar of admin log. 2021-06-16 09:31:32 +03:00
23rd
c22d200c17 Removed unused observable trackFinished from Media::Audio::Instance. 2021-06-16 09:31:32 +03:00
23rd
9e6afa0d4e Removed observable dragFinished from MainWindow. 2021-06-16 09:31:32 +03:00
23rd
3340b2dc03 Replaced observable in Dialogs::InnerWidget with rpl. 2021-06-16 09:31:32 +03:00
23rd
386fae952b Replaced observable in SessionController with rpl. 2021-06-16 09:31:32 +03:00
23rd
a164cb9480 Removed unused observable passcodedChanged from Application. 2021-06-16 09:31:32 +03:00
23rd
bc9b288617 Replaced observable in StickersBox with rpl. 2021-06-16 09:31:32 +03:00
23rd
5c7229f875 Replaced observable in EditColorBox with rpl. 2021-06-16 09:31:31 +03:00
John Preston
658d5a1322 Fix move between Retina / Non-Retina. 2021-06-16 10:30:08 +04:00
John Preston
52e841ec29 Select correct quality for incoming screencast. 2021-06-16 08:59:15 +04:00
John Preston
df28da4d97 Show "Video is paused" in wide panel mode. 2021-06-15 16:49:53 +04:00
John Preston
8dac6896d6 Set Send/Receive buffer size for download TCP sockets. 2021-06-15 16:45:48 +04:00
John Preston
f18e157e46 Add video placeholder if can't receive it. 2021-06-15 14:30:51 +04:00
John Preston
b2bf8244dd Add "Enable noise suppression" setting to group calls. 2021-06-15 12:33:02 +04:00
John Preston
4e0355d09f Fix semi-transparent .webp in media viewer. 2021-06-14 15:28:39 +04:00
John Preston
7059336ff0 Show red mute icon for force-muted. 2021-06-14 15:15:33 +04:00
John Preston
94f10ce72e Fix dropping self level around mute button. 2021-06-14 14:57:25 +04:00
John Preston
68be54288c Fix working using OpenGLES / ANGLE. 2021-06-14 12:16:00 +04:00
John Preston
10636d931f Validate video speed before applying. 2021-06-14 11:22:57 +04:00
John Preston
3b1aa55d21 Don't send OpenGL initialization crash reports. 2021-06-14 11:22:39 +04:00
mid-kid
37f59095f4 Fix building with LINK_TO_GTK 2021-06-12 15:08:11 +04:00
John Preston
f85d1b8a29 Beta version 2.7.8: Update lib_waylandshells. 2021-06-12 00:27:56 +04:00
John Preston
ece491eee7 Beta version 2.7.8.
- Crash fixes.
2021-06-11 23:15:53 +04:00
John Preston
750c13e5fe Add OpenGL init crash checker. 2021-06-11 23:01:07 +04:00
John Preston
0fde35f59e Increase limit for full video request. 2021-06-11 22:52:59 +04:00
John Preston
5ab8a7d9c5 Fix controls in PiP video player. 2021-06-11 20:29:34 +04:00
John Preston
b1fad4f7e0 Fix possible crash in DBus SettingWatcher. 2021-06-11 19:41:58 +04:00
John Preston
4f0f815201 Fix crash in saving document from media viewer. 2021-06-11 19:36:27 +04:00
John Preston
f2286fdffd Fix possible crash in emoji suggestions. 2021-06-11 19:31:16 +04:00
John Preston
46dfde881a Fix crash in screencast error handling. 2021-06-11 19:19:50 +04:00
John Preston
95f7704d14 Fix crash in voice chat camera enabling. 2021-06-11 19:12:14 +04:00
John Preston
64a6838764 Fix crash in account switching. 2021-06-11 19:11:58 +04:00
John Preston
a0c2318919 Beta version 2.7.7.
- Optimized video playback in media viewer and Picture-in-Picture mode.
- Added integration with System Media Transport Controls on Windows 10.
- Added "Now Playing" integration for music playback on macOS.
- Added "Archive Sticker" into the "..." menu of the Sticker Set Box.
- Fixed memory not being freed on Linux.
- Several crash fixes.
2021-06-11 17:37:49 +04:00
John Preston
8d8fffd306 Fix OpenGL renderers on macOS. 2021-06-11 17:35:16 +04:00
John Preston
ecb53e3e0b Display Puny-encoded domains in proxy confirmation. 2021-06-11 14:20:00 +04:00
John Preston
468d43c4c7 Don't send by Enter elements, chosen by mouse. 2021-06-11 14:20:00 +04:00
John Preston
425a632965 Accept DD / EE as proxy type tag.
Fixes #16218.
2021-06-11 14:20:00 +04:00
John Preston
bf581a1ba4 Fix build with DESKTOP_APP_DISABLE_DBUS_INTEGRATION. 2021-06-11 14:20:00 +04:00
John Preston
7a0ba58ffd Don't construct Webrtc::VideoTrack only for state tracking. 2021-06-11 14:20:00 +04:00
John Preston
4543656aa3 Implement screencast pause in TDesktop. 2021-06-11 14:20:00 +04:00
23rd
8d72026cbd Fixed build for Linux. 2021-06-10 23:00:56 +03:00
23rd
32e47c24b4 Moved Linux MPRIS support to lib_base. 2021-06-10 23:00:56 +03:00
23rd
69eaecc218 Moved SystemMediaControlsManagerto Media namespace. 2021-06-10 23:00:56 +03:00
23rd
3ffbb94fdb Removed SPMediaKeyTap solution for macOS media keys.
Related commit: fd6a312abc.
2021-06-10 23:00:55 +03:00
23rd
4f8bab6a5f Fixed auto-seeking by system for non-fully loaded audio files in SMC. 2021-06-10 23:00:55 +03:00
23rd
2f0fd398d5 Fixed update of availability of next and previous tracks in SMC. 2021-06-10 23:00:55 +03:00
23rd
c6fde48936 Optimized updating of position in SMC. 2021-06-10 23:00:55 +03:00
23rd
8356bac6d7 Added new event of seeking to media player. 2021-06-10 23:00:55 +03:00
23rd
b553520a48 Fixed track change notification in media player. 2021-06-10 23:00:55 +03:00
23rd
3c86da78af Added volume support to SMC class. 2021-06-10 23:00:55 +03:00
23rd
fdbf63229d Added ability to specify application name for Linux MPRIS. 2021-06-10 23:00:55 +03:00
23rd
d22601461a Added new commands to Quit and Raise for Linux MPRIS. 2021-06-10 23:00:55 +03:00
23rd
13c70a9ce9 Added initial support of seeking to SMC class. 2021-06-10 23:00:55 +03:00
23rd
1cfbf24635 Moved Windows SMTC as part of cross-platform media controls solution. 2021-06-10 23:00:55 +03:00
Ilya Fedin
f90f1c02c3 Add extra-cmake-modules as telegram dependency in snapcraft.yaml 2021-06-11 00:00:16 +04:00
Ilya Fedin
8d0f5bb828 Use custom xdg-shell fork for shadows on Wayland 2021-06-10 23:49:10 +04:00
John Preston
2f986660ff Optimize background painting in OpenGL renderers. 2021-06-10 23:37:09 +04:00
John Preston
f9f98975a1 Implement OpenGL renderer for one-on-one calls. 2021-06-10 17:16:17 +04:00
John Preston
e0e2b973f1 Remove shadow debugging image saving. 2021-06-10 15:38:19 +04:00
John Preston
aeb994dd40 Fix radial loading and seek frame in PiP. 2021-06-10 14:05:15 +04:00
John Preston
112c597556 Fix video rotation apply in PiP player. 2021-06-10 11:44:31 +04:00
John Preston
fc94045f41 Fix PiP cursor after drag/resize finished. 2021-06-10 10:39:09 +04:00
John Preston
2a8055c513 Fix action invocation after dragging PiP window.
Regression was introduced in d752aa3481.
2021-06-10 10:31:47 +04:00
John Preston
fba116f0d5 Implement custom OpenGL renderer for PiP. 2021-06-10 10:12:37 +04:00
John Preston
b38f89d69e Fix 2x and 3x volume off icon in media viewer. 2021-06-10 10:12:23 +04:00
John Preston
84f6a5f957 Handle "video_joined" flag in self participant. 2021-06-09 09:19:29 +04:00
John Preston
054223efe0 Request screen recording permissions on macOS. 2021-06-09 09:19:29 +04:00
John Preston
de3ea30d69 Don't show messages to support as always-read. 2021-06-09 09:19:29 +04:00
John Preston
c5a46d9d1b For surface with parent backend should be fixed. 2021-06-09 09:19:29 +04:00
John Preston
e41fb0d8fd Fix ARGB32 frame rendering. 2021-06-09 09:19:28 +04:00
John Preston
5970f3de9e Show video paused icon. 2021-06-09 09:19:28 +04:00
John Preston
7878552e7d Fix hiding rows with video in narrow column. 2021-06-09 09:19:28 +04:00
John Preston
b3648d0147 Use QOpenGLShaderProgram::bind. 2021-06-09 09:19:28 +04:00
John Preston
dd79b3c0d5 Add noise to blur to remove color banding. 2021-06-09 09:19:28 +04:00
John Preston
3d76e6de55 Improve level meter design in group call settings. 2021-06-09 09:19:28 +04:00
John Preston
ef61443342 Fix tg://settings/devices link. 2021-06-09 09:19:28 +04:00
John Preston
4f8989fad7 Fix large video being removed animation. 2021-06-09 09:19:28 +04:00
John Preston
945411274f Close large video tile by click anywhere. 2021-06-09 09:19:28 +04:00
John Preston
f1f7330bf6 Hide "Remove" context action for participants-groups. 2021-06-09 09:19:28 +04:00
John Preston
a1957fe5c0 Stop connecting sound when group call leave starts. 2021-06-09 09:19:28 +04:00
John Preston
9a21d55de7 Show last blurred frame or userpic for paused videos. 2021-06-09 09:19:28 +04:00
John Preston
303ad02c61 Always call raise() before activateWindow(). 2021-06-09 09:19:28 +04:00
John Preston
1886a5c4ed Fix build on macOS. 2021-06-09 09:19:28 +04:00
John Preston
71ddfacfaa Fix showing static content in OpenGL media viewer. 2021-06-09 09:19:28 +04:00
John Preston
23c2bce1bb Animated zoom+rotate in OpenGL media viewer. 2021-06-09 09:19:28 +04:00
John Preston
5324a626be Animated zoom in OpenGL media viewer. 2021-06-09 09:19:28 +04:00
John Preston
4c5421916a Closed alpha version 2.7.6.2. 2021-06-09 09:19:28 +04:00
John Preston
2801bd99b8 Render media viewer icons in RendererGL. 2021-06-09 09:19:28 +04:00
John Preston
38a0eb3b52 Fix color conversions on GPU. 2021-06-09 09:19:28 +04:00
John Preston
607263b8be Fix seek / cancel of video playback in media viewer. 2021-06-09 09:19:28 +04:00
John Preston
42b62e90ca Fix video in non-group calls. 2021-06-09 09:19:28 +04:00
John Preston
f6f0b02333 Render YUV420 video in media viewer. 2021-06-09 09:19:28 +04:00
John Preston
1858e7e8ac Fix many video tiles in voice chats. 2021-06-09 09:19:28 +04:00
John Preston
482ad74c57 Stop camera/screen video when muted by admin. 2021-06-09 09:19:27 +04:00
John Preston
68ae40ee56 Draw all except controls in OpenGL media viewer. 2021-06-09 09:19:27 +04:00
John Preston
24f8a88625 Start OpenGL media viewer renderer. 2021-06-09 09:19:27 +04:00
23rd
fc78769e9c Added floating date header to Shared Files and Shared Links. 2021-06-09 09:19:27 +04:00
23rd
5c54d3690c Added floating date badge to Shared Photos and Shared Videos. 2021-06-09 09:19:27 +04:00
23rd
2cd8b00610 Added ability to override foreground color for date service messages. 2021-06-09 09:19:27 +04:00
23rd
7ee35bc80c Added ability to override background color for service messages. 2021-06-09 09:19:27 +04:00
23rd
cfbbce26c4 Added suitable name for floating badge colors. 2021-06-09 09:19:27 +04:00
John Preston
dfb26cabfc Closed alpha version 2.7.6.1. 2021-06-09 09:19:27 +04:00
John Preston
70f0cce340 Update API scheme. 2021-06-09 09:19:27 +04:00
Alexander Bushnev
3af0c37c6b Fix video player volume level changing
Bug:
Sometimes changing of the volume level or mute/unmute has no effect.
It happens because Fader::onTimer get a current volume level from the Mixer,
but it gets an event about the volume modification from the settings.
Bug appear when the method onTimer calling between updating
of the settings and the Mixer volume.

Solution:
Updating the Mixer volume before the settings.
(maybe will be better to get the volume level
from the settings in place of the Mixer,
but I am not sure about other side effects of this)
2021-06-09 08:18:49 +03:00
Anthony Axenov
b1906a778e Actual link to Vazir Fonts license in README 2021-06-09 08:17:53 +03:00
Alexander Bushnev
d752aa3481 Add volume controls to the PiP window
Add volume toggle and volume level controls to the PiP window.
2021-06-09 08:17:32 +03:00
John Preston
afc5191644 Update mallocng. 2021-06-07 16:21:55 +04:00
John Preston
254b02ad6b Fix Release build on Windows. 2021-06-07 16:21:55 +04:00
23rd
885365a1c2 Fixed Github CI Windows build. 2021-06-04 11:47:32 +03:00
23rd
245be4cd63 Fixed Github CI macOS build. 2021-06-04 11:47:32 +03:00
Ilya Fedin
ce413f2946 Update tg_owt in snap 2021-06-04 11:47:01 +03:00
Ilya Fedin
0d84ba406f Exclude some development files from snap 2021-06-04 11:47:01 +03:00
Ilya Fedin
9047b3c121 Prime tg_owt dependencies 2021-06-04 11:47:01 +03:00
Ilya Fedin
3ff9543106 Fix rnnoise installation path 2021-06-04 11:47:01 +03:00
Ilya Fedin
46b4a5fc5a Fix snap build 2021-06-02 14:00:43 +03:00
Ilya Fedin
bd456568ed Set -DTG_OWT_BUILD_AUDIO_BACKENDS=OFF in snapcraft.yaml 2021-06-01 19:33:43 +03:00
Ilya Fedin
93fa0e1df5 Add rnnoise to snapcraft.yaml 2021-06-01 19:33:43 +03:00
Ilya Fedin
fe4c5155eb Fix some warnings from GCC 11 2021-06-01 19:33:19 +03:00
John Preston
24c435bb5f Improve hide media viewer workaround on Windows. 2021-06-01 16:56:38 +04:00
John Preston
e6977b2c33 Start sharing without source choosing in case of PipeWire. 2021-06-01 14:58:30 +04:00
John Preston
28f83f2af4 Show participants Bio when not speaking. 2021-06-01 14:16:55 +04:00
John Preston
5a6e8a0a8c Improve style of desktop capture source choosing. 2021-06-01 13:58:15 +04:00
John Preston
003da28699 Beta version 2.7.6: Update submodules. 2021-05-31 23:54:09 +04:00
John Preston
e8dd969e78 Fix paint-image vertex shader on macOS. 2021-05-31 23:53:41 +04:00
John Preston
acce2a217d Beta version 2.7.6: Fix build on macOS. 2021-05-31 21:51:47 +04:00
Ilya Fedin
b964c681f8 Get system dark mode state asynchronously on Linux 2021-05-31 20:31:24 +03:00
Ilya Fedin
c6dcc57c5e Set _KDE_NET_WM_DESKTOP_FILE on X11 2021-05-31 20:30:51 +03:00
John Preston
cf8e1cfd0f Beta version 2.7.6.
- Optimized video playback in media viewer and Picture-in-Picture
on Windows and Linux.
- Added integration with System Media Transport Controls
on Windows 10.
- Added "Archive Sticker" into the "..." menu of the Sticker Set Box.
- Fixed memory not being freed on Linux.
- Several crash fixes.
2021-05-31 21:30:21 +04:00
John Preston
78b40a1f66 Revert test code in 'tgcalls'. 2021-05-31 21:27:14 +04:00
John Preston
2fe75f8296 Add large / small video animation. 2021-05-31 21:25:15 +04:00
John Preston
b22363224f Track tiles visibility separately from geometry. 2021-05-31 18:40:53 +04:00
John Preston
b3c92ed3f4 Rejoin if the call started accepting video. 2021-05-31 18:00:41 +04:00
John Preston
464b0a0f30 Use old media viewer hide workaround on macOS. 2021-05-31 17:39:15 +04:00
John Preston
dfcc13c7e6 Warn user about pinning of his screencast. 2021-05-31 17:35:41 +04:00
John Preston
ba6cee6f81 Add video/screencast pinned/unpinned toasts. 2021-05-31 17:10:30 +04:00
John Preston
bcdfd2150d Auto-pin new screencasts. 2021-05-31 15:53:15 +04:00
John Preston
d19d6bbcd9 Group call owner chat/channel is always admin. 2021-05-31 15:52:51 +04:00
John Preston
4080fa9bdc Allow mute for me even force-muted participants. 2021-05-31 15:46:15 +04:00
John Preston
ce091b0b63 Fix second click in media viewer double-click. 2021-05-31 14:54:56 +04:00
John Preston
136e930362 Paint outline in raster mode. 2021-05-31 08:54:23 +04:00
23rd
78dfe940ef Added Windows SMTC support.
System Media Transport Controls.
2021-05-31 08:54:23 +04:00
23rd
690fbe83fd Unified and moved to single place generating of song name from SongData. 2021-05-31 08:54:22 +04:00
23rd
f98e8f3e04 Fixed stuck of forward bar when using -sendpath argument.
Regression was introduced in b3d1602354.
2021-05-31 08:54:22 +04:00
23rd
63febef3ed Added Dock menu for macOS. 2021-05-30 23:39:55 +03:00
23rd
2599ae45d6 Fixed handle of last message on Up arrow in sections with key modifiers. 2021-05-30 23:39:55 +03:00
23rd
bfb03621c2 Fixed GIFs in EditCaptionBox on Retina screens. 2021-05-30 23:39:55 +03:00
23rd
be53bd5293 Added ability to start recording voice chat without title. 2021-05-30 23:39:55 +03:00
23rd
a429500b57 Fixed first animation of album thumbs in SendFilesBox on Retina screens. 2021-05-30 23:39:55 +03:00
John Preston
ec9fa00f46 Bring second large peer video to the top. 2021-05-31 00:07:11 +04:00
John Preston
6a001f2e6c Auto-switch large video by speaking participant. 2021-05-30 23:52:01 +04:00
John Preston
8bde53cd0f Add Back button to large video tiles. 2021-05-30 21:08:54 +04:00
John Preston
090d7d7112 Show video large on click. 2021-05-30 19:14:08 +04:00
John Preston
97c7c0742c Rename LargeVideo to Video in voice chats. 2021-05-30 18:46:51 +04:00
John Preston
90efbf1210 Remove some experimental code. 2021-05-30 18:21:11 +04:00
John Preston
38506d27a1 Hide member rows with active small videos. 2021-05-30 18:09:59 +04:00
John Preston
8a693bc932 Move 'Invite members' button to the bottom. 2021-05-30 14:56:54 +04:00
John Preston
0e49bf5dee Add video tiles in narrow members column. 2021-05-29 23:57:21 +04:00
John Preston
6a967948de Optimize uploading of textures. 2021-05-29 23:27:12 +04:00
John Preston
0771fc14db Use unique_id for tiles instead of PeerData*. 2021-05-29 22:58:11 +04:00
John Preston
e1614a280f Add blur effect for video tile background. 2021-05-29 17:00:09 +04:00
John Preston
ddf81c949b Add green outline to speaking video tiles. 2021-05-28 21:05:28 +04:00
John Preston
b906b2f625 Closed alpha version 2.7.5.7. 2021-05-28 19:11:07 +04:00
John Preston
3f2b473287 Add tooltips for wide mode controls. 2021-05-28 19:08:11 +04:00
John Preston
9a9430b5e1 Move some logging to DEBUG_LOG instead of LOG. 2021-05-28 15:21:15 +04:00
John Preston
d659200a42 Show unmute button tooltip about space bar. 2021-05-28 14:47:41 +04:00
John Preston
cb630c69f0 Fix tooltip colors in default dark green theme. 2021-05-28 13:39:38 +04:00
John Preston
9a812090a2 Add some error tooltips in group calls. 2021-05-28 13:23:24 +04:00
John Preston
5b0278847d Add context menu to video tile right click. 2021-05-27 23:20:16 +04:00
John Preston
9d07bb2946 Remove 'Share Screen' menu item in scheduled chats. 2021-05-27 22:47:18 +04:00
John Preston
b27d314fa7 Skip deleted users in voice chat invites. 2021-05-27 22:46:20 +04:00
John Preston
df666ff724 Implement more robust reconnect management. 2021-05-27 17:09:36 +04:00
John Preston
3709714339 Make '[un]registerLeaveSubscription' work in all windows. 2021-05-27 09:34:33 +04:00
John Preston
deecf80f20 Add OpenGL media viewer glitches workaround. 2021-05-27 08:39:01 +04:00
John Preston
6ea66bc527 Fix joining broadcasted streams in voice chats. 2021-05-27 00:37:05 +04:00
John Preston
513c8d1a65 Fix PiP drag pausing the video. 2021-05-26 23:49:33 +04:00
John Preston
49f71f4e1e Use av_packet_alloc instead of av_init_packet. 2021-05-26 22:53:54 +04:00
John Preston
0c5258b43a Closed alpha version 2.7.5.6. 2021-05-26 18:35:35 +04:00
John Preston
a0506f009a Update tg_owt revision. 2021-05-26 18:35:25 +04:00
John Preston
9f93dae6f9 Update FFmpeg to 4.4. 2021-05-26 18:22:30 +04:00
John Preston
45cca35724 Implement menu in wide video mode. 2021-05-26 18:21:50 +04:00
John Preston
1c42513e44 Fix pinning video from narrow mode. 2021-05-26 15:29:26 +04:00
John Preston
f3e6f5e772 Cancel outgoing video when muted by admin. 2021-05-26 15:12:00 +04:00
John Preston
c6f44e7928 Hide video button if the call doesn't support video. 2021-05-26 14:27:48 +04:00
John Preston
7b6b32db74 Fix name display in group call video tiles. 2021-05-26 13:35:01 +04:00
John Preston
e39f9bef1f Fix voice message recording with FFmpeg 4.2. 2021-05-26 09:59:25 +04:00
John Preston
479b604c0e Closed alpha version 2.7.5.5. 2021-05-25 23:34:55 +04:00
John Preston
e7ef3c4b6d Fix crash in GL_RED textures uploading. 2021-05-25 23:34:55 +04:00
John Preston
87cae1c3a7 Fix build on macOS. 2021-05-25 23:34:55 +04:00
John Preston
562fc74481 Closed alpha version 2.7.5.4. 2021-05-25 22:11:11 +04:00
John Preston
51d8e9c43d Skip empty rects in painting. 2021-05-25 17:23:50 +04:00
John Preston
e50a7a2e42 Toggle wide mode only when videos with frames. 2021-05-25 16:55:01 +04:00
John Preston
aaad250a77 Show names in OpenGL renderer. 2021-05-25 16:26:41 +04:00
John Preston
699730b7f4 Show mute icon in OpenGL renderer. 2021-05-25 14:56:26 +04:00
John Preston
302cffba1c Display pin button in OpenGL renderer. 2021-05-25 12:08:06 +04:00
John Preston
e299aa032d Update tg_owt to webrtc m91. 2021-05-25 12:07:49 +04:00
John Preston
ca6f70746c Closed alpha version 2.7.5.3. 2021-05-24 22:45:16 +04:00
John Preston
2af1d95650 Fix scheduled voice chat creation. 2021-05-24 22:45:16 +04:00
John Preston
df6f5d83d6 Make shaders work on OpenGL 2.1. 2021-05-24 22:45:16 +04:00
John Preston
42baa3e1bc Convert YUV420 -> ARGB32 in fragment shader. 2021-05-24 22:45:16 +04:00
John Preston
5f393babd6 Fix video wrap geometry in narrow column. 2021-05-24 22:45:16 +04:00
John Preston
b864563f47 Support mode switching in single widget Viewport. 2021-05-24 22:45:16 +04:00
John Preston
3edb2d08ba Optimize frame shader, apply rotation. 2021-05-24 22:45:16 +04:00
John Preston
d44f923277 OpenGL render of frames in single widget. 2021-05-24 22:45:16 +04:00
John Preston
ec468431b4 Raster render of wide mode in single widget. 2021-05-24 22:45:16 +04:00
John Preston
4774f438a9 Update API scheme. 2021-05-24 22:45:16 +04:00
John Preston
f40659a7b4 Round corners of LargeVideo. 2021-05-24 22:45:16 +04:00
John Preston
047989abcf Fill solid background in OpenGL renderer. 2021-05-24 22:45:16 +04:00
John Preston
3e79b67032 Start OpenGL renderer for group calls. 2021-05-24 22:45:16 +04:00
John Preston
ca4b1e6ae0 Fix build for macOS. 2021-05-24 22:45:16 +04:00
John Preston
b56749426b Fix build on Clang/GCC. 2021-05-24 22:45:16 +04:00
John Preston
cbe6e1caad Closed alpha version 2.7.5.2. 2021-05-24 22:45:16 +04:00
John Preston
748eb9ff12 Remove labels from wide mode buttons. 2021-05-24 22:45:16 +04:00
John Preston
385b98ff3d Nice three-button narrow mode with gradient fading. 2021-05-24 22:45:16 +04:00
John Preston
c12a50544e Allow force-disabling OpenGL. 2021-05-24 22:45:15 +04:00
John Preston
c64e953174 Choose OpenGL / Raster in media viewer. 2021-05-24 22:45:15 +04:00
John Preston
ccc599c83e Fix PiP window first show. 2021-05-24 22:45:15 +04:00
John Preston
a45064257a Choose OpenGL / Raster surface at runtime. 2021-05-24 22:45:15 +04:00
John Preston
9510ba07f7 Drop old sticker set cover locations. 2021-05-24 22:45:15 +04:00
John Preston
8e3dc76dd7 Disable tg_owt audio backends explicitly. 2021-05-24 22:45:15 +04:00
John Preston
451332b2e7 Closed alpha version 2.7.5.1. 2021-05-24 22:45:15 +04:00
John Preston
445c798bbc Improve pin video button design and controls hiding. 2021-05-24 22:45:15 +04:00
John Preston
c48c4d4283 Use QOpenGLWidget on all systems. 2021-05-24 22:45:15 +04:00
John Preston
b421d0c5cc Build Qt with dynamic OpenGL on Windows. 2021-05-24 22:45:15 +04:00
John Preston
f7454a4284 Fix crash on quit in idle state. 2021-05-24 22:45:15 +04:00
John Preston
9144f4ea7b Fix streaming frames prepare. 2021-05-24 22:45:15 +04:00
John Preston
aaea367fba Hide controls when mouse is out of video area. 2021-05-24 22:45:15 +04:00
John Preston
e0e878cbb1 Update tg_owt to webrtc m90. 2021-05-24 22:45:15 +04:00
John Preston
b905a18161 Destroy all tgcalls instances before quit. 2021-05-24 22:45:15 +04:00
John Preston
f4ae7ecbe7 Remove tracking of video ssrc-s. 2021-05-24 22:45:15 +04:00
John Preston
9a8812d00b Move participants list to the right of the window. 2021-05-24 22:45:15 +04:00
John Preston
13b3de683a Improve narrow participants column design. 2021-05-24 22:45:15 +04:00
John Preston
64243d1437 Fix crash in joining active video chat. 2021-05-24 22:45:15 +04:00
John Preston
a730c88491 Add icons and improve narrow participants column. 2021-05-24 22:45:15 +04:00
John Preston
bd90cc4134 Fix closing of pre-launch windows. 2021-05-24 22:45:15 +04:00
John Preston
316f0537c4 Implement video pin / controls hiding in video tiles. 2021-05-24 22:45:15 +04:00
John Preston
7f739065e8 First version of tiled layout. 2021-05-24 22:45:15 +04:00
John Preston
bd83ed8130 Add 'pin screencast' context menu item. 2021-05-24 22:45:15 +04:00
John Preston
e39ffbc83c Update tgcalls, request required video channels. 2021-05-24 22:45:15 +04:00
John Preston
1471e9b8e2 Destroy group call instances async. 2021-05-24 22:45:15 +04:00
John Preston
4c23d51be5 Fix volume icon over video. 2021-05-24 22:45:15 +04:00
John Preston
412cfb24d2 Stop video when rejoining-as, handle errors. 2021-05-24 22:45:15 +04:00
John Preston
2a5977e97f Support enlarge / minimize of video. 2021-05-24 22:45:15 +04:00
John Preston
64c34b7029 Hide controls in wide video mode. 2021-05-24 22:45:15 +04:00
John Preston
0db0abe608 Use LargeVideo in the default mode. 2021-05-24 22:45:15 +04:00
John Preston
5f4903a279 Show controls in the middle of wide video. 2021-05-24 22:45:14 +04:00
John Preston
20ff79abf4 Fix camera / screen self track activation. 2021-05-24 22:45:14 +04:00
John Preston
3a321d64f6 Switch between videos by left click. 2021-05-24 22:45:14 +04:00
John Preston
7e8d1f7974 Toggle video pin from LargeVideo. 2021-05-24 22:45:14 +04:00
John Preston
9f41461209 Load .dll symbols in a similar way. 2021-05-24 22:45:14 +04:00
John Preston
6b10045b7b Enable screen sharing on Linux. 2021-05-24 22:45:14 +04:00
John Preston
9ca6d0d893 Build tg_owt with desktop_capture support. 2021-05-24 22:45:14 +04:00
John Preston
2830049a53 Add support for DirectX desktop capturer backend. 2021-05-24 22:45:14 +04:00
John Preston
50558de591 Show name and information on wide large video. 2021-05-24 22:45:14 +04:00
John Preston
80e3e8a01e Extract MembersRow from calls_group_members module. 2021-05-24 22:45:14 +04:00
John Preston
d38780c94d Add shadow under name over video. 2021-05-24 22:45:14 +04:00
John Preston
801435e57c Show participant names in narrow column. 2021-05-24 22:45:14 +04:00
John Preston
8001efe6ab Track peer together with video endpoint. 2021-05-24 22:45:14 +04:00
John Preston
909a3cef9b Create a new Instance for each screencast. 2021-05-24 22:45:14 +04:00
John Preston
9ac510a1ad Fix title of wide mode video chat. 2021-05-24 22:45:14 +04:00
John Preston
00ce302b38 Improve narrow participants column design. 2021-05-24 22:45:14 +04:00
John Preston
0dcc7a05f7 Fix crash in pinned video switching. 2021-05-24 22:45:14 +04:00
John Preston
54c2769d8a Improve voice /video chat members management. 2021-05-24 22:45:14 +04:00
John Preston
2e400d88d3 Fix creating group calls. 2021-05-24 22:45:14 +04:00
John Preston
d9aa660253 Handle members slice loaded. 2021-05-24 22:45:14 +04:00
John Preston
ba1dade4b0 New API/tgcalls with two outgoing videos. 2021-05-24 22:45:14 +04:00
John Preston
a48649987e Improve screencast source choosing design. 2021-05-24 22:45:14 +04:00
John Preston
022c0a1327 Update tgcalls library. 2021-05-24 22:45:14 +04:00
John Preston
69ceed5bbc Update API scheme to layer 129. 2021-05-24 22:45:14 +04:00
John Preston
b3fcb4ef36 Allow 'mute for me' of muted by admin participants. 2021-05-24 22:45:14 +04:00
John Preston
8342b2d275 Fix bug with video_muted flag. 2021-05-24 22:45:14 +04:00
John Preston
36888f844f Disable (crashing) capturer on Linux. 2021-05-24 22:45:14 +04:00
John Preston
75f220c3d9 Fix build for Linux. 2021-05-24 22:45:14 +04:00
John Preston
1a784fc678 Track video_muted from API. 2021-05-24 22:45:14 +04:00
John Preston
dac9017df1 Improve video chat controls layout. 2021-05-24 22:45:14 +04:00
John Preston
7b3b5a1463 Use 'Screencast' video content type. 2021-05-24 22:45:14 +04:00
John Preston
b7fc3f67d7 Add toggle video and screen sharing buttons. 2021-05-24 22:45:13 +04:00
John Preston
e0bfaad3a2 Make style of mute button customizable. 2021-05-24 22:45:13 +04:00
John Preston
24c77a8956 Fix build on macOS. 2021-05-24 22:45:13 +04:00
John Preston
380a0d1f86 Improve wide video layout. 2021-05-24 22:45:13 +04:00
John Preston
b7f6fc9a2d Update API scheme. 2021-05-24 22:45:13 +04:00
John Preston
e12fe974b2 Add pinned video in wide mode. 2021-05-24 22:45:13 +04:00
John Preston
b15623d435 Allow pinning video to top of members list. 2021-05-24 22:45:13 +04:00
John Preston
eb8f709943 Show members list in PanelMode::Wide. 2021-05-24 22:45:13 +04:00
John Preston
c93ddf6aac Separate Call/GroupCall delegates and Instance. 2021-05-24 22:45:13 +04:00
John Preston
6e34360f7e Move some group call modules. 2021-05-24 22:45:13 +04:00
John Preston
c9d07cd0f8 Proof-of-concept desktop capture source picker. 2021-05-24 22:45:13 +04:00
John Preston
9ff6b57b94 Use common desktop_capturer code on Windows. 2021-05-24 22:45:13 +04:00
John Preston
fb49b0ca27 Add proof-of-concept screen sharing on macOS. 2021-05-24 22:45:13 +04:00
John Preston
fef1f80570 Disable video preview in Settings when in group call. 2021-05-24 22:45:13 +04:00
John Preston
38cb1b195d Add proof-of-concept screen sharing on Windows. 2021-05-24 22:45:13 +04:00
John Preston
ebdbe4a8d6 Show video instead of userpics in members list. 2021-05-24 22:45:13 +04:00
John Preston
ba02a5c46a Resolve video chat participants by unknown ssrcs. 2021-05-24 22:45:13 +04:00
John Preston
a6f379a17a Parse and serialize video parameters. 2021-05-24 22:45:13 +04:00
John Preston
a41b7b62ac Build and link rnnoise on Windows. 2021-05-24 22:45:13 +04:00
Ilya Fedin
5010c9033b Specify buildtype for meson 2021-05-22 17:31:26 +03:00
23rd
93e4161d5e Fixed NuGet link in instructions for Windows build. 2021-05-19 14:39:22 +03:00
Ilya Fedin
e0d6faf45b Fix build with LTO 2021-05-19 12:26:07 +03:00
John Preston
fbe4e3f0ec Fix build with mallocng. 2021-05-17 13:38:28 +04:00
John Preston
8e02c50f7d Fix build on Linux. 2021-05-17 13:07:39 +04:00
Ilya Fedin
837485974a Use mallocng on Linux 2021-05-17 10:35:18 +03:00
Ilya Fedin
3cf739eca9 Use event filter to get surface expose event 2021-05-17 10:00:01 +03:00
Ilya Fedin
cfee688feb Replace call_delayed with InvokeQueued in MainWindow::handleVisibleChanged 2021-05-17 10:00:01 +03:00
Ilya Fedin
30d8894c30 Use nodiscard in WaylandIntegration 2021-05-17 10:00:01 +03:00
Ilya Fedin
0b86feeeb5 Implement appmenu on Wayland with org_kde_kwin_appmenu protocol 2021-05-17 10:00:01 +03:00
Ilya Fedin
434ef34378 Implement taskbar icon hidding on Wayland with org_kde_plasma_shell protocol 2021-05-17 10:00:01 +03:00
Ilya Fedin
166c28c215 Get rid of default_delete 2021-05-17 10:00:01 +03:00
Ilya Fedin
17c514e851 Use surface as XdgExporter parent 2021-05-17 10:00:01 +03:00
Ilya Fedin
f7489592d6 Fix BIO_new_mem_buf leaks 2021-05-17 09:53:02 +03:00
Ilya Fedin
3cb9312805 NEON support for ARMv7 is fixed in tg_owt 2021-05-16 11:28:11 +03:00
Ilya Fedin
3722486b19 Add new tg_owt dependencies to snap 2021-05-16 11:28:11 +03:00
John Preston
57b3982346 Update tg_owt in Snap build. 2021-05-14 15:22:39 +04:00
John Preston
a8807bc915 Fix voice recoding with FFmpeg 4.4.
Fixes #16217.
2021-05-13 15:36:27 +04:00
John Preston
71deaa48af Don't crash on voice recording error.
Fixes #16217.
2021-05-13 15:36:24 +04:00
John Preston
e7ca35a276 Fix possible deadlock in debug logs. 2021-05-13 15:36:08 +04:00
John Preston
2d8f43bd8c Fix text color for crash report window. 2021-05-13 15:35:36 +04:00
John Preston
383acf0ffc Fix crash in native notifications on Linux. 2021-05-12 12:10:55 +04:00
c0re100
ee156fc6a8 Add "Archive Sticker" into Sticker Box 3dots menu 2021-05-11 10:54:25 +03:00
Ilya Fedin
680a9a7ca7 Implement parent setting for portal and gtk dialogs on Wayland via xdg-foreign-v2 2021-05-11 10:53:32 +03:00
Ilya Fedin
7de8d6f9ac Fix resetting of available geometry fix in some cases 2021-05-11 10:43:04 +03:00
John Preston
d79fab8b3c Build ffmpeg with 'CONFIG_SAFE_BITSTREAM_READER' on macOS. 2021-05-10 16:45:21 +04:00
John Preston
0cb32181c5 Handle small SLOWMODE_WAIT as FLOOD_WAIT. 2021-05-10 16:44:28 +04:00
John Preston
dba3c39726 Skip 'enhancement' issues by stale bot. 2021-05-10 13:53:54 +04:00
Ilya Fedin
95b4435396 Resubscribe to signal when running with old xdg-desktop-portal 2021-05-07 18:32:02 +03:00
John Preston
f1a9884011 Beta version 2.7.5.
- Add "Voice chats" filter in "Recent actions" for channels.
- Write local drafts to disk on a background thread.
- Support autoupdate for Telegram in write-protected folders on Linux.
- Fix crash in native notifications on Linux.
- Fix crash in file dialog on Linux.
2021-05-04 00:27:59 +04:00
John Preston
691dcb8ae1 Fix build on macOS and Linux. 2021-05-04 00:02:24 +04:00
John Preston
db6b571f60 Add voice chat admin event log filter in channels. 2021-05-03 23:05:58 +04:00
John Preston
5ce1b00291 Fix build on Windows #2. 2021-05-03 23:05:22 +04:00
John Preston
8332ba8450 Fix build on Windows. 2021-05-03 21:39:50 +04:00
John Preston
b1c4524612 Fix crash dump generation on Linux. 2021-05-03 17:34:33 +04:00
Ilya Fedin
9a857659ce Check action type before launching new version 2021-05-03 14:53:21 +03:00
Ilya Fedin
68dc00be27 Move weak_ptr include to .cpp in linux notifications 2021-05-03 14:39:24 +03:00
Ilya Fedin
ee00f12131 Launch new version directly in write-protected mode 2021-05-03 14:39:24 +03:00
John Preston
7444f17c4e Use sendfile only on Linux. 2021-05-03 14:59:24 +04:00
Ilya Fedin
99e70f7783 Build Qt with libproxy 2021-05-03 13:03:54 +03:00
Ilya Fedin
578833446d Add support for write-protected update on Linux 2021-05-03 12:54:08 +03:00
John Preston
4fae827f1e Use a separate string for voice chat ending in groups. 2021-05-03 13:23:28 +04:00
John Preston
98180d3a9e Always guard and send on_main in native notifications. 2021-05-03 13:08:50 +04:00
John Preston
434a4af9ef Fix sendfile() arguments. 2021-05-03 12:43:36 +04:00
John Preston
298215542e Fix legacy-style connect in Intro. 2021-05-03 12:29:21 +04:00
John Preston
197b3c1cb5 Push all QSaveFile-s to background thread. 2021-05-03 12:27:45 +04:00
John Preston
3cad89f299 Fix build, add logs for sendfile(). 2021-05-03 11:21:38 +04:00
Ilya Fedin
99b9a46428 Update lib_base 2021-05-03 10:20:26 +03:00
Ilya Fedin
56a5363eb9 Move keyPressed out of GSDMediaKeys::Private 2021-05-03 10:20:26 +03:00
Ilya Fedin
b1c95d719a Use crl::guard in XDPFileDialog 2021-05-03 10:20:26 +03:00
Ilya Fedin
d87ea056c6 Fix a crash in NotificationData::show 2021-05-03 10:20:26 +03:00
Ilya Fedin
34534a9653 Use kernel accelerated sendfile to copy files on Linux 2021-05-03 09:59:58 +03:00
GitHub Action
5d0222b1c1 Update User-Agent for DNS to Chrome 90.0.4430.85. 2021-05-02 10:45:06 +03:00
Ilya Fedin
b72260f420 Avoid 30s freeze when opening file dialog in broken envirionments 2021-04-30 08:43:25 +03:00
Ilya Fedin
896eee9841 Check whether portal dialog is failed to open 2021-04-30 08:43:25 +03:00
Ilya Fedin
0d96657c33 Fix check for disconnected error 2021-04-30 08:43:25 +03:00
Ilya Fedin
41078869a9 Update submodules 2021-04-30 08:41:05 +03:00
Ilya Fedin
89b11ef084 Move gtk initialization back to ThirdParty::start 2021-04-30 08:41:05 +03:00
Ilya Fedin
26d3995424 Move wayland helper to cmake_helpers 2021-04-30 08:41:05 +03:00
John Preston
b6fad35146 Improve library loading on Linux. 2021-04-29 12:05:32 +04:00
John Preston
70bf328e7d Load wayland-client dynamically and provide functions. 2021-04-29 11:21:57 +04:00
John Preston
404538c989 Fix build with dummy notifications manager on Linux. 2021-04-29 11:21:57 +04:00
John Preston
9c9fc9e881 Version 2.7.4: Fix build for macOS. 2021-04-28 14:08:02 +04:00
John Preston
1d089366ff Version 2.7.4.
- Fix crash in viewing an invoice after a payment is made.
- Respect Focus Assist only for native notifications.
- Mark messages as read only in active window.
2021-04-28 13:16:01 +04:00
John Preston
fe40464e33 Force separate panel into the screen geometry. 2021-04-28 13:16:00 +04:00
John Preston
728b1efb9a Respect Focus Assist only for native notifications.
Fixes #16215.
2021-04-28 11:20:39 +04:00
John Preston
175f3d7a38 Use our fork of 'snapcraft-desktop-helpers'. 2021-04-28 10:46:03 +04:00
Stepan Skryabin
ae1fb8841a Update supported operating systems 2021-04-28 09:39:58 +03:00
Ilya Fedin
16ba20f898 Prefer portal file dialog in all environments 2021-04-28 09:39:20 +03:00
Daniil
d8ffc114d3 Revert number keys check 2021-04-28 09:38:23 +03:00
Daniil
23bd76a8dd Expand moderating mode some more
Revert key check, since number keys stopped working if bot have 
Add missing commands since last PR, also add keys to respect both keypad and regular keyboard users.
2021-04-28 09:38:23 +03:00
John Preston
d85981cca0 Revert "Check if the window is not overlapped when is not active"
This reverts commit 6b1bc1e845.

Fixes #16188. Maybe add an option later.
2021-04-28 10:36:15 +04:00
Ilya Fedin
7b466e0643 Take shadow into account when saving/restoring window geometry 2021-04-28 10:13:54 +04:00
John Preston
d984c5924d Fix crash in invoice view.
Fixes #16210.
2021-04-27 22:18:35 +04:00
23rd
cfa3352caf Added NuGet to Github CI for Windows. 2021-04-27 21:16:26 +03:00
Ilya Fedin
05d2fc819c Bind path to WebkitWebProcess 2021-04-27 17:44:41 +03:00
Ilya Fedin
cb930a89ce Silence ServiceUnknown and Disconnected errors for native notifications 2021-04-27 17:44:16 +03:00
John Preston
3808874da0 Version 2.7.3.
- Fix crash on some versions of Linux.
- Fix video not stopping when PiP window is closed.
- Fix messages marking as read if the Windows session is locked.
2021-04-27 14:15:25 +04:00
John Preston
3be8521b9a Fix 'Start Now' in scheduled voice chats. 2021-04-27 14:15:25 +04:00
John Preston
9fb72e1c3e Add 'MM / YY' and 'CVC' to langpack. 2021-04-27 14:15:25 +04:00
John Preston
e26e666135 Hide native notification details on lock screen. 2021-04-27 13:51:52 +04:00
John Preston
e9196bbbb5 Fix closing PiP that was opened without media viewer.
Fixes #16193.
2021-04-27 13:31:51 +04:00
John Preston
819ce06dfb Don't mark messages as read when screen is locked. 2021-04-27 13:31:51 +04:00
John Preston
da1168fb00 Fix crash on Linux.
Fixes #16198.
2021-04-27 13:12:04 +04:00
John Preston
ffdcda5a90 Version 2.7.2.
- Offer real goods and services for sale in any group,
channel or bot – Telegram doesn't charge a commission.
- Pay for goods securely using one of the 8 integrated
payment providers – Telegram doesn't collect your payment info.
- See how this works in our @TestStore.
- Schedule voice chats to let participants know about them in advance.
- View a countdown to the voice chat and get notified when it starts.
- Try two new, fully-featured versions of Telegram Web – both
supporting animated stickers, dark mode, chat folders and more:
https://webk.telegram.org/ and https://webz.telegram.org/.
2021-04-26 16:51:32 +04:00
John Preston
06292e7442 Fix crash and glitch in video-in-PiP preserve. 2021-04-26 16:51:32 +04:00
John Preston
5bb73d8d3d Move recent emoji and variants to common settings.
Fixes #16163, fixes #4018, partially fixes #10123.
2021-04-26 10:51:10 +04:00
John Preston
68e35b232d Fix updating langs in payments form buttons. 2021-04-26 10:51:10 +04:00
John Preston
2843500ce3 Add url with the Focus Assist API information.
Thanks https://www.withinrafael.com/2019/09/19/
determine-if-your-app-is-in-a-focus-assist-profiles-priority-list/
2021-04-26 10:51:10 +04:00
John Preston
2730ab1596 Query Focus Assist state on Windows. 2021-04-23 08:04:43 +04:00
Luis Alfredo Figueroa Bracamontes
3a28be1e16 Update README.md to split VS2019 32 and 64 bits
Since there are different methods to build for VS for 32 and 64 bits, I think it'd be good to split the label
2021-04-22 10:12:58 +03:00
John Preston
03214ab522 Add IsOverlapped implementation for macOS to lib_ui. 2021-04-20 16:47:58 +04:00
Ilya Fedin
6b1bc1e845 Check if the window is not overlapped when is not active 2021-04-20 15:44:09 +03:00
John Preston
1d64b53cd0 Improve black-and-white QR code border. 2021-04-20 16:42:43 +04:00
John Preston
c360bb9da4 Use LOG/DEBUG_LOG from lib_base. 2021-04-20 16:42:43 +04:00
John Preston
08e170a068 Backport Qt deadlock fix in patches. 2021-04-19 11:27:24 +04:00
John Preston
42d40a6f8f Remove 'Restrict user' button in gigagroups. 2021-04-19 11:26:04 +04:00
John Preston
d93d47f2cf Always use black-over-white login QR code.
Some android devices don't read light-on-dark QRs.

Fixes #10077. Fixes #16152.
2021-04-19 11:26:04 +04:00
John Preston
25470cde3c Fix unread badge styles on palette changes. 2021-04-19 11:26:04 +04:00
John Preston
c242a61e8c Fix money input field limit without decimal separator. 2021-04-19 11:26:04 +04:00
John Preston
286cb74620 Make WebLoadManager live on the main thread only. 2021-04-19 11:26:04 +04:00
Loïc Molinari
336405b3c7 Fix voice record button infinite animation
Enabling animations triggers an animation of the voice record button
that keeps firing uselessly at ~120 calls per second until the button
is manually toggled. The animation callback cannot stop itself since
it expects the button to be visible.

This commit fixes the issue by preventing spawning the animation if
the widget is hidden.
2021-04-15 16:22:29 +03:00
Ilya Fedin
2eda5bb2d8 Add webkit dependency to snap 2021-04-15 16:20:59 +03:00
Loïc Molinari
06618a5253 Use fine grained session timers
The check of sent requests and containers is done unconditionally
every second even though the request timeout is 10 seconds and the
container timeout is 600 seconds. This commit uses fine grained timers
instead in order to avoid useless system wake-up events.

The check of sent requests is now scheduled on demand when a new
request is queued. Then the callback, while parsing queued requests,
computes the delta to the closest expiring request and automatically
schedules the next check if necessary.

Given the high value of the container timeout, its callback is called
repeatedly every 600 seconds, unless it computes a lower delta for an
expiring container using the same logic as for the requests.
2021-04-15 16:20:42 +03:00
aburmagin
de70df0b6b added CLion-generated files to .gitignore 2021-04-14 08:50:32 +03:00
John Preston
cf6dbfaf55 Fix a crash in case of corrupt local data. 2021-04-14 09:45:51 +04:00
John Preston
6cbee72b8a Closed alpha version 2.7.1.3. 2021-04-13 19:47:28 +04:00
John Preston
0a0803de6f Fix couple of crashes. 2021-04-13 19:46:42 +04:00
John Preston
bee6a1dc06 Second click on Tips button resets tips to $0. 2021-04-13 19:04:27 +04:00
John Preston
155fcb6dde Fix build on Linux with different options. 2021-04-13 19:02:30 +04:00
John Preston
3e5e0cb9df Fix crash on right click in ConfirmBox with link. 2021-04-13 19:02:17 +04:00
John Preston
be74a391ba Show floor()-ed days count till voice chat start. 2021-04-13 18:27:38 +04:00
John Preston
d71b6effd6 Return request for code resend on auth. 2021-04-13 17:54:12 +04:00
John Preston
5ff70315cb Fix crash in GTK + Qt initialization. 2021-04-13 17:30:28 +04:00
John Preston
04c0d79ccc Add payment button icon to the corner. 2021-04-13 17:21:24 +04:00
John Preston
34c5ce16d0 Fix contract violation in shutdown with webview. 2021-04-13 16:52:40 +04:00
John Preston
e52f947f98 Improve webview progress style. 2021-04-13 16:38:38 +04:00
John Preston
40e46e8480 Hide webview progress instantly. 2021-04-13 15:37:25 +04:00
Ilya Fedin
c87802ce65 Move GTK initialization before Qt initialization
To ensure Qt doesn't load GTK earlier than us and gdk_set_allowed_backends respected
2021-04-13 14:03:00 +03:00
John Preston
73c63cb2c7 Hide payments webview progress when destroying. 2021-04-13 14:05:31 +04:00
John Preston
0ead0879d7 Support blocking progress in payment panel. 2021-04-12 19:24:36 +04:00
John Preston
52b5c4cbe0 Fix animated stickers with BOM.
Regression was introduced in 98afc99a8f (RapidJSON update in rlottie).
2021-04-12 17:48:16 +04:00
John Preston
a9422111a2 Fix crash in leaving Recent Actions with GIFs. 2021-04-12 17:46:46 +04:00
John Preston
e5ac7a1416 Fix creating a scheduled voice chat. 2021-04-12 15:36:19 +04:00
Alexander Bushnev
99501d844d Remember that media view was switched to PIP and open it as PIP again.
Very useful, especially on large monitors.
Since the permanent opening of the video in full screen interferes and hide other applications.
This functionality allows remembering (in the current session) that the window has been switched to a PIP mode and will open a new video directly in the PIP mode.
2021-04-12 12:03:48 +03:00
Loïc Molinari
46ee5598f5 Remove dangling timer in MTP Session
Commit bdc7f4114f got rid of
_timeouter's callback without removing the timer that still fires
every second.
2021-04-12 12:03:15 +03:00
John Preston
aa843ee978 Update lib_ui. 2021-04-12 13:02:53 +04:00
Ilya Fedin
ad0c93cbb1 Take shadow into account when saving/restoring window geometry 2021-04-12 11:55:30 +03:00
John Preston
35ff621b5b Show toast on successfull payment. 2021-04-12 12:50:31 +04:00
John Preston
a2d2c8a208 Update tgcalls library. 2021-04-12 12:50:14 +04:00
John Preston
0e1a445614 Fix serializing peers. 2021-04-12 10:48:17 +04:00
John Preston
13d0d15a50 Closed alpha version 2.7.1.2. 2021-04-12 10:48:17 +04:00
John Preston
16f1875fdc Fix crash in reading StorageFileLocation. 2021-04-12 10:48:17 +04:00
John Preston
4625e7613b Use data_peer_id in export. 2021-04-12 10:48:17 +04:00
John Preston
a100048cce Fix build on macOS and Linux. 2021-04-12 10:48:17 +04:00
John Preston
188070d03f Closed alpha version 2.7.1.1. 2021-04-12 10:48:17 +04:00
23rd
23996d14d3 Fixed display of chat buttons on main touchbar after audio touchbar.
Fixed #10361.
2021-04-12 10:48:17 +04:00
23rd
07c65dfd74 Fixed song covers for voice chat records. 2021-04-12 10:48:17 +04:00
23rd
61741b53c3 Fixed display of rescheduling selected messages in other sections. 2021-04-12 10:48:16 +04:00
John Preston
ae74c8a6b8 Show voice chat start time in service message. 2021-04-12 10:48:16 +04:00
John Preston
4ecd1049b2 Allow scheduling voice chats for up to 7 days. 2021-04-12 10:48:16 +04:00
John Preston
71c4cc9623 Pass theme params to payments.GetPaymentForm. 2021-04-12 10:48:16 +04:00
John Preston
d41bd1483e Queue skipped self updates in voice chats. 2021-04-12 10:48:16 +04:00
John Preston
0e47c6b415 Show 'Late by' state and glow in ForceMuted state. 2021-04-12 10:48:16 +04:00
John Preston
4d91ab7079 Update lottie icons in voice chats. 2021-04-12 10:48:16 +04:00
John Preston
dc2192d5ca Invoke click handler from a closed ConfirmBox.
Fixes #10597.
2021-04-09 15:05:00 +04:00
John Preston
1342077dcb Use 48 bit [User/Chat/Channel]Id, 56 bit PeerId. 2021-04-09 15:05:00 +04:00
John Preston
61d0cc38b0 Add native card input support through smartglocal. 2021-04-08 12:49:28 +04:00
John Preston
79f7aa703a Allow clearing saved payments information. 2021-04-07 15:43:32 +04:00
John Preston
65dd9b82c0 Share instead of Settings for scheduled voice chats. 2021-04-07 14:56:53 +04:00
John Preston
96bc4858c1 Add schedule voice chat link in ConfirmBox. 2021-04-07 11:21:59 +04:00
John Preston
27fc61c676 Add confirm for starting scheduled voice chat early. 2021-04-06 20:09:52 +04:00
John Preston
8c7217ad56 Fix build on macOS. 2021-04-06 18:53:03 +04:00
John Preston
bd42c68978 Fix members list after schedule voice chat start. 2021-04-06 18:41:16 +04:00
John Preston
c2900db061 Allow change join_as in scheduled call. 2021-04-06 18:41:16 +04:00
John Preston
d7e90fec1a Add a nice countdown to scheduled voice chat panel. 2021-04-06 18:41:16 +04:00
John Preston
66e7f05df1 Improve scheduled voice chat top bar design. 2021-04-06 18:41:16 +04:00
John Preston
088fda4ed8 Correctly track mute button scheduled state. 2021-04-06 18:41:16 +04:00
John Preston
15d17c8b0e Add creating of a scheduled group call. 2021-04-06 18:41:16 +04:00
John Preston
e6587f2556 Add limited webview support on Linux. 2021-04-06 18:41:16 +04:00
John Preston
d40687adb8 Remove testing code. 2021-04-06 18:41:16 +04:00
John Preston
ee098d00ad Add better error reporting to payments. 2021-04-06 18:41:16 +04:00
John Preston
e106bd143e Add a warning once per bot on payment. 2021-04-06 18:41:16 +04:00
John Preston
62684ab9bb Warn before closing payment panel. 2021-04-06 18:41:16 +04:00
John Preston
69b70cda54 Explain registration from mobiles only. 2021-04-06 18:41:16 +04:00
John Preston
b6c86fd298 Add nice tips buttons. 2021-04-06 18:41:16 +04:00
John Preston
d55d7f37d7 Close payments panel by escape. 2021-04-06 18:41:16 +04:00
John Preston
b1c122a260 Add ' (Test)' to checkout panel titles. 2021-04-06 18:41:16 +04:00
John Preston
bdffdea358 Always jump to next field in payments. 2021-04-06 18:41:16 +04:00
John Preston
491ec2db7f Always show footer in webview in payments. 2021-04-06 18:41:16 +04:00
John Preston
cd4a9d7c16 Show 'phone/email passed to provider' in payments. 2021-04-06 18:41:16 +04:00
John Preston
7cbe158d00 Update API scheme. 2021-04-06 18:41:16 +04:00
John Preston
1cc1f380d0 Implement a nice money input field. 2021-04-06 18:41:16 +04:00
John Preston
0188719d04 Fix payments with zero tips. 2021-04-06 18:41:16 +04:00
John Preston
e6ba6050e7 Update button on paid invoices to 'Receipt'. 2021-04-06 18:41:16 +04:00
John Preston
889e0dc035 Fix build for macOS / Linux. 2021-04-06 18:41:16 +04:00
John Preston
663db64688 Allow saving and using saved credentials. 2021-04-06 18:41:16 +04:00
John Preston
2e58993181 Use title/description from paymentReceipt. 2021-04-06 18:41:16 +04:00
John Preston
f09a468a7c Improve design of payment bottom buttons. 2021-04-06 18:41:16 +04:00
John Preston
b08d9fe0b8 Reactivate window on payment close. 2021-04-06 18:41:16 +04:00
John Preston
619f70ab22 Improve design of shipping option selection. 2021-04-06 18:41:16 +04:00
John Preston
21b502c754 Format money amount same way as server does. 2021-04-06 18:41:16 +04:00
John Preston
8cac76931e Support adding tips in payments. 2021-04-06 18:41:15 +04:00
John Preston
00c915e58d Add support for inline invoices. 2021-04-06 18:41:15 +04:00
John Preston
8889329415 Support sending live location in inline bot results. 2021-04-06 18:41:15 +04:00
John Preston
3ec3f6484f Update API scheme to layer 128. 2021-04-06 18:41:15 +04:00
John Preston
c7a1771dec Simple receipt viewing. 2021-04-06 18:41:15 +04:00
John Preston
320adcd389 Fix showing comments from the beginning. 2021-04-06 18:41:15 +04:00
John Preston
1050447eed Add phone format and validation in payments. 2021-04-06 18:41:15 +04:00
John Preston
0af6c4b0b6 Add local validation for card information. 2021-04-06 18:41:15 +04:00
John Preston
e077163322 Add nice country choosing in payments. 2021-04-06 18:41:15 +04:00
John Preston
47fdef1e38 Improve checkout information / card page design. 2021-04-06 18:41:15 +04:00
John Preston
fafea73ea7 Improve checkout main page design. 2021-04-06 18:41:15 +04:00
John Preston
56031a6402 Handle native / non-native payment methods (same way). 2021-04-06 18:41:15 +04:00
John Preston
5e4bc200c2 Support entering card details natively. 2021-04-06 18:41:15 +04:00
John Preston
5bc6e6533f Fix jumping of Media Viewer in some DEs. 2021-04-06 18:41:15 +04:00
John Preston
76b4e18518 Port required parts of Stripe SDK to lib_stripe. 2021-04-06 18:41:15 +04:00
John Preston
994dbf9eb5 Validate saved information on payment form open. 2021-04-06 18:41:15 +04:00
John Preston
212497413c Show some payment errors, focus fields. 2021-04-06 18:41:15 +04:00
John Preston
0d44736575 First full-featured version of payments, no design. 2021-04-06 18:41:15 +04:00
John Preston
4c707bff29 Start proper payments processing. 2021-04-06 18:41:15 +04:00
John Preston
25bbde2739 Use navigation cancel in Webview. 2021-04-06 18:36:09 +04:00
John Preston
c74e240d30 Update lib_webview. 2021-04-06 18:36:09 +04:00
John Preston
7b277aa770 Start Linux support. 2021-04-06 18:36:09 +04:00
John Preston
f93527442d Use lib_webview implementation on macOS. 2021-04-06 18:36:09 +04:00
John Preston
35610da750 Use lib_webview implementation on Windows. 2021-04-06 18:36:09 +04:00
John Preston
21228783da Fix webview on macOS. 2021-04-06 18:36:09 +04:00
John Preston
b323e5ffcf 3DSecure in Proof-Of-Concept payments. 2021-04-06 18:36:09 +04:00
John Preston
7c979144fc Proof-Of-Concept simplest invoice payment. 2021-04-06 18:36:09 +04:00
John Preston
fd85efa9ba Link Telegram with lib_webview. 2021-04-06 18:36:09 +04:00
John Preston
22da48d231 Add webview / lib_webview submodules. 2021-04-06 18:36:09 +04:00
Ilya Fedin
3343880ed0 Watch for network availability changes 2021-04-06 16:40:29 +03:00
Ilya Fedin
df73bda1ff Update lib_ui 2021-04-05 10:19:24 +03:00
Ilya Fedin
75a782cced Workaround force setting of WM_TRANSIENT_HINT in Qt's xcb backend 2021-04-05 10:19:24 +03:00
Ilya Fedin
0e126e2550 More advanced logging about... logging 2021-04-05 09:22:04 +03:00
Ilya Fedin
cffb615a4d Fix build 2021-04-05 09:22:04 +03:00
Ilya Fedin
7ab3be3631 Handle any audio type with MPRIS 2021-04-05 09:08:33 +03:00
Ilya Fedin
591488c497 Close players instead of quitting the app 2021-04-05 09:08:33 +03:00
Ilya Fedin
ae54c8af6a Add support for setting cover with MPRIS 2021-04-05 09:08:33 +03:00
Ilya Fedin
30c86523ff Remove redudant indenattion level in MPRIS XML 2021-04-05 09:08:33 +03:00
Ilya Fedin
9a6e571154 Move XDP file dialog to glibmm mime type & regex methods 2021-04-05 08:30:04 +03:00
Ilya Fedin
13a497cf5d Update lib_base 2021-04-05 08:25:47 +03:00
Ilya Fedin
6463890b11 Workaround snap's activation restriction 2021-04-05 08:25:47 +03:00
Ilya Fedin
073b5b106c Get rid of modal parent hack
It was introduced to workaround the absence of size hints propagating in Qt 5.12 Wayland backend, there's no need in it anymore
2021-04-05 08:03:46 +03:00
Ilya Fedin
0cd8cc67c5 Scale window icon manually when getting from icon theme 2021-04-05 08:02:50 +03:00
Nicholas Guriev
f528a240d9 Rely on QT_STRINGIFY instead of custom macro 2021-04-05 07:59:18 +03:00
GitHub Action
a814c3f428 Update User-Agent for DNS to Chrome 89.0.4389.90. 2021-04-02 20:49:20 +03:00
Ilya Fedin
81d052adfc Add a way to get dark mode state on KDE 2021-04-02 20:30:47 +03:00
Ilya Fedin
822c1cafd2 Fix a space on end of a line in linux_mpris_support 2021-04-02 20:30:47 +03:00
Ilya Fedin
c08a148baf Fix build on 32-bit systems 2021-03-23 18:21:07 +03:00
John Preston
a38a94ed9c Update submodules. 2021-03-22 22:38:22 +04:00
John Preston
4d579f873c Remove tested 110% scale. 2021-03-22 19:52:51 +04:00
John Preston
56c8327746 Fix emoji picker button in boxes in non-default scale. 2021-03-22 19:41:13 +04:00
John Preston
0e6d4291a2 Fix close window button paint in theme preview. 2021-03-22 19:40:12 +04:00
John Preston
8ca622d077 Remove 100% from voice chat 'speaking' status. 2021-03-22 18:55:07 +04:00
John Preston
4d24f28fd0 By voicechat link open the channel as well. 2021-03-22 17:24:53 +04:00
John Preston
2b3469ef22 Remove CAPS in calls / voice chats top bar. 2021-03-22 16:44:00 +04:00
John Preston
03a868a6e3 Allow skipping stuck files in data export.
Fixes #6423.
2021-03-22 16:32:40 +04:00
Ilya Fedin
12db51fe75 Avoid removing portal platformtheme plugin in snap 2021-03-22 07:57:18 +03:00
Ilya Fedin
ce5579e8f9 Unify gtk/xdp file dialog getters 2021-03-22 07:57:18 +03:00
Ilya Fedin
a16b7fbb83 Fix path to executable in ComputeExternalUpdater 2021-03-21 09:04:43 +03:00
Ilya Fedin
9f6f7f7c9b Fix build without dbus 2021-03-21 08:59:19 +03:00
John Preston
a82d1e863e Version 2.7.1: Fix channels ban in admin log. 2021-03-20 18:19:31 +04:00
John Preston
26d97a3636 Version 2.7.1.
- Fix editing 'Manage Voice Chats' rights for channel admins.
- Fix verification check display in voice chat participants list.
- Allow removing and blocking channels from voice chats.
2021-03-20 16:23:41 +04:00
John Preston
7b8e421996 Allow markup in some voice chat toasts. 2021-03-20 16:23:41 +04:00
John Preston
2bc2a0e459 Fix possible integer overflow. 2021-03-20 16:03:58 +04:00
John Preston
7cb4b4f8ab Don't try to use WebRTC built-in audio backends. 2021-03-20 15:43:35 +04:00
John Preston
b439ecce16 Allow all toasts to be multiline in voice chats. 2021-03-20 15:43:35 +04:00
John Preston
a33a4c0589 Fix maximize/restore voice chat title bar button. 2021-03-20 15:43:35 +04:00
John Preston
5278e2201f Make red 'Remove' in voice chat participant menu. 2021-03-20 15:43:35 +04:00
John Preston
3bd6b2268f Allow blocking channels in voice chats. 2021-03-20 15:43:35 +04:00
John Preston
a0a13c3b86 Update API scheme to layer 126. 2021-03-20 15:43:35 +04:00
John Preston
0052c7938f Fix verified icon in voice chat participants list. 2021-03-20 15:43:35 +04:00
John Preston
a14db3e492 Allow editing 'Manage Voice Chats' admin right in channels. 2021-03-20 15:43:35 +04:00
Ilya Fedin
7979b3b6c8 Fix devtoolset version in linux action 2021-03-20 14:33:02 +03:00
Ilya Fedin
3f25e92afd Add build options for libtgvoip backends
libtgvoip has options to disbale some backends, but they never were exposed via tdesktop's cmake

Since libtgvoip autoconf build system doesn't work anymore, it's worth to have these options in tdesktop's cmake.
2021-03-20 14:33:02 +03:00
Ilya Fedin
3d1cddaca5 Add a way to change default handler in snap 2021-03-20 14:20:09 +03:00
John Preston
eeecc42c25 Version 2.7.
- Start limitless Voice Chats in Groups and Channels.
- Host discussions that can be listened to
by millions of people simultaneously.
- Record voice chats to share or publish in Channels later.
- See that a chat is being recorded
from the red dot next to its title.
- See user bio texts right from the list of participants.
- Raise your hand to show admins you want to speak.
- Create separate Voice Chat Invite Links for listeners or speakers.
- Change the title of your Voice Chat
to give people an idea of the current topic.
- Join Voice Chats as one of your Channels
to hide your personal account.
2021-03-19 14:15:26 +04:00
John Preston
e22ecafc1d Add confirmation on create / anonymous admin join. 2021-03-19 14:10:02 +04:00
John Preston
ba41da7b28 Fix discarded group call handle. 2021-03-19 00:57:16 +04:00
John Preston
9cfbccf9e7 Beta version 2.6.8.
- Fix connecting and getting allowed to speak on voice chats.
- MPRIS support on Linux.
2021-03-18 22:56:42 +04:00
John Preston
2b6f50e114 Fix joining / unmuting. 2021-03-18 22:56:42 +04:00
Ilya Fedin
d2f57b72c3 Add mpris permission for snap 2021-03-18 21:55:06 +03:00
Ilya Fedin
85ac983a27 Add MPRIS support 2021-03-18 21:55:06 +03:00
John Preston
ac397e6e19 Beta version 2.6.7.
- Improve voice chat participants list updating.
2021-03-18 18:05:43 +04:00
John Preston
38e15c9bdb Fix saving legacy chat admins without migration.
Fixes #10558.
2021-03-18 17:27:33 +04:00
John Preston
00d65fa978 Request one participants slice on voice chat reload. 2021-03-18 16:58:05 +04:00
John Preston
3fea9cca08 Subscribe to channel updates in voice chat. 2021-03-18 15:54:28 +04:00
John Preston
b390e0766b Apply all queued updates on reload. 2021-03-18 15:30:58 +04:00
John Preston
2f75e6bbe2 Add some logging for voice chat updates. 2021-03-18 15:22:55 +04:00
Ilya Fedin
decbbb9a73 Check for openal fork updates in Dockerfile 2021-03-18 07:51:57 +03:00
Ilya Fedin
b4b80822c8 Set glib's application name and prgname 2021-03-18 07:51:57 +03:00
John Preston
bc82cdc3b3 Call dump_syms and strip outside of docker. 2021-03-18 02:33:29 +04:00
John Preston
ebc67d25f0 Migrate docker build to GCC 9. 2021-03-18 00:30:12 +04:00
John Preston
348b4d54ba Revert "Workaround build issues on GCC."
This reverts commit 3defb06783.
2021-03-18 00:30:12 +04:00
John Preston
6f86ce595b Beta version 2.6.6.
- Fix joining popular voice chats.
2021-03-18 00:26:53 +04:00
John Preston
8c53a3c19e Don't skip updateGroupCallParticipants while in getDifference. 2021-03-18 00:25:53 +04:00
John Preston
67623072d6 Fix joining a voice chat. 2021-03-18 00:24:36 +04:00
John Preston
1291f1c80d Beta version 2.6.5.
- Improvements and fixes in new voice chat features.
2021-03-17 21:16:55 +04:00
John Preston
0684db9bd8 Improve participants sorting in voice chats. 2021-03-17 20:37:55 +04:00
John Preston
db7b61a77b Rewrite voice chat members list management. 2021-03-17 20:37:55 +04:00
John Preston
d392633b90 Send speaking typings in channels. 2021-03-17 20:37:55 +04:00
John Preston
76e08af26a Apply updateGroupCallParticipants before updateGroupCall. 2021-03-17 20:37:55 +04:00
John Preston
b23f16e6e4 Don't show 'allowed to speak' on first join. 2021-03-17 20:37:54 +04:00
23rd
23156d523c Fixed Github CI Windows build. 2021-03-17 18:59:20 +03:00
Ilya Fedin
04b0e2e9e6 Update submodules 2021-03-17 18:58:02 +03:00
Ilya Fedin
ace5740125 Use QProcess::startDetached for xdg-open
Since it may running continously
2021-03-17 15:39:26 +03:00
John Preston
bc67b79023 Beta version 2.6.4: 110% UI scale on macOS Retina. 2021-03-17 00:07:08 +04:00
John Preston
528c98af67 Beta version 2.6.4.
- Fix freeze in voice chats.
2021-03-17 00:02:05 +04:00
John Preston
311a2f2753 Fix freeze in voice chats. 2021-03-16 23:54:58 +04:00
John Preston
3defb06783 Workaround build issues on GCC. 2021-03-16 22:26:58 +04:00
John Preston
5708b5e849 Fix confirmation when joining by link. 2021-03-16 21:06:36 +04:00
John Preston
1db1328a91 Beta version 2.6.3.
- Fix audio device selection in voice chats.
- Fix blinking self profile photo
in case the profile photo privacy is used.
- Fix voice chat admin menu on macOS.
2021-03-16 19:13:15 +04:00
John Preston
2e9d6d73c3 Fix invalid 'You can speak' notification. 2021-03-16 19:09:23 +04:00
John Preston
38dd5ab837 Fix 'join as' userpic button display. 2021-03-16 18:58:10 +04:00
John Preston
83ab670c50 Remove 'wants to speak' status in three seconds. 2021-03-16 18:51:38 +04:00
John Preston
5621e41529 Limit voice chat title to 40 characters. 2021-03-16 18:51:11 +04:00
John Preston
056cab6268 Don't apply private userpic 'min' updates. 2021-03-16 18:15:19 +04:00
John Preston
61d0d240aa Add 'rejoin as' and 'change title' toast notifications. 2021-03-16 18:13:51 +04:00
John Preston
33ae4c2802 Improve layout of voice chat channel choosing. 2021-03-16 17:16:56 +04:00
John Preston
2c806b11d7 Always join voice chats by link with confirmation. 2021-03-16 17:16:01 +04:00
John Preston
199434c7a2 Add recording mark animation. 2021-03-16 14:48:12 +04:00
John Preston
c65c554d88 Don't ask joinAs for voice chats each time. 2021-03-16 14:33:11 +04:00
John Preston
5d16359a5a Fix voice chat three-dot menu on macOS. 2021-03-16 13:50:40 +04:00
John Preston
fd9ad04d15 Vazir Without-Latin instead of Without-Latin-UI.
Fixes #10536.
2021-03-16 13:29:46 +04:00
Ilya Fedin
0c8febce9c Avoid allocations for case-insensetive compare 2021-03-16 12:20:48 +03:00
John Preston
4659cc50f2 Allow inviting members in channel voice chats. 2021-03-15 22:40:59 +04:00
John Preston
2fddeb478b Fix long texts in invite link error toasts. 2021-03-15 20:49:38 +04:00
Ilya Fedin
4ffe1d3acc Use base::flat_map for pointer keys 2021-03-15 19:49:06 +03:00
Ilya Fedin
cdf0512515 Remove unused variable in mainwidget 2021-03-15 19:49:06 +03:00
Ilya Fedin
971e188063 Replace remaining QFileInfo::exists 2021-03-15 19:49:06 +03:00
John Preston
a909c1a813 Make default UI scale 120% on macOS Retina. 2021-03-15 20:33:41 +04:00
John Preston
4fc2b1f1a3 Append x64 to app_version on Windows. 2021-03-15 20:14:39 +04:00
John Preston
fb04f33ae8 Fix long voice chat title elision on macOS. 2021-03-15 19:34:58 +04:00
John Preston
b2c87e7a73 Fix three-dot toggle in voice chats. 2021-03-15 19:19:29 +04:00
John Preston
86a33ceea1 Fix audio device selection in voice chats. 2021-03-15 19:00:58 +04:00
John Preston
a5d8d7a550 Add some validation for GroupThumbs. 2021-03-15 19:00:32 +04:00
Ilya Fedin
11723aedff Get rid of empty QStringLiterals 2021-03-15 17:19:59 +03:00
Ilya Fedin
fe5de8f009 Fix non-working UniqueConnection in gtk file dialog 2021-03-15 17:19:44 +03:00
Ilya Fedin
6b68d001ae Get rid of deprecated ranges::action 2021-03-15 11:41:29 +03:00
Ilya Fedin
ae0b9141dd Trying to get rid of unused variables... 2021-03-15 11:40:44 +03:00
Ilya Fedin
12e306dd7b Replace remaining multi-args 2021-03-15 11:21:05 +03:00
Ilya Fedin
508762cd2c Use static QFileInfo::exists 2021-03-15 11:21:05 +03:00
1953 changed files with 110861 additions and 87188 deletions

3
.gitattributes vendored
View File

@@ -4,3 +4,6 @@
# Ensure diffs have LF endings
*.diff text eol=lf
*.bat text eol=crlf
# Ensure lottie animations are treated as binary files
*.lottie binary

View File

@@ -1,34 +0,0 @@
---
name: Bug report
about: Report errors or unexpected behavior.
---
<!--
Thanks for reporting issues of Telegram Desktop!
To make it easier for us to help you please enter detailed information below.
-->
### Steps to reproduce
1.
2.
3.
### Expected behaviour
Tell us what should happen
### Actual behaviour
Tell us what happens instead
### Configuration
**Operating system:**
**Version of Telegram Desktop:**
**Installation source (Linux Only)** - the official website / GitHub releases / flatpak / snap / distribution package:
**Used theme**:
<details><summary><b>Logs</b>:</summary>
Insert log.txt here (if necessary)
</details>

67
.github/ISSUE_TEMPLATE/BUG_REPORT.yml vendored Normal file
View File

@@ -0,0 +1,67 @@
name: Bug report
description: Report errors or unexpected behavior.
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for reporting issues of Telegram Desktop!
To make it easier for us to help you please enter detailed information below.
- type: textarea
attributes:
label: Steps to reproduce
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
placeholder: Tell us what should happen
validations:
required: true
- type: textarea
attributes:
label: Actual behaviour
placeholder: Tell us what happens instead
validations:
required: true
- type: input
attributes:
label: Operating system
description: >
Your operating system name, version and desktop environment.
Please don't use kernel version (uname), it's useless.
validations:
required: true
- type: input
attributes:
label: Version of Telegram Desktop
description: >
Please note we don't support versions from Linux distro repositories.
If you need support for these versions, please contact your distro maintainer
or your distro bugtracker.
Don't use 'latest', specify actual version, that's a reason to close your issue.
validations:
required: true
- type: dropdown
attributes:
label: Installation source
multiple: false
options:
- Static binary from official website
- Microsoft Store
- Mac App Store
- Flatpak
- Snap
- Other (unofficial) source
validations:
required: true
- type: textarea
attributes:
label: Logs
placeholder: Insert log.txt here (if necessary)
render: shell

View File

@@ -1,18 +0,0 @@
---
name: Feature request
about: Suggest an idea.
title: "[Feature Request] "
---
### Is your feature request related to a problem?
A clear and concise description of what the problem is.
### Describe the solution you'd like
A clear and concise description of what you want to happen.
### Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
### Additional context
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,30 @@
---
name: Feature request
description: Suggest an idea.
labels: [enhancement]
title: "[Feature Request] "
body:
- type: textarea
attributes:
label: Is your feature request related to a problem?
placeholder: A clear and concise description of what the problem is.
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
placeholder: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: textarea
attributes:
label: Additional context
placeholder: Add any other context or screenshots about the feature request here.
validations:
required: false

View File

@@ -1,11 +0,0 @@
# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 30
# Label requiring a response
responseRequiredLabel: waiting for answer
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
This issue has been automatically closed because there has been no response
to our request for more information from the original author. With only the
information that is currently in the issue, we don't have enough information
to take action. Please reach out if you have or find the answers we need so
that we can investigate further.

2
.github/stale.yml vendored
View File

@@ -3,7 +3,7 @@ daysUntilStale: 180
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 30
# Issues with these labels will never be considered stale
exemptLabels: []
exemptLabels: [ "enhancement" ]
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable

View File

@@ -5,7 +5,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-cmake.md'
- '!docs/building-linux.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -13,7 +13,6 @@ on:
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -25,7 +24,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-cmake.md'
- '!docs/building-linux.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -33,7 +32,6 @@ on:
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -55,7 +53,7 @@ jobs:
defaults:
run:
shell: scl enable devtoolset-8 -- bash --noprofile --norc -eo pipefail {0}
shell: scl enable llvm-toolset-7.0 -- scl enable devtoolset-10 -- bash --noprofile --norc -eo pipefail {0}
strategy:
matrix:
@@ -64,7 +62,6 @@ jobs:
- "DESKTOP_APP_DISABLE_DBUS_INTEGRATION"
- "DESKTOP_APP_DISABLE_X11_INTEGRATION"
- "DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION"
- "DESKTOP_APP_DISABLE_GTK_INTEGRATION"
env:
UPLOAD_ARTIFACT: "false"
@@ -106,12 +103,11 @@ jobs:
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
$DEFINE
cd ../out/Debug
make -j$(nproc)
cmake --build ../out --config Debug --parallel
- name: Check.
run: |
filePath="$REPO_NAME/out/Debug/bin/Telegram"
filePath="$REPO_NAME/out/Debug/Telegram"
if test -f "$filePath"; then
echo "Build successfully done! :)"
@@ -125,7 +121,7 @@ jobs:
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
run: |
cd $REPO_NAME/out/Debug/bin
cd $REPO_NAME/out/Debug
mkdir artifact
mv Telegram artifact/
- uses: actions/upload-artifact@master
@@ -133,4 +129,4 @@ jobs:
name: Upload artifact.
with:
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.REPO_NAME }}/out/Debug/bin/artifact/
path: ${{ env.REPO_NAME }}/out/Debug/artifact/

View File

@@ -2,22 +2,14 @@ name: 'Lock Threads'
on:
schedule:
- cron: '0 * * * *'
- cron: '0 0 * * *'
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
- uses: dessant/lock-threads@v3
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: 45
pr-lock-inactive-days: 45
issue-lock-comment: >
This issue has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.
pr-lock-comment: >
This pull request has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.
issue-inactive-days: 45
pr-inactive-days: 45

View File

@@ -5,7 +5,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-xcode.md'
- '!docs/building-mac.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -13,8 +13,7 @@ on:
- '!.github/workflows/mac.yml'
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/build/docker/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -24,7 +23,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-xcode.md'
- '!docs/building-mac.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -32,8 +31,7 @@ on:
- '!.github/workflows/mac.yml'
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/build/docker/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -51,21 +49,8 @@ jobs:
defines:
- ""
env:
MIN_MAC: "-mmacosx-version-min=10.12"
UNGUARDED: "-Werror=unguarded-availability-new"
GIT: "https://github.com"
PREFIX: "/usr/local/macos"
MACOSX_DEPLOYMENT_TARGET: "10.12"
XZ: "xz-5.2.5"
QT: "5_15_2"
OPENSSL_VER: "1_1_1"
QT_PREFIX: "/usr/local/desktop-app/Qt-5.15.2"
LIBICONV_VER: "libiconv-1.16"
UPLOAD_ARTIFACT: "false"
ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-xcode.md"
AUTO_CACHING: "1"
steps:
- name: Get repository name.
@@ -88,421 +73,23 @@ jobs:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcodebuild -version > CACHE_KEY.txt
echo $MIN_MAC >> CACHE_KEY.txt
echo $PREFIX >> CACHE_KEY.txt
echo $MANUAL_CACHING >> CACHE_KEY.txt
echo "$GITHUB_WORKSPACE" >> CACHE_KEY.txt
if [ "$AUTO_CACHING" == "1" ]; then
thisFile=$REPO_NAME/.github/workflows/mac.yml
echo `md5 -q $thisFile` >> CACHE_KEY.txt
fi
echo "CACHE_KEY=`md5 -q CACHE_KEY.txt`" >> $GITHUB_ENV
echo "$PWD/Libraries/depot_tools" >> $GITHUB_PATH
mkdir -p Libraries/macos
cd Libraries/macos
echo "LibrariesPath=`pwd`" >> $GITHUB_ENV
curl -o tg_owt-version.json https://api.github.com/repos/desktop-app/tg_owt/git/refs/heads/master
- name: Patches.
run: |
echo "Find necessary commit from doc."
checkoutCommit=$(grep -A 1 "cd patches" $REPO_NAME/$DOC_PATH | sed -n 2p)
cd $LibrariesPath
git clone $GIT/desktop-app/patches.git
cd Patches
eval $checkoutCommit
- name: XZ.
run: |
cd $LibrariesPath
wget https://tukaani.org/xz/$XZ.tar.gz
tar -xvzf $XZ.tar.gz
cd $XZ
CFLAGS="$MIN_MAC" LDFLAGS="$MIN_MAC" ./configure --prefix=$PREFIX
make -j$(nproc)
sudo make install
- name: Zlib.
run: |
cd $LibrariesPath
git clone $GIT/desktop-app/zlib.git
cd zlib
CFLAGS="$MIN_MAC $UNGUARDED" LDFLAGS="$MIN_MAC" ./configure --prefix=$PREFIX
make -j$(nproc)
sudo make install
- name: MozJPEG.
run: |
cd $LibrariesPath
git clone -b v4.0.1-rc2 $GIT/mozilla/mozjpeg.git
cd mozjpeg
cmake -B build . \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DWITH_JPEG8=ON \
-DPNG_SUPPORTED=OFF
cmake --build build -j$(nproc)
sudo cmake --install build
- name: OpenSSL cache.
id: cache-openssl
- name: ThirdParty cache.
id: cache-third-party
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/openssl_${{ env.OPENSSL_VER }}
key: ${{ runner.OS }}-${{ env.OPENSSL_VER }}-${{ env.CACHE_KEY }}
- name: OpenSSL.
if: steps.cache-openssl.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
path: ThirdParty
key: ${{ runner.OS }}-third-party
git clone $GIT/openssl/openssl openssl
cd openssl
git checkout OpenSSL_"$OPENSSL_VER"-stable
./Configure \
--prefix=$PREFIX \
no-tests \
darwin64-x86_64-cc \
-static \
$MIN_MAC
make build_libs -j$(nproc)
SSL_DIR=$LibrariesPath/openssl_$OPENSSL_VER
mkdir -p $SSL_DIR/include
copyLib() {
cp $1.a $SSL_DIR/$1.a
}
copyLib libssl
copyLib libcrypto
sudo cp -R include/. $SSL_DIR/include/
- name: Opus cache.
id: cache-opus
- name: Libraries cache.
id: cache-libs
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/opus-cache
key: ${{ runner.OS }}-opus-${{ env.CACHE_KEY }}
- name: Opus.
if: steps.cache-opus.outputs.cache-hit != 'true'
path: Libraries
key: ${{ runner.OS }}-libs
- name: Libraries.
run: |
cd $LibrariesPath
git clone $GIT/xiph/opus
cd opus
git checkout v1.3
./autogen.sh
CFLAGS="$MIN_MAC $UNGUARDED" CPPFLAGS="$MIN_MAC $UNGUARDED" LDFLAGS="$MIN_MAC" ./configure --prefix=$PREFIX
make -j$(nproc)
sudo make DESTDIR="$LibrariesPath/opus-cache" install
- name: Opus install.
run: |
cd $LibrariesPath
sudo cp -R opus-cache/. /
- name: Libiconv cache.
id: cache-libiconv
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/libiconv-cache
key: ${{ runner.OS }}-${{ env.LIBICONV_VER }}-${{ env.CACHE_KEY }}
- name: Libiconv.
if: steps.cache-libiconv.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
wget https://ftp.gnu.org/pub/gnu/libiconv/"$LIBICONV_VER".tar.gz
tar -xvzf "$LIBICONV_VER".tar.gz
cd $LIBICONV_VER
CFLAGS="$MIN_MAC $UNGUARDED" CPPFLAGS="$MIN_MAC $UNGUARDED" LDFLAGS="$MIN_MAC" ./configure --enable-static --prefix=$PREFIX
make -j$(nproc)
sudo make DESTDIR="$LibrariesPath/libiconv-cache" install
- name: Libiconv install.
run: |
cd $LibrariesPath
sudo cp -R libiconv-cache/. /
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/ffmpeg-cache
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}
- name: FFmpeg.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
git checkout release/4.2
CFLAGS=`freetype-config --cflags`
LDFLAGS=`freetype-config --libs`
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig
./configure --prefix=$LibrariesPath/ffmpeg-cache \
--extra-cflags="$MIN_MAC $UNGUARDED" \
--extra-cxxflags="$MIN_MAC $UNGUARDED" \
--extra-ldflags="$MIN_MAC" \
--x86asmexe=`pwd`/macos_yasm_wrap.sh \
--enable-protocol=file \
--enable-libopus \
--disable-programs \
--disable-doc \
--disable-network \
--disable-everything \
--enable-hwaccel=h264_videotoolbox \
--enable-hwaccel=hevc_videotoolbox \
--enable-hwaccel=mpeg1_videotoolbox \
--enable-hwaccel=mpeg2_videotoolbox \
--enable-hwaccel=mpeg4_videotoolbox \
--enable-decoder=aac \
--enable-decoder=aac_at \
--enable-decoder=aac_fixed \
--enable-decoder=aac_latm \
--enable-decoder=aasc \
--enable-decoder=alac \
--enable-decoder=alac_at \
--enable-decoder=flac \
--enable-decoder=gif \
--enable-decoder=h264 \
--enable-decoder=hevc \
--enable-decoder=mp1 \
--enable-decoder=mp1float \
--enable-decoder=mp2 \
--enable-decoder=mp2float \
--enable-decoder=mp3 \
--enable-decoder=mp3adu \
--enable-decoder=mp3adufloat \
--enable-decoder=mp3float \
--enable-decoder=mp3on4 \
--enable-decoder=mp3on4float \
--enable-decoder=mpeg4 \
--enable-decoder=msmpeg4v2 \
--enable-decoder=msmpeg4v3 \
--enable-decoder=opus \
--enable-decoder=pcm_alaw \
--enable-decoder=pcm_alaw_at \
--enable-decoder=pcm_f32be \
--enable-decoder=pcm_f32le \
--enable-decoder=pcm_f64be \
--enable-decoder=pcm_f64le \
--enable-decoder=pcm_lxf \
--enable-decoder=pcm_mulaw \
--enable-decoder=pcm_mulaw_at \
--enable-decoder=pcm_s16be \
--enable-decoder=pcm_s16be_planar \
--enable-decoder=pcm_s16le \
--enable-decoder=pcm_s16le_planar \
--enable-decoder=pcm_s24be \
--enable-decoder=pcm_s24daud \
--enable-decoder=pcm_s24le \
--enable-decoder=pcm_s24le_planar \
--enable-decoder=pcm_s32be \
--enable-decoder=pcm_s32le \
--enable-decoder=pcm_s32le_planar \
--enable-decoder=pcm_s64be \
--enable-decoder=pcm_s64le \
--enable-decoder=pcm_s8 \
--enable-decoder=pcm_s8_planar \
--enable-decoder=pcm_u16be \
--enable-decoder=pcm_u16le \
--enable-decoder=pcm_u24be \
--enable-decoder=pcm_u24le \
--enable-decoder=pcm_u32be \
--enable-decoder=pcm_u32le \
--enable-decoder=pcm_u8 \
--enable-decoder=pcm_zork \
--enable-decoder=vorbis \
--enable-decoder=wavpack \
--enable-decoder=wmalossless \
--enable-decoder=wmapro \
--enable-decoder=wmav1 \
--enable-decoder=wmav2 \
--enable-decoder=wmavoice \
--enable-encoder=libopus \
--enable-parser=aac \
--enable-parser=aac_latm \
--enable-parser=flac \
--enable-parser=h264 \
--enable-parser=hevc \
--enable-parser=mpeg4video \
--enable-parser=mpegaudio \
--enable-parser=opus \
--enable-parser=vorbis \
--enable-demuxer=aac \
--enable-demuxer=flac \
--enable-demuxer=gif \
--enable-demuxer=h264 \
--enable-demuxer=hevc \
--enable-demuxer=m4v \
--enable-demuxer=mov \
--enable-demuxer=mp3 \
--enable-demuxer=ogg \
--enable-demuxer=wav \
--enable-muxer=ogg \
--enable-muxer=opus
make -j$(nproc)
sudo make install
- name: FFmpeg install.
run: |
cd $LibrariesPath
# List of files from cmake/external/ffmpeg/CMakeLists.txt.
copyLib() {
mkdir -p ffmpeg/$1
\cp -fR ffmpeg-cache/lib/$1.a ffmpeg/$1/$1.a
}
copyLib libavformat
copyLib libavcodec
copyLib libswresample
copyLib libswscale
copyLib libavutil
sudo cp -R ffmpeg-cache/. $PREFIX
sudo cp -R ffmpeg-cache/include/. ffmpeg/
- name: OpenAL Soft.
run: |
cd $LibrariesPath
git clone --branch capture_with_webrtc $GIT/telegramdesktop/openal-soft.git
cd openal-soft/build
CFLAGS="$UNGUARDED" CPPFLAGS="$UNGUARDED" cmake \
-D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \
-D ALSOFT_EXAMPLES=OFF \
-D LIBTYPE:STRING=STATIC \
-D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=$MACOSX_DEPLOYMENT_TARGET ..
make -j$(nproc)
sudo make install
- name: Crashpad cache.
id: cache-crashpad
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/crashpad
key: ${{ runner.OS }}-crashpad-${{ env.CACHE_KEY }}-${{ hashFiles('**/crashpad.diff') }}-${{ hashFiles('**/mini_chromium.diff') }}
- name: Crashpad.
if: steps.cache-crashpad.outputs.cache-hit != 'true'
run: |
cd Libraries
echo Install GYP for Crashpad.
git clone https://chromium.googlesource.com/external/gyp
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd gyp
git checkout 9f2a7bb1
git apply $LibrariesPath/patches/gyp.diff
./setup.py build
sudo ./setup.py install
cd $LibrariesPath
git clone https://chromium.googlesource.com/crashpad/crashpad.git
cd crashpad
git checkout feb3aa3923
git apply ../patches/crashpad.diff
cd third_party/mini_chromium
git clone https://chromium.googlesource.com/chromium/mini_chromium
cd mini_chromium
git checkout 7c5b0c1ab4
git apply ../../../../patches/mini_chromium.diff
cd ../../gtest
git clone https://chromium.googlesource.com/external/github.com/google/googletest gtest
cd gtest
git checkout d62d6c6556
cd ../../..
build/gyp_crashpad.py -Dmac_deployment_target=10.10
ninja -C out/Debug
- name: Qt 5.15.2 cache.
id: cache-qt
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/qt-cache
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_15_2/*') }}
- name: Use cached Qt 5.15.2.
if: steps.cache-qt.outputs.cache-hit == 'true'
run: |
cd $LibrariesPath
mv qt-cache Qt-5.15.2
sudo mkdir -p $QT_PREFIX
sudo mv -f Qt-5.15.2 "$(dirname "$QT_PREFIX")"/
- name: Qt 5.15.2 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone git://code.qt.io/qt/qt5.git qt_$QT
cd qt_$QT
perl init-repository --module-subset=qtbase,qtimageformats
git checkout v5.15.2
git submodule update qtbase
git submodule update qtimageformats
cd qtbase
find ../../patches/qtbase_$QT -type f -print0 | sort -z | xargs -0 git apply
cd ..
./configure \
-prefix "$QT_PREFIX" \
-debug \
-force-debug-info \
-opensource \
-confirm-license \
-static \
-opengl desktop \
-no-openssl \
-securetransport \
-nomake examples \
-nomake tests \
-platform macx-clang \
-I "$PREFIX/include" \
LIBJPEG_LIBS="$PREFIX/lib/libjpeg.a" \
ZLIB_LIBS="$PREFIX/lib/libz.a"
make -j$(nproc)
sudo make install
make clean
cp -r $QT_PREFIX $LibrariesPath/qt-cache
- name: WebRTC cache.
id: cache-webrtc
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/tg_owt
key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}-${{ hashFiles('**/tg_owt-version.json') }}
- name: WebRTC.
if: steps.cache-webrtc.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone --recursive $GIT/desktop-app/tg_owt.git
mkdir -p tg_owt/out/Debug
cd tg_owt/out/Debug
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=mac \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=$PREFIX/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_$OPENSSL_VER/include \
-DTG_OWT_OPUS_INCLUDE_PATH=$PREFIX/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=$PREFIX/include \
../..
ninja
# Cleanup.
cd $LibrariesPath/tg_owt
mv out/Debug/libtg_owt.a libtg_owt.a
rm -rf out
mkdir -p out/Debug
mv libtg_owt.a out/Debug/libtg_owt.a
./$REPO_NAME/Telegram/build/prepare/mac.sh skip-release silent
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'

19
.github/workflows/no-response.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: No Response
# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
- cron: '0 0 * * *'
jobs:
noResponse:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
# Label requiring a response
responseRequiredLabel: waiting for answer

View File

@@ -11,7 +11,6 @@ on:
- '.github/**'
- '!.github/workflows/snap.yml'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -29,7 +28,6 @@ on:
- '.github/**'
- '!.github/workflows/snap.yml'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'

View File

@@ -5,7 +5,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-msvc.md'
- '!docs/building-win.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -14,8 +14,6 @@ on:
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- '!Telegram/Patches/build_ffmpeg_win.sh'
- 'Telegram/Resources/uwp/**'
- 'Telegram/SourceFiles/platform/linux/**'
- 'Telegram/SourceFiles/platform/mac/**'
@@ -26,7 +24,7 @@ on:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-msvc.md'
- '!docs/building-win.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
@@ -35,12 +33,9 @@ on:
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- '!Telegram/Patches/build_ffmpeg_win.sh'
- 'Telegram/Resources/uwp/**'
- 'Telegram/SourceFiles/platform/linux/**'
- 'Telegram/SourceFiles/platform/mac/**'
- '!Telegram/Patches/breakpad.diff'
- 'Telegram/Telegram/**'
- 'Telegram/configure.sh'
- 'Telegram/Telegram.plist'
@@ -57,28 +52,34 @@ jobs:
- ""
env:
SDK: "10.0.18362.0"
VC: "call vcvars32.bat && cd Libraries"
GIT: "https://github.com"
QT: "5_15_2"
QT_VER: "5.15.2"
OPENSSL_VER: "1_1_1"
UPLOAD_ARTIFACT: "false"
ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-msvc.md"
MANUAL_CACHING: "0"
PREPARE_PATH: "Telegram/build/prepare/prepare.py"
AUTO_CACHING: "1"
defaults:
run:
shell: cmd
working-directory: Libraries
steps:
- name: Get repository name.
shell: bash
working-directory: ${{ github.workspace }}
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- uses: ilammy/msvc-dev-cmd@v1.9.0
name: x86 Native Tools Command Prompt.
with:
arch: win32
- name: Set up environment paths.
shell: bash
working-directory: ${{ github.workspace }}
run: |
echo "C:\\Strawberry\\perl\\bin\\" >> $GITHUB_PATH
echo "C:\\Program Files\\NASM\\" >> $GITHUB_PATH
@@ -89,6 +90,8 @@ jobs:
p=`pwd | sed 's#^/[d]#d:#g' |sed 's#/#\\\\#g'`
echo "LibrariesPath=$p" >> $GITHUB_ENV
echo "QT=${QT_VER//./_}" >> $GITHUB_ENV
- name: Save msbuild version.
run: |
call vcvars32.bat
@@ -102,8 +105,10 @@ jobs:
- name: Generate cache key.
shell: bash
working-directory: ${{ github.workspace }}
run: |
curl -o $LibrariesPath/tg_owt-version.json https://api.github.com/repos/desktop-app/tg_owt/git/refs/heads/master
curl -o $LibrariesPath/tg_angle-version.json https://api.github.com/repos/desktop-app/tg_angle/git/refs/heads/master
echo $MANUAL_CACHING >> CACHE_KEY.txt
if [ "$AUTO_CACHING" == "1" ]; then
thisFile=$REPO_NAME/.github/workflows/win.yml
@@ -112,34 +117,29 @@ jobs:
echo "CACHE_KEY=`md5sum CACHE_KEY.txt | awk '{ print $1 }'`" >> $GITHUB_ENV
- name: Choco installs.
run: choco install --no-progress -y nasm yasm jom ninja
run: |
choco install --allow-empty-checksums --no-progress -y yasm
choco install --no-progress -y nasm jom ninja
python -m pip install pywin32
- name: NuGet sources.
run: |
nuget sources Disable -Name "Microsoft Visual Studio Offline Packages"
nuget sources Add -Source https://api.nuget.org/v3/index.json & exit 0
- name: Patches.
shell: bash
working-directory: ${{ github.workspace }}
run: |
echo "Find necessary commit from doc."
checkoutCommit=$(grep -A 1 "cd patches" $REPO_NAME/$DOC_PATH | sed -n 2p)
checkoutCommit=$(grep -A 1 "cd patches" $REPO_NAME/$PREPARE_PATH | sed -n 2p)
cd $LibrariesPath
git clone $GIT/desktop-app/patches.git
cd Patches
cd patches
eval $checkoutCommit
- name: Find any version of Python 2.
shell: bash
run: |
echo "Find any version of Python 2."
p=`ls /c/hostedtoolcache/windows/python | grep 2 | tail -1`
if [ -z "$p" ]; then
echo "Python 2 is not found."
exit 1
fi
echo "PY2=C:\\hostedtoolcache\\windows\\Python\\$p\\x64" >> $GITHUB_ENV
echo "Found $p."
- name: LZMA.
run: |
%VC%
git clone %GIT%/telegramdesktop/lzma.git
cd lzma
cd C\Util\LzmaLib
@@ -149,38 +149,33 @@ jobs:
id: cache-openssl
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/openssl_${{ env.OPENSSL_VER }}
path: ${{ env.LibrariesPath }}/openssl
key: ${{ runner.OS }}-${{ env.CACHE_KEY }}-${{ env.OPENSSL_VER }}
- name: OpenSSL.
if: steps.cache-openssl.outputs.cache-hit != 'true'
run: |
%VC%
git clone %GIT%/openssl/openssl.git openssl_%OPENSSL_VER%
cd openssl_%OPENSSL_VER%
git checkout OpenSSL_%OPENSSL_VER%-stable
git clone -b OpenSSL_%OPENSSL_VER%-stable %GIT%/openssl/openssl.git
cd openssl
perl Configure no-shared no-tests debug-VC-WIN32
nmake
mkdir out32.dbg
move libcrypto.lib out32.dbg
move libssl.lib out32.dbg
move ossl_static.pdb out32.dbg\ossl_static
mkdir out.dbg
move libcrypto.lib out.dbg
move libssl.lib out.dbg
move ossl_static.pdb out.dbg\ossl_static
nmake clean
move out32.dbg\ossl_static out32.dbg\ossl_static.pdb
move out.dbg\ossl_static out.dbg\ossl_static.pdb
perl Configure no-shared no-tests VC-WIN32
nmake
mkdir out32
move libcrypto.lib out32
move libssl.lib out32
move ossl_static.pdb out32
mkdir out
move libcrypto.lib out
move libssl.lib out
move ossl_static.pdb out
rmdir /S /Q test
rmdir /S /Q .git
- name: Zlib.
run: |
%VC%
git clone %GIT%/telegramdesktop/zlib.git
cd zlib
git checkout tdesktop
@@ -190,9 +185,7 @@ jobs:
- name: MozJPEG.
shell: cmd
run: |
%VC%
git clone -b v4.0.1-rc2 %GIT%/mozilla/mozjpeg.git
git clone -b v4.0.3 %GIT%/mozilla/mozjpeg.git
cd mozjpeg
cmake . ^
-G "Visual Studio 16 2019" ^
@@ -210,8 +203,6 @@ jobs:
- name: OpenAL Soft.
if: steps.cache-openal.outputs.cache-hit != 'true'
run: |
%VC%
git clone -b openal-soft-1.21.0 --depth=1 %GIT%/kcat/openal-soft.git
cd openal-soft\build
cmake .. ^
@@ -235,31 +226,29 @@ jobs:
GYP_MSVS_VERSION: 2019
if: steps.cache-breakpad.outputs.cache-hit != 'true'
run: |
cd %LibrariesPath%
git clone %GIT%/telegramdesktop/gyp.git
git clone https://chromium.googlesource.com/external/gyp
cd gyp
SET PATH=%PY2%;%cd%;%PATH%
git checkout tdesktop
SET PATH=%cd%;%PATH%
git checkout d6c5dd51dc
git apply ../patches/gyp.diff
cd %LibrariesPath%
git clone %GIT%/google/breakpad
git clone https://chromium.googlesource.com/breakpad/breakpad
cd breakpad
git checkout a1dbcdcb43
git checkout dfcb7b6799
git apply ../patches/breakpad.diff
cd src
git clone %GIT%/google/googletest testing
git clone -b release-1.11.0 %GIT%/google/googletest testing
cd client\windows
call gyp --no-circular-check breakpad_client.gyp --format=ninja
cd ..\..
ninja -C out/Debug common crash_generation_client exception_handler
ninja -C out/Release common crash_generation_client exception_handler
cd tools\windows\dump_syms
call gyp dump_syms.gyp
call vcvars32.bat
msbuild -m dump_syms.vcxproj /property:Configuration=Release
call gyp dump_syms.gyp --format=ninja
cd ..\..\..
ninja -C out/Release dump_syms
- name: Opus cache.
id: cache-opus
@@ -270,14 +259,25 @@ jobs:
- name: Opus.
if: steps.cache-opus.outputs.cache-hit != 'true'
run: |
%VC%
git clone %GIT%/telegramdesktop/opus.git
git clone -b v1.3.1 %GIT%/xiph/opus.git
cd opus
git checkout tdesktop
cd win32\VS2015
msbuild -m opus.sln /property:Configuration=Debug /property:Platform="Win32"
msbuild -m opus.sln /property:Configuration=Release /property:Platform="Win32"
git cherry-pick 927de8453c
cmake -B out . ^
-A Win32 ^
-DCMAKE_INSTALL_PREFIX=%LibrariesPath%/local/opus ^
-DCMAKE_C_FLAGS_DEBUG="/MTd /Zi /Ob0 /Od /RTC1" ^
-DCMAKE_C_FLAGS_RELEASE="/MT /O2 /Ob2 /DNDEBUG"
cmake --build out --config Debug
cmake --build out --config Release
cmake --install out --config Release
- name: Rnnoise.
run: |
git clone %GIT%/desktop-app/rnnoise.git
mkdir rnnoise\out
cd rnnoise\out
cmake -A Win32 ..
cmake --build . --config Debug
- name: FFmpeg cache.
id: cache-ffmpeg
@@ -288,18 +288,42 @@ jobs:
- name: FFmpeg.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
run: |
%VC%
choco install --no-progress -y msys2
git clone %GIT%/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
git checkout release/4.2
git checkout release/4.4
set CHERE_INVOKING=enabled_from_arguments
set MSYS2_PATH_TYPE=inherit
call c:\tools\msys64\usr\bin\bash --login ../patches/build_ffmpeg_win.sh
rmdir /S /Q .git
- name: Angle cache.
id: cache-angle
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/tg_angle
key: ${{ runner.OS }}-angle-${{ env.CACHE_KEY }}-${{ hashFiles('**/tg_angle-version.json') }}
- name: Angle.
if: steps.cache-angle.outputs.cache-hit != 'true'
run: |
git clone --recursive %GIT%/desktop-app/tg_angle.git
mkdir tg_angle\out\Debug
cd tg_angle\out\Debug
cmake -G Ninja ^
-DCMAKE_BUILD_TYPE=Debug ^
-DTG_ANGLE_SPECIAL_TARGET=win64 ^
-DTG_ANGLE_ZLIB_INCLUDE_PATH=%cd%/../../../zlib ../..
ninja
:: Cleanup.
cd %LibrariesPath%\tg_angle
move out\Debug\tg_angle.lib tg_angle.lib
rmdir /S /Q out
mkdir out\Debug
move tg_angle.lib out\Debug\tg_angle.lib
- name: Qt 5.15.2 cache.
id: cache-qt
uses: actions/cache@v2
@@ -309,20 +333,24 @@ jobs:
- name: Configure Qt 5.15.2.
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
%VC%
git clone git://code.qt.io/qt/qt5.git qt_%QT%
cd qt_%QT%
perl init-repository --module-subset=qtbase,qtimageformats
perl init-repository --module-subset=qtbase,qtimageformats,qtsvg
git checkout v%QT_VER%
git submodule update qtbase
git submodule update qtimageformats
git submodule update qtsvg
cd qtbase
for /r %%i in (..\..\patches\qtbase_%QT%\*) do git apply %%i
cd ..
SET SSL=%LibrariesPath%\openssl_%OPENSSL_VER%
SET LIBS=libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib
SET SSL=%LibrariesPath%\openssl
SET SSL_LIBS=libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib
SET ANGLE=%LibrariesPath%\tg_angle
SET ANGLE_LIBS=d3d9.lib dxgi.lib dxguid.lib
SET ZLIB=%LibrariesPath%\zlib\contrib\vstudio\vc14\x86
configure ^
-prefix "%LibrariesPath%\Qt-%QT_VER%" ^
@@ -331,22 +359,32 @@ jobs:
-opensource ^
-confirm-license ^
-static ^
-static-runtime -I "%SSL%\include" ^
-no-opengl ^
-static-runtime ^
-opengl es2 -no-angle ^
-I "%ANGLE%\include" ^
-D "GL_APICALL=" ^
QMAKE_LIBS_OPENGL_ES2_DEBUG="%ANGLE%\out\Debug\tg_angle.lib %ZLIB%\ZlibStatDebug\zlibstat.lib %ANGLE_LIBS%" ^
QMAKE_LIBS_OPENGL_ES2_RELEASE="%ANGLE%\out\Release\tg_angle.lib %ZLIB%\ZlibStatReleaseWithoutAsm\zlibstat.lib %ANGLE_LIBS%" ^
-egl ^
-D "EGLAPI=" ^
-D "DESKTOP_APP_QT_STATIC_ANGLE=" ^
QMAKE_LIBS_EGL_DEBUG="%ANGLE%\out\Debug\tg_angle.lib %ZLIB%\ZlibStatDebug\zlibstat.lib %ANGLE_LIBS% Gdi32.lib User32.lib" ^
QMAKE_LIBS_EGL_RELEASE="%ANGLE%\out\Release\tg_angle.lib %ZLIB%\ZlibStatReleaseWithoutAsm\zlibstat.lib %ANGLE_LIBS% Gdi32.lib User32.lib" ^
-openssl-linked ^
OPENSSL_LIBS_DEBUG="%SSL%\out32.dbg\libssl.lib %SSL%\out32.dbg\%LIBS%" ^
OPENSSL_LIBS_RELEASE="%SSL%\out32\libssl.lib %SSL%\out32\%LIBS%" ^
-I "%SSL%\include" ^
OPENSSL_LIBS_DEBUG="%SSL%\out.dbg\libssl.lib %SSL%\out.dbg\%SSL_LIBS%" ^
OPENSSL_LIBS_RELEASE="%SSL%\out\libssl.lib %SSL%\out\%SSL_LIBS%" ^
-I "%LibrariesPath%\mozjpeg" ^
LIBJPEG_LIBS_DEBUG="%LibrariesPath%\mozjpeg\Debug\jpeg-static.lib" ^
LIBJPEG_LIBS_RELEASE="%LibrariesPath%\mozjpeg\Release\jpeg-static.lib" ^
-mp ^
-nomake examples ^
-nomake tests ^
-platform win32-msvc ^
-I "%LibrariesPath%\mozjpeg" ^
LIBJPEG_LIBS_DEBUG="%LibrariesPath%\mozjpeg\Debug\jpeg-static.lib" ^
LIBJPEG_LIBS_RELEASE="%LibrariesPath%\mozjpeg\Release\jpeg-static.lib"
-platform win32-msvc
- name: Qt 5.15.2 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
%VC%
cd qt_%QT%
jom -j%NUMBER_OF_PROCESSORS%
@@ -364,16 +402,15 @@ jobs:
- name: WebRTC.
if: steps.cache-webrtc.outputs.cache-hit != 'true'
run: |
%VC%
git clone --recursive %GIT%/desktop-app/tg_owt.git
mkdir tg_owt\out\Debug
cd tg_owt\out\Debug
cmake -G Ninja ^
-DCMAKE_BUILD_TYPE=Debug ^
-DTG_OWT_SPECIAL_TARGET=win ^
-DTG_OWT_BUILD_AUDIO_BACKENDS=OFF ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../mozjpeg ^
-DTG_OWT_OPENSSL_INCLUDE_PATH=%cd%/../../../openssl_%OPENSSL_VER%/include ^
-DTG_OWT_OPENSSL_INCLUDE_PATH=%cd%/../../../openssl/include ^
-DTG_OWT_OPUS_INCLUDE_PATH=%cd%/../../../opus/include ^
-DTG_OWT_FFMPEG_INCLUDE_PATH=%cd%/../../../ffmpeg ^
../..
@@ -400,8 +437,13 @@ jobs:
fi
echo "TDESKTOP_BUILD_DEFINE=$DEFINE" >> $GITHUB_ENV
- name: Free up some disk space.
working-directory: ${{ github.workspace }}
run: del /S *.pdb
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
working-directory: ${{ github.workspace }}
run: |
cd %REPO_NAME%\Telegram
@@ -409,6 +451,7 @@ jobs:
-D TDESKTOP_API_TEST=ON ^
-D DESKTOP_APP_USE_PACKAGED=OFF ^
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF ^
-D DESKTOP_APP_NO_PDB=ON ^
%TDESKTOP_BUILD_DEFINE% ^
-DCMAKE_SYSTEM_VERSION=%SDK%
@@ -418,6 +461,7 @@ jobs:
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
working-directory: ${{ github.workspace }}
run: |
cd %REPO_NAME%\out\Debug
mkdir artifact

2
.gitignore vendored
View File

@@ -48,3 +48,5 @@ stage
/Linux/
/Telegram/Makefile
*.*~
.idea/
cmake-build-debug/

24
.gitmodules vendored
View File

@@ -4,9 +4,6 @@
[submodule "Telegram/ThirdParty/GSL"]
path = Telegram/ThirdParty/GSL
url = https://github.com/Microsoft/GSL.git
[submodule "Telegram/ThirdParty/Catch"]
path = Telegram/ThirdParty/Catch
url = https://github.com/philsquared/Catch
[submodule "Telegram/ThirdParty/xxHash"]
path = Telegram/ThirdParty/xxHash
url = https://github.com/Cyan4973/xxHash.git
@@ -31,9 +28,6 @@
[submodule "Telegram/lib_ui"]
path = Telegram/lib_ui
url = https://github.com/desktop-app/lib_ui.git
[submodule "Telegram/lib_rlottie"]
path = Telegram/lib_rlottie
url = https://github.com/desktop-app/lib_rlottie.git
[submodule "Telegram/lib_lottie"]
path = Telegram/lib_lottie
url = https://github.com/desktop-app/lib_lottie.git
@@ -76,9 +70,6 @@
[submodule "Telegram/ThirdParty/hime"]
path = Telegram/ThirdParty/hime
url = https://github.com/hime-ime/hime.git
[submodule "Telegram/ThirdParty/qt5ct"]
path = Telegram/ThirdParty/qt5ct
url = https://github.com/desktop-app/qt5ct.git
[submodule "Telegram/ThirdParty/fcitx5-qt"]
path = Telegram/ThirdParty/fcitx5-qt
url = https://github.com/fcitx/fcitx5-qt.git
@@ -88,3 +79,18 @@
[submodule "Telegram/ThirdParty/tgcalls"]
path = Telegram/ThirdParty/tgcalls
url = https://github.com/TelegramMessenger/tgcalls.git
[submodule "Telegram/lib_webview"]
path = Telegram/lib_webview
url = https://github.com/desktop-app/lib_webview.git
[submodule "Telegram/lib_waylandshells"]
path = Telegram/lib_waylandshells
url = https://github.com/desktop-app/lib_waylandshells.git
[submodule "Telegram/ThirdParty/jemalloc"]
path = Telegram/ThirdParty/jemalloc
url = https://github.com/jemalloc/jemalloc
[submodule "Telegram/ThirdParty/kwayland"]
path = Telegram/ThirdParty/kwayland
url = https://github.com/KDE/kwayland.git
[submodule "Telegram/ThirdParty/dispatch"]
path = Telegram/ThirdParty/dispatch
url = https://github.com/apple/swift-corelibs-libdispatch

View File

@@ -14,8 +14,13 @@ include(cmake/validate_special_target.cmake)
include(cmake/version.cmake)
desktop_app_parse_version(Telegram/build/version)
set(project_langs C CXX)
if (APPLE)
set(project_langs C CXX OBJC OBJCXX)
endif()
project(Telegram
LANGUAGES C CXX
LANGUAGES ${project_langs}
VERSION ${desktop_app_version_cmake}
DESCRIPTION "Official Telegram Desktop messenger"
HOMEPAGE_URL "https://desktop.telegram.org"
@@ -24,6 +29,7 @@ set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT T
get_filename_component(third_party_loc "Telegram/ThirdParty" REALPATH)
get_filename_component(submodules_loc "Telegram" REALPATH)
get_filename_component(cmake_helpers_loc "cmake" REALPATH)
include(cmake/variables.cmake)
include(cmake/nice_target_sources.cmake)
@@ -31,6 +37,9 @@ include(cmake/target_link_static_libraries.cmake)
include(cmake/target_link_frameworks.cmake)
include(cmake/init_target.cmake)
include(cmake/generate_target.cmake)
include(cmake/nuget.cmake)
include(cmake/validate_d3d_compiler.cmake)
include(cmake/target_prepare_qrc.cmake)
include(cmake/options.cmake)

View File

@@ -15,7 +15,8 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
The latest version is available for
* [Windows 7 and above](https://telegram.org/dl/desktop/win) ([portable](https://telegram.org/dl/desktop/win_portable))
* [Windows 7 and above (64 bit)](https://telegram.org/dl/desktop/win64) ([portable](https://telegram.org/dl/desktop/win64_portable))
* [Windows 7 and above (32 bit)](https://telegram.org/dl/desktop/win) ([portable](https://telegram.org/dl/desktop/win_portable))
* [macOS 10.12 and above](https://telegram.org/dl/desktop/mac)
* [Linux static build for 64 bit](https://telegram.org/dl/desktop/linux)
* [Snap](https://snapcraft.io/telegram-desktop)
@@ -36,7 +37,7 @@ Version **1.8.15** was the last that supports older systems
## Third-party
* Qt 5.15.2, 5.6.2 and 5.3.2 slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
* Qt 6 ([LGPL](http://doc.qt.io/qt-6/lgpl.html)) and Qt 5.15.2 ([LGPL](http://doc.qt.io/qt-5/lgpl.html)) slightly patched
* OpenSSL 1.1.1 and 1.0.1 ([OpenSSL License](https://www.openssl.org/source/license.html))
* WebRTC ([New BSD License](https://github.com/desktop-app/tg_owt/blob/master/LICENSE))
* zlib 1.2.11 ([zlib License](http://www.zlib.net/zlib_license.html))
@@ -52,19 +53,19 @@ Version **1.8.15** was the last that supports older systems
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
* Range-v3 ([Boost License](https://github.com/ericniebler/range-v3/blob/master/LICENSE.txt))
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
* Vazir font ([License](https://github.com/rastikerdar/vazir-font/blob/master/LICENSE))
* Vazir font ([SIL Open Font License 1.1](https://github.com/rastikerdar/vazir-font/blob/master/OFL.txt))
* Emoji alpha codes ([MIT License](https://github.com/emojione/emojione/blob/master/extras/alpha-codes/LICENSE.md))
* Catch test framework ([Boost License](https://github.com/philsquared/Catch/blob/master/LICENSE.txt))
* xxHash ([BSD License](https://github.com/Cyan4973/xxHash/blob/dev/LICENSE))
* QR Code generator ([MIT License](https://github.com/nayuki/QR-Code-generator#license))
* CMake ([New BSD License](https://github.com/Kitware/CMake/blob/master/Copyright.txt))
* Hunspell ([GPL](https://github.com/hunspell/hunspell/blob/master/COPYING))
* Hunspell ([LGPL](https://github.com/hunspell/hunspell/blob/master/COPYING.LESSER))
## Build instructions
* [Visual Studio 2019][msvc]
* [Xcode 12][xcode]
* [CMake on GNU/Linux][cmake]
* Windows [(32-bit)][win32] [(64-bit)][win64]
* [macOS][mac]
* [GNU/Linux using Docker][linux]
[//]: # (LINKS)
[telegram]: https://telegram.org
@@ -72,9 +73,9 @@ Version **1.8.15** was the last that supports older systems
[telegram_api]: https://core.telegram.org
[telegram_proto]: https://core.telegram.org/mtproto
[license]: LICENSE
[msvc]: docs/building-msvc.md
[xcode]: docs/building-xcode.md
[xcode_old]: docs/building-xcode-old.md
[cmake]: docs/building-cmake.md
[win32]: docs/building-win.md
[win64]: docs/building-win-x64.md
[mac]: docs/building-mac.md
[linux]: docs/building-linux.md
[preview_image]: https://github.com/telegramdesktop/tdesktop/blob/dev/docs/assets/preview.png "Preview of Telegram Desktop"
[preview_image_url]: https://raw.githubusercontent.com/telegramdesktop/tdesktop/dev/docs/assets/preview.png

File diff suppressed because it is too large Load Diff

View File

@@ -1,651 +0,0 @@
diff --git a/src/build/common.gypi b/src/build/common.gypi
index 29990c65..53e99d44 100644
--- a/src/build/common.gypi
+++ b/src/build/common.gypi
@@ -330,6 +330,7 @@
'VCCLCompilerTool': {
'WarnAsError': 'true',
'Detect64BitPortabilityProblems': 'false',
+ 'TreatWChar_tAsBuiltInType': 'false',
},
},
}],
diff --git a/src/client/mac/Breakpad.xcodeproj/project.pbxproj b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
index 1a93ce6d..b5986e33 100644
--- a/src/client/mac/Breakpad.xcodeproj/project.pbxproj
+++ b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
@@ -35,6 +35,19 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
+ 0748C0431C63C409004489BF /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
+ 0748C0441C63C43C004489BF /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
+ 0748C0451C63C46C004489BF /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
+ 0748C0461C63C484004489BF /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
+ 0748C0471C63C4A1004489BF /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
+ 0748C0491C63C4CF004489BF /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
+ 0748C04A1C63C4D4004489BF /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
+ 0748C04B1C63C4DB004489BF /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
+ 0748C04C1C63C4EA004489BF /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
+ 0748C04D1C63C50F004489BF /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
+ 0748C04E1C63C51C004489BF /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CA0D13DFAD5C006CABE3 /* md5.cc */; };
+ 0748C04F1C63C523004489BF /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
+ 0748C0501C63C52D004489BF /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
162F64F2161C577500CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F0161C577500CD68D5 /* arch_utilities.cc */; };
162F64F3161C577500CD68D5 /* arch_utilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 162F64F1161C577500CD68D5 /* arch_utilities.h */; };
162F64F4161C579B00CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F0161C577500CD68D5 /* arch_utilities.cc */; };
@@ -67,6 +80,7 @@
4DBE49A7134A4F280072546A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DBE4769134A4F080072546A /* CoreServices.framework */; };
4DBE49A8134A4F380072546A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DBE4769134A4F080072546A /* CoreServices.framework */; };
4DBE49A9134A4F460072546A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DBE4769134A4F080072546A /* CoreServices.framework */; };
+ 5A8B220921E0C5740045F83C /* breakpad_nlist_64.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */; };
8B3101C611F0CD9F00FCF3E4 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
8B3101C711F0CD9F00FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
8B3101CA11F0CDB000FCF3E4 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
@@ -170,11 +184,8 @@
F92C564A0ECD10CA009BE4BA /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
F92C564C0ECD10DD009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
F92C56570ECD113E009BE4BA /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C554A0ECCF530009BE4BA /* Carbon.framework */; };
- F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */; };
F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
- F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
- F92C568A0ECD15F9009BE4BA /* Inspector in Resources */ = {isa = PBXBuildFile; fileRef = F92C53540ECCE349009BE4BA /* Inspector */; };
F92C56A90ECE04C5009BE4BA /* crash_report_sender.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */; };
F93803CD0F8083B7004D428B /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
F93803CE0F8083B7004D428B /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
@@ -213,7 +224,6 @@
F9C44DBD0EF072A0003AEBAA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DBA0EF072A0003AEBAA /* MainMenu.xib */; };
F9C44E000EF077CD003AEBAA /* Breakpad.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
F9C44E3C0EF08B12003AEBAA /* Breakpad.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
- F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */ = {isa = PBXBuildFile; fileRef = F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */; };
F9C44EA20EF09F93003AEBAA /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */; };
F9C44EE50EF0A006003AEBAA /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */; };
F9C44EE90EF0A3C1003AEBAA /* GTMLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */; };
@@ -410,20 +420,6 @@
remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
remoteInfo = breakpadUtilities;
};
- F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
- remoteInfo = breakpadUtilities;
- };
- F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = F92C53530ECCE349009BE4BA;
- remoteInfo = Inspector;
- };
F93DE2FB0F82C3C600608B94 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
@@ -536,13 +532,6 @@
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
remoteInfo = Breakpad;
};
- F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = F92C569F0ECE04A7009BE4BA;
- remoteInfo = crash_report_sender;
- };
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -714,7 +703,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */,
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -1181,18 +1169,13 @@
isa = PBXNativeTarget;
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */;
buildPhases = (
- F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */,
8DC2EF500486A6940098B216 /* Headers */,
- 8DC2EF520486A6940098B216 /* Resources */,
8DC2EF540486A6940098B216 /* Sources */,
8DC2EF560486A6940098B216 /* Frameworks */,
);
buildRules = (
);
dependencies = (
- F92C56860ECD15EF009BE4BA /* PBXTargetDependency */,
- F92C56880ECD15F1009BE4BA /* PBXTargetDependency */,
- F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */,
);
name = Breakpad;
productInstallPath = "$(HOME)/Library/Frameworks";
@@ -1399,6 +1382,8 @@
/* Begin PBXProject section */
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
+ attributes = {
+ };
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
@@ -1583,16 +1568,6 @@
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
- 8DC2EF520486A6940098B216 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */,
- F92C568A0ECD15F9009BE4BA /* Inspector in Resources */,
- F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
F92C569C0ECE04A7009BE4BA /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1640,20 +1615,6 @@
shellPath = /bin/sh;
shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
};
- F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Change install name of breakpadUtilities";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "#!/bin/bash\ninstall_name_tool -id \"@executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
- };
F9C77DD80F7DD5CF0045F7DB /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1674,6 +1635,20 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 5A8B220921E0C5740045F83C /* breakpad_nlist_64.cc in Sources */,
+ 0748C0501C63C52D004489BF /* bootstrap_compat.cc in Sources */,
+ 0748C04F1C63C523004489BF /* macho_walker.cc in Sources */,
+ 0748C04E1C63C51C004489BF /* md5.cc in Sources */,
+ 0748C04D1C63C50F004489BF /* file_id.cc in Sources */,
+ 0748C04C1C63C4EA004489BF /* macho_utilities.cc in Sources */,
+ 0748C04B1C63C4DB004489BF /* convert_UTF.c in Sources */,
+ 0748C04A1C63C4D4004489BF /* string_conversion.cc in Sources */,
+ 0748C0491C63C4CF004489BF /* macho_id.cc in Sources */,
+ 0748C0471C63C4A1004489BF /* dynamic_images.cc in Sources */,
+ 0748C0461C63C484004489BF /* minidump_file_writer.cc in Sources */,
+ 0748C0451C63C46C004489BF /* string_utilities.cc in Sources */,
+ 0748C0441C63C43C004489BF /* minidump_generator.cc in Sources */,
+ 0748C0431C63C409004489BF /* MachIPC.mm in Sources */,
F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */,
F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */,
F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */,
@@ -1955,16 +1930,6 @@
target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
targetProxy = F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */;
};
- F92C56860ECD15EF009BE4BA /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
- targetProxy = F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */;
- };
- F92C56880ECD15F1009BE4BA /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = F92C53530ECCE349009BE4BA /* Inspector */;
- targetProxy = F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */;
- };
F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F93803BD0F80820F004D428B /* generator_test */;
@@ -2025,11 +1990,6 @@
target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
targetProxy = F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */;
};
- F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = F92C569F0ECE04A7009BE4BA /* crash_report_sender */;
- targetProxy = F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */;
- };
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -2126,8 +2086,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
- SDKROOT = macosx10.5;
+ GCC_VERSION = "";
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
+ SDKROOT = macosx;
};
name = Debug;
};
@@ -2135,7 +2099,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027811F0D3AF00FCF3E4 /* BreakpadRelease.xcconfig */;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
+ GCC_VERSION = "";
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
+ SDKROOT = macosx;
};
name = Release;
};
@@ -2454,7 +2423,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
+ GCC_VERSION = "";
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
+ SDKROOT = macosx;
};
name = "Debug With Code Coverage";
};
diff --git a/src/client/mac/Framework/Breakpad.mm b/src/client/mac/Framework/Breakpad.mm
index 1d2e519b..943310fa 100644
--- a/src/client/mac/Framework/Breakpad.mm
+++ b/src/client/mac/Framework/Breakpad.mm
@@ -355,10 +355,10 @@ bool Breakpad::Initialize(NSDictionary *parameters) {
return false;
}
- if ([[parameters objectForKey:@BREAKPAD_IN_PROCESS] boolValue])
+// if ([[parameters objectForKey:@BREAKPAD_IN_PROCESS] boolValue])
return InitializeInProcess(parameters);
- else
- return InitializeOutOfProcess(parameters);
+// else
+// return InitializeOutOfProcess(parameters);
}
//=============================================================================
@@ -373,52 +373,52 @@ bool Breakpad::InitializeInProcess(NSDictionary* parameters) {
}
//=============================================================================
-bool Breakpad::InitializeOutOfProcess(NSDictionary* parameters) {
- // Get path to Inspector executable.
- NSString *inspectorPathString = KeyValue(@BREAKPAD_INSPECTOR_LOCATION);
-
- // Standardize path (resolve symlinkes, etc.) and escape spaces
- inspectorPathString = [inspectorPathString stringByStandardizingPath];
- inspectorPathString = [[inspectorPathString componentsSeparatedByString:@" "]
- componentsJoinedByString:@"\\ "];
-
- // Create an on-demand server object representing the Inspector.
- // In case of a crash, we simply need to call the LaunchOnDemand()
- // method on it, then send a mach message to its service port.
- // It will then launch and perform a process inspection of our crashed state.
- // See the HandleException() method for the details.
-#define RECEIVE_PORT_NAME "com.Breakpad.Inspector"
-
- name_t portName;
- snprintf(portName, sizeof(name_t), "%s%d", RECEIVE_PORT_NAME, getpid());
-
- // Save the location of the Inspector
- strlcpy(inspector_path_, [inspectorPathString fileSystemRepresentation],
- sizeof(inspector_path_));
-
- // Append a single command-line argument to the Inspector path
- // representing the bootstrap name of the launch-on-demand receive port.
- // When the Inspector is launched, it can use this to lookup the port
- // by calling bootstrap_check_in().
- strlcat(inspector_path_, " ", sizeof(inspector_path_));
- strlcat(inspector_path_, portName, sizeof(inspector_path_));
-
- kern_return_t kr = inspector_.Initialize(inspector_path_,
- portName,
- true); // shutdown on exit
-
- if (kr != KERN_SUCCESS) {
- return false;
- }
-
- // Create the handler (allocating it in our special protected pool)
- handler_ =
- new (gBreakpadAllocator->Allocate(
- sizeof(google_breakpad::ExceptionHandler)))
- google_breakpad::ExceptionHandler(
- Breakpad::ExceptionHandlerDirectCallback, this, true);
- return true;
-}
+//bool Breakpad::InitializeOutOfProcess(NSDictionary* parameters) {
+// // Get path to Inspector executable.
+// NSString *inspectorPathString = KeyValue(@BREAKPAD_INSPECTOR_LOCATION);
+//
+// // Standardize path (resolve symlinkes, etc.) and escape spaces
+// inspectorPathString = [inspectorPathString stringByStandardizingPath];
+// inspectorPathString = [[inspectorPathString componentsSeparatedByString:@" "]
+// componentsJoinedByString:@"\\ "];
+//
+// // Create an on-demand server object representing the Inspector.
+// // In case of a crash, we simply need to call the LaunchOnDemand()
+// // method on it, then send a mach message to its service port.
+// // It will then launch and perform a process inspection of our crashed state.
+// // See the HandleException() method for the details.
+//#define RECEIVE_PORT_NAME "com.Breakpad.Inspector"
+//
+// name_t portName;
+// snprintf(portName, sizeof(name_t), "%s%d", RECEIVE_PORT_NAME, getpid());
+//
+// // Save the location of the Inspector
+// strlcpy(inspector_path_, [inspectorPathString fileSystemRepresentation],
+// sizeof(inspector_path_));
+//
+// // Append a single command-line argument to the Inspector path
+// // representing the bootstrap name of the launch-on-demand receive port.
+// // When the Inspector is launched, it can use this to lookup the port
+// // by calling bootstrap_check_in().
+// strlcat(inspector_path_, " ", sizeof(inspector_path_));
+// strlcat(inspector_path_, portName, sizeof(inspector_path_));
+//
+// kern_return_t kr = inspector_.Initialize(inspector_path_,
+// portName,
+// true); // shutdown on exit
+//
+// if (kr != KERN_SUCCESS) {
+// return false;
+// }
+//
+// // Create the handler (allocating it in our special protected pool)
+// handler_ =
+// new (gBreakpadAllocator->Allocate(
+// sizeof(google_breakpad::ExceptionHandler)))
+// google_breakpad::ExceptionHandler(
+// Breakpad::ExceptionHandlerDirectCallback, this, true);
+// return true;
+//}
//=============================================================================
Breakpad::~Breakpad() {
@@ -445,10 +445,10 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
NSString *version = [parameters objectForKey:@BREAKPAD_VERSION];
NSString *urlStr = [parameters objectForKey:@BREAKPAD_URL];
NSString *interval = [parameters objectForKey:@BREAKPAD_REPORT_INTERVAL];
- NSString *inspectorPathString =
- [parameters objectForKey:@BREAKPAD_INSPECTOR_LOCATION];
- NSString *reporterPathString =
- [parameters objectForKey:@BREAKPAD_REPORTER_EXE_LOCATION];
+// NSString *inspectorPathString =
+// [parameters objectForKey:@BREAKPAD_INSPECTOR_LOCATION];
+// NSString *reporterPathString =
+// [parameters objectForKey:@BREAKPAD_REPORTER_EXE_LOCATION];
NSString *timeout = [parameters objectForKey:@BREAKPAD_CONFIRM_TIMEOUT];
NSArray *logFilePaths = [parameters objectForKey:@BREAKPAD_LOGFILES];
NSString *logFileTailSize =
@@ -536,39 +536,39 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
}
// Find the helper applications if not specified in user config.
- NSString *resourcePath = nil;
- if (!inspectorPathString || !reporterPathString) {
- resourcePath = GetResourcePath();
- if (!resourcePath) {
- return false;
- }
- }
+// NSString *resourcePath = nil;
+// if (!inspectorPathString || !reporterPathString) {
+// resourcePath = GetResourcePath();
+// if (!resourcePath) {
+// return false;
+// }
+// }
// Find Inspector.
- if (!inspectorPathString) {
- inspectorPathString =
- [resourcePath stringByAppendingPathComponent:@"Inspector"];
- }
-
- // Verify that there is an Inspector tool.
- if (![[NSFileManager defaultManager] fileExistsAtPath:inspectorPathString]) {
- return false;
- }
+// if (!inspectorPathString) {
+// inspectorPathString =
+// [resourcePath stringByAppendingPathComponent:@"Inspector"];
+// }
+//
+// // Verify that there is an Inspector tool.
+// if (![[NSFileManager defaultManager] fileExistsAtPath:inspectorPathString]) {
+// return false;
+// }
// Find Reporter.
- if (!reporterPathString) {
- reporterPathString =
- [resourcePath
- stringByAppendingPathComponent:@"crash_report_sender.app"];
- reporterPathString =
- [[NSBundle bundleWithPath:reporterPathString] executablePath];
- }
+// if (!reporterPathString) {
+// reporterPathString =
+// [resourcePath
+// stringByAppendingPathComponent:@"crash_report_sender.app"];
+// reporterPathString =
+// [[NSBundle bundleWithPath:reporterPathString] executablePath];
+// }
// Verify that there is a Reporter application.
- if (![[NSFileManager defaultManager]
- fileExistsAtPath:reporterPathString]) {
- return false;
- }
+// if (![[NSFileManager defaultManager]
+// fileExistsAtPath:reporterPathString]) {
+// return false;
+// }
if (!dumpSubdirectory) {
dumpSubdirectory = @"";
@@ -601,10 +601,10 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
dictionary.SetKeyValue(BREAKPAD_REPORT_INTERVAL, [interval UTF8String]);
dictionary.SetKeyValue(BREAKPAD_SKIP_CONFIRM, [skipConfirm UTF8String]);
dictionary.SetKeyValue(BREAKPAD_CONFIRM_TIMEOUT, [timeout UTF8String]);
- dictionary.SetKeyValue(BREAKPAD_INSPECTOR_LOCATION,
- [inspectorPathString fileSystemRepresentation]);
- dictionary.SetKeyValue(BREAKPAD_REPORTER_EXE_LOCATION,
- [reporterPathString fileSystemRepresentation]);
+// dictionary.SetKeyValue(BREAKPAD_INSPECTOR_LOCATION,
+// [inspectorPathString fileSystemRepresentation]);
+// dictionary.SetKeyValue(BREAKPAD_REPORTER_EXE_LOCATION,
+// [reporterPathString fileSystemRepresentation]);
dictionary.SetKeyValue(BREAKPAD_LOGFILE_UPLOAD_SIZE,
[logFileTailSize UTF8String]);
dictionary.SetKeyValue(BREAKPAD_REQUEST_COMMENTS,
@@ -762,9 +762,9 @@ bool Breakpad::HandleException(int exception_type,
bool Breakpad::HandleMinidump(const char *dump_dir, const char *minidump_id) {
google_breakpad::ConfigFile config_file;
config_file.WriteFile(dump_dir, config_params_, dump_dir, minidump_id);
- google_breakpad::LaunchReporter(
- config_params_->GetValueForKey(BREAKPAD_REPORTER_EXE_LOCATION),
- config_file.GetFilePath());
+// google_breakpad::LaunchReporter(
+// config_params_->GetValueForKey(BREAKPAD_REPORTER_EXE_LOCATION),
+// config_file.GetFilePath());
return true;
}
diff --git a/src/common/language.cc b/src/common/language.cc
index 978fb855..a95ae5f7 100644
--- a/src/common/language.cc
+++ b/src/common/language.cc
@@ -46,8 +46,27 @@
#include <limits>
+#include <cstdio>
+#include <iostream>
+#include <memory>
+#include <stdexcept>
+#include <string>
+#include <array>
+
namespace {
+std::string exec(std::string cmd) {
+ std::array<char, 128> buffer;
+ std::string result;
+ std::shared_ptr<FILE> pipe(popen(cmd.c_str(), "r"), pclose);
+ if (!pipe) throw std::runtime_error("popen() failed!");
+ while (!feof(pipe.get())) {
+ if (fgets(buffer.data(), 128, pipe.get()) != nullptr)
+ result += buffer.data();
+ }
+ return result;
+}
+
string MakeQualifiedNameWithSeparator(const string& parent_name,
const char* separator,
const string& name) {
@@ -79,11 +98,29 @@ class CPPLanguage: public Language {
demangled->clear();
return kDontDemangle;
#else
+ DemangleResult result;
+ if (mangled.find("type_erased_handlers") != std::string::npos
+ && mangled.find("vtable_once_impl") != std::string::npos) {
+
+ auto demangled_str = exec("c++filt " + mangled);
+ if (!demangled_str.empty() && demangled_str.back() == '\n') {
+ demangled_str.pop_back();
+ }
+ if (demangled_str != mangled) {
+ result = kDemangleSuccess;
+ demangled->assign(demangled_str.c_str());
+ } else {
+ result = kDemangleFailure;
+ demangled->clear();
+ }
+
+ } else {
+
int status;
char* demangled_c =
abi::__cxa_demangle(mangled.c_str(), NULL, NULL, &status);
- DemangleResult result;
+// DemangleResult result;
if (status == 0) {
result = kDemangleSuccess;
demangled->assign(demangled_c);
@@ -96,6 +133,8 @@ class CPPLanguage: public Language {
free(reinterpret_cast<void*>(demangled_c));
}
+ }
+
return result;
#endif
}
diff --git a/src/common/linux/elf_symbols_to_module.cc b/src/common/linux/elf_symbols_to_module.cc
index 562875e1..43678510 100644
--- a/src/common/linux/elf_symbols_to_module.cc
+++ b/src/common/linux/elf_symbols_to_module.cc
@@ -39,6 +39,29 @@
#include "common/byte_cursor.h"
#include "common/module.h"
+#include <cstdio>
+#include <iostream>
+#include <memory>
+#include <stdexcept>
+#include <string>
+#include <array>
+
+namespace {
+
+std::string exec(std::string cmd) {
+ std::array<char, 128> buffer;
+ std::string result;
+ std::shared_ptr<FILE> pipe(popen(cmd.c_str(), "r"), pclose);
+ if (!pipe) throw std::runtime_error("popen() failed!");
+ while (!feof(pipe.get())) {
+ if (fgets(buffer.data(), 128, pipe.get()) != nullptr)
+ result += buffer.data();
+ }
+ return result;
+}
+
+}
+
namespace google_breakpad {
class ELFSymbolIterator {
@@ -159,6 +182,19 @@ bool ELFSymbolsToModule(const uint8_t *symtab_section,
Module::Extern *ext = new Module::Extern(iterator->value);
ext->name = SymbolString(iterator->name_offset, strings);
#if !defined(__ANDROID__) // Android NDK doesn't provide abi::__cxa_demangle.
+ if (ext->name.find("type_erased_handlers") != std::string::npos
+ && ext->name.find("vtable_once_impl") != std::string::npos) {
+
+ auto demangled_str = exec("c++filt " + ext->name);
+ if (!demangled_str.empty() && demangled_str.back() == '\n') {
+ demangled_str.pop_back();
+ }
+ if (demangled_str != ext->name) {
+ ext->name = demangled_str;
+ }
+
+ } else {
+
int status = 0;
char* demangled =
abi::__cxa_demangle(ext->name.c_str(), NULL, NULL, &status);
@@ -167,6 +203,8 @@ bool ELFSymbolsToModule(const uint8_t *symtab_section,
ext->name = demangled;
free(demangled);
}
+
+ }
#endif
module->AddExtern(ext);
}
diff --git a/src/tools/linux/tools_linux.gypi b/src/tools/linux/tools_linux.gypi
index 1c15992e..020e4c1c 100644
--- a/src/tools/linux/tools_linux.gypi
+++ b/src/tools/linux/tools_linux.gypi
@@ -58,7 +58,7 @@
'target_name': 'minidump_upload',
'type': 'executable',
'sources': [
- 'symupload/minidump_upload.m',
+ 'symupload/minidump_upload.cc',
],
'dependencies': [
'../common/common.gyp:common',
diff --git a/src/tools/mac/dump_syms/macho_dump.cc b/src/tools/mac/dump_syms/macho_dump.cc
index d882bbe8..3432bb45 100644
--- a/src/tools/mac/dump_syms/macho_dump.cc
+++ b/src/tools/mac/dump_syms/macho_dump.cc
@@ -140,7 +140,7 @@ void DumpFile(const char *filename) {
size_t object_files_size;
const SuperFatArch* super_fat_object_files =
fat_reader.object_files(&object_files_size);
- struct fat_arch *object_files;
+ struct fat_arch *object_files = 0;
if (!super_fat_object_files->ConvertToFatArch(object_files)) {
exit(1);
}

View File

@@ -1,121 +0,0 @@
set -e
FullExecPath=$PWD
pushd `dirname $0` > /dev/null
FullScriptPath=`pwd`
popd > /dev/null
pacman --noconfirm -Sy
pacman --noconfirm -S msys/make
pacman --noconfirm -S mingw64/mingw-w64-x86_64-opus
pacman --noconfirm -S diffutils
pacman --noconfirm -S pkg-config
PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:$PKG_CONFIG_PATH"
./configure --toolchain=msvc \
--extra-cflags="-DCONFIG_SAFE_BITSTREAM_READER=1" \
--extra-cxxflags="-DCONFIG_SAFE_BITSTREAM_READER=1" \
--extra-ldflags="-libpath:$FullExecPath/../opus/win32/VS2015/Win32/Release" \
--disable-programs \
--disable-doc \
--disable-network \
--disable-everything \
--enable-hwaccel=h264_d3d11va \
--enable-hwaccel=h264_d3d11va2 \
--enable-hwaccel=h264_dxva2 \
--enable-hwaccel=hevc_d3d11va \
--enable-hwaccel=hevc_d3d11va2 \
--enable-hwaccel=hevc_dxva2 \
--enable-hwaccel=mpeg2_d3d11va \
--enable-hwaccel=mpeg2_d3d11va2 \
--enable-hwaccel=mpeg2_dxva2 \
--enable-protocol=file --enable-libopus \
--enable-decoder=aac \
--enable-decoder=aac_at \
--enable-decoder=aac_fixed \
--enable-decoder=aac_latm \
--enable-decoder=aasc \
--enable-decoder=alac \
--enable-decoder=alac_at \
--enable-decoder=flac \
--enable-decoder=gif \
--enable-decoder=h264 \
--enable-decoder=hevc \
--enable-decoder=mp1 \
--enable-decoder=mp1float \
--enable-decoder=mp2 \
--enable-decoder=mp2float \
--enable-decoder=mp3 \
--enable-decoder=mp3adu \
--enable-decoder=mp3adufloat \
--enable-decoder=mp3float \
--enable-decoder=mp3on4 \
--enable-decoder=mp3on4float \
--enable-decoder=mpeg4 \
--enable-decoder=msmpeg4v2 \
--enable-decoder=msmpeg4v3 \
--enable-decoder=opus \
--enable-decoder=pcm_alaw \
--enable-decoder=pcm_alaw_at \
--enable-decoder=pcm_f32be \
--enable-decoder=pcm_f32le \
--enable-decoder=pcm_f64be \
--enable-decoder=pcm_f64le \
--enable-decoder=pcm_lxf \
--enable-decoder=pcm_mulaw \
--enable-decoder=pcm_mulaw_at \
--enable-decoder=pcm_s16be \
--enable-decoder=pcm_s16be_planar \
--enable-decoder=pcm_s16le \
--enable-decoder=pcm_s16le_planar \
--enable-decoder=pcm_s24be \
--enable-decoder=pcm_s24daud \
--enable-decoder=pcm_s24le \
--enable-decoder=pcm_s24le_planar \
--enable-decoder=pcm_s32be \
--enable-decoder=pcm_s32le \
--enable-decoder=pcm_s32le_planar \
--enable-decoder=pcm_s64be \
--enable-decoder=pcm_s64le \
--enable-decoder=pcm_s8 \
--enable-decoder=pcm_s8_planar \
--enable-decoder=pcm_u16be \
--enable-decoder=pcm_u16le \
--enable-decoder=pcm_u24be \
--enable-decoder=pcm_u24le \
--enable-decoder=pcm_u32be \
--enable-decoder=pcm_u32le \
--enable-decoder=pcm_u8 \
--enable-decoder=pcm_zork \
--enable-decoder=vorbis \
--enable-decoder=wavpack \
--enable-decoder=wmalossless \
--enable-decoder=wmapro \
--enable-decoder=wmav1 \
--enable-decoder=wmav2 \
--enable-decoder=wmavoice \
--enable-encoder=libopus \
--enable-parser=aac \
--enable-parser=aac_latm \
--enable-parser=flac \
--enable-parser=h264 \
--enable-parser=hevc \
--enable-parser=mpeg4video \
--enable-parser=mpegaudio \
--enable-parser=opus \
--enable-parser=vorbis \
--enable-demuxer=aac \
--enable-demuxer=flac \
--enable-demuxer=gif \
--enable-demuxer=h264 \
--enable-demuxer=hevc \
--enable-demuxer=m4v \
--enable-demuxer=mov \
--enable-demuxer=mp3 \
--enable-demuxer=ogg \
--enable-demuxer=wav \
--enable-muxer=ogg \
--enable-muxer=opus
make -j4
make -j4 install

View File

@@ -1,107 +0,0 @@
diff --git a/client/capture_context_mac_test.cc b/client/capture_context_mac_test.cc
index 436ac5ad..8e14fb9c 100644
--- a/client/capture_context_mac_test.cc
+++ b/client/capture_context_mac_test.cc
@@ -34,11 +34,11 @@ namespace {
// gtest assertions.
void SanityCheckContext(const NativeCPUContext& context) {
#if defined(ARCH_CPU_X86)
- ASSERT_EQ(x86_THREAD_STATE32, context.tsh.flavor);
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT), context.tsh.count);
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT), implicit_cast<uint32_t>(context.tsh.count));
#elif defined(ARCH_CPU_X86_64)
- ASSERT_EQ(x86_THREAD_STATE64, context.tsh.flavor);
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT), context.tsh.count);
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT), implicit_cast<uint32_t>(context.tsh.count));
#endif
#if defined(ARCH_CPU_X86_FAMILY)
diff --git a/client/simulate_crash_mac.cc b/client/simulate_crash_mac.cc
index 7e279015..27864388 100644
--- a/client/simulate_crash_mac.cc
+++ b/client/simulate_crash_mac.cc
@@ -177,12 +177,12 @@ bool DeliverException(thread_t thread,
void SimulateCrash(const NativeCPUContext& cpu_context) {
#if defined(ARCH_CPU_X86)
- DCHECK_EQ(cpu_context.tsh.flavor,
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32));
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
x86_THREAD_STATE32_COUNT);
#elif defined(ARCH_CPU_X86_64)
- DCHECK_EQ(cpu_context.tsh.flavor,
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64));
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
x86_THREAD_STATE64_COUNT);
diff --git a/client/simulate_crash_mac_test.cc b/client/simulate_crash_mac_test.cc
index 87c5f845..ca813e4c 100644
--- a/client/simulate_crash_mac_test.cc
+++ b/client/simulate_crash_mac_test.cc
@@ -130,12 +130,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
reinterpret_cast<const x86_thread_state*>(old_state);
switch (state->tsh.flavor) {
case x86_THREAD_STATE32:
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT),
- state->tsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT),
+ implicit_cast<uint32_t>(state->tsh.count));
break;
case x86_THREAD_STATE64:
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT),
- state->tsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT),
+ implicit_cast<uint32_t>(state->tsh.count));
break;
default:
ADD_FAILURE() << "unexpected tsh.flavor " << state->tsh.flavor;
@@ -149,12 +149,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
reinterpret_cast<const x86_float_state*>(old_state);
switch (state->fsh.flavor) {
case x86_FLOAT_STATE32:
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE32_COUNT),
- state->fsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE32_COUNT),
+ implicit_cast<uint32_t>(state->fsh.count));
break;
case x86_FLOAT_STATE64:
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE64_COUNT),
- state->fsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE64_COUNT),
+ implicit_cast<uint32_t>(state->fsh.count));
break;
default:
ADD_FAILURE() << "unexpected fsh.flavor " << state->fsh.flavor;
@@ -168,12 +168,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
reinterpret_cast<const x86_debug_state*>(old_state);
switch (state->dsh.flavor) {
case x86_DEBUG_STATE32:
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE32_COUNT),
- state->dsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE32_COUNT),
+ implicit_cast<uint32_t>(state->dsh.count));
break;
case x86_DEBUG_STATE64:
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE64_COUNT),
- state->dsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE64_COUNT),
+ implicit_cast<uint32_t>(state->dsh.count));
break;
default:
ADD_FAILURE() << "unexpected dsh.flavor " << state->dsh.flavor;
diff --git a/crashpad.gyp b/crashpad.gyp
index 42fe0a26..d8af1bf1 100644
--- a/crashpad.gyp
+++ b/crashpad.gyp
@@ -25,7 +25,7 @@
'minidump/minidump.gyp:*',
'minidump/minidump_test.gyp:*',
'snapshot/snapshot.gyp:*',
- 'snapshot/snapshot_test.gyp:*',
+# 'snapshot/snapshot_test.gyp:*',
'test/test.gyp:*',
'test/test_test.gyp:*',
'tools/tools.gyp:*',

View File

@@ -1,132 +0,0 @@
diff --git a/pylib/gyp/generator/cmake.py b/pylib/gyp/generator/cmake.py
index 4a2041cf..e5333926 100644
--- a/pylib/gyp/generator/cmake.py
+++ b/pylib/gyp/generator/cmake.py
@@ -1078,6 +1078,23 @@ def WriteTarget(namer, qualified_target, target_dicts, build_dir, config_to_use,
output.write(')\n')
+ # Precompile header
+ precompiled_header = config.get('cmake_precompiled_header', '')
+ if precompiled_header:
+ precompiled_header_script = config.get('cmake_precompiled_header_script', '')
+ if not precompiled_header_script:
+ print ('ERROR: cmake_precompiled_header requires cmake_precompiled_header_script')
+ cmake_precompiled_header = NormjoinPath(path_from_cmakelists_to_gyp, precompiled_header)
+ cmake_precompiled_header_script = NormjoinPathForceCMakeSource(path_from_cmakelists_to_gyp, precompiled_header_script)
+ output.write('include(')
+ output.write(cmake_precompiled_header_script)
+ output.write(')\n')
+ output.write('add_precompiled_header(')
+ output.write(cmake_target_name)
+ output.write(' ')
+ output.write(cmake_precompiled_header)
+ output.write(')\n')
+
UnsetVariable(output, 'TOOLSET')
UnsetVariable(output, 'TARGET')
@@ -1120,6 +1137,8 @@ def GenerateOutputForConfig(target_list, target_dicts, data,
SetVariable(output, 'configuration', config_to_use)
ar = None
+ ranlib = None
+ nm = None
cc = None
cxx = None
@@ -1129,17 +1148,27 @@ def GenerateOutputForConfig(target_list, target_dicts, data,
for key, value in make_global_settings:
if key == 'AR':
ar = os.path.join(build_to_top, value)
+ if key == 'RANLIB':
+ ranlib = os.path.join(build_to_top, value)
+ if key == 'NM':
+ nm = os.path.join(build_to_top, value)
if key == 'CC':
cc = os.path.join(build_to_top, value)
if key == 'CXX':
cxx = os.path.join(build_to_top, value)
ar = gyp.common.GetEnvironFallback(['AR_target', 'AR'], ar)
+ ranlib = gyp.common.GetEnvironFallback(['RANLIB_target', 'RANLIB'], ranlib)
+ nm = gyp.common.GetEnvironFallback(['NM_target', 'NM'], nm)
cc = gyp.common.GetEnvironFallback(['CC_target', 'CC'], cc)
cxx = gyp.common.GetEnvironFallback(['CXX_target', 'CXX'], cxx)
if ar:
SetVariable(output, 'CMAKE_AR', ar)
+ if ranlib:
+ SetVariable(output, 'CMAKE_RANLIB', ranlib)
+ if nm:
+ SetVariable(output, 'CMAKE_NM', nm)
if cc:
SetVariable(output, 'CMAKE_C_COMPILER', cc)
if cxx:
diff --git a/pylib/gyp/generator/xcode.py b/pylib/gyp/generator/xcode.py
index 8bc22bed..24bee427 100644
--- a/pylib/gyp/generator/xcode.py
+++ b/pylib/gyp/generator/xcode.py
@@ -74,6 +74,12 @@ generator_additional_non_configuration_keys = [
'ios_app_extension',
'ios_watch_app',
'ios_watchkit_extension',
+
+ 'mac_sandbox', # sandbox support
+ 'mac_sandbox_development_team',
+
+ 'mac_hardened_runtime', # hardened runtime support
+
'mac_bundle',
'mac_bundle_resources',
'mac_framework_headers',
@@ -774,6 +780,39 @@ def GenerateOutput(target_list, target_dicts, data, params):
xcode_targets[qualified_target] = xct
xcode_target_to_target_dict[xct] = spec
+ # sandbox and hardened runtime support
+ is_sandbox = int(spec.get('mac_sandbox', 0))
+ is_hardened_runtime = int(spec.get('mac_hardened_runtime', 0))
+ if is_sandbox or is_hardened_runtime:
+ try:
+ tmp = pbxp._properties['attributes']['TargetAttributes']
+ except KeyError:
+ pbxp._properties['attributes']['TargetAttributes'] = {}
+ try:
+ tmp = pbxp._properties['attributes']['TargetAttributes'][xct]
+ except KeyError:
+ pbxp._properties['attributes']['TargetAttributes'][xct] = {}
+ try:
+ tmp = pbxp._properties['attributes']['TargetAttributes'][xct]['SystemCapabilities']
+ except KeyError:
+ pbxp._properties['attributes']['TargetAttributes'][xct]['SystemCapabilities'] = {}
+
+ if is_sandbox:
+ dev_team = spec.get('mac_sandbox_development_team', '%%ERROR%%')
+ assert dev_team != '%%ERROR%%', (
+ 'mac_sandbox must be accompanied by mac_sandbox_development_team (target "%s")' %
+ target_name)
+ pbxp._properties['attributes']['TargetAttributes'][xct]['DevelopmentTeam'] = dev_team
+ pbxp._properties['attributes']['TargetAttributes'][xct]['SystemCapabilities']['com.apple.Sandbox'] = {
+ 'enabled': 1,
+ }
+
+ # hardened runtime support
+ if is_hardened_runtime:
+ pbxp._properties['attributes']['TargetAttributes'][xct]['SystemCapabilities']['com.apple.HardenedRuntime'] = {
+ 'enabled': 1,
+ }
+
spec_actions = spec.get('actions', [])
spec_rules = spec.get('rules', [])
@@ -1132,7 +1171,8 @@ exit 1
groups = [x for x in groups if not x.endswith('_excluded')]
for group in groups:
for item in rule.get(group, []):
- pbxp.AddOrGetFileInRootGroup(item)
+ concrete_item = ExpandXcodeVariables(item, rule_input_dict)
+ pbxp.AddOrGetFileInRootGroup(concrete_item)
# Add "sources".
for source in spec.get('sources', []):

View File

@@ -1,127 +0,0 @@
diff --git a/build/crashpad.gypi b/build/crashpad.gypi
index 027c7b68..4bfdfb5a 100644
--- a/build/crashpad.gypi
+++ b/build/crashpad.gypi
@@ -25,5 +25,15 @@
4201, # nonstandard extension used : nameless struct/union.
4324, # structure was padded due to __declspec(align()).
],
+ 'xcode_settings': {
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
+ 'OTHER_LDFLAGS': [
+ '/usr/local/macold/lib/libc++.a',
+ '/usr/local/macold/lib/libc++abi.a',
+ ],
+ },
+ 'include_dirs': [
+ '/usr/local/macold/include/c++/v1',
+ ],
},
}
diff --git a/client/capture_context_mac_test.cc b/client/capture_context_mac_test.cc
index 436ac5ad..8e14fb9c 100644
--- a/client/capture_context_mac_test.cc
+++ b/client/capture_context_mac_test.cc
@@ -34,11 +34,11 @@ namespace {
// gtest assertions.
void SanityCheckContext(const NativeCPUContext& context) {
#if defined(ARCH_CPU_X86)
- ASSERT_EQ(x86_THREAD_STATE32, context.tsh.flavor);
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT), context.tsh.count);
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT), implicit_cast<uint32_t>(context.tsh.count));
#elif defined(ARCH_CPU_X86_64)
- ASSERT_EQ(x86_THREAD_STATE64, context.tsh.flavor);
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT), context.tsh.count);
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT), implicit_cast<uint32_t>(context.tsh.count));
#endif
#if defined(ARCH_CPU_X86_FAMILY)
diff --git a/client/simulate_crash_mac.cc b/client/simulate_crash_mac.cc
index 7e279015..27864388 100644
--- a/client/simulate_crash_mac.cc
+++ b/client/simulate_crash_mac.cc
@@ -177,12 +177,12 @@ bool DeliverException(thread_t thread,
void SimulateCrash(const NativeCPUContext& cpu_context) {
#if defined(ARCH_CPU_X86)
- DCHECK_EQ(cpu_context.tsh.flavor,
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32));
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
x86_THREAD_STATE32_COUNT);
#elif defined(ARCH_CPU_X86_64)
- DCHECK_EQ(cpu_context.tsh.flavor,
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64));
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
x86_THREAD_STATE64_COUNT);
diff --git a/client/simulate_crash_mac_test.cc b/client/simulate_crash_mac_test.cc
index 87c5f845..ca813e4c 100644
--- a/client/simulate_crash_mac_test.cc
+++ b/client/simulate_crash_mac_test.cc
@@ -130,12 +130,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
reinterpret_cast<const x86_thread_state*>(old_state);
switch (state->tsh.flavor) {
case x86_THREAD_STATE32:
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT),
- state->tsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT),
+ implicit_cast<uint32_t>(state->tsh.count));
break;
case x86_THREAD_STATE64:
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT),
- state->tsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT),
+ implicit_cast<uint32_t>(state->tsh.count));
break;
default:
ADD_FAILURE() << "unexpected tsh.flavor " << state->tsh.flavor;
@@ -149,12 +149,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
reinterpret_cast<const x86_float_state*>(old_state);
switch (state->fsh.flavor) {
case x86_FLOAT_STATE32:
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE32_COUNT),
- state->fsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE32_COUNT),
+ implicit_cast<uint32_t>(state->fsh.count));
break;
case x86_FLOAT_STATE64:
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE64_COUNT),
- state->fsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE64_COUNT),
+ implicit_cast<uint32_t>(state->fsh.count));
break;
default:
ADD_FAILURE() << "unexpected fsh.flavor " << state->fsh.flavor;
@@ -168,12 +168,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
reinterpret_cast<const x86_debug_state*>(old_state);
switch (state->dsh.flavor) {
case x86_DEBUG_STATE32:
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE32_COUNT),
- state->dsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE32_COUNT),
+ implicit_cast<uint32_t>(state->dsh.count));
break;
case x86_DEBUG_STATE64:
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE64_COUNT),
- state->dsh.count);
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE64_COUNT),
+ implicit_cast<uint32_t>(state->dsh.count));
break;
default:
ADD_FAILURE() << "unexpected dsh.flavor " << state->dsh.flavor;
diff --git a/crashpad.gyp b/crashpad.gyp
index 42fe0a26..d8af1bf1 100644
--- a/crashpad.gyp
+++ b/crashpad.gyp
@@ -25,7 +25,7 @@
'minidump/minidump.gyp:*',
'minidump/minidump_test.gyp:*',
'snapshot/snapshot.gyp:*',
- 'snapshot/snapshot_test.gyp:*',
+# 'snapshot/snapshot_test.gyp:*',
'test/test.gyp:*',
'test/test_test.gyp:*',
'tools/tools.gyp:*',

View File

@@ -1,28 +0,0 @@
diff --git a/build/common.gypi b/build/common.gypi
index 1affc70..0677e4b 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -66,6 +66,13 @@
'conditions': [
['clang!=0', {
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
+ 'OTHER_LDFLAGS': [
+ '/usr/local/macold/lib/libc++.a',
+ '/usr/local/macold/lib/libc++abi.a',
+ '-isysroot/',
+ '-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/',
+ ],
# Don't link in libarclite_macosx.a, see http://crbug.com/156530.
'CLANG_LINK_OBJC_RUNTIME': 'NO', # -fno-objc-link-runtime
@@ -116,6 +123,9 @@
],
},
+ 'include_dirs': [
+ '/usr/local/macold/include/c++/v1',
+ ],
}],
['OS=="linux"', {

View File

@@ -1,844 +0,0 @@
diff --git a/configure b/configure
index cb8d78fd3c..cadb3f0a88 100755
--- a/configure
+++ b/configure
@@ -511,7 +511,8 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
exit 2
fi
- if ! /usr/bin/xcrun -find xcrun >/dev/null 2>&1; then
+ # Patch: Fix Qt for working with Xcode 8.
+ if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
echo >&2
echo " Xcode not set up properly. You may need to confirm the license" >&2
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf
index 086510dd96..078a5ed1dd 100644
--- a/mkspecs/common/g++-macx.conf
+++ b/mkspecs/common/g++-macx.conf
@@ -14,7 +14,13 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g -gdwarf-2
-QMAKE_LFLAGS_STATIC_LIB += -all_load
+# Patch: Don't remember :(
+#QMAKE_LFLAGS_STATIC_LIB += -all_load
+
+# Patch: Use C++14 with custom libc++ build.
+QMAKE_CXXFLAGS_CXX11 = -std=c++1y
+QMAKE_CXXFLAGS += -nostdinc++ -I/usr/local/macold/include/c++/v1
+QMAKE_LFLAGS += /usr/local/macold/lib/libc++.a /usr/local/macold/lib/libc++abi.a -isysroot /
QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvmgcc42
diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
index 0cc8cd6dfd..ca9725b779 100644
--- a/mkspecs/features/mac/default_pre.prf
+++ b/mkspecs/features/mac/default_pre.prf
@@ -12,7 +12,9 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
# Make sure Xcode is set up properly
- isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
+
+ # Patch: Fix Qt for working with Xcode 8.
+ isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \
error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
}
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
index bb79a139b3..5d595bc3b3 100644
--- a/src/gui/image/qbmphandler.cpp
+++ b/src/gui/image/qbmphandler.cpp
@@ -220,6 +220,10 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
int blue_scale = 0;
int alpha_scale = 0;
+ // Patch: Backport a fix for bmp reader.
+ if (!d->isSequential())
+ d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
+
if (bi.biSize >= BMP_WIN4 || (comp == BMP_BITFIELDS && (nbits == 16 || nbits == 32))) {
if (d->read((char *)&red_mask, sizeof(red_mask)) != sizeof(red_mask))
return false;
@@ -307,8 +311,9 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
image.setDotsPerMeterX(bi.biXPelsPerMeter);
image.setDotsPerMeterY(bi.biYPelsPerMeter);
- if (!d->isSequential())
- d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
+ // Patch: Backport a fix for bmp reader.
+ //if (!d->isSequential())
+ // d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
if (ncols > 0) { // read color table
uchar rgb[4];
diff --git a/src/gui/painting/qpaintengine_p.h b/src/gui/painting/qpaintengine_p.h
index ebff9509ab..4300ca4c0f 100644
--- a/src/gui/painting/qpaintengine_p.h
+++ b/src/gui/painting/qpaintengine_p.h
@@ -87,8 +87,18 @@ public:
if (hasSystemTransform) {
if (systemTransform.type() <= QTransform::TxTranslate)
systemClip.translate(qRound(systemTransform.dx()), qRound(systemTransform.dy()));
- else
+ // Patch: Transform the system clip region back from device pixels to device-independent pixels before
+ // applying systemTransform, which already has transform from device-independent pixels to device pixels.
+ else {
+#ifdef Q_OS_MAC
+ QTransform scaleTransform;
+ const qreal invDevicePixelRatio = 1. / pdev->devicePixelRatio();
+ scaleTransform.scale(invDevicePixelRatio, invDevicePixelRatio);
+ systemClip = systemTransform.map(scaleTransform.map(systemClip));
+#else
systemClip = systemTransform.map(systemClip);
+#endif
+ }
}
// Make sure we're inside the viewport.
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index 4879ae51d7..56cdcbaf01 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -654,6 +654,9 @@ int QTextLayout::nextCursorPosition(int oldPos, CursorMode mode) const
while (oldPos < len && !attributes[oldPos].graphemeBoundary)
oldPos++;
} else {
+ // Patch: Skip to the end of the current word, not to the start of the next one.
+ while (oldPos < len && attributes[oldPos].whiteSpace)
+ oldPos++;
if (oldPos < len && d->atWordSeparator(oldPos)) {
oldPos++;
while (oldPos < len && d->atWordSeparator(oldPos))
@@ -662,8 +665,9 @@ int QTextLayout::nextCursorPosition(int oldPos, CursorMode mode) const
while (oldPos < len && !d->atSpace(oldPos) && !d->atWordSeparator(oldPos))
oldPos++;
}
- while (oldPos < len && d->atSpace(oldPos))
- oldPos++;
+ // Patch: Skip to the end of the current word, not to the start of the next one.
+ //while (oldPos < len && d->atSpace(oldPos))
+ // oldPos++;
}
return oldPos;
@@ -1602,6 +1606,9 @@ namespace {
int currentPosition;
glyph_t previousGlyph;
+ // Patch: Backport a crash fix.
+ QFontEngine *previousGlyphFontEngine;
+
QFixed minw;
QFixed softHyphenWidth;
QFixed rightBearing;
@@ -1634,13 +1641,19 @@ namespace {
if (currentPosition > 0 &&
logClusters[currentPosition - 1] < glyphs.numGlyphs) {
previousGlyph = currentGlyph(); // needed to calculate right bearing later
+
+ // Patch: Backport a crash fix.
+ previousGlyphFontEngine = fontEngine;
}
}
- inline void adjustRightBearing(glyph_t glyph)
+ // Patch: Backport a crash fix.
+ inline void adjustRightBearing(QFontEngine *engine, glyph_t glyph)
{
qreal rb;
- fontEngine->getGlyphBearings(glyph, 0, &rb);
+
+ // Patch: Backport a crash fix.
+ engine->getGlyphBearings(glyph, 0, &rb);
rightBearing = qMin(QFixed(), QFixed::fromReal(rb));
}
@@ -1648,13 +1661,16 @@ namespace {
{
if (currentPosition <= 0)
return;
- adjustRightBearing(currentGlyph());
+
+ // Patch: Backport a crash fix.
+ adjustRightBearing(fontEngine, currentGlyph());
}
inline void adjustPreviousRightBearing()
{
if (previousGlyph > 0)
- adjustRightBearing(previousGlyph);
+ // Patch: Backport a crash fix.
+ adjustRightBearing(previousGlyphFontEngine, previousGlyph);
}
inline void resetRightBearing()
diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h
index cbe42c3844..b273db7e78 100644
--- a/src/gui/text/qtextlayout.h
+++ b/src/gui/text/qtextlayout.h
@@ -194,6 +194,9 @@ private:
QRectF *brect, int tabstops, int* tabarray, int tabarraylen,
QPainter *painter);
QTextEngine *d;
+
+ // Patch: Give access to the internal api.
+ friend class TextBlock;
};
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 360f9722c7..f28f289ef6 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -118,6 +118,8 @@ QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate()
{
for (int i = 0; i < channelCount; ++i) {
if (channels[i].socket) {
+ // Patch: backport critical bugfix from '4f959b6b30' commit.
+ QObject::disconnect(channels[i].socket, Q_NULLPTR, &channels[i], Q_NULLPTR);
channels[i].socket->close();
delete channels[i].socket;
}
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
index ca7afb7d1b..25ae50008d 100644
--- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
+++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
@@ -256,6 +256,13 @@ static void getFontDescription(CTFontDescriptorRef font, FontDescription *fd)
fd->foundryName = QStringLiteral("CoreText");
fd->familyName = (CFStringRef) CTFontDescriptorCopyAttribute(font, kCTFontFamilyNameAttribute);
+
+ // Patch: Fix open sans semibold loading.
+ QCFString _displayName = (CFStringRef) CTFontDescriptorCopyAttribute(font, kCTFontDisplayNameAttribute);
+ if (_displayName == QStringLiteral("Open Sans Semibold")) {
+ fd->familyName = _displayName;
+ }
+
fd->styleName = (CFStringRef)CTFontDescriptorCopyAttribute(font, kCTFontStyleNameAttribute);
fd->weight = QFont::Normal;
fd->style = QFont::StyleNormal;
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
index 6e2c8a2a9a..3cace8abcb 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -717,7 +717,8 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t, QPainterPath *, glyph_metric
QFixed QCoreTextFontEngine::emSquareSize() const
{
- return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+ // Patch: Fix build for Xcode 9.3.1.
+ return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
}
QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
index 92358ecc74..694fee7350 100644
--- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
+++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
@@ -213,7 +213,8 @@ static void cleanupCocoaApplicationDelegate()
if (reflectionDelegate) {
if ([reflectionDelegate respondsToSelector:@selector(applicationShouldTerminate:)])
return [reflectionDelegate applicationShouldTerminate:sender];
- return NSTerminateNow;
+ // Patch: Don't terminate if reflectionDelegate does not respond to that selector, just use the default.
+ //return NSTerminateNow;
}
if ([self canQuit]) {
@@ -289,6 +290,11 @@ static void cleanupCocoaApplicationDelegate()
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
+ // Patch: We need to receive this notification in the delegate as well.
+ if (reflectionDelegate
+ && [reflectionDelegate respondsToSelector:@selector(applicationDidFinishLaunching:)])
+ [reflectionDelegate applicationDidFinishLaunching:aNotification];
+
Q_UNUSED(aNotification);
inLaunch = false;
// qt_release_apple_event_handler();
@@ -411,7 +417,9 @@ static void cleanupCocoaApplicationDelegate()
{
Q_UNUSED(replyEvent);
NSString *urlString = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
- QWindowSystemInterface::handleFileOpenEvent(QUrl(QCFString::toQString(urlString)));
+
+ // Patch: Fix opening of an external url by a protocol handler.
+ QWindowSystemInterface::handleFileOpenEvent(QUrl::fromNSURL([NSURL URLWithString:urlString]));
}
- (void)appleEventQuit:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
diff --git a/src/plugins/platforms/cocoa/qcocoacursor.mm b/src/plugins/platforms/cocoa/qcocoacursor.mm
index b81b9a0b1c..4e59e833b1 100644
--- a/src/plugins/platforms/cocoa/qcocoacursor.mm
+++ b/src/plugins/platforms/cocoa/qcocoacursor.mm
@@ -81,7 +81,7 @@ void QCocoaCursor::setPos(const QPoint &position)
pos.x = position.x();
pos.y = position.y();
- CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0);
+ CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft);
CGEventPost(kCGHIDEventTap, e);
CFRelease(e);
}
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm
index 9850f83dea..b2e1d3dfda 100644
--- a/src/plugins/platforms/cocoa/qcocoahelpers.mm
+++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm
@@ -649,9 +649,10 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
// Verbatim copy if HIViewDrawCGImage (as shown on Carbon-Dev)
OSStatus err = noErr;
- require_action(inContext != NULL, InvalidContext, err = paramErr);
- require_action(inBounds != NULL, InvalidBounds, err = paramErr);
- require_action(inImage != NULL, InvalidImage, err = paramErr);
+ // Patch: Fix build on latest Xcode.
+ //require_action(inContext != NULL, InvalidContext, err = paramErr);
+ //require_action(inBounds != NULL, InvalidBounds, err = paramErr);
+ //require_action(inImage != NULL, InvalidImage, err = paramErr);
CGContextSaveGState( inContext );
CGContextTranslateCTM (inContext, 0, inBounds->origin.y + CGRectGetMaxY(*inBounds));
@@ -660,9 +661,11 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
CGContextDrawImage(inContext, *inBounds, inImage);
CGContextRestoreGState(inContext);
-InvalidImage:
-InvalidBounds:
-InvalidContext:
+
+// Patch: Fix build on latest Xcode.
+//InvalidImage:
+//InvalidBounds:
+//InvalidContext:
return err;
}
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 9fd05a65ee..dea60720e7 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -402,14 +402,24 @@ void QCocoaIntegration::updateScreens()
}
siblings << screen;
}
+
+ // Patch: Backport crash fix from Qt 5.6.1.
+ // Set virtual siblings list. All screens in mScreens are siblings, because we ignored the
+ // mirrors. Note that some of the screens we update the siblings list for here may be deleted
+ // below, but update anyway to keep the to-be-deleted screens out of the siblings list.
+ foreach (QCocoaScreen* screen, mScreens)
+ screen->setVirtualSiblings(siblings);
+
// Now the leftovers in remainingScreens are no longer current, so we can delete them.
foreach (QCocoaScreen* screen, remainingScreens) {
mScreens.removeOne(screen);
delete screen;
}
+
+ // Patch: Backport crash fix from Qt 5.6.1.
// All screens in mScreens are siblings, because we ignored the mirrors.
- foreach (QCocoaScreen* screen, mScreens)
- screen->setVirtualSiblings(siblings);
+ //foreach (QCocoaScreen* screen, mScreens)
+ // screen->setVirtualSiblings(siblings);
}
QCocoaScreen *QCocoaIntegration::screenAtIndex(int index)
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
index e46eaff6be..c62db534a2 100644
--- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm
+++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
@@ -382,6 +382,12 @@ bool QCocoaKeyMapper::updateKeyboard()
keyboardInputLocale = QLocale::c();
keyboardInputDirection = Qt::LeftToRight;
}
+
+ // Patch: Backport a fix for layout-independent keyboard shortcuts.
+ const auto newMode = keyboard_mode;
+ deleteLayouts();
+ keyboard_mode = newMode;
+
return true;
}
@@ -464,7 +470,8 @@ QList<int> QCocoaKeyMapper::possibleKeys(const QKeyEvent *event) const
Qt::KeyboardModifiers neededMods = ModsTbl[i];
int key = kbItem->qtKey[i];
if (key && key != baseKey && ((keyMods & neededMods) == neededMods)) {
- ret << int(key + (keyMods & ~neededMods));
+ // Patch: Backport a fix for layout-independent keyboard shortcuts.
+ ret << int(key + neededMods);
}
}
return ret;
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index 83c960d931..03ae9696af 100755
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
@@ -102,7 +102,10 @@ QT_USE_NAMESPACE
QCocoaSystemTrayIcon *systray;
NSStatusItem *item;
QCocoaMenu *menu;
- bool menuVisible;
+
+ // Patch: Nice macOS tray icon support.
+ bool menuVisible, iconSelected;
+
QIcon icon;
QT_MANGLE_NAMESPACE(QNSImageView) *imageCell;
}
@@ -124,6 +127,10 @@ QT_USE_NAMESPACE
QT_MANGLE_NAMESPACE(QNSStatusItem) *parent;
}
-(id)initWithParent:(QT_MANGLE_NAMESPACE(QNSStatusItem)*)myParent;
+
+// Patch: Nice macOS tray icon support.
+-(void)updateIconSelection;
+
-(void)menuTrackingDone:(NSNotification*)notification;
-(void)mousePressed:(NSEvent *)mouseEvent button:(Qt::MouseButton)mouseButton;
@end
@@ -187,6 +194,19 @@ void QCocoaSystemTrayIcon::cleanup()
m_sys = 0;
}
+// Patch: Nice macOS tray icon support.
+namespace {
+
+qreal getDevicePixelRatio() {
+ qreal result = 1.0;
+ foreach (QScreen *screen, QGuiApplication::screens()) {
+ result = qMax(result, screen->devicePixelRatio());
+ }
+ return result;
+}
+
+} // namespace
+
void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
{
if (!m_sys)
@@ -194,13 +214,18 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
m_sys->item->icon = icon;
- const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
+ // Patch: Nice macOS tray icon support.
+ //const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
+ const int padding = 0;
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
+ const int maxImageHeight = menuHeight - padding;
+
+ const short scale = maxImageHeight * getDevicePixelRatio();
QPixmap pm = m_sys->item->icon.pixmap(QSize(scale, scale),
- menuVisible ? QIcon::Selected : QIcon::Normal);
+ // Patch: Nice macOS tray icon support.
+ m_sys->item->iconSelected ? QIcon::Selected : QIcon::Normal);
if (pm.isNull()) {
pm = QPixmap(scale, scale);
pm.fill(Qt::transparent);
@@ -322,15 +347,16 @@ QT_END_NAMESPACE
return self;
}
--(void)menuTrackingDone:(NSNotification*)notification
+// Patch: Nice macOS tray icon support.
+-(void)updateIconSelection
{
- Q_UNUSED(notification);
- down = NO;
+ const int padding = 0;
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
+ const int maxImageHeight = menuHeight - padding;
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
-
- QPixmap pm = parent->icon.pixmap(QSize(scale, scale), QIcon::Normal);
+ const short scale = maxImageHeight * getDevicePixelRatio();
+ QPixmap pm = parent->icon.pixmap(QSize(scale, scale),
+ parent->iconSelected ? QIcon::Selected : QIcon::Normal);
if (pm.isNull()) {
pm = QPixmap(scale, scale);
pm.fill(Qt::transparent);
@@ -338,9 +364,19 @@ QT_END_NAMESPACE
NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
[self setImage: nsaltimage];
[nsaltimage release];
+}
+
+-(void)menuTrackingDone:(NSNotification*)notification
+{
+ Q_UNUSED(notification);
+ down = NO;
parent->menuVisible = false;
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = false;
+ [self updateIconSelection];
+
[self setNeedsDisplay:YES];
}
@@ -350,18 +386,9 @@ QT_END_NAMESPACE
int clickCount = [mouseEvent clickCount];
[self setNeedsDisplay:YES];
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
-
- QPixmap pm = parent->icon.pixmap(QSize(scale, scale),
- parent->menuVisible ? QIcon::Selected : QIcon::Normal);
- if (pm.isNull()) {
- pm = QPixmap(scale, scale);
- pm.fill(Qt::transparent);
- }
- NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
- [self setImage: nsaltimage];
- [nsaltimage release];
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = (clickCount != 2) && parent->menu;
+ [self updateIconSelection];
if (clickCount == 2) {
[self menuTrackingDone:nil];
@@ -380,6 +407,10 @@ QT_END_NAMESPACE
{
Q_UNUSED(mouseEvent);
[self menuTrackingDone:nil];
+
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = false;
+ [self updateIconSelection];
}
- (void)rightMouseDown:(NSEvent *)mouseEvent
@@ -391,6 +422,10 @@ QT_END_NAMESPACE
{
Q_UNUSED(mouseEvent);
[self menuTrackingDone:nil];
+
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = false;
+ [self updateIconSelection];
}
- (void)otherMouseDown:(NSEvent *)mouseEvent
@@ -405,7 +440,8 @@ QT_END_NAMESPACE
}
-(void)drawRect:(NSRect)rect {
- [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:down];
+ // Patch: Nice macOS tray icon support.
+ [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:parent->menu ? down : NO];
[super drawRect:rect];
}
@end
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 4d0458a4aa..3357a5ef81 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -167,7 +167,8 @@ static bool isMouseEvent(NSEvent *ev)
if (!self.window.delegate)
return; // Already detached, pending NSAppKitDefined event
- if (pw && pw->frameStrutEventsEnabled() && isMouseEvent(theEvent)) {
+ // Patch: Fix events loss if the window was minimized or hidden.
+ if (pw && pw->frameStrutEventsEnabled() && pw->m_synchedWindowState != Qt::WindowMinimized && pw->m_isExposed && isMouseEvent(theEvent)) {
NSPoint loc = [theEvent locationInWindow];
NSRect windowFrame = [self.window legacyConvertRectFromScreen:[self.window frame]];
NSRect contentFrame = [[self.window contentView] frame];
@@ -795,6 +796,16 @@ NSUInteger QCocoaWindow::windowStyleMask(Qt::WindowFlags flags)
{
Qt::WindowType type = static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask));
NSInteger styleMask = NSBorderlessWindowMask;
+
+ // Patch: allow creating panels floating on all spaces in macOS.
+ // If you call "setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary" before
+ // setting the "NSNonactivatingPanelMask" bit in the style mask it won't work after that.
+ // So we need a way to set that bit before Qt sets collection behavior the way it does.
+ QVariant nonactivatingPanelMask = window()->property("_td_macNonactivatingPanelMask");
+ if (nonactivatingPanelMask.isValid() && nonactivatingPanelMask.toBool()) {
+ styleMask |= NSNonactivatingPanelMask;
+ }
+
if (flags & Qt::FramelessWindowHint)
return styleMask;
if ((type & Qt::Popup) == Qt::Popup) {
@@ -914,6 +925,19 @@ void QCocoaWindow::setWindowFilePath(const QString &filePath)
[m_nsWindow setRepresentedFilename: fi.exists() ? QCFString::toNSString(filePath) : @""];
}
+// Patch: Nice macOS window icon.
+namespace {
+
+qreal getDevicePixelRatio() {
+ qreal result = 1.0;
+ foreach (QScreen *screen, QGuiApplication::screens()) {
+ result = qMax(result, screen->devicePixelRatio());
+ }
+ return result;
+}
+
+} // namespace
+
void QCocoaWindow::setWindowIcon(const QIcon &icon)
{
QCocoaAutoReleasePool pool;
@@ -929,7 +953,10 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
if (icon.isNull()) {
[iconButton setImage:nil];
} else {
- QPixmap pixmap = icon.pixmap(QSize(22, 22));
+ // Patch: Nice macOS window icon.
+ CGFloat hgt = 16. * getDevicePixelRatio();
+ QPixmap pixmap = icon.pixmap(QSize(hgt, hgt));
+
NSImage *image = static_cast<NSImage *>(qt_mac_create_nsimage(pixmap));
[iconButton setImage:image];
[image release];
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index a18ee7ff71..1f91feb0ae 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -393,7 +393,9 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
[self notifyWindowStateChanged:newState];
// NSWindowDidOrderOnScreenAndFinishAnimatingNotification is private API, and not
// emitted in 10.6, so we bring back the old behavior for that case alone.
- if (newState == Qt::WindowNoState && QSysInfo::QSysInfo::MacintoshVersion == QSysInfo::MV_10_6)
+
+ // Patch: Fix macOS window show after window was hidden.
+ if (newState == Qt::WindowNoState/* && QSysInfo::QSysInfo::MacintoshVersion == QSysInfo::MV_10_6*/)
m_platformWindow->exposeWindow();
} else if ([notificationName isEqualToString: @"NSWindowDidOrderOffScreenNotification"]) {
m_platformWindow->obscureWindow();
@@ -1300,7 +1302,9 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8
if (QSysInfo::QSysInfo::MacintoshVersion >= QSysInfo::MV_10_8) {
// On 10.8 and above, MayBegin is likely to happen. We treat it the same as an actual begin.
- if (phase == NSEventPhaseMayBegin)
+
+ // Patch: Actual begin should be treated as begin as well.
+ if (phase == NSEventPhaseMayBegin || phase == NSEventPhaseBegan)
ph = Qt::ScrollBegin;
} else
#endif
@@ -1366,14 +1370,22 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
quint32 nativeVirtualKey = [nsevent keyCode];
QChar ch = QChar::ReplacementCharacter;
- int keyCode = Qt::Key_unknown;
- if ([characters length] != 0) {
- if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0))
- ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
- else
- ch = QChar([characters characterAtIndex:0]);
- keyCode = [self convertKeyCode:ch];
- }
+
+ // Patch: Backport a fix for layout-independent shortcuts.
+ if ([characters length] != 0) // https://bugreports.qt.io/browse/QTBUG-42584
+ ch = QChar([characters characterAtIndex:0]);
+ else if ([charactersIgnoringModifiers length] != 0 && ((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)))
+ ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
+
+ int keyCode = [self convertKeyCode:ch];
+ //int keyCode = Qt::Key_unknown;
+ //if ([characters length] != 0) {
+ // if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0))
+ // ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
+ // else
+ // ch = QChar([characters characterAtIndex:0]);
+ // keyCode = [self convertKeyCode:ch];
+ //}
// we will send a key event unless the input method sets m_sendKeyEvent to false
m_sendKeyEvent = true;
@@ -1437,6 +1449,11 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
&& qtKey == Qt::Key_Period) {
[self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)];
return YES;
+
+ // Patch: Allow us to handle Ctrl+Tab and Ctrl+Backtab in the app.
+ } else if ([nsevent modifierFlags] & NSControlKeyMask && (qtKey == Qt::Key_Tab || qtKey == Qt::Key_Backtab)) {
+ [self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)];
+ return YES;
}
}
return [super performKeyEquivalent:nsevent];
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
index c68076477f..e2a7aafa58 100644
--- a/src/tools/qlalr/lalr.cpp
+++ b/src/tools/qlalr/lalr.cpp
@@ -246,11 +246,13 @@ void Grammar::buildExtendedGrammar ()
non_terminals.insert (accept_symbol);
}
-struct _Nullable: public std::unary_function<Name, bool>
+// Patch: Fix building with the new SDK.
+struct __Nullable: public std::unary_function<Name, bool>
{
Automaton *_M_automaton;
- _Nullable (Automaton *aut):
+ // Patch: Fix building with the new SDK.
+ __Nullable (Automaton *aut):
_M_automaton (aut) {}
bool operator () (Name name) const
@@ -308,7 +310,8 @@ void Automaton::buildNullables ()
for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule)
{
- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this)));
+ // Patch: Fix building with the new SDK.
+ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (__Nullable (this)));
if (nn == rule->rhs.end ())
changed |= nullables.insert (rule->lhs).second;
@@ -643,7 +646,8 @@ void Automaton::buildIncludesDigraph ()
if (! _M_grammar->isNonTerminal (*A))
continue;
- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this)));
+ // Patch: Fix building with the new SDK.
+ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (__Nullable (this)));
if (first_not_nullable != rule->rhs.end ())
continue;
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 7396808442..7178aecf80 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -4722,6 +4722,17 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
return; // Fully transparent.
Q_D(QWidget);
+
+ // Patch: save and restore dirtyOpaqueChildren field.
+ //
+ // Just like in QWidget::grab() this field should be restored
+ // after the d->render() call, because it will be set to 1 and
+ // opaqueChildren field will be filled with empty region in
+ // case the widget is hidden (because all the opaque children
+ // will be skipped in isVisible() check).
+ //
+ const bool oldDirtyOpaqueChildren = d->dirtyOpaqueChildren;
+
const bool inRenderWithPainter = d->extra && d->extra->inRenderWithPainter;
const QRegion toBePainted = !inRenderWithPainter ? d->prepareToRender(sourceRegion, renderFlags)
: sourceRegion;
@@ -4743,6 +4754,10 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
if (!inRenderWithPainter && (opacity < 1.0 || (target->devType() == QInternal::Printer))) {
d->render_helper(painter, targetOffset, toBePainted, renderFlags);
d->extra->inRenderWithPainter = inRenderWithPainter;
+
+ // Patch: save and restore dirtyOpaqueChildren field.
+ d->dirtyOpaqueChildren = oldDirtyOpaqueChildren;
+
return;
}
@@ -4774,6 +4789,9 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
d->setSharedPainter(oldPainter);
d->extra->inRenderWithPainter = inRenderWithPainter;
+
+ // Patch: save and restore dirtyOpaqueChildren field.
+ d->dirtyOpaqueChildren = oldDirtyOpaqueChildren;
}
static void sendResizeEvents(QWidget *target)
@@ -7983,7 +8001,8 @@ bool QWidget::event(QEvent *event)
case QEvent::KeyPress: {
QKeyEvent *k = (QKeyEvent *)event;
bool res = false;
- if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier))) { //### Add MetaModifier?
+ // Patch: Allow us to handle Ctrl+Tab and Ctrl+Backtab in the app.
+ if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier))) { //### Add MetaModifier?
if (k->key() == Qt::Key_Backtab
|| (k->key() == Qt::Key_Tab && (k->modifiers() & Qt::ShiftModifier)))
res = focusNextPrevChild(false);
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index 0845a5eb02..5735cb6b39 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -3667,9 +3667,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
NSBezierPath *pushButtonFocusRingPath;
if (bdi.kind == kThemeBevelButton)
- pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:focusRect];
+ // Patch: Fix building with the new SDK.
+ pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(focusRect)];
else
- pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:focusRect xRadius:4 yRadius:4];
+ // Patch: Fix building with the new SDK.
+ pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(focusRect) xRadius:4 yRadius:4];
qt_drawFocusRingOnPath(cg, pushButtonFocusRingPath);
}
diff --git a/src/widgets/util/qsystemtrayicon_qpa.cpp b/src/widgets/util/qsystemtrayicon_qpa.cpp
index f98aeaf678..00c0734129 100644
--- a/src/widgets/util/qsystemtrayicon_qpa.cpp
+++ b/src/widgets/util/qsystemtrayicon_qpa.cpp
@@ -99,13 +99,18 @@ void QSystemTrayIconPrivate::updateIcon_sys()
void QSystemTrayIconPrivate::updateMenu_sys()
{
- if (qpa_sys && menu) {
- if (!menu->platformMenu()) {
- QPlatformMenu *platformMenu = qpa_sys->createMenu();
- if (platformMenu)
- menu->setPlatformMenu(platformMenu);
+ // Patch: Nice macOS tray icon support.
+ if (qpa_sys) {
+ if (menu) {
+ if (!menu->platformMenu()) {
+ QPlatformMenu *platformMenu = qpa_sys->createMenu();
+ if (platformMenu)
+ menu->setPlatformMenu(platformMenu);
+ }
+ qpa_sys->updateMenu(menu->platformMenu());
+ } else {
+ qpa_sys->updateMenu(0);
}
- qpa_sys->updateMenu(menu->platformMenu());
}
}
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index 75f30599be..980f2be1e9 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -1867,7 +1867,8 @@ void QWidgetLineControl::processKeyEvent(QKeyEvent* event)
if (unknown && !isReadOnly()) {
QString t = event->text();
- if (!t.isEmpty() && t.at(0).isPrint()) {
+ // Patch: Enable ZWJ and ZWNJ characters to be in text input.
+ if (!t.isEmpty() && (t.at(0).isPrint() || t.at(0).unicode() == 0x200C || t.at(0).unicode() == 0x200D)) {
insert(t);
#ifndef QT_NO_COMPLETER
complete(event->key());
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 96438a0bdf..b0b7206405 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -1342,7 +1342,8 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e)
process:
{
QString text = e->text();
- if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t'))) {
+ // Patch: Enable ZWJ and ZWNJ characters to be in text input.
+ if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t') || text.at(0).unicode() == 0x200C || text.at(0).unicode() == 0x200D)) {
if (overwriteMode
// no need to call deleteChar() if we have a selection, insertText
// does it already

View File

@@ -1,47 +0,0 @@
diff --git a/src/3rdparty/libwebp/src/dec/vp8l.c b/src/3rdparty/libwebp/src/dec/vp8l.c
index ea0254d..953ff01 100644
--- a/src/3rdparty/libwebp/src/dec/vp8l.c
+++ b/src/3rdparty/libwebp/src/dec/vp8l.c
@@ -12,7 +12,7 @@
// Authors: Vikas Arora (vikaas.arora@gmail.com)
// Jyrki Alakuijala (jyrki@google.com)
-#include <stdio.h>
+// Patch: Backport of a crash fix.
#include <stdlib.h>
#include "./alphai.h"
#include "./vp8li.h"
@@ -740,6 +740,10 @@ static int DecodeAlphaData(VP8LDecoder* const dec, uint8_t* const data,
const int len_code_limit = NUM_LITERAL_CODES + NUM_LENGTH_CODES;
const int mask = hdr->huffman_mask_;
assert(htree_group != NULL);
+
+ // Patch: Backport of a crash fix.
+ assert(pos < end);
+
assert(last_row <= height);
assert(Is8bOptimizable(hdr));
@@ -830,6 +834,10 @@ static int DecodeImageData(VP8LDecoder* const dec, uint32_t* const data,
(hdr->color_cache_size_ > 0) ? &hdr->color_cache_ : NULL;
const int mask = hdr->huffman_mask_;
assert(htree_group != NULL);
+
+ // Patch: Backport of a crash fix.
+ assert(src < src_end);
+
assert(src_last <= src_end);
while (!br->eos_ && src < src_last) {
@@ -1294,6 +1302,11 @@ int VP8LDecodeAlphaImageStream(ALPHDecoder* const alph_dec, int last_row) {
assert(dec->action_ == READ_DATA);
assert(last_row <= dec->height_);
+ // Patch: Backport of a crash fix.
+ if (dec->last_pixel_ == dec->width_ * dec->height_) {
+ return 1; // done
+ }
+
// Decode (with special row processing).
return alph_dec->use_8b_decode ?
DecodeAlphaData(dec, (uint8_t*)dec->pixels_, dec->width_, dec->height_,

View File

@@ -1,52 +0,0 @@
diff --git a/base/mac/scoped_nsobject.h b/base/mac/scoped_nsobject.h
index 2e157a4..5a306a1 100644
--- a/base/mac/scoped_nsobject.h
+++ b/base/mac/scoped_nsobject.h
@@ -11,6 +11,7 @@
#include "base/compiler_specific.h"
#include "base/mac/scoped_typeref.h"
+#include "base/template_util.h"
namespace base {
@@ -55,7 +56,7 @@ class scoped_nsobject : public scoped_nsprotocol<NST*> {
public:
using scoped_nsprotocol<NST*>::scoped_nsprotocol;
- static_assert(std::is_same<NST, NSAutoreleasePool>::value == false,
+ static_assert(is_same<NST, NSAutoreleasePool>::value == false,
"Use ScopedNSAutoreleasePool instead");
};
diff --git a/base/macros.h b/base/macros.h
index 5d96783..096704c 100644
--- a/base/macros.h
+++ b/base/macros.h
@@ -42,8 +42,9 @@ char (&ArraySizeHelper(const T (&array)[N]))[N];
template <typename Dest, typename Source>
inline Dest bit_cast(const Source& source) {
+#if __cplusplus >= 201103L
static_assert(sizeof(Dest) == sizeof(Source), "sizes must be equal");
-
+#endif
Dest dest;
memcpy(&dest, &source, sizeof(dest));
return dest;
diff --git a/build/common.gypi b/build/common.gypi
index 1affc70..6e8f292 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -66,6 +66,11 @@
'conditions': [
['clang!=0', {
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
+ 'conditions': [
+ ['mac_deployment_target=="10.8"', {
+ 'CLANG_CXX_LIBRARY': 'libc++', # force -stdlib=libc++ for 10.8
+ }]
+ ],
# Don't link in libarclite_macosx.a, see http://crbug.com/156530.
'CLANG_LINK_OBJC_RUNTIME': 'NO', # -fno-objc-link-runtime

View File

@@ -1,22 +0,0 @@
diff --git a/Alc/backends/winmm.c b/Alc/backends/winmm.c
index 9d8f8e9..8c8e44a 100644
--- a/Alc/backends/winmm.c
+++ b/Alc/backends/winmm.c
@@ -219,7 +219,7 @@ FORCE_ALIGN static int ALCwinmmPlayback_mixerProc(void *arg)
SetRTPriority();
althrd_setname(althrd_current(), MIXER_THREAD_NAME);
- while(GetMessage(&msg, NULL, 0, 0))
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
{
if(msg.message != WOM_DONE)
continue;
@@ -504,7 +504,7 @@ static int ALCwinmmCapture_captureProc(void *arg)
althrd_setname(althrd_current(), RECORD_THREAD_NAME);
- while(GetMessage(&msg, NULL, 0, 0))
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
{
if(msg.message != WIM_DATA)
continue;

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 B

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="212px" height="80px" viewBox="0 0 212 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>record_td_audio</title>
<g id="record_td_audio" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M43.7701975,66.2857143 C47.6576358,66.2857143 51.3477972,65.4403128 54.6671733,63.9231737 C63.7325049,59.7798145 70.032316,50.6262682 70.032316,40 C70.032316,25.4828009 58.2743651,13.7142857 43.7701975,13.7142857 C29.26603,13.7142857 17.508079,25.4828009 17.508079,40 C17.508079,54.5171992 29.26603,66.2857143 43.7701975,66.2857143 Z" id="Oval" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M125.220826,25.5238095 C126.482058,25.5238095 127.504488,26.5471587 127.504488,27.8095238 L127.504488,52.952381 C127.504488,54.2147459 126.482058,55.2380952 125.220826,55.2380952 C123.959594,55.2380952 122.937163,54.2147459 122.937163,52.952381 L122.937163,27.8095238 C122.937163,26.5471587 123.959594,25.5238095 125.220826,25.5238095 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M97.8168761,26.6666667 C99.0781079,26.6666667 100.100539,27.6900158 100.100539,28.952381 L100.100539,51.8095238 C100.100539,53.0718888 99.0781079,54.0952381 97.8168761,54.0952381 C96.5556444,54.0952381 95.5332136,53.0718888 95.5332136,51.8095238 L95.5332136,28.952381 C95.5332136,27.6900158 96.5556444,26.6666667 97.8168761,26.6666667 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M170.894075,26.6666667 C172.155307,26.6666667 173.177738,27.6900158 173.177738,28.952381 L173.177738,51.8095238 C173.177738,53.0718888 172.155307,54.0952381 170.894075,54.0952381 C169.632844,54.0952381 168.610413,53.0718888 168.610413,51.8095238 L168.610413,28.952381 C168.610413,27.6900158 169.632844,26.6666667 170.894075,26.6666667 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M106.951526,28.952381 C108.212758,28.952381 109.235189,29.9757301 109.235189,31.2380952 L109.235189,49.5238095 C109.235189,50.7861745 108.212758,51.8095238 106.951526,51.8095238 C105.690294,51.8095238 104.667864,50.7861745 104.667864,49.5238095 L104.667864,31.2380952 C104.667864,29.9757301 105.690294,28.952381 106.951526,28.952381 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M180.028725,28.952381 C181.289957,28.952381 182.312388,29.9757301 182.312388,31.2380952 L182.312388,49.5238095 C182.312388,50.7861745 181.289957,51.8095238 180.028725,51.8095238 C178.767494,51.8095238 177.745063,50.7861745 177.745063,49.5238095 L177.745063,31.2380952 C177.745063,29.9757301 178.767494,28.952381 180.028725,28.952381 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M134.355476,28.952381 C135.616708,28.952381 136.639138,29.9757301 136.639138,31.2380952 L136.639138,49.5238095 C136.639138,50.7861745 135.616708,51.8095238 134.355476,51.8095238 C133.094244,51.8095238 132.071813,50.7861745 132.071813,49.5238095 L132.071813,31.2380952 C132.071813,29.9757301 133.094244,28.952381 134.355476,28.952381 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M152.624776,30.0952381 C153.886007,30.0952381 154.908438,31.1185872 154.908438,32.3809524 L154.908438,48.3809524 C154.908438,49.6433173 153.886007,50.6666667 152.624776,50.6666667 C151.363544,50.6666667 150.341113,49.6433173 150.341113,48.3809524 L150.341113,32.3809524 C150.341113,31.1185872 151.363544,30.0952381 152.624776,30.0952381 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M88.6822262,32.3809524 C89.943458,32.3809524 90.9658887,33.4043015 90.9658887,34.6666667 L90.9658887,46.0952381 C90.9658887,47.357603 89.943458,48.3809524 88.6822262,48.3809524 C87.4209944,48.3809524 86.3985637,47.357603 86.3985637,46.0952381 L86.3985637,34.6666667 C86.3985637,33.4043015 87.4209944,32.3809524 88.6822262,32.3809524 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M161.759425,32.3809524 C163.020657,32.3809524 164.043088,33.4043015 164.043088,34.6666667 L164.043088,46.0952381 C164.043088,47.357603 163.020657,48.3809524 161.759425,48.3809524 C160.498194,48.3809524 159.475763,47.357603 159.475763,46.0952381 L159.475763,34.6666667 C159.475763,33.4043015 160.498194,32.3809524 161.759425,32.3809524 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M116.086176,32.3809524 C117.347408,32.3809524 118.369838,33.4043015 118.369838,34.6666667 L118.369838,46.0952381 C118.369838,47.357603 117.347408,48.3809524 116.086176,48.3809524 C114.824944,48.3809524 113.802513,47.357603 113.802513,46.0952381 L113.802513,34.6666667 C113.802513,33.4043015 114.824944,32.3809524 116.086176,32.3809524 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M189.163375,32.3809524 C190.424607,32.3809524 191.447038,33.4043015 191.447038,34.6666667 L191.447038,46.0952381 C191.447038,47.357603 190.424607,48.3809524 189.163375,48.3809524 C187.902143,48.3809524 186.879713,47.357603 186.879713,46.0952381 L186.879713,34.6666667 C186.879713,33.4043015 187.902143,32.3809524 189.163375,32.3809524 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M143.490126,32.3809524 C144.751357,32.3809524 145.773788,33.4043015 145.773788,34.6666667 L145.773788,46.0952381 C145.773788,47.357603 144.751357,48.3809524 143.490126,48.3809524 C142.228894,48.3809524 141.206463,47.357603 141.206463,46.0952381 L141.206463,34.6666667 C141.206463,33.4043015 142.228894,32.3809524 143.490126,32.3809524 Z" id="Path" fill="#37A8FF" fill-rule="nonzero"></path>
<path d="M43.6031289,49.3105246 L43.937266,49.3105246 C44.5887999,49.3105246 45.116973,49.8391722 45.116973,50.4912914 L45.116973,52.9144712 C45.116973,53.5665909 44.5887999,54.0952381 43.937266,54.0952381 L43.6031289,54.0952381 C42.9515951,54.0952381 42.423422,53.5665909 42.423422,52.9144712 L42.423422,50.4912914 C42.423422,49.8391722 42.9515951,49.3105246 43.6031289,49.3105246 Z" id="Rectangle" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M43.8481579,28.952381 C46.5276427,28.952381 48.6997943,31.1264842 48.6997943,33.8083764 L48.6997943,41.4774827 C48.6997943,44.1593749 46.5276427,46.3334781 43.8481579,46.3334781 C41.1686732,46.3334781 38.9965216,44.1593749 38.9965216,41.4774827 L38.9965216,33.8083764 C38.9965216,31.1264842 41.1686732,28.952381 43.8481579,28.952381 Z" id="Rectangle" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M35.016158,40.687141 C35.6155766,40.687141 36.1015014,41.1735025 36.1015014,41.7734594 C36.1015014,45.5539211 39.5589126,48.7799303 43.7701975,48.7799303 C48.0292505,48.7799303 51.4388937,45.7047695 51.4388937,41.9709718 C51.4388937,41.3710149 51.9248182,40.8846533 52.524237,40.8846533 C53.1236558,40.8846533 53.6095803,41.3710149 53.6095803,41.9709718 C53.6095803,46.9580564 49.1805897,50.9525672 43.7701975,50.9525672 C38.3927905,50.9525672 33.9308146,46.7892282 33.9308146,41.7734594 C33.9308146,41.1735025 34.4167394,40.687141 35.016158,40.687141 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="120px" height="77px" viewBox="0 0 120 77" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>record_td_landscape</title>
<g id="record_td_landscape" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M9.16666667,5.26258992 L88.0555555,5.26258992 C88.6692052,5.26258992 89.1666667,5.75844141 89.1666667,6.37010522 L89.1666667,70.6298949 C89.1666667,71.2415585 88.6692052,71.7374101 88.0555555,71.7374101 L9.16666667,71.7374101 C7.3257175,71.7374101 5.83333332,70.2498556 5.83333332,68.4148643 L5.83333332,8.58513578 C5.83333332,6.75014437 7.3257175,5.26258992 9.16666667,5.26258992 Z" id="Rectangle" fill="#0A9AD8" fill-rule="nonzero"></path>
<path d="M74.175461,39.4799628 C74.175461,39.4869105 74.817287,41.6527331 75.1547623,43.9104391 C75.473963,46.0458881 75.4898313,48.2806063 75.4898313,48.2674632 C75.5304818,49.6193866 75.5846828,51.4580021 72.725589,54.3511176 C72.7526893,54.3375982 72.5494363,54.5539059 71.0182628,55.8787906 C73.3353483,60.8403487 73.9857583,67.0758169 73.4166495,71.7669903 L21.8987622,71.7669903 C21.3161033,66.9541439 22.0207141,60.7457142 24.2971489,55.8652715 C24.2835987,55.8517521 22.8472767,54.5944637 22.8608269,54.6079829 C21.3296535,53.1208674 19.8120303,51.160579 19.8120303,49.0380595 C19.8120303,49.0317313 19.6476379,47.7958611 19.8540957,45.3139483 C20.0605534,42.8320357 21.6277581,37.9387704 21.7226095,37.5602319 C25.3676153,24.7034427 37.8338058,9.56190341 42.03437,10.5082496 C43.1183865,10.7515958 44.1888528,12.049442 45.1644678,13.9691729 C45.7606768,15.1859037 46.4788378,17.1597116 46.61434,17.5517693 C48.9991763,17.5247308 48.57912,17.5517693 48.7959233,17.5517693 C49.2701805,16.1592884 49.5953855,15.4022114 49.5818353,15.4157307 C50.2457955,13.8069421 51.655017,10.9003073 53.362343,10.5082496 C57.6984093,9.53486495 71.0453633,25.7444235 74.175461,39.4799628 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M40.5130087,14.8004607 C41.4545255,14.724296 42.3404242,15.2703395 43.2401358,16.2211174 C43.844097,16.9402459 44.1541125,17.3103582 44.1701823,17.3314543 C44.5770235,17.8655479 44.4723282,18.6271598 43.936339,19.0325621 C43.4003495,19.4379644 42.6360345,19.3336395 42.2291933,18.7995458 C41.986018,18.4899876 41.859044,18.3286785 41.8482713,18.3156185 L40.7542925,17.2813836 L40.7238148,17.2641429 L39.7325905,18.5678988 C39.670905,18.6704726 39.4567875,19.0863831 39.0902378,19.8156303 C38.8095898,20.4250562 38.0862888,20.6923879 37.4746997,20.4127325 C36.863111,20.133077 36.5948303,19.4123342 36.8754783,18.8029084 L37.1182785,18.2914213 C37.2236442,18.0768659 37.396533,17.7560017 37.636944,17.3288288 C38.5371665,15.8019494 39.4390397,14.8788265 40.5130087,14.8004607 Z" id="Path" fill="#CABCB4" fill-rule="nonzero"></path>
<path d="M64.4562625,57.51838 C65.0461218,57.1956882 65.7868188,57.4105788 66.110656,57.9983519 C66.434493,58.5861248 66.2188398,59.3242022 65.6289805,59.646894 C64.6740205,60.1693201 63.6660473,60.6703037 62.630571,61.1433322 C60.832103,61.9079537 59.9107008,62.2989963 59.8663643,62.3164596 L57.2760995,63.2679242 C57.0121855,63.3579578 55.7335118,63.7430351 53.4400788,64.4231557 C53.399373,64.4336807 52.6414868,64.6066673 51.1664195,64.9421162 C49.841893,65.1997916 48.6707235,65.3396191 47.739007,65.3396191 C46.6094163,65.3396191 45.1279263,65.1361679 43.4474528,64.7677954 L40.509949,64.0139408 C40.46734,64.0015585 39.4183938,63.6628116 37.3631103,62.9976998 C35.0519835,62.0964758 33.8524645,61.626955 33.7645538,61.5891375 L30.684499,60.1442387 C30.195084,59.8878868 29.8904378,59.7271255 29.7705605,59.6619556 C29.1798465,59.34082 28.962234,58.6033138 29.2845093,58.0146891 C29.6067845,57.4260642 30.3469085,57.2092215 30.9376225,57.5303569 C31.5036995,57.838099 32.0901055,58.1381032 32.690561,58.4288397 L35.6549235,59.7469342 C35.7178573,59.7726505 38.805909,60.9280903 38.8683885,60.9493811 L42.486846,62.0428091 C42.563244,62.0627458 43.520094,62.2726207 45.3573965,62.6724328 C46.2758583,62.8282629 47.0840855,62.9114246 47.739007,62.9114246 C48.3222293,62.9114246 49.0274493,62.8446472 49.8240148,62.7186528 C52.5754125,62.0856116 53.9708033,61.7634157 54.0101865,61.752065 L56.564689,60.9442341 L59.573909,59.8160545 C61.95057,58.7510394 63.4072285,58.0769116 63.943884,57.7936712 L64.2866305,57.610619 C64.343372,57.5799509 64.3999183,57.5492039 64.4562625,57.51838 Z" id="Path" fill="#CABCB4" fill-rule="nonzero"></path>
<path d="M46.885344,43.6844439 C47.8880595,45.090444 49.7308875,46.0773477 51.8989208,46.1990209 L51.8989208,46.8073862 C51.8989208,50.6468482 50.7607033,53.7562714 47.6848063,53.7562714 C44.64956,53.7562714 43.4977923,50.7009251 43.470692,46.9155401 C43.470692,46.3747708 43.470692,46.0458029 43.470692,45.9286363 C44.9341143,45.5365785 46.1400828,44.7389439 46.885344,43.6844439 Z" id="Path" fill="#F23C57" fill-rule="nonzero"></path>
<path d="M34.9609983,39.8510278 C35.6170285,39.7017956 36.270252,40.1107558 36.4200138,40.7644658 C36.7971668,42.4107383 37.729436,43.8209474 39.0211698,44.6728535 C41.5888978,46.3662851 44.882324,45.3493015 46.4210183,42.3125645 C46.7243048,41.7140047 47.4571178,41.4737684 48.057802,41.7759822 C48.6584865,42.0781957 48.8995753,42.8084171 48.5962888,43.406977 C46.4204265,47.7012159 41.5011325,49.2202545 37.6762575,46.6977268 C35.8447725,45.4898517 34.5567008,43.5414332 34.044318,41.304883 C33.8945563,40.6511732 34.304968,40.0002598 34.9609983,39.8510278 Z" id="Path" fill="#000000" fill-rule="nonzero"></path>
<path d="M58.312739,40.7644658 C58.4625008,40.1107558 59.1157243,39.7017956 59.7717545,39.8510278 C60.4277848,40.0002598 60.8381965,40.6511732 60.6884348,41.304883 C60.176052,43.5414332 58.8879803,45.4898517 57.0564953,46.6977268 C53.2316203,49.2202545 48.3123263,47.7012159 46.136464,43.406977 C45.8331778,42.8084171 46.0742665,42.0781957 46.6749508,41.7759822 C47.2756353,41.4737684 48.0084483,41.7140047 48.3117345,42.3125645 C49.850429,45.3493015 53.1438553,46.3662851 55.711583,44.6728535 C57.0033168,43.8209474 57.935586,42.4107383 58.312739,40.7644658 Z" id="Path-Copy" fill="#000000" fill-rule="nonzero"></path>
<path d="M47.468003,43.7250015 C49.3379315,43.7250015 51.9531215,40.9941167 51.9531215,38.6823283 C51.9531215,36.3705396 50.3270968,36.1271934 47.400252,36.1271934 C44.4734073,36.1271934 42.8473823,36.3705396 42.8473823,38.6823283 C42.8473823,40.9941167 45.5980745,43.7250015 47.468003,43.7250015 Z" id="Oval" fill="#000000" fill-rule="nonzero"></path>
<path d="M38.701019,30.4626353 C36.8310905,30.962847 35.7877245,33.125924 36.0316283,34.0317124 C36.275532,34.9375011 38.0641593,35.5458663 39.9340878,35.0456549 C41.8040165,34.5454432 43.023535,33.0177702 42.8067318,32.2201354 C42.5899285,31.4089815 40.5709475,29.9624239 38.701019,30.4626353 Z" id="Oval-Copy-3" fill="#000000" fill-rule="nonzero"></path>
<path d="M56.7227945,30.4626353 C58.592723,30.962847 59.636089,33.125924 59.3921852,34.0317124 C59.1482815,34.9375011 57.3596542,35.5458663 55.4897255,35.0456549 C53.619797,34.5454432 52.4002782,33.0177702 52.6170817,32.2201354 C52.833885,31.4225009 54.8393155,29.9624239 56.7227945,30.4626353 Z" id="Oval-Copy-4" fill="#000000" fill-rule="nonzero"></path>
<path d="M51.925176,16.3090342 C52.8606485,15.2995095 53.7683583,14.7222917 54.7250875,14.7997248 C55.7860473,14.8771785 56.6728375,15.7638522 57.5493765,17.2256689 C57.842431,17.7415165 58.055606,18.1375372 58.1889015,18.4137309 C58.2972335,18.6430962 58.3583273,18.772822 58.3721823,18.8029084 C58.6528303,19.4123342 58.3845498,20.133077 57.772961,20.4127325 C57.161372,20.6923879 56.438071,20.4250562 56.157423,19.8156303 L55.5096673,18.5588251 C55.2122455,18.0543638 54.5848463,17.3156962 54.5447338,17.2816756 C54.1999508,17.5123321 53.9414935,17.7180916 53.769362,17.8989543 L53.0184675,18.7995458 C52.6116263,19.3336395 51.847311,19.4379644 51.3113218,19.0325621 C50.7753325,18.6271598 50.6706373,17.8655479 51.0774785,17.3314543 L51.925176,16.3090342 Z" id="Path-Copy-2" fill="#CABCB4" fill-rule="nonzero"></path>
<path d="M39.0857368,32.8474823 C39.6149,32.3195282 39.7864885,31.6347423 39.4689905,31.31797 C39.1514925,31.0011978 38.4651378,31.1723942 37.935974,31.7003478 C37.4068108,32.2283019 37.2352223,32.9130876 37.5527203,33.2298598 C37.8702183,33.5466321 38.556573,33.3754357 39.0857368,32.8474823 Z" id="Oval-Copy-7" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M55.3486545,32.954987 C55.9763015,32.5483632 56.2868768,31.9141422 56.0423438,31.5384146 C55.7978105,31.1626872 55.0907685,31.1877336 54.463121,31.5943569 C53.835474,32.000981 53.5248988,32.6352021 53.7694318,33.0109294 C54.0139653,33.3866568 54.721007,33.3616106 55.3486545,32.954987 Z" id="Oval-Copy-8" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M91.9444445,5.26258992 L110.833333,5.26258992 C112.674283,5.26258992 114.166667,6.75014437 114.166667,8.58513578 L114.166667,25.2054344 C114.166667,25.8170983 113.669205,26.4142395 113.055556,26.4142395 L91.9444445,26.4142395 C91.3307948,26.4142395 90.8333333,25.8170983 90.8333333,25.2054344 L90.8333333,6.37010522 C90.8333333,5.75844141 91.3307948,5.26258992 91.9444445,5.26258992 Z" id="Rectangle" fill="#FFCA3D" fill-rule="nonzero"></path>
<path d="M103.2142,7.97411003 C107.632602,7.97411003 109.969538,10.9765406 110.178,14.3005289 C110.380517,17.5297332 110.201469,22.6688803 109.0483,26.4142395 L97.5363535,26.4142395 C96.9669115,23.4651448 96.2977453,19.3968245 96.3087163,16.4487992 C95.6055153,16.0427077 95.1394328,15.7437666 94.910469,15.5519759 C94.0706783,14.8485281 93.6948253,14.2919279 93.7565138,13.9735572 C94.0114313,12.6579448 95.058614,12.4439806 96.5508963,12.6122341 C97.3323058,10.02525 99.5632098,7.97411003 103.2142,7.97411003 Z" id="Path" fill="#4CBFEA" fill-rule="nonzero"></path>
<path d="M93.75,14.2803021 C94.7387305,14.2869003 100.665601,16.0421213 100.779908,16.0623312 C101.710781,16.2269147 102.358415,16.0406637 102.722809,15.5035784 L102.727941,15.8398107 C102.634666,22.8737477 102.587527,26.3985574 102.586524,26.4142395 L97.333057,26.4142395 C96.5029448,23.4278615 96.1931475,19.365188 96.204203,16.3958621 L96.1288678,16.3519496 C94.9332718,15.5938989 94.3316638,15.2114978 94.3240435,15.2047464 L94.2901418,15.1742545 C93.9997255,14.9090217 93.7985318,14.6182939 93.75,14.2803021 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M104.691488,12.1608256 C105.876093,12.443808 106.596703,13.5928637 106.301507,14.7272315 C106.249909,14.9255078 106.039995,15.0462441 105.83265,14.9969034 C105.625305,14.9475627 105.499047,14.7468294 105.550644,14.5485531 C105.742783,13.8102114 105.273946,13.0626231 104.503958,12.8786861 C103.734236,12.6948126 102.954477,13.1437115 102.762404,13.8817999 C102.710806,14.0800763 102.500892,14.2008125 102.293547,14.1514718 C102.086202,14.102131 101.959944,13.9013978 102.011541,13.7031214 C102.306804,12.5685003 103.506617,11.8777806 104.691488,12.1608256 Z" id="Path" fill="#000000" fill-rule="nonzero"></path>
<path d="M102.365249,14.9966072 C102.574812,15.0062043 102.737019,15.1861129 102.727547,15.3984443 C102.688118,16.2823197 101.977686,16.6059177 100.863027,16.4063951 C100.775397,16.3907082 100.39878,16.2862544 99.7331758,16.0930336 L98.4516848,15.6415518 C96.8548668,15.0830675 95.593332,14.7499239 94.0835805,14.562086 C93.875367,14.5361809 93.7273033,14.3441607 93.7528708,14.133197 C93.778438,13.9222333 93.967955,13.7722137 94.1761683,13.7981189 C95.681789,13.9854428 96.9471038,14.3108231 98.4958953,14.8433357 L99.9405645,15.3515853 C100.555982,15.5337867 100.907523,15.6327335 100.995189,15.6484258 C101.697446,15.77413 101.940227,15.6770468 101.966787,15.3910546 C102.092719,15.1216917 102.22554,14.9902092 102.365249,14.9966072 Z" id="Path" fill="#1683AC" fill-rule="nonzero"></path>
<path d="M105.342285,17.6077403 C105.449023,17.440419 105.661516,17.3862365 105.831012,17.4771775 L105.862251,17.4959374 L107.653171,18.6918577 C107.748825,18.7557323 107.810292,18.8601897 107.821629,18.975104 L107.82353,19.0137547 L107.82353,23.8401474 C107.82353,24.0842782 107.603986,24.2665628 107.370484,24.2163065 C104.918229,23.6885105 103.69853,21.5111838 103.69853,17.8178344 C103.69853,17.6055406 103.866738,17.4333981 104.074233,17.4333981 C104.281728,17.4333981 104.449937,17.6055406 104.449937,17.8178344 C104.449937,20.9087224 105.316738,22.7106219 107.040407,23.3266985 L107.071928,23.3375379 L107.071928,19.2215938 L105.451561,18.1397314 C105.288021,18.030525 105.235064,17.8131177 105.323949,17.6397028 L105.342285,17.6077403 Z" id="Path-11" fill="#1683AC" fill-rule="nonzero"></path>
<path d="M108.990216,13.783927 C108.786461,13.8348866 108.580611,13.7084298 108.530439,13.5014778 C108.471102,13.2567271 108.387979,13.0082108 108.282177,12.7603458 C108.048814,12.2136439 107.709765,11.6803939 107.28247,11.1972642 C106.855196,10.7141701 106.369777,10.3152109 105.860217,10.0218583 C105.629222,9.88887579 105.395234,9.77878492 105.162451,9.69316556 C104.965148,9.6205959 104.863122,9.39931123 104.934571,9.19891243 C105.00602,8.99851365 105.223887,8.89488767 105.42119,8.96745733 C105.694614,9.06802466 105.967329,9.19633622 106.234928,9.35039253 C106.816569,9.68524149 107.366171,10.1369525 107.847779,10.6814707 C108.32934,11.2259638 108.713115,11.8295599 108.979376,12.4533316 C109.101862,12.7402812 109.198668,13.0297058 109.268303,13.3169365 C109.318475,13.5238886 109.193972,13.7329673 108.990216,13.783927 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M91.9444445,27.9748202 L113.055556,27.9748202 C113.669205,27.9748202 114.166667,28.4706715 114.166667,29.0823353 L114.166667,47.9176647 C114.166667,48.5293285 113.669205,49.0251798 113.055556,49.0251798 L91.9444445,49.0251798 C91.3307948,49.0251798 90.8333333,48.5293285 90.8333333,47.9176647 L90.8333333,29.0823353 C90.8333333,28.4706715 91.3307948,27.9748202 91.9444445,27.9748202 Z" id="Rectangle-Copy-5" fill="#FE5BA3" fill-rule="nonzero"></path>
<path d="M91.9444445,50.6870504 L113.055556,50.6870504 C113.669205,50.6870504 114.166667,51.1829017 114.166667,51.7945656 L114.166667,68.4148643 C114.166667,70.2498556 112.674283,71.7374101 110.833333,71.7374101 L91.9444445,71.7374101 C91.3307948,71.7374101 90.8333333,71.2415585 90.8333333,70.6298949 L90.8333333,51.7945656 C90.8333333,51.1829017 91.3307948,50.6870504 91.9444445,50.6870504 Z" id="Rectangle-Copy-6" fill="#4DC17B" fill-rule="nonzero"></path>
<path d="M102.25,52.3300971 C104.064924,52.3300971 106.494853,54.4941995 107.590007,57.0290814 C108.926565,60.1227278 109.75,64.5446101 109.75,65.4829234 C109.75,65.8797612 109.465807,66.2975642 109.0014,66.7051419 L108.275763,67.2454656 C108.734593,68.2433846 108.946429,69.4043108 108.946429,70.6431768 C108.946429,70.9457113 108.926633,71.4749893 108.888273,71.7669903 L95.573462,71.7669903 C95.5351018,71.4749893 95.515306,70.9457113 95.515306,70.6431768 C95.515306,69.4347129 95.7168725,68.3004102 96.152671,67.3191466 L95.9808008,67.2012549 C95.2383448,66.6744278 94.75,66.0858807 94.75,65.4829234 C94.75,64.4035757 95.566779,60.0431632 96.8797585,57.0076953 C97.9738345,54.4783084 100.435077,52.3300971 102.25,52.3300971 Z" id="Path" fill="#112F40" fill-rule="nonzero"></path>
<path d="M102.261954,61.3438098 C102.88843,61.3438098 103.307995,61.2569433 103.656078,61.1556076 L104.289433,60.9572583 C104.533466,60.8877973 104.788283,60.8385647 105.118273,60.8439809 C106.72513,60.8703535 106.90094,64.5129651 106.889183,66.1986132 C106.880102,67.5004661 103.47449,68.664433 102.25,68.664433 C101.02551,68.664433 97.4285715,67.5004661 97.4285715,66.1425046 L97.4313878,65.7434914 C97.4548043,64.2006391 97.663843,60.8270556 99.4181933,60.8270556 C99.638903,60.8270556 99.8337898,60.8619881 100.028218,60.9136885 L100.872784,61.1693216 C101.231515,61.2652115 101.666038,61.3438098 102.261954,61.3438098 Z" id="Mask" fill="#000000" fill-rule="nonzero"></path>
<path d="M99.4181933,60.8270556 C99.638903,60.8270556 99.8337898,60.8619881 100.028218,60.9136885 L100.872784,61.1693216 C101.231515,61.2652115 101.666038,61.3438098 102.261954,61.3438098 C102.88843,61.3438098 103.307995,61.2569433 103.656078,61.1556076 L104.289433,60.9572583 C104.533466,60.8877973 104.788283,60.8385647 105.118273,60.8439809 C105.478219,60.8498884 105.766356,61.0372536 105.996662,61.343432 L105.933366,62.8865975 L105.655612,64.7457443 C104.975579,66.8910871 103.843542,67.5004661 102.269133,67.5004661 C100.694723,67.5004661 99.5723178,66.8910871 98.8922845,64.7457443 C98.8050003,64.2669887 98.7205035,63.6002265 98.638794,62.7454582 C98.6008363,62.3483809 98.5432378,61.2050488 98.5429283,61.1876999 C98.7804968,60.9609601 99.0686768,60.8270556 99.4181933,60.8270556 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M102.25,66.5692924 C103.348934,66.5692924 104.239796,65.4441246 104.239796,64.7845433 C104.239796,63.6702853 103.348934,63.4653808 102.25,63.4653808 C101.151066,63.4653808 100.260204,63.6702853 100.260204,64.7845433 C100.260204,65.4441246 101.151066,66.5692924 102.25,66.5692924 Z" id="Oval" fill="#0D222E" fill-rule="nonzero"></path>
<path d="M106.970793,67.8435271 C107.138274,67.750305 107.349413,67.8108706 107.442385,67.9788041 C107.535356,68.1467376 107.474953,68.3584457 107.307471,68.4516678 C106.903146,68.6767189 106.172738,69.0035268 105.116247,69.4320909 C105.016337,69.4679318 104.794238,69.5422161 104.44995,69.6549438 C103.576411,69.9255996 102.778547,70.0861309 102.251361,70.0861309 C101.929201,70.0861309 101.194351,69.9426061 100.046812,69.6555566 C99.1225755,69.3244815 98.6353858,69.1485422 98.585242,69.127739 C97.848853,68.7912533 97.379051,68.5668758 97.1758355,68.4546068 C97.00806,68.3619172 96.946989,68.1504017 97.0394295,67.9821739 C97.1318698,67.8139461 97.3428163,67.7527102 97.5105918,67.8454 C97.8941468,68.0573 98.3108265,68.25649 98.7360393,68.4368654 L100.819361,69.1536913 C101.397379,69.3047451 101.902378,69.3905734 102.251361,69.3905734 C102.600083,69.3905734 103.103441,69.304695 103.679035,69.1535076 L104.691113,68.8445846 C105.181443,68.6754929 106.875458,67.8965913 106.970793,67.8435271 Z" id="Path" fill="#000000" fill-rule="nonzero"></path>
<path d="M102.5,30.7446044 C106.745647,30.7446044 110.189142,34.0574222 110.189142,38.14695 C110.189142,39.9020569 109.555397,41.5155537 108.496201,42.7814621 C109.728237,44.1331949 110.277778,45.9869998 110.277778,48.0382003 C110.277778,48.3729151 110.255619,48.7033388 110.211301,49.0251798 L94.788699,49.0251798 C94.7443813,48.7033388 94.7222223,48.3729151 94.7222223,48.0382003 C94.7222223,45.9869998 95.2717633,44.1331949 96.5037988,42.7814621 C95.4446028,41.5155537 94.8108577,39.9020569 94.8108577,38.14695 C94.8108577,34.0574222 98.2543527,30.7446044 102.5,30.7446044 Z" id="Path" fill="#FFE934" fill-rule="nonzero"></path>
<path d="M107.08304,43.0985663 C107.263989,42.9842186 107.503676,43.0377353 107.618395,43.2180995 C107.733114,43.3984634 107.679423,43.6373747 107.498474,43.7517225 C107.057364,44.0304734 106.579716,44.273003 106.073054,44.4755372 C104.968595,44.9115697 103.752383,45.1421002 102.5,45.1421002 C101.247617,45.1421002 100.031405,44.9115697 98.9265333,44.4753737 C98.4237678,44.2762205 97.9495623,44.0348505 97.5015263,43.7517225 C97.3205768,43.6373747 97.2668863,43.3984634 97.3816053,43.2180995 C97.4963243,43.0377353 97.736011,42.9842186 97.9169605,43.0985663 C98.3242775,43.3559626 98.7553408,43.5753735 99.2126545,43.7565229 C100.226009,44.156588 101.345271,44.3687419 102.5,44.3687419 C103.65473,44.3687419 104.773991,44.156588 105.785799,43.7571371 C106.247296,43.5726538 106.682532,43.3516599 107.08304,43.0985663 Z" id="Path" fill="#FF9000" fill-rule="nonzero"></path>
<ellipse id="Oval" fill="#000000" fill-rule="nonzero" cx="99.4420703" cy="37.6534603" rx="1.17442228" ry="1.33027662"></ellipse>
<ellipse id="Oval-Copy-3" fill="#FFFFFF" fill-rule="nonzero" cx="99.1761633" cy="37.3316192" rx="1" ry="1"></ellipse>
<ellipse id="Oval-Copy-2" fill="#000000" fill-rule="nonzero" cx="105.55793" cy="37.6534603" rx="1.17442228" ry="1.33027662"></ellipse>
<path d="M102.544318,38.2542305 C103.204653,38.2542305 103.510446,38.5202856 103.763058,38.7949235 L103.794081,38.8292532 L103.896012,38.9451161 L103.927034,38.9794459 L103.958056,39.0094843 C104.144191,39.2111713 104.343622,39.3699462 104.698164,39.3699462 C105.863723,39.3699462 106.413264,39.7175347 106.426559,40.421294 L106.426559,40.4427501 L106.426559,40.4770797 C106.382241,41.6399989 104.281577,42.3137198 102.579772,42.3308846 L102.526591,42.3308846 L102.504432,42.3308846 L102.482273,42.3308846 C100.771605,42.3308846 98.6266223,41.6528727 98.5823045,40.4770797 L98.5823045,40.4427501 C98.5823045,39.721826 99.1362773,39.3699462 100.3107,39.3699462 C100.647515,39.3699462 100.842514,39.224045 101.019785,39.0395228 L101.050807,39.0094843 L101.08183,38.9794459 L101.112852,38.9451161 L101.214783,38.8292532 C101.219215,38.8249619 101.223647,38.8163795 101.228079,38.8120885 L101.259101,38.7777587 C101.507281,38.5117033 101.813074,38.2542305 102.460114,38.2542305 C102.473409,38.2542305 102.491137,38.2542305 102.504432,38.2542305 C102.513295,38.2542305 102.531023,38.2542305 102.544318,38.2542305 Z" id="Path" fill="#FF4B00" fill-rule="nonzero"></path>
<path d="M105.067531,40.1325146 C105.263202,40.0455276 105.492571,40.1331202 105.57984,40.3281582 C105.66711,40.5231962 105.579233,40.7518226 105.383562,40.8388097 C104.621871,41.1774248 103.668289,41.344375 102.522159,41.344375 C101.376029,41.344375 100.422447,41.1774248 99.6607563,40.8388097 C99.465085,40.7518226 99.377208,40.5231962 99.4644775,40.3281582 C99.551747,40.1331202 99.7811158,40.0455276 99.9767873,40.1325146 C100.629104,40.4225066 101.477361,40.5710167 102.522159,40.5710167 C103.566958,40.5710167 104.415214,40.4225066 105.067531,40.1325146 Z" id="Path" fill="#921000" fill-rule="nonzero"></path>
<ellipse id="Oval-Copy-4" fill="#FFFFFF" fill-rule="nonzero" cx="105.247705" cy="37.3316192" rx="1" ry="1"></ellipse>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="83px" height="120px" viewBox="0 0 83 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>record_td_portrait</title>
<g id="record_td_portrait" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M77,9.55160931 L77,84.7273399 C77,85.3811732 76.470394,86 75.8170923,86 L7.18290784,86 C6.52960589,86 6,85.3811732 6,84.7273399 L6,9.55160931 C6,7.59010964 7.58881763,6 9.5487235,6 L73.4512766,6 C75.4111823,6 77,7.59010964 77,9.55160931 Z" id="Rectangle" fill="#0A9AD8" fill-rule="nonzero"></path>
<path d="M77,89.8056802 L77,110.134529 C77,112.11582 75.7238703,114 73.7458927,114 L55.8305058,114 C55.1711798,114 55,112.66043 55,112 L55,89.5084229 C55,88.8479926 55.9805666,88 56.6398926,88 C57.0794432,88 63.57732,88 76.1335231,88 C76.7928488,88 77,89.14525 77,89.8056802 Z" id="Rectangle" fill="#FFCA3D" fill-rule="nonzero"></path>
<path d="M53,89.5047607 L53,111.526158 C53,112.186589 51.6593259,114 51,114 L32.3484913,114 C31.6891654,114 30,112.186589 30,111.526158 C30,97.0575332 30,89.7170673 30,89.5047607 C30,89.1863009 31.6615311,88 32.0029297,88 L51.1621094,88 C51.8214353,88 53,88.8443305 53,89.5047607 Z" id="Rectangle-Copy-5" fill="#FE5BA3" fill-rule="nonzero"></path>
<path d="M28,90 L28,112 C28,112.66043 26.6593259,114 26,114 L9,114 C7.02202225,114 6,113.11582 6,111.134529 L6,89.8056802 C6,89.14525 7.20715113,88 7.86647705,88 L26.1694942,88 C26.8288202,88 28,89.3395698 28,90 Z" id="Rectangle-Copy-6" fill="#4DC17B" fill-rule="nonzero"></path>
<path d="M41.3656958,92.5560538 C46.2043205,92.5560538 50.1287584,96.3592496 50.1287584,101.054127 C50.1287584,103.069033 49.4065002,104.921367 48.1993694,106.374661 C49.6034796,107.926483 50.2297735,110.054696 50.2297735,112.409524 C50.2297735,112.793785 50.2045197,113.630519 50.1540122,114 L32.5773794,114 C32.5268719,113.630519 32.5016181,112.793785 32.5016181,112.409524 C32.5016181,110.054696 33.1279119,107.926483 34.5320221,106.374661 C33.3248914,104.921367 32.6026332,103.069033 32.6026332,101.054127 C32.6026332,96.3592496 36.5270711,92.5560538 41.3656958,92.5560538 Z" id="Path" fill="#FFE934" fill-rule="nonzero"></path>
<path d="M35.5300673,106.874427 C35.6619508,106.666553 35.9370974,106.605129 36.1446243,106.737234 C36.6086526,107.032618 37.0997263,107.284407 37.6206979,107.492285 C38.7751269,107.951388 40.0502062,108.194849 41.3656958,108.194849 C42.6811854,108.194849 43.9562647,107.951388 45.1089166,107.492997 C45.6346668,107.281287 46.1304986,107.027678 46.5867673,106.737234 C46.7942941,106.605129 47.0694408,106.666553 47.2013243,106.874427 C47.3332078,107.082302 47.2718866,107.357909 47.0643598,107.490013 C46.5614652,107.810139 46.0169132,108.088667 45.4392689,108.321269 C44.1800966,108.822026 42.7935134,109.086778 41.3656958,109.086778 C39.9378782,109.086778 38.551295,108.822026 37.2916478,108.321079 C36.7184525,108.092363 36.1778208,107.815164 35.6670318,107.490013 C35.459505,107.357909 35.3981838,107.082302 35.5300673,106.874427 Z" id="Path" fill="#FF9000" fill-rule="nonzero"></path>
<ellipse id="Oval" fill="#000000" fill-rule="nonzero" cx="37.8806738" cy="100.487589" rx="1.33845047" ry="1.52719005"></ellipse>
<ellipse id="Oval-Copy-3" fill="#FFFFFF" fill-rule="nonzero" cx="37.5776284" cy="100.118108" rx="1" ry="1"></ellipse>
<ellipse id="Oval-Copy-2" fill="#000000" fill-rule="nonzero" cx="44.8507178" cy="100.487589" rx="1.33845047" ry="1.52719005"></ellipse>
<path d="M41.4162033,101.177288 C42.1687662,101.177288 42.5172681,101.482726 42.8051613,101.798017 L42.8405166,101.837428 L42.9566841,101.970442 L42.9920394,102.009853 L43.0273947,102.044338 C43.2395264,102.275879 43.4668104,102.458157 43.8708711,102.458157 C45.19922,102.458157 45.8255138,102.857197 45.840666,103.66513 L45.840666,103.689762 L45.840666,103.729173 C45.7901585,105.064233 43.3960998,105.837681 41.4566095,105.857387 L41.3960005,105.857387 L41.3707464,105.857387 L41.3454927,105.857387 C39.3959008,105.857387 36.9513346,105.079012 36.9008271,103.729173 L36.9008271,103.689762 C36.9008271,102.862123 37.5321716,102.458157 38.870622,102.458157 C39.2544796,102.458157 39.4767128,102.290659 39.6787431,102.078823 L39.7140984,102.044338 L39.7494537,102.009853 L39.784809,101.970442 L39.9009765,101.837428 C39.9060272,101.832502 39.9110778,101.822649 39.9161287,101.817722 L39.951484,101.778311 C40.2343263,101.472873 40.5828285,101.177288 41.3202389,101.177288 C41.3353911,101.177288 41.3555942,101.177288 41.3707464,101.177288 C41.380848,101.177288 41.4010511,101.177288 41.4162033,101.177288 Z" id="Path" fill="#FF4B00" fill-rule="nonzero"></path>
<path d="M44.2902005,103.331896 C44.514676,103.231372 44.7780041,103.33216 44.8783603,103.557011 C44.9787161,103.781863 44.8780973,104.045632 44.6536215,104.146156 C43.7850075,104.535136 42.6976887,104.726897 41.3909496,104.726897 C40.0842107,104.726897 38.9968916,104.535136 38.1282776,104.146156 C37.9038018,104.045632 37.803183,103.781863 37.9035388,103.557011 C38.003895,103.33216 38.2672231,103.231372 38.4916986,103.331896 C39.2345824,103.664572 40.2007594,103.834968 41.3909496,103.834968 C42.5811397,103.834968 43.5473167,103.664572 44.2902005,103.331896 Z" id="Path" fill="#921000" fill-rule="nonzero"></path>
<ellipse id="Oval-Copy-4" fill="#FFFFFF" fill-rule="nonzero" cx="44.4971649" cy="100.118108" rx="1" ry="1"></ellipse>
<path d="M70.8949759,50.0041797 C70.8949759,50.0120623 71.6193972,52.4693865 72.0003017,55.0309609 C72.36058,57.4538236 72.3784903,59.9893162 72.3784903,59.9744042 C72.4243721,61.5082851 72.4855479,63.5943627 69.2585219,66.8768674 C69.2891099,66.8615287 69.0597003,67.1069497 67.3314827,68.6101528 C69.9467501,74.2394949 70.6423464,80.6774339 70,86 L12,86 C11.3423596,80.5393847 12.0285146,74.1321234 14.5979003,68.5948138 C14.5826063,68.5794751 12.9614463,67.1529662 12.9767402,67.1683049 C11.2485225,65.4810361 9.53559871,63.256909 9.53559871,60.8487164 C9.53559871,60.8415363 9.35005086,59.4393285 9.58307734,56.6233709 C9.81610381,53.8074135 11.5849897,48.2555556 11.6920474,47.8260689 C15.8061233,33.2388635 29.8765688,16.0593993 34.6176969,17.1331158 C35.8412139,17.4092144 37.0494371,18.8817398 38.1506024,21.0598505 C38.8235366,22.4403431 39.6341168,24.679809 39.7870565,25.1246344 C42.4787938,25.0939568 42.0046808,25.1246344 42.2493842,25.1246344 C42.7846729,23.5447372 43.1517282,22.685764 43.1364342,22.7011028 C43.8858382,20.8757848 45.4764105,17.5779412 47.4034497,17.1331158 C52.2975175,16.0287217 67.3620705,34.4199517 70.8949759,50.0041797 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M32.9005543,22.0030227 C33.9632333,21.9166069 34.963137,22.5361432 35.978631,23.6148879 C36.6603151,24.4308051 37.0102259,24.8507314 37.0283637,24.8746668 C37.4875608,25.480645 37.3693925,26.3447635 36.7644275,26.8047296 C36.1594625,27.2646955 35.296789,27.1463295 34.8375919,26.5403512 C34.5631227,26.1891291 34.4198088,26.0061091 34.4076495,25.9912914 L33.1728885,24.8178571 L33.1384887,24.798296 L32.0197051,26.2775265 C31.9500815,26.3939059 31.7084094,26.8657945 31.2946888,27.6931921 C30.9779248,28.3846418 30.1615433,28.6879542 29.47125,28.3706594 C28.7809567,28.0533646 28.4781515,27.235616 28.7949158,26.5441664 L29.0689613,25.9638374 C29.1878866,25.7204046 29.3830239,25.3563548 29.6543732,24.871688 C30.6704437,23.1393033 31.6883779,22.0919358 32.9005543,22.0030227 Z" id="Path" fill="#CABCB4" fill-rule="nonzero"></path>
<path d="M59.9250284,70.470417 C60.5907959,70.1042935 61.4268122,70.3481069 61.7923232,71.0149891 C62.1578345,71.6818714 61.9144291,72.5192879 61.2486619,72.8854114 C60.1708094,73.4781517 59.0331217,74.0465634 57.8643917,74.5832575 C55.8344814,75.4507908 54.7945054,75.8944644 54.7444634,75.9142781 L51.8208614,76.9938019 C51.5229846,77.0959534 50.0797605,77.5328586 47.491189,78.304518 C47.4452449,78.3164594 46.5898273,78.5127288 44.9249362,78.893326 C43.4299582,79.1856826 42.1080728,79.3443299 41.0564553,79.3443299 C39.7814992,79.3443299 38.1093584,79.1134956 36.2126274,78.6955434 L32.8971008,77.8402262 C32.8490086,77.8261773 31.6650748,77.4418378 29.3453003,76.6872075 C26.736758,75.6646865 25.3828749,75.131972 25.2836511,75.0890648 L21.8072286,73.4496944 C21.2548316,73.1588395 20.910981,72.9764413 20.7756767,72.9025001 C20.1089447,72.5381424 19.863328,71.7013738 20.2270764,71.0335251 C20.5908248,70.3656764 21.4261942,70.1196484 22.0929262,70.4840061 C22.7318509,70.8331674 23.3937206,71.1735498 24.0714476,71.5034171 L27.4172895,72.9989161 C27.488322,73.0280935 30.9737702,74.3390457 31.0442904,74.3632022 L35.1284016,75.6037967 C35.2146311,75.6264167 36.2946166,75.8645387 38.3683587,76.3181626 C39.4050158,76.4949659 40.317253,76.5893204 41.0564553,76.5893204 C41.7147312,76.5893204 42.510705,76.5135554 43.4097792,76.3706031 C46.5152503,75.6523601 48.0902116,75.2867992 48.134663,75.2739207 L51.0179006,74.3573626 L54.4143724,73.0773393 C57.0968824,71.8689821 58.7409958,71.1041222 59.3467129,70.7827604 L59.7335668,70.5750708 C59.7976103,70.5402751 59.8614333,70.5053898 59.9250284,70.470417 Z" id="Path" fill="#CABCB4" fill-rule="nonzero"></path>
<path d="M40.0929357,54.7745486 C41.2246887,56.3697845 43.3046677,57.4895174 45.7517016,57.6275669 L45.7517016,58.3178131 C45.7517016,62.6740343 44.4670088,66.20196 40.9952794,66.20196 C37.5694319,66.20196 36.269445,62.7353895 36.238857,58.4405236 C36.238857,57.8269714 36.238857,57.453727 36.238857,57.3207907 C37.8906051,56.8759652 39.2517677,55.9709755 40.0929357,54.7745486 Z" id="Path" fill="#F23C57" fill-rule="nonzero"></path>
<path d="M26.6340641,50.4251868 C27.3745179,50.2558692 28.1118037,50.7198721 28.2808382,51.461566 C28.7065264,53.3294131 29.7587676,54.9294245 31.2167327,55.89599 C34.1148977,57.8173434 37.83215,56.6634823 39.5688565,53.2180259 C39.9111724,52.5389048 40.7382899,52.266335 41.4162753,52.6092239 C42.0942609,52.9521132 42.366375,53.7806161 42.0240593,54.459737 C39.5681884,59.3319447 34.0158382,61.0554331 29.6987457,58.1933943 C27.6315698,56.8229494 26.1777382,54.6122898 25.5994178,52.0747189 C25.4303833,51.333025 25.8936103,50.5945044 26.6340641,50.4251868 Z" id="Path" fill="#000000" fill-rule="nonzero"></path>
<path d="M52.9909044,51.461566 C53.1599388,50.7198721 53.8972246,50.2558692 54.6376784,50.4251868 C55.3781321,50.5945044 55.8413591,51.333025 55.6723247,52.0747189 C55.0940043,54.6122898 53.6401726,56.8229494 51.5729968,58.1933943 C47.2559044,61.0554331 41.7035539,59.3319447 39.2476833,54.459737 C38.9053676,53.7806161 39.1774816,52.9521132 39.855467,52.6092239 C40.5334526,52.266335 41.3605702,52.5389048 41.7028861,53.2180259 C43.4395926,56.6634823 47.1568449,57.8173434 50.0550098,55.89599 C51.5129747,54.9294245 52.5652162,53.3294131 52.9909044,51.461566 Z" id="Path-Copy" fill="#000000" fill-rule="nonzero"></path>
<path d="M40.7505761,54.8205651 C42.8611428,54.8205651 45.8128774,51.7221261 45.8128774,49.09919 C45.8128774,46.476254 43.9776021,46.2001555 40.6741062,46.2001555 C37.3706103,46.2001555 35.5353347,46.476254 35.5353347,49.09919 C35.5353347,51.7221261 38.6400091,54.8205651 40.7505761,54.8205651 Z" id="Oval" fill="#000000" fill-rule="nonzero"></path>
<path d="M30.8553824,39.7731952 C28.7448154,40.3407312 27.5671803,42.7949403 27.8424717,43.8226404 C28.1177631,44.8503404 30.1365662,45.5405868 32.2471329,44.9730509 C34.3576996,44.4055149 35.7341563,42.6722298 35.4894529,41.7672401 C35.2447496,40.8469117 32.9659491,39.2056593 30.8553824,39.7731952 Z" id="Oval-Copy-3" fill="#000000" fill-rule="nonzero"></path>
<path d="M51.1963522,39.7731952 C53.3069192,40.3407312 54.4845541,42.7949403 54.209263,43.8226404 C53.9339716,44.8503404 51.9151685,45.5405868 49.8046018,44.9730509 C47.6940348,44.4055149 46.3175784,42.6722298 46.5622817,41.7672401 C46.8069851,40.8622507 49.0704915,39.2056593 51.1963522,39.7731952 Z" id="Oval-Copy-4" fill="#000000" fill-rule="nonzero"></path>
<path d="M45.7813355,23.7146376 C46.8371928,22.5692392 47.8617144,21.9143328 48.9415635,22.0021877 C50.1390566,22.0900661 51.1399665,23.0960787 52.1293061,24.7546436 C52.4600732,25.3399201 52.7006813,25.7892418 52.8511305,26.1026089 C52.9734037,26.3628448 53.0423593,26.5100306 53.0579974,26.5441664 C53.3747617,27.235616 53.0719564,28.0533646 52.3816632,28.3706594 C51.6913699,28.6879542 50.8749883,28.3846418 50.5582241,27.6931921 L49.8271096,26.2672316 C49.491413,25.694874 48.783275,24.8567879 48.7380005,24.8181883 C48.3488479,25.0798893 48.05713,25.3133423 47.8628472,25.5185476 L47.0153213,26.5403512 C46.5561242,27.1463295 45.6934506,27.2646955 45.0884857,26.8047296 C44.4835207,26.3447635 44.3653523,25.480645 44.8245494,24.8746668 L45.7813355,23.7146376 Z" id="Path-Copy-2" fill="#CABCB4" fill-rule="nonzero"></path>
<path d="M31.2896089,42.4790225 C31.8868691,41.8800102 32.0805392,41.1030581 31.7221831,40.7436509 C31.3638265,40.3842439 30.5891458,40.5784819 29.9918848,41.1774934 C29.3946246,41.7765057 29.2009544,42.5534578 29.5593106,42.912865 C29.9176672,43.2722723 30.6923479,43.078034 31.2896089,42.4790225 Z" id="Oval-Copy-7" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M49.6453766,42.6009969 C50.3537945,42.1396445 50.7043371,41.4200626 50.4283355,40.9937656 C50.1523337,40.5674683 49.3543034,40.5958857 48.645885,41.0572372 C47.9374671,41.5185893 47.5869243,42.2381712 47.8629261,42.6644685 C48.138928,43.0907656 48.9369579,43.0623482 49.6453766,42.6009969 Z" id="Oval-Copy-8" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M66.9321135,93.0941704 C71.9620717,93.0941704 74.6224662,96.5136105 74.8597814,100.299269 C75.0903297,103.97698 74.8864994,109.734446 73.5737187,114 L60.4683894,114 C59.8201299,110.641304 59.0583435,106.103392 59.0708333,102.745914 C58.2703012,102.28342 57.7397077,101.942959 57.4790528,101.724531 C56.5230255,100.92338 56.0951503,100.289474 56.1653772,99.9268843 C56.4555779,98.4285457 57.6477029,98.1848639 59.3465338,98.3764862 C60.236099,95.4301945 62.7757854,93.0941704 66.9321135,93.0941704 Z" id="Path" fill="#4CBFEA" fill-rule="nonzero"></path>
<path d="M56.1519564,100.373352 C57.2689339,100.380813 63.9645721,102.365468 64.0937051,102.38832 C65.1453207,102.574417 65.8769584,102.36382 66.288618,101.756529 L66.2944157,102.136712 C66.1890419,109.90225 66.1357887,113.793885 66.134656,113.811617 L60.1997673,113.811617 C59.2619825,110.434873 58.9120016,106.12291 58.9244911,102.765448 L58.8393841,102.715796 C57.488709,101.858656 56.8090672,101.426269 56.8004585,101.418636 L56.7621593,101.384158 C56.4340734,101.084255 56.2067832,100.755525 56.1519564,100.373352 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M68.5645035,97.8576051 C69.8975496,98.1911701 70.7084588,99.5456177 70.3762719,100.882752 C70.3182089,101.11647 70.0819904,101.258787 69.8486634,101.200627 C69.6153362,101.142467 69.4732566,100.905853 69.5313195,100.672135 C69.7475348,99.8018158 69.2199484,98.9205974 68.3534746,98.7037819 C67.4872995,98.4870414 66.6098296,99.0161801 66.3936885,99.8862008 C66.3356256,100.119919 66.099407,100.262236 65.8660801,100.204076 C65.6327528,100.145916 65.4906732,99.9093016 65.5487362,99.6755836 C65.8809975,98.338151 67.2311585,97.5239664 68.5645035,97.8576051 Z" id="Path" fill="#000000" fill-rule="nonzero"></path>
<path d="M65.9592058,101.164067 C66.1994035,101.174942 66.3853214,101.378802 66.3744647,101.619402 C66.3292722,102.620952 65.5149871,102.987632 64.2373853,102.761546 C64.1369462,102.743771 63.7052745,102.62541 62.9423702,102.406465 L61.4735479,101.894876 C59.6433036,101.262038 58.1973547,100.884541 56.4669046,100.671696 C56.2282541,100.642342 56.058546,100.424757 56.0878509,100.185707 C56.1171558,99.9466569 56.3343767,99.7766645 56.5730272,99.8060185 C58.2987428,100.018282 59.7490241,100.386981 61.5242211,100.99039 L63.1800754,101.566305 C63.8854556,101.772763 64.2883865,101.884883 64.3888678,101.902665 C65.1937817,102.045105 65.4720533,101.935096 65.5024952,101.611029 C65.646837,101.305804 65.7990738,101.156817 65.9592058,101.164067 Z" id="Path" fill="#1683AC" fill-rule="nonzero"></path>
<path d="M69.2123975,104.194477 C69.3360842,104.004652 69.5823186,103.943183 69.7787275,104.046354 L69.8149281,104.067637 L71.8902236,105.4244 C72.0010659,105.496865 72.0722933,105.615371 72.0854302,105.74574 L72.0876325,105.789589 L72.0876325,111.265095 C72.0876325,111.542059 71.8332283,111.748859 71.5626492,111.691844 C68.7210066,111.093063 67.3076337,108.622903 67.3076337,104.432827 C67.3076337,104.191981 67.5025513,103.996687 67.7429945,103.996687 C67.9834375,103.996687 68.178355,104.191981 68.178355,104.432827 C68.178355,107.939415 69.1827936,109.983657 71.1801596,110.682591 L71.2166861,110.694888 L71.2166861,106.025381 L69.3390246,104.798017 C69.1495176,104.674123 69.0881505,104.427476 69.1911501,104.230738 L69.2123975,104.194477 Z" id="Path-11" fill="#1683AC" fill-rule="nonzero"></path>
<path d="M73.5439784,99.765205 C73.3105091,99.8227905 73.0746408,99.6798917 73.0171516,99.4460314 C72.9491623,99.169458 72.8539178,98.8886295 72.7326859,98.6085366 C72.4652919,97.9907521 72.0768,97.3881683 71.5871927,96.8422213 C71.097609,96.2963169 70.5414024,95.8454825 69.9575326,95.5139879 C69.6928528,95.3637148 69.4247424,95.2393098 69.1580126,95.142558 C68.9319365,95.0605528 68.8150327,94.8104965 68.8969008,94.5840417 C68.9787689,94.3575869 69.2284071,94.2404874 69.4544833,94.3224926 C69.7677806,94.4361358 70.0802649,94.5811305 70.3868886,94.7552174 C71.0533499,95.1336038 71.6831002,95.6440466 72.2349403,96.2593639 C72.7867267,96.8746526 73.226468,97.5567291 73.5315572,98.2616042 C73.6719056,98.5858633 73.7828282,98.9129193 73.8626181,99.2374959 C73.9201076,99.4713562 73.7774475,99.7076196 73.5439784,99.765205 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M17.0566343,91.2107623 C19.1691504,91.2107623 21.9975154,93.7271446 23.2722409,96.6746631 C24.8279544,100.271904 25.7864078,105.413595 25.7864078,106.50465 C25.7864078,106.966087 25.4556152,107.451901 24.9150599,107.925826 L24.0704404,108.554105 C24.6045043,109.714469 24.8510749,111.064375 24.8510749,112.504907 C24.8510749,112.85669 24.8280333,113.660466 24.7833831,114 L9.28534584,114 C9.24069562,113.660466 9.21765404,112.85669 9.21765404,112.504907 C9.21765404,111.099726 9.45227133,109.780777 9.95952763,108.63978 L9.75947568,108.502698 C8.8952793,107.890112 8.32686084,107.205759 8.32686084,106.50465 C8.32686084,105.249603 9.2775668,100.179388 10.8058353,96.649796 C12.0793069,93.7086667 14.9441182,91.2107623 17.0566343,91.2107623 Z" id="Path" fill="#112F40" fill-rule="nonzero"></path>
<path d="M17.0705483,101.691758 C17.7997477,101.691758 18.2881087,101.590751 18.6932669,101.472919 L19.4304722,101.242282 C19.7145196,101.161514 20.0111192,101.104267 20.3952178,101.110565 C22.2655508,101.141231 22.4701879,105.376799 22.4565026,107.336843 C22.4459332,108.850616 18.4819034,110.204057 17.0566343,110.204057 C15.6313652,110.204057 11.4446371,108.850616 11.4446371,107.271601 L11.4479151,106.807635 C11.4751714,105.013632 11.7184861,101.090885 13.7604969,101.090885 C14.0173964,101.090885 14.2442386,101.131504 14.4705466,101.19162 L15.4535958,101.488866 C15.8711487,101.600365 16.3769196,101.691758 17.0705483,101.691758 Z" id="Mask" fill="#000000" fill-rule="nonzero"></path>
<path d="M13.7604969,101.090885 C14.0173964,101.090885 14.2442386,101.131504 14.4705466,101.19162 L15.4535958,101.488866 C15.8711487,101.600365 16.3769196,101.691758 17.0705483,101.691758 C17.7997477,101.691758 18.2881087,101.590751 18.6932669,101.472919 L19.4304722,101.242282 C19.7145196,101.161514 20.0111192,101.104267 20.3952178,101.110565 C20.814183,101.117434 21.149566,101.3353 21.4176357,101.691319 L21.343961,103.485686 L21.0206641,105.647471 C20.229126,108.14204 18.9114691,108.850616 17.0789041,108.850616 C15.2463391,108.850616 13.939893,108.14204 13.1483549,105.647471 C13.0467586,105.090782 12.9484068,104.315482 12.8532995,103.321572 C12.809118,102.859857 12.7420749,101.530409 12.7417149,101.510236 C13.0182372,101.246586 13.3536701,101.090885 13.7604969,101.090885 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M17.0566343,107.767862 C18.3357602,107.767862 19.3726967,106.459536 19.3726967,105.692586 C19.3726967,104.396945 18.3357602,104.158685 17.0566343,104.158685 C15.7775084,104.158685 14.740572,104.396945 14.740572,105.692586 C14.740572,106.459536 15.7775084,107.767862 17.0566343,107.767862 Z" id="Oval" fill="#0D222E" fill-rule="nonzero"></path>
<path d="M22.5514943,109.249521 C22.746438,109.141124 22.9921973,109.211549 23.100413,109.406819 C23.2086287,109.602089 23.1383217,109.84826 22.943378,109.956657 C22.472756,110.218343 21.6225831,110.59835 20.3928594,111.096677 C20.2765672,111.138352 20.0180506,111.224729 19.6173098,111.355806 C18.6005361,111.670521 17.6718474,111.857184 17.0582185,111.857184 C16.6832333,111.857184 15.8278904,111.690295 14.4921899,111.356519 C13.4164068,110.97155 12.8493324,110.766971 12.7909667,110.742782 C11.9338323,110.351522 11.3869967,110.090619 11.15046,109.960075 C10.9551746,109.852297 10.8840897,109.60635 10.9916875,109.410737 C11.0992853,109.215125 11.3448207,109.143921 11.5401061,109.251699 C11.9865528,109.498093 12.4715555,109.729708 12.9664902,109.939445 L15.3914133,110.772958 C16.0642095,110.948601 16.6520132,111.048401 17.0582185,111.048401 C17.4641206,111.048401 18.0500138,110.948543 18.7199873,110.772745 L19.8980163,110.413534 C20.4687448,110.216917 22.4405277,109.311223 22.5514943,109.249521 Z" id="Path" fill="#000000" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 594 KiB

View File

@@ -291,6 +291,8 @@ div.selected {
.default .text {
word-wrap: break-word;
line-height: 150%;
unicode-bidi: plaintext;
text-align: start;
}
.default .reply_to,
.default .media_wrap {
@@ -529,3 +531,16 @@ div.toast_shown {
background-image: url(../images/media_video@2x.png)
}
}
.spoiler {
background: #e8e8e8;
}
.spoiler.hidden {
background: #a9a9a9;
cursor: pointer;
border-radius: 3px;
}
.spoiler.hidden span {
opacity: 0;
user-select: none;
}

View File

@@ -52,6 +52,12 @@ function ShowMentionName() {
return false;
}
function ShowSpoiler(target) {
if (target.classList.contains("hidden")) {
target.classList.toggle("hidden");
}
}
function AddClass(element, name) {
var current = element.className;
var expression = new RegExp('(^|\\s)' + name + '(\\s|$)', 'g');

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 991 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 B

Some files were not shown because too many files have changed in this diff Show More