Compare commits

...

519 Commits

Author SHA1 Message Date
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
John Preston
b0077d98f0 Version 1.3.7: Fix file dialog parent widget.
Regression was introduced in 67ea175fc6.

Fixes #4817.
2018-06-11 23:40:30 +03:00
John Preston
b5bc7a22af Version 1.3.7: Possible bug fix.
Attempt to fix strange crash in SPMediaKeyTap.
2018-06-11 22:31:44 +03:00
John Preston
e60311811b Version 1.3.7.
- Push fixes to stable version.
2018-06-11 22:28:34 +03:00
John Preston
8700c1b08f Alpha version 1.3.6: Make it another alpha. 2018-06-11 10:42:20 +03:00
John Preston
d8b51670e7 Version 1.3.6.
- Bug fixes and other minor improvements.
2018-06-11 10:39:59 +03:00
John Preston
68c2f563c6 Write logs without QTextStream. 2018-06-11 10:37:29 +03:00
John Preston
bf775cb4ca Fix history items cleanup. 2018-06-09 11:52:37 +03:00
John Preston
5c4b81434e Alpha version 1.3.5.
- Bug fixes and other minor improvements.
2018-06-08 23:12:00 +03:00
John Preston
cd1c7c56d3 Skip old and currently-sending draft updates. 2018-06-08 23:06:26 +03:00
John Preston
427ceb9a9a Submit MuteSettingsBox by Enter. 2018-06-08 22:26:23 +03:00
John Preston
2a110f0d3e Improve passport styles. 2018-06-08 22:26:08 +03:00
John Preston
d0ed75f3b5 Update langs. 2018-06-08 21:32:20 +03:00
John Preston
be2abd594f Alpha version 1.3.4.
- Bug fixes and other minor improvements.
2018-06-07 22:29:27 +03:00
John Preston
75a40b83ae Notify settings unknown => draw chats as muted.
Also request common notify settings at the app launch.
2018-06-07 22:28:09 +03:00
John Preston
472a677bca Fix crash in special scan upload. 2018-06-07 22:11:55 +03:00
John Preston
dca6e10beb Fix markdown apply to text with emoji. 2018-06-07 22:00:46 +03:00
John Preston
122ab94f3d Fix text color glitch after palette update.
Once again fixes #4774.
2018-06-07 21:25:10 +03:00
John Preston
2ab40de8b9 Alpha version 1.3.3.
- Bug fixes and other minor improvements.
2018-06-07 10:50:34 +03:00
John Preston
35659536c5 Fix first passcode unlock.
Fixes #4811.
2018-06-07 10:44:38 +03:00
1041 changed files with 59356 additions and 19831 deletions

View File

@@ -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
)

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,7 +10,6 @@ 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"

View File

@@ -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
@@ -476,10 +472,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 \
@@ -677,6 +675,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 \

View File

@@ -16,7 +16,8 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* 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
* Fedora 22 - Fedora 28
* [Snappy](https://snapcraft.io/telegram-desktop)
## Third-party
@@ -39,6 +40,7 @@ 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

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

@@ -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
@@ -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];

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

@@ -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;

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.

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

View File

@@ -0,0 +1,530 @@
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 {
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;
}

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 B

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