Compare commits

...

864 Commits

Author SHA1 Message Date
John Preston
d3159d86da Version 1.5.12: Fix manual loading GIFs to cache. 2019-02-09 18:00:48 +03:00
John Preston
f9e1513491 Version 1.5.12.
- Apply blur effects to backgrounds.
- Use the backgrounds you set in Telegram Desktop
in all other Telegram apps.
2019-02-09 16:46:43 +03:00
John Preston
b6e37b7730 Allow removing cloud wallpapers. 2019-02-09 16:36:07 +03:00
John Preston
f9d56eb4c1 Send installWallPaper requests. 2019-02-08 19:47:02 +03:00
John Preston
95565c39ed Upload wallpapers to the cloud. 2019-02-08 19:20:08 +03:00
John Preston
890aacaeee Allow to blur wallpapers from file. 2019-02-08 16:55:02 +03:00
John Preston
e2f0886950 Add option to blur chat background. 2019-02-07 19:36:30 +03:00
John Preston
fe21b5a502 Support blurred backgrounds. 2019-02-06 17:38:37 +03:00
John Preston
e7043c4d63 Show patterns with colors in galery. 2019-02-05 12:32:54 +03:00
John Preston
aae2101131 Sort backgrounds in the gallery. 2019-02-04 21:37:40 +03:00
John Preston
64afed0fb2 Fix crash for videos without thumbnails. 2019-02-04 19:04:36 +03:00
John Preston
4d9464ed87 Remove flags checking for backgrounds.
Also limit image size to 2960px.

Fixes #5641.
2019-02-04 18:53:00 +03:00
John Preston
b43191506a Fix preview of color-only backgrounds.
Regression was introduced in f506a5ea6c.
2019-02-04 18:03:31 +03:00
John Preston
c47781c25a Version 1.5.11.
- Bug fixes and other minor improvements.
2019-02-01 15:51:46 +03:00
John Preston
f0c4868b3e Ignore default banned rights for channel admins.
Fixes #5640.
2019-02-01 15:50:57 +03:00
John Preston
35e5c2329b Fix wall paper preview on Retina. 2019-02-01 15:41:43 +03:00
John Preston
74fc5524ab Fix dock and menu hiding on macOS.
Regression was introduced in 0681d10c51.
2019-02-01 15:41:43 +03:00
John Preston
2d4c99a6f7 Fix build for old OS X versions. 2019-02-01 13:23:35 +03:00
John Preston
69c73d0a2c Version 1.5.10.
- Bug fixes and other minor improvements.
2019-02-01 12:51:02 +03:00
John Preston
58510e0208 Improve chat list bot icon layout. 2019-02-01 12:50:30 +03:00
Jiachen YANG
0681d10c51 fixing mediaview fullscreen on X11 2019-02-01 12:38:32 +03:00
John Zimmermann
add2356c8a Generalize Unity Integration to not depend on libunity 2019-02-01 12:34:55 +03:00
John Preston
c66b2b2291 Fix setting offline on quit. 2019-02-01 12:23:37 +03:00
23rd
769923c6cc Fixed a keeping online status after application quit.
Fixes https://github.com/telegramdesktop/tdesktop/issues/5528.
2019-02-01 11:52:25 +03:00
23rd
27528d084f Added shortcuts to skip months in CalendarBox. 2019-02-01 11:49:14 +03:00
23rd
299aa69058 Added an icon for bots in the dialog list.
Fixes https://github.com/telegramdesktop/tdesktop/issues/1894 .
2019-02-01 11:48:45 +03:00
John Preston
d1cc09f40e Destroy layers in reverse order. 2019-02-01 11:47:30 +03:00
John Preston
a133b43eed Fix crash in dual background box show. 2019-02-01 11:32:34 +03:00
John Preston
9b57725b8c Fix bad function call in data export cancel. 2019-02-01 11:17:23 +03:00
John Preston
34b0f6f014 Fix crash in group migration. 2019-02-01 11:09:14 +03:00
John Preston
f5cc93ec64 Decouple MTP::Instance from Core::App. 2019-02-01 10:48:31 +03:00
John Preston
4f3263d979 Fix crash in MediaView with thumbless GIFs. 2019-02-01 10:28:04 +03:00
John Preston
b28e374e06 Fix Media::Audio::Instance destruction. 2019-02-01 10:09:55 +03:00
John Preston
918d58ef0a Better check unique results in support mode. 2019-02-01 09:53:15 +03:00
John Preston
5a388d9dde Improve Poland number formatting. 2019-02-01 09:18:31 +03:00
John Preston
0f4909621b Version 1.5.9.
- Bug fixes and other minor improvements.
2019-01-31 20:34:19 +03:00
John Preston
55d3d8adc3 Allow to delete users from exceptions. 2019-01-31 20:31:44 +03:00
John Preston
d2d6a6daa4 Fix proxy sponsor messages search display. 2019-01-31 15:56:57 +03:00
John Preston
a7f4ac2797 Search by hashtag inside groups. 2019-01-31 15:51:19 +03:00
John Preston
25b5027dc7 Only creator can restrict in old groups. 2019-01-31 15:20:15 +03:00
John Preston
93a967dc74 Add random_padding to dns requests. 2019-01-31 13:48:10 +03:00
John Preston
3cfc3dcecf Mark even more extensions as executables. 2019-01-30 17:59:55 +03:00
John Preston
e09510ea9f Fix crash in update checker destruction. 2019-01-30 17:58:23 +03:00
John Preston
4c289fc8fb Fix add members button in channels. 2019-01-30 13:49:36 +03:00
John Preston
58cf0fa2b1 Display date in background preview. 2019-01-29 20:03:51 +03:00
John Preston
5ca12a73c3 Use new HistoryWallPaper media type for wallpaper. 2019-01-29 19:26:19 +03:00
John Preston
fd8e9dad92 Fix pattern wallpapers with themes. 2019-01-29 14:52:33 +03:00
John Preston
df0fe0a460 Closed alpha version 1.5.8.2. 2019-01-29 14:52:33 +03:00
John Preston
646d15b257 Add LSFileQuarantineEnabled to the .plist 2019-01-29 14:52:33 +03:00
John Preston
2eb6848eb8 Fix background preview on retina screens. 2019-01-29 14:52:33 +03:00
John Preston
9b3c103f16 Backport patch for Mojave accessibility access request. 2019-01-29 14:52:33 +03:00
John Preston
6a2a13d346 Closed alpha version 1.5.8.1. 2019-01-29 14:52:33 +03:00
John Preston
b6edf4561d Add support for pattern wallpapers. 2019-01-29 14:52:33 +03:00
John Preston
c2744700c0 Mark more extensions as executables. 2019-01-29 14:52:33 +03:00
John Preston
f506a5ea6c Save wallpaper settings locally. 2019-01-29 14:52:33 +03:00
John Preston
2f702148e3 Fix manage channel actions visibility.
Fixes #5601.
2019-01-29 14:52:33 +03:00
John Preston
e10c928207 Update API scheme to layer 95. 2019-01-29 14:52:33 +03:00
John Preston
a1baa23a52 Use both thumbnails in photos and documents.
Fixes #5602.
2019-01-28 13:10:45 +03:00
John Preston
a70e72f75d Application->Sandbox, Messenger->Application. 2019-01-23 12:51:58 +04:00
John Preston
4111da1dd0 Move some calls from App namespace. 2019-01-22 17:10:01 +04:00
John Preston
e7804d014d Share background from preview. 2019-01-22 17:10:00 +04:00
John Preston
bf87de3706 Fix removing chats from dialogs. 2019-01-22 17:05:06 +04:00
John Preston
ebc2043055 Improve empty group display. 2019-01-22 11:50:21 +04:00
John Preston
69b1f6c4e1 Version 1.5.8.
- Global permissions for groups. Restrict all members in any group
from posting certain types of content.
- Unified group settings. Make groups public,
set admins with granular permissions and toggle persistent history
in just a few clicks in any group.
- Choose the emoji set you would like to use in Chat Settings.
- Choose input and output devices for Telegram Calls
in Settings > Advanced > Call Settings.
- Support for automatically downloading files and music.
2019-01-21 21:28:45 +04:00
John Preston
2708777167 Closed alpha version 1.5.7.2. 2019-01-21 18:06:20 +04:00
John Preston
6e0d62bb65 Re-apply document thumb only for stickers. 2019-01-21 17:43:24 +04:00
John Preston
6d706fd222 Improve unacessible permissions design. 2019-01-21 17:43:24 +04:00
John Preston
6066265717 Fix emoji suggestions in monospace. 2019-01-21 11:02:20 +04:00
John Preston
805e4d01e7 Allow re-downloading failed media. 2019-01-21 10:49:44 +04:00
John Preston
e209299af4 Fix invite link block visibility. 2019-01-21 10:40:25 +04:00
John Preston
b3f0a3c9f5 Make audio device selection box wider. 2019-01-21 10:37:31 +04:00
John Preston
1da8841ac7 fixup use Text 2019-01-21 10:37:20 +04:00
John Preston
7df5df6351 Improve phrases for removed users. 2019-01-21 10:26:19 +04:00
John Preston
bf85b0c109 Closed alpha version 1.5.7.1. 2019-01-18 16:41:08 +04:00
John Preston
314e30272b Replace SingleTimer with base::Timer. 2019-01-18 16:41:08 +04:00
John Preston
61b9a32504 Add 'Contact joined' notifications setting. 2019-01-18 16:41:08 +04:00
John Preston
01b7d4ffba Use Text to display empty group state. 2019-01-18 16:41:07 +04:00
John Preston
8643972f8c Send thumbs only for big files. 2019-01-18 16:41:07 +04:00
John Preston
1894b8fcf7 Handle t.me/bg links with wallpapers / colors. 2019-01-18 16:41:07 +04:00
John Preston
e59a68cd68 Refresh wallpaper file references. 2019-01-17 12:21:31 +04:00
John Preston
466c6da5e3 Save wallpaper information. 2019-01-17 12:21:31 +04:00
John Preston
b8cb792831 Read background image async. 2019-01-17 12:21:31 +04:00
John Preston
0f9c2a62fe Load fullres images of new wallpapers. 2019-01-17 12:21:31 +04:00
John Preston
04350af96f Use one place for saving restrictions. 2019-01-17 12:21:31 +04:00
John Preston
287b3509ab Optimize getPeerDialog requests. 2019-01-17 12:21:31 +04:00
John Preston
2a5bcd3eec Support empty group placeholder for creators. 2019-01-17 12:21:31 +04:00
John Preston
2a0b9a44dd Remove supergroup migrate messages. 2019-01-17 12:21:31 +04:00
John Preston
c552db04d7 Use 'exception' and 'remove user' phrases. 2019-01-17 12:21:30 +04:00
John Preston
22f1ffc72b Use different phrases for default restrictions. 2019-01-17 12:21:30 +04:00
John Preston
4f33be20d4 Add user to group on appointing of admin. 2019-01-17 12:21:30 +04:00
John Preston
9728ddeaf9 Handle migration to supergroups in boxes. 2019-01-17 12:21:30 +04:00
John Preston
3c44bdb6b7 Support auto-migrate to supergroups. 2019-01-17 12:21:30 +04:00
John Preston
b236844c94 Fix crash in admin log events. 2019-01-17 12:21:30 +04:00
John Preston
67d12fa6d2 Improve update handling for legacy chats. 2019-01-17 12:21:30 +04:00
John Preston
215856adc3 Improve AddSpecial box for legacy groups. 2019-01-17 12:21:30 +04:00
John Preston
07e010dfb5 Save admins in legacy groups. 2019-01-17 12:21:30 +04:00
John Preston
dba9ca2084 Replace TLHelp helpers with .match() 2019-01-17 12:21:30 +04:00
John Preston
9a60e744d3 Unify permissions checks in participants boxes. 2019-01-17 12:21:30 +04:00
John Preston
e1a2ab0d7e Log only source base name in assertions. 2019-01-17 12:21:30 +04:00
John Preston
a605c110a8 Support legacy groups in participant boxes. 2019-01-17 12:21:29 +04:00
John Preston
18c6be0d3b Unify legacy and megagroups information edit. 2019-01-17 12:21:29 +04:00
John Preston
ff728e2fc1 Add default permissions changes to admin log. 2019-01-17 12:21:29 +04:00
John Preston
eff90395b6 Add EditPeerPermissionsBox. 2019-01-17 12:21:29 +04:00
John Preston
f4d52b82b4 Allow reusing permissions edit controls. 2019-01-17 12:21:29 +04:00
John Preston
61419b57c8 Prepare legacy group restrictions checking. 2019-01-17 12:21:29 +04:00
John Preston
441989a8e1 Remove EditChannelBox. 2019-01-17 12:21:29 +04:00
John Preston
c5a41e1f55 Divide data/data_peer and remove from PCH. 2019-01-17 12:21:29 +04:00
John Preston
0ce4d66601 Rename restrictionReason to unavailableReason. 2019-01-17 12:21:28 +04:00
John Preston
d2d6b319b6 Update API scheme to layer 93. Broken. 2019-01-17 12:21:28 +04:00
John Preston
47edb71a68 Update API scheme to layer 92. 2019-01-17 12:21:28 +04:00
John Preston
1f8626b383 Move App::histories to Data::Session. 2019-01-17 12:21:28 +04:00
John Preston
0d6a36e187 Fix volume widget position.
Fixes #5467.
2019-01-17 12:20:50 +04:00
John Preston
548a0c8517 Fix MTP logging. 2019-01-17 12:20:50 +04:00
John Preston
09d85e25c1 Fix possible crash in SendFilesBox. 2019-01-17 12:20:50 +04:00
John Preston
51b5b14dea Beta version 1.5.7.
- Choose the emoji set you would like to use
in Settings > Chat Settings.
- Choose input and output devices for Telegram Calls
in Settings > Adavanced > Call Settings.
2019-01-11 17:31:36 +04:00
John Preston
0d290a2c28 Fix emoji icon in theme preview.
Fixes #5561.
2019-01-11 17:30:57 +04:00
John Preston
c1b3d589c7 Fix elision in document extension in MediaView.
Fixes #5555.
2019-01-11 17:30:57 +04:00
John Preston
65430d92ea Refactor calls settings panel. 2019-01-11 17:30:57 +04:00
John Preston
8711830f66 Move calls settings to Settings > Advanced.
Also add calls settings button to the calls list box.
2019-01-11 17:30:57 +04:00
John Preston
c4d919d46b Improve emoji quality while creating cache. 2019-01-11 17:30:57 +04:00
John Preston
3e7a688811 Fix tray icon counter on Linux.
Fixes #5525.
2019-01-11 17:30:57 +04:00
John Preston
2773a675d0 Improve sticker set download phrase. 2019-01-11 17:30:57 +04:00
John Preston
9bbdccc111 Postpone sticker send from StickerSetBox.
Fixes #5539.
2019-01-11 17:30:57 +04:00
John Preston
bb8defeb42 Improve change emoji set box design. 2019-01-11 17:30:57 +04:00
John Preston
545dbd0791 Return sticker-related context menu actions.
Regression was introduced in 3e22ada889.
2019-01-11 17:30:57 +04:00
John Preston
c7469075ab Closed beta version 1.5.6.1: Fix build in GCC. 2019-01-11 17:30:57 +04:00
John Preston
54fa974789 Closed beta version 1.5.6.1. 2019-01-11 17:30:57 +04:00
John Preston
2cd3cec478 Go through open history in support mode. 2019-01-11 17:30:00 +04:00
John Preston
c11b977f1d Fix lagging chat list update in support. 2019-01-11 17:30:00 +04:00
John Preston
30e8f17b37 [all] / [one from chat] in support search results. 2019-01-11 17:30:00 +04:00
John Preston
2c3190ce2a Hide LoadMore button in search mode. 2019-01-11 17:30:00 +04:00
John Preston
ea7796dccc Ctrl+[1-5] jump to the relevant pinned chat. 2019-01-11 17:30:00 +04:00
John Preston
a11ca58f36 Fix Ctrl+Insert in hashtag search results. 2019-01-11 17:30:00 +04:00
John Preston
496d711684 Improve support shortcuts handling. 2019-01-11 17:30:00 +04:00
John Preston
219b824338 Refresh filtered results on more dialogs. 2019-01-11 17:30:00 +04:00
John Preston
df389a365c Display emoji set loading radial animation. 2019-01-11 17:30:00 +04:00
John Preston
aa2c52c1f8 Unpack and prepare emoji asynchronously. 2019-01-11 17:30:00 +04:00
John Preston
f48ae29f22 Load emoji sets from the cloud. 2019-01-11 17:30:00 +04:00
John Preston
de00e0e15c Add simple switch emoji set box. 2019-01-11 17:30:00 +04:00
John Preston
79fea49272 Add updating emoji on the run. 2019-01-11 17:30:00 +04:00
John Preston
8190b10680 Support custom emoji sets loading. 2019-01-11 17:30:00 +04:00
Omkar Nath Singh
1ebd9562a2 Update copyright year (#5559) 2019-01-07 11:36:54 +04:00
John Preston
ebaf63393f Fix build for old OS X and MacAppStore. 2019-01-06 15:22:18 +04:00
John Preston
7c168740d9 Update instructions for Xcode 10.1. 2019-01-05 16:34:34 +04:00
Gregory K
11b991cddc Add call settings (#5540) 2019-01-05 15:08:02 +04:00
John Preston
8306e58b75 Fix build in Xcode / GCC. 2018-12-28 19:41:06 +04:00
John Preston
4002739682 Suggest adding bots to channels as admins. 2018-12-28 15:42:58 +04:00
John Preston
c259921269 Use qualified names for App::main and App::wnd. 2018-12-28 11:14:00 +04:00
John Preston
2eb3041c1f Beta version 1.5.6.
- Fix crash on macOS.
2018-12-27 19:55:36 +04:00
John Preston
d539d9b5d2 Fix postponed calls from crl::on_main() on macOS.
In libdispatch crl::on_main() implementation we bypass Application::notify() frame.
So we handle event loop nesting control manually by wrapping all invokations done
through crl::on_main() with the same methods we do from Application::notify().
2018-12-27 13:34:12 +04:00
John Preston
d17c985bcb Beta version 1.5.5.
- Support for auto-download of files and music.
- Improved auto-download settings.
2018-12-27 09:26:19 +04:00
John Preston
e2668e7cfa Default auto-download 8 MB files. 2018-12-27 09:24:46 +04:00
Omkar Nath Singh
18c2c61bee Update Ubuntu support version (#5372) 2018-12-26 15:09:20 +03:00
23rd
be0b0c1984 Fixed an editing of unsupported messages. 2018-12-26 15:10:56 +04:00
John Preston
b00ca217b3 Don't autoread mentions with voice/video messages.
Voice/video message unread flag is the same that mention unread flag.
If we mark such mentions as read together with all others we mark
media as watched/listened instantly when they appear on the screen.

So now we mark as read only simple mentions, without "unread" media.
2018-12-26 14:30:55 +04:00
John Preston
874d76b16b Ignore activations from ~PopupMenu in file dialog event loops. 2018-12-26 13:54:49 +04:00
John Preston
cfac261516 Create Application before ConcurrentTimerEnvironment.
Fixes #5498.
2018-12-26 13:02:43 +04:00
John Preston
7b5e5c2587 Move caption to the next album item on cancel.
After #4869 albums are sent with captions in the first media.
In case we cancel the first media leaving the rest of the album
the caption will be lost unless we move it to the new "first" media.
2018-12-26 11:24:12 +04:00
John Preston
db064381d9 Re-update libtgvoip.
The submodule was rolled back in 0b87db8b45.
2018-12-26 11:20:01 +04:00
John Preston
096c310e0e Display consistent caption/comment placeholder.
After latest PRs regarding sticker sending with comment (#5500)
and album sending with caption (#4869) the input field placeholder
in SendFilesBox was inconsistent with the sending behaviour. Fix it.
2018-12-26 10:53:21 +04:00
udf
0b87db8b45 Ignore only empty drafts while sending with clear_draft (#5424) 2018-12-26 10:52:48 +04:00
John Preston
71cf4a4885 Change default autodownload settings. 2018-12-26 09:58:27 +04:00
John Preston
a0c6104fae Redesign auto download box. 2018-12-25 22:15:22 +04:00
John Preston
8e54ac4dcf Rename autolock_box module to auto_lock_box. 2018-12-25 22:15:22 +04:00
John Preston
97b0288c7d Add automatic loading of videos/files. 2018-12-25 22:15:22 +04:00
John Preston
e3cc8652e4 New structs for media autodownload settings. 2018-12-25 22:15:22 +04:00
John Preston
8708a001c7 Always display nice percent values.
Sum of percent values should never exceed 100%. If any two answers
received same amount of votes, they should show same percent values.
This way sum could be less than 100% (three answers, one vote each),
but this looks better than giving extra vote to some random answer.
2018-12-25 22:12:35 +04:00
John Preston
6fc4facddf Improve updates sending script. 2018-12-25 19:42:02 +04:00
John Preston
e5536880fb Improve mouse/keyboard selection interactions.
Fixes #5458.
2018-12-25 16:41:40 +04:00
John Preston
44ff8f92ac Fix crash with invalid custom langpacks. 2018-12-25 15:22:25 +04:00
John Preston
95208267de Fix applying langpacks from file. 2018-12-25 15:22:01 +04:00
John Preston
9c579e0d5b Fix crash in wrong confirm email button. 2018-12-25 14:53:47 +04:00
John Preston
d1be4c6d96 Fix crash with event loop nesting. 2018-12-25 14:11:10 +04:00
John Preston
a65afdac95 Fix crash in RevokePublicLinkBox. 2018-12-25 12:48:12 +04:00
John Preston
22b47925d4 Fix assertion violation in calls. 2018-12-25 12:21:00 +04:00
John Preston
f291e365e5 Add slide animations in CreatePollBox. 2018-12-25 11:41:22 +04:00
John Preston
6f176803d4 Reload poll data each 30 seconds without update. 2018-12-24 21:03:53 +04:00
John Preston
b6a3bb4080 Allow closing CreatePollBox by escape. 2018-12-24 17:13:44 +04:00
23rd
c7c1deab81 Add caption to first item of album istead of sending separated message. 2018-12-24 17:12:18 +04:00
RMPR
2ded5870b5 Update supported Fedora version (#5502) 2018-12-24 17:03:40 +04:00
John Preston
57f2ae098f Show exact option votes count in a tooltip.
Fixes #5505.
2018-12-24 14:24:16 +04:00
John Preston
76c06923d5 Add ripple animation to poll voting. 2018-12-24 14:03:13 +04:00
John Preston
fb7ac874f0 Show poll question in pinned bar. 2018-12-24 13:25:02 +04:00
John Preston
12905f0dcb Version 1.5.4: Fix build in Xcode. 2018-12-24 12:16:05 +04:00
John Preston
68a313a58f Version 1.5.4.
- Bug fixes and other minor improvements.
2018-12-23 21:37:26 +04:00
John Preston
152115bf2e Disable multiline poll options. 2018-12-23 21:28:12 +04:00
John Preston
8bd3051224 Fix crop photo box title. 2018-12-23 21:23:36 +04:00
John Preston
aa94ca6619 Fix stuck inline mode.
Regression was introduced in 017ec87d60.

Fixes #5503.
2018-12-23 20:57:34 +04:00
John Preston
e397f72eb2 Lock poll creating.
Fixes #5504.
2018-12-23 20:47:00 +04:00
John Preston
4d495b8d7c Fix votes count in RTL languages. 2018-12-23 20:42:32 +04:00
John Preston
a142a2717c Fix no votes label. 2018-12-23 20:37:32 +04:00
John Preston
de4a477686 Mark event loop nesting more carefully.
Fixes #5506. I hope fixes #5508.
2018-12-23 16:08:48 +04:00
John Preston
4e692e2c1e Version 1.5.3: Fix build for GCC. 2018-12-23 01:31:12 +04:00
John Preston
8237e6f7a3 Version 1.5.3.
- Create polls in groups and channels - right from the chat menu.
2018-12-23 00:30:55 +04:00
23rd
d1a9f1feac Fixed caption when sending single WEBP as file. 2018-12-23 00:27:36 +04:00
John Preston
ef1d38462f Simplest polls data export. 2018-12-23 00:23:19 +04:00
John Preston
93c8e9aa1f Add poll vote sending animation. 2018-12-22 23:32:04 +04:00
John Preston
ac2dce4bb1 Fix polls percent display. 2018-12-22 22:48:25 +04:00
John Preston
f2e1d90c74 Add send vote / retract vote animation. 2018-12-22 22:36:00 +04:00
John Preston
8e28a229f2 Improve polls design. 2018-12-22 14:23:22 +04:00
John Preston
363f6cb329 Add question / options length warnings. 2018-12-22 10:29:03 +04:00
John Preston
b6f7832745 Add create poll box from groups three-dot menu. 2018-12-22 10:29:03 +04:00
John Preston
74c1db740d Implement polls voting and actions. 2018-12-21 17:09:33 +04:00
John Preston
4bb5dcf50c Simplest poll layout. 2018-12-21 17:09:32 +04:00
John Preston
b0d01389c6 Add .terminal extension as executable on macOS. 2018-12-21 17:09:32 +04:00
John Preston
3e22ada889 Remove HistoryMediaType type-tag. 2018-12-21 17:09:32 +04:00
John Preston
6d08394adc Divide history_media_types to several modules. 2018-12-21 17:09:31 +04:00
John Preston
47bdeeef9a Poll data and updates handling added. 2018-12-21 17:09:31 +04:00
John Preston
099440d008 Add test poll sending code. 2018-12-21 17:09:30 +04:00
John Preston
eb7201a55b Strictly match message / media types. 2018-12-21 17:09:30 +04:00
John Preston
6d9f40db30 Update API scheme to layer 91. 2018-12-21 17:09:30 +04:00
John Preston
7960706e60 Update API scheme to layer 90. 2018-12-17 11:01:30 +04:00
John Preston
8b0e54a95c Fix macOS main menu items. 2018-12-17 10:45:48 +04:00
John Preston
89e8f0ccc3 Fix pt-br FAQ link. 2018-12-17 10:12:44 +04:00
John Preston
0f67f75bed Version 1.5.2: Fix unread mentions in workmode. 2018-12-13 16:31:03 +04:00
John Preston
4836173fe6 Version 1.5.2: Fix video message duration. 2018-12-13 15:33:38 +04:00
John Preston
7378ad00b0 Version 1.5.2.
- Bug fixes and other minor improvements.
2018-12-13 12:59:48 +04:00
John Preston
e876c9b6a6 Disable support shortcuts when not support mode.
Fixes #5453.
2018-12-13 12:48:31 +04:00
John Preston
980d20473a Fix building Qt and openal-soft for OS X 10.6/7. 2018-12-12 21:44:49 +04:00
John Preston
22511270dd Fix building openal-soft on Xcode. 2018-12-12 17:59:26 +04:00
John Preston
89cf733d24 Add Ui::PostponeCall() on return to event loop. 2018-12-12 14:14:28 +04:00
John Preston
a167a8587b Fix crash in main menu right button click.
Fixes #5462.
2018-12-12 09:47:24 +04:00
John Preston
ffbd488e93 Clone nimf plugin in Travis Qt build. 2018-12-11 17:39:24 +04:00
John Preston
fa3117e41e Version 1.5.1: Fix build for Xcode. 2018-12-11 17:21:47 +04:00
John Preston
4be335b8ac Version 1.5.1.
- Bug fixes and other minor improvements.
2018-12-11 17:13:47 +04:00
John Preston
3904a9f9a0 Add guard in layers destruction. 2018-12-11 17:12:35 +04:00
John Preston
b683d84df1 Report memory usage in MB. 2018-12-11 16:26:33 +04:00
John Preston
3ad29f6eb7 Fix crash in media preview. 2018-12-11 16:22:27 +04:00
John Preston
cf227490d7 Fix using of base langpack for custom languages. 2018-12-11 16:00:24 +04:00
John Preston
ffd6f7b326 Fix some more missing emoji display.
Fixes #5388.
2018-12-11 15:59:45 +04:00
John Preston
ec2a1b3ddb Fix some missing emoji display. 2018-12-11 11:17:19 +04:00
John Preston
60711471fc Return VB script for UWP version preparing. 2018-12-10 21:41:44 +04:00
John Preston
92738b378c Version 1.5: Fix calls. 2018-12-10 19:37:52 +04:00
John Preston
c5e9c03de9 Version 1.5.
- Support for custom languages. Crowdsource a cloud-based
language pack for Telegram in any language using our
Translations platform - then apply it in real time.
- Interface scaling for large screens, up to 300%
(up to 150% for macOS retina screens).
- 'Count unread messages' setting for the Badge counter
in Settings > Notifications. Disable to show number of unread chats.
- Video messages displayed in shared media (under voice messages).
- Updated emoji. Farewell to question marks!

Also in this update:
- Listen to voice and video messages in 2X mode if you're in a hurry.
- Add a comment when sharing posts from channels.
- View all photos and videos in Twitter and Instagram link previews.
- Add emoji to media captions.
2018-12-10 17:32:24 +04:00
John Preston
6637e5b8e3 Revert "Disable custom languages for now."
This reverts commit 679347309e.
2018-12-07 20:25:18 +04:00
John Preston
b75442a10e No warning from verified peers. 2018-12-07 20:19:47 +04:00
John Preston
811bef41b8 Add caption limit check to updates posting. 2018-12-07 20:19:47 +04:00
John Preston
65242a503b Remove test code for other emoji font. 2018-12-07 20:19:47 +04:00
John Preston
77058b84cd Fix scroll style in local storage box. 2018-12-06 12:56:13 +04:00
5HARK
673962d6a1 Add nimf inputcontext plugin for linux version (#5050) 2018-12-06 11:30:08 +04:00
John Preston
c207f68fd9 Build nimf input method plugin with Qt. 2018-12-06 11:28:24 +04:00
Anton Skorochod
4416dab6c1 Allow UnityCounters for KDE5 resolves #4554 2018-12-06 10:57:07 +04:00
John Preston
f59e824ec1 Possibly fix a crash in image loader. 2018-12-05 15:50:41 +04:00
John Preston
310c68a744 Disable DemiBold fallback for Semibold.
This reverts changes from commit 089c4ceb30.

There were complaints that Persian font becomes unreadable :(
2018-12-05 14:51:47 +04:00
John Preston
2d1971123a Always add 'Saved messages' to index. 2018-12-05 14:41:54 +04:00
John Preston
efe3dfad5c Fix crash in radiobutton destruction.
It crashed if the button was destroyed from group _changedCallback.
2018-12-05 13:55:59 +04:00
John Preston
b10ccce44a Warn before running executable files. 2018-12-05 12:30:05 +04:00
John Preston
edadc51e05 Fix possible crash in dialogs saved peers. 2018-12-05 12:30:05 +04:00
John Preston
0e38671224 Log Qt fatal message to crash report. 2018-12-05 12:30:05 +04:00
John Preston
910b2f2b74 Use upstream range-v3 in Appveyor build.
It still fails because it uses 15.8 toolchain. Will be fixed on 15.9.
2018-12-05 12:29:16 +04:00
John Preston
57387903fd Beta version 1.4.8.
- Add emoji to media captions.
- Switch off the 'Count unread messages' option
in Settings > Notifications if you want to see
the unread chats count in the badge instead.
2018-12-04 20:15:54 +04:00
23rd
8b1ac9fa6e Fixed skipping message with MediaWebPage on KeyUp. 2018-12-04 20:01:17 +04:00
23rd
ad8c0737d6 Refactored key handler in mediaview.cpp.
Refactored key handler in mediaview.cpp.
2018-12-04 19:23:08 +04:00
Jonathan de Jong
87d4d46ce7 Add IDs to JSON exports (#5426)
* Added IDs to various JSON objects.

Including an `_id` addition inside chat message, which get appended to `actor` or `from` entries.
2018-12-04 19:22:17 +04:00
John Preston
61add763ae Restart instead of Unblock for bots. 2018-12-04 15:46:07 +04:00
John Preston
6562a1f6af Add 'Count unread messages' option. 2018-12-04 14:32:48 +04:00
John Preston
71efd10c83 Fix crash on layer -> section migration. 2018-12-04 14:32:47 +04:00
John Preston
679347309e Disable custom languages for now. 2018-12-04 14:32:47 +04:00
John Preston
c8a05137f4 Fix mime type usage for some MP3 files.
They had "audio/mpeg3" instead of "audio/mp3". Fixes #5392.
2018-12-04 14:32:47 +04:00
John Preston
f56d80236e Ignore inline bot with overlapping markdown. 2018-12-04 14:32:47 +04:00
John Preston
1b19e870c0 Fix crash in channel setup box. 2018-12-04 14:32:46 +04:00
John Preston
684ce09bb5 Add some automation for updates posting. 2018-12-04 14:32:46 +04:00
John Preston
9f08faf263 Closed alpha version 1.4.7.6. 2018-12-03 19:33:35 +04:00
John Preston
3bd0efa91e Use 1.7x instead of 2x in voice messages. 2018-12-03 19:33:34 +04:00
John Preston
679330c1c0 Update download icons. 2018-12-03 19:33:34 +04:00
John Preston
47d5e54c48 Fix t.me/username links with upper-case letters. 2018-11-30 13:25:08 +04:00
John Preston
03b0c0cff4 Fix crash in forwarding box. 2018-11-30 09:45:22 +04:00
John Preston
776dd8b928 Closed alpha 1.4.7.5: Fix build on Xcode. 2018-11-29 16:53:54 +04:00
John Preston
c2a2f8dabd Closed alpha version 1.4.7.5. 2018-11-29 16:33:40 +04:00
John Preston
393244d44b Update libopus to 1.3. 2018-11-29 16:33:01 +04:00
John Preston
e6b9caac61 Update libtgvoip. 2018-11-29 16:15:22 +04:00
John Preston
81c4166389 Use CodeBlocks+Makefiles in cmake on Linux.
It gives the files layout in the Qt Creator.
2018-11-29 15:43:31 +04:00
John Preston
0b619e50ba HistoryHider moved to Window namespace. 2018-11-28 15:48:35 +04:00
John Preston
59ecf375b0 Move tg:// handlers to a separate module.
Also move joinGroupByHash and stickerSetBox from MainWidget.
2018-11-26 17:31:13 +04:00
John Preston
338129faea Destroy boxes in Ui::hideLayer(). 2018-11-26 15:00:31 +04:00
John Preston
151a64f817 Close mediaview on confirm link box.
Fixes #5420.
2018-11-26 11:41:27 +04:00
John Preston
3461f3dfc7 Destroy file loaders not delayed. 2018-11-26 11:33:29 +04:00
John Preston
23dc9ef494 Destroy layers not delayed. 2018-11-26 11:33:29 +04:00
John Preston
2fc5b69465 Fix auto word wrap in intro description. 2018-11-26 11:32:53 +04:00
John Preston
f8fc554f78 Closed alpha version 1.4.7.4. 2018-11-23 19:04:14 +04:00
John Preston
3f58c930e3 Use separate download folder for support. 2018-11-22 17:15:52 +04:00
John Preston
7705999e57 Don't occupy bot chats in support mode. 2018-11-22 17:00:14 +04:00
John Preston
0a754b8982 Adding emoji in SendFilesBox and EditCaptionBox. 2018-11-22 16:48:50 +04:00
John Preston
8d3f5820ca Allow TabbedSelector with only emoji. 2018-11-22 14:30:48 +04:00
John Preston
ef4f0168f8 Remove Qt MOC dependency for tabbed selector. 2018-11-22 10:50:41 +04:00
John Preston
9f5b09c263 Add emoji autocomplete to all fields. 2018-11-21 14:09:46 +04:00
John Preston
a1c61daea6 Add contact opens chat in support mode. 2018-11-21 10:51:49 +04:00
John Preston
90c1c21646 Fix switching between hashtag results. 2018-11-21 10:43:49 +04:00
John Preston
bf9069524a Allow long support user information. 2018-11-21 10:43:35 +04:00
John Preston
905376de1d By default load messages for the last week. 2018-11-21 10:43:07 +04:00
John Preston
6fa556e8ea Closed alpha version 1.4.7.3. 2018-11-20 19:50:36 +04:00
John Preston
9a8ab84ecb Add edit / view of user information for support. 2018-11-20 19:50:36 +04:00
John Preston
5e1b8212b2 Show tsfname in occupied chats. 2018-11-20 19:50:36 +04:00
John Preston
7ca821f38c Leave chats search query in support mode. 2018-11-20 19:50:36 +04:00
John Preston
5c718c7c9a Improve support template ordering. 2018-11-20 19:50:36 +04:00
John Preston
7e104805c0 Handle AUTH_KEY_UNREGISTERED on password submit. 2018-11-20 19:50:36 +04:00
John Preston
21fab77c4b Add support for incomplete login attempts. 2018-11-20 19:50:36 +04:00
John Preston
770f4a78aa Allow '-' character in code inputs. 2018-11-20 19:38:40 +04:00
John Preston
c522e047c6 Fix crash in support switches. 2018-11-20 19:38:40 +04:00
John Preston
92f6949ecc Closed alpha version 1.4.7.2. 2018-11-20 19:38:40 +04:00
John Preston
478eeea73e Add custom Qt message handler for crashes. 2018-11-20 19:38:40 +04:00
John Preston
163ee73719 Fix switch to prev/next in Support. 2018-11-20 19:38:40 +04:00
John Preston
479a6d9ad2 Add some more shortcuts for Support. 2018-11-20 19:38:40 +04:00
John Preston
b3ffbeb63e Improve code for Shortcuts handling. 2018-11-20 19:38:40 +04:00
John Preston
8a3615281c Support structured bindings in base::flat_map. 2018-11-20 19:38:40 +04:00
John Preston
d6b4448d3c Show reload toast inside Support::Templates. 2018-11-20 19:38:40 +04:00
John Preston
123523ef62 Separate some lang phrases. 2018-11-20 19:38:39 +04:00
John Preston
4960e08a24 Display occupied chats using drafts for support. 2018-11-20 19:38:39 +04:00
John Preston
60103f7ad6 Use upstream range-v3 on MSVC.
The build works using MSVS 15.9 and latest range-v3 code.
2018-11-20 19:38:39 +04:00
John Preston
d3a261de89 Scroll to cursor after template replacement. 2018-11-20 19:38:39 +04:00
John Preston
ecce1edded Unify version format in MainMenu / About. 2018-11-20 19:38:39 +04:00
John Preston
fb8eafab81 Fix migrating from legacy lang storage. 2018-11-20 19:38:39 +04:00
John Preston
a6de296703 Closed alpha version 1.4.7.1. 2018-11-20 19:38:39 +04:00
John Preston
be3e43e6cb Confirm 2sv recovery email by code. 2018-11-20 19:38:39 +04:00
John Preston
93678a07a8 Use API-provided translations link. 2018-11-20 19:38:39 +04:00
John Preston
155b8f1c45 Update API scheme to layer 89. 2018-11-20 19:38:39 +04:00
John Preston
e737fa59b3 Submit local Peer2PeerNobody setting to the cloud. 2018-11-16 20:17:58 +04:00
John Preston
8d27d8efcf Use cloud-based settings for p2p in calls. 2018-11-16 20:17:58 +04:00
John Preston
5174c002cf Update API scheme to layer 88. 2018-11-16 20:17:58 +04:00
John Preston
26b8515cb5 Improve languages box and language local storing.
Use current language native name instead of lng_language_name value.
2018-11-16 20:17:58 +04:00
John Preston
cf5bd31203 Suggest switch to even empty language. 2018-11-16 20:17:58 +04:00
John Preston
d485287a59 Close languages box by Escape key. 2018-11-16 20:17:58 +04:00
John Preston
d0e48a02a1 Apply lang pack versions from config. 2018-11-16 20:17:58 +04:00
John Preston
36b702702b Support [inputN|n]otifyBroadcasts setting. 2018-11-16 20:17:58 +04:00
John Preston
75db59a8bb Fix user and chat flags handling. 2018-11-16 20:17:58 +04:00
John Preston
48548e9303 Improve phrases for custom langpacks. 2018-11-16 20:17:58 +04:00
John Preston
5163905954 Add a Delete/Share menu for unofficial languages. 2018-11-16 20:17:58 +04:00
John Preston
27d58e1e2a Fix lang_auto boundaries check. (thanks Randl) 2018-11-16 20:17:58 +04:00
John Preston
78da810114 Extend pinned messages support.
Support them in saved messages and normal groups.
2018-11-16 20:17:58 +04:00
John Preston
6d65cf2382 Redesign languages box with a search filter. 2018-11-16 20:17:58 +04:00
John Preston
162da089ec Handle t.me/setlanguage links.
Also support custom langpacks with base langpacks.
2018-11-16 20:17:58 +04:00
John Preston
228fb2f80d Update API scheme to layer 87. 2018-11-16 20:17:58 +04:00
John Preston
8ed600bf3f Add some debug logs. 2018-11-16 20:17:58 +04:00
John Preston
e3b6e1325e Use AL_DIRECT_CHANNELS_SOFT for audio playback.
See https://github.com/telegramdesktop/tdesktop/issues/2580.
2018-11-16 20:17:58 +04:00
John Preston
9101d64b20 Show unavailable admin options as unchecked. 2018-11-16 20:17:58 +04:00
John Preston
089c4ceb30 Use DemiBold fallback for Open Sans Semibold. 2018-11-16 20:17:58 +04:00
23rd
dc8abc74ed Fixed editing of the last message on KeyUp.
Skip stickers, video-messages, call-messages and edit following message.
2018-11-16 20:10:19 +04:00
Vitaly Zaitsev
31e3a426a6 Refactored FallbackFontConfig() to use native Qt methods.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2018-11-16 20:09:33 +04:00
23rd
00969df06f Made isAudioFile() check more strictly.
Thanks John Preston.
2018-11-15 09:43:39 +04:00
23rd
c482ccfd4e Show all audio in "Files" category with FILE layout. 2018-11-15 09:43:39 +04:00
Nicholas Guriev
b6432e7d13 Switch to Ayatana Indicators 2018-11-13 10:30:54 +04:00
Omkar Nath Singh
35a3cb35d5 OpenAL soft license link update (#5379) 2018-11-12 22:42:37 +03:00
John Preston
2cadabd60c Added fc-custom.conf to git. 2018-11-12 17:36:24 +04:00
John Preston
997d1fbc80 Move custom fonts.conf to resources. 2018-11-12 17:34:47 +04:00
John Preston
8ee958bfa0 Force custom bundled fonts.conf if fontconfig is new.
If system fontconfig version is 2.13 or above use custom FONTCONFIG_FILE.
Fixes #4493, fixes #4240.
2018-11-12 15:26:36 +04:00
John Preston
8b64c96381 Separate some lang keys.
Fixes #5146.
2018-11-12 14:39:22 +04:00
John Preston
aba6cc2c64 Don't force WEBP format for stickers.
Fixes #5374.
2018-11-12 14:39:21 +04:00
John Preston
0718520f36 Disable default fallback to Segoe UI.
Fixes #5368.
2018-11-12 14:39:21 +04:00
John Preston
93b7a797d2 Allow non-lower template keys replacements. 2018-11-12 14:39:21 +04:00
John Preston
4ab0e693c1 Write memory usage to crashdump on Windows. 2018-11-12 14:39:21 +04:00
John Preston
af5f85a288 Fix crash with dangling DocumentData pointers. 2018-11-12 14:39:20 +04:00
John Preston
0a69f3c7fd Beta version 1.4.7.
- Crash fix.
2018-11-10 12:16:40 +04:00
John Preston
48889ce56e Better fix for a crash on quit. 2018-11-10 12:16:29 +04:00
John Preston
4532e59933 Beta version 1.4.6: Fix crash on quit. 2018-11-10 10:10:47 +04:00
John Preston
91d784f9bd Beta version 1.4.6: Fix libtgvoip for Linux. 2018-11-09 21:29:40 +04:00
John Preston
6f56097c53 Beta version 1.4.6.
- Bug fixes and other minor improvements.
2018-11-09 20:13:59 +04:00
John Preston
5b0ad0508a Update libtgvoip. 2018-11-09 20:13:59 +04:00
John Preston
f1c06d6743 Store StickerData::image in unique_ptr. 2018-11-09 19:16:47 +04:00
John Preston
e5949dbb86 Restore player delegate non-delayed (crashfix). 2018-11-09 19:16:27 +04:00
John Preston
2b95b96fa3 Store replyPreview in unique_ptr<Image>. 2018-11-09 19:14:31 +04:00
John Preston
147079ce2a Fix crash in unloaded userpic handling. 2018-11-09 18:01:54 +04:00
John Preston
e992702783 Load chats in chunks in support mode. 2018-11-09 17:54:34 +04:00
John Preston
2d05281ba9 Add configuration for OpenAL effects usage. 2018-11-09 16:28:15 +04:00
John Preston
9a1069c1ae Fix resuming audio on call end. 2018-11-09 11:27:12 +04:00
John Preston
561d3e0670 Beta version 1.4.5: Fix build script. 2018-11-08 22:00:08 +04:00
John Preston
d7a41ce8f7 Beta version 1.4.5.
- Listen to voice and video messages in 2X mode if you're in a hurry.
- Find video messages in the shared voice messages section.
- Add a comment when you share posts from channels.
- View all photos and videos in Twitter and Instagram link previews.
- Bug fixes and other minor improvements.
2018-11-08 17:29:29 +04:00
John Preston
784b0a2248 Revert "Show invite link owner in service message."
This reverts commit 27103889a4.
2018-11-08 17:17:00 +04:00
John Preston
346cb4e203 Fix some bugs in double playback speed.
- Apply double speed for all voice tracks, not only for the current.
- Use dedicated atomic in Mixer for the voice speed (fix race).
- Store the playback speed in user settings, not in global settings.
- Use float64 for setting (just consistency, no float-s right now).
2018-11-08 17:06:22 +04:00
Magnus Groß
de8518a112 Implement double playback speed
This adds double playback speed for both voice messages and round video
messages.
The 2x playback speed setting is global and is saved in local storage.

Fixes #4907
2018-11-08 17:05:34 +04:00
John Preston
8ef67c393b Fix build after openal-soft update.
Regression was introduced in 91c85ec86b.
2018-11-08 15:27:06 +04:00
Kirill Romanov
496c361bdc Gnome notification fix (#5215)
* Set notification desktop entry hint

* Set X-GNOME-UsesNotifications flag
2018-11-08 14:58:04 +04:00
John Preston
3646301ce4 Fix build for old OS X versions. 2018-11-08 14:48:15 +04:00
Magnus Groß
9042109d04 Travis: Fix failing to remove OpenAL Cache
rm: cannot remove ‘include/AL/al.h’: Permission denied

See https://travis-ci.org/telegramdesktop/tdesktop/jobs/452071589 for
more info
2018-11-08 10:50:53 +04:00
Magnus Groß
91c85ec86b Update OpenAL-Soft
Update to version 1.19.1
2018-11-08 10:50:53 +04:00
John Preston
7d3919e3f7 Correctly parse version in the snap. 2018-11-08 10:50:26 +04:00
John Preston
3a928aac9f Update version by a python script. 2018-11-08 10:35:48 +04:00
John Preston
8b6e24e83d Build alphas only for official targets. 2018-11-08 10:33:44 +04:00
John Preston
ef38572d5a Detect and send supports_streaming bit for videos. 2018-11-07 18:10:00 +04:00
John Preston
a2b04c9d71 Improve checks for a hidden webpage url. 2018-11-07 14:55:38 +04:00
23rd
c20ab0b93e Removed unused variables in input_fields.cpp. 2018-11-07 14:53:21 +04:00
John Preston
c496a34f57 Fix single accented letter suggestion in hashtags.
Fixes #5335.
2018-11-07 14:28:35 +04:00
John Preston
27103889a4 Show invite link owner in service message. 2018-11-07 14:28:35 +04:00
Marco Trevisan (Treviño)
e781b29d57 snap: use own app_id and api_hash 2018-11-07 14:28:22 +04:00
John Preston
751506d5b5 Better adjust shared media count. 2018-11-06 13:50:31 +04:00
John Preston
2061248224 Push stable / beta commits to launchpad on release. 2018-11-06 13:49:48 +04:00
Marco Trevisan (Treviño)
dcb748c544 destkop: add keywords stanza
They are used by mayor desktops to search through apps.

Remove this modification from snapcraft
2018-11-06 09:50:59 +04:00
Marco Trevisan (Treviño)
ec37867d72 snap: copy .desktop file and icon from part source path 2018-11-06 09:50:59 +04:00
Marco Trevisan (Treviño)
20c1b58307 snap: use content interfaces for themes icons and sounds
Reduce the space used and support proper theming
2018-11-06 09:50:59 +04:00
John Preston
e482f041a8 Allow disabling even system proxy settings.
Fixes #4944.
2018-11-05 18:52:01 +04:00
John Preston
ef64d9c188 Show round videos in Info layer. 2018-11-05 17:18:54 +04:00
John Preston
466444e17d Extract float player controller. 2018-11-05 15:16:09 +04:00
John Preston
b420f5b41b Fix crash in round video playback. 2018-11-05 14:00:53 +04:00
John Preston
53a719e1b1 Display round videos in shared voice messages. 2018-11-05 12:22:09 +04:00
John Preston
5f665b8ecb Add a comment field to ShareBox. 2018-11-04 15:58:32 +04:00
John Preston
65b2db2160 Don't provide 'api_id' and 'api_hash' by default.
We ask the developer to obtain his own api credentials, because
the bundled 'api_id' / 'api_hash' are strictly limited by the server.

The old credentials still could be used for test purposes,
but the developer will need to explicitly opt-in to use them.
2018-11-04 15:57:50 +04:00
John Preston
617d21129f Show confirmation on hidden webpage url. 2018-11-04 15:51:40 +04:00
John Preston
2d1fdc4485 Seek video to start if position is small. 2018-11-04 15:51:40 +04:00
John Preston
5aa2e66d02 Show large photos in web pages with IV. 2018-11-04 15:51:40 +04:00
John Preston
8850d974a2 Pass correct FileOrigin for userpics. 2018-11-04 15:51:40 +04:00
John Preston
e6c4c48261 Animate check in album sending. 2018-11-04 15:51:39 +04:00
John Preston
8eb0f3b60a Remove some unneeded Q_OBJECTs. 2018-11-04 15:51:39 +04:00
John Preston
5192049194 Resume audio when call ends. 2018-11-04 15:51:39 +04:00
John Preston
fabf830132 Allow up to 128 MB of cached images. 2018-11-04 15:51:39 +04:00
John Preston
c9159e2191 Clear memory on MediaView closing. 2018-11-04 15:51:39 +04:00
John Preston
f2348fc749 Fix document unloading. 2018-11-04 15:51:39 +04:00
John Preston
264ab285a7 Fix ImageSource unloading. 2018-11-04 15:51:39 +04:00
John Preston
f28a92be1d Fix another crash in DocumentData destructor. 2018-11-04 15:51:39 +04:00
John Preston
d38a6e5047 Closed alpha version 1.4.4.2. 2018-11-04 15:51:39 +04:00
John Preston
3447aac940 Prefix client-side lang_code-s with #. 2018-11-04 15:51:39 +04:00
John Preston
711b8cfa36 Fix auto interface scale by primary screen dpi. 2018-11-04 15:51:39 +04:00
John Preston
91a6af71a0 Limit video messages size. 2018-11-04 15:51:39 +04:00
John Preston
885e7f0471 Fix pen reset in TextPainter of empty text. 2018-11-04 15:51:39 +04:00
John Preston
8c1e546123 Fix crash in DocumentData destructor.
~DocumentData sometimes calls ~Image that calls RemoteSource::unload.
It tries to schedule delayed loaded deletion and accesses Auth().
But ~DocumentData is called from ~Session, so Auth() is unaccessible.
2018-11-04 15:51:39 +04:00
John Preston
fd4dedcbdf Use good video thumbnail in albums. 2018-11-04 15:51:39 +04:00
John Preston
88a82eecf3 Fix crash in unloaded null Image. 2018-11-04 15:51:39 +04:00
John Preston
906122a334 Insert Segoe UI and San Francisco font substitutions.
Fixes #1791, fixes #3354, fixes #4454.
2018-11-04 15:51:39 +04:00
John Preston
6f1529d730 Backport Qt fix for font weights on macOS Mojave. 2018-11-04 15:51:39 +04:00
John Preston
46162ed3c4 Fix grouped media corner in one layout. 2018-11-04 15:51:39 +04:00
John Preston
3b911f19f6 Fix collage/slideshow extracting in GCC.
It was depending on argument evaluation order before that fix.
2018-11-04 15:51:39 +04:00
John Preston
4e6f55e176 Closed alpha version 1.4.4.1: Fix build for macOS. 2018-11-04 15:51:38 +04:00
John Preston
14cae1b59a Closed alpha version 1.4.4.1. 2018-11-04 15:51:38 +04:00
John Preston
9aa23dac80 Fix ripple glitch on theme switching. 2018-11-04 15:51:38 +04:00
John Preston
eb099c70e6 Fix removing members from search results.
Fixes #5236.
2018-11-04 15:51:38 +04:00
John Preston
4837117719 Use photo as video thumbnail in WebPageData. 2018-11-04 15:51:38 +04:00
John Preston
550b67236e Reactive main window only if app is active.
Otherwise when we choose "Show in Folder" app looses focus,
then destroys PopupMenu and instantly regains focus back.
2018-11-04 15:51:38 +04:00
John Preston
8000ff2cd7 Generate high quality thumbnail on sending video. 2018-11-04 15:51:38 +04:00
John Preston
da358615e0 Generate high quality video thumbnail when loaded. 2018-11-04 15:51:38 +04:00
John Preston
8f387891e2 Show group / channel in ConfirmInviteBox. 2018-11-04 15:51:38 +04:00
John Preston
a961615076 Clear unused emoji cache with DB. 2018-11-04 15:51:38 +04:00
John Preston
bf31722931 Show collage/slideshow as an album in MediaView. 2018-11-04 15:51:38 +04:00
John Preston
251f51ca1b Show collage/slideshow as an album in web page. 2018-11-04 15:51:38 +04:00
John Preston
e8722e1cb2 Separate (c), (r), (tm) and emoji.
Fixes #3300.
2018-11-04 15:51:38 +04:00
John Preston
6db4972208 Fix blurry App Switcher icon on macOS.
Fixes #5267.
2018-11-04 15:51:38 +04:00
John Preston
f0e18ac619 Add better unloading for ImageSource. 2018-11-04 15:51:38 +04:00
John Preston
8e7117fa22 Don't unload all media on switching between chats. 2018-11-04 15:51:38 +04:00
John Preston
959859f57c Forget least used documents gradually. 2018-11-04 15:51:37 +04:00
John Preston
f8eef7c9a6 Forget least used images gradually. 2018-11-04 15:51:37 +04:00
John Preston
595134cab5 Move image-related modules to ui/image/. 2018-11-04 15:51:37 +04:00
John Preston
8b76428c7e Create ImagePtr-s using a factory method. 2018-11-04 15:51:37 +04:00
John Preston
591fbf0ec6 Replace image source after photo sending. 2018-11-04 15:51:37 +04:00
John Preston
4b5b79e415 Use final Image with different Images::Source-s. 2018-11-04 15:51:37 +04:00
John Preston
5a50248055 Remove Image::toDelayedStorageImage downcaster. 2018-11-04 15:51:36 +04:00
John Preston
113f665295 Move Image and derived to ui/image. 2018-11-04 15:51:36 +04:00
John Preston
d56a3d015b Add more plural rules support. 2018-11-04 15:51:36 +04:00
John Preston
85c59762a4 Fix broken emoji. 2018-11-04 15:51:36 +04:00
John Preston
01b4e1946a Show reset scale button if window doesn't fit. 2018-11-04 15:51:36 +04:00
Viktor Oreshkin
17cde3426a Update CONTRIBUTING.md
Add translations (see #5273)
2018-11-04 15:49:14 +04:00
John Preston
19e407532b Beta version 1.4.4: Fix emoji cache. 2018-10-17 16:04:13 +03:00
John Preston
c5d20a21f7 Beta version 1.4.4: Correct caption limit. 2018-10-17 14:43:18 +03:00
John Preston
54f2b1b2d8 Beta version 1.4.4: Fix emoji quality. 2018-10-17 14:43:17 +03:00
John Preston
5e872e4d2d Beta version 1.4.4: Fix build for GCC. 2018-10-17 10:07:22 +03:00
John Preston
a429e22b93 Beta version 1.4.4: Add some checks. 2018-10-17 09:25:24 +03:00
Grishka
44eac2bf07 Added support for platform-specific microphone permission in calls 2018-10-17 08:53:23 +03:00
John Preston
500ecb464c Beta version 1.4.4.
- Interface scaling for large screens, up to 300%
(up to 150% for macOS retina screens).
- Updated emoji.
2018-10-16 23:23:29 +03:00
John Preston
5b4abe69aa Add interface scale (100%..150%) for Retina.
Fixes #69, fixes #3126, fixes #3789.
2018-10-16 23:00:55 +03:00
John Preston
f2866442d2 Fix location thumb image sizes 2018-10-16 17:32:12 +03:00
John Preston
3cdfa1014a Fix reading saved self. 2018-10-16 11:38:09 +03:00
John Preston
0d4ad1b635 Remove old settings code. 2018-10-16 11:38:09 +03:00
John Preston
19a9a990b6 Allow using any interface scale between 100%-300%. 2018-10-16 11:38:09 +03:00
John Preston
149639a53d Add and bundle @3x icons.
Also bundle only 1x, @2x, @3x and generate 125% and 150%.
2018-10-16 11:38:09 +03:00
John Preston
2812d2911f Remove media_volume icon, use volume slider. 2018-10-15 11:06:27 +03:00
John Preston
2b2b9c2f03 Check emoji cache signature asynchronously. 2018-10-15 09:04:07 +03:00
John Preston
b847c8424a Use single emoji sprite and scale + cache it. 2018-10-15 09:03:29 +03:00
John Preston
59a97ffb99 Generate and keep only one emoji copy (400%) bundled. 2018-10-13 18:03:46 +03:00
John Preston
d5ec85c1d8 Add support for more emoji. 2018-10-13 18:03:46 +03:00
John Preston
979db97859 Version 1.4.3.
- Bug fixes and other minor improvements.
2018-10-13 08:01:27 +03:00
John Preston
e896971fa4 Allow instant template selection (support). 2018-10-11 19:07:37 +03:00
John Preston
ec49ff31ef Disable autodownload on login (support). 2018-10-11 15:13:36 +03:00
John Preston
1ec9137fd7 Clear locations data on logout. Fixes a crash.
Also clear user notification center delegate on macOS.
2018-10-10 08:29:31 +03:00
John Preston
d6f4886c5b Version 1.4.2.
- Crash fix.
2018-10-10 00:21:48 +03:00
John Preston
b6128b6fe0 Fix undefined behaviour in base::weak_ptr.
Regression was introduced in 1c79f85d00.

Invalid casts lead to crashes in macOS notifications handling.
Casts were T* -> has_weak_ptr* -> void* -> T* which was not working
in case T had has_weak_ptr as not first base class.

Now it uses just T* -> has_weak_ptr* -> T* casts.
2018-10-10 00:19:47 +03:00
John Preston
9436789d6d Version 1.4.1: Fix Linux Updater. 2018-10-09 22:07:38 +03:00
John Preston
fd53385c1f Version 1.4.1: Fix build for old OS X. 2018-10-09 21:58:56 +03:00
John Preston
0e9ad5d82b Fix build for Mac App Store. 2018-10-09 20:03:41 +03:00
John Preston
759bbe63dc Version 1.4.1.
- Reduce crashes due to the out of memory exceptions.
- Load map previews through mtproto.
- Bug fixes and other minor improvements.
2018-10-09 19:27:18 +03:00
John Preston
e8a390c251 Use TelegramForcePortable for alpha versions. 2018-10-09 19:27:18 +03:00
John Preston
631e51a493 Hashtag search results as dialogs (support). 2018-10-09 19:27:18 +03:00
John Preston
81a9554caa Move some settings to the main menu (support). 2018-10-09 19:27:18 +03:00
John Preston
3f1f070d3f Move sessions list up in Settings. 2018-10-09 19:27:18 +03:00
John Preston
987fa198c8 Use original emoji for the autocomplete tooltip.
Fixes #5235.
2018-10-09 19:27:18 +03:00
John Preston
2444acb041 Fix image data forgetting.
In case image was almost loaded (loader was ready, but not destroyed yet),
forget() didn't do anything, leaving bytes and image inside loader untouched.

Now we check loader state in forget() so that bytes and image are passed to
Image instance before they're forgot from the memory. This will improve memory
clearing while scrolling through chats with images and switching between them.
2018-10-09 19:27:18 +03:00
John Preston
3992cea084 Draw map point on HistoryLocation. 2018-10-09 19:27:18 +03:00
John Preston
f9632d5c43 Fix possible buffer overflow in Linux Updater.
Fixes #5227.
2018-10-09 19:27:18 +03:00
John Preston
f43752b3ad Fix memory leak in reply previews.
Regression was introduced in 2e7f4c2f21.

Fixes #5237.
2018-10-09 19:27:18 +03:00
John Preston
44496c7053 Disable notifications on login (support). 2018-10-09 19:27:18 +03:00
John Preston
9f90d3a7fc Load maps using mtproto instead of google. 2018-10-09 19:27:18 +03:00
John Preston
be6e329e94 Don't switch chats on ctrl+shift+send (support). 2018-10-09 19:27:18 +03:00
John Preston
83919492d3 Ignore unread counts from deleted (support). 2018-10-09 19:27:18 +03:00
John Preston
9d4d3cc5e3 Show toast when reloading templates (support). 2018-10-09 19:27:17 +03:00
John Preston
ee8819681f Don't jump to unread from chat bottom (support). 2018-10-09 19:27:17 +03:00
John Preston
a0ff432ac8 Don't scroll dialogs up (support). 2018-10-09 19:27:17 +03:00
John Preston
a27e9ad734 Use black icon for support mode (support). 2018-10-09 19:27:17 +03:00
John Preston
6ba0755e15 Move support to the main settings (support). 2018-10-09 19:27:17 +03:00
John Preston
1b4f3a7529 Show short previews in templates (support). 2018-10-09 19:27:17 +03:00
John Preston
b322f986a8 Provide user phone on auth session create.
We need the phone in the constructor to switch on the support mode.
2018-10-09 19:27:17 +03:00
John Preston
e712a51833 Disable animations on login (support). 2018-10-09 19:27:17 +03:00
John Preston
06629e8cd9 Improved calendar layout for export. 2018-10-09 19:27:17 +03:00
John Preston
841abc2e87 Limit single chat export by dates. 2018-10-09 19:27:17 +03:00
John Preston
f362702856 Add UI to specify export time range. 2018-10-09 19:27:17 +03:00
John Preston
0f535a98a7 Closed alpha bersion 1.4.0.1: Fix macOS build. 2018-10-09 19:27:17 +03:00
John Preston
cf338e669a Closed alpha version 1.4.0.1. 2018-10-09 19:27:17 +03:00
John Preston
eaa50adf75 Remove irrelevant menu items (support). 2018-10-09 19:27:17 +03:00
John Preston
052fabcae3 Use old keys after template autoupdate (support). 2018-10-09 19:27:17 +03:00
John Preston
a6b325f0d0 Allow sending contact info in templates (support). 2018-10-09 19:27:17 +03:00
John Preston
1411dfb711 Add autoupdating for templates (support). 2018-10-09 19:27:17 +03:00
John Preston
ccaec28d0b Read and autocomplete templates (support). 2018-10-09 19:27:16 +03:00
John Preston
36f72191ad Allow any version to be used as a portable.
You need to place TelegramForcePortable folder near the application.
2018-10-09 19:27:16 +03:00
John Preston
25cefc6eab Allow fix chats order and auto switch (support). 2018-10-09 19:27:16 +03:00
John Preston
29432d5d6a Remove some unused themes code. 2018-10-09 19:27:16 +03:00
John Preston
20e303d3e6 Read chats only on sending (support). 2018-10-09 19:27:16 +03:00
John Preston
1c79f85d00 Optimize base::weak_ptr. 2018-10-09 19:27:16 +03:00
Tien Do
4f43f1dd0f Remove duplicated packages in brew install (#5222) 2018-10-08 02:39:59 +03:00
23rd
81a2cf9086 Updated CONTRIBUTING.md: Fixed spelling of 'upstream'. (#5206) 2018-09-29 19:23:50 +02:00
John Preston
8c440cc3c5 Version 1.4.0: Fix beta to stable updates. 2018-09-28 16:08:38 +03:00
John Preston
b66f32fe9e Version 1.4.0: Fix build for old OS X versions. 2018-09-28 15:50:47 +03:00
John Preston
3521255d9e Version 1.4.0.
- Fully redesigned Settings section.
- New theme selector in Chat Settings.
- New local storage settings: Control how much disk space is used
by the cache and for how long the cached files are stored.
- Improved local caching for images and GIF animations.
- New settings: Peer-to-Peer settings for calls,
disable animations for low performance computers.
- Various other improvements.
2018-09-28 15:00:14 +03:00
John Preston
d485a05935 Reorder chat settings sections. 2018-09-28 14:20:36 +03:00
John Preston
7ee1af5348 Move advanced notifications settings from box. 2018-09-28 00:18:30 +03:00
John Preston
f493d69bd2 Fix emoji button with disabled animations. 2018-09-27 23:41:49 +03:00
John Preston
a70613d929 Fix client side generated changelogs display.
Also use message date if available in MediaView.
2018-09-27 23:31:48 +03:00
John Preston
352fc55234 Move back by Back key in Intro / Info / Settings. 2018-09-27 17:28:57 +03:00
John Preston
fdfc767930 Allow custom lang loading using Alt+Shift+Click. 2018-09-27 17:27:31 +03:00
John Preston
9b449a1d26 Allow switching off debug logs in closed alpha. 2018-09-27 16:36:27 +03:00
John Preston
18b74b9045 Beta version 1.3.17.
- Fully redisigned Settings section.
- New theme selector in Chat Settings.
- New settings: Peer-to-Peer settings for calls,
disable animations for low performance computers.
- Various other improvements.
2018-09-26 21:23:09 +03:00
John Preston
1cf4d3b4d2 Rename default themes. 2018-09-26 21:23:08 +03:00
John Preston
a7772b922c Improve sticker file reference refreshing. 2018-09-26 21:23:08 +03:00
John Preston
131f7ec5bb Add install beta toggle to Settings > Advanced. 2018-09-26 21:23:08 +03:00
John Preston
971d0efda9 Support toggling installs of beta versions. 2018-09-26 21:23:08 +03:00
John Preston
6e566e0165 Swap 'alpha' and 'beta'. Happy debugging! 2018-09-26 21:23:08 +03:00
John Preston
a949c5e287 Fix crash in theme applying. 2018-09-26 16:06:30 +03:00
John Preston
7ec4d9af3e Closed beta version 1.3.16.7. 2018-09-26 14:37:08 +03:00
John Preston
9b85dd27ca Allow to choose one of four default themes. 2018-09-26 14:36:55 +03:00
John Preston
cf9f7ef508 Fix several bugs for macOS 10.14. 2018-09-26 13:18:59 +03:00
John Preston
7f39d917ab Delayed notification hide without animations. 2018-09-21 21:14:52 +03:00
John Preston
2e5a0e056c Move to std::optional. 2018-09-21 19:28:46 +03:00
John Preston
850efbde95 Closed beta version 1.3.16.6. 2018-09-21 13:50:03 +03:00
John Preston
a11fb2816b Use current language in change language box.
Fixes #5174.
2018-09-21 13:49:13 +03:00
John Preston
23c2ae49c6 Add media date after index in default export name.
Fixes #5167.
2018-09-21 13:08:41 +03:00
John Preston
96556d4a4c Fix single chat export buttons.
Fixes #5120.
2018-09-21 12:51:06 +03:00
John Preston
d601b60903 Fix disabled animations dialogs repaint. 2018-09-21 10:12:53 +03:00
John Preston
e451dec70c Fix update button in new settings. 2018-09-20 23:05:28 +03:00
John Preston
51cbb9b310 Closed beta version 1.3.16.5. 2018-09-20 21:26:32 +03:00
John Preston
1c4f374e3c Improve automatic media download box design. 2018-09-20 21:26:10 +03:00
John Preston
fd0719db6d Add animations enable/disable setting.
Open chats / users on mouse press if animations are disabled.
2018-09-20 21:26:10 +03:00
John Preston
04dd4e30a8 Rename General->Advanced in Settings. 2018-09-20 21:26:10 +03:00
John Preston
1ffbec0215 Finish animations disabling.
Replace some infinite animations with static layouts.
2018-09-20 21:26:10 +03:00
John Preston
f68466b072 Don't scroll chats up when searching in chat. 2018-09-20 21:26:09 +03:00
John Preston
02a8b693af Remove RPATH from official builds.
Fixes #4634.
2018-09-20 10:30:41 +03:00
John Preston
53219bcf70 Fix two bugs with supergroup history disappearing. 2018-09-20 10:02:02 +03:00
John Preston
81f9c70279 Closed beta version 1.3.16.4. 2018-09-19 19:22:15 +03:00
John Preston
233a87a8bc Always export to subfolder of Downloads. 2018-09-19 19:22:15 +03:00
John Preston
00e4cfc345 Move data and storage to advanced settings. 2018-09-19 19:22:15 +03:00
John Preston
9388e154cf Improve edit privacy box design.
Also move calls peer-to-peer settings to EditPrivacyBox.
2018-09-19 19:22:15 +03:00
John Preston
3ba2a7931e Autosave bio in settings edit section. 2018-09-19 19:22:14 +03:00
John Preston
377689ae86 Fix build for Xcode 10. 2018-09-19 19:22:14 +03:00
John Preston
62ffd93cb7 New icons for the main menu. 2018-09-19 19:22:14 +03:00
John Preston
fe9f02e485 Improve self-destruct setting edit. 2018-09-19 19:22:14 +03:00
John Preston
130aa67ba0 Some settings reordered in sections. 2018-09-19 19:22:14 +03:00
John Preston
97a4c76043 Closed beta version 1.3.16.3. 2018-09-19 19:22:14 +03:00
John Preston
3d89a34adf Fix crash in theme editor.
Fixes #5143.
2018-09-19 19:22:14 +03:00
John Preston
5c7155c3a5 Improve privacy and security settings subsections. 2018-09-19 19:22:14 +03:00
John Preston
f582fbf010 Update icons in AddContactBox. 2018-09-19 19:22:14 +03:00
John Preston
c2039da600 Improve new settings design. 2018-09-19 19:22:14 +03:00
John Preston
ffc4cd3415 Closed beta version 1.3.16.2.
- Fix crashes in Windows caused by MSVC 15.8.4 regression.
- Add calls peer-to-peer setting to Privacy&Security.
2018-09-19 19:22:14 +03:00
John Preston
c4ca180745 Add call peer-to-peer setting in Privacy&Security. 2018-09-19 19:22:14 +03:00
John Preston
673fea47bd Don't close info settings with changes by click. 2018-09-19 19:22:14 +03:00
John Preston
83fda73ce3 Workaround MSVC 15.8.4 regression.
It crashes with non-type-erased producers.
2018-09-19 19:22:14 +03:00
John Preston
a5f407a458 Closed beta version 1.3.16.1: Fix build for Xcode. 2018-09-19 19:22:14 +03:00
John Preston
88175aff1f Closed beta version 1.3.16.1.
- New settings design.
2018-09-19 19:22:14 +03:00
John Preston
2f408cd773 Remove old settings. 2018-09-19 19:22:14 +03:00
John Preston
7d8ba66211 Core::UpdateApplication using new settings. 2018-09-19 19:22:14 +03:00
John Preston
c1ae9e9680 Implement intro wrap for new settings. 2018-09-19 19:22:14 +03:00
John Preston
34665cd6da Save self to local storage map. 2018-09-19 19:22:13 +03:00
John Preston
0c8709ca5f Replace App::self() with Auth().user().
Always have self Auth().user() when AuthSession exists.
2018-09-19 19:22:13 +03:00
John Preston
12ebae01b0 Show current privacy values in settings section. 2018-09-19 19:22:13 +03:00
John Preston
165511fb14 Add warning for unsaved Bio section closing. 2018-09-19 19:22:13 +03:00
John Preston
fbf3c005ff Implement new settings design with icons etc. 2018-09-19 19:22:13 +03:00
John Preston
bbe6d2d13b Implement information settings section. 2018-09-19 19:22:13 +03:00
John Preston
633ff4b60e Implement privacy and security settings section. 2018-09-19 19:22:13 +03:00
John Preston
b8c2c3991f Implement chat settings section. 2018-09-19 19:22:13 +03:00
John Preston
38f788f545 Implement general settings section. 2018-09-19 19:22:13 +03:00
John Preston
9af70551f3 Implement notifications settings section. 2018-09-19 19:22:13 +03:00
John Preston
316d015d23 Add three dot menu to settings. Edit + logout. 2018-09-19 19:22:13 +03:00
John Preston
cfce189201 Improve main menu > settings transition animation.
Remove full window cache in case of settings shown as a section.
2018-09-19 19:22:13 +03:00
John Preston
482ecf12ff Fix settings show animation. 2018-09-19 19:22:13 +03:00
John Preston
50b0b61118 Accept typing codes in settings. 2018-09-19 19:22:13 +03:00
John Preston
a7b1d83a3c Add upload new profile photo button to settings. 2018-09-19 19:22:13 +03:00
John Preston
8c1cc51c2e Move peer photo update from Messenger to ApiWrap. 2018-09-19 19:22:13 +03:00
John Preston
e2207e33ef Add FAQ and support buttons to settings. 2018-09-19 19:22:13 +03:00
John Preston
3f543347b8 Add language and scale settings. 2018-09-19 19:22:12 +03:00
John Preston
a7725f03bb Add cover to settings main section. 2018-09-19 19:22:12 +03:00
John Preston
f0d092f126 Section dummies for new Settings. 2018-09-19 19:22:12 +03:00
John Preston
4f16ad6757 Move old settings to old_settings. 2018-09-19 19:22:12 +03:00
Magnus Groß
689aed7258 Show Emoji replacement tooltip on hover
When using the mouse, hovering over a emoji causes the corresponding
replacement text to appear in a tooltip. This feature is disabled, if
the option "Suggest emoji replacements" is disabled.

This closes #3739, closes #743 and closes #4211.
2018-09-19 13:54:46 +03:00
23rd
e966213ff8 Added shortcut to open dialog for attachements. 2018-09-19 12:25:16 +03:00
Emil Engler
4169927d83 Update README.md (#5144): Add snapcraft 2018-09-06 14:19:42 +03:00
John Preston
eacc6b7b6e Alpha version 1.3.16.
- Update libtgvoip, fix crash in calls.
- Fix crash in local cache database.
- Clear old local cache asynchronously.
2018-09-04 22:37:22 +03:00
John Preston
4b87363a20 Check value size before putting to cache db. 2018-09-04 22:37:22 +03:00
John Preston
9ba331693f Async clear of legacy local storage.
Sync call to QDir::entryList is a bad idea for the user data folder.
Some users reported hanging on startup with 1.25M legacy cache files.
Now we enumerate up to 10000 files at once asynchronously and clear.
2018-09-04 22:37:22 +03:00
John Preston
12be795de7 Update libtgvoip. 2018-09-02 16:49:08 +03:00
John Preston
49f56a38fb Fix changelog entry. 2018-09-01 21:44:46 +03:00
John Preston
4e80d54be1 Alpha version 1.3.15.
- Improved local caching for images and GIF animations.
- Control how much disk space is used by the cache
and for how long the cached files are stored.
2018-09-01 18:56:09 +03:00
John Preston
2096007ed9 Fix clearing leaked files with a passcode. 2018-09-01 18:56:09 +03:00
John Preston
47ce695142 Remove some unused lang keys. 2018-09-01 18:56:08 +03:00
John Preston
80cd74edc8 Closed beta version 1.3.14.2: Fix fallthrough. 2018-09-01 18:56:08 +03:00
John Preston
55583c2237 Closed beta version 1.3.14.2. 2018-09-01 18:56:08 +03:00
John Preston
069232ec1b Allow changing limits for cache in Settings. 2018-09-01 18:56:08 +03:00
John Preston
5733f4079f Allow updating some database settings. 2018-09-01 18:56:08 +03:00
John Preston
55fe977d54 Add some tests for Database. 2018-09-01 18:56:08 +03:00
John Preston
736789a9ed Closed beta version 1.3.14.1: Fix for OS X old. 2018-09-01 18:56:08 +03:00
John Preston
7150811aef Closed beta version 1.3.14.1. 2018-09-01 18:56:08 +03:00
John Preston
63103ede81 Update libtgvoip. 2018-09-01 18:56:08 +03:00
John Preston
c86252777b Remove leaked (unknown) files in user data folder. 2018-09-01 18:56:08 +03:00
John Preston
2bcdf27b03 Workaround GCC bug. 2018-09-01 18:56:08 +03:00
John Preston
2001d3c617 Allow cleaner to work after database is closed. 2018-09-01 18:56:08 +03:00
John Preston
8210a51fdc Fix build for Xcode.
Also guard database compactor so that it won't work after closing.
2018-09-01 18:56:08 +03:00
John Preston
08ff324b1b Work with Cache::Database in LocalStorageBox. 2018-09-01 18:56:08 +03:00
John Preston
55f60866cb Set correct cache tags for different file types. 2018-09-01 18:56:08 +03:00
John Preston
e2f08d4161 Write uint8 tags to Database and count stats.
Also pass rvalues to Database where copies are required anyway.
2018-09-01 18:56:08 +03:00
John Preston
2e7f4c2f21 Use Storage::Cache::Database for file caching. 2018-09-01 18:56:08 +03:00
John Preston
a58c082cfa Fix base::binary_guard. 2018-09-01 18:56:08 +03:00
John Preston
5824afa941 Add copy() and move() to Cache::Database. 2018-09-01 18:56:08 +03:00
John Preston
adcc11c474 Ignore database actions after IO error. 2018-09-01 18:56:08 +03:00
John Preston
4769a1a49f Added 100k test for storage cache. 2018-09-01 18:56:08 +03:00
John Preston
f6a6a39d3b Fix compactor and add simple tests for it. 2018-09-01 18:56:08 +03:00
John Preston
2940023cb0 Simplify db tests. 2018-09-01 18:56:08 +03:00
John Preston
d426f7242a Implement Storage::Cache::Compactor for database. 2018-09-01 18:56:08 +03:00
John Preston
2f9d65b4eb Add a generic BinlogReader. 2018-09-01 18:56:08 +03:00
John Preston
a4c1d5fe9d Move cache database to a separate module.
Also start compactor code.
2018-09-01 18:56:08 +03:00
John Preston
13c7c99965 Ignore put queries that don't change anything. 2018-09-01 18:56:08 +03:00
John Preston
fbfa7e7be3 Write date/time inside Store cache record. 2018-09-01 18:56:08 +03:00
John Preston
e5dda6dd49 Write removes/touches in bundles. Apply limits. 2018-09-01 18:56:08 +03:00
John Preston
b9af3c7f34 Add base::ConcurrentTimer.
Write removes from cache database once an hour.
2018-09-01 18:56:08 +03:00
John Preston
64b8adb3d0 Isolate lib_base library. Use crl::time in getms. 2018-09-01 18:56:08 +03:00
John Preston
cb371f09ac Clear old versions of Storage::Cache::Database. 2018-09-01 18:56:08 +03:00
John Preston
9147c12687 Add basic implementation of Storage::Cache DB. 2018-09-01 18:56:08 +03:00
John Preston
b5c870d677 Add xxHash library for checksums. 2018-09-01 18:56:08 +03:00
John Preston
62a396b661 Fix Storage::File lock with killing and add tests. 2018-09-01 18:56:08 +03:00
John Preston
81731139e9 Add tests for storage encrypted file.
Also fix some bugs found by the tests.
2018-09-01 18:56:08 +03:00
John Preston
8a371b9c1b New storage encrypted file. 2018-09-01 18:56:08 +03:00
John Preston
51092fb6a9 Fix file references for faved stickers. 2018-09-01 18:56:08 +03:00
John Preston
018abd6aad Merge remote-tracking branch 'origin/dev' 2018-09-01 18:55:29 +03:00
Henning Schild
5292d75617 Linux: disable RegisterCustomScheme when internal updater is disabled
Closes: https://github.com/telegramdesktop/tdesktop/issues/5118
Signed-off-by: Henning Schild <henning@hennsch.de>
2018-09-01 10:12:09 +03:00
Nicholas Guriev
401e1166f9 Workaround internal compiler error in GCC
Closes: #5111
2018-09-01 10:10:14 +03:00
John Preston
45c1427f91 Version 1.3.14.
- Fix a crash in calls.
2018-08-27 19:07:59 +03:00
John Preston
73be099d7f Update libtgvoip. 2018-08-27 18:18:08 +03:00
John Preston
735faa2d11 Force dump_syms existence in official build script. 2018-08-27 18:08:16 +03:00
John Preston
46946c7323 Use correct SHA1_ functions.
Fixes #5103.
2018-08-27 14:36:26 +03:00
John Preston
d98bbca353 Version 1.3.13.
- Export data from individual chats using the '...' menu.
- Added a new night theme.
- You can now assign custom themes as night and day themes
to quickly switch between them.
- Support for Telegram Passport 1.1 and improved password hashing
algorithm to better protect Telegram Passport data.
2018-08-25 13:50:51 +03:00
John Preston
83fcb8e8ed Fix native names handling in passport. 2018-08-22 17:02:06 +03:00
John Preston
ec61aa0080 Edit last non-service message on KeyUp. 2018-08-22 09:50:36 +03:00
John Preston
4211501acf Improve media viewer window decorations. 2018-08-22 09:50:35 +03:00
John Preston
ae6afad885 Closed beta version 1.3.13.4. 2018-08-20 17:34:26 +03:00
John Preston
3b8cee64b8 Closed beta version 1.3.13.3. 2018-08-20 17:26:28 +03:00
John Preston
a8da0c18ee Closed beta version: 1.3.13.2: Fix broken beta. 2018-08-20 17:26:28 +03:00
John Preston
dac0471157 Closed beta version 1.3.13.2. 2018-08-20 17:26:28 +03:00
John Preston
07007ee5a5 Closed beta version 1.3.13.1. 2018-08-20 17:26:28 +03:00
John Preston
b78c08a30a Bump version to 1.3.13. 2018-08-20 17:26:28 +03:00
John Preston
5a487bc30c Refresh file references in saveGif/faveSticker. 2018-08-20 17:26:28 +03:00
John Preston
c913c77fef Refresh file references when sending stickers. 2018-08-20 17:26:28 +03:00
John Preston
557d363d02 Refresh file references when downloading files. 2018-08-20 17:26:28 +03:00
John Preston
839885910c Pass FileOrigin in all file downloads. 2018-08-20 17:26:28 +03:00
John Preston
ee16070abe Update API scheme to layer 86. 2018-08-20 17:26:27 +03:00
John Preston
b8b5ab6378 Improve native name phrases in passport.
Also auto-save *_name to *_name_latin for english countries.
2018-08-20 17:25:33 +03:00
John Preston
5b88f4d3d2 Update API scheme. 2018-08-20 17:25:06 +03:00
John Preston
34eb834d94 Update libtgvoip to 2.2.2. 2018-08-17 19:32:30 +03:00
John Preston
82a3cd9bdb Use most-filled document from OneOf list. 2018-08-17 19:31:24 +03:00
John Preston
e25ecce887 Ask native names after all other fields are done. 2018-08-17 16:42:07 +03:00
John Preston
9f6d683415 Improve passport rows phrasing.
Also fix translations validation on value save.
2018-08-17 15:07:41 +03:00
John Preston
dc114d62c5 Handle APP_VERSION_OUTDATED in saving/accepting. 2018-08-17 14:11:09 +03:00
John Preston
6bf3006eb9 Rename payload->nonce in new passport scopes. 2018-08-17 14:01:23 +03:00
John Preston
fddc3d6ad9 Workaround MSVC 15.8 regressions. 2018-08-17 14:01:16 +03:00
John Preston
f76a2bc224 Add translations support to passport. 2018-08-14 20:48:23 +03:00
John Preston
6558a32794 Add [first|middle|last]_name_native support. 2018-08-14 15:51:12 +03:00
John Preston
b935d54fe7 Support common error for the whole value.
It is removed (considered fixed) if anything changes in the data.
2018-08-14 14:37:03 +03:00
John Preston
cb827406ca Don't open passport links from inside the app.
They contain secret payload that should not be known to Telegram.
2018-08-14 09:49:14 +03:00
John Preston
36fcf2c60e Add middle_name support to passport.
Also allow editing document without its details.
2018-08-14 09:42:06 +03:00
John Preston
7c173bd63f Ignore errors for not asked fields. 2018-08-14 08:43:40 +03:00
John Preston
3c43f621ce Start improved passport support. 2018-08-14 08:43:04 +03:00
John Preston
bdab477040 Update API scheme to layer 84. 2018-08-11 22:03:34 +03:00
John Preston
550c159ca8 Update API scheme to layer 83. 2018-08-04 23:11:04 +03:00
John Preston
aeec5d1542 Alpha version 1.3.12.
- Bug fixes and other minor improvements.
2018-08-04 21:53:40 +03:00
John Preston
b4aa213c64 Make MediaView modal with MainWindow transient parent on Linux.
There is hope :) that it will force MediaView to be floating in tiling WMs.

Possibly fixes #5048.
2018-08-04 21:12:34 +03:00
John Preston
a241e10208 Bypass window manager for toast notifications.
Regression was introduced in be043a4437.

Fixes #5052.
2018-08-04 21:12:34 +03:00
John Preston
90f6642d33 Use always the same sizes for group layout.
For the floating point precision to matter less in the album layout
decisions use always full image sizes for layout
when sending an album and when displaying it.

Fixes #5049.
2018-08-04 16:48:15 +03:00
John Preston
7bd289ed0f Update the new night theme.
Fixes #5054.
2018-08-04 15:17:48 +03:00
John Preston
c8aa35d23c Don't show PopupMenu for inactive window on macOS.
This is a fixup for 06bf67c146.
2018-08-04 15:17:23 +03:00
John Preston
4e0e472f97 Remove request for debug logs in issue template.
They contain sensitive data and should not be shared publicly.
2018-08-03 14:34:12 +03:00
John Preston
a76658ba46 Alpha version 1.3.11.
- Added a new night theme.
- You can now assign custom themes
as night and day themes to quickly switch between them.
2018-08-02 17:46:50 +03:00
John Preston
6796204126 Fix build for Xcode. 2018-08-02 17:46:50 +03:00
John Preston
1c5e91c9a8 Refresh EditCaptionBox thumbnail when loaded. 2018-08-02 17:46:49 +03:00
John Preston
7f16675d2f Fix via @bot display in Saved Messages.
Fixes #5034.
2018-08-02 17:46:49 +03:00
John Preston
6c7c442ad2 Remove excess RGB -> HSV -> RGB transformation.
Fixes #5043.
2018-08-02 17:46:49 +03:00
John Preston
82fb2151a0 Update libtgvoip submodule to 2.2. 2018-08-02 17:46:49 +03:00
John Preston
36b7c1c720 Fix default night mode applying. 2018-08-02 17:46:49 +03:00
John Preston
06bf67c146 Don't show PopupMenu for inactive window on macOS.
On macOS context menu (right click) doesn't activate the window that was clicked.
- You can't  activate it yourself if some other application is active.
- It's hard to make menu work while window still is inactive (like macOS menus).
Because when you left-click anything after right click Qt makes the window
something-like-focused (it shows on top and receives input), but not really
(it still displays as inactive, cursor not blinking and all). Looks like Qt bug.
2018-08-01 20:14:55 +03:00
John Preston
8cc0fbc687 Fix unmute-by-finished timers.
Fixes #5039.
2018-08-01 19:58:50 +03:00
John Preston
c846a14118 Fix suggest export box layout. 2018-08-01 16:15:51 +03:00
John Preston
097424c535 Fix request pending webpage. 2018-07-31 22:56:05 +03:00
John Preston
c7ed36d558 Check for composition in WM_NCACTIVATE. 2018-07-31 22:56:04 +03:00
John Preston
95eab45108 Fix export messages pagination.
Also fix reply highlight.
Also fix channel service messages.
Also improve single chat export progress display.
2018-07-31 22:56:04 +03:00
John Preston
f852813734 Improved night mode switching. 2018-07-31 22:56:04 +03:00
John Preston
ca6a331a26 Don't close send files box by outside click. 2018-07-31 22:56:04 +03:00
John Preston
bfae205fbe Fix animation in single column layout. 2018-07-31 22:56:04 +03:00
John Preston
aaa1245430 Add some javascript handlers to HTML export. 2018-07-31 22:56:03 +03:00
John Preston
a99ae76ad4 Allow single chat history export. 2018-07-31 22:56:03 +03:00
John Preston
6429e8b532 Improve theme applying. 2018-07-31 22:56:03 +03:00
John Preston
cb338e330f Allow independently change default / night themes. 2018-07-31 22:56:03 +03:00
John Preston
d12bd0824d Upgrade night theme. 2018-07-31 22:56:03 +03:00
John Preston
4c0551ebb1 Fix crash in tcp connection implementation. 2018-07-31 22:56:02 +03:00
John Preston
06fc23fc59 Fix possible premature export bar destruction. 2018-07-31 22:56:02 +03:00
John Preston
41977bf515 Fix build for Xcode. 2018-07-31 22:56:02 +03:00
John Preston
ffd2817d18 Destroy InputField::Inner before InputField.
Inner has a pointer to parent and uses it assuming it is InputField.
If Inner lives longer than InputField (till ~QWidget) then in some
cases it accesses InputField as a (not completely) destroyed object.
2018-07-31 22:56:02 +03:00
John Preston
c48937a2f5 Display export progress starting with 1 / N. 2018-07-31 22:56:02 +03:00
John Preston
091d1157da Fix clearing callbacks for timeout-ed requests. 2018-07-31 22:56:02 +03:00
John Preston
be043a4437 Remove BypassWindowManagerHint in MediaView / Passport.
It makes all kinds of usages buggy, including choose file dialog.

Fixes #4936.
I hope fixes #4950, I hope fixes #4955, I hope fixes #3553.
2018-07-31 22:55:30 +03:00
John Preston
fae0bccc9c Don't use registry quiet hours entry any more.
In the latest Windows 10 those settings aren't stored in registry.
2018-07-31 22:53:37 +03:00
John Preston
b44cf4a094 Remove error box on download start failure. 2018-07-31 22:53:37 +03:00
John Preston
90f4187ca9 Don't accept tg:// links in passport callbacks.
Fixes #5021.
2018-07-31 22:51:06 +03:00
John Preston
ae272074b9 Add a confirmation for internal passport links.
Fixes #5020.
2018-07-31 20:56:54 +03:00
John Preston
9972f7b90e Use server time in dialogs list sorting.
This way it won't mess up when you change your local time.
2018-07-31 17:34:14 +03:00
Marco Trevisan
f68cefbdc1 Snap packaging support (#4505)
* qtbuilder: inherit from make plugin instead of autotools

* qtbuilder: update to properly support snapcraft 2.23

We don't use the default 'source' property as it will recursively download
all the submodules and we don't want that.

Implement newer get_pull_properties.

* gyp-cmake: only strip in Release mode and if we've a binary

* telegram-snap: add first basic snapcraft.yaml to build tdesktop from src

We need to build upstream versions of libva, ffmpeg (with opus support),
openal, portaudio with custom flags and patched versions of gyp, and Qt.

This requires some custom plugins for patching sources, mix repos and
new build plugins for qt and gyp+cmake.

* plugins: properly support snapcraft 2.23

Implementing get_pull_properties class methods

* patches: add qt patch for saving tray icon in .cache

TMPDIR overriding isn't needed anymore

* snapcraft: add xdg-open support to open URIs

* snapcraft: move external libraries to desktop-integration part

* snapcraft: set QTCOMPOSE pointing to proper x11-data

* desktop-integration: add libpulse0 to enable voice/video recording / playing

* qtbuilder: add support for local patches that overrides remote ones

* qtbuilder: make qt-version optional

This allows to build upstream git version

* gyp-cmake: inherit from CMakePlugin reusing artifacts + organize

* patched-python: add support for patching using local files

* snapcraft.yaml: use distro's portaudio instead of building ours

* telegram: disable desktop file generation and custuom scheme registration

* snapcraft.yaml: update version to 0.10.20

* .travis.yaml: add support for building using travis

* qtbuilder: add g++ as build packages

* snapcraft: use distro opus version

* snapcraft: lzma for qt and ffmpeg

* snapcraft: add libdbusmenu for qt

* openal: add oss4-dev as build dependency

* travis: test some hacks to speed things up

* Move plugins to new dir

* QtBuilder: add qt-extra-plugins support

To include plugins that are out of the main qt repo

* QtBuilder: generate branch based on qtversion

* GypCMake: allow to define custom environment variables

* snapcraft: set name to 'telegram-desktop'

* snapcraft: add 'network-status' interface to Telegram app

To automatically reconnect

* snapcraft: use prime instead of snap for flitering files

* snacpraft: update dependencies and versions to build against git

* snapcraft: build with GCC-7

hackish solution

* QtBuilder: add environment support

* QtBuilder: add qt-extra-plugins to get_pull_properties

* snapcraft: set name of the app to telegram-desktop too

* snapcraft: build opus from git (v1.2.1)

So it does upstream, let's follow them

* telegram: apply patch to get proper home path from $HOME

* snapcraft: add version-script to generate proper version from upstream

* telegram: simplify the start command

* snapcraft: get rid of snapd-xdg-open

* snapcraft: use gtk3 and unity integration

* qt5: build using gcc7 too

* telegram-desktop: update desktop file

* telegram: add support unity launcher when snapped

We should actually fix this inside libunity

* gcc7: remove toolchain source.list after install

* desktop-integration: add pulse-audio as dependency again

* telegram-desktop: define XCURSOR_PATH to get system cursors

* gui: move files to snap folder

* libtgvoip: don't enable SSE2 in unsupported archs

* snapcraft: add -alpha sufix on versions and do not include git for tags

* telegram: add patch for building in ARM chips

* desktop-integration: include libunity

* telegram-desktop: no need to define XCURSOR_PATH anymore, desktop helper will do

* snapcraft: compile libunity from upstream to get proper launcher integration

Drop custom patch, it's just better to do it here. This means we
go back to upstream telegramdesktop desktop-id too.

* telegram: get desktop file and icon from telegram part source

* snapcraft: improve snap description

* gcc7: not needed to add devscripts or equivs

Unless we try to build gcc7 here, which well... A bit time consuming.

* libunity: use upstream branch (my changes just merged)

* ci: remove travis integration, it takes to long b.s.io does it already

* telegram: don't do unneeded checks in armhf

* telegram: more signed/unsigned char fixes for ARM, ignore errors for now

* telegram: add getclock definitions for ARM

* telegram: arm support, always use signed chars

* telegram: don't need to use signed chars in ARM anymmore

As we've fixed all the issues

* telegram: replace .desktop file icon with snap one, add keywords

* snapcraft: use diversity check on alpha value

* telegram: detect Ubuntu desktop adding support for badges and indicators

* telegram: unset WAYLAND_DISPLAY to get it running properly

* Add a README

* telegram: just add network-observe plug

* snapcraft: add beta detection

* snapcraft: only add network-manager plug, users might connect it

We should actually have a connection-observe plug.

* patches: add patch to use a customizable working dir in debug

* snapcraft: define again QT_IM_MODULE and QTCOMPOSE fix compose key

Setting compose to proper paths will allow to get composition key
working again in snapped QT apps.

* desktop-integration: add indicator-gtk3 and chinese fonts

* desktop-integration: don't snap fonts, use desktop interface

Fonts are now bind-mounted from host by the desktop interface

* patches: apply patches using 3way merge if they fail

* patches: update telegram-arm-support to apply cleanly

* snapcraft: disable wayland using desktop script env

* snapcraft: libunity has been SRU'ed, we can go back to archive version

* patches: update arm support patch

* breakpad: use upstream versions

* telegram, patches: remove upstreamed patches

* patches: disable Werror

It causes failures in some archs, and we don't care much at this
level (for now).

* patches: remove libtgvoip msse2 patch

* Revert "patches: remove libtgvoip msse2 patch"

Not yet in the submodule used by telegram desktop

This reverts commit 2e6f4cc619.

* snapcraft: show bash debugging on version script

* desktop-gtk3: update mime database and icon-cache during install

This saves some startup time

* telegram: add gsettings plug

* telegram-launch: use user-common as home and migrate if needed

* Import snap folder from telegram-snap repo

* patches, qtbase: use indicator icon in unity or ubuntu

Patch already applied upstream, remove from snap only

* .gitignore: add snap related files

* telegram-launch: merge downloaded files folder if found

* snap: remove patches not needed for upstream

* snap, patch, libtgvoip: sync with upstream

* telegram-launch: remove default dir after moving download files

* snap: remove libtgvoip patches, we can just update the submodule

The actual module update should be managed in a different
commit though.

* snapcraft: explain why gcc7 part is needed

* snapcraft: update summary text

* qt: no need to build gstreamer, and reorder configflags

* plugins: add copyright informations

* telegram: add common-id and parse-info with AppData

Use the appstream integration that snapcraft now supports.

* openal: use v1.18 branch as upstream does now

* qtbuilder: support tags in versions better

* qtbuilder: use shutil.rmtree to remove files

* telegram: set QT_IM_MODULE only if not set

* telegram: add removable-media plug

* telegram-launch: ignore ibus as input method

And add support for getting it from $TELEGRAM_QT_IM_MODULE env var

* snapcraft: use git describe to get revision

* snapcraft: use override-* stanzas for scriptlets

* snap: exit scriptlets on first error

* snap: remove summary, inherit from AppData

* lib_export: use includes paths as defined per platform
2018-07-21 17:35:37 +03:00
Omkar Nath Singh
08841ed895 Update Fedora version
Working fine on Fedora 28.
2018-07-17 00:42:34 +03:00
John Preston
a919737f6e Version 1.3.10.
- Bug fixes and other minor improvements.
2018-07-13 14:19:25 +03:00
John Preston
8f3510b3c4 Use reverse chronological order in export. 2018-07-13 14:17:50 +03:00
John Preston
6c588a8f2f Closed beta 1.3.9.3. 2018-07-12 22:27:24 +03:00
John Preston
4c9ef606f3 Display unread/mention mark in small left column.
Fixes #4939.
2018-07-12 22:25:10 +03:00
John Preston
0b7bb806b7 Improve export HTML layout. 2018-07-12 21:15:36 +03:00
John Preston
78558e513c Closed beta 1.3.9.2. 2018-07-12 18:35:59 +03:00
John Preston
52e7ddf079 Add '-externalupdater' command-line argument.
Now no-autoupdater mode can be switched on in runtime.
Also TDESKTOP_DISABLE_AUTOUPDATE build is disabled in CI (trivial).

Fixes #4895.
2018-07-12 18:35:59 +03:00
John Preston
e2bc6990c7 Fix crash in taskbar icon refresher.
Regression was introduced in 3b956c598.
2018-07-11 23:20:21 +03:00
John Preston
06c3082fdf Fix popular sticker suggestions.
Regression was introduced in ddb4527159.

Fixes #4966.
2018-07-11 23:15:55 +03:00
John Preston
54cd55523b Fix crash in markdown preprocessing. 2018-07-11 17:56:09 +03:00
John Preston
556f75ef6c Rewrite TCP socket reading using bytes::vector.
I hope this fixes a strange assertion violation.
2018-07-11 17:56:09 +03:00
John Preston
951634a717 Closed beta 1.3.9.1. 2018-07-11 17:56:09 +03:00
John Preston
51d7e177a6 Fix error layout in passport email/phone. 2018-07-11 17:56:09 +03:00
John Preston
81e074115d Fix build for Xcode.
Regression was introduced in a8d35b67aa.
2018-07-11 17:56:09 +03:00
John Preston
9eb34e496f Update langs. 2018-07-11 17:56:08 +03:00
John Preston
da60739893 Allow uploading many scans at once in passport. 2018-07-11 17:56:08 +03:00
John Preston
7be1f16313 Don't display errors list in passport. 2018-07-11 17:56:08 +03:00
John Preston
39b0d9e46f Handle the outdated app error in passport. 2018-07-11 17:56:08 +03:00
John Preston
7be9e0fb94 Warn on passport save before upload is finished. 2018-07-11 17:56:07 +03:00
John Preston
e3e8d083ea Remember passport credentials for 30 minutes. 2018-07-11 17:56:07 +03:00
John Preston
9929bfb281 If only selfie is missing use special phrases. 2018-07-11 17:56:07 +03:00
John Preston
effa277a3b Update libtgvoip to 2.1.1. 2018-07-11 17:56:07 +03:00
John Preston
2661f81fd1 Fix field bar cancel button visibility.
Fixes #4913.
2018-07-11 17:56:07 +03:00
John Preston
661de0c326 Improve phrases in passport. 2018-07-11 17:56:06 +03:00
John Preston
e1fd43b2a4 Fix crash in text post processing.
Fixes #4948.
2018-07-11 17:56:06 +03:00
John Preston
b697824540 When following a post link push reply-return.
Fixes #4856.
2018-07-11 17:56:06 +03:00
John Preston
eb3eef4b80 Fix notify settings saving (mute vs silent).
Fixes #4855.
2018-07-10 12:18:41 +03:00
John Preston
c3736c6fa3 Improve photo/video/sticker/GIF export layout. 2018-07-10 12:18:41 +03:00
John Preston
0ef7503917 Improve export history pagination. 2018-07-10 12:18:41 +03:00
John Preston
cef50e5f52 Export file thumbs, use in video messages. 2018-07-10 12:18:41 +03:00
John Preston
cb8ff398a5 Improved html message layout. 2018-07-10 12:18:41 +03:00
John Preston
eeb1a6b769 Add service messages HTML layout. 2018-07-10 12:18:41 +03:00
John Preston
66822f7333 Add some HTML design to export, except messages.
NB Testing the layout, the app is not in a working condition.
2018-07-10 12:18:41 +03:00
John Preston
e466dc9fc7 Fix default build.
Regression was introduced in a8d35b67aa.
2018-07-10 12:14:53 +03:00
Sven-Hendrik Haase
947204bb9d Add missing include to <gsl/gsl> (#4886) 2018-07-03 20:23:14 +03:00
Sven-Hendrik Haase
f37f097dec Add include to <memory> (#4887) 2018-07-03 20:22:52 +03:00
Marco Trevisan
a8d35b67aa lib_export: use includes paths as defined per platform (#4935) 2018-07-03 12:56:51 +03:00
John Preston
4e0d94f347 Version 1.3.9: Fix build for Xcode. 2018-06-28 20:26:31 +01:00
John Preston
c7e773dd9a Version 1.3.9.
- Mark chats in the chat list as Read or Unread.
- Improved censorship circumvention.
2018-06-28 20:12:07 +01:00
John Preston
e64d102efd Better display of first_name + last_name. 2018-06-28 20:01:26 +01:00
John Preston
49ea9434f2 Better nested key-value html serialization. 2018-06-28 18:52:57 +01:00
John Preston
e21c354428 Improve suggest export logic. 2018-06-28 18:44:07 +01:00
John Preston
d0614efd65 Prevent displaying two export suggest boxes. 2018-06-28 18:29:52 +01:00
John Preston
b0baf75fdd Fix forwarded names in saved messages export. 2018-06-28 18:25:23 +01:00
John Preston
efb3e92525 Show "Saved messages" chat name in export UI. 2018-06-28 18:12:13 +01:00
John Preston
5cdc563c9e Add saving of shared contacts vcards in export. 2018-06-28 18:03:44 +01:00
John Preston
a43dfc567c Allow injecting fail handlers in export.
Handle CHANNEL_PRIVATE while exporting all channel messages.
2018-06-28 17:25:50 +01:00
John Preston
ea6e4c6006 Display correct info in pinned message. 2018-06-28 16:28:45 +01:00
John Preston
98930792c3 Fix fast reply and right action in sent messages.
Fixes #4903.
2018-06-28 16:24:39 +01:00
John Preston
165d1aacae Fix tilde formatting in InputField.
Regression was introduced somewhen while uniting input field classes.

Fixes #4829.
2018-06-28 16:07:53 +01:00
John Preston
831f1b6aee Fix crash in file inline bot results.
Fixes #4904.
2018-06-28 16:01:32 +01:00
John Preston
2f5fb3688a Fix crash for invalid inline bot stickers. 2018-06-28 15:15:47 +01:00
John Preston
d8897a0cc8 Make export done button adaptive to text. 2018-06-28 04:39:23 +01:00
John Preston
3b956c598b Fix data export window theme changing.
Fixes #4902.
2018-06-28 04:39:10 +01:00
John Preston
1ee71bbd5c Update GSL to v1.0.0 2018-06-27 22:58:33 +01:00
John Preston
b7ab4fd086 Improve triple-backtick replacement. 2018-06-27 22:58:33 +01:00
John Preston
44c6050bf2 Fix field autocomplete in empty chat. 2018-06-27 22:58:33 +01:00
John Preston
35c759c6bc Mark [un]read from chats list. 2018-06-27 22:58:32 +01:00
John Preston
372cf275e0 Skip draft updates while sending with clear_draft.
I hope fixes #4845, fixes #4852, fixes #4861.
2018-06-27 22:58:32 +01:00
John Preston
33095966af Move sendMessage and sendInlineResult to ApiWrap. 2018-06-27 22:58:32 +01:00
John Preston
ff53404d5b Update API scheme to layer 82. 2018-06-27 22:58:32 +01:00
John Preston
941288b58e Handle new paddings in improved TCP protocol. 2018-06-27 22:58:31 +01:00
John Preston
22441ef80c Handle improved protocol secrets. 2018-06-25 20:22:03 +01:00
John Preston
8c2f11de7d Send correct paddings in improved TCP protocol. 2018-06-25 19:55:52 +01:00
John Preston
c7a4d67cfb Version 1.3.8.
- Testing new data export.
- Bug fixes and other minor improvements.
2018-06-24 16:17:46 +01:00
John Preston
688275ea81 Fix update request timeout. 2018-06-24 16:17:46 +01:00
John Preston
266102df2f Some phrases fixed, some logs added. 2018-06-24 16:17:46 +01:00
John Preston
f7aadc352b Handle LOCATION_INVALID error. 2018-06-24 15:44:53 +01:00
John Preston
1ae3af0e80 Split messages.html by 1000 messages. 2018-06-24 15:44:53 +01:00
John Preston
97d27fe869 Closed beta 1.3.7.4. 2018-06-24 15:44:53 +01:00
John Preston
fcd2e28abb Add some logs. 2018-06-24 15:44:53 +01:00
John Preston
2522e66969 Move export descriptions to lang. 2018-06-24 15:44:53 +01:00
John Preston
b9250edb33 Some more export data improvements. 2018-06-24 15:44:53 +01:00
John Preston
54cab2c5a5 Add other additional data export. 2018-06-24 15:44:53 +01:00
John Preston
6231db1411 Closed beta 1.3.7.3. 2018-06-24 15:44:53 +01:00
John Preston
ef5a395c60 Improve export folder structure. 2018-06-24 15:44:53 +01:00
John Preston
a200771868 Don't suggest export if one is running. 2018-06-24 15:44:53 +01:00
John Preston
914e043abe Improve export phrases. 2018-06-24 15:44:53 +01:00
John Preston
9d66f9cc03 Add basic HTML export. 2018-06-24 15:44:53 +01:00
John Preston
e708065446 Closed beta 1.3.7.2: Fix build for Windows. 2018-06-23 01:02:20 +01:00
John Preston
9c64cdb9c4 Closed beta 1.3.7.2. 2018-06-23 00:57:12 +01:00
John Preston
9f8d61ab2f Add information about saved data. 2018-06-23 00:56:53 +01:00
John Preston
0143fd28af Suggest start export when time comes. 2018-06-23 00:56:53 +01:00
John Preston
844d030332 Save export settings to local storage. 2018-06-23 00:56:53 +01:00
John Preston
ae18ece549 Ask export path with other export options. 2018-06-23 00:56:53 +01:00
John Preston
10a0c6a086 Update phrases. 2018-06-23 00:56:53 +01:00
John Preston
51189fd244 Fix empty chats assertion violation. 2018-06-23 00:56:53 +01:00
John Preston
1e10529f20 Fix Linux build. Use -flto for static libraries.
Some unbelievable crashes happen in MTP codegen-ed serialization
if the binary is using -flto with MTP in non-flto static library.

To build and link static libraries with -flto additional GYP patch
is required, so that ar/ranlib/nm use gcc- wrappers.
2018-06-23 00:28:44 +01:00
John Preston
8d701ebb4f Fix rpl::variable assignment. 2018-06-22 17:45:05 +01:00
John Preston
269bb94138 Closed beta 1.3.7.1: Fix build with GCC. 2018-06-22 01:44:28 +01:00
John Preston
9b98ff52ea Closed beta 1.3.7.1: Fix build for Xcode. 2018-06-22 01:25:54 +01:00
John Preston
52f2f96f36 Closed beta 1.3.7.1: Fix Release build. 2018-06-22 01:01:45 +01:00
John Preston
b53e40f1bf Closed beta 1.3.7.1. 2018-06-22 00:48:32 +01:00
John Preston
4e0d11f517 Add export format selection (text / json). 2018-06-22 00:48:18 +01:00
John Preston
1a24ba857c Parse message entities, export in JSON. 2018-06-22 00:48:18 +01:00
John Preston
1e254b958e Update crl submodule. 2018-06-22 00:48:18 +01:00
John Preston
23140b3d6a Fix build for old OS X. 2018-06-21 23:35:28 +01:00
John Preston
8c901d8f71 Fix build for Xcode. 2018-06-21 22:25:14 +01:00
John Preston
856356ce75 Add web authorizations export. 2018-06-21 22:15:27 +01:00
John Preston
b5a65a4519 Add export to JSON. 2018-06-21 21:42:50 +01:00
John Preston
d056c00c67 Use split ranges to export all messages. 2018-06-21 19:58:54 +01:00
John Preston
36fb6dac89 Call finish takeout. Handle errors. 2018-06-21 14:50:56 +01:00
John Preston
fcda883878 Show messages count in an exported chat. 2018-06-20 22:22:10 +01:00
John Preston
40c0286942 Export userpics in a separate file. 2018-06-20 21:53:31 +01:00
John Preston
59df447fed Request frequent contacts calls category. 2018-06-20 21:39:04 +01:00
John Preston
a253d34c00 Name files by index, not by media date. 2018-06-20 21:32:52 +01:00
John Preston
0a5eac50be Unite Dialogs and LeftChannels in Export. 2018-06-20 19:21:36 +01:00
John Preston
156c3d288c Allow selecting export folder. 2018-06-20 19:12:47 +01:00
John Preston
154e5660de Confirm export stop on quit and logout. 2018-06-20 18:30:57 +01:00
John Preston
13e6b91ac7 Remove old done widget in Export. 2018-06-20 17:45:52 +01:00
John Preston
a89ad5d0fb Add export my data button in Settings. 2018-06-20 17:41:59 +01:00
John Preston
e11c27048b Add export statistics for the final screen. 2018-06-20 17:10:38 +01:00
John Preston
e8dd277a00 Improve export progress / finished design. 2018-06-20 16:59:27 +01:00
John Preston
329db0d8e9 Export panel minimizes to a top bar, like a Call. 2018-06-20 01:02:36 +01:00
John Preston
eaf3ea9289 Fix dialogs list in export. 2018-06-20 01:01:41 +01:00
John Preston
4156beaa3c Export top peers as frequent contacts. 2018-06-19 21:40:16 +01:00
John Preston
4115d3d13d Display export progress. 2018-06-19 19:31:30 +01:00
John Preston
5f01751660 Display errors in export UI.
All errors are now fatal errors :(
2018-06-19 13:35:21 +01:00
John Preston
7d4e23448e Better steps division in export. 2018-06-18 22:52:13 +01:00
John Preston
c7aa5ed544 _DEBUG-test ConcurrentSender generic handlers. 2018-06-17 21:29:50 +01:00
John Preston
1bfe409c93 Export my messages from left channels. 2018-06-17 21:15:40 +01:00
John Preston
e8d619c740 Some export bugs fixed. 2018-06-17 18:18:34 +01:00
John Preston
2dc3ec955a Add downloaded files cache in export.
Also write downloaded photo paths.
2018-06-17 13:47:47 +01:00
John Preston
07ff7c6cb0 Request only my messages by settings bits. 2018-06-17 13:47:07 +01:00
John Preston
8d52ca6be6 Apply file type/size restrictions in export. 2018-06-17 09:54:38 +01:00
John Preston
df91b2bfeb Export settings layout ready. 2018-06-16 20:48:38 +01:00
John Preston
9d02e539c8 Update scheme for special export methods.
Export all saved contacts.
2018-06-16 20:48:38 +01:00
John Preston
241fee80a7 Export full messages information.
Also add some more .match() calls to MTP codegen-ed classes.
2018-06-14 21:34:53 +03:00
John Preston
83786ddeaf Export chat messages photos and documents.
Also rename .visit() with .match() in MTP types.
Also add base::match_method() and base::match() for base::variant.
Also add base::match() and .match() for base::optional_variant.
2018-06-14 01:09:48 +03:00
John Preston
0e9793b845 Move MimeType from utils to core/mime_type.
Also move to Core namespace.
2018-06-14 01:08:47 +03:00
John Preston
2b36dd660b Export chat messages text. 2018-06-13 16:12:36 +03:00
John Preston
35ffc03988 Use .visit() in export data parsing. 2018-06-12 22:59:58 +03:00
John Preston
5a9d1a3fce Add .visit(many, callbacks) method to MTP types. 2018-06-12 22:59:58 +03:00
John Preston
6776d88688 Add chats list export. 2018-06-12 21:09:21 +03:00
John Preston
affe9defb5 Fix authorization import in FILE_MIGRATE case.
Regression was introduced in dd933cf61c.
2018-06-12 16:30:00 +03:00
John Preston
d3fdf433cd Export sessions list. 2018-06-12 01:02:05 +03:00
John Preston
cec8114b99 Add simple files and contacts export.
Also move all API calls in export to Export::ApiWrap.
2018-06-12 01:02:05 +03:00
John Preston
0a1a5ed70e Use abstract export writer for different formats. 2018-06-12 01:02:05 +03:00
John Preston
c587c011d2 Start data export in lib_export. 2018-06-12 01:02:04 +03:00
John Preston
c2fa149ffd Replace InvokeQueued with on_main for has_weak_ptr. 2018-06-12 01:02:04 +03:00
John Preston
c63c75018d Update crl submodule. 2018-06-12 01:02:04 +03:00
1266 changed files with 103004 additions and 45913 deletions

View File

@@ -27,7 +27,7 @@ GOTO:EOF
call:logInfo "Clone dependencies repository"
git clone -q --depth 1 --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
cd %LIB_DIR%
git clone https://github.com/Microsoft/Range-V3-VS2015 range-v3
git clone https://github.com/ericniebler/range-v3
if exist prepare.bat (
call prepare.bat
) else (
@@ -48,7 +48,7 @@ GOTO:EOF
git submodule init
git submodule update
cd %SRC_DIR%\Telegram
call gyp\refresh.bat
call gyp\refresh.bat --api-id 17349 --api-hash 344583e45741c457fe1862106095a5eb
GOTO:EOF
:configureBuild
@@ -56,10 +56,6 @@ GOTO:EOF
call:logInfo "Build version: %BUILD_VERSION%"
set TDESKTOP_BUILD_DEFINES=
echo %BUILD_VERSION% | findstr /C:"disable_autoupdate">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_AUTOUPDATE
)
echo %BUILD_VERSION% | findstr /C:"disable_register_custom_scheme">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME
)
@@ -76,10 +72,6 @@ GOTO:EOF
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
)
echo %BUILD_VERSION% | findstr /C:"disable_unity_integration">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_UNITY_INTEGRATION
)
echo %BUILD_VERSION% | findstr /C:"disable_gtk_integration">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_GTK_INTEGRATION
)

View File

@@ -24,6 +24,8 @@ If we find issues with your pull request, we may suggest some changes and improv
Unfortunately we **do not merge** any pull requests that have new feature implementations, translations to new languages and those which introduce any new user interface elements.
If you have a translations-related contribution, check out [Translations platform][translate].
Telegram Desktop is not a standalone application but a part of [Telegram project][telegram], so all the decisions about the features, languages, user experience, user interface and the design are made inside Telegram team, often according to some roadmap which is not public.
## Build instructions
@@ -33,7 +35,7 @@ environments.
## Pull upstream changes into your fork regularly
Telegram Desktop is advancing quickly. It is therefore critical that you pull upstream changes into your fork on a regular basis. Nothing is worse than putting in a days of hard work into a pull request only to have it rejected because it has diverged too far from upstram.
Telegram Desktop is advancing quickly. It is therefore critical that you pull upstream changes into your fork on a regular basis. Nothing is worse than putting in a days of hard work into a pull request only to have it rejected because it has diverged too far from upstream.
To pull in upstream changes:
@@ -113,3 +115,4 @@ Before you submit a pull request, please test your changes. Verify that Telegram
[pr]: https://github.com/telegramdesktop/tdesktop/compare
[build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions
[closing-issues-via-commit-messages]: https://help.github.com/articles/closing-issues-via-commit-messages/
[translate]: https://translations.telegram.org

View File

@@ -22,8 +22,5 @@ Tell us what happens instead
**Used theme**:
<details><summary><b>Logs</b>:</summary>
Insert logs here (if necessary)
<!-- You can type `debugmode` in settings and then see ~/.TelegramDesktop/DebugLogs/log_...txt for log files.
Type `debugmode` in settings again to disable logs. -->
Insert log.txt here (if necessary)
</details>

9
.gitignore vendored
View File

@@ -50,6 +50,15 @@ ipch/
project.xcworkspace
xcuserdata
parts
prime
stage
*.snap
.snapcraft
/snap/gui/*.png
/snap/gui/*.desktop
/snap/plugins/__pycache__
/Telegram/*.user.*
*.pro.user
/Linux/

3
.gitmodules vendored
View File

@@ -13,3 +13,6 @@
[submodule "Telegram/ThirdParty/crl"]
path = Telegram/ThirdParty/crl
url = https://github.com/telegramdesktop/crl.git
[submodule "Telegram/ThirdParty/xxHash"]
path = Telegram/ThirdParty/xxHash
url = https://github.com/Cyan4973/xxHash.git

View File

@@ -10,12 +10,10 @@ cache:
env:
matrix:
- BUILD_VERSION=""
- BUILD_VERSION="disable_autoupdate"
- BUILD_VERSION="disable_register_custom_scheme"
- BUILD_VERSION="disable_crash_reports"
- BUILD_VERSION="disable_network_proxy"
- BUILD_VERSION="disable_desktop_file_generation"
- BUILD_VERSION="disable_unity_integration"
- BUILD_VERSION="disable_gtk_integration"
matrix:
@@ -46,7 +44,7 @@ addons:
- libopus-dev
- libpulse-dev
- libssl-dev
- libunity-dev
- libdee-dev
- libva-dev
- libvdpau-dev
- libxcb-xkb-dev

View File

@@ -17,7 +17,7 @@ XKB_PATH="$BUILD/libxkbcommon"
XKB_CACHE_VERSION="3"
QT_PATH="$BUILD/qt"
QT_CACHE_VERSION="3"
QT_CACHE_VERSION="4"
QT_PATCH="$UPSTREAM/Telegram/Patches/qtbase_${QT_VERSION//\./_}.diff"
BREAKPAD_PATH="$BUILD/breakpad"
@@ -40,7 +40,7 @@ FFMPEG_PATH="$BUILD/ffmpeg"
FFMPEG_CACHE_VERSION="3"
OPENAL_PATH="$BUILD/openal-soft"
OPENAL_CACHE_VERSION="3"
OPENAL_CACHE_VERSION="4"
GYP_DEFINES=""
@@ -100,10 +100,6 @@ build() {
fi
# Configure the build
if [[ $BUILD_VERSION == *"disable_autoupdate"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_AUTOUPDATE"
fi
if [[ $BUILD_VERSION == *"disable_register_custom_scheme"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
fi
@@ -120,10 +116,6 @@ build() {
GYP_DEFINES+=",TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION"
fi
if [[ $BUILD_VERSION == *"disable_unity_integration"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_UNITY_INTEGRATION"
fi
if [[ $BUILD_VERSION == *"disable_gtk_integration"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_GTK_INTEGRATION"
fi
@@ -476,10 +468,12 @@ buildOpenAL() {
rm -rf "$EXTERNAL/openal-soft"
fi
cd $OPENAL_PATH
rm -rf *
sudo rm -rf *
cd "$EXTERNAL"
git clone https://github.com/kcat/openal-soft.git
cd openal-soft
git checkout openal-soft-1.19.1
cd "$EXTERNAL/openal-soft/build"
cmake \
@@ -606,6 +600,7 @@ buildCustomQt() {
cd "$EXTERNAL/qt${QT_VERSION}/qtbase/src/plugins/platforminputcontexts"
git clone https://github.com/telegramdesktop/fcitx.git
git clone https://github.com/telegramdesktop/hime.git
git clone https://github.com/telegramdesktop/nimf.git
cd ../../../..
./configure -prefix $QT_PATH -release -opensource -confirm-license -qt-zlib \
@@ -677,6 +672,8 @@ buildTelegram() {
cd "$UPSTREAM/Telegram/gyp"
"$GYP_PATH/gyp" \
-Dapi_id=17349 \
-Dapi_hash=344583e45741c457fe1862106095a5eb \
-Dbuild_defines=${GYP_DEFINES:1} \
-Dlinux_path_xkbcommon=$XKB_PATH \
-Dlinux_path_va=$VA_PATH \

2
LEGAL
View File

@@ -1,7 +1,7 @@
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
Copyright (c) 2014-2018 John Preston, https://desktop.telegram.org
Copyright (c) 2014-2019 John Preston, https://desktop.telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -15,8 +15,9 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* Windows XP - Windows 10 (**not** RT)
* Mac OS X 10.8 - Mac OS X 10.11
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
* Ubuntu 12.04 - Ubuntu 18.04
* Fedora 22 - Fedora 24
* Ubuntu 12.04 - Ubuntu 18.10
* Fedora 22 - Fedora 29
* [Snappy](https://snapcraft.io/telegram-desktop)
## Third-party
@@ -30,7 +31,7 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* Google Crashpad ([Apache License 2.0](https://chromium.googlesource.com/crashpad/crashpad/+/master/LICENSE))
* GYP ([BSD License](https://github.com/bnoordhuis/gyp/blob/master/LICENSE))
* Ninja ([Apache License 2.0](https://github.com/ninja-build/ninja/blob/master/COPYING))
* OpenAL Soft ([LGPL](http://kcat.strangesoft.net/openal.html))
* OpenAL Soft ([LGPL](https://github.com/kcat/openal-soft/blob/master/COPYING))
* Opus codec ([BSD License](http://www.opus-codec.org/license/))
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
@@ -39,11 +40,12 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
* 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))
## Build instructions
* [Visual Studio 2017][msvc]
* [Xcode 9][xcode]
* [Xcode 10][xcode]
* [GYP/CMake on GNU/Linux][cmake]
[//]: # (LINKS)

View File

@@ -1,5 +1,5 @@
diff --git a/src/build/common.gypi b/src/build/common.gypi
index 29990c6..53e99d4 100644
index 29990c65..53e99d44 100644
--- a/src/build/common.gypi
+++ b/src/build/common.gypi
@@ -330,6 +330,7 @@
@@ -11,7 +11,7 @@ index 29990c6..53e99d4 100644
},
}],
diff --git a/src/client/mac/Breakpad.xcodeproj/project.pbxproj b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
index 1a93ce6..1c1d643 100644
index 1a93ce6d..b5986e33 100644
--- a/src/client/mac/Breakpad.xcodeproj/project.pbxproj
+++ b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
@@ -35,6 +35,19 @@
@@ -34,7 +34,15 @@ index 1a93ce6..1c1d643 100644
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 */; };
@@ -170,11 +183,8 @@
@@ -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 */; };
@@ -46,7 +54,7 @@ index 1a93ce6..1c1d643 100644
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 +223,6 @@
@@ -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 */; };
@@ -54,7 +62,7 @@ index 1a93ce6..1c1d643 100644
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 +419,6 @@
@@ -410,20 +420,6 @@
remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
remoteInfo = breakpadUtilities;
};
@@ -75,7 +83,7 @@ index 1a93ce6..1c1d643 100644
F93DE2FB0F82C3C600608B94 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
@@ -536,13 +531,6 @@
@@ -536,13 +532,6 @@
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
remoteInfo = Breakpad;
};
@@ -89,7 +97,7 @@ index 1a93ce6..1c1d643 100644
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -714,7 +702,6 @@
@@ -714,7 +703,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -97,7 +105,7 @@ index 1a93ce6..1c1d643 100644
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -1181,18 +1168,13 @@
@@ -1181,18 +1169,13 @@
isa = PBXNativeTarget;
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */;
buildPhases = (
@@ -116,7 +124,7 @@ index 1a93ce6..1c1d643 100644
);
name = Breakpad;
productInstallPath = "$(HOME)/Library/Frameworks";
@@ -1399,6 +1381,8 @@
@@ -1399,6 +1382,8 @@
/* Begin PBXProject section */
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
@@ -125,7 +133,7 @@ index 1a93ce6..1c1d643 100644
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
@@ -1583,16 +1567,6 @@
@@ -1583,16 +1568,6 @@
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
@@ -142,7 +150,7 @@ index 1a93ce6..1c1d643 100644
F92C569C0ECE04A7009BE4BA /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1640,20 +1614,6 @@
@@ -1640,20 +1615,6 @@
shellPath = /bin/sh;
shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
};
@@ -163,10 +171,11 @@ index 1a93ce6..1c1d643 100644
F9C77DD80F7DD5CF0045F7DB /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1674,6 +1634,19 @@
@@ -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 */,
@@ -183,7 +192,7 @@ index 1a93ce6..1c1d643 100644
F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */,
F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */,
F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */,
@@ -1955,16 +1928,6 @@
@@ -1955,16 +1930,6 @@
target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
targetProxy = F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */;
};
@@ -200,7 +209,7 @@ index 1a93ce6..1c1d643 100644
F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F93803BD0F80820F004D428B /* generator_test */;
@@ -2025,11 +1988,6 @@
@@ -2025,11 +1990,6 @@
target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
targetProxy = F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */;
};
@@ -212,7 +221,7 @@ index 1a93ce6..1c1d643 100644
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -2126,8 +2084,12 @@
@@ -2126,8 +2086,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
buildSettings = {
@@ -226,7 +235,7 @@ index 1a93ce6..1c1d643 100644
};
name = Debug;
};
@@ -2135,7 +2097,12 @@
@@ -2135,7 +2099,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027811F0D3AF00FCF3E4 /* BreakpadRelease.xcconfig */;
buildSettings = {
@@ -239,7 +248,7 @@ index 1a93ce6..1c1d643 100644
};
name = Release;
};
@@ -2454,7 +2421,12 @@
@@ -2454,7 +2423,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
buildSettings = {
@@ -253,7 +262,7 @@ index 1a93ce6..1c1d643 100644
name = "Debug With Code Coverage";
};
diff --git a/src/client/mac/Framework/Breakpad.mm b/src/client/mac/Framework/Breakpad.mm
index 1d2e519..943310f 100644
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) {
@@ -480,7 +489,7 @@ index 1d2e519..943310f 100644
}
diff --git a/src/common/language.cc b/src/common/language.cc
index 978fb85..a95ae5f 100644
index 978fb855..a95ae5f7 100644
--- a/src/common/language.cc
+++ b/src/common/language.cc
@@ -46,8 +46,27 @@
@@ -552,7 +561,7 @@ index 978fb85..a95ae5f 100644
#endif
}
diff --git a/src/common/linux/elf_symbols_to_module.cc b/src/common/linux/elf_symbols_to_module.cc
index 562875e..4367851 100644
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 @@
@@ -615,7 +624,7 @@ index 562875e..4367851 100644
module->AddExtern(ext);
}
diff --git a/src/tools/linux/tools_linux.gypi b/src/tools/linux/tools_linux.gypi
index 1c15992..020e4c1 100644
index 1c15992e..020e4c1c 100644
--- a/src/tools/linux/tools_linux.gypi
+++ b/src/tools/linux/tools_linux.gypi
@@ -58,7 +58,7 @@
@@ -627,3 +636,16 @@ index 1c15992..020e4c1 100644
],
'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,5 +1,5 @@
diff --git a/pylib/gyp/generator/cmake.py b/pylib/gyp/generator/cmake.py
index a2b9629..68d7020 100644
index a2b9629..ac59461 100644
--- a/pylib/gyp/generator/cmake.py
+++ b/pylib/gyp/generator/cmake.py
@@ -1070,6 +1070,23 @@ def WriteTarget(namer, qualified_target, target_dicts, build_dir, config_to_use,
@@ -26,6 +26,43 @@ index a2b9629..68d7020 100644
UnsetVariable(output, 'TOOLSET')
UnsetVariable(output, 'TARGET')
@@ -1112,6 +1129,8 @@ def GenerateOutputForConfig(target_list, target_dicts, data,
SetVariable(output, 'configuration', config_to_use)
ar = None
+ ranlib = None
+ nm = None
cc = None
cxx = None
@@ -1121,17 +1140,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 db99d6a..8d56baf 100644
--- a/pylib/gyp/generator/xcode.py

View File

@@ -1,8 +1,8 @@
diff --git a/build/common.gypi b/build/common.gypi
index 1affc70..c0d2f6a 100644
index 1affc70..0677e4b 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -66,6 +66,11 @@
@@ -66,6 +66,13 @@
'conditions': [
['clang!=0', {
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
@@ -10,11 +10,13 @@ index 1affc70..c0d2f6a 100644
+ '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 +121,9 @@
@@ -116,6 +123,9 @@
],
},

View File

@@ -1,5 +1,5 @@
diff --git a/configure b/configure
index cb8d78fd3cb..cadb3f0a880 100755
index cb8d78fd3c..cadb3f0a88 100755
--- a/configure
+++ b/configure
@@ -511,7 +511,8 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
@@ -13,7 +13,7 @@ index cb8d78fd3cb..cadb3f0a880 100755
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 086510dd963..c485967863d 100644
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
@@ -27,12 +27,12 @@ index 086510dd963..c485967863d 100644
+# 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
+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 0cc8cd6dfdd..ca9725b7791 100644
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) {
@@ -47,7 +47,7 @@ index 0cc8cd6dfdd..ca9725b7791 100644
}
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
index bb79a139b3c..5d595bc3b34 100644
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
@@ -74,7 +74,7 @@ index bb79a139b3c..5d595bc3b34 100644
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 ebff9509ab2..4300ca4c0f0 100644
index ebff9509ab..4300ca4c0f 100644
--- a/src/gui/painting/qpaintengine_p.h
+++ b/src/gui/painting/qpaintengine_p.h
@@ -87,8 +87,18 @@ public:
@@ -98,7 +98,7 @@ index ebff9509ab2..4300ca4c0f0 100644
// Make sure we're inside the viewport.
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index 4879ae51d7d..56cdcbaf01c 100644
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
@@ -175,7 +175,7 @@ index 4879ae51d7d..56cdcbaf01c 100644
inline void resetRightBearing()
diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h
index cbe42c38444..b273db7e78c 100644
index cbe42c3844..b273db7e78 100644
--- a/src/gui/text/qtextlayout.h
+++ b/src/gui/text/qtextlayout.h
@@ -194,6 +194,9 @@ private:
@@ -189,7 +189,7 @@ index cbe42c38444..b273db7e78c 100644
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 360f9722c70..f28f289ef6a 100644
index 360f9722c7..f28f289ef6 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -118,6 +118,8 @@ QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate()
@@ -202,7 +202,7 @@ index 360f9722c70..f28f289ef6a 100644
delete channels[i].socket;
}
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
index ca7afb7d1b9..25ae50008db 100644
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)
@@ -220,7 +220,7 @@ index ca7afb7d1b9..25ae50008db 100644
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 6e2c8a2a9af..3cace8abcbc 100644
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
@@ -234,7 +234,7 @@ index 6e2c8a2a9af..3cace8abcbc 100644
QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
index 92358ecc745..694fee73507 100644
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()
@@ -271,7 +271,7 @@ index 92358ecc745..694fee73507 100644
- (void)appleEventQuit:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
diff --git a/src/plugins/platforms/cocoa/qcocoacursor.mm b/src/plugins/platforms/cocoa/qcocoacursor.mm
index b81b9a0b1c2..4e59e833b1d 100644
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)
@@ -284,7 +284,7 @@ index b81b9a0b1c2..4e59e833b1d 100644
CFRelease(e);
}
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm
index 9850f83dea8..b2e1d3dfda7 100644
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
@@ -317,7 +317,7 @@ index 9850f83dea8..b2e1d3dfda7 100644
}
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 9fd05a65ee9..dea60720e78 100644
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()
@@ -348,7 +348,7 @@ index 9fd05a65ee9..dea60720e78 100644
QCocoaScreen *QCocoaIntegration::screenAtIndex(int index)
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
index e46eaff6be3..c62db534a2d 100644
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()
@@ -375,7 +375,7 @@ index e46eaff6be3..c62db534a2d 100644
}
return ret;
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index 83c960d9317..03ae9696afe 100755
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
@@ -543,7 +543,7 @@ index 83c960d9317..03ae9696afe 100755
}
@end
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 4d0458a4aa2..3357a5ef817 100644
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)
@@ -606,7 +606,7 @@ index 4d0458a4aa2..3357a5ef817 100644
[iconButton setImage:image];
[image release];
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index a18ee7ff71d..1f91feb0ae8 100644
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;
@@ -675,7 +675,7 @@ index a18ee7ff71d..1f91feb0ae8 100644
}
return [super performKeyEquivalent:nsevent];
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
index c68076477f3..e2a7aafa586 100644
index c68076477f..e2a7aafa58 100644
--- a/src/tools/qlalr/lalr.cpp
+++ b/src/tools/qlalr/lalr.cpp
@@ -246,11 +246,13 @@ void Grammar::buildExtendedGrammar ()
@@ -715,7 +715,7 @@ index c68076477f3..e2a7aafa586 100644
continue;
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 7396808442e..7178aecf800 100644
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,
@@ -768,7 +768,7 @@ index 7396808442e..7178aecf800 100644
|| (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 0845a5eb02f..5735cb6b396 100644
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
@@ -786,7 +786,7 @@ index 0845a5eb02f..5735cb6b396 100644
}
diff --git a/src/widgets/util/qsystemtrayicon_qpa.cpp b/src/widgets/util/qsystemtrayicon_qpa.cpp
index f98aeaf6782..00c0734129e 100644
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()
@@ -815,7 +815,7 @@ index f98aeaf6782..00c0734129e 100644
}
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index 75f30599be4..980f2be1e93 100644
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)
@@ -829,7 +829,7 @@ index 75f30599be4..980f2be1e93 100644
#ifndef QT_NO_COMPLETER
complete(event->key());
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 96438a0bdf7..b0b72064056 100644
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)

View File

@@ -252,6 +252,43 @@ index 41834b21ae..8cdf4ab145 100644
if (value == WSAEADDRNOTAVAIL) {
setError(QAbstractSocket::NetworkError, AddressNotAvailableErrorString);
socketState = QAbstractSocket::UnconnectedState;
diff --git a/src/platformsupport/dbustray/qdbustrayicon.cpp b/src/platformsupport/dbustray/qdbustrayicon.cpp
index 4d6e70720d..9bdb0beb67 100644
--- a/src/platformsupport/dbustray/qdbustrayicon.cpp
+++ b/src/platformsupport/dbustray/qdbustrayicon.cpp
@@ -58,9 +58,18 @@ QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(qLcTray, "qt.qpa.tray")
+static QString cachePath()
+{
+ QString xdgCache = QString::fromUtf8(getenv("XDG_CACHE_HOME"));
+ if (xdgCache.isEmpty()) {
+ xdgCache = QDir::cleanPath(QDir::homePath() + QStringLiteral("/.cache"));
+ }
+ return xdgCache;
+}
+
static const QString KDEItemFormat = QStringLiteral("org.kde.StatusNotifierItem-%1-%2");
static const QString KDEWatcherService = QStringLiteral("org.kde.StatusNotifierWatcher");
-static const QString TempFileTemplate = QDir::tempPath() + QStringLiteral("/qt-trayicon-XXXXXX.png");
+static const QString TempFileTemplate = cachePath() + QStringLiteral("/qt-trayicon-XXXXXX.png");
static const QString XdgNotificationService = QStringLiteral("org.freedesktop.Notifications");
static const QString XdgNotificationPath = QStringLiteral("/org/freedesktop/Notifications");
static const QString DefaultAction = QStringLiteral("default");
@@ -151,6 +160,12 @@ QTemporaryFile *QDBusTrayIcon::tempIcon(const QIcon &icon)
uint pid = session.interface()->servicePid(KDEWatcherService).value();
QString processName = QLockFilePrivate::processNameByPid(pid);
necessary = processName.endsWith(QStringLiteral("indicator-application-service"));
+ if (!necessary) {
+ QString xdgDesktop = QString::fromUtf8(getenv("XDG_CURRENT_DESKTOP"));
+ QStringList desktops = xdgDesktop.toLower().split(QLatin1Char(':'));
+ necessary = desktops.contains(QStringLiteral("unity")) ||
+ desktops.contains(QStringLiteral("ubuntu"));
+ }
necessity_checked = true;
}
if (!necessary)
diff --git a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
index 728b166b71..1dc64593e1 100644
--- a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
@@ -413,7 +450,7 @@ index 8ebabf3419..7bb8abd0d0 100644
}
populateFromPattern(pattern);
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
index 566abf2126..5b9c714ffa 100644
index 566abf2126..5c5fde9813 100644
--- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
+++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
@@ -265,6 +265,13 @@ static void getFontDescription(CTFontDescriptorRef font, FontDescription *fd)
@@ -430,6 +467,20 @@ index 566abf2126..5b9c714ffa 100644
fd->styleName = (CFStringRef)CTFontDescriptorCopyAttribute(font, kCTFontStyleNameAttribute);
fd->weight = QFont::Normal;
fd->style = QFont::StyleNormal;
@@ -300,9 +307,10 @@ static void getFontDescription(CTFontDescriptorRef font, FontDescription *fd)
if (styles) {
if (CFNumberRef weightValue = (CFNumberRef) CFDictionaryGetValue(styles, kCTFontWeightTrait)) {
- float normalizedWeight;
- if (CFNumberGetValue(weightValue, kCFNumberFloatType, &normalizedWeight))
- fd->weight = QCoreTextFontEngine::qtWeightFromCFWeight(normalizedWeight);
+ // Patch: backport bugfix from 'b64ea4a3ab' commit.
+ double normalizedWeight;
+ if (CFNumberGetValue(weightValue, kCFNumberFloat64Type, &normalizedWeight))
+ fd->weight = QCoreTextFontEngine::qtWeightFromCFWeight(float(normalizedWeight));
}
if (CFNumberRef italic = (CFNumberRef) CFDictionaryGetValue(styles, kCTFontSlantTrait)) {
double d;
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
index 7b459584ea..2ed2fd9b3b 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -476,7 +527,7 @@ index d1bea9af23..36a15a6473 100644
event.setCommitString(QChar(character));
QCoreApplication::sendEvent(m_focusObject, &event);
diff --git a/src/plugins/platforminputcontexts/platforminputcontexts.pro b/src/plugins/platforminputcontexts/platforminputcontexts.pro
index faea54b874..0f9650996e 100644
index faea54b874..fe4a837511 100644
--- a/src/plugins/platforminputcontexts/platforminputcontexts.pro
+++ b/src/plugins/platforminputcontexts/platforminputcontexts.pro
@@ -1,7 +1,8 @@
@@ -484,8 +535,8 @@ index faea54b874..0f9650996e 100644
qtHaveModule(dbus) {
-!mac:!win32:SUBDIRS += ibus
+# Patch: Adding fcitx/hime input context plugin to our static build.
+!mac:!win32:SUBDIRS += ibus fcitx hime
+# Patch: Adding fcitx/hime/nimf input context plugin to our static build.
+!mac:!win32:SUBDIRS += ibus fcitx hime nimf
}
contains(QT_CONFIG, xcb-plugin): SUBDIRS += compose
@@ -630,7 +681,7 @@ index c2d206fb45..9b9739862d 100644
}
return ret;
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index 8152c57ffd..5ddd7b353d 100644
index 8152c57ffd..87ba2f3f72 100644
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
@@ -94,6 +94,8 @@ QT_USE_NAMESPACE
@@ -746,7 +797,19 @@ index 8152c57ffd..5ddd7b353d 100644
systray = sys;
imageCell = [[QNSImageView alloc] initWithParent:self];
[item setView: imageCell];
@@ -482,6 +513,10 @@ QT_END_NAMESPACE
@@ -448,6 +479,11 @@ QT_END_NAMESPACE
-(void)dealloc {
[[NSStatusBar systemStatusBar] removeStatusItem:item];
[[NSNotificationCenter defaultCenter] removeObserver:imageCell];
+
+ // Patch: Fix crash in macOS 10.14.
+ // Somehow item and imageCell are retained and attempt to be drawn if left in view.
+ [item setView: nil];
+
[imageCell release];
[item release];
[super dealloc];
@@ -482,6 +518,10 @@ QT_END_NAMESPACE
selector:@selector(menuTrackingDone:)
name:NSMenuDidEndTrackingNotification
object:m];
@@ -820,7 +883,7 @@ index c0d5904367..f3c2047196 100644
[iconButton setImage:image];
[image release];
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index c67bcfd23b..2616f420cb 100644
index c67bcfd23b..6a60670aee 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -647,6 +647,12 @@ QT_WARNING_POP
@@ -894,6 +957,17 @@ index c67bcfd23b..2616f420cb 100644
- (void)cancelOperation:(id)sender
{
Q_UNUSED(sender);
@@ -1981,6 +2006,10 @@ static QPoint mapWindowCoordinates(QWindow *source, QWindow *target, QPoint poin
// change the cursor
[nativeCursor set];
+ // Patch: Backport a fix from cd08753d3e. Starting with macOS Mojave this requires accessibility access.
+ if (QSysInfo::macVersion() >= Q_MV_OSX(10, 14))
+ return;
+
// Make sure the cursor is updated correctly if the mouse does not move and window is under cursor
// by creating a fake move event
if (m_updatingDrag)
diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
index 94bb71e429..16ab51e166 100644
--- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

View File

@@ -92,7 +92,7 @@ msgServiceFont: semiboldFont;
msgServiceNameFont: semiboldFont;
msgServicePhotoWidth: 100px;
msgDateFont: font(13px);
msgMinWidth: 190px;
msgMinWidth: 160px;
msgPhotoSize: 33px;
msgPhotoSkip: 40px;
msgPadding: margins(13px, 7px, 13px, 8px);
@@ -243,12 +243,6 @@ dragPadding: margins(20px, 10px, 20px, 10px);
dragHeight: 72px;
minPhotoSize: 100px;
maxMediaSize: 430px;
maxStickerSize: 256px;
maxGifSize: 320px;
maxSignatureSize: 144px;
radialSize: size(50px, 50px);
radialLine: 3px;
radialDuration: 350;
@@ -264,19 +258,6 @@ videoIcon: icon {
};
locationSize: size(320px, 240px);
webPageLeft: 10px;
webPageBar: 2px;
webPageTitleFont: semiboldFont;
webPageTitleStyle: semiboldTextStyle;
webPageTitleOutFg: historyTextOutFg;
webPageTitleInFg: historyTextInFg;
webPageDescriptionOutFg: historyTextOutFg;
webPageDescriptionInFg: historyTextInFg;
webPageDescriptionFont: normalFont;
webPageDescriptionStyle: defaultTextStyle;
webPagePhotoSize: 100px;
webPagePhotoDelta: 8px;
mediaPlayerSuppressDuration: 150;
botDescSkip: 8px;

View File

@@ -444,6 +444,9 @@ historyComposeButtonBg: historyComposeAreaBg; // unblock / join channel / mute c
historyComposeButtonBgOver: windowBgOver; // unblock / join channel / mute channel button background with mouse over
historyComposeButtonBgRipple: windowBgRipple; // unblock / join channel / mute channel button ripple effect
mapPointDrop: #fd4444; // geo location marker background
mapPointDot: #ffffff; // geo location marker point
// overview
overviewCheckBg: #00000040; // shared media / files / links checkbox background for not selected rows when some rows are selected
overviewCheckBgActive: windowBgActive; // shared media / files / links checkbox background for selected rows

Binary file not shown.

View File

@@ -0,0 +1,14 @@
// This is a list of your own shortcuts for Telegram Desktop
// You can see full list of commands in the 'shortcuts-default.json' file
// Place a null value instead of a command string to switch the shortcut off
[
// {
// "command": "close_telegram",
// "keys": "ctrl+f4"
// },
// {
// "command": "quit_telegram",
// "keys": "ctrl+q"
// }
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,531 @@
body {
margin: 0;
font: 12px/18px 'Open Sans',"Lucida Grande","Lucida Sans Unicode",Arial,Helvetica,Verdana,sans-serif;
}
strong {
font-weight: 700;
}
code, kbd, pre, samp {
font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 4px;
}
pre {
display: block;
margin: 0;
line-height: 1.42857143;
word-break: break-all;
word-wrap: break-word;
color: #333;
background-color: #f5f5f5;
border-radius: 4px;
overflow: auto;
padding: 3px;
border: 1px solid #eee;
max-height: none;
font-size: inherit;
}
.clearfix:after {
content: " ";
visibility: hidden;
display: block;
height: 0;
clear: both;
}
.pull_left {
float: left;
}
.pull_right {
float: right;
}
.page_wrap {
background-color: #ffffff;
color: #000000;
}
.page_wrap a {
color: #168acd;
text-decoration: none;
}
.page_wrap a:hover {
text-decoration: underline;
}
.page_header {
position: fixed;
z-index: 10;
background-color: #ffffff;
width: 100%;
border-bottom: 1px solid #e3e6e8;
}
.page_header .content {
width: 480px;
margin: 0 auto;
border-radius: 0 !important;
}
.page_header a.content {
background-repeat: no-repeat;
background-position: 24px 21px;
background-size: 24px 24px;
}
.bold {
color: #212121;
font-weight: 700;
}
.details {
color: #70777b;
}
.page_header .content .text {
padding: 24px 24px 22px 24px;
font-size: 22px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.page_header a.content .text {
padding: 24px 24px 22px 82px;
}
.page_body {
padding-top: 64px;
width: 480px;
margin: 0 auto;
}
.page_about {
padding: 24px 24px;
}
.with_divider {
border-top: 1px solid #e3e6e8;
}
.userpic_link {
display: block;
text-decoration: none;
}
.userpic_link:hover {
text-decoration: none;
}
.userpic {
display: block;
border-radius: 50%;
overflow: hidden;
}
.userpic .initials {
display: block;
color: #fff;
text-align: center;
text-transform: uppercase;
user-select: none;
}
.color_red,
.userpic1,
.media_call .fill,
.media_file .fill,
.media_live_location .fill {
background-color: #ff5555;
}
.color_green,
.userpic2,
.media_call.success .fill,
.media_photo .fill {
background-color: #64bf47;
}
.color_yellow,
.userpic3,
.media_venue .fill {
background-color: #ffab00;
}
.color_blue,
.userpic4,
.media_audio_file .fill,
.media_voice_message .fill {
background-color: #4f9cd9;
}
.color_purple,
.userpic5,
.media_game .fill {
background-color: #9884e8;
}
.color_pink,
.userpic6,
.media_invoice .fill {
background-color: #e671a5;
}
.color_sea,
.userpic7,
.media_location .fill,
.media_video .fill {
background-color: #47bcd1;
}
.color_orange,
.userpic8,
.media_contact .fill {
background-color: #ff8c44;
}
.personal_info {
padding: 24px;
}
.personal_info .userpic .initials {
font-size: 30px;
}
.personal_info .rows {
float: left;
padding-right: 24px;
}
.personal_info .names {
width: 164px;
}
.personal_info .info {
width: 124px;
}
.personal_info .bio {
width: 400px;
}
.personal_info .row {
padding-bottom: 16px;
}
a.block_link {
display: block;
text-decoration: none !important;
border-radius: 4px;
}
a.block_link:hover {
text-decoration: none !important;
background-color: #f5f7f8;
}
.sections {
padding: 11px 0;
}
.section {
height: 48px;
background-position: 24px 12px;
background-repeat: no-repeat;
background-size: 24px 24px;
}
.section .counter {
float: right;
padding: 14px 24px 0;
font-size: 15px;
}
.section .label {
padding: 15px 0 0 82px;
font-size: 15px;
}
.list_page .page_about {
padding: 16px 24px 0;
font-size: 11px;
}
.list_page .entry_list {
padding: 16px 0;
}
.list_page .entry {
padding: 10px 16px;
}
.list_page .entry .userpic .initials {
font-size: 18px;
}
.list_page .entry .body {
margin-left: 66px;
}
.list_page .entry .name {
padding: 4px 0 2px;
font-size: 14px;
}
.list_page .entry .subname {
padding-top: 4px;
}
.list_page .entry .details_entry {
padding-top: 4px;
}
.list_page .entry .info {
font-size: 11px;
padding-top: 5px;
}
.history {
padding: 16px 0;
}
.message {
margin: 0 -10px;
transition: background-color 2.0s ease;
}
div.selected {
background-color: rgba(242,246,250,255);
transition: background-color 0.5s ease;
}
.service {
padding: 10px 24px;
}
.service .body {
text-align: center;
}
.service .userpic_wrap {
padding-top: 10px;
}
.service .userpic {
margin: 0 auto;
}
.service .userpic .initials {
font-size: 24px;
}
.message .userpic .initials {
font-size: 16px;
}
.default {
padding: 10px;
}
.default.joined {
margin-top: -10px;
}
.default .from_name {
color: #3892db;
font-weight: 700;
padding-bottom: 5px;
}
.default .from_name .details {
font-weight: normal;
}
.default .body {
margin-left: 60px;
}
.default .text {
word-wrap: break-word;
line-height: 150%;
}
.default .reply_to,
.default .media_wrap {
padding-bottom: 5px;
}
.default .media {
margin: 0 -10px;
padding: 5px 10px;
}
.default .media .fill,
.default .media .thumb {
width: 48px;
height: 48px;
border-radius: 50%;
}
.default .media .fill {
background-repeat: no-repeat;
background-position: 12px 12px;
background-size: 24px 24px;
}
.default .media .title,
.default .media_poll .question {
padding-top: 4px;
font-size: 14px;
}
.default .media .description {
color: #000000;
padding-top: 4px;
font-size: 13px;
}
.default .media .status {
padding-top: 4px;
font-size: 13px;
}
.default .video_file_wrap,
.default .animated_wrap {
position: relative;
}
.default .video_file,
.default .animated,
.default .photo,
.default .sticker {
display: block;
}
.video_duration {
background: rgba(0, 0, 0, .4);
padding: 0px 5px;
position: absolute;
z-index: 2;
border-radius: 2px;
right: 3px;
bottom: 3px;
color: #ffffff;
font-size: 11px;
}
.video_play_bg {
background: rgba(0, 0, 0, .4);
width: 40px;
height: 40px;
line-height: 0;
position: absolute;
z-index: 2;
border-radius: 50%;
overflow: hidden;
margin: -20px auto 0 -20px;
top: 50%;
left: 50%;
pointer-events: none;
}
.video_play {
position: absolute;
display: inline-block;
top: 50%;
left: 50%;
margin-left: -5px;
margin-top: -9px;
z-index: 1;
width: 0;
height: 0;
border-style: solid;
border-width: 9px 0 9px 14px;
border-color: transparent transparent transparent #fff;
}
.gif_play {
font-weight: 700;
color: #FFF;
display: block;
line-height: 40px;
font-size: 13px;
text-align: center;
}
.pagination {
text-align: center;
padding: 20px;
font-size: 16px;
}
.toast_container {
position: fixed;
left: 50%;
top: 50%;
opacity: 0;
transition: opacity 3.0s ease;
}
.toast_body {
margin: 0 -50%;
float: left;
border-radius: 15px;
padding: 10px 20px;
background: rgba(0, 0, 0, 0.7);
color: #ffffff;
}
div.toast_shown {
opacity: 1;
transition: opacity 0.4s ease;
}
.section.calls {
background-image: url(../images/section_calls.png);
}
.section.chats {
background-image: url(../images/section_chats.png);
}
.section.contacts {
background-image: url(../images/section_contacts.png);
}
.section.frequent {
background-image: url(../images/section_frequent.png);
}
.section.photos {
background-image: url(../images/section_photos.png);
}
.section.sessions {
background-image: url(../images/section_sessions.png);
}
.section.web {
background-image: url(../images/section_web.png);
}
.section.other {
background-image: url(../images/section_other.png)
}
.page_header a.content {
background-image: url(../images/back.png);
}
.media_call .fill {
background-image: url(../images/media_call.png)
}
.media_contact .fill {
background-image: url(../images/media_contact.png)
}
.media_file .fill {
background-image: url(../images/media_file.png)
}
.media_game .fill {
background-image: url(../images/media_game.png)
}
.media_live_location .fill,
.media_location .fill,
.media_venue .fill {
background-image: url(../images/media_location.png)
}
.media_audio_file .fill {
background-image: url(../images/media_music.png)
}
.media_invoice .fill {
background-image: url(../images/media_shop.png)
}
.media_voice_message .fill {
background-image: url(../images/media_voice.png)
}
.media_photo .fill {
background-image: url(../images/media_photo.png)
}
.media_video .fill {
background-image: url(../images/media_video.png)
}
@media only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
.section.calls {
background-image: url(../images/section_calls@2x.png);
}
.section.chats {
background-image: url(../images/section_chats@2x.png);
}
.section.contacts {
background-image: url(../images/section_contacts@2x.png);
}
.section.frequent {
background-image: url(../images/section_frequent@2x.png);
}
.section.photos {
background-image: url(../images/section_photos@2x.png);
}
.section.sessions {
background-image: url(../images/section_sessions@2x.png);
}
.section.web {
background-image: url(../images/section_web@2x.png);
}
.section.other {
background-image: url(../images/section_other@2x.png);
}
.page_header a.content {
background-image: url(../images/back@2x.png);
}
.media_call .fill {
background-image: url(../images/media_call@2x.png)
}
.media_contact .fill {
background-image: url(../images/media_contact@2x.png)
}
.media_file .fill {
background-image: url(../images/media_file@2x.png)
}
.media_game .fill {
background-image: url(../images/media_game@2x.png)
}
.media_live_location .fill,
.media_location .fill,
.media_venue .fill {
background-image: url(../images/media_location@2x.png)
}
.media_audio_file .fill {
background-image: url(../images/media_music@2x.png)
}
.media_invoice .fill {
background-image: url(../images/media_shop@2x.png)
}
.media_voice_message .fill {
background-image: url(../images/media_voice@2x.png)
}
.media_photo .fill {
background-image: url(../images/media_photo@2x.png)
}
.media_video .fill {
background-image: url(../images/media_video@2x.png)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 991 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

View File

@@ -0,0 +1,189 @@
"use strict";
window.AllowBackFromHistory = false;
function CheckLocation() {
var start = "#go_to_message";
var hash = location.hash;
if (hash.substr(0, start.length) == start) {
var messageId = parseInt(hash.substr(start.length));
if (messageId) {
GoToMessage(messageId);
}
} else if (hash == "#allow_back") {
window.AllowBackFromHistory = true;
}
}
function ShowToast(text) {
var container = document.createElement("div");
container.className = "toast_container";
var inner = container.appendChild(document.createElement("div"));
inner.className = "toast_body";
inner.appendChild(document.createTextNode(text));
var appended = document.body.appendChild(container);
setTimeout(function () {
AddClass(appended, "toast_shown");
setTimeout(function () {
RemoveClass(appended, "toast_shown");
setTimeout(function () {
document.body.removeChild(appended);
}, 3000);
}, 3000);
}, 0);
}
function ShowHashtag(tag) {
ShowToast("This is a hashtag '#" + tag + "' link.");
return false;
}
function ShowCashtag(tag) {
ShowToast("This is a cashtag '$" + tag + "' link.");
return false;
}
function ShowBotCommand(command) {
ShowToast("This is a bot command '/" + command + "' link.");
return false;
}
function ShowMentionName() {
ShowToast("This is a link to a user mentioned by name.");
return false;
}
function AddClass(element, name) {
var current = element.className;
var expression = new RegExp('(^|\\s)' + name + '(\\s|$)', 'g');
if (expression.test(current)) {
return;
}
element.className = current + ' ' + name;
}
function RemoveClass(element, name) {
var current = element.className;
var expression = new RegExp('(^|\\s)' + name + '(\\s|$)', '');
var match = expression.exec(current);
while ((match = expression.exec(current)) != null) {
if (match[1].length > 0 && match[2].length > 0) {
current = current.substr(0, match.index + match[1].length)
+ current.substr(match.index + match[0].length);
} else {
current = current.substr(0, match.index)
+ current.substr(match.index + match[0].length);
}
}
element.className = current;
}
function EaseOutQuad(t) {
return t * t;
}
function EaseInOutQuad(t) {
return (t < 0.5) ? (2 * t * t) : ((4 - 2 * t) * t - 1);
}
function ScrollHeight() {
if ("innerHeight" in window) {
return window.innerHeight;
} else if (document.documentElement) {
return document.documentElement.clientHeight;
}
return document.body.clientHeight;
}
function ScrollTo(top, callback) {
var html = document.documentElement;
var current = html.scrollTop;
var delta = top - current;
var finish = function () {
html.scrollTop = top;
if (callback) {
callback();
}
};
if (!window.performance.now || delta == 0) {
finish();
return;
}
var transition = EaseOutQuad;
var max = 300;
if (delta < -max) {
current = top + max;
delta = -max;
} else if (delta > max) {
current = top - max;
delta = max;
} else {
transition = EaseInOutQuad;
}
var duration = 150;
var interval = 7;
var time = window.performance.now();
var animate = function () {
var now = window.performance.now();
if (now >= time + duration) {
finish();
return;
}
var dt = (now - time) / duration;
html.scrollTop = Math.round(current + delta * transition(dt));
setTimeout(animate, interval);
};
setTimeout(animate, interval);
}
function ScrollToElement(element, callback) {
var header = document.getElementsByClassName("page_header")[0];
var headerHeight = header.offsetHeight;
var html = document.documentElement;
var scrollHeight = ScrollHeight();
var available = scrollHeight - headerHeight;
var padding = 10;
var top = element.offsetTop;
var height = element.offsetHeight;
var desired = top
- Math.max((available - height) / 2, padding)
- headerHeight;
var scrollTopMax = html.offsetHeight - scrollHeight;
ScrollTo(Math.min(desired, scrollTopMax), callback);
}
function GoToMessage(messageId) {
var element = document.getElementById("message" + messageId);
if (element) {
var hash = "#go_to_message" + messageId;
if (location.hash != hash) {
location.hash = hash;
}
ScrollToElement(element, function () {
AddClass(element, "selected");
setTimeout(function () {
RemoveClass(element, "selected");
}, 1000);
});
} else {
ShowToast("This message was not exported. Maybe it was deleted.");
}
return false;
}
function GoBack(anchor) {
if (!window.AllowBackFromHistory) {
return true;
}
history.back();
if (!anchor || !anchor.getAttribute) {
return true;
}
var destination = anchor.getAttribute("href");
if (!destination) {
return true;
}
setTimeout(function () {
location.href = destination;
}, 100);
return false;
}

View File

@@ -0,0 +1,57 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>
<dir>~/.local/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir>
<dir prefix="xdg">fonts</dir>
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>monospace</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<cachedir>/var/cache/fontconfig_11</cachedir>
<cachedir prefix="xdg">fontconfig_11</cachedir>
<cachedir>~/.fontconfig_11</cachedir>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<edit mode="assign" name="embeddedbitmap">
<bool>false</bool>
</edit>
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
</fontconfig>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

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