Commit Graph

377 Commits

Author SHA1 Message Date
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
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 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 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 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 a8da0c18ee Closed beta version: 1.3.13.2: Fix broken beta. 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 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 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 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 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 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 8c2f11de7d Send correct paddings in improved TCP protocol. 2018-06-25 19:55:52 +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 0e9793b845 Move MimeType from utils to core/mime_type.
Also move to Core namespace.
2018-06-14 01:08:47 +03:00
John Preston c85fd368fe Possible fix of travis build. 2018-06-06 15:16:21 +03:00
John Preston 5ed15cd0b3 Fix EditColorBox.
Regression was introduced in bfc748cd31.

Fixes #4803.
2018-06-06 13:04:37 +03:00
John Preston 2bc60fa54f Save secure files to local storage. 2018-06-03 23:16:34 +03:00
John Preston c2aa9c571c Follow secure file upload/download progress. 2018-06-03 23:16:34 +03:00
John Preston 1392e05ab1 Move all gsl::byte helpers to base/bytes module. 2018-06-03 23:16:34 +03:00
John Preston b2014f403e Secure files upload / download support. 2018-06-03 23:16:34 +03:00
John Preston 0eb3d20250 Use https in default auto-update prefix.
Fixes #4674.
2018-05-27 14:26:45 +03:00
John Preston 5e7642b42a Support markdown and replaces in media captions. 2018-05-24 16:03:21 +03:00
John Preston 30dd8fe070 Unite InputField and InputArea.
Also support and use instant replaces in InputField-s.
2018-05-20 23:37:59 +03:00
John Preston 4478c0a143 Resolve domain names for proxy servers.
Also use dc_id-checked auth key creation.

Fixes #4695.
2018-05-18 10:57:11 +03:00
John Preston 168a7ce2e5 Add "Suggest emoji replacements" checkbox.
Also emoji suggestions insert an instant emoji replacement.
2018-05-13 18:56:08 +03:00
John Preston bb6ab5314c Fix recent stickers saving and possible crash.
Regression was introduced in 97c15865a5.
2018-05-10 15:03:02 +03:00
John Preston cc2c13d018 Fix build with TDESKTOP_DISABLE_AUTOUPDATE.
Fixes #4655.
2018-05-07 00:34:58 +03:00
John Preston 48c1576d7f Add 'Use proxy for calls' option. 2018-05-07 00:29:53 +03:00
John Preston ad1f089802 Read autoupdate prefix from config. 2018-05-05 21:55:38 +03:00
John Preston 4bf66cb6e9 Better special config implementation. 2018-05-05 21:55:38 +03:00