Commit Graph

529 Commits

Author SHA1 Message Date
John Preston
6fbd0d7deb Fix logout on second relaunch.
Fixes #7279.
2020-02-25 07:58:29 +04:00
23rd
bb8aead078 Added sequential background dictionary loader.
- Moved the Loader from the dictionaries manager to the spellchecker
 common space as a DictLoader.
2020-02-24 18:48:33 +03:00
23rd
efdf5f1767 Moved producer of state description to CloudBlob. 2020-02-24 18:48:33 +03:00
23rd
8ca0b614d7 Moved loader of emoji sets and dictionaries to CloudBlob. 2020-02-24 18:48:33 +03:00
23rd
704dcc8d65 Moved emoji sets and dictionaries loader states to CloudBlob.
- Moved CloudBlob to second namespace.
2020-02-24 18:48:33 +03:00
23rd
9f4d05b04c Moved emoji sets from lib_ui. Added parent struct to storage_cloud_blob. 2020-02-24 18:48:33 +03:00
23rd
08cd7450ff Added storage/storage_cloud_blob.
- This file is needed to store same code parts related
 to management of dictionaries and emoji sets.
 - Moved extracting of zip files to storage_cloud_blob.
2020-02-24 18:48:33 +03:00
John Preston
60612635ef Use QSaveFile to write sensitive settings / data. 2020-02-24 18:54:16 +04:00
John Preston
3bb9e8c7eb Fix power outage logout only by fsync. 2020-02-14 18:12:08 +04:00
John Preston
555fe70df3 Don't delete old localstorage file copies. 2020-02-13 18:39:44 +04:00
John Preston
356e3c6907 Enable night mode by default on Mac App Store. 2020-02-11 16:00:19 +04:00
23rd
7b36c91e0d Fixed insertion of 11th image from clipboard in SendFilesBox. 2020-01-28 16:56:03 +03:00
John Preston
1bcde1b55c Pass cdn_supported flag to upload.getFile. 2020-01-23 10:46:57 +03:00
23rd
e266dc153b Implemented ability to add more than 1 file to albums via SendFilesBox. 2020-01-23 10:09:34 +03:00
23rd
d1d5312ead Moved searching of sticker mimes to single place. 2020-01-23 10:09:33 +03:00
23rd
5f8c2f90ff Added button to add new files in SendFilesBox to album only. 2020-01-23 10:09:33 +03:00
23rd
efa4deef6a Moved media editing via FileDialog to separate static method. 2020-01-23 10:09:33 +03:00
John Preston
960f50824d Fix one more crash in CDN file download.
The sessionTimedOut could remove a session right between a request
for a file part and a request for additional cdn file hashes.

In this case requestData.sessionIndex was not updated and this
was leading to an assertion violation in changeRequestedAmount.
2020-01-22 16:13:50 +03:00
John Preston
2d7f6fc2e7 Removed old lib_storage sources. 2020-01-21 18:47:57 +03:00
John Preston
98bc7ce49b Revert "Pass cdn_supported flag to upload.getFile."
This reverts commit 7751f383ca.
2020-01-20 13:39:18 +03:00
John Preston
12873f8be0 Fix crash in CDN file download. 2020-01-20 13:04:12 +03:00
John Preston
7751f383ca Pass cdn_supported flag to upload.getFile. 2020-01-20 13:01:38 +03:00
John Preston
d24735b217 Fix possible crash in CDN file loading. 2020-01-17 17:45:43 +03:00
John Preston
616957e46f Add file size limit to autoplay settings. 2019-12-24 13:09:04 +03:00
John Preston
fa4d8f2fbd Support priorities in download tasks. 2019-12-23 12:37:03 +03:00
John Preston
8ae6156477 Fix video quality when opening from chat. 2019-12-23 11:10:11 +03:00
John Preston
ae8fb14f9e Use 8 seconds timeout for request duration. 2019-12-06 10:05:38 +03:00
John Preston
7fb24d77c0 Check request duration when adding sessions. 2019-12-05 16:38:28 +03:00
John Preston
e426f2895b Add download sessions if it works fast enough. 2019-12-05 14:46:28 +03:00
John Preston
ee94e78533 All mtproto downloads using DownloadMtprotoTask. 2019-12-05 11:32:33 +03:00
John Preston
4611727ab9 Rewrite webFileLoader without Storage::DownloadManager. 2019-12-04 15:15:58 +03:00
John Preston
f522cc9444 Load streaming parts using Storage::DownloadManager. 2019-12-04 10:42:55 +03:00
John Preston
3ae2986c25 Allow variable count of download sessions. 2019-12-04 09:51:21 +03:00
John Preston
fb86bb579b Correctly track DC index in Downloader-s. 2019-12-03 15:45:35 +03:00
John Preston
12f5ccaaa5 Use vector queues in mtproto file downloader. 2019-12-03 10:25:27 +03:00
John Preston
91f50e8bdc Move some more code to lib_mtproto. 2019-12-02 16:11:22 +03:00
John Preston
d5718f96b8 First working auth by QR code. 2019-11-29 15:36:04 +03:00
John Preston
cfe12f773f Move some modules to lib_mtproto. 2019-11-18 12:28:14 +03:00
John Preston
08bfe6f1c1 Extract mtproto key generation code. 2019-11-15 16:16:32 +03:00
John Preston
2577bedeac Remove mtproto/facade.h from main pch. 2019-11-13 11:31:12 +03:00
John Preston
09a7daf164 Update submodules. 2019-10-19 12:27:56 +04:00
John Preston
a6c84c36c0 Use layers and boxes from lib_ui. 2019-10-19 12:27:52 +04:00
John Preston
246c45ce0e Use lib_ui from submodule. 2019-10-19 12:27:28 +04:00
John Preston
849deb57e2 Move many widget classes to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston
c5845f17ae Remove twidget header. 2019-10-01 23:59:46 +03:00
John Preston
e2f54eb3e9 Move some style code to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston
0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston
ee5423762a Generate previews for cloud theme links. 2019-09-09 14:56:05 +03:00
John Preston
51c1dc20e1 Unregister randomId if send message fails. 2019-09-09 11:13:41 +03:00
John Preston
9c86f0e0a5 Save themes, apply and close editor on save. 2019-09-06 19:31:07 +03:00
John Preston
910f16312c Show not supported themes placeholders. 2019-09-06 19:31:07 +03:00
John Preston
79106e0c01 Correctly show custom themes in list. 2019-09-06 19:31:07 +03:00
John Preston
7485f0c960 Don't change real theme when editing. 2019-09-06 19:31:07 +03:00
John Preston
03bdd80b2f Open theme editor for existing themes. 2019-09-06 19:31:07 +03:00
John Preston
6343221d7b Remove many includes from stdafx.pch. 2019-09-06 19:31:07 +03:00
John Preston
4929de2bfb Apply cloud themes. 2019-09-06 19:31:06 +03:00
John Preston
229bc56cc8 Upload saved theme to the cloud. 2019-09-06 19:31:06 +03:00
John Preston
a3e993253c Keep colorized theme in editor. 2019-08-29 10:01:28 +03:00
John Preston
c2117e7722 Save embedded themes accent colors. 2019-08-27 19:10:37 +03:00
John Preston
caef7dde24 Bundle silent and scheduled to Api::SendOptions. 2019-08-27 19:10:37 +03:00
John Preston
694f771131 Allow to send scheduled messages instantly. 2019-08-27 19:10:37 +03:00
John Preston
63203ecc00 Fix int32 overflow in local storage stats. 2019-08-09 11:51:35 +01:00
John Preston
93a52bb66e Move some settings from global to Session. 2019-08-09 11:50:49 +01:00
John Preston
708b1d7ad4 Add 'Loop animated stickers' setting. 2019-08-09 11:50:49 +01:00
John Preston
abf49e1672 Update API scheme. 2019-08-09 11:50:49 +01:00
John Preston
ff44094ded Rename AuthSession to Main::Session. 2019-07-24 13:45:24 +02:00
John Preston
9cf4cf6dca Move MTP::Instance to Main::Account. 2019-07-24 10:46:23 +02:00
John Preston
873b77cf40 Use UserData::isBot where applicable. 2019-07-24 08:02:20 +02:00
John Preston
7c6ede0908 Save domain in different localstorage key. 2019-07-15 16:00:30 +02:00
John Preston
c5df4db621 Fix possible race conditions in msgid(). 2019-07-15 16:00:30 +02:00
John Preston
8135f4b427 Support base64 encoding of the secret. 2019-07-15 15:59:20 +02:00
John Preston
f2b3d9714f Fix sticker sending from clipboard. 2019-07-15 14:12:28 +02:00
John Preston
567bf60644 Use getters in MTP classes. 2019-07-05 16:23:07 +02:00
John Preston
b1807938ad Remove legacy langpacks. 2019-07-04 14:25:16 +02:00
John Preston
0a63eac4f6 Generate good thumbnail for animated stickers. 2019-07-04 10:20:36 +02:00
John Preston
7034df49e9 Fix sending of .tgs stickers. 2019-07-03 13:03:01 +02:00
John Preston
3b645422ff Implement animated stickerset thumbnails. 2019-07-02 14:43:17 +02:00
John Preston
4a7b5a8e01 Fix caching for large sticker area. 2019-07-01 17:57:37 +02:00
John Preston
dc102bd9e8 Finish working with localstorage before ~AuthSession. 2019-06-22 12:36:35 +02:00
John Preston
4917ca7b32 Remove all legacy global namespace langs. 2019-06-21 11:06:52 +02:00
John Preston
87fc066e67 Use tr:: instead of lang(). 2019-06-21 11:06:51 +02:00
John Preston
5e3734d7bf ReportSpamPanel -> HistoryView::ContactStatus. 2019-06-21 11:06:45 +02:00
John Preston
30dea3a2e7 Use isConstant bool instead of ContactStatus enum. 2019-06-21 11:06:45 +02:00
John Preston
d9e93fb5cc Fix possible crash in auth session destruction. 2019-06-17 14:23:50 +02:00
John Preston
a547f80ae9 Rename Window::Controller to Window::SessionController. 2019-06-06 13:21:40 +03:00
John Preston
f91e11efc9 Fix crash in absent file reading. 2019-06-05 14:27:33 +03:00
John Preston
04e3b250e7 Keep track of fully cached media files. 2019-06-04 14:30:44 +03:00
John Preston
46d8d9f97a Remove CancelledFileLoader hack. 2019-06-04 14:30:43 +03:00
John Preston
eb438e35ee Remove old download priority arguments. 2019-06-04 14:30:43 +03:00
John Preston
b2895a39ed Register streaming loaders in Storage::Downloader. 2019-06-04 14:30:43 +03:00
John Preston
cca906d383 Use ready parts from loader in streaming. 2019-06-04 14:30:43 +03:00
John Preston
8704f6efd0 Use simple loader for non-streamable file types. 2019-06-04 14:30:43 +03:00
John Preston
e1114530ab Working code for streaming downloader. 2019-06-04 14:30:43 +03:00
John Preston
ebf2a678b1 Use a special FileLoader for streamed documents. 2019-06-04 14:30:43 +03:00
John Preston
8c0cd9b9e9 Prepare Media::Streaming::Reader to be shared. 2019-06-04 14:30:43 +03:00
John Preston
8b804d1995 Allow sending animated stickers. 2019-05-28 17:45:30 +02:00
John Preston
c4aac5fa0e Update API scheme to layer 100. 2019-05-27 15:09:06 +02:00
23rd
47910b2ae1 Added '-scale' command-line argument for custom scale.
- Fixed #5272.
 - Fixed #5365.
 - Fixed #6055.
2019-05-27 14:10:36 +02:00
John Preston
0247e876df Remove locally saved empty histories. 2019-05-03 15:18:18 +04:00
John Preston
08bddc5579 Move messages data to AuthSession. 2019-05-01 16:11:42 +04:00
John Preston
9bf8a8108d Comment out non-folder feed code. 2019-04-25 14:16:30 +04:00
23rd
37af963717 Fixed work with _msgIdToEdit in FileLoadTask.
- Added check is allowed media editing in paintEvent.
 - Fixes #5885.
2019-04-06 11:24:11 +04:00
John Preston
456a949d01 Fix working with document thumbnails. 2019-04-04 00:08:05 +04:00
23rd
5d8888bb8b Refactored code.
- Refactored passing message id to edit media.
 - Removed get/setEditMedia from mainwidget.
 - Combined onEditMedia and onSendFileConfirm in single method.
 - Added argument in FileLoadTask to pass message id to edit media.
 - Renamed flags in apiwrap.
 - Added check for allowing edit media when use clipboard.
 - Removed unused fileIsValidForAlbum.
 - Removed LOGs.
 - Replaced _isNotAlbum with _isAlbum.
 - Removed _viaRemoteContent.
 - Removed _newMediaPath.
 - Added empty() to MessageGroupId.
2019-04-02 18:14:12 +04:00
23rd
94964c35ce Fixed false definition FileMediaInformation as Image. 2019-04-02 18:14:12 +04:00
23rd
d605b18ec0 Fixed checking for song without file path. 2019-04-02 18:14:12 +04:00
23rd
25e3674819 Added allowsEditMedia() to Media. Slightly refactored. 2019-04-02 18:14:12 +04:00
23rd
c84f99cf3a Fixed uploading edit media with thumbnails. 2019-04-02 18:14:12 +04:00
23rd
1ed83cf193 Fixed subscribeToUploader. 2019-04-02 18:14:12 +04:00
23rd
be58e23775 Init edit media. 2019-04-02 18:14:11 +04:00
John Preston
d3bf489bea Improve base::binary_guard interface. 2019-04-02 14:33:52 +04:00
John Preston
8759d637ff Use StorageFileLocation in mtpFileLoader. 2019-03-29 14:24:07 +04:00
John Preston
3f49796c43 Fix file reference updating. 2019-03-29 14:24:07 +04:00
John Preston
aa8f62da9d Support new ('modern') API file locations. 2019-03-29 14:24:07 +04:00
John Preston
eba2a98703 Add general StorageFileLocation abstraction. 2019-03-29 14:24:06 +04:00
John Preston
386600baf9 Save and load sticker set thumbnails. 2019-03-24 12:12:44 +04:00
John Preston
0d888eea85 Fix local cache time limit setting storing.
Fixes #5611.
2019-03-14 13:22:42 +04:00
John Preston
13a9b967e9 Use user phrases for support accounts. 2019-03-12 14:38:59 +04:00
John Preston
01d763eed1 Use DocumentData::getDuration for all types. 2019-03-11 12:08:15 +04:00
John Preston
e631d98230 Implement media cache management. 2019-03-11 12:08:09 +04:00
John Preston
648cd44ddd Display correct video / music state. 2019-03-11 12:08:08 +04:00
John Preston
2208621050 First version of caching in media streaming. 2019-03-11 11:49:54 +04:00
John Preston
f133dd396c Return pair<iterator,bool> from flat_set::emplace. 2019-03-11 11:49:54 +04:00
John Preston
fe618bd652 Use crl::time/now instead of TimeMs/getms. 2019-02-19 11:06:33 +04:00
John Preston
d208236994 Accept binary_guard in crl::guard(). 2019-02-17 15:56:07 +04:00
John Preston
98cb85df66 Polymorphic classes without virtual dtor warning. 2019-02-15 15:55:34 +04:00
John Preston
032694ad9e Move files to media/audio and media/clip. 2019-02-13 15:41:33 +03:00
John Preston
95565c39ed Upload wallpapers to the cloud. 2019-02-08 19:20:08 +03:00
John Preston
e2f0886950 Add option to blur chat background. 2019-02-07 19:36:30 +03:00
John Preston
5ca12a73c3 Use new HistoryWallPaper media type for wallpaper. 2019-01-29 19:26:19 +03:00
John Preston
fd8e9dad92 Fix pattern wallpapers with themes. 2019-01-29 14:52:33 +03:00
John Preston
b6edf4561d Add support for pattern wallpapers. 2019-01-29 14:52:33 +03:00
John Preston
f506a5ea6c Save wallpaper settings locally. 2019-01-29 14:52:33 +03:00
John Preston
a1baa23a52 Use both thumbnails in photos and documents.
Fixes #5602.
2019-01-28 13:10:45 +03:00
John Preston
a70e72f75d Application->Sandbox, Messenger->Application. 2019-01-23 12:51:58 +04:00
John Preston
4111da1dd0 Move some calls from App namespace. 2019-01-22 17:10:01 +04:00
John Preston
805e4d01e7 Allow re-downloading failed media. 2019-01-21 10:49:44 +04:00
John Preston
314e30272b Replace SingleTimer with base::Timer. 2019-01-18 16:41:08 +04:00
John Preston
8643972f8c Send thumbs only for big files. 2019-01-18 16:41:07 +04:00
John Preston
1894b8fcf7 Handle t.me/bg links with wallpapers / colors. 2019-01-18 16:41:07 +04:00
John Preston
466c6da5e3 Save wallpaper information. 2019-01-17 12:21:31 +04:00
John Preston
0f9c2a62fe Load fullres images of new wallpapers. 2019-01-17 12:21:31 +04:00
John Preston
67d12fa6d2 Improve update handling for legacy chats. 2019-01-17 12:21:30 +04:00
John Preston
c5a41e1f55 Divide data/data_peer and remove from PCH. 2019-01-17 12:21:29 +04:00
John Preston
d2d6b319b6 Update API scheme to layer 93. Broken. 2019-01-17 12:21:28 +04:00
Gregory K
11b991cddc Add call settings (#5540) 2019-01-05 15:08:02 +04:00
John Preston
7b5e5c2587 Move caption to the next album item on cancel.
After #4869 albums are sent with captions in the first media.
In case we cancel the first media leaving the rest of the album
the caption will be lost unless we move it to the new "first" media.
2018-12-26 11:24:12 +04:00
John Preston
096c310e0e Display consistent caption/comment placeholder.
After latest PRs regarding sticker sending with comment (#5500)
and album sending with caption (#4869) the input field placeholder
in SendFilesBox was inconsistent with the sending behaviour. Fix it.
2018-12-26 10:53:21 +04:00
John Preston
71cf4a4885 Change default autodownload settings. 2018-12-26 09:58:27 +04:00
John Preston
e3cc8652e4 New structs for media autodownload settings. 2018-12-25 22:15:22 +04:00
John Preston
6562a1f6af Add 'Count unread messages' option. 2018-12-04 14:32:48 +04:00
John Preston
3bd0efa91e Use 1.7x instead of 2x in voice messages. 2018-12-03 19:33:34 +04:00
John Preston
3461f3dfc7 Destroy file loaders not delayed. 2018-11-26 11:33:29 +04:00
John Preston
60103f7ad6 Use upstream range-v3 on MSVC.
The build works using MSVS 15.9 and latest range-v3 code.
2018-11-20 19:38:39 +04:00
John Preston
5163905954 Add a Delete/Share menu for unofficial languages. 2018-11-16 20:17:58 +04:00
John Preston
6d65cf2382 Redesign languages box with a search filter. 2018-11-16 20:17:58 +04:00
John Preston
162da089ec Handle t.me/setlanguage links.
Also support custom langpacks with base langpacks.
2018-11-16 20:17:58 +04:00
John Preston
8ed600bf3f Add some debug logs. 2018-11-16 20:17:58 +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
ef38572d5a Detect and send supports_streaming bit for videos. 2018-11-07 18:10:00 +04:00
John Preston
751506d5b5 Better adjust shared media count. 2018-11-06 13:50:31 +04:00
John Preston
e482f041a8 Allow disabling even system proxy settings.
Fixes #4944.
2018-11-05 18:52:01 +04:00
John Preston
8eb0f3b60a Remove some unneeded Q_OBJECTs. 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
8000ff2cd7 Generate high quality thumbnail on sending video. 2018-11-04 15:51:38 +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
4b5b79e415 Use final Image with different Images::Source-s. 2018-11-04 15:51:37 +04:00
John Preston
113f665295 Move Image and derived to ui/image. 2018-11-04 15:51:36 +04: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
3cdfa1014a Fix reading saved self. 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
b847c8424a Use single emoji sprite and scale + cache it. 2018-10-15 09:03:29 +03:00
John Preston
e896971fa4 Allow instant template selection (support). 2018-10-11 19:07:37 +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
9f90d3a7fc Load maps using mtproto instead of google. 2018-10-09 19:27:18 +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
f362702856 Add UI to specify export time range. 2018-10-09 19:27:17 +03:00
John Preston
25cefc6eab Allow fix chats order and auto switch (support). 2018-10-09 19:27:16 +03:00
John Preston
d485a05935 Reorder chat settings sections. 2018-09-28 14:20:36 +03:00
John Preston
a7772b922c Improve sticker file reference refreshing. 2018-09-26 21:23:08 +03:00
John Preston
2e5a0e056c Move to std::optional. 2018-09-21 19:28:46 +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
34665cd6da Save self to local storage map. 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
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
2096007ed9 Fix clearing leaked files with a passcode. 2018-09-01 18:56:09 +03:00
John Preston
80cd74edc8 Closed beta version 1.3.14.2: Fix fallthrough. 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
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