Compare commits

...

1141 Commits

Author SHA1 Message Date
John Preston
4f7df6987c Alpha version 1.2.22.
- Use markdown in media captions
(**bold**, __italic__, `tag` and ```code```).
- Use emoji replacement in media captions,
group and channel titles and descriptions (:like: etc.)
- Markdown replacement now happens immediately
after typing (instead of after sending) and can be
rolled back using Backspace or Ctrl/Cmd + Z.
Replacement no longer happens when pasting text.
2018-05-24 20:25:05 +03:00
John Preston
3d75d21a3e Fix build in Linux 32bit. 2018-05-24 20:25:04 +03:00
John Preston
250718e766 Fix build for Xcode. 2018-05-24 20:25:04 +03:00
John Preston
a5cbade8ec Update libtgvoip. 2018-05-24 20:25:04 +03:00
John Preston
3ac50cf77f Move message text to send media box caption field. 2018-05-24 17:57:41 +03:00
John Preston
f35bf41d26 Enable instant replaces in title edit fields. 2018-05-24 17:57:35 +03:00
John Preston
f1816815a9 Refresh last post on proxy promotion refresh. 2018-05-24 17:12:57 +03:00
John Preston
37bf9ffcff Show bad proxy configuration error. 2018-05-24 16:40:19 +03:00
John Preston
5e7642b42a Support markdown and replaces in media captions. 2018-05-24 16:03:21 +03:00
John Preston
6f6ec217e3 Support markdown replaces in Ui::InputField. 2018-05-24 15:31:48 +03:00
John Preston
017ec87d60 Replace FlatTextarea with InputField. 2018-05-22 13:45:22 +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
8e442563f2 Enable checked auth key creation. 2018-05-20 23:20:48 +03:00
John Preston
c43dcf0567 Alpha version 1.2.21: Add some setup langs. 2018-05-18 21:57:06 +03:00
John Preston
f2a5a29d12 Alpha version 1.2.21: Fix build for Xcode. 2018-05-18 21:07:31 +03:00
John Preston
678b9a8eb5 Alpha version 1.2.21.
- Support domain names in mtproto proxy.
- Bug fixes and other minor improvements.
2018-05-18 20:36:21 +03:00
John Preston
96f7c0c02e Don't try to logout CDN dcs. 2018-05-18 19:41:59 +03:00
John Preston
66b7b6da2a Replace xD by emoji only after space. 2018-05-18 18:25:05 +03:00
John Preston
38daffdbfe Handle the ADMINS_TOO_MUCH error for channels. 2018-05-18 17:16:14 +03:00
John Preston
0238c03956 Return emoji replace by ":o" after a space.
Fixes #4700.
2018-05-18 17:15:02 +03:00
John Preston
425e56b3ea Apply proxy settings in mtproto-key-destroyer. 2018-05-18 15:20:28 +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
a053384618 Fix mtproto-proxy working with domain names.
Also refactor a bit TcpConnection and HttpConnection classes.
2018-05-17 13:27:49 +03:00
John Preston
694e8cd19f Remove MSVC compiler bug workaround.
It works fine in Visual Studio 2017 15.7.1.
2018-05-17 11:15:54 +03:00
John Preston
4bcd1e3c59 Allow editing last sent saved message by up key.
Also update libtgvoip.
Also replace 🤷 with a shrug.
2018-05-15 21:13:37 +03:00
John Preston
5f063c0151 Display information about proxy sponsor. 2018-05-15 20:22:28 +03:00
John Preston
5a1d4d55c6 Display a disclaimer about proxy sponsor. 2018-05-15 19:38:27 +03:00
John Preston
d3f85b4c4e Display channels promoted by proxy on top. 2018-05-13 21:26:35 +03:00
John Preston
df9ec4b466 Alpha version 1.2.20.
- Emoji and text replacements are done while you type the message.
- Revert emoji and text replacements by pressing backspace.
- Disable emoji replacements or suggestions in Settings.
- Some critical bug fixes.
2018-05-13 21:25:31 +03:00
John Preston
4f9507ed97 Fix build for Xcode 9.3.1 and OS X 10.6-10.7. 2018-05-13 21:12:44 +03:00
John Preston
f761b6aa9e Backport critical bugfix from '4f959b6b30' commit to Qt patch. 2018-05-13 20:35:40 +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
4b763a76df Instant in-field emoji and text replaces.
Fixes #4410. Fixes #522.
2018-05-13 18:14:02 +03:00
John Preston
8764da787b Don't logout on some server-side problems. 2018-05-13 12:19:34 +03:00
John Preston
7d8ba15252 Allow to report messages in supergroups. 2018-05-10 17:15:16 +03:00
John Preston
96c0c30f7c Fix possible crash. 2018-05-10 17:15:04 +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
e3c6abfc3d Fix possible crash in reply returns. 2018-05-10 14:56:36 +03:00
John Preston
5c5bccae0b Fix proxy icon on retina and on theme changes.
Fixes #4668.
2018-05-10 13:34:06 +03:00
John Preston
296e009808 Fix proxy icon doubling.
Fixes #4666.
2018-05-10 13:24:52 +03:00
John Preston
4d84781a65 Display connecting state in history top bar. 2018-05-10 13:16:21 +03:00
John Preston
710b9bf454 Fix build for MSVC 15.7.
Fixes #4661. Fixes #4667.
2018-05-10 11:13:13 +03:00
John Preston
0f54315495 Alpha version 1.2.19.
- Enable proxy for calls in Settings.
- Bug fixes and other minor improvements.
2018-05-08 21:09:45 +03:00
John Preston
c3fc91a6fc Fix couple of possible crashes. 2018-05-08 21:06:56 +03:00
John Preston
d2048f3c25 New connecting status design. 2018-05-08 20:31:33 +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
d2fa8ef0b0 Alpha version 1.2.18: Fix OS X old build. 2018-05-05 22:30:42 +03:00
John Preston
97b576f446 Alpha version 1.2.18.
- Improve working through proxy servers.
- Bug fixes and other minor improvements.
2018-05-05 22:07:05 +03:00
John Preston
257dfa6b3f Improve phone rules checking. 2018-05-05 21:55:39 +03:00
John Preston
678d2a58c5 Improve proxy row design. 2018-05-05 21:55:39 +03:00
John Preston
e0431d270b Allow cdn requests through mtproto proxy. 2018-05-05 21:55:39 +03:00
John Preston
7797e5a3b7 Improve proxies box design. 2018-05-05 21:55:39 +03:00
John Preston
d15b0cdb08 Improve infinite radial animation. 2018-05-05 21:55:39 +03:00
John Preston
1af2769209 Closed beta 1.2.17.4: Fix option lookup. 2018-05-05 21:55:39 +03:00
John Preston
e6906b84f3 Closed beta 1.2.17.3: Fix layout. 2018-05-05 21:55:39 +03:00
John Preston
ca0f6c7ded Closed beta 1.2.17.3. 2018-05-05 21:55:39 +03:00
John Preston
f9ff676e57 Improve proxies box design and progress animation. 2018-05-05 21:55:38 +03:00
John Preston
db7041f2dc Send different dns requests for simple config. 2018-05-05 21:55:38 +03:00
John Preston
ad1f089802 Read autoupdate prefix from config. 2018-05-05 21:55:38 +03:00
John Preston
62c812858e Improve config re-requesting. 2018-05-05 21:55:38 +03:00
John Preston
4bf66cb6e9 Better special config implementation. 2018-05-05 21:55:38 +03:00
John Preston
95fee543ec Try all available endpoints from config. 2018-05-05 21:55:38 +03:00
John Preston
df4daca15b Display connecting/online proxy state. 2018-05-05 21:55:38 +03:00
John Preston
f794d8dbd8 Check proxy availability in ProxiesBox. 2018-05-05 21:55:38 +03:00
John Preston
9935a36c3d Create and edit proxy box. 2018-05-05 21:55:38 +03:00
John Preston
a7c77682d7 Apply, delete and restore proxies in the box. 2018-05-05 21:55:38 +03:00
John Preston
8bbea976ea Display proxies list in a box. 2018-05-05 21:55:38 +03:00
John Preston
900d1ddb36 Support multiple proxies in local storage. 2018-05-05 21:55:38 +03:00
John Preston
8e99135f37 Support tg://proxy links. 2018-05-05 21:55:37 +03:00
John Preston
dc9483e07a Fix possible deadlock.
Some unknown code (like getSession) was called while holding
_requestsByDcLock mutex which could lead to a deadlock.

Now all access points to _requestsByDc are simple.
2018-05-05 21:55:37 +03:00
John Preston
48e913bf2c Use static version map for autoupdates. 2018-05-05 21:55:37 +03:00
John Preston
993cb987a6 Improve autoupdate code, move it from Application. 2018-05-05 21:55:37 +03:00
John Preston
65f968ec1b Update API scheme to layer 78. 2018-05-05 21:55:37 +03:00
John Preston
93f6d4b6e7 Support many config endpoints for one dc+params. 2018-05-05 21:55:37 +03:00
John Preston
7482025c10 Support work with different dcs on a single IP. 2018-05-05 21:55:37 +03:00
John Preston
909acb25fd Requesting config if can't connect. 2018-05-05 21:55:37 +03:00
John Preston
4a9db99082 Use application level proxy settings. 2018-05-05 21:55:37 +03:00
John Zimmermann
a2606c4fc4 fix libressl-2.7 compat (#4633) 2018-04-28 21:57:02 +03:00
Max Razumov
647c609bf8 Update supported version of Ubuntu (#4612) 2018-04-28 21:55:15 +03:00
John Preston
cf98025177 Use exact tagged version of OpenAL.
I hope if fixes #4531.
2018-04-18 22:10:21 +04:00
John Preston
e0f20e9f82 Version 1.2.17: Add changelog entry. 2018-04-08 21:34:33 +04:00
John Preston
597a5c9d75 Version 1.2.17: Fix undefined behaviour on exit.
Core::Launcher didn't have virtual destructor it required.
2018-04-08 21:32:48 +04:00
John Preston
d055908f4f Version 1.2.16: Improve release build scripts. 2018-04-08 18:23:12 +04:00
John Preston
f3eac6b259 Version 1.2.16: Fix text processing crash in OS X 10.6. 2018-04-08 18:21:40 +04:00
John Preston
87d6081408 Version 1.2.16: Fix build in Xcode 9.3. 2018-04-07 12:47:08 +04:00
John Preston
dd53bd1c55 Version 1.2.16.
- Bug fixes and other minor improvements.
2018-04-07 12:20:46 +04:00
Kirsan
3ff033cdf3 Fix for https://github.com/telegramdesktop/tdesktop/issues/4544
(cherry picked from commit d99c757d44d7c31fbb0eb290f273ad4d2d464255)
2018-04-07 12:13:52 +04:00
John Preston
c1c3b6a7e5 Disable emoji suggestions for :-D/:-P 2018-04-07 11:51:17 +04:00
John Preston
64d5a6acd5 Fix game scores display. 2018-04-07 11:41:48 +04:00
John Preston
e5b2e0a6b5 Fix memory clearing from photos/documents. 2018-04-07 11:01:32 +04:00
John Preston
9895b45293 Fix calls supported layer arguments. 2018-04-07 11:00:43 +04:00
John Preston
811fc43b63 Fix Qt text processing crash.
Fixes #4551.
2018-03-30 18:18:35 +04:00
John Preston
9dcfa3ad6e Version 1.2.15.
- Bug fixes and other minor improvements.
2018-03-26 02:02:58 +04:00
John Preston
67bda19458 Fix inline bot messages with previews. 2018-03-26 02:01:13 +04:00
John Preston
6c38919c3d Scroll history to down when sharing contact. 2018-03-26 01:47:05 +04:00
John Preston
ce9445287c Extend huge local cache map crash annotations. 2018-03-26 00:56:41 +04:00
John Preston
d4bd8862bd Fix switching between stickers pan and panel.
Fixes #4537.
2018-03-26 00:54:02 +04:00
John Preston
6904e023d3 Increment dropdown emoji selection in recent list.
Fixes #4539.
2018-03-26 00:28:23 +04:00
John Preston
91a7a77bb0 Fix case-insensitive emoji suggestions.
Fixes #4528, fixes #4511, fixes #4535.
2018-03-26 00:18:14 +04:00
John Preston
d9306e3e30 Fix parent link refresh for GIF webpage preview.
Fixes #4534.
2018-03-26 00:18:14 +04:00
John Preston
efdd3df129 Fix working with webpage preview GIFs.
Fixes #4533.
2018-03-26 00:18:14 +04:00
John Preston
63098d3c7d Work better with 'unlimited' config time limits. 2018-03-26 00:18:14 +04:00
Vasilii Babich
aa5781b550 Update some details in Xcode build instructions. 2018-03-25 19:29:38 +04:00
John Preston
d6e1862c08 Fix crash in AdminLog view with deleted delegates. 2018-03-22 02:27:14 +04:00
John Preston
9aa2831fef Version 1.2.14.
- Discover new stickers.
Type one emoji to see suggestions from popular sticker sets.
Suggestions from your installed sticker sets will come first.
- Search for Stickers. Click on the new search icon
to access your sticker sets or find new ones.
- Quick Reply. Double click near a message for a quick reply.
2018-03-21 18:05:45 +04:00
John Preston
70eb29c1a9 Alpha version 1.2.13.
- Bug fixes and other minor improvements.
2018-03-21 13:46:32 +04:00
John Preston
13e07b1623 Add some debug information. 2018-03-21 13:46:22 +04:00
John Preston
27ce1f8d44 Show something inside an 'empty' message. 2018-03-20 18:51:51 +04:00
John Preston
38c20fc3c2 Return one old way for requesting special config. 2018-03-20 18:21:36 +04:00
John Preston
4a32b00068 Setting for cloud stickers suggestions. 2018-03-20 01:09:03 +04:00
John Preston
3406f88fdc Single place for joining channels, in ApiWrap. 2018-03-20 01:09:03 +04:00
Marco Trevisan
c96cb37680 Travis flags update (#4506)
* travis: don't build alsoft tools, examples and tests

* travis: don't try to build with mir client support
2018-03-16 17:39:29 +03:00
John Preston
0d415837a0 Destroy old info button in top bar widget.
Fixes #4503.
2018-03-15 18:22:55 +03:00
John Preston
9dc48522d8 Fix multi-forward notification layout (long name). 2018-03-15 03:12:00 +03:00
John Preston
31b82a5d92 Show audio file performer-title in dialogs list. 2018-03-15 03:12:00 +03:00
John Preston
87ab4d9dd1 Improve local search in sticker sets.
- Don't index special sticker sets, like "Favorite stickers".
- Show "Not found." if no local results and waiting for server-side.
2018-03-15 03:11:59 +03:00
John Preston
b6e7625016 Improve case-insensitive emoji suggestions. 2018-03-15 03:11:59 +03:00
Sven-Hendrik Haase
c5e6bfce95 Fix wrong uname flag used
This is required because uname -p actually returns "unknown" for some hardware. The uname help documents this by stating that -p is non-portable. The -m flag is the one to use.
2018-03-14 15:01:26 +03:00
John Preston
7a849b2899 Fix crash on album parts being deleted. 2018-03-13 13:54:24 +03:00
John Preston
999fa39d7c Fix shared links layout for webpage previews.
Fixes #4489.
2018-03-13 13:29:56 +03:00
John Preston
7de15ce5cf Fix inline bots with photos. 2018-03-13 13:29:42 +03:00
John Preston
f792b0052f Refresh caption Text after media is being sent.
Fixes #4488.
2018-03-13 13:19:06 +03:00
John Preston
57d0b1d215 Show error when joining a full group. 2018-03-12 10:55:30 +03:00
John Preston
7691654cb8 Alpha version 1.2.12.
- Bug fixes and other minor improvements.
2018-03-12 00:00:08 +03:00
John Preston
c76e4b6b3c Fix: cancel empty reply by Escape. 2018-03-11 23:58:14 +03:00
John Preston
bda39cc6f6 Cancel empty reply by Escape. 2018-03-11 23:48:18 +03:00
John Preston
060cdfea86 Cancel reply when setting a forwarding draft. 2018-03-11 23:42:03 +03:00
John Preston
b1cc7b25ba Add group/channel info limit in EditPeerInfoBox. 2018-03-11 23:22:43 +03:00
John Preston
1e0fe70dc3 Focus correct widget in intro steps.
The old way some random shown widget could've been focused.
2018-03-11 22:55:28 +03:00
John Preston
8ed167c5fa Change domain fronting url and host header. 2018-03-11 22:55:28 +03:00
John Preston
dabf8414be Remove old debug information. 2018-03-11 22:21:17 +03:00
John Preston
a0eb64428e Use new config fields for revoke settings. 2018-03-11 22:21:17 +03:00
Patrick Eigensatz
dd1beb1d91 Let emoji suggestions be case insensitive
Closes #3985
2018-03-11 22:01:18 +03:00
John Preston
bb35d71fdc Attempt to fix access to a deleted item view. 2018-03-10 15:47:19 +03:00
John Preston
42a7e86e51 Alpha version 1.2.11.
- Bug fixes and other minor improvements.
2018-03-10 00:56:36 +03:00
John Preston
2f3540dadc Fix sending an album after cancel of one media. 2018-03-10 00:55:59 +03:00
John Preston
eb00641dfa Mark autoplayed voice/video messages as read. 2018-03-10 00:55:58 +03:00
John Preston
bfe7bf2c11 Paste image to SendFilesBox even if it has an url.
Fixes #4483.
2018-03-10 00:55:58 +03:00
Marco Trevisan (Treviño)
e88c575d4a linux: use $HOME to determine actual user path
As it could be different in confined environments.
2018-03-10 00:55:24 +03:00
Marco Trevisan (Treviño)
0de9c62675 linux-desktop-environment: detect Ubuntu properly enabling features
In Ubuntu (running in GNOME) we support AppIndicator and
Unity counters still.
2018-03-10 00:52:06 +03:00
Sean
9dc3847dbe Fix Typo 2018-03-10 00:50:05 +03:00
Marco Trevisan
9dc03c4f0f Linux ARM compile fixes (#4399)
This fixes errors when compiling in ARM
2018-03-09 23:48:47 +03:00
John Preston
def21367a3 Allow to reply by double click on the timestamp. 2018-03-09 21:22:31 +03:00
John Preston
33fe1b6389 Show no results message in share box search. 2018-03-09 21:22:31 +03:00
John Preston
76cb5677b2 Fix webpage edit display in channel admin log. 2018-03-09 21:22:31 +03:00
John Preston
8c3b7f6417 Ignore second tray icon click in short time.
Fixes #4479.
2018-03-09 21:22:31 +03:00
John Preston
e6c0f0f774 Up arrow always edits last available message.
Fixes #4480.
2018-03-09 21:22:31 +03:00
John Preston
6bd5301828 Fix crash when accessing a deleted item view. 2018-03-09 21:22:31 +03:00
John
73c0c4507a fix build against libressl 2018-03-09 21:12:34 +03:00
John Preston
506b0806d6 Fix build instructions for Linux. 2018-03-09 01:55:18 +03:00
John Preston
054459d327 Alpha version 1.2.10.
- Bug fixes and other minor improvements.
2018-03-09 00:26:58 +03:00
John Preston
66ac4d6150 No fast reply and double click reply if selecting.
Also fix messages selection glitch.
2018-03-09 00:21:27 +03:00
John Preston
ab8e7897cc No search for peers when searching by a hashtag. 2018-03-08 17:14:26 +03:00
John Preston
2b9133be90 Don't remove field focus on empty text selection.
Fixes #4467.
2018-03-08 16:03:59 +03:00
John Preston
56fece6216 Move from req_pq to req_pq_multi in protocol impl. 2018-03-08 15:55:05 +03:00
John Preston
d381836f01 Don't add separate icon for faved pack.
Also update stickers search icons.
2018-03-08 15:54:55 +03:00
John Preston
c6efb588dc Fix crash in digit-only hashtag skipping. 2018-03-08 15:02:34 +03:00
John Preston
5404dfef08 Search sticker sets locally by short name. 2018-03-08 14:37:01 +03:00
John Preston
cba12980f9 Display correct amount of stickers in search. 2018-03-08 14:12:30 +03:00
John Preston
61700577d0 Fix possible crash with invalidated views. 2018-03-08 13:47:31 +03:00
John Preston
321f5d879d Fix crash in faving stickers.
Don't fill dates in any sets except CloudRecentSetId.
Otherwise some assertions will be violated later.
2018-03-08 12:57:05 +03:00
John Preston
f98fdeab3f Alpha version 1.2.9.
- Quick Reply. Double click near a message for a quick reply.
- Search for Stickers. Click on the new search icon to access
your sticker sets or find new ones.
2018-03-08 01:45:46 +03:00
John Preston
90179188b9 Improve sticker by emoji ordering.
First display recent by send/install date, then trending, then other.
2018-03-08 00:26:35 +03:00
John Preston
ccef155f7a Receive and track recent sticker usage date. 2018-03-07 20:43:26 +03:00
John Preston
f0a95032a5 Show cloud stickers by emoji. 2018-03-07 16:53:12 +03:00
John Preston
c3ff5f2603 Limit amount of displayed recent stickers. 2018-03-07 15:04:05 +03:00
John Preston
ee182ea684 API scheme downgraded to layer 76. 2018-03-06 20:48:24 +03:00
John Preston
7f73cc3085 Fix file media with views counter layout. 2018-03-06 19:14:39 +03:00
John Preston
dcf70b2847 Add ".download" for .lnk and .scf file names.
This is a workaround for some windows shell vulnerabilities.

See http://www.defensecode.com/whitepapers/
Stealing-Windows-Credentials-Using-Google-Chrome.pdf
2018-03-06 19:04:47 +03:00
John Preston
cb5ba7edda Use a separate lang key for sticker pack remove. 2018-03-06 18:41:52 +03:00
John Preston
7940ef24ab Disallow hashtags of digits only. 2018-03-06 18:29:45 +03:00
John Preston
0f901b3728 Update API and use WebDocument for inline bots. 2018-03-06 16:49:44 +03:00
John Preston
09aba596ac Open t.me/iv links in browser. 2018-03-04 15:52:00 +03:00
John Preston
b930ac7bf9 Don't add unread mentions in channels. 2018-03-03 16:09:31 +03:00
John Preston
7f1bc4635a Update libtgvoip. 2018-03-03 16:01:22 +03:00
John Preston
d4253d2025 Fix reply previews display. 2018-03-03 15:55:53 +03:00
John Preston
b007fcb537 Add sticker sets search. 2018-03-03 14:21:32 +03:00
John Preston
e6dd7d7684 Fix crash in item view refresh. 2018-03-01 20:17:39 +03:00
John Preston
128663d95b Reply by double clicking a message. 2018-02-28 15:07:15 +03:00
John Preston
ef8b6d1a3d Process currency amounts before display. 2018-02-28 15:06:57 +03:00
John Preston
b4baebc230 Fix mediaview download icon in night mode. 2018-02-24 16:38:51 +03:00
John Preston
b4581a7bbf Closed beta 1.2.8.11. 2018-02-24 02:47:33 +03:00
John Preston
a285dca39e Apply webpage media from sent message via bot. 2018-02-24 02:46:35 +03:00
John Preston
00aa6d5ac3 Allow monospace block to end on ellipsis. 2018-02-22 21:16:01 +03:00
John Preston
027db285bc Add Info::Channels section + feed channels search. 2018-02-22 20:38:00 +03:00
John Preston
c3c9ba7e51 Add feed icons. 2018-02-22 20:37:49 +03:00
John Preston
a1be63f890 Jump to date by date click in feed. 2018-02-22 15:35:46 +03:00
John Preston
f066f3f139 Enable jump to date in feed. 2018-02-22 00:17:36 +03:00
John Preston
e17dcbb8eb Closed beta 1.2.8.10: API updated to layer 77. 2018-02-21 16:56:43 +03:00
John Preston
1ae22c8606 Fix assertion violation when no feed. 2018-02-21 16:38:56 +03:00
John Preston
d5569487a4 Closed beta 1.2.8.9. 2018-02-20 20:55:20 +03:00
John Preston
336e691dbc Add unread counter from feed to common counter. 2018-02-20 20:53:55 +03:00
John Preston
17a4d19beb Add a create feed channels list box. 2018-02-20 19:56:41 +03:00
John Preston
74aa1ad71e Ungroup all feed channels from context menu. 2018-02-18 17:00:14 +03:00
John Preston
f8c2f339a0 Create changelogs after data in AuthSession. 2018-02-18 16:26:28 +03:00
John Preston
1dd66184a1 Fix assertion violation on hashtag click. 2018-02-18 16:23:30 +03:00
John Preston
ddab8c1473 Fix fast share button hover area. 2018-02-18 16:22:58 +03:00
John Preston
49d2c97ceb Closed beta 1.2.8.8. 2018-02-16 21:00:19 +03:00
John Preston
351a423337 Highlight found messages in feed. 2018-02-16 20:59:35 +03:00
John Preston
07528be1e6 Support search in feed + scroll to search result. 2018-02-16 19:45:58 +03:00
John Preston
bc171f625a Remove some more symbols from filenames. 2018-02-15 15:34:38 +03:00
John Preston
0f775e1e66 Support feeds search display in dialogs list. 2018-02-14 23:18:21 +03:00
John Preston
98fb874b29 Closed beta 1.2.8.7. 2018-02-13 19:11:32 +03:00
John Preston
cfd5c2a650 Add feed notifications edit box. 2018-02-13 19:11:00 +03:00
John Preston
22a5b7faf6 Fix GIF playback glitch after loading. 2018-02-13 12:48:42 +03:00
John Preston
fe262701c0 Add notification toggle in feed channels. 2018-02-12 18:52:55 +03:00
John Preston
e1f71d3919 Closed beta 1.2.8.6. 2018-02-10 01:15:16 +03:00
John Preston
906cb95e67 Channels list in feed info with leave channel. 2018-02-10 01:14:26 +03:00
John Preston
f23c23f696 Closed beta 1.2.8.5. 2018-02-08 12:20:55 +03:00
John Preston
99c686e3e1 Display feed channels list in feed info. 2018-02-08 12:20:55 +03:00
John Preston
a144e35f84 Add content to feed info cover widget. 2018-02-08 12:20:55 +03:00
John Preston
5a5c5782a9 Replace crl::on_main to InvokeQueued in some cases.
If the event loop is reentered from the call it is unsafe to crl::on_main.
For example NSOpenPanel lags terribly if it is shown from crl::on_main.
2018-02-08 12:20:55 +03:00
John Preston
a2a5c30e60 Closed beta 1.2.8.4. 2018-02-08 12:20:55 +03:00
John Preston
3c4c466f8e Add cashtags and bot allowed service messages. 2018-02-08 12:20:55 +03:00
John Preston
6726826c17 Display empty feed placeholder. 2018-02-08 12:20:55 +03:00
John Preston
e102cb1469 Handle channelDifferenceTooLong in media and feed. 2018-02-08 12:20:54 +03:00
John Preston
11671e85da Add scroll-to-down button to Feed. 2018-02-08 12:20:54 +03:00
John Preston
b8614c60f9 Closed beta 1.2.8.3. 2018-02-08 12:20:54 +03:00
John Preston
269defa82d Fix forwarded Saved Messages layout. 2018-02-08 12:20:54 +03:00
John Preston
8bacc74d8b Request dialog list entries when needed.
Also save the original server-side int32 date in HistoryItems.
2018-02-08 12:20:54 +03:00
John Preston
0c5efb935d Read feed while scrolling. 2018-02-08 12:20:54 +03:00
John Preston
a7f67c4bc9 Better chats list entries management.
Make unread counts and last message base::optional<>.
Remove ChannelHistory.
2018-02-08 12:20:54 +03:00
John Preston
edcaccba1f Limit media count in one HistoryGroupedMedia. 2018-02-08 12:20:54 +03:00
John Preston
5ebecb4de3 Display feed userpic in single column layout. 2018-02-08 12:20:53 +03:00
John Preston
9f3048c1dc Hide service messages from feed. 2018-02-08 12:20:53 +03:00
John Preston
2586268b81 Remove HistoryJoined, use plain HistoryService. 2018-02-08 12:20:53 +03:00
John Preston
280ddb4629 Request full feed channels list before messages. 2018-02-08 12:20:53 +03:00
John Preston
20889d7003 Mark history as having pending resized items. 2018-02-08 12:20:53 +03:00
John Preston
d4f4698c69 Closed beta 1.2.8.2. 2018-02-08 12:20:53 +03:00
John Preston
adcce61b52 Fix date/unread bar display in albums. 2018-02-08 12:20:53 +03:00
John Preston
17b913fb13 Fix feed messages loading both ways. 2018-02-08 12:20:53 +03:00
John Preston
366ea1edc3 Notify about feed channels list changes. 2018-02-08 12:20:53 +03:00
John Preston
3a5a002be2 Add crash debug information. 2018-02-08 12:20:53 +03:00
John Preston
533fba8c70 Improve message context menu in feed. 2018-02-08 12:20:53 +03:00
John Preston
7435bd7fb0 Implement drag-n-drop from HistoryView::ListWidget. 2018-02-08 12:20:53 +03:00
John Preston
681b9b5ba3 Improve text selection in bubbles. 2018-02-08 12:20:53 +03:00
John Preston
600737c44f Fix copy selected items text in old and new lists. 2018-02-08 12:20:53 +03:00
John Preston
e5f3bed801 Improve drag selection in HistoryView::ListWidget. 2018-02-08 12:20:52 +03:00
John Preston
2fdc3169ce Fix / improve support for album items selection. 2018-02-08 12:20:52 +03:00
John Preston
722264f634 Add /Qspectre Visual C++ compiler option. 2018-02-08 12:20:52 +03:00
John Preston
a858ab5d0b Fix crash in DocumentData destructor.
Keep AuthSession pointer in DocumentData for loader destruction.
2018-02-08 12:20:52 +03:00
John Preston
63c1212ef1 Allow multiple items selection in HistoryView. 2018-02-08 12:20:52 +03:00
John Preston
2aa477176c Fix build for Xcode / GCC. 2018-02-08 12:20:52 +03:00
John Preston
6bb39451ea Closed beta 1.2.8.1. 2018-02-08 12:20:52 +03:00
John Preston
099a3c4642 Fix paste of image from Firefox.
It sometimes adds a strange path to empty temp file to mime data.
2018-02-08 12:20:52 +03:00
John Preston
9515520088 Update API scheme. 2018-02-08 12:20:52 +03:00
John Preston
fe1a90bd39 Move message context menu to a separate module. 2018-02-08 12:20:52 +03:00
John Preston
65df137610 Add group/ungroup action in channel peer menu. 2018-02-08 12:20:51 +03:00
John Preston
ced0c4d8f0 Move HistoryMessageDate to view elements. 2018-02-08 12:20:51 +03:00
John Preston
f3804429e4 Update GSL submodule. 2018-02-08 12:20:51 +03:00
John Preston
a47981054f Feed info profile placeholder. 2018-02-08 12:20:51 +03:00
John Preston
b9ad8bb700 Feed top bar placeholder. 2018-02-08 12:20:51 +03:00
John Preston
47ad5ea98a Display active feed state in dialogs list. 2018-02-08 12:20:51 +03:00
John Preston
840b42934b Use server-side my_results in contacts.search. 2018-02-08 12:20:51 +03:00
John Preston
4527c03c0d Use "Feed" name for chats list index and search. 2018-02-08 12:20:51 +03:00
John Preston
89941a8e83 Fix layout update notifications in Info::Media. 2018-02-08 12:20:50 +03:00
John Preston
ebd4651ac2 Manage unread bar using HistoryView::Element-s. 2018-02-08 12:20:50 +03:00
John Preston
861ab85ca1 Fix voice/video messages in chats/feed. 2018-02-08 12:20:50 +03:00
John Preston
f9154c4ed0 Fix albums layout and editing in feed. 2018-02-08 12:20:50 +03:00
John Preston
b91ebad8be Improve items resize in history and feed. 2018-02-08 12:20:50 +03:00
John Preston
e6baf8ef5b Fix layout of some media, enable GIF autoplay. 2018-02-08 12:20:50 +03:00
John Preston
d326c7e3fa Remove HistoryItemInstantiated. 2018-02-08 12:20:49 +03:00
John Preston
950126865e Handle item view refresh, fix groups. 2018-02-08 12:20:49 +03:00
John Preston
91f369a0b3 Handle view resize/repaint requests for mainView. 2018-02-08 12:20:49 +03:00
John Preston
d1a9d3992b API scheme updated to layer 76. 2018-02-08 12:20:49 +03:00
John Preston
2dd2ad5cdb Replace peerMessagesUpdated with notifications. 2018-02-08 12:20:49 +03:00
John Preston
04c8c95634 Use notify* instead of mark* in Data::Session. 2018-02-08 12:20:49 +03:00
John Preston
8a56ede187 Move all (item/view/media) maps to Data::Session. 2018-02-08 12:20:49 +03:00
John Preston
7425e80f05 Use HistoryMedia as view, add Data::Media. 2018-02-08 12:20:48 +03:00
John Preston
97a9089ebf Move draw / getState code to HistoryView::Message.
Item dimensions broken for now.
Also remove history.h from pch.
2018-02-08 12:20:48 +03:00
John Preston
bee474f6e9 Remove history_item and layout from pch.
Also move some code to separate modules.
Also create history item views by Window::Controller.
2018-02-08 12:20:47 +03:00
John Preston
4740d44159 Make HistoryView::Message a ClickHandlerHost. 2018-02-08 12:20:47 +03:00
John Preston
062b0b2165 Save item views in App::*Item() variables.
Also remove App::contextItem.
Also use owning pointers for history context menus.
2018-02-08 12:20:47 +03:00
John Preston
8060cb7426 Start HistoryView::Message class for item view. 2018-02-08 12:20:47 +03:00
John Preston
794e31505b First version of feed section view. 2018-02-08 12:20:46 +03:00
John Preston
50b120bc22 Fix glitch in single column back button click. 2018-02-08 12:20:46 +03:00
John Preston
f0b2e445f6 Prepare dialogs to open feeds. 2018-02-08 12:20:46 +03:00
John Preston
782e70b171 Support basic feed display in chats list. 2018-02-08 12:20:46 +03:00
John Preston
9d2239291d Add support for pinned feeds management. 2018-02-08 12:20:46 +03:00
John Preston
a2891807f8 Prepare dialogs to hold a history or a feed. 2018-02-08 12:20:46 +03:00
John Preston
6a9556d42c Move non-settings session data to Data::Session.
Rename AuthSessionData to AuthSessionSettings, move data away.
2018-02-08 12:20:46 +03:00
John Preston
724fe65d72 Start feeds support. 2018-02-08 12:20:45 +03:00
John Preston
46612ef128 Remove Notify::userIsContactChanged().
Replace with Notify::peerUpdatedDelayed().
2018-02-08 12:20:45 +03:00
John Preston
139ef5411a Prepare code for dialogFeed handling. 2018-02-08 12:20:45 +03:00
John Preston
ac57000437 Move contacts list loading to ApiWrap. 2018-02-08 12:20:45 +03:00
John Preston
31234cb487 API scheme updated to layer 75. 2018-02-08 12:20:45 +03:00
John Preston
05e36a064f API scheme updated to layer 74. 2018-02-08 12:20:45 +03:00
John Preston
f88cbf3d4b Fix crash in case of incorrect Text entities. 2018-02-08 12:20:45 +03:00
John Preston
7814ee0f7a Fix building crashpad for macOS. Update instructions.
Some tests were disabled by a crashpad patch because the changes to make
them work with new SDK are relatively big and no need to backport them.

Fixes #4353.
2018-02-08 11:27:50 +03:00
Alexander Nestorov
9f4e5e4603 Fix xcode build instructions (#4345) 2018-01-26 03:55:31 +03:00
Vitaliy Rudnyh
810fb45750 building-xcode.md: Add depot_tools to $PATH (#4331)
Otherwise "crashpad" would not compile.
2018-01-23 04:08:33 +03:00
John Preston
55e56a6788 Alpha version 1.2.8.
- Bug fixes and other minor improvements.
2018-01-03 13:46:01 +03:00
John Preston
ea7441ae77 Use single LEGAL file with license and copyright. 2018-01-03 13:23:14 +03:00
John Preston
f65e8824fb Add single LEGAL file with license and copyright. 2018-01-03 13:04:34 +03:00
John Preston
2868899d81 Fix possible assertion violation.
Allow removing local HistoryItem's after the album was already sent.
2018-01-03 12:06:02 +03:00
John Preston
54dd05c556 Improve crash debug information. 2018-01-03 11:23:34 +03:00
John Preston
6b25160e3f Don't paint QPixmap-s in theme preview icons. 2018-01-02 22:23:54 +03:00
John Preston
0ef3e19bc2 Use QImage instead of QPixmap for theme preview.
Working with QPixmap from non-main thread is not defined.
2018-01-02 22:10:49 +03:00
John Preston
e89350d4b7 Reuse resample code from FFMpegLoader for video.
AbstractAudioFFMpegLoader used in FFMpegLoader and ChildFFMpegLoader.
2018-01-02 20:22:13 +03:00
John Preston
95399bef2b Improve swresample library usage.
It looks like different AVFrame-s can have different audio encoding
parameters, so now we setup/re-setup swr context using parameters
from current audio frame. Hopefully it will fix some audio crashes.
2018-01-02 19:18:53 +03:00
John Preston
06c724df01 Clear callbacks async in MTP::Instance.
Also fix previous build.
2018-01-02 16:44:12 +03:00
John Preston
3325106837 Add some debug information for crashes. 2018-01-01 23:23:18 +03:00
John Preston
9c72470c17 Fix possible crash in player closing. 2018-01-01 22:12:38 +03:00
John Preston
94cf307ae0 Alpha version 1.2.7.
- Use fast reply button in group chats.
- Select a message you want to reply to
by pressing Ctrl+Up and Ctrl+Down.
2017-12-31 17:55:09 +03:00
John Preston
2cc1fde5e4 Remove thumb glitch when uploading files. 2017-12-31 15:21:08 +03:00
John Preston
6796ac688a Apply web page media updates. 2017-12-31 12:55:08 +03:00
John Preston
9551cfaf9b Use more specific color keys for media overview parts.
File icons and radial animations should use derived keys instead of msgInBg.
Fixes #4246.
2017-12-31 01:28:25 +03:00
John Preston
8ef9ec0567 Fix glitches for transparent album preview parts. 2017-12-31 01:28:21 +03:00
John Preston
af552fb4c0 Replace base/task_queue with crl. 2017-12-31 00:28:38 +03:00
John Preston
ae7e5be5cd Add fast reply button in groups. 2017-12-30 21:54:15 +03:00
Matthew Tran
74b126f309 Add reply shortcut 2017-12-30 21:52:30 +03:00
John Preston
26e023058c Version 1.2.6.
- Grouped Photos. Group media into an album when sharing multiple photos and videos.
Choose the exact order of media you send.
2017-12-30 13:13:48 +03:00
John Preston
6236590ca4 Fix SendFilesWay radiobuttons when adding media.
Also add /LTCG flag for static libraries Release builds on Windows.
2017-12-30 00:06:43 +03:00
John Preston
ea51f976f2 Alpha version 1.2.5: Workaround GCC 7.2 ICE. 2017-12-29 21:47:49 +03:00
John Preston
719f3428ec Alpha version 1.2.5:
- When viewing a photo from an album, you'll see other pictures
from the same group as thumbnails in the lower part of the screen.
- When composing an album paste additional media from the clipboard.
- Bug fixes and other minor improvements.
2017-12-29 21:21:57 +03:00
John Preston
2df4d19474 Move changelogs from ApiWrap to a separate module. 2017-12-29 21:17:07 +03:00
John Preston
2a409e3734 Add files from clipboard to composed album.
Fixes #4243.
2017-12-29 20:02:23 +03:00
John Preston
0171a4e874 Handle click on group thumb item in MediaView. 2017-12-29 17:58:53 +03:00
John Preston
59e5ffe743 Don't insert mime text in field for url list.
Fixes #4241.
2017-12-29 17:58:32 +03:00
John Preston
2bcbb5a5be Display group / userpic thumbnails in MediaView. 2017-12-29 16:44:36 +03:00
John Preston
5b4694a4eb Move text options constant to a separate module.
Also start MediaView group thumbs code.
2017-12-28 16:06:06 +03:00
John Preston
54d6673d0b Display photos and videos together in MediaView. 2017-12-28 13:12:07 +03:00
John Preston
e07a7a4b4c Improve phrases. No Restricted Users in channels info. 2017-12-27 22:44:04 +03:00
John Preston
f2d11e7432 Fix video grouped thumb on Retina displays. 2017-12-27 22:16:26 +03:00
John Preston
1a115cc7e5 Fix file upload progress display.
Regression was introduced in 5d18d7c813.
2017-12-27 21:57:37 +03:00
John Preston
a00941f7ce Update crl and libtgvoip submodules. 2017-12-27 21:49:08 +03:00
John Preston
634d21e486 Fix animation in album reordering. 2017-12-27 14:00:32 +03:00
John Preston
95d8742e3c Fix round corners on Retina displays. 2017-12-27 13:08:18 +03:00
John Preston
bd8dee0972 Fix crash in audio player hiding. 2017-12-27 10:18:09 +03:00
John Preston
b34099f49e Alpha version 1.2.4: Fix phrases and box cursor. 2017-12-26 20:49:04 +03:00
John Preston
0380e66c30 Alpha version 1.2.4: Fix build for old OS X versions. 2017-12-26 19:53:51 +03:00
John Preston
907b6f0a78 Alpha version 1.2.4.
- Group media into an album when sharing multiple photos and videos.
- Bug fixes and other minor improvements.
2017-12-26 19:20:08 +03:00
John Preston
21f4bbbe7b Update kicked count in Channel Info box. 2017-12-26 19:20:08 +03:00
John Preston
69d9072ff0 Allow fast admin removing in supergroups/channels. 2017-12-26 19:20:08 +03:00
John Preston
d5ae9bcba2 Close box when showing a layer section from it. 2017-12-26 19:20:08 +03:00
John Preston
86c0dfb295 Read "participants_count" field from c_channel(). 2017-12-26 19:20:08 +03:00
John Preston
01821c30e5 Fix message field focus loss in Saved Messages. 2017-12-26 19:20:08 +03:00
John Preston
7f66e0fdfe Hide remove member button for supegroup admins. 2017-12-26 19:20:08 +03:00
John Preston
2569df9e5a Rename some Ui methods.
myEnsureResized -> Ui::SendPendingMoveResizeEvents.
myGrab -> Ui::GrabWidget.
myGrabImage -> Ui::GrabWidgetToImage.
2017-12-26 19:20:08 +03:00
John Preston
5f8143e6a4 Fix build in Xcode. 2017-12-26 19:20:08 +03:00
John Preston
1fc7dabd3e Allow media reordering when sending an album. 2017-12-26 19:20:08 +03:00
John Preston
5d18d7c813 Send album after cancel of some media uploads.
Also display checks when part of the album medias are uploaded.
2017-12-26 19:20:07 +03:00
John Preston
4e8f5541af Fix caption editing in grouped media. 2017-12-26 19:20:07 +03:00
John Preston
a8ac18e4fd Save send way (album, photos, files) to settings. 2017-12-26 19:20:07 +03:00
John Preston
a6c15217c0 Fix grouped layout algorithm to match other apps. 2017-12-26 19:20:07 +03:00
John Preston
57351dd42a Remove QTextLayout that appears to be not needed. 2017-12-26 19:20:07 +03:00
John Preston
58d21ff916 Add album support to SendFilesBox. 2017-12-26 19:20:07 +03:00
John Preston
8e45b09083 Use different indentation for rpl operators.
It works better with Visual Studio IDE.
2017-12-26 19:20:07 +03:00
John Preston
44014e62ba Move EditCaptionBox to a separate module. 2017-12-26 19:20:06 +03:00
John Preston
ff65daa9fe Remove special case in SendFilesBox for an image. 2017-12-26 19:20:06 +03:00
John Preston
ec515080b5 Improve saved messages search results display. 2017-12-26 19:20:06 +03:00
John Preston
255dbf9405 Fix indexing of shared media.
Add new messages to shared media index even if !loadedAtBottom().
2017-12-26 19:20:06 +03:00
John Preston
aebb40dc1e Fix volume control disappearing in audio player. 2017-12-26 19:20:06 +03:00
John Preston
b20c2b4774 Always allow group admins to edit invite link.
Show Group Info even if supergroup admin can't edit information.
2017-12-26 19:20:06 +03:00
John Preston
3b3a705a67 First working code for sending albums. 2017-12-26 19:20:06 +03:00
Friedrich von Never
711aa51046 Fix handling of dashes in the style directory path
Now Telegram Desktop could be built if a path to the source directory
contains dashes.
2017-12-26 19:16:11 +03:00
John Preston
4d54cf1370 Update crl submodule. 2017-12-19 10:33:47 +04:00
John Preston
e023092744 Use RectPart(s) instead of ImageRoundCorner(s). 2017-12-18 21:54:11 +04:00
John Preston
2e421e8aed Allow unicode quotes as markdown entry separators.
Fixes #3867.
2017-12-18 21:06:44 +04:00
John Preston
afe9d38c48 Don't ruin links by markdown parsing.
Fixes #3851.
2017-12-18 20:49:40 +04:00
John Preston
3f751bfbb0 Activate window on dropEvent. 2017-12-18 20:25:24 +04:00
John Preston
b1f33890d6 Workaround GCC segmentation fault. 2017-12-18 19:52:58 +04:00
John Preston
92333e982c Move message components to history_item_components.
Also fix channel signatures rendering.
2017-12-18 19:52:36 +04:00
John Preston
16ca2d39c5 Fix _height value in inline bot result Gif layout.
This fixes render glitches in GIFs column with opened MediaView.
2017-12-18 18:10:24 +04:00
John Preston
977dee3599 Fix fast sharing from channels.
Grouped flag is only allowed for grouped media in forward requests.

Fixes #4198.
2017-12-18 17:29:48 +04:00
John Preston
546766fb13 Update FullMsgId context in HistoryMedia links. 2017-12-18 17:13:41 +04:00
John Preston
ddf4a36bdc Remove mtproto/session.h from precompiled header. 2017-12-18 16:40:15 +04:00
John Preston
fa3a76b3d8 Fix layout bug in grouped media rendering.
Also remove st::mediaPadding.
2017-12-18 15:40:43 +04:00
John Preston
d5de064019 Shuffle code around a bit.
Crash reports point to addToUnreadMentions() call being corrupted.
New reports could show is it responsible or setLastMessage() call.
2017-12-18 15:17:58 +04:00
John Preston
37b018257e Replace some std::shared_ptr with std::unique_ptr. 2017-12-18 14:38:14 +04:00
John Preston
14034c255e Replace QSharedPointer with std::shared_ptr. 2017-12-18 13:07:18 +04:00
John Preston
cbbccd0364 Hide history visibility edit for public groups. 2017-12-18 10:18:51 +04:00
John Preston
b8204a317d Testing crl (concurrency runtime library). 2017-12-17 23:05:00 +04:00
John Preston
499e3113b9 Allow HistoryGroupedMedia cloning.
We use it for local forwarded message creation, it should be main().
2017-12-17 17:01:34 +04:00
John Preston
656e4869e6 Move UnreadBadge to ui/unread_badge. 2017-12-17 15:04:47 +04:00
John Preston
defec611e3 Alpha version 1.2.3.
- Several crash fixes.
2017-12-17 12:41:35 +04:00
John Preston
49def354bd Fix bug causing crash in group recounting. 2017-12-17 12:33:08 +04:00
John Preston
712b3f481c Move online phrase code from app module.
Also fix possible assertion violation in online change timeout.
2017-12-17 12:13:26 +04:00
John Preston
b3a723c871 Fix crash in message history context menu.
Regression was introduced in 6d48ca850e.
2017-12-17 11:25:02 +04:00
John Preston
de16a66a4a Alpha version 1.2.2: Fix build for Xcode. 2017-12-16 21:09:37 +04:00
John Preston
b0f191515a Alpha version 1.2.2.
- Grouped photos and videos are displayed as albums.
2017-12-16 20:52:41 +04:00
John Preston
89ccaccb88 Display right edited badge in group with caption. 2017-12-16 20:50:43 +04:00
John Preston
1f070da202 Recount grouping after leader caption edit. 2017-12-16 20:50:43 +04:00
John Preston
963e969d2a Fix selected messages copy with grouping. 2017-12-16 20:50:43 +04:00
John Preston
4734700ac5 Improve opening history with one loaded message.
When we add just one last item, like we do while loading dialogs,
we want to remove a single added grouped media, otherwise it will
jump once we open the message history (first we show only that
media, then we load the rest of the group and show the group).

That way when we open the message history we show nothing until a
whole history part is loaded, it certainly will contain the group.
2017-12-16 20:50:43 +04:00
John Preston
d9da2edd7c Improve grouped media display. 2017-12-16 20:50:43 +04:00
John Preston
6d48ca850e Correct reply/forward/delete for grouped items. 2017-12-16 20:50:43 +04:00
John Preston
3e7ac7eb26 Use first media caption for group caption. 2017-12-16 20:50:43 +04:00
John Preston
520a644150 Fix drag by date of grouped media. 2017-12-16 20:50:43 +04:00
John Preston
3a56b7cabd Forward grouped items. Fast share grouped items. 2017-12-16 20:50:43 +04:00
John Preston
efa72578cd Fix grouped media display in MediaView. 2017-12-16 20:50:43 +04:00
John Preston
b6087ce7ce Select/forward/delete group of messages. 2017-12-16 20:50:42 +04:00
John Preston
537400d8b2 Enable distinct selecting of grouped media. 2017-12-16 20:50:42 +04:00
John Preston
4c9931ab02 Support grouped media rendering. 2017-12-16 20:50:42 +04:00
John Preston
0a4038d061 Fix build with TDESKTOP_DISABLE_CRASH_REPORTS.
Regression was introduced in 97c15865a5.

Fixes #4173.
2017-12-13 00:25:14 +04:00
Christoph
2d5188b968 Remove wrong alpha version
Fix #4171
2017-12-12 21:43:01 +04:00
John Preston
4bab7583ba Version 1.2.1.
- Bug fixes and other minor improvements.
2017-12-12 18:56:38 +04:00
John Preston
b2f29b674d Send audio files with correct attributes.
Regression was introduced in 8b69e6ab99.

Fixes #4163.
2017-12-12 18:56:38 +04:00
John Preston
574f4a73cb Add some checks to video sound stream decoding. 2017-12-12 18:56:37 +04:00
John Preston
05e3ddce0c Fix userpic removing.
Regression was introduced in 68009b6fba.

Fixes #4152.
2017-12-12 18:56:37 +04:00
John Preston
3c101b0a50 Remove limit on chats list width.
Fixes #4146.
2017-12-12 18:56:37 +04:00
John Preston
e998bd0b3f Parse command line natively on Windows.
Use CommandLineToArgvW() so that unicode arguments are preserved.
This will fix path arguments with unicode symbols in them.
2017-12-12 18:56:37 +04:00
John Preston
251176df47 Move relaunch / update logic to Core::Launcher.
Also pass "-workdir" argument through relaunch / update.

Fixes #4149.
2017-12-12 18:56:36 +04:00
John Preston
97c15865a5 Move some code around.
Move logs:SignalHandlers to core/crash_reports:CrashReports.
Move all pre-launch windows to core/crash_report_window module.
Move some global code to core/launcher:Launcher.
It should replace settings / platform_specific module in some way.
2017-12-12 16:47:32 +04:00
John Preston
9d4558de2b Fix build in Visual Studio 15.5.1.
Looks like compiler had some regressions when updating from 15.4.5.

Range-V3-VS2015 also needs to cherry-pick this commit:
https://github.com/ericniebler/range-v3/commit/9f990c48d0
See https://github.com/Microsoft/Range-V3-VS2015/issues/26
2017-12-12 12:25:54 +04:00
John Preston
38f7f48c17 Open links in AboutBox without confirmation.
Fixes #4148.
2017-12-12 12:25:54 +04:00
John Preston
9534121676 Fix issue number :/ Fixes #4150. 2017-12-11 15:19:13 +04:00
John Preston
10b76d921b Fix window scaling issue on macOS.
Fixes #4149.
2017-12-11 15:06:05 +04:00
John Preston
8af058edc9 Version 1.2.0.
- Radically improved navigation. New side panel on the right
with quick access to shared media and group members.
- Saved Messages. Bookmark messages by forwarding them to "Saved
Messages". Access them from the Chats list or from the side menu.
- Pinned Messages. If you are a channel admin, pin messages to
focus your subscribers' attention on important announcements.
- Easily recognize messages from group admins by the new admin badge.
- Also supported clearing history in supergroups and
added a host of minor improvements.
2017-12-10 22:32:08 +04:00
John Preston
8b69e6ab99 Rename some methods in DocumentData.
Also fix voice message mark as read when autoplaying after previous.
Also show play icon and don't show playlist for audio files that do
not have shared music files attributes but have audio file mime type.
2017-12-10 14:28:04 +04:00
John Preston
4ef3de5287 Always specify seek position in TimeMs.
This way it won't rely on the sample rate of the audio file.

Fixes #4139.
2017-12-10 12:52:38 +04:00
John Preston
9fff2bf4c7 Fix one more crash in HistoryWidget. 2017-12-10 00:32:35 +04:00
John Preston
534058fe9b Alpha version 1.1.29. 2017-12-09 22:21:38 +04:00
John Preston
6d62673e9e Fix crash in HistoryWidget. 2017-12-09 22:21:38 +04:00
John Preston
677dbd5d6e Alpha version 1.1.28: Fix build for Xcode. 2017-12-09 20:01:40 +04:00
John Preston
452440f50b Alpha version 1.1.28.
- Bug fixes and other minor improvements.
2017-12-09 19:17:23 +04:00
John Preston
5a7d8bcffb Add audio playlist using Info::Media::ListWidget. 2017-12-09 19:13:06 +04:00
John Preston
63e89ddc9a Fix replies by stickers and inline bot results. 2017-12-09 16:39:41 +04:00
John Preston
4e2c8bbc26 Use SharedMediaMergedViewer() for audio player.
That way audio files and voice/video messages will play in context
(one after another with ability to go to next or previous in player)
almost always, no matter at what part of message history we are.
2017-12-09 14:02:51 +04:00
John Preston
9bbcbd4bb3 Remove all legacy media overview code. 2017-12-08 22:34:26 +04:00
John Preston
273ac5eaf1 Add some more public keys. 2017-12-08 20:26:27 +04:00
John Preston
951db83ab6 Index bad audio files to Shared Files Overview.
Fixes #4120.
2017-12-08 19:53:04 +04:00
chaplin89
a868c7bc8b Avoid generating multiple time the forward declarations in the headers generated by codegen_style. 2017-12-08 19:49:24 +04:00
John Preston
a403ad7d37 Always pass all users to add group member box. 2017-12-08 18:25:29 +04:00
John Preston
90f5f7dded Fix possible crash in timer timeout values. 2017-12-08 18:15:00 +04:00
John Preston
aef88559e8 Fix possible crash in HistoryWidget.
Stack in crash reports leads to something like that:
- HistoryWidget::showHistory
- _scroll->setOwnedWidget
- Ui::ScrollArea::onScrolled
- sendSynteticMouseEvent
- Info::Media::ListWidget::enterEventHook
- Info::Media::ListWidget::mouseAction?Update
- Overview::Layout::ItemBase::clickHandlerActiveChanged
- AuthSessionData::requestItemRepaint
- HistoryWidget::repaintHistoryItem

Workaround:
- Don't accept repaint item requests while _list is not set yet.
2017-12-08 17:54:55 +04:00
John Preston
6295d85ef2 Fix possible assertion violation in PeerListBox.
Very long stack in crash reports leads to something like that:
- PeerListBox::prepare
- PeerListBox::createMultiSelect
- PeerListBox::updateScrollSkips
- BoxContent::setInnerTopSkip
- _scroll->scrollToY
- sendSynteticMouseEvent
- ChatHelpers::TabbedPanel::showAnimated
- QWidget::render
- QWidgetPrivate::sendPendingMoveAndResizeEvents
- PeerListBox::resizeEvent
- _select->resizeToWidth(0)
- MultiSelect::Inner::computeItemsGeometry(0)

Workaround:
- Don't scrollToY if PeerListBox width was not yet set.
- Initial _scrollBottomFixed is false (at first createMultiSelect).
2017-12-08 17:36:17 +04:00
John Preston
a27ea2d631 Fix possible crash in mtpFileLoader.
If several cdn file parts hashes are received in getCdnFileHashesDone
and some middle one of them cancels the entire loader (for example
because of a file write error) a !_finished assert violation happens.
2017-12-08 17:13:13 +04:00
John Preston
de8de84a33 Fix possible crash in CalendarBox.
If month change notification was posted async there was a possibility
to get a mousePressEvent() with already new Context field values, but
with old _selected value. Those two could be inconsistent leading to
an assert violation in (_selected + _context->daysShift() >= 0).
2017-12-08 16:44:52 +04:00
John Preston
80bb6b65a7 Fix possible crash. 2017-12-08 15:53:28 +04:00
John Preston
f8963d7e4b Read silent flag from PeerData, not SilentToggle. 2017-12-08 15:52:12 +04:00
John Preston
c79d16a0d6 Auto-choose first search row in PeerListBox. 2017-12-08 13:30:30 +04:00
John Preston
aa16bcd604 Add a special key for saved messages userpic bg. 2017-12-08 13:23:55 +04:00
John Preston
935232eaa2 Don't use AEC on modern macOS. 2017-12-08 13:13:05 +04:00
John Preston
e273695cc9 Fix planar audio playback (for example .flac).
Also add some more crash information logging.

Fixes #4120.
2017-12-08 12:57:43 +04:00
John Preston
827784e3b2 Focus search field in Info layer. 2017-12-08 12:22:02 +04:00
John Preston
b501af0b8f Add search button to info members header. 2017-12-08 12:14:30 +04:00
John Preston
8f87cfe29d Fix explicit working dir by "-workdir" in Windows.
Regression was introduced in ff84962148.

Fixes #4129.
2017-12-08 12:13:42 +04:00
John Preston
79398fe6cf Add call button to Info::Profile top bar. 2017-12-07 19:17:53 +04:00
John Preston
355747d7bf Remove send actions in Saved Messages.
Fixes #4122.
2017-12-07 18:27:59 +04:00
John Preston
a032f24d58 Fix explicit working dir by "-workdir" argument.
Regression was introduced in ff84962148.

Fixes #4123.
2017-12-07 17:56:36 +04:00
John Preston
320105f201 Allow searching for '@' in the chats filter field.
Fixes #4121.
2017-12-07 17:43:06 +04:00
John Preston
54984efa0a Fix small files layout in Saved Messages.
Minimal message and media width are less because of the goto-button.
2017-12-07 17:43:05 +04:00
John Preston
d57f5460b7 Use ShowForwardMessageBox in Info::Media. 2017-12-07 17:43:05 +04:00
John Preston
5bc47e5203 Move shareContact and readServerHistory to ApiWrap.
Also allow non-confirming contact info sharing to Saved Messages.
2017-12-07 17:43:05 +04:00
John Preston
f0a03223e8 Share contact instantly to Saved Messages. 2017-12-07 12:56:10 +04:00
John Preston
007ab3b7b8 Fix crash in RSA public key wrapper. 2017-12-07 09:34:11 +04:00
Nicholas Guriev
f813bb704f Optimize key initialization
* Do not do redundant copying of numbers.
2017-12-07 09:15:10 +04:00
Nicholas Guriev
93809ec404 Fix build against OpenSSL 1.1
Closes: #3196
2017-12-07 09:15:10 +04:00
Mike Zueff
64e9958585 Fixed awesome WM tray icon. 2017-12-07 09:11:39 +04:00
John Preston
067138f1bf Alpha version 1.1.27: Update lang phrases. 2017-12-06 20:00:31 +04:00
John Preston
cfa88b840a Alpha 1.1.27: Fix build error. 2017-12-06 20:00:31 +04:00
John Preston
32f955404b Alpha version 1.1.27.
- Bookmark messages by forwarding them to "Saved Messages".
Access them from the Chats list or from the side menu.
2017-12-06 19:30:51 +04:00
John Preston
ff84962148 Stop using current working directory on Windows.
Links generated by system sometimes have weird working directories,
like C:\Windows\system32. Stop trying to use current working folder
as a place for program data. Instead always try to use current exe
folder and if we were unable use app data folder.
2017-12-06 19:07:19 +04:00
John Preston
727f8aec13 Fix admin/creator status in megagroup members list. 2017-12-06 18:55:10 +04:00
John Preston
d77afef8b0 Hide Share contact button in saved messages. 2017-12-06 18:41:37 +04:00
John Preston
775cede16f Use separate phrases for clearing saved messages. 2017-12-06 18:39:27 +04:00
John Preston
c6d3fd883a Display right action button not too high. 2017-12-06 18:15:41 +04:00
John Preston
1473c14668 Forward messages to Saved Messages instantly. 2017-12-06 17:56:40 +04:00
John Preston
6764a3cc86 Replace SelectedItemSet with MessageIdsList.
Use vector<FullMsgId> everywhere instead QMap<..,HistoryItem*>.
The old way the app crashed in case some messages were deleted.
If the items are needed use HistoryItemsList=vector<HistoryItem*>.
2017-12-06 14:13:38 +04:00
John Preston
3845985a6b Fix third column appearing on window resize. 2017-12-06 11:05:34 +04:00
John Preston
76a716007c Closed beta 1.1.26.2. 2017-12-05 20:49:45 +04:00
John Preston
993877b0d4 Change main menu cloud icon to saved messages. 2017-12-05 20:48:03 +04:00
John Preston
8b3d203861 Display saved messages senders correctly. 2017-12-05 20:38:13 +04:00
John Preston
85d8273009 Implement correct saved messages history layout.
Forwarded info is displayed as a message author info (name/photo).
Outgoing messages without forwarded info are displayed as out().
Messages with save_from_ info have a button for GoToOriginal().
2017-12-05 20:14:28 +04:00
John Preston
f8e094392f Fix ripple animation glitch in history top bar. 2017-12-05 20:14:15 +04:00
John Preston
46bafc2dcc Support Saved messages in chats list and forwards. 2017-12-05 18:07:01 +04:00
John Preston
e4ce08e64e Show other shared media links in Saved Photos. 2017-12-05 16:23:08 +04:00
John Preston
aebdc2fd94 Add custom userpic rendering for Saved Messages. 2017-12-05 15:50:32 +04:00
John Preston
1d85c8a6b6 API scheme updated to layer 73. 2017-12-05 12:44:27 +04:00
John Preston
5eeb8143b6 Move EmptyUserpic from data_peer to empty_userpic. 2017-12-05 12:44:27 +04:00
John Preston
68009b6fba Refactor userpic storage and access in PeerData. 2017-12-05 11:58:18 +04:00
John Preston
62568daffe Refactor NotifySettings in PeerData. 2017-12-04 21:48:45 +04:00
John Preston
116e3fd9c5 Fix admin stars disappearing in members list. 2017-12-04 16:08:43 +04:00
John Preston
76f951e3e6 Show members list in the third column. 2017-12-04 15:45:15 +04:00
John Preston
1a273702d3 Revert closed beta version. 2017-12-04 13:52:22 +04:00
John Preston
4678de0440 Closed beta 1.1.26.1. 2017-12-04 13:51:44 +04:00
John Preston
e1c68892d4 Show third column only when explicitly requested.
This allows you to show info in layer from mention links.
2017-12-04 13:42:05 +04:00
John Preston
629c216a7f Fix storage size variables, use qint64.
Fixes #4110.
2017-12-03 20:51:31 +04:00
John Preston
f3c8da4819 Request all admins when first opening a supergroup. 2017-12-03 20:43:42 +04:00
John Preston
9ba482f56f Fix crash in edit group info box. 2017-12-03 19:24:33 +04:00
John Preston
2a59802a16 Alpha version 1.1.26: Fix release script. 2017-12-02 18:57:13 +04:00
John Preston
8668d43032 Alpha version 1.1.26.
- Admin badges in supergroup messages.
- Fix crashing on launch in OS X 10.6.
- Bug fixes and other minor improvements.
2017-12-02 18:55:47 +04:00
John Preston
d6f7cae024 Fix two crashes in OS X 10.6.
Disable rtl control chars (harfbuzz-ng crashes on them).
Disable creating state of not yet created top level windows.
2017-12-02 16:10:52 +04:00
John Preston
8391d43057 Use EditPeerInfoBox for editing groups.
This allows to edit group invite links.
Rename EditNameTitleBox to EditNameBox, used only from Settings.
2017-12-02 16:04:22 +04:00
John Preston
da77c10f60 Hide three-dot peer menu when peer changes. 2017-12-02 15:11:01 +04:00
John Preston
301aa9572f Apply channel admin edition changes. 2017-12-02 15:07:27 +04:00
John Preston
675499df4d Fix render bug in single column layout. 2017-12-02 14:22:48 +04:00
John Preston
0a1165dac9 Remove locking in crash annotations.
We removed ffmpeg crash annotations so now all are from main thread.
2017-12-02 13:28:15 +04:00
John Preston
a495de7cf8 Ask OpenAL to use kDefaultFrequency (48 kHz). 2017-12-02 13:27:32 +04:00
John Preston
2161858088 Fail resampling audio with inconsistent frames. 2017-12-02 12:58:52 +04:00
John Preston
001be82566 Add some more checks to file downloader. 2017-12-02 12:32:43 +04:00
John Preston
85b3d3f64d Display admin badges in supergroups.
Also prefer std containers to Qt and OrderedSet in data_peer.
2017-12-01 22:38:44 +04:00
John Preston
3bdce06e19 Use peer colors uniformly with mobile apps. 2017-12-01 14:21:40 +04:00
John Preston
36fe4ff327 Alpha version 1.1.25.
- Bug fixes and other minor improvements.
2017-11-30 22:34:57 +04:00
John Preston
afd1548533 Attempt to fix a crash in touch event handlers. 2017-11-30 22:18:39 +04:00
John Preston
595af2c6d9 Rename weak(QObject*) to make_weak(QObject*). 2017-11-30 22:04:13 +04:00
John Preston
2bbf17b672 Fix t.me/share links.
Regression was introduced in ffc20e4492.

Fixes #4099.
2017-11-30 21:47:58 +04:00
John Preston
43570d1613 Check current chat before auto-closing it.
Close current chat only if it is the one being delete-and-exit'ed.
2017-11-30 21:35:35 +04:00
John Preston
2432845df2 Optimize and rename base::weak_unique_ptr.
Rename base::enable_weak_from_this -> base::has_weak_ptr.
Rename base::weak_unique_ptr -> base::weak_ptr.
Rename base::make_weak_unique -> base::make_weak.
Rename base/weak_unique_ptr.h -> base/weak_ptr.h
2017-11-30 21:33:27 +04:00
John Preston
0bf854bf18 Fix edit name button in Settings.
Regression was introduced in 703b944839.
2017-11-30 18:01:01 +04:00
John Preston
a0c8d522ef Save window extension on layer->section migration.
If the third section is shown inside the existing window remember
it as a zero window extension or third section show. That way it
will hide correctly when it is closed by X button.

Partially fixes #4091.
2017-11-30 17:08:51 +04:00
John Preston
c10588a7dc Merge group-supergroup history in jump-to-date.
Fixes #4094.
2017-11-30 16:50:13 +04:00
John Preston
13ab055fe0 Add debug information about crash in ffmpeg. 2017-11-30 15:41:15 +04:00
John Preston
2e972fb678 Hide "Delete for {user}" in chats with bots.
Fixes #3818.
2017-11-30 15:06:30 +04:00
John Preston
5b7059dccd Fix crash in shared media save state. 2017-11-30 12:15:21 +04:00
John Preston
ad6ddcb507 Fix crash in selecting unsent messages.
Also add some more checks in file downloads and serialization.
2017-11-30 11:14:31 +04:00
John Preston
6994201d50 Fix travis and appveyor builds. 2017-11-29 22:33:16 +04:00
John Preston
cc1df6a068 Alpha version 1.1.24.
- Radically improved navigation. New side panel on the right
with quick access to shared media and group members.
- Pinned Messages. If you are a channel admin, pin messages
to focus your subscribers' attention on important announcements.
- Also supported clearing history in supergroups and added
a host of minor improvements.
2017-11-29 19:10:03 +04:00
John Preston
88b1552229 Closed beta 1.1.23.12. 2017-11-29 00:01:18 +04:00
John Preston
41b143cb7e Fix and improve back navigation with three columns. 2017-11-29 00:01:04 +04:00
John Preston
196ff7f4c1 Don't apply count from getParticipants(Recent). 2017-11-28 22:30:01 +04:00
John Preston
ff16897dde Improve supergroup members list reusability. 2017-11-28 20:20:05 +04:00
John Preston
300e55e610 Fix delete button in shared media selections. 2017-11-28 19:16:28 +04:00
John Preston
f716041073 Closed beta 1.1.23.11. 2017-11-28 14:05:23 +04:00
John Preston
a63abe5154 Add some more crash debug information. 2017-11-28 14:05:11 +04:00
John Preston
c04991f707 Redesign round checkbox animations. 2017-11-28 00:54:31 +04:00
John Preston
ddd57517df Fix text overflow in history top bar. 2017-11-27 19:09:26 +04:00
John Preston
d014b47958 Move Info::TopBarOverride to Info::TopBar.
This allows to improve animations in shared media items selection.
2017-11-27 15:43:57 +04:00
John Preston
6afe18503d wip redesign info top bar 2017-11-26 21:05:52 +04:00
John Preston
837dac50fa Fix build for the original range-v3. 2017-11-26 18:20:22 +04:00
John Preston
6a4aa184f3 Closed beta 1.1.23.10. 2017-11-24 21:42:19 +04:00
John Preston
20c9280ada Add some more debug info for crashes. 2017-11-24 21:41:31 +04:00
John Preston
fea122ae12 Handle PHONE_NUMBER_BANNED error in login. 2017-11-24 21:41:09 +04:00
John Preston
86c0205faa Handle USERS_TOO_FEW error in group creation. 2017-11-24 20:33:06 +04:00
John Preston
9f76be9d26 Elide 'Delete for {user}' checkbox text. 2017-11-24 20:28:14 +04:00
John Preston
7705696d54 Hide all PopupMenu when enabling local passcode. 2017-11-24 20:06:35 +04:00
John Preston
bb7ab625c1 Fix channel admin rights checking. 2017-11-24 20:05:50 +04:00
John Preston
da386f2c2e Update user status in Info::Profile cover. 2017-11-24 19:51:47 +04:00
John Preston
0ced28f991 Nice animations when selecting shared media items. 2017-11-24 19:47:09 +04:00
John Preston
9dc39cb758 Add slide animation to Info::TopBarOverride. 2017-11-24 18:12:39 +04:00
John Preston
9eacb11f3c Fix render lag in widgets resizeEvent()->show().
ScrollArea calls show() in ScrollBar::resizeEvent. If this event
handlers was called from SendPending...() you could set fake .._Shown
attribute on, call resizeEvent() and remove this attribute even if it
should not be removed already - after call to show().
2017-11-24 17:07:36 +04:00
John Preston
4b1d15f968 Closed beta 1.1.23.9. 2017-11-23 19:46:08 +04:00
John Preston
7395cc21b8 Update libtgvoip, opus to 1.2.1 and ffmpeg to 3.4. 2017-11-23 19:41:59 +04:00
John Preston
efdba3a482 Handle errors in getMessages(). 2017-11-23 19:41:13 +04:00
John Preston
39428841e4 Improve selected shared media items layout.
Also fix night mode theme bug in report spam panel.
2017-11-23 18:58:00 +04:00
John Preston
981063596a Add nice scroll to the bottom of the Info layer. 2017-11-23 17:10:50 +04:00
John Preston
67d4eb688a Reverse user and chat profile photos. 2017-11-23 13:58:12 +04:00
John Preston
da71938d18 Link libstdc++ statically in Updater.
This will allow running it on Ubuntu 12.04 when it was built on 14.04.
2017-11-23 09:29:58 +04:00
John Preston
2850d456d0 Closed beta 1.1.23.8: Test an upstream fix backport for macOS issue. 2017-11-22 21:53:10 +04:00
John Preston
5063a22155 Closed beta 1.1.23.8. 2017-11-22 18:03:00 +04:00
John Preston
98896ab5ac Fix crash in RpWidget::event() from alive().done() 2017-11-22 18:02:29 +04:00
John Preston
5913e6d187 Closed beta 1.1.23.7. 2017-11-22 15:11:41 +04:00
John Preston
f477aea2a5 Add some more debug info for crashes. 2017-11-22 15:10:11 +04:00
John Preston
5803edb77b Add members from info to mgInfo->lastParticipants. 2017-11-22 13:56:00 +04:00
John Preston
f6ba59ed14 Improve group stickers choose process.
Allow to choose from featured if used has no his own sets.
Allow to choose group sticker set from group info box.
2017-11-22 13:31:02 +04:00
John Preston
542ba89f25 Edit pre-history visibility in megagroups. 2017-11-22 12:04:45 +04:00
John Preston
2387b66e86 Allow supergroup members to clear history. 2017-11-22 12:04:24 +04:00
John Preston
75d8d01b17 Allow pinned messages in channels. 2017-11-21 18:27:48 +04:00
John Preston
b337d54623 Use custom base::overload() helper. 2017-11-21 18:27:48 +04:00
John Preston
44e94bfbf5 Add workaround for macOS leaveEvent() bugs.
On macOS sometimes when mouse leaves the window we don't receive leaveEvent()
calls in the nested widgets, like buttons, only for the window itself.
2017-11-21 18:27:48 +04:00
John Preston
d93c1ccbaa Improve compile time. 2017-11-21 14:20:52 +04:00
John Preston
6ca105a290 Minimal layer 72 support. 2017-11-20 23:54:05 +04:00
John Preston
bccd801874 API scheme updated to layer 72. 2017-11-20 16:33:12 +04:00
John Preston
eb8800f2d4 Replace $ with _ in rpl::mappers. 2017-11-20 16:32:55 +04:00
John Preston
ac99318f34 Use ranges:: algorithms instead of base:: 2017-11-20 16:24:00 +04:00
John Preston
bc7c88c511 Fix build in Xcode / GCC. 2017-11-19 20:31:58 +04:00
John Preston
f1f955b7ac Pass already-members when adding members to channel. 2017-11-19 18:41:52 +04:00
John Preston
68bc8d0231 Add range-v3 library. 2017-11-19 18:37:07 +04:00
John Preston
04a1cff24a Fix wrong unread counter in history top bar. 2017-11-19 15:52:15 +04:00
John Preston
de15da8a93 Improve info layer presentation. 2017-11-19 15:37:15 +04:00
John Preston
59938791ef Closed beta 1.1.23.6: Log crash info. 2017-11-18 00:04:22 +04:00
John Preston
3ef0bcc5d5 Closed beta 1.1.23.6. 2017-11-17 22:52:16 +04:00
John Preston
15d2ce150d Remove Send Message animation in !Wrap::Side 2017-11-17 21:02:49 +04:00
John Preston
33ae4b176a No shared media empty placeholders while loading. 2017-11-17 20:20:31 +04:00
John Preston
4aae4f9399 Show channel members inside Info as well. 2017-11-17 20:06:20 +04:00
John Preston
fc4c31b673 Make members header a button. 2017-11-17 19:34:51 +04:00
John Preston
88d7f172ca Improve unread counter for HistoryTopBarWidget. 2017-11-17 18:54:01 +04:00
John Preston
bef87c6dff Allow showing chat members in a special section. 2017-11-17 17:23:36 +04:00
John Preston
747ebd2136 Make links clickable in channel descriptions. 2017-11-17 11:42:53 +04:00
John Preston
41873412e7 Fix crash and improve info navigation. 2017-11-17 11:33:20 +04:00
John Preston
0811190527 Closed beta 1.1.23.5: Fix build for Xcode and GCC. 2017-11-17 11:09:43 +04:00
John Preston
0a5ba3490d Closed beta 1.1.23.5. 2017-11-16 21:20:27 +04:00
John Preston
55616a4d1b Inject active peer profile on the stack bottom.
Always have active peer profile on the bottom of third column stack.
2017-11-16 21:19:41 +04:00
John Preston
c872cd76e1 Improve window extension by third column. 2017-11-16 20:43:52 +04:00
John Preston
cf977cb41a Improve history -> profile top bar navigation. 2017-11-16 19:24:01 +04:00
John Preston
903aa46e5c Disable tabs in third column info. 2017-11-16 13:13:17 +04:00
John Preston
131efa11be Various fixes. 2017-11-16 11:45:55 +04:00
John Preston
5a159d0204 Improve string encoding. 2017-11-16 07:59:12 +04:00
John Preston
7fdeab829f Paint native title instead of using custom. 2017-11-16 07:59:12 +04:00
John Preston
4e1b94d37d Allow 3 photo/video in the minimal third column. 2017-11-16 07:59:12 +04:00
John Preston
388d743d29 Add confirmation on leaving group/channel. 2017-11-16 07:59:12 +04:00
John Preston
8dfccf55d1 Add shared media empty placeholders. 2017-11-16 07:59:12 +04:00
John Preston
fafcd02e7c Improve Emoji / GIFs list variable width support. 2017-11-16 07:59:12 +04:00
John Preston
defa0ae4d0 Improve stickers list variable width support. 2017-11-16 07:59:12 +04:00
John Preston
7db80d20f1 Closed beta 1.1.23.4. 2017-11-16 07:59:12 +04:00
John Preston
a86788f4d7 Improve info section navigation.
Also fix render glitch in StickersListWidget.
2017-11-16 07:59:12 +04:00
John Preston
aecc119bac Add fast chat photo upload to info profile. 2017-11-16 07:59:11 +04:00
John Preston
8dd3f24285 Replace Profile::UserpicButton with one from Ui:: 2017-11-16 07:59:11 +04:00
John Preston
830c6a4894 Replace PeerAvatarButton with UserpicButton. 2017-11-16 07:59:11 +04:00
John Preston
3d37ac9235 Replace NewAvatarButton with UserpicButton.
This new control should also replace PeerAvatarButton and
Profile::UserpicButton and deliver all the best of those three.
2017-11-16 07:59:11 +04:00
John Preston
3deea14559 Remove old shared media overview section.
Also move window/top_bar_widget to history/history_top_bar_widget.
2017-11-16 07:59:11 +04:00
John Preston
534b578598 Fix crash when switching two columns at once. 2017-11-16 07:59:11 +04:00
John Preston
8355722f4e Closed beta 1.1.23.3. 2017-11-16 07:59:11 +04:00
John Preston
866ff628b7 Fix render bug, enable wide third column. 2017-11-16 07:59:11 +04:00
John Preston
fe9630bb20 Allow to resize third column. 2017-11-16 07:59:11 +04:00
John Preston
bca9b3ca3f Extract a reusable Ui::ResizeArea class. 2017-11-16 07:59:11 +04:00
John Preston
3a25313e61 Fix restoring shared media state. 2017-11-16 07:59:11 +04:00
John Preston
fc66550a32 Support variable width tabs slider. 2017-11-16 07:59:11 +04:00
John Preston
0255d0c59e Support any size in the tabbed selector. 2017-11-16 07:59:10 +04:00
John Preston
5c12b0e5fa Use /permissive- flag for Visual Studio builds. 2017-11-16 07:59:10 +04:00
John Preston
aa160e775c Fix huge CPU consumption in the group info profile. 2017-11-16 07:59:10 +04:00
John Preston
d3c152022c Closed beta 1.1.23.2 2017-11-16 07:59:10 +04:00
John Preston
dbb011fc56 Add members link in info for channel admins. 2017-11-16 07:59:10 +04:00
John Preston
a6df928d45 Improve copy of info profile phrases. 2017-11-16 07:59:10 +04:00
John Preston
dd3ae22e08 Save data from EditPeerInfoBox. 2017-11-16 07:59:10 +04:00
John Preston
8ff0120642 Add EditPeerInfoBox without saving. 2017-11-16 07:59:10 +04:00
John Preston
3998fad7ef Add manage supergroup / channel box. 2017-11-16 07:59:10 +04:00
John Preston
7f8cdf85d5 Grow history stack following joinchat links. 2017-11-16 07:59:10 +04:00
John Preston
1871425b2d Add 'X' and admin star in group info members. 2017-11-16 07:59:10 +04:00
John Preston
5f0ba48309 Add top bar menu and notifications toggle. 2017-11-16 07:59:10 +04:00
John Preston
9743dc1ffb Add some more actions to three dot menu. 2017-11-16 07:59:10 +04:00
John Preston
fcf2b9d1a7 Add some more actions to info profile. 2017-11-16 07:59:10 +04:00
John Preston
9f37820901 Add bot Help and Settings buttons in info. 2017-11-16 07:59:09 +04:00
John Preston
4295a823c6 Improve bot About section in info profile. 2017-11-16 07:59:09 +04:00
John Preston
8191ebfc49 Improve peer context menu for info. 2017-11-16 07:59:09 +04:00
John Preston
3fe12f1249 Display verified badge in the info. 2017-11-16 07:59:09 +04:00
John Preston
230c83d218 Follow group->supergroup migration in info. 2017-11-16 07:59:09 +04:00
John Preston
11a3308cf5 Scroll to field on search query update. 2017-11-16 07:59:09 +04:00
John Preston
3992ff6b59 Switch add member and search members buttons. 2017-11-16 07:59:09 +04:00
John Preston
a05c7a815a Fix animation lag in info layer wrap. 2017-11-16 07:59:09 +04:00
John Preston
a7807420fa Fix animation lag in shared media. 2017-11-16 07:59:09 +04:00
John Preston
47a52b0587 Moved several modules from history/ to data/. 2017-11-16 07:59:09 +04:00
John Preston
d67a8a4708 Fix edit bio in Settings. 2017-11-16 07:59:09 +04:00
John Preston
9c01bbca95 Fix invoice amount display. 2017-11-16 07:59:09 +04:00
John Preston
554eb3a342 Move stickers state variables to AuthSessionData.
Also allow to click on the selected set when choosing megagroup
sticker set and allow to paste a t.me link to the set there.
2017-11-16 07:59:09 +04:00
John Preston
9a56b2d20f Move dialogsWidthRatio to AuthSessionData. 2017-11-16 07:59:09 +04:00
John Preston
4771ea7cd4 Display "{from}:" in global search results.
Regression was introduced in c09fbcfeb3.
2017-11-16 07:59:09 +04:00
John Preston
aec496d520 Remove RTL Override symbols from filenames. 2017-11-16 07:59:09 +04:00
John Preston
cb5c59c86c Fix build and crash in Xcode. 2017-11-16 07:59:09 +04:00
John Preston
628c8e10f7 Search and save state in common groups. 2017-11-16 07:59:09 +04:00
John Preston
a6361d6221 Move common_groups info module. 2017-11-16 07:59:08 +04:00
John Preston
39c5898fa4 Save media search state to memento. 2017-11-16 07:59:08 +04:00
John Preston
09d1e3629a Add media search to all info modes. 2017-11-16 07:59:08 +04:00
John Preston
86ad15612a Use Info::Controller for the whole info section. 2017-11-16 07:59:08 +04:00
John Preston
c9152b0b3a Cache media search results until empty query. 2017-11-16 07:59:08 +04:00
John Preston
eb2719fad1 Added search to files and links shared media. 2017-11-16 07:59:08 +04:00
John Preston
a27edcad1c Extract SparseIdsList module from SharedMedia.
This way it can be reused in search results management.
2017-11-16 07:59:08 +04:00
John Preston
15cc4502b4 Save scroll top state to media memento. 2017-11-16 07:59:08 +04:00
John Preston
f6ed3dff7f Rewrite base::lambda_guard, use only one pointer.
Support base::enable_weak_from_this for guarding, not only QObject,
in base::lambda_guard, in App::CallDelayed and in App::LambdaDelayed.

Allow only one guarding pointer, no places in code use more than one.
2017-11-16 07:59:08 +04:00
John Preston
101d4f6444 Use std::function for base::lambda implementation.
base::lambda becomes just std::function and base::lambda_once becomes
base::unique_function - a move-only wrapper around std::function.

This is required because Visual C++ 2017 15.4.1 has a compiler bug
with static member variables of class templates, they may collide.

The std::function uses inheritance and virtual functions instead of
custom vtables done by static members of class templates used in
custom base::lambda implementation, so they work fine.
2017-11-16 07:59:08 +04:00
John Preston
fde3ff1bbf Simplify rpl::consumer. 2017-11-16 07:59:08 +04:00
John Preston
53de44f272 Clear selection after forward in info shared media. 2017-11-16 07:59:08 +04:00
John Preston
f5c5c32d1d Add context menu to info shared media. 2017-11-16 07:59:08 +04:00
John Preston
9a988d89e3 Remove std::any dependency (for now).
Xcode 9 still doesn't have std::any :(
2017-11-16 07:59:08 +04:00
John Preston
b51f865c54 Save info members list state to memento. 2017-11-16 07:59:08 +04:00
John Preston
fb46c33d7f Add context menu support to info members list. 2017-11-16 07:59:07 +04:00
John Preston
856ca22aad Display online count in the info profile section. 2017-11-16 07:59:07 +04:00
John Preston
508fa14385 Workaround render glitches on new MacBooks.
For unknown reason large windows have bad render glitches in High Sierra.
Forcing of OpenGL composition (by adding a fake child QOpenGLWidget) fixes it.
2017-11-16 07:59:07 +04:00
John Preston
5b190c5098 Preserve TopBarOverride in Info WrapWidget.
Also support better selection in info shared media.
Also fix build for Xcode.
2017-11-16 07:59:07 +04:00
John Preston
6b5e06de50 Removed collapsing of shared media. 2017-11-16 07:59:07 +04:00
John Preston
be5f4c9a71 Allow delete / forward selected in shared media.
Also use PeerListBox with a chats list with global search controller
instead of HistoryHider for forward / share contact.
2017-11-16 07:59:07 +04:00
John Preston
7b69282c7e Add rpl::merge(). 2017-11-16 07:59:07 +04:00
John Preston
54cc3e6315 Shared media multiple items selection. 2017-11-16 07:59:07 +04:00
John Preston
66146c382d Improve paths for Xcode build. 2017-11-16 07:59:07 +04:00
John Preston
989f0cc683 Fix build in Xcode. 2017-11-16 07:59:07 +04:00
John Preston
e02d209e6f Fix build with GCC. 2017-11-16 07:59:07 +04:00
John Preston
6445c0563e Fix reading from freed memory in rpl::take(). 2017-11-16 07:59:07 +04:00
John Preston
583b0fa778 Display common groups in Info profiles. 2017-11-16 07:59:07 +04:00
John Preston
fee517384c Disable round videos in shared media for now. 2017-11-16 07:59:07 +04:00
John Preston
aa260d263b Don't forget current item in MediaView. 2017-11-16 07:59:07 +04:00
John Preston
a08dd1f6e1 Fix build for macOS. 2017-11-16 07:59:06 +04:00
John Preston
f107866b42 Add basic click handler support to info shared media. 2017-11-16 07:59:06 +04:00
John Preston
7f3c97fb01 Add info media preloading to both sides. 2017-11-16 07:59:06 +04:00
John Preston
65cc4d3fbc Support item repaint in Info media overview. 2017-11-16 07:59:06 +04:00
John Preston
fdd89d65ca Allow using custom comparators in flat_[map|set]. 2017-11-16 07:59:06 +04:00
John Preston
ecbc0ae57e Show info media overview using Overview::Layout. 2017-11-16 07:59:06 +04:00
John Preston
7905694b31 Add tabs and other types links to Info::Media. 2017-11-16 07:59:06 +04:00
John Preston
335704e176 Fix layer resize animation glitches. 2017-11-16 07:59:06 +04:00
John Preston
c0bb8a8af7 Return third section when returning in main section. 2017-11-16 07:59:06 +04:00
John Preston
76b8078bd9 Save section expand state in Info memento. 2017-11-16 07:59:06 +04:00
John Preston
c6c75a1980 Animate Info-to-Info transitions. 2017-11-16 07:59:06 +04:00
John Preston
93c15e5ee6 Use internal section stack in Info::WrapWidget. 2017-11-16 07:59:06 +04:00
John Preston
525cde3498 Use make_state for flatten_latest(). 2017-11-16 07:59:06 +04:00
John Preston
c4d33f9986 Add rpl::take(count). 2017-11-16 07:59:06 +04:00
John Preston
f0ad78d808 Change *[Fast|Animated] to anim::type in SlideWrap. 2017-11-16 07:59:06 +04:00
John Preston
83850d9b86 Change *[Fast|Animated] to anim::type in FadeWrap. 2017-11-16 07:59:06 +04:00
John Preston
0c4bda71fd Remove some unused / rare phrases. 2017-11-16 07:59:05 +04:00
John Preston
d1687ab963 Improve info wrapping in section / layer.
Also move layerwidget to window/layer_widget.
Also replace ui/effects/widget_fade_wrap with ui/wrap/fade_wrap.
2017-11-16 07:59:05 +04:00
John Preston
ea0f6b9a12 Use 'if constexpr ()' instead of tag dispatch. 2017-11-16 07:59:05 +04:00
John Preston
5cc7cb1d85 Allow empty arg list in rpl next/error handlers. 2017-11-16 07:59:05 +04:00
John Preston
21b1ba1f88 Move build to Ubuntu 14.04 and GCC 7.2.
To be able to run on the same distributions as before we need to have
the same GLIBC version dependency as in Ubuntu 12.04, which is 2.15.

For that we need to remove all usages of GLIBC features from 2.16 and above.
Currently there are three methods used, so they're wrapped in a separate
static library, linux_glibc_wraps.

It is a separate library because it must be compiled without '-flto' flag,
otherwise the inline __asm__ is not working and we get unresolved symbols.
2017-11-16 07:59:05 +04:00
John Preston
1cd126d728 Disable not type-erased consumers on GCC. 2017-11-16 07:59:05 +04:00
John Preston
6861059d18 Fix build for old OS X with Qt 5.3.2 2017-11-16 07:59:05 +04:00
John Preston
80d9938e96 Support and use not type-erased consumers. 2017-11-16 07:59:05 +04:00
John Preston
fddcdf359b Use not type-erased producers in code. 2017-11-16 07:59:05 +04:00
John Preston
cdda7f8f9a Allow not type-erased producers. 2017-11-16 07:59:05 +04:00
John Preston
086e46c162 Add and use only rpl::start_with_*() methods. 2017-11-16 07:59:05 +04:00
John Preston
ed061252a5 Move to Xcode 9.0 and fix errors in Clang build. 2017-11-16 07:59:05 +04:00
John Preston
7c4e4d7fa2 Closed beta 1.1.23.1. 2017-11-16 07:59:05 +04:00
John Preston
4180ed09a5 Add user actions to info profile. 2017-11-16 07:59:05 +04:00
John Preston
f50bf0b97f Show old overview / common groups for now. 2017-11-16 07:59:05 +04:00
John Preston
2c75b4836d Improve sorting by online in info profile. 2017-11-16 07:59:05 +04:00
John Preston
292e57ffc7 Use PeerListBox content in info profile. 2017-11-16 07:59:04 +04:00
John Preston
1a0e524b49 Optimize third column (create it only once).
Before historyPeer and historyPeerCanWrite were independent, so we
created a new Info section for both of them changing.

Now we use Data::CanWriteValue(peer) and rpl::flatten_latest().
2017-11-16 07:59:04 +04:00
John Preston
ffc20e4492 Divide structs into several data/ modules. 2017-11-16 07:59:04 +04:00
John Preston
f2a5862714 Add members list to info profile. 2017-11-16 07:59:04 +04:00
John Preston
faeb1483f2 Divide info_profile_lines in different modules. 2017-11-16 07:59:04 +04:00
John Preston
a4c2138e74 Finalize move of info-profile modules. 2017-11-16 07:59:04 +04:00
John Preston
1c5d410373 Move info-profile modules to info/profile/
Next commit fixes the build.
2017-11-16 07:59:04 +04:00
John Preston
b9fb9af74f Info shared media and common groups counters. 2017-11-16 07:59:04 +04:00
John Preston
812dcb5e8d Update styles to match the design. 2017-11-16 07:59:04 +04:00
John Preston
703b944839 Return FlatLabel.margins in getMargins(). 2017-11-16 07:59:04 +04:00
John Preston
e1ba9f8ff8 Hide send message in Info for current chat. 2017-11-16 07:59:04 +04:00
John Preston
3db696d52f Add rpl::combine_previous() operator. 2017-11-16 07:59:04 +04:00
John Preston
6d0dbebda9 Fix tabbed selector section / panel exchange. 2017-11-16 07:59:04 +04:00
John Preston
f4d9618487 Improve layer / section exchange for Info. 2017-11-16 07:59:04 +04:00
John Preston
b7077eb71d Enable third column info by default. 2017-11-16 07:59:03 +04:00
John Preston
1a4d326abb Show Info if writing is forbidden. 2017-11-16 07:59:03 +04:00
John Preston
48cbdd9d40 Don't toggle tabbed section from OneColumn. 2017-11-16 07:59:03 +04:00
John Preston
26532ab9b4 Fix small chats list column bug with boxes. 2017-11-16 07:59:03 +04:00
John Preston
c0e780a28f Allow small dialogs list with three columns. 2017-11-16 07:59:03 +04:00
John Preston
5c4daeee4c Add rpl::variable, improve filter / combine. 2017-11-16 07:59:03 +04:00
John Preston
1c5abaa518 Remove mutex locks from rpl for now. 2017-11-16 07:59:03 +04:00
John Preston
5586d231de Switch Info between columns and layer. 2017-11-16 07:59:03 +04:00
John Preston
3fbb643d51 GCC bug workaround.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67274
2017-11-16 07:59:03 +04:00
John Preston
766e7dadb1 Use improved rpl::start(). 2017-11-16 07:59:03 +04:00
John Preston
ee9763c98f Improve rpl::combine() and rpl::start(). 2017-11-16 07:59:03 +04:00
John Preston
5e7aa4ff81 Move third column from HistoryWidget to MainWidget. 2017-11-16 07:59:03 +04:00
John Preston
f162462111 Move info between Layer and Narrow wrap. 2017-11-16 07:59:03 +04:00
John Preston
088d23d557 Start new Info section (profile + shared media). 2017-11-16 07:59:02 +04:00
John Preston
fbcd5e2f1e Try to use const-ref better in rpl. 2017-11-16 07:59:02 +04:00
John Preston
c302219f9e Use rpl in some widgets and effects. 2017-11-16 07:59:02 +04:00
John Preston
21d136e224 myEnsureResized() now forces recursive create. 2017-11-16 07:59:02 +04:00
John Preston
487ddb5694 Add some rpl operators. 2017-11-16 07:59:02 +04:00
John Preston
873ccf8096 Implement SharedMediaWithLastViewer using rpl. 2017-11-16 07:59:02 +04:00
John Preston
696478843e Implement UserPhotosViewer using rpl. 2017-11-16 07:59:02 +04:00
John Preston
2690618da2 Add Storage::UserPhotos and UserPhotosSlice. 2017-11-16 07:59:02 +04:00
John Preston
68a0e32a3d Add SharedMediaSliceWithLast for chat photos. 2017-11-16 07:59:02 +04:00
John Preston
449986456e Add SharedMediaSliceMerged for migrated histories. 2017-11-16 07:59:02 +04:00
John Preston
2363a6bd44 Add SharedMediaSlice to observe shared media.
Start testing / using it in MediaView.
2017-11-16 07:59:02 +04:00
John Preston
41ed2d1b84 New storage for shared media messages index. 2017-11-16 07:59:02 +04:00
John Preston
b873fee1cf Use rvalue references in rpl next / error. 2017-11-16 07:59:01 +04:00
John Preston
e70052e966 Add piping and on_next, on_error, on_done, start. 2017-11-16 07:59:01 +04:00
John Preston
101fdb1fba Add event_stream for events with many consumers. 2017-11-16 07:59:01 +04:00
John Preston
ebe4bbbf0f Add core rpl::producer/consumer implementation. 2017-11-16 07:59:01 +04:00
Roman Voropaev
63669c1612 Added cmake to %PATH% (#4066)
It's later used in OpenAL building.
2017-11-15 21:16:44 +01:00
John Preston
1c8db1e2e9 Fix travis build for the latest ffmpeg code. 2017-11-13 13:55:11 +04:00
Christoph
62463d2c3e Remove notes about the signature (#4015)
* Remove notes about the signature

It's handled by a bot now 🎉

* Remove check from travis

* Remove check from appveyor
2017-10-26 23:35:55 +02:00
John Preston
247f8f4fcc Fix instructions markup. 2017-10-11 22:33:49 +01:00
Duncan Ogilvie
34d15e7216 don't call vcvarsall.bat in AppVeyor script (#3945)
Follow-up for #3920

Signed-off-by: Duncan Ogilvie mr.exodia.tpodt@gmail.com (github: mrexodia)
2017-09-29 20:24:04 +02:00
John Preston
d46a5f693f Remove unused lang phrases and some code. 2017-09-28 19:18:27 +03:00
eegorov
8bfe407610 New build option: without GTK and appindicator
Signed-off-by: Egor Y. Egorov <egor.y.egorov@gmail.com> (github: eegorov)
2017-09-28 18:32:51 +03:00
visuve
08e3a54a58 Mark missing ctors deleted
- Satisfy the rule of five

Signed-off-by: Veli-Matti Visuri <veli-matti.visuri@cerescon.fi> (github: visuve)
2017-09-28 18:23:42 +03:00
visuve
8c92f42de3 Fix uninitialized values
- Use C++11 default member initializers

Signed-off-by: Veli-Matti Visuri <veli-matti.visuri@cerescon.fi> (github: visuve)
2017-09-28 18:23:42 +03:00
Alexander GQ Gerasiov
07106897a6 Fix CVE-2016-10351: Insecure cWorkingDir permissions.
Set 700 permisson on dir on every start.

Signed-off-by: Alexander GQ Gerasiov <gq@cs.msu.su>
2017-09-28 18:19:27 +03:00
Duncan Ogilvie
5d5b89c82d Customized BUILD_DIR in install.bat (#3920)
This is a very simple change that allow people to build Telegram like AppVeyor does it, but not in C:\TBuild (often C is "System Reserved" and cannot be used). Instead you can build it anywhere (from the visual studio 2017 x86 command prompt) like this:

    >set BUILD_DIR=%CD%
    >git clone https://github.com/telegramdesktop/tdesktop.git
    >cd tdesktop
    >.\.appveyor\install.bat
    >msbuild Telegram\Telegram.sln /property:Configuration=Debug /p:Platform=Win32

Some notes:

- I replaced all C:\TBuild with %BUILD_DIR%, even if it is decided not to merge this, keep that.
- %BUILD_DIR%\Libraries\prepare.bat might fail to extract the 7z Qt libraries for some reason (even if 7z.exe is in PATH) this has not been fixed

Signed-off-by: Duncan Ogilvie mr.exodia.tpodt@gmail.com (github: mrexodia)
2017-09-28 12:03:39 +02:00
Jan Niklas Hasse
e42cc02d0e Prefer AppIndicator if DBus interface is available
Starting with Ubuntu 17.10 the interface will be provided by an
extension (shipped by default):

https://github.com/ubuntu/gnome-shell-extension-appindicator

Legacy tray icons have been completely removed in GNOME 3.26. By
checking the interface, this will allow users of other distributions
with GNOME to also use Telegram's indicator with the extension.

Signed-off-by: Jan Niklas Hasse <jhasse@bixense.com> (github: jhasse)
2017-09-28 12:59:46 +03:00
Yonsh Lin
11a46a1072 Fix IME being interrupted after reconnection
Signed-off-by: Yonsh Lin <yonsh@live.com> (github: yonsh)
2017-09-28 12:57:25 +03:00
Monote
a0fbbf2fb6 Fix build instructions for MSVC (#3878)
Fixed 'change directory' commands for following build process step-by-step.

Signed-off-by: Andrew Aponte <coyshibe@gmail.com> (github: monote)
2017-09-11 14:04:25 +03:00
John Preston
74e46f7b80 Fix travis / appveyor CI builds. 2017-09-06 17:12:26 +03:00
John Preston
b8d1b8d6c1 Update build docs for VS 2017.
Closes #3117. Closes #3729.
2017-09-06 17:11:30 +03:00
John Preston
7ae1ef0a1a Migrate to VS2017. 2017-09-06 17:11:06 +03:00
John Preston
13aa42c883 Use GYP rule for Qt MOC only on Telegram project. 2017-09-06 12:12:04 +03:00
John Preston
aca957595a Version 1.1.23.
- See the message author photo and name
while searching specific chat messages.
- Fix "Send To" menu action on Windows.
2017-09-05 20:38:38 +03:00
John Preston
c09fbcfeb3 Display author photo / name in search results. 2017-09-05 20:21:56 +03:00
John Preston
def97b3f70 Update faved sticker / saved GIF remove button. 2017-09-05 19:34:36 +03:00
John Preston
da373e3334 Update emoji / sticker icons. 2017-09-05 17:44:14 +03:00
John Preston
28a0402253 Fix command line parsing. 2017-09-05 17:38:40 +03:00
John Preston
a09fa1b267 Fix sending files from "Send To" in Windows.
Regression was introduced in 8e433971c9.
2017-09-05 16:45:58 +03:00
Christoph
ea082e9604 Retry cloning dep. if prebare.bat is missing (#3861)
Signed-off-by: auchri <auer.chrisi@gmx.net>
2017-09-04 21:46:57 +02:00
John Preston
917be105ac Version 1.1.22: Faved stickers limit is 5 right now. 2017-09-04 16:29:35 +03:00
John Preston
710f9d049f Version 1.1.22.
- Bug fixes and other minor improvements.
2017-09-04 15:34:40 +03:00
John Preston
34a43fc62f Update langs. 2017-09-04 15:34:11 +03:00
John Preston
5e77fe8412 Don't display admin stars if admins are disabled. 2017-09-04 15:21:54 +03:00
John Preston
52195ff95a Fix saving chat admins.
Regression was introduced in 0880c01a20.
2017-09-04 15:21:53 +03:00
John Preston
5b77bd5aa0 Limit maximum IP length in case of corrupted data. 2017-09-04 15:21:52 +03:00
John Preston
fbf8cd04b5 Fix travis build.
Regression was introduced in 5faca8d4f6.

GYP patch for GCC precompiled header support was accidentally removed.
2017-09-04 14:30:33 +03:00
Christoph
7f776c70db Fix typo in changelog date
Signed-off-by: Christoph <auer.chrisi@gmx.net>
2017-09-04 08:49:15 +02:00
John Preston
1effaa4e03 Version 1.1.21.
- Bug fixes and other minor improvements.
2017-09-03 23:41:04 +03:00
John Preston
66c94515f3 Fix crash in setting group sticker set. 2017-09-03 22:50:16 +03:00
John Preston
c2a1cc2ae8 Fix crash in contacts list box global search.
Regression was introduced in f7359093b4.
2017-09-03 22:50:16 +03:00
John Preston
ad41a81b66 Fix window size reset on every launch.
Regression was introduced in b08732cf28.

In MediaView constructor a call to setWindowState(WindowFullScreen)
invokes QWindowSystemInterface::flushWindowSystemEvents() which then
delivers some delayed system window resize event for the main window,
resetting its size to something default.
2017-09-03 22:50:15 +03:00
John Preston
2e374e68c5 Fix working with layers.
Regression was introduced in df64c97.

New base::flags work correctly only if all mutually exclusive flag
values use mutually exclusive bits (a & b == 0 for exclusive (a, b)).

Closes #3856.
2017-09-03 22:49:33 +03:00
John Preston
8f82880b93 Version 1.1.20.
- Groups with unread mentions and replies are now marked
with an '@' badge in the chats list.
- Navigate new mentions and replies in a group
using the new '@' button.
- Mark your stickers as “favorite” to quickly access them
from the redesigned sticker panel.
- Add an official sticker set for your group which all members will
be able to use while chatting in your group (100+ member groups only)
2017-09-03 19:23:50 +03:00
John Preston
cd8d73c7ad Langs updated. 2017-09-03 19:14:47 +03:00
John Preston
c76389e126 Allow to use base::lambda independently. 2017-09-03 15:45:49 +03:00
John Preston
76489a7885 Fix stack overflow in passcode lock check.
A regression was introduced in e209737b1a.

We call MainWindow::doWeReadMentions() in the history paintEvent,
that calls Auth().checkAutoLock() and may start passcode locking.

Passcode locking starts animation and grabs the window content,
calling history paintEvent() which leads to deadlock.

Now we call Auth().checkAutoLock() asyncronously.
2017-09-03 15:45:48 +03:00
John Preston
df64c972d8 Replace QFlags with base::flags. 2017-09-03 15:45:47 +03:00
John Preston
a1344e862a Add base/flags for bit flags on scoped enums. 2017-09-03 15:45:46 +03:00
John Preston
5faca8d4f6 Add Catch unittest framework and some tests. 2017-09-03 15:45:45 +03:00
John Preston
48e2a5472e Return not_null<History*> in App::history(). 2017-09-03 15:45:43 +03:00
John Preston
5a20014b1a Highlight all mentions when marking them read. 2017-08-30 19:15:53 +03:00
John Preston
20efa47126 Fix layout for the log entries of caption edits. 2017-08-30 19:15:52 +03:00
John Preston
5a1d52f82e Fix unread mentions navigation issues.
When the unread bar was destroyed we first jumped to the bottom
of the history by updateHistoryGeometry() and only after that
animated scroll to the desired message started. The last messages
were always painted (and marked as read) in that case.
2017-08-30 19:15:51 +03:00
John Preston
4c604b34c1 Allow service messages to be unread mentions. 2017-08-30 19:15:50 +03:00
John Preston
ee5c827f26 Closed beta 1.1.19.3. 2017-08-30 19:15:49 +03:00
John Preston
643bedd4cf Display faved stickers before recently used. 2017-08-30 19:15:48 +03:00
John Preston
af165115f8 Fix media caption line breaks in MediaView. 2017-08-30 19:15:48 +03:00
John Preston
5964261db5 Allow to view sticker set from admin event log. 2017-08-30 19:15:47 +03:00
John Preston
d4814c5cb0 Display only mention badge if one unread message. 2017-08-30 19:15:46 +03:00
John Preston
a8df4453ff Fix cancel search in peer ripple painting. 2017-08-30 19:15:45 +03:00
John Preston
638d64d6f2 Closed beta 1.1.19.2. 2017-08-30 19:15:44 +03:00
John Preston
c97227825f Send images as files if no way to send as photos.
Fixes #3710.
2017-08-30 19:15:44 +03:00
John Preston
25ffaaaa2d Replace t_assert() with Assert().
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03:00
John Preston
b3da99c302 Replace gsl::not_null<T*> with just not_null<T*>. 2017-08-30 19:15:41 +03:00
John Preston
cc4023d26a Improve unread mentions badge layout. 2017-08-30 19:15:39 +03:00
John Preston
ca15fa3a97 Use sync notifications for name changes.
Search index updates must be sync or it may use new values twice.
2017-08-30 19:15:38 +03:00
John Preston
67bdb4cec8 Closed beta 1.1.19.1. 2017-08-30 19:15:37 +03:00
John Preston
e13ed9b909 Remove main()->peerUpdated and some other signals. 2017-08-30 19:15:36 +03:00
John Preston
8e433971c9 Improve current executable path computing.
Fixes #960 (hopefully).
2017-08-30 19:15:35 +03:00
John Preston
f2801d4775 Fix possible crash in file download after error.
Regression was introduced in 2fa2fa41c5.

In file download failed handler we suggest to try to load the file
once again to the same location. After some changes we started to
forget filename before failed handler. That resulted in large files
loading to memory instead of hard drive.

Add a precondition in FileLoader to prevent such bugs in the future.
2017-08-30 19:15:34 +03:00
John Preston
6cedf20c39 Remove old crash debug information. 2017-08-30 19:15:33 +03:00
John Preston
7df63db9b3 Hide "Ban Users" admin rights changes in channels. 2017-08-30 19:15:32 +03:00
John Preston
0303f18ac6 Fix check for _mouseSelection flag in dialogs.
Fixes #3781.
2017-08-30 19:15:32 +03:00
John Preston
81fb32504b Apply faved stickers limit when faving. 2017-08-30 19:15:31 +03:00
John Preston
a72453fb1b Remove ContactsBox and contacts_box module. 2017-08-30 19:15:30 +03:00
John Preston
b816d33d48 Replace add bot to group box with PeerListBox. 2017-08-30 19:15:29 +03:00
John Preston
782114d644 Add and use base::make_weak_unique() helper. 2017-08-30 19:15:28 +03:00
John Preston
0880c01a20 Replace group admins ContactsBox with PeerListBox. 2017-08-30 19:15:28 +03:00
John Preston
f7359093b4 Replace ContactsBox with PeerListBox in two cases.
- View contacts list in PeerListBox.
- Add participants when creating group / channel in PeerListBox.
2017-08-30 19:15:27 +03:00
John Preston
17cef93ac0 Use gsl::finally() instead of base::scope_guard(). 2017-08-30 19:15:26 +03:00
John Preston
012d59ab42 Use nullptr instead of std::unique_ptr<Type>(). 2017-08-30 19:15:25 +03:00
John Preston
0bea2620b5 Replace BoxContent::closeHook() with boxClosing. 2017-08-30 19:15:24 +03:00
John Preston
95af8da66a Call correct destructor in base::Observable.
base::Subscription::Node doesn't have a virtual destructor.
2017-08-30 19:15:23 +03:00
John Preston
71e0e6ac4d Mark history as read at the bottom in any case. 2017-08-30 19:15:22 +03:00
John Preston
bca444b92e Add base::optional as a wrapper of base::variant. 2017-08-30 19:15:21 +03:00
John Preston
ae1dacb7d7 Add base/algorithm for range-based algorithms. 2017-08-30 19:15:21 +03:00
John Preston
e209737b1a Display and follow unread mentions in history. 2017-08-30 19:15:13 +03:00
John Preston
7ad21ff713 Move std and gsl includes to precompiled header. 2017-08-25 14:39:33 +03:00
John Preston
c8810f87b9 Move a lot of code from scheme.h to scheme.cpp. 2017-08-25 14:39:32 +03:00
John Preston
1207ddb2ea Add flat_map and flat_set using std::deque. 2017-08-25 14:39:31 +03:00
John Preston
edbc3f8fde Use QDataStream directly on QByteArray. 2017-08-25 14:39:30 +03:00
John Preston
dd9d604966 Fix incorrect scroll jumps.
If we invoke showHistory(h, msgId) several times we call
forgetScrollState() for this history being on the same scroll place.

To compute it again we need to call visibleAreaUpdated() even if
the real scroll position was not changed.
2017-08-25 14:39:29 +03:00
John Preston
65d81f96f3 Remove some App::wnd() occurences. 2017-08-25 14:39:28 +03:00
John Preston
b08732cf28 Move MediaView from MainWindow to Messenger. 2017-08-25 14:39:27 +03:00
John Preston
fa818407e6 Improve group sticker set setup box. 2017-08-25 14:39:25 +03:00
John Preston
7f5a91d2bb Allow to hide empty megagroup sticker set. 2017-08-25 14:39:24 +03:00
John Preston
25f18c0c3a Allow to fave stickers from deleted sticker packs. 2017-08-25 14:39:23 +03:00
John Preston
472a714ef1 Apply faved stickers limit when faving a new one. 2017-08-25 14:39:22 +03:00
John Preston
9b01621791 Add height for checkbox/radiobutton ripple effect. 2017-08-25 14:39:20 +03:00
John Preston
f04b25ea26 Allow setting group stickers set. 2017-08-25 14:39:19 +03:00
John Preston
ab35829358 Remove App::app(), App::uploader(), App::api().
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston
417f5684dc Add ability to disable animations. 2017-08-25 14:39:16 +03:00
John Preston
a143505fd6 Remove lambda_slot() and lambda_slot_once(). 2017-08-25 14:39:15 +03:00
John Preston
cb5b6d0cb8 Add megagroup stickerset to StickersListWidget. 2017-08-25 14:39:13 +03:00
John Preston
d44b303fb3 Suggest faved stickers by emoji.
Request added faved sticker emoji if its pack is not loaded yet.
2017-08-25 14:39:12 +03:00
John Preston
8188724920 Remove faved stickers from StickersListWidget. 2017-08-25 14:39:11 +03:00
John Preston
070456882e Manage faved stickers from sticker context menu. 2017-08-25 14:39:09 +03:00
John Preston
134bc13169 Show faved stickers in StickersListWidget. 2017-08-25 14:39:07 +03:00
John Preston
667eb288d7 Add faved stickers set loading and saving.
Also move stickers loading methods to ApiWrap.
2017-08-25 12:58:13 +03:00
John Preston
b0cc61c621 API scheme updated to layer 71. 2017-08-25 12:58:12 +03:00
John Preston
99afa1196c Improve search in peer / search from user design. 2017-08-25 12:58:11 +03:00
John Preston
0a6535ea94 Show "choose from user" box when typing "from:". 2017-08-25 12:58:10 +03:00
John Preston
ce51abd9d0 Change dialogs filter text area for two icons. 2017-08-25 12:58:09 +03:00
Nicholas Guriev
a2c93bc040 Fix updates of mute status in context menu of dialog list
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru>
2017-08-25 12:56:50 +03:00
Or Bin
7bcb6d556f Minor fixes for VS2015 build instructions
Signed-off-by: Or Bin <orbin50@gmail.com> (github: OrBin)
2017-08-06 10:08:10 +02:00
nyuszika7h
31b460fe46 Improve multiple people typing/playing message
This is consistent with the Android version, and is more clear.

Also, in languages that use singular for all numbers, it avoids
confusion between "3 people are typing" and "a person named '3' is
typing".

Signed-off-by: nyuszika7h <nyuszika7h@gmail.com> (github: nyuszika7h)
2017-08-04 18:24:37 +02:00
Nicholas Guriev
24fc162e71 Mute settings box
Closes: #3153
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-08-04 18:16:54 +02:00
John Preston
98f3e9a853 Version 1.1.19: Update langs. 2017-08-01 22:57:41 +03:00
John Preston
a90a18920b Version 1.1.19.
- Search by messages of specific group members.
- Bug fixes and other minor improvements.
2017-08-01 21:45:04 +03:00
John Preston
6f746c238a Search for messages from a specific user in group. 2017-08-01 21:38:01 +03:00
John Preston
8c60ac78aa Rename and split dialogswidget module.
Also remove some debug information for crash fix.
2017-08-01 21:15:03 +03:00
John Preston
91fda6b654 Add search from group member button to dialogs. 2017-08-01 21:15:02 +03:00
John Preston
6f27e310ae Send reply and forward when choosing bot command. 2017-08-01 21:14:45 +03:00
John Preston
96a2af842f Remove glitch with video messages floating player. 2017-08-01 21:14:44 +03:00
John Preston
9d81ea59dd Attempt to fix an out of memory crash. 2017-08-01 21:14:43 +03:00
John Preston
91f0d049db Fix saving a loaded file as another existing file. 2017-08-01 21:14:42 +03:00
John Preston
27151d5e25 Show who banned or restricted user in supergroup. 2017-08-01 21:14:41 +03:00
John Preston
1b46cec4fb Version 1.1.18.
- Bug fixes and other minor improvements.
2017-07-27 14:26:48 +03:00
John Preston
027340a8e0 Copy public channel link instead of following it. 2017-07-27 14:24:37 +03:00
John Preston
0517f9f780 Insert emoji instead of text replacement. 2017-07-27 13:22:51 +03:00
John Preston
80ee40eb18 Add debug info for out of memory crash. 2017-07-27 13:14:39 +03:00
John Preston
9194c68bd3 Version 1.1.17.
- Bug fixes and other minor improvements.
2017-07-26 23:47:17 +03:00
John Preston
2dadc9bd7a Langs updated. 2017-07-26 23:46:16 +03:00
John Preston
180f83c528 Fix crash in InnerDropdown widget animations. 2017-07-26 23:43:18 +03:00
John Preston
dfa7cb1826 Version 1.1.16: Fix build for Qt 5.3.2 and GCC. 2017-07-26 19:10:04 +03:00
John Preston
fdcb28f1a0 Version 1.1.16: Hide emoji replaces list for now. 2017-07-26 17:59:08 +03:00
John Preston
0e059ec788 Version 1.1.16: Add some debug info. 2017-07-26 17:56:01 +03:00
John Preston
c681f75ad3 Version 1.1.16.
- Autocompletion for emoji. Start typing :e to get suggestions.
- Fixed a bug with forwarding messages.
2017-07-26 15:56:32 +03:00
John Preston
9bf40c927e Improve emoji suggestions and replace on send.
Bring recent emoji up in suggestions.
Apply saved skin color to emoji suggestions.
Write to recents when choosing emoji suggestion.
2017-07-26 15:55:04 +03:00
John Preston
df2aeb0c58 Provide emoji suggestions as a service. 2017-07-26 15:55:03 +03:00
John Preston
2dec9c46a7 Add emoji autocomplete to history message field. 2017-07-26 15:55:02 +03:00
John Preston
8f8100af3a Add emoji autocomplete data and algorithm. 2017-07-26 15:55:01 +03:00
John Preston
65371ec1b8 Fix selected text render on Retina.
QPainter::viewport() can be a too large rect to be passed as a
clipping region to QPainter on Retina displays.

QPainter in case of Retina displays tries to transform QRegion using
scale matrix and fails with "QRegion: creating region from big
polygon failed" warning message and disables painting completely.
2017-07-26 15:51:24 +03:00
John Preston
647d6ae443 Fix language switch when getting difference. 2017-07-26 15:50:39 +03:00
John Preston
216692cd9b Remove the Link row in Settings.
Anyway it duplicates the Username row.
2017-07-26 14:56:58 +03:00
John Preston
2e5930eb58 Update full peer in profile and settings.
Not more than once in five seconds get the full info to update bio.
2017-07-26 14:53:49 +03:00
John Preston
24b3b2a658 Fix forwarded from for single message forward.
Closes #3699, closes #3701, closes #3700.
2017-07-26 09:07:05 +03:00
John Preston
e1e286aa13 Allow to fast share not games to channels.
Fixes #3692.
2017-07-26 09:07:01 +03:00
John Preston
4081ceff22 Version 1.1.15.
— Send **bold** and __italic__ text in your messages.
— Get a share link for posts in public supergroups.
— Quickly share posts from channels and media messages from bots.
— Search large supergroup members by name.
— Search channel members by name for admins.
— Use search in the service actions log.
— Ban supergroup members via the right click menu in the service actions log.
2017-07-23 15:39:32 +03:00
John Preston
7db57b72f1 Some langs updated. 2017-07-23 15:37:44 +03:00
John Preston
9e0ca64e02 Closed beta 1001014001. 2017-07-23 13:30:02 +03:00
John Preston
cc55e3b027 Don't jump in chats list scroll while reordering.
While we reorder the pinned chats we move chat rows around which
sometimes produces auto scroll event that will try to reorder more.

This should probably fix assertion violation that was debugged using
additional information from commits 8b96f72, c7e63ff and a935075.
2017-07-23 13:20:11 +03:00
John Preston
f78335aa67 Fix keyboard scrolling in ContactsBox. 2017-07-23 12:48:49 +03:00
John Preston
f283aa033b Fix a couple of layout bugs for username edit. 2017-07-23 12:34:44 +03:00
John Preston
7ff175a81e Display user Bio in profile. 2017-07-23 12:34:43 +03:00
John Preston
34d2e78308 Allow to edit Bio in Settings. 2017-07-23 12:34:43 +03:00
John Preston
9bd89121e8 Replace self-destruct media service messages text.
Also support runtime components with align up to std::max_align_t.
2017-07-23 12:34:42 +03:00
John Preston
2e0513a30f Check CDN file hashes. 2017-07-23 12:34:41 +03:00
John Preston
cf02a4cc31 API scheme updated to layer 70. 2017-07-23 12:34:40 +03:00
John Preston
5a1ec3c9e0 Fix display of Search members button in profile. 2017-07-23 12:33:39 +03:00
John Preston
fa70bf9e0c Fix text message edit admin event log entries.
Regression was introduced in a513b1c.

In case of text messages entry->_page minimal height is counted in
the whole message minimal height and should not be added.
2017-07-23 12:33:39 +03:00
John Preston
9bd983bb9d Alpha 1.1.14: Update langs. 2017-07-19 11:38:59 +03:00
John Preston
1618daaeae Alpha 1.1.14.
- Bug fixes and other minor improvements.
2017-07-19 11:35:37 +03:00
John Preston
ed4c3cccb2 Add admins from search in admins list box.
When searching in admins list box show all group members and allow
to appoint a new administrator right from this box.
2017-07-19 11:18:20 +03:00
John Preston
90311dbf24 Fix CDN file download. 2017-07-18 22:01:22 +03:00
John Preston
f7a354bfd1 Display "edited" mark on channel signed messages. 2017-07-18 22:00:33 +03:00
John Preston
a513b1c7b3 Fix media caption edit admin event log entries. 2017-07-18 21:59:53 +03:00
John Preston
077e128e9a Don't uncheck a radiobutton on second click. 2017-07-18 20:11:44 +03:00
John Preston
794ad7bda7 Fix main menu night theme layout for non-English.
The place for the phrase was too small because of huge left padding.
2017-07-18 20:10:55 +03:00
John Preston
10906e2e16 Fix crash in change language box.
Each time a radiobutton was triggered it was destroyed in refresh().
2017-07-18 20:09:48 +03:00
John Preston
a5e0b19b79 Copy correct text for a forwarded reply message. 2017-07-18 19:48:10 +03:00
John Preston
7c6bb132ce Don't display reply preview if it doesn't fit. 2017-07-18 19:47:56 +03:00
John Preston
3ba210b6e4 Automatically return window to screen.
Fixes #3551.
2017-07-18 19:38:11 +03:00
John Preston
faf090781d No confirmation for known hosts links. 2017-07-15 15:41:15 +03:00
John Preston
ab62b1591f Fix duplicated entries in calls log box.
Notify about new call service messages only for unread messages.
2017-07-15 15:41:04 +03:00
John Preston
397e1dde78 Move reply bar to the top of the sticker.
That way a fast share button in channels isn't overlapping with it.
2017-07-15 15:05:46 +03:00
John Preston
a935075782 Add some more assertions and info for crash debug.
An assertion violation happens some time so add some debug info.
2017-07-15 14:22:17 +03:00
John Preston
588aabc6d7 Fix render bug in pinned chats reordering.
If the last chats row was painted a wrong lastPaintedPos was used.
2017-07-15 14:20:53 +03:00
John Preston
ca47e4ebfd Alpha 1.1.13: Fix build for Xcode. 2017-07-14 15:52:53 +03:00
John Preston
58b79ab112 Alpha 1.1.13.
- Various bug fixes.
2017-07-14 15:31:22 +03:00
John Preston
cabf35f2b3 Allow to create channel invite link in boxes.
SetupChannelBox (public/private) and MaxInviteBox are suggesting
to copy the channel invite link. Now they suggest to create it
in case the channel didn't have the invite link already.
2017-07-14 15:28:08 +03:00
John Preston
949104d879 Improve queued by pts updates handling.
The updates are ordered by pts and applied in the correct order.
Also some pts-dependent updates handling was moved to ApiWrap.
2017-07-14 14:57:05 +03:00
John Preston
101ec9a1c1 Remove duplicated Copy Link context menu items.
When right clicking on a real link don't add a message link copy.
Fixes #3662
2017-07-14 14:56:57 +03:00
John Preston
7cc38f8f6a Improve disabled Ui::Checkbox layout. 2017-07-14 12:47:44 +03:00
John Preston
9e73e22e13 Add channel members in ParticipantsBoxController.
Also remove MembersBox, it was replaced completely.
2017-07-14 09:46:57 +03:00
John Preston
4c6e1b2b1f Fix members kick from group members dropdown. 2017-07-13 19:25:28 +03:00
John Preston
3db913f15b Remove layer deletion by timer in MainWindow.
It could be: schedule deletion -> show new box -> delete it by timer.
This fixes the error box display when adding users to groups.
2017-07-13 19:14:31 +03:00
John Preston
bd1547cd5e Show error when trying to delete a large channel.
Server doesn't allow to delete a channel with more than 1000 users.
2017-07-13 19:12:20 +03:00
John Preston
c7e63ffef5 Add some more assertions and info for crash debug.
An assertion violation happens some time so add some debug info.
2017-07-13 18:11:26 +03:00
John Preston
a69304fd25 Fix crash in forwarding messages.
HistoryHider holds pointers to items, so it should watch for
the history items being removed and remove the pointers.
2017-07-13 17:57:25 +03:00
John Preston
e0c74c9546 Fix crash in handlePendingHistoryUpdate().
This method is called from InvokeQueued, so the auth session could
be destroyed already and should be checked before being accessed.
2017-07-13 17:44:45 +03:00
John Preston
2f816942b8 Use objects instead of pointers for corners.
Also don't change mask corner images when color theme is changed.
This prevents race condition in mask corner images access, because
the GIF frame readers access mask corner images from other threads.
2017-07-13 17:42:46 +03:00
John Preston
9fd8b040b7 Fix crash in history switch.
Don't call anything heavy between changing _history and _list.
2017-07-13 17:42:28 +03:00
John Preston
f5a405e6f1 Fix auto media download settings box layout. 2017-07-12 16:53:42 +03:00
John Preston
c79561e97f Add a couple of actions log phrases for channels. 2017-07-12 16:34:13 +03:00
Nicholas Guriev
38a53687a0 Fix a couple of typos
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-07-12 14:08:36 +03:00
Viktor Oreshkin
94e43f8f8a Fix openssl ldflags on macOS
If ld finds ssl/crypto dylibs it prefers them to static archived objects
And because of that produced .app links dynamically to openssl, so it
won't launch unless users install openssl.
There are two solutions: either uninstall openssl completely from build
machine on each build, or use paths to .a files.
Obviously latter is preferred.

Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-07-12 14:06:40 +03:00
John Preston
7b4393ba48 Fix radiobutton list boxes dimensions.
Closes #3655
2017-07-12 14:05:29 +03:00
John Preston
56cb5ac9c6 Alpha 1.1.12: Search in supergroup for count > 50.
Also move search in supergroup members to Actions profile block.
2017-07-11 21:40:51 +03:00
John Preston
76cafc5059 Alpha 1.1.12.
- Click on forwarded messages bar to change the recipient chat
in case you chose a wrong one first.
- Quickly share posts from channels and media messages from bots.
- Search in supergroup members by name.
- Search in channel members by name if you're a channel admin.
- Copy links to messages in public supergroups.
2017-07-11 20:28:37 +03:00
John Preston
48bd693679 Allow to copy message links in public supergroups. 2017-07-11 20:21:24 +03:00
John Preston
f32af6999b Add a fast share button in channels and bots. 2017-07-11 20:11:06 +03:00
John Preston
ac99784bf7 Change chat for forwarded items by click on them.
Closes #3637
2017-07-11 13:23:15 +03:00
John Preston
d94ef82327 Fix opening a forwarded GIF in MediaView on click.
Fixes #3645
2017-07-11 13:21:01 +03:00
John Preston
06d4ea2975 Use ParticipantsBoxController for members list.
Add search in channel/supergroup members inside PeerListBox.
Also MembersBox is not used anymore.
2017-07-11 12:17:27 +03:00
John Preston
b79ddb7a1c Handle click on userpic in edit admin/banned box.
In admins/banned/restricted lists on row click the edit box is shown.
Now click on the userpic in this box allows to get to user profile.
2017-07-10 15:43:30 +03:00
John Preston
58a592ba47 Allow to see admin / banned rights for everyone.
Even if you can't edit admin / banned rights you can see them.
2017-07-10 15:29:55 +03:00
John Preston
9344504781 Show error when adding a non-group bot to admins. 2017-07-10 13:56:29 +03:00
John Preston
f7543e3261 Improve EditAdmin/RestrictedBox design. 2017-07-10 13:55:16 +03:00
John Preston
0402b4f5f4 Add X / V vector icon to checkbox Toggle view.
Also use them in the admin rights / restrictions boxes.
2017-07-09 18:06:27 +03:00
John Preston
d5c5549c1a Make Checkbox text position relative to the View. 2017-07-07 14:27:13 +03:00
John Preston
21d2f6a44f Generalize Checkbox layout.
Now any Checkbox can have Check, Radio or Toggle layout.
Radiobutton is now a subclass of Checkbox with default Radio layout.
2017-07-07 14:16:37 +03:00
John Preston
0ecef54e2b Alpha 1.1.11: Update langs and libtgvoip. 2017-07-06 20:40:49 +03:00
John Preston
f6eccf85dc Alpha 1.1.11.
- Send **bold** and __italic__ text in your messages (in addition
to already supported `monospace` and ```multiline monospace```).
- Search in channel and supergroup admin event log.
- Ban members from right click menu in supergroup admin event log.
2017-07-06 20:11:25 +03:00
John Preston
28f7dc73a5 Optimize markdown parser, use less regex matches. 2017-07-06 19:57:19 +03:00
John Preston
8d43bdb084 Use std::unique_ptrs for ITextBlocks. 2017-07-06 18:59:47 +03:00
John Preston
8550099110 Improve markdown parsing. 2017-07-06 18:59:38 +03:00
John Preston
921c27c9b1 Apply markdown bold/italic when editing a message. 2017-07-06 18:19:50 +03:00
John Preston
148c04fb41 Fix multiline monospace pre blocks editing.
Now we pass current flags and lnkIndex to the NewlineBlock, so that
we don't get one multiline pre block split to separate line blocks.
2017-07-06 17:10:33 +03:00
John Preston
eaf91bba58 Parse bold / italic markdown entities. 2017-07-06 16:44:11 +03:00
John Preston
da0d78135d Some refactoring in working with text entities.
Also move this code to TextUtilities namespace.
2017-07-06 14:37:42 +03:00
John Preston
f38fad2f92 Correctly apply edit admin in channel.
For example update adminCount / membersCount. For that we pass not
only the newRights values, but also oldRights values to applyEdit*().
2017-07-06 00:11:49 +03:00
John Preston
73e550f432 Update libtgvoip. 2017-07-05 22:51:38 +03:00
John Preston
8b96f7214e Add some assertions and info for crash debug.
An assertion violation happens some time so add some debug info.
2017-07-05 22:41:50 +03:00
John Preston
8202a1633b Fix crash in single instance forcing.
Local server communication is allowed before Messenger constructor.
2017-07-05 21:45:46 +03:00
John Preston
7013a0dfef Update channel admin counter after removing admin. 2017-07-05 21:36:09 +03:00
John Preston
0c43aabfec Allow to ban from actions log user context menu. 2017-07-05 21:11:31 +03:00
John Preston
1a7353fb43 Fix phrase in HistoryJoined for supergroups. 2017-07-05 16:23:52 +03:00
John Preston
4d3e7ac30c Fix applying a draft with a reply in it.
Fixes #3407
2017-07-05 16:20:34 +03:00
John Preston
7d342b9c6d Add search to channel / supergroup recent actions. 2017-07-05 16:11:08 +03:00
John Preston
e1709c11da Check weak pointer in AddParticipantBoxController.
This may fix some crashes.
2017-07-05 12:39:21 +03:00
John Preston
6d3a6d20b5 Version 1.1.10: Fix build for Xcode and GCC. 2017-07-04 19:17:44 +03:00
John Preston
91a6853f3c Version 1.1.10: Update langs. 2017-07-04 18:40:59 +03:00
John Preston
60d886a59a Version 1.1.10.
- Filter added to channel and supergroup event log.
- Search by username in privacy exceptions editor fixed.
- Adding admins in channels fixed.
2017-07-04 18:32:05 +03:00
John Preston
397797aac7 Add default changelog for the new stable version.
Also add a non-translated changelog for the new alpha/beta versions.
2017-07-04 18:32:04 +03:00
John Preston
61461d0a87 Improve boxes with checks / radios layout. 2017-07-04 16:59:00 +03:00
John Preston
0ae661edf0 Add channel / supergroup admin event log filter. 2017-07-04 16:31:18 +03:00
John Preston
fc6aa288c2 Show all returned rows in RevokePublicLinkBox.
Fixes #3617
2017-07-03 16:57:46 +03:00
John Preston
58dcba71a4 Switch to PeerListBox in channel admin management.
This will fix the problem with adding admins to channels.
Also this will add local search to channel admins list.
Fixes #3615
2017-07-03 16:17:52 +03:00
John Preston
5ca3a81fe2 Fix global search by username in PeerListBox. 2017-07-03 16:17:44 +03:00
John Preston
f316e3bd17 Add debug logs for window position and autoupdate. 2017-07-03 15:23:41 +03:00
John Preston
ebb10fb8ed Improve night mode theme.
Also fix custom notification border painting with reply button.
2017-07-03 13:51:38 +03:00
John Preston
d08dbb835f Paint admin stars with different color in profile. 2017-07-03 13:31:37 +03:00
John Preston
0d38106ed0 Fix Edit option display for supergroup creator.
Supergroup creator saw the Edit option for other users messages.
2017-07-03 13:13:32 +03:00
Viktor Oreshkin
bca0e1e16c Fix remove option in normal groups
If user invites X to group and then X becomes an admin, user won't be
able to remove X anymore, so remove option shouldn't be shown.

Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-07-02 22:29:24 +03:00
John Preston
96d1fe336a Fix assertion violation when editing an admin.
There is a possibility that an EditAdminBox will be shown for someone
who can't add admins right now (in case server says he can edit one).

In that case assertion about the admins checkbox is false and we fix
that. Currently server sometimes does return this flag by mistake.
2017-07-02 22:26:24 +03:00
John Preston
305e15dd03 Fix service message date in admin event log. 2017-07-02 22:26:23 +03:00
John Preston
22287d4c03 Version 1.1.9: Update langs. 2017-06-30 16:02:52 +03:00
John Preston
341b44119f Version 1.1.9.
- Supergroups can now have up to 10.000 members.
- Appoint supergroup admins with granular rights.
Choose who can add users, manage messages, block members,
edit group info & username, add new admins, etc.
- Restrict and ban supergroup members with granular precision.
Read-only bans, GIF & sticker bans, media bans,
temporary bans and restrictions.
- Check the new event log to see all service actions taken by
members and admins of a channel or supergroup in the last 48 hours.
- Toggle night mode in the main menu.
2017-06-30 15:08:29 +03:00
John Preston
0798a0148a Don't change custom background in night mode.
This will at least make it a bit better in #3598.

The real solution with remembering custom backgrounds for both
night mode on and off doesn't fit with current theming way too well.
2017-06-30 15:03:51 +03:00
John Preston
51c0df79fe Support emoji display in PeerListBox status texts. 2017-06-30 14:36:13 +03:00
John Preston
42febdb240 Fix alpha version changelog notification.
We should call window->serviceNotification() because it checks for
the service chat history being loaded before adding the message.

The method in MainWidget was renamed to prevent bugs in the future.
2017-06-30 14:30:11 +03:00
John Preston
5fe1175602 Fix crash when message for forward is deleted.
The messages prepared for forwarding are not a map (MsgId -> item),
but just a map (random int -> item), so we need to loop over them.
2017-06-30 13:46:41 +03:00
John Preston
bf57a1506f Fix assertion violation in the admin events log.
Add support for a log entry about group/channel photo being removed.
2017-06-30 13:35:35 +03:00
John Preston
7b496b3741 Improve in-app changelogs for alpha version. 2017-06-30 13:32:10 +03:00
John Preston
197cdc3928 Alpha 1.1.8.
- Toggle night mode in the main menu.
2017-06-30 09:23:31 +03:00
John Preston
8d14112c5a Update langs. 2017-06-30 09:21:46 +03:00
John Preston
61659244b7 Add night mode switch to the main menu.
Also fix a bug with the default background applying.
2017-06-30 09:21:46 +03:00
John Preston
19023b4cc2 Display a toggle in Menu for Checkable actions. 2017-06-30 09:21:46 +03:00
John Preston
5dcf341aaa Display "no users" in empty add participant box. 2017-06-30 09:21:45 +03:00
John Preston
4993ff1921 Finalize rename / move. 2017-06-30 09:21:45 +03:00
John Preston
d1536d0572 Rename / move history and historywidget modules. 2017-06-30 09:21:45 +03:00
John Preston
836fe119d9 Improve display of admin event log entries.
Don't show the Forward, Delete and Go to message in MediaView.
Better handle round video floating player in admin event log.
2017-06-30 09:21:45 +03:00
John Preston
0b3644b334 Improve phrase on copying selected items as text.
This is a better implementation of #3346.
2017-06-30 09:21:45 +03:00
John Preston
7357119b1a Fix scroll top overflow. Fixes #3524 2017-06-30 09:21:45 +03:00
John Preston
545915e481 Fix name/fwd/reply/viabot info display for media. 2017-06-30 09:21:45 +03:00
John Preston
6f90dc2374 Fix empty admin event log display. 2017-06-30 09:21:45 +03:00
John Preston
91dcfff423 Add unpinned message admin log event action. 2017-06-30 09:21:45 +03:00
John Preston
58b4798b79 Fix tooltip hiding when window is hidden by Cmd+H.
For some reason deleteLater() called for the tooltip from the main
window deactivation signal is really handled only on app quit :/
So now we use InvokeQueued(p, [p] { delete p; }); there instead.

Fixes #3461
2017-06-30 09:21:45 +03:00
John Preston
843d63c221 Fix edit channel controls layout. 2017-06-30 09:21:44 +03:00
John Preston
3b864d63b9 Fix crash in audio player destructor. 2017-06-30 09:21:44 +03:00
John Preston
2a51e2aa59 Workaround GCC bug and fix Linux build. 2017-06-30 09:21:44 +03:00
John Preston
67f2daa43c Closed beta 1001007003: Fix build for old OS X. 2017-06-30 09:21:44 +03:00
John Preston
c3db57a4fc Closed beta 1001007003: Fix Xcode build. 2017-06-30 09:21:44 +03:00
John Preston
885b82b437 Closed beta 1001007003. 2017-06-30 09:21:44 +03:00
John Preston
6487d91722 Add users to a channel check by admin rights.
Also add an admin right checkbox for add users in channels.
2017-06-30 09:21:44 +03:00
John Preston
5b4f70ff96 Fix crash in layer stack unwinding. 2017-06-30 09:21:44 +03:00
John Preston
75fdd5315f Add some more colors for theming. 2017-06-30 09:21:44 +03:00
John Preston
8ee5c70708 Fix admin custom status text in supergroups. 2017-06-30 09:21:44 +03:00
John Preston
b398444b91 Show manage banned and restricted to creator. 2017-06-30 09:21:44 +03:00
John Preston
9e6f2a5d2e Remember connection type settings. 2017-06-30 09:21:43 +03:00
John Preston
7245319351 Prefer static dc options when using a proxy. 2017-06-30 09:21:43 +03:00
John Preston
82912f4a0b Handle socks internal links. 2017-06-30 09:21:43 +03:00
John Preston
1968ca07de Display connecting to proxy state with a link. 2017-06-30 09:21:43 +03:00
John Preston
8c04bed572 Display empty event log placeholder.
Also hide the filter button for now.
2017-06-30 09:21:43 +03:00
John Preston
ae56c5266f Fix rich text entities in log entry original. 2017-06-30 09:21:43 +03:00
John Preston
0a9db8533b Save admin log state to memento and restore it. 2017-06-30 09:21:43 +03:00
John Preston
85e234938d Fix inline keyboard. Disable it in the event log.
Also disable game preview click handler in the event log.
2017-06-30 09:21:43 +03:00
John Preston
816ee794e8 Event log context menu + improved text selection. 2017-06-30 09:21:43 +03:00
John Preston
624f33c5e2 Allow to select and copy text in the events log.
Also better handle window resize in the events log.
2017-06-30 09:21:42 +03:00
John Preston
693c30d264 Handle mouse events in log entry message parts.
Also highlight mentions and hashtags in them.
2017-06-30 09:21:42 +03:00
John Preston
17e08f9291 Separate theme keys for emoji category icon color. 2017-06-30 09:21:42 +03:00
John Preston
cedf8a65e7 Better channel log entry layout inside messages.
Also move HistoryService class to a separate module.
2017-06-30 09:21:42 +03:00
John Preston
0a39e7e2b1 Support userpics and dates in channel log events. 2017-06-30 09:21:42 +03:00
John Preston
5c87b42135 Use plain HistoryItem in channel admin events log.
Instead of using a complex AdminLog::Item use just HistoryItem*.
2017-06-30 09:21:42 +03:00
John Preston
e39b95175b Handle channel event log mouse events. 2017-06-30 09:21:42 +03:00
John Preston
1791b251ad Fix tabbed section / panel render glitches. 2017-06-30 09:21:42 +03:00
John Preston
507b7d7193 Add to each history item its own width value. 2017-06-30 09:21:41 +03:00
John Preston
839e59075d Display log entry original data in HistoryMessage. 2017-06-30 09:21:41 +03:00
John Preston
4962fdf5ae Add phrases and layout for all events in log. 2017-06-30 09:21:41 +03:00
John Preston
fee8690ca6 Channel action log items display and layout. 2017-06-30 09:21:41 +03:00
John Preston
25a718c54b Start recent channel actions log section. 2017-06-30 09:21:41 +03:00
John Preston
401bc86f27 Closed beta 1001007002: New channel rights.
Also fix build in Xcode.
2017-06-30 09:21:41 +03:00
John Preston
c3ad0ae129 Always show that bot-admin reads all messages.
A bot with any admin rights has access to messages.
2017-06-30 09:21:41 +03:00
John Preston
8fe56b9a7d Show blocked / restricted users to all admins. 2017-06-30 09:21:41 +03:00
John Preston
1b649299ff Show edit admin non-mutual-contact error message. 2017-06-30 09:20:31 +03:00
John Preston
6ba57e713e Use forwarded messages only for one selected chat.
Different chats now can have different forwarded "drafts".
2017-06-29 11:40:26 +03:00
John Preston
758cf0388e Edit who can add users to supergroup.
Add a couple of radiobuttons to EditChannelBox for that.
Also a 'change info' admin now can edit 'signatures' in a channel.
2017-06-29 11:40:25 +03:00
John Preston
9de95cee23 Drop link preview if you can't send them.
Just drop the preview when message with a web page preview is
forwarded and we're restricted to send them in the megagroup.
2017-06-29 11:40:23 +03:00
John Preston
b35d2505a4 Better mentions highlighting in PeerListBox. 2017-06-29 11:40:23 +03:00
John Preston
240ced395b Apply changes in ParticipantsBoxController.
When we add admin / banned / restricted user in a channel using
AddParticipantBoxController we now apply the added user in the box.
2017-06-29 11:40:22 +03:00
John Preston
9e8e49b8d9 Add other search to admin/ban/restrict in channel.
Search in chats / contacts / global in AddParticipantBoxController.
Also move all channel participants box controllers to another module.
2017-06-29 11:40:21 +03:00
John Preston
b76bfe2008 Add admin/banned/restricted box using PeerListBox. 2017-06-29 11:40:20 +03:00
John Preston
3dd26dac6e Show supergroup / channel admins in PeerListBox.
Also show "Creator" / "Promoted by" status for those admins.
2017-06-29 11:40:19 +03:00
John Preston
04e587b999 Hide Add Users checkbox if megagroup is democracy.
Also unite invite_users and invite_link flags.
2017-06-29 11:40:17 +03:00
John Preston
adcecaa195 Make search in restricted/blocked box paginated. 2017-06-29 11:40:17 +03:00
John Preston
6fe0fe6fd6 Use lightButtonFg[Over] for Hide All Notifications.
Fixes #3521.
2017-06-29 11:40:15 +03:00
John Preston
7fdac9cd94 Add restricted users box like kicked users box.
Also allow server-side search inside restricted users list.
Also allow server-side search inside kicked users list.
Also allow PeerListController to work not only in PeerListBox.
2017-06-29 11:40:14 +03:00
John Preston
5c0a1bafe2 Add supergroup restriction placeholders / labels. 2017-06-29 11:40:13 +03:00
John Preston
7d2d5c6100 Edit admin and restricted rights in channels. 2017-06-29 11:40:11 +03:00
John Preston
513a9f8d45 Add rich supergroup/channel admin support. 2017-06-29 11:40:10 +03:00
John Preston
330b4a0b00 API scheme updated to layer 68. 2017-06-29 11:40:08 +03:00
John Preston
8ae159dd66 Add special dc options config request. 2017-06-29 11:40:07 +03:00
John Preston
2de96682db Fix phone call decline reason.
If the call was declined fast enough the reason was hangup while it
should be busy.
2017-06-29 11:40:06 +03:00
John Preston
80273c57d0 Fix jumping to an old group message before migration.
Fixes #3513.
2017-06-29 11:40:05 +03:00
John Preston
fe3c33fb52 Change a phrase for the userpic photo area selection.
Fixes #3390.
2017-06-29 11:40:04 +03:00
John Preston
c9a26fd006 Fix call panel with empty user photo on Retina. 2017-06-29 11:40:03 +03:00
John Preston
11d4c50202 Closed beta 1001007001: Fix build in GCC. 2017-06-29 11:40:02 +03:00
John Preston
7dd50fa931 Closed beta 1001007001: Fix build in Xcode. 2017-06-29 11:40:01 +03:00
John Preston
5d0e89db5d Switch to the server side changelogs. 2017-06-29 11:40:00 +03:00
John Preston
d9785f6071 Closed beta 1001007001.
First cloud langpacks version.
2017-06-29 11:39:59 +03:00
John Preston
f3e65d400d Display languages native names in the box.
Also don't suggest the old official languages in a popup.
2017-06-29 11:39:58 +03:00
John Preston
85e6f55536 Support new plural keys format.
All the old plural phrases were changed to work with the new format.
2017-06-29 11:39:56 +03:00
John Preston
b6046d829f Save the default language after logging in.
We suggest an appropriate language in the intro if server has users
system language langpack. But if user doesn't switch to it we save
the default ("en") language so that he won't be bothered again.
2017-06-29 11:39:55 +03:00
John Preston
665a1acfd8 Apply language with app restart if logged in.
Confirm and restart if logged in, just quickly apply if not.
2017-06-29 11:39:54 +03:00
John Preston
d51fd7b3ad Update intro change language link.
Also now MTP::Sender isn't bound to MTP::Instance, because Intro
Widget is MTP::Sender, but Intro::PhoneWidget destroys current
MTP::Instance.
2017-06-29 11:39:53 +03:00
John Preston
b94099e25b Realtime UI translation in all fields and buttons. 2017-06-29 11:39:51 +03:00
John Preston
5fc4f4ed36 Realtime UI translation in Intro.
Also support realtime translation testing by F7-F6-F7-F8 keys.
2017-06-29 11:39:49 +03:00
John Preston
d47a38dfcf Show change language link in intro. 2017-06-29 11:39:48 +03:00
John Preston
f5353080e7 Use Qt UI language if system was not determined.
Also rename platform/mac/specific_mac.cpp to .mm
2017-06-29 11:39:47 +03:00
John Preston
6fb980ca79 Improve custom language loading.
Apply custom language without relaunching the app.
2017-06-29 11:39:46 +03:00
John Preston
3f0b57ec11 Retranslate Settings when language is changed.
Also suggest user to change language from 'en' to his for one time.
2017-06-29 11:39:45 +03:00
John Preston
f5dfeb0c50 Support cloud languages list and switching.
Add Lang::Current().updated() observable for retranslating the UI.
2017-06-29 11:39:43 +03:00
John Preston
139d4e72b5 Start cloud langpack support.
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston
2334ba1fe1 Use QString + Lang::Tag() instead of Lang::String. 2017-06-29 11:39:40 +03:00
John Preston
110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston
f643446d1b Rename / move lang files to lang/ subdir.
Next commit fixes the build.
2017-06-29 11:39:36 +03:00
John Preston
a813793007 API scheme updated to layer 67. 2017-06-29 11:39:35 +03:00
John Preston
972fdb5c76 Fix _historyDown button position.
This button is a child widget of _scroll so the position is relative.
2017-06-29 11:39:34 +03:00
John Preston
0e4b057220 Fix transparent reply previews.
The transparent reply previews (for stickers) were not filled by
transparent background before resizing, now there is a flag for that.
2017-06-29 11:39:33 +03:00
John Preston
6869cc7d04 Fix non-square reply preview in selected messages.
After introducing video messages and sticker reply previews they may
be not a rounded rectangle but any transparent image. So instead of
painting a selected rounded rect over them we just colorize them with
an overlay color like it is done with the selected sticker images.
2017-06-29 11:39:32 +03:00
Viktor Oreshkin
68ddabea5c Don't clear undo history when applying draft
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-06-29 11:10:13 +03:00
Zankio
60c84bbf51 Add hime inputcontext plugin for linux version
(#3129)

Signed-off-by: Zankio <xxoojoeooxx1@gmail.com>
(github: zankio)
2017-06-29 10:49:31 +03:00
Nikita K
4c61f27826 Fix inconsistency of max width for message content
Signed-off-by: Nikita Kalashnikov <mendor@yuuzukiyo.net> (github: Mendor)
2017-06-28 19:36:18 +03:00
Viktor Oreshkin
3f3b9f3608 Show date from fwdHeader on tooltip
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-06-28 19:21:34 +03:00
Eduardo Sánchez Muñoz
2eff766e88 Always use UTF-8 to open files in list_sources.py.
This avoids problems with some locale settings.

Signed-off-by: Eduardo Sánchez Muñoz <eduardosanchezmunoz@gmail.com> (github: eduardosm)
2017-06-28 19:19:44 +03:00
Viktor Oreshkin
8b54910538 Fix markdown in issue template
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-06-06 22:48:28 +03:00
John Preston
66662e02a6 Fix crash in video player seeking.
Regression was introduced in 87ff770020.

Seek handler may destroy controller so first the playback is updated.
2017-05-31 11:58:43 +03:00
John Preston
81e728ada0 Version 1.1.7.
- Improved video messages: radial playback progress,
Picture-in-Picture support, duration countdown.
- Voice and video messages now automatically play one after another.
2017-05-30 21:33:02 +03:00
John Preston
47c22c6cec Update langs. 2017-05-30 21:31:31 +03:00
John Preston
983c2c0869 Support non-standard binary names in autoupdater.
On Linux and Windows support non-standard application binary name.
2017-05-30 21:26:53 +03:00
Fake ID
ab3f9fbea2 Update build.sh (#3449)
Fixed typo: "Build successful done!" -> "Build successfully done!"

Telegram Desktop Developer Certificate of Origin

By making a contribution to this project, I certify that:

(a) The contribution was created in whole by me or is based upon
    previous work that, to the best of my knowledge, is in the
    public domain and I have the right to put it in the public domain.

(d) I understand and agree that this project and the contribution are
    public and that a record of the contribution (including all
    metadata and personal information I submit with it, including my
    sign-off) is maintained indefinitely and may be redistributed.

(e) I am granting this work into the public domain.

Signed-off-by: Fake Id 30 <junayeed@protonmail.com>
(github: fakeid30)
2017-05-28 21:52:22 +02:00
John Preston
a1f2fb46f9 Fix scroll history to down with unread bar.
Regression was introduced in 972b5078f6.

When we show history at a specific message or at unread messages we
need to clear and destroy old showFrom and unreadBar like it is done
in historyLoaded(), otherwise we always scroll to existing unreadBar.
2017-05-27 13:28:17 +03:00
John Preston
9a18ecf93d Fix the chats list width saving with passcode.
Regression was introduced in 0339b1b54b.

If the passcode is enabled the main widget is created after the main
window was fully initialized, so the first main widget resize already
used the shrink algorithm while creating the third column.

No we shrink the left column only after the main widget was started.
2017-05-27 13:28:16 +03:00
Evgenij Protasevich
bcd8c87c65 Update building-cmake.md (#3441)
* Added installation command for libtool and automake: #3437
* Fixed git url for FFmpeg libva.git. The project was moved to https://github.com/01org/libva.git #3436

Signed-off-by: Evgenij Protasevich <proeatalk@gmail.com> (github: proea)
2017-05-27 09:50:10 +02:00
John Preston
21df34ad55 Alpha 1.1.6. 2017-05-26 23:10:20 +03:00
John Preston
2c1e27add0 Fix crash in group members list. 2017-05-26 23:05:04 +03:00
John Preston
878e46c61a Alpha 1.1.5.
Also fix build in Xcode.
2017-05-26 19:03:41 +03:00
John Preston
7cea6ede1a Improve input field placeholders with IME.
Respect the IME preedit string when toggling the placeholder.
2017-05-26 18:50:25 +03:00
John Preston
57f0158ade Disable quiet hours check in Windows before 10.
We had several reports about wrong values in registry on Windows 8.1,
like the quiet hours are enabled and all notifications are skipped,
without anything like that being enabled in Windows settings.
2017-05-26 17:40:46 +03:00
John Preston
9e3f13ba2e Destroy members dropdown when the peer changes.
Also use object_ptr for passing widget in InnerDropdown.
2017-05-26 17:36:59 +03:00
John Preston
6148b78745 Read after AVERROR_INVALIDDATA in video sound.
Partially reverse c1c3e4af5b that stopped on error in such cases.
2017-05-26 17:18:58 +03:00
John Preston
e24b0559d3 Fix message history stick to bottom.
Scroll animation should finish when we want to jump to the bottom.
2017-05-26 16:06:18 +03:00
John Preston
10e34aa996 Fix a crash in round videos with a message text. 2017-05-26 15:20:11 +03:00
John Preston
6052a0de0e Fix crash in history geometry update. 2017-05-25 03:11:59 +03:00
John Preston
78d4f29af3 Alpha 1.1.4: Fix build script for macOS.
Regression was introduced in b86da76613.
2017-05-24 23:00:23 +03:00
John Preston
b04c03a5c3 Alpha 1.1.4.
- Fix a crash in animated history scrolling.
- Fix a bug with pinned chat to supergroup upgrade.
2017-05-24 22:59:17 +03:00
John Preston
1cc5b224c7 Fix pinned chat to supergroup upgrade bug.
Pinned chats were always updated in dialogs list, even after being
migrated to supergroups. That was bringing them back to chats list.
2017-05-24 22:54:41 +03:00
John Preston
9665d5cb45 Fix crash and improve animated scrolling.
Also fix reply returns traversing after animated scrolling.
2017-05-24 22:28:24 +03:00
John Preston
e0978f86d1 Alpha 1.1.3: Fix some render in macOS. 2017-05-24 17:36:58 +03:00
John Preston
413be7d76d Alpha 1.1.3.
Also update libtgvoip.
2017-05-24 16:59:40 +03:00
John Preston
972b5078f6 Improve animated scroll to message.
Use it in replies navigation and in jumping to message history end.
2017-05-24 16:25:21 +03:00
John Preston
25587d7e8e Replace different side enums with RectPart.
Including Ui::Shadow::Side, App::RectPart and ImportantTooltip::Side.
2017-05-24 16:25:20 +03:00
John Preston
c91e29d15d Improve floating player show / hide animations.
Also replace Window::Corner with a generic RectPart enumeration.
2017-05-24 16:25:20 +03:00
John Preston
03aeaadd5b Update floating player position. 2017-05-24 16:25:19 +03:00
John Preston
18195f9c4e Rename EmojiPanelTab to ChatHelpers::SelectorTab. 2017-05-24 16:25:18 +03:00
John Preston
75dcce0b3c Save floating player position in localstorage. 2017-05-24 16:25:17 +03:00
John Preston
ee6d80673a Snap floating player to column and corner. 2017-05-24 16:25:17 +03:00
John Preston
8f290451b6 Handle mouse clicks in floating player widget. 2017-05-24 16:25:16 +03:00
John Preston
c58a48276f Hide floating player if video message is visible. 2017-05-24 16:25:15 +03:00
John Preston
b7550f63c9 Add a floating player for round video messages. 2017-05-24 16:25:15 +03:00
John Preston
0bfff65306 Add an animated scroll to current media message. 2017-05-24 16:25:14 +03:00
John Preston
6bde8cdce4 Remove legacy debug information. 2017-05-24 16:25:13 +03:00
John Preston
9332032839 Click on media player goes to voice/video message. 2017-05-24 16:25:12 +03:00
John Preston
7873cb4373 Using media player for voice / video messages.
Media::Player::Widget displays the current voice / video message
if it is played and the current song otherwise.

It is created when a voice / video message starts and is destroyed
when all the voice / video messages in the playlist are finished.
2017-05-24 16:25:12 +03:00
John Preston
2661fe5cd5 Fix crash in clear history after report spam. 2017-05-24 16:25:11 +03:00
John Preston
43c8046e4c Don't handle telesco.pe links like t.me links.
It is better to open web version of telesco.pe/username instead of
a channel, because it shows only the round videos. You can share a
t.me link to your channel if you wish to share the full channel.

It is not bad to open web version of telesco.pe/username/post instead
of a specific post in a channel, because the video message is shown
in the web page preview and can be viewed without following the link.
2017-05-24 16:25:10 +03:00
John Preston
611a3e2f8a Handle voice playlist in Media::Player::Instance.
This allows video and voice messages to autoplay one after another.
2017-05-24 16:25:09 +03:00
John Preston
b9119e5ef6 Play video messages as Type::Voice.
Use AudioMsgId instead of videoPlayId.
Any audio track now can be a child loader track of some video clip.
Use Type::Voice instead of Type::Video for round video messages.
Video messages play / pause / resume the same way as voice messages.
2017-05-24 16:25:09 +03:00
John Preston
1e6d4d6b41 Activate mediaview instead of main window.
If the mediaview is currently shown and we receive an activation
event for the main window we should activate and focus mediaview.
2017-05-24 16:25:08 +03:00
John Preston
5915f3f928 Display radial playback progress in round videos. 2017-05-24 16:25:07 +03:00
John Preston
87ff770020 Make Media::Clip::Playback independent of slider.
Now animation of the playback progress is processed inside the
Media::Clip::Playback and the sliders just hold plain float64 value.
2017-05-24 16:25:06 +03:00
John Preston
8446fa5a4d Change round video playback duration to countdown. 2017-05-24 16:25:06 +03:00
John Preston
efb59e8c3a Show GIF in Mediaview on click.
This way you can watch GIF on full screen and switch between them.
2017-05-24 16:25:05 +03:00
John Preston
2377873c45 Add items to overviews inside HistoryMedia.
This allows one history item to exist in several media overviews.
See voice message, which should be in VoiceFiles and RoundVoiceFiles.
2017-05-24 16:25:04 +03:00
John Preston
2049f3e55a Fix Mac App Store entitlements. 2017-05-19 17:13:33 +03:00
John Preston
e102793d93 Fix Appveyor CI build. 2017-05-18 12:55:05 +03:00
John Preston
b86da76613 Move project files tdesktop to tdesktop/Telegram.
After adding the libtgvoip submodule its project was created by GYP
outside the project folder, because the relative path to libtgvoip.gyp
is "../ThirdParty/libtgvoip/" and projects are created in the same
relative folders.

Now we place MSVC and Xcode projects in tdesktop/Telegram, so the
libtgvoip project is created at tdesktop/ThirdParty/libtgvoip.
2017-05-18 12:04:39 +03:00
1161 changed files with 163480 additions and 86680 deletions

View File

@@ -1,30 +0,0 @@
@echo off
call:checkCommitMessage
GOTO:EOF
:checkCommitMessage
call:logInfo "Commit message: %APPVEYOR_REPO_COMMIT_MESSAGE%"
call:logInfo "Is pull request: %APPVEYOR_PULL_REQUEST_NUMBER%"
if not "%APPVEYOR_PULL_REQUEST_NUMBER%" == "" (
ECHO "%APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED%" | FINDSTR /C:"Signed-off-by: " >nul & IF ERRORLEVEL 1 (
call:logError "The commit message does not contain the signature!"
call:logError "More information: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work"
exit 1
) else (
call:logInfo "Commit message contains signature"
:: Reset error level
verify >nul
)
)
GOTO:EOF
:logInfo
echo [INFO] %~1
GOTO:EOF
:logError
echo [ERROR] %~1
GOTO:EOF

View File

@@ -1,14 +1,10 @@
@echo off
SET BUILD_DIR=C:\TBuild
IF "%BUILD_DIR%"=="" SET BUILD_DIR=C:\TBuild
SET LIB_DIR=%BUILD_DIR%\Libraries
SET SRC_DIR=%BUILD_DIR%\tdesktop
SET QT_VERSION=5_6_2
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
cd %BUILD_DIR%
call:configureBuild
call:getDependencies
call:setupGYP
@@ -23,11 +19,22 @@ GOTO:EOF
echo [INFO] %~1
GOTO:EOF
:logError
echo [ERROR] %~1
GOTO:EOF
:getDependencies
call:logInfo "Clone dependencies repository"
git clone -q --depth 1 --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
cd %LIB_DIR%
call prepare.bat
git clone https://github.com/Microsoft/Range-V3-VS2015 range-v3
if exist prepare.bat (
call prepare.bat
) else (
call:logError "Error cloning dependencies, trying again"
rmdir %LIB_DIR% /S /Q
call:getDependencies
)
GOTO:EOF
:setupGYP
@@ -36,7 +43,7 @@ GOTO:EOF
git clone https://chromium.googlesource.com/external/gyp
cd gyp
git checkout a478c1ab51
SET PATH=%PATH%;C:\TBuild\Libraries\gyp;C:\TBuild\Libraries\ninja;
SET PATH=%PATH%;%BUILD_DIR%\Libraries\gyp;%BUILD_DIR%\Libraries\ninja;
cd %SRC_DIR%
git submodule init
git submodule update
@@ -73,6 +80,10 @@ GOTO:EOF
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_UNITY_INTEGRATION
)
echo %BUILD_VERSION% | findstr /C:"disable_gtk_integration">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_GTK_INTEGRATION
)
if not "%TDESKTOP_BUILD_DEFINES%" == "" (
set "TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES:~1%"
)

View File

@@ -5,8 +5,6 @@ This document describes how you can contribute to Telegram Desktop. Please read
**Table of Contents**
* [What contributions are accepted](#what-contributions-are-accepted)
* [Sign your work](#sign-your-work)
* [Change commit message of a pushed commit](#change-commit-message-of-a-pushed-commit)
* [Build instructions](#build-instructions)
* [Pull upstream changes into your fork regularly](#pull-upstream-changes-into-your-fork-regularly)
* [How to get your pull request accepted](#how-to-get-your-pull-request-accepted)
@@ -28,49 +26,6 @@ Unfortunately we **do not merge** any pull requests that have new feature implem
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.
## Sign your work
For contributions to be accepted they should be granted into the public domain. This will solve the issue if Telegram team needs to use full Telegram Desktop source code with some different license.
The sign-off is a simple line at the end of the explanation for the patch. Your signature certifies that you wrote the patch and you have the right to put it in the public domain. The rules are pretty simple: if you can certify the below:
```
Telegram Desktop Developer Certificate of Origin
By making a contribution to this project, I certify that:
(a) The contribution was created in whole by me or is based upon
previous work that, to the best of my knowledge, is in the
public domain and I have the right to put it in the public domain.
(d) I understand and agree that this project and the contribution are
public and that a record of the contribution (including all
metadata and personal information I submit with it, including my
sign-off) is maintained indefinitely and may be redistributed.
(e) I am granting this work into the public domain.
```
Then you just add a line to every **git commit message** that states:
Signed-off-by: Random J Developer <random@developer.example.org> (github: rndjdev_github)
Replacing Random Developers details with your name, email address and GitHub username.
### Change commit message of a pushed commit
If you already pushed a commit and forgot to add the signature to the commit message, follow these steps to change the message of the commit:
1. Open `Git Bash` (or `Git Shell`)
2. Enter following command to change the commit message of the most recent commit: `git commit --amend`
3. Press <kbd>i</kbd> to get into Insert-mode
4. Change the commit message (and add the [signature](#sign-your-work) at the and)
5. After editing the message, press <kbd>ESC</kbd> to get out of the Insert-mode
6. Write `:wq` and press <kbd>Enter</kbd> to save the new message or write `:q!` to discard your changes
7. Enter `git push --force` to push the commit with the new commit message to the remote repository
For more info, see [GitHub Help][help_change_commit_message].
## Build instructions
See the [README.md][build_instructions] for details on the various build
@@ -118,7 +73,7 @@ If you already have multiple commits, you can add the commits together (squash t
1. Open `Git Bash` (or `Git Shell`)
2. Enter following command to squash the recent {N} commits: `git reset --soft HEAD~{N} && git commit` (replace `{N}` with the number of commits you want to squash)
3. Press <kbd>i</kbd> to get into Insert-mode
4. Enter the commit message of the new commit (and add the [signature](#sign-your-work) at the end)
4. Enter the commit message of the new commit
5. After adding the message, press <kbd>ESC</kbd> to get out of the Insert-mode
6. Write `:wq` and press <kbd>Enter</kbd> to save the new message or write `:q!` to discard your changes
7. Enter `git push --force` to push the new commit to the remote repository
@@ -150,8 +105,6 @@ Before you submit a pull request, please test your changes. Verify that Telegram
For example: `Fix #545`
* Don't forget to [sign your patch](#sign-your-work) to put it in the public domain!
[//]: # (LINKS)
[telegram]: https://telegram.org/
[help_fork_repo]: https://help.github.com/articles/fork-a-repo/

View File

@@ -21,7 +21,7 @@ Tell us what happens instead
**Used theme**:
<details><summary>**Logs**:</summary>
<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.

7
.gitignore vendored
View File

@@ -2,6 +2,7 @@
/Debug/
/Release/
/Deploy/
/ThirdParty/
/Telegram/build/target
/Telegram/GeneratedFiles/
/Telegram/SourceFiles/art/grid.png
@@ -16,6 +17,11 @@
/Telegram/Resources/art/grid_200x.png
/Telegram/Resources/art/sprite_125x.png
/Telegram/Resources/art/sprite_150x.png
/Telegram/Debug/
/Telegram/Release/
/Telegram/tests/
/Telegram/gyp/tests/*.test
/Telegram/out/
/Telegram/*.user
*.vcxproj*
*.sln
@@ -28,6 +34,7 @@
*.xcodeproj
/Win32/
ipch/
.vs/
/Telegram/log.txt
/Telegram/data

6
.gitmodules vendored
View File

@@ -7,3 +7,9 @@
[submodule "Telegram/ThirdParty/GSL"]
path = Telegram/ThirdParty/GSL
url = https://github.com/Microsoft/GSL.git
[submodule "Telegram/ThirdParty/Catch"]
path = Telegram/ThirdParty/Catch
url = https://github.com/philsquared/Catch
[submodule "Telegram/ThirdParty/crl"]
path = Telegram/ThirdParty/crl
url = https://github.com/telegramdesktop/crl.git

View File

@@ -16,6 +16,7 @@ env:
- BUILD_VERSION="disable_network_proxy"
- BUILD_VERSION="disable_desktop_file_generation"
- BUILD_VERSION="disable_unity_integration"
- BUILD_VERSION="disable_gtk_integration"
matrix:
fast_finish: true
@@ -32,8 +33,8 @@ addons:
- dpatch
- equivs
- fakeroot
- g++-6
- gcc-6
- g++-7
- gcc-7
- git
- gnome-common
- gobject-introspection
@@ -57,10 +58,8 @@ addons:
- yasm
before_install:
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- .travis/check.sh
- export CXX="g++-6" CC="gcc-6"
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
- export CXX="g++-7" CC="gcc-7"
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-7
- sudo update-alternatives --config gcc
- g++ --version

View File

@@ -27,6 +27,9 @@ GYP_PATH="$BUILD/gyp"
GYP_CACHE_VERSION="3"
GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff"
RANGE_PATH="$BUILD/range-v3"
RANGE_CACHE_VERSION="3"
VA_PATH="$BUILD/libva"
VA_CACHE_VERSION="3"
@@ -85,6 +88,9 @@ build() {
# Patched GYP (supports cmake precompiled headers)
getGYP
# Range v3
getRange
# Guideline Support Library
getGSL
@@ -118,6 +124,10 @@ build() {
GYP_DEFINES+=",TDESKTOP_DISABLE_UNITY_INTEGRATION"
fi
if [[ $BUILD_VERSION == *"disable_gtk_integration"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_GTK_INTEGRATION"
fi
info_msg "Build defines: ${GYP_DEFINES}"
buildTelegram
@@ -174,6 +184,52 @@ buildXkbCommon() {
sudo ldconfig
}
getRange() {
travisStartFold "Getting range-v3"
local RANGE_CACHE="$CACHE/range-v3"
local RANGE_CACHE_FILE="$RANGE_CACHE/.cache.txt"
local RANGE_CACHE_KEY="${RANGE_CACHE_VERSION}"
local RANGE_CACHE_OUTDATED="1"
if [ ! -d "$RANGE_CACHE" ]; then
mkdir -p "$RANGE_CACHE"
fi
ln -sf "$RANGE_CACHE" "$RANGE_PATH"
if [ -f "$RANGE_CACHE_FILE" ]; then
local RANGE_CACHE_KEY_FOUND=`tail -n 1 $RANGE_CACHE_FILE`
if [ "$RANGE_CACHE_KEY" == "$RANGE_CACHE_KEY_FOUND" ]; then
RANGE_CACHE_OUTDATED="0"
else
info_msg "Cache key '$RANGE_CACHE_KEY_FOUND' does not match '$RANGE_CACHE_KEY', getting range-v3"
fi
fi
if [ "$RANGE_CACHE_OUTDATED" == "1" ]; then
buildRange
sudo echo $RANGE_CACHE_KEY > "$RANGE_CACHE_FILE"
else
info_msg "Using cached range-v3"
fi
}
buildRange() {
info_msg "Downloading range-v3"
if [ -d "$EXTERNAL/range-v3" ]; then
rm -rf "$EXTERNAL/range-v3"
fi
cd $RANGE_PATH
rm -rf *
cd "$EXTERNAL"
git clone --depth=1 https://github.com/ericniebler/range-v3
cd "$EXTERNAL/range-v3"
cp -r * "$RANGE_PATH/"
}
getVa() {
travisStartFold "Getting libva"
@@ -315,6 +371,8 @@ buildFFmpeg() {
git clone https://git.ffmpeg.org/ffmpeg.git
cd "$EXTERNAL/ffmpeg"
git checkout release/3.4
./configure \
--prefix=$FFMPEG_PATH \
--disable-debug \
@@ -428,6 +486,9 @@ buildOpenAL() {
-D CMAKE_INSTALL_PREFIX=$OPENAL_PATH \
-D CMAKE_BUILD_TYPE=Release \
-D LIBTYPE=STATIC \
-D ALSOFT_EXAMPLES=OFF \
-D ALSOFT_TESTS=OFF \
-D ALSOFT_UTILS=OFF \
..
make $MAKE_ARGS
sudo make install
@@ -524,7 +585,7 @@ buildCustomQt() {
info_msg "Downloading and building patched qt"
if [ -d "$EXTERNAL/qt${QT_VERSION}" ]; then
rm -rf "$EXTERNAL/qt${QT_VERSION}"
sudo rm -rf "$EXTERNAL/qt${QT_VERSION}"
fi
cd $QT_PATH
rm -rf *
@@ -542,10 +603,15 @@ buildCustomQt() {
git apply "$QT_PATCH"
cd ..
cd "$EXTERNAL/qt${QT_VERSION}/qtbase/src/plugins/platforminputcontexts"
git clone https://github.com/telegramdesktop/fcitx.git
git clone https://github.com/telegramdesktop/hime.git
cd ../../../..
./configure -prefix $QT_PATH -release -opensource -confirm-license -qt-zlib \
-qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \
-qt-xkbcommon-x11 -no-opengl -no-gtkstyle -static \
-nomake examples -nomake tests \
-nomake examples -nomake tests -no-mirclient \
-dbus-runtime -no-gstreamer -no-mtdev # <- Not sure about these
make $MAKE_ARGS
sudo make install
@@ -601,7 +667,7 @@ buildGYP() {
git clone https://chromium.googlesource.com/external/gyp
cd "$EXTERNAL/gyp"
git checkout 702ac58e4772
git checkout 702ac58e47
git apply "$GYP_PATCH"
cp -r * "$GYP_PATH/"
}
@@ -617,6 +683,7 @@ buildTelegram() {
-Dlinux_path_vdpau=$VDPAU_PATH \
-Dlinux_path_ffmpeg=$FFMPEG_PATH \
-Dlinux_path_openal=$OPENAL_PATH \
-Dlinux_path_range=$RANGE_PATH \
-Dlinux_path_qt=$QT_PATH \
-Dlinux_path_breakpad=$BREAKPAD_PATH \
-Dlinux_path_libexif_lib=/usr/local/lib \
@@ -624,7 +691,7 @@ buildTelegram() {
-Dlinux_lib_ssl=-lssl \
-Dlinux_lib_crypto=-lcrypto \
-Dlinux_lib_icu=-licuuc\ -licutu\ -licui18n \
--depth=. --generator-output=../.. --format=cmake -Goutput_dir=out \
--depth=. --generator-output=.. --format=cmake -Goutput_dir=../out \
Telegram.gyp
cd "$UPSTREAM/out/Debug"
@@ -636,7 +703,7 @@ buildTelegram() {
check() {
local filePath="$UPSTREAM/out/Debug/Telegram"
if test -f "$filePath"; then
success_msg "Build successful done! :)"
success_msg "Build successfully done! :)"
local size;
size=$(stat -c %s "$filePath")

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# Checks if the commit message contains the signature
run() {
checkCommitMessage
}
checkCommitMessage() {
info_msg "Commit message: ${TRAVIS_COMMIT_MSG}";
info_msg "Is pull request: ${TRAVIS_PULL_REQUEST}";
if [[ $TRAVIS_PULL_REQUEST != "false" ]];then
if [[ $TRAVIS_COMMIT_MSG != *"Signed-off-by: "* ]];then
error_msg "The commit message does not contain the signature!"
error_msg "More information: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work"
exit 1
else
success_msg "Commit message contains signature"
fi
fi
}
source ./.travis/common.sh
run

View File

@@ -1,6 +1,7 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
the official desktop application for the Telegram messaging service.
Copyright (c) 2014-2018 John Preston, https://desktop.telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,19 +16,6 @@ GNU General Public License for more details.
In addition, as a special exception, the copyright holders give permission
to link the code of portions of this program with the OpenSSL library.
More information about the Telegram project: https://telegram.org
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#pragma once
enum DragState {
DragStateNone = 0x00,
DragStateFiles = 0x01,
DragStatePhotoFiles = 0x02,
DragStateImage = 0x03,
};
enum class ReadServerHistoryChecks {
OnlyIfUnread,
ForceRequest,
};

View File

@@ -4,6 +4,7 @@ version 3 with the addition of the following special exception:
In addition, as a special exception, the copyright holders give
permission to link the code of portions of this program with the OpenSSL
library.
You must obey the GNU General Public License in all respects for all of
the code used other than OpenSSL. If you modify file(s) with this
exception, you may extend this exception to your version of the file(s),

View File

@@ -15,7 +15,7 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* Windows XP - Windows 10 (**not** RT)
* Mac OS X 10.8 - Mac OS X 10.11
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
* Ubuntu 12.04 - Ubuntu 16.04
* Ubuntu 12.04 - Ubuntu 18.04
* Fedora 22 - Fedora 24
## Third-party
@@ -28,19 +28,22 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* liblzma ([public domain](http://tukaani.org/xz/))
* Google Breakpad ([License](https://chromium.googlesource.com/breakpad/breakpad/+/master/LICENSE))
* Google Crashpad ([Apache License 2.0](https://chromium.googlesource.com/crashpad/crashpad/+/master/LICENSE))
* GYP ([BSD license](https://github.com/bnoordhuis/gyp/blob/master/LICENSE))
* GYP ([BSD License](https://github.com/bnoordhuis/gyp/blob/master/LICENSE))
* Ninja ([Apache License 2.0](https://github.com/ninja-build/ninja/blob/master/COPYING))
* OpenAL Soft ([LGPL](http://kcat.strangesoft.net/openal.html))
* Opus codec ([BSD license](http://www.opus-codec.org/license/))
* Opus codec ([BSD License](http://www.opus-codec.org/license/))
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
* Mapbox Variant ([BSD license](https://github.com/mapbox/variant/blob/master/LICENSE))
* Mapbox Variant ([BSD License](https://github.com/mapbox/variant/blob/master/LICENSE))
* Range-v3 ([Boost License](https://github.com/ericniebler/range-v3/blob/master/LICENSE.txt))
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
* 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))
## Build instructions
* [Visual Studio 2015][msvc]
* [Xcode 8][xcode]
* [Visual Studio 2017][msvc]
* [Xcode 9][xcode]
* [GYP/CMake on GNU/Linux][cmake]
[//]: # (LINKS)

View File

@@ -1,5 +1,17 @@
diff --git a/src/build/common.gypi b/src/build/common.gypi
index 29990c6..53e99d4 100644
--- a/src/build/common.gypi
+++ b/src/build/common.gypi
@@ -330,6 +330,7 @@
'VCCLCompilerTool': {
'WarnAsError': 'true',
'Detect64BitPortabilityProblems': 'false',
+ 'TreatWChar_tAsBuiltInType': 'false',
},
},
}],
diff --git a/src/client/mac/Breakpad.xcodeproj/project.pbxproj b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
index 584ec5d..1c7214f 100644
index 1a93ce6..1c1d643 100644
--- a/src/client/mac/Breakpad.xcodeproj/project.pbxproj
+++ b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
@@ -35,6 +35,19 @@
@@ -77,7 +89,7 @@ index 584ec5d..1c7214f 100644
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -715,7 +703,6 @@
@@ -714,7 +702,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -85,7 +97,7 @@ index 584ec5d..1c7214f 100644
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -1183,18 +1170,13 @@
@@ -1181,18 +1168,13 @@
isa = PBXNativeTarget;
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */;
buildPhases = (
@@ -104,7 +116,7 @@ index 584ec5d..1c7214f 100644
);
name = Breakpad;
productInstallPath = "$(HOME)/Library/Frameworks";
@@ -1401,6 +1383,8 @@
@@ -1399,6 +1381,8 @@
/* Begin PBXProject section */
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
@@ -113,7 +125,7 @@ index 584ec5d..1c7214f 100644
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
@@ -1585,16 +1569,6 @@
@@ -1583,16 +1567,6 @@
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
@@ -130,7 +142,7 @@ index 584ec5d..1c7214f 100644
F92C569C0ECE04A7009BE4BA /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1642,20 +1616,6 @@
@@ -1640,20 +1614,6 @@
shellPath = /bin/sh;
shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
};
@@ -151,7 +163,7 @@ index 584ec5d..1c7214f 100644
F9C77DD80F7DD5CF0045F7DB /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1676,6 +1636,19 @@
@@ -1674,6 +1634,19 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -171,7 +183,7 @@ index 584ec5d..1c7214f 100644
F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */,
F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */,
F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */,
@@ -1957,16 +1930,6 @@
@@ -1955,16 +1928,6 @@
target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
targetProxy = F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */;
};
@@ -188,7 +200,7 @@ index 584ec5d..1c7214f 100644
F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F93803BD0F80820F004D428B /* generator_test */;
@@ -2027,11 +1990,6 @@
@@ -2025,11 +1988,6 @@
target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
targetProxy = F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */;
};
@@ -200,7 +212,7 @@ index 584ec5d..1c7214f 100644
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -2128,8 +2086,12 @@
@@ -2126,8 +2084,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
buildSettings = {
@@ -214,7 +226,7 @@ index 584ec5d..1c7214f 100644
};
name = Debug;
};
@@ -2137,7 +2099,12 @@
@@ -2135,7 +2097,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027811F0D3AF00FCF3E4 /* BreakpadRelease.xcconfig */;
buildSettings = {
@@ -227,7 +239,7 @@ index 584ec5d..1c7214f 100644
};
name = Release;
};
@@ -2456,7 +2423,12 @@
@@ -2454,7 +2421,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
buildSettings = {
@@ -467,3 +479,151 @@ index 1d2e519..943310f 100644
return true;
}
diff --git a/src/common/language.cc b/src/common/language.cc
index 978fb85..a95ae5f 100644
--- a/src/common/language.cc
+++ b/src/common/language.cc
@@ -46,8 +46,27 @@
#include <limits>
+#include <cstdio>
+#include <iostream>
+#include <memory>
+#include <stdexcept>
+#include <string>
+#include <array>
+
namespace {
+std::string exec(std::string cmd) {
+ std::array<char, 128> buffer;
+ std::string result;
+ std::shared_ptr<FILE> pipe(popen(cmd.c_str(), "r"), pclose);
+ if (!pipe) throw std::runtime_error("popen() failed!");
+ while (!feof(pipe.get())) {
+ if (fgets(buffer.data(), 128, pipe.get()) != nullptr)
+ result += buffer.data();
+ }
+ return result;
+}
+
string MakeQualifiedNameWithSeparator(const string& parent_name,
const char* separator,
const string& name) {
@@ -79,11 +98,29 @@ class CPPLanguage: public Language {
demangled->clear();
return kDontDemangle;
#else
+ DemangleResult result;
+ if (mangled.find("type_erased_handlers") != std::string::npos
+ && mangled.find("vtable_once_impl") != std::string::npos) {
+
+ auto demangled_str = exec("c++filt " + mangled);
+ if (!demangled_str.empty() && demangled_str.back() == '\n') {
+ demangled_str.pop_back();
+ }
+ if (demangled_str != mangled) {
+ result = kDemangleSuccess;
+ demangled->assign(demangled_str.c_str());
+ } else {
+ result = kDemangleFailure;
+ demangled->clear();
+ }
+
+ } else {
+
int status;
char* demangled_c =
abi::__cxa_demangle(mangled.c_str(), NULL, NULL, &status);
- DemangleResult result;
+// DemangleResult result;
if (status == 0) {
result = kDemangleSuccess;
demangled->assign(demangled_c);
@@ -96,6 +133,8 @@ class CPPLanguage: public Language {
free(reinterpret_cast<void*>(demangled_c));
}
+ }
+
return result;
#endif
}
diff --git a/src/common/linux/elf_symbols_to_module.cc b/src/common/linux/elf_symbols_to_module.cc
index 562875e..4367851 100644
--- a/src/common/linux/elf_symbols_to_module.cc
+++ b/src/common/linux/elf_symbols_to_module.cc
@@ -39,6 +39,29 @@
#include "common/byte_cursor.h"
#include "common/module.h"
+#include <cstdio>
+#include <iostream>
+#include <memory>
+#include <stdexcept>
+#include <string>
+#include <array>
+
+namespace {
+
+std::string exec(std::string cmd) {
+ std::array<char, 128> buffer;
+ std::string result;
+ std::shared_ptr<FILE> pipe(popen(cmd.c_str(), "r"), pclose);
+ if (!pipe) throw std::runtime_error("popen() failed!");
+ while (!feof(pipe.get())) {
+ if (fgets(buffer.data(), 128, pipe.get()) != nullptr)
+ result += buffer.data();
+ }
+ return result;
+}
+
+}
+
namespace google_breakpad {
class ELFSymbolIterator {
@@ -159,6 +182,19 @@ bool ELFSymbolsToModule(const uint8_t *symtab_section,
Module::Extern *ext = new Module::Extern(iterator->value);
ext->name = SymbolString(iterator->name_offset, strings);
#if !defined(__ANDROID__) // Android NDK doesn't provide abi::__cxa_demangle.
+ if (ext->name.find("type_erased_handlers") != std::string::npos
+ && ext->name.find("vtable_once_impl") != std::string::npos) {
+
+ auto demangled_str = exec("c++filt " + ext->name);
+ if (!demangled_str.empty() && demangled_str.back() == '\n') {
+ demangled_str.pop_back();
+ }
+ if (demangled_str != ext->name) {
+ ext->name = demangled_str;
+ }
+
+ } else {
+
int status = 0;
char* demangled =
abi::__cxa_demangle(ext->name.c_str(), NULL, NULL, &status);
@@ -167,6 +203,8 @@ bool ELFSymbolsToModule(const uint8_t *symtab_section,
ext->name = demangled;
free(demangled);
}
+
+ }
#endif
module->AddExtern(ext);
}
diff --git a/src/tools/linux/tools_linux.gypi b/src/tools/linux/tools_linux.gypi
index 1c15992..020e4c1 100644
--- a/src/tools/linux/tools_linux.gypi
+++ b/src/tools/linux/tools_linux.gypi
@@ -58,7 +58,7 @@
'target_name': 'minidump_upload',
'type': 'executable',
'sources': [
- 'symupload/minidump_upload.m',
+ 'symupload/minidump_upload.cc',
],
'dependencies': [
'../common/common.gyp:common',

View File

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

View File

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

View File

@@ -27,7 +27,7 @@ index a2b9629..68d7020 100644
UnsetVariable(output, 'TARGET')
diff --git a/pylib/gyp/generator/xcode.py b/pylib/gyp/generator/xcode.py
index db99d6a..f8398cc 100644
index db99d6a..8d56baf 100644
--- a/pylib/gyp/generator/xcode.py
+++ b/pylib/gyp/generator/xcode.py
@@ -72,6 +72,10 @@ generator_additional_non_configuration_keys = [
@@ -68,3 +68,13 @@ index db99d6a..f8398cc 100644
spec_actions = spec.get('actions', [])
spec_rules = spec.get('rules', [])
@@ -1141,7 +1165,8 @@ exit 1
groups = [x for x in groups if not x.endswith('_excluded')]
for group in groups:
for item in rule.get(group, []):
- pbxp.AddOrGetFileInRootGroup(item)
+ concrete_item = ExpandXcodeVariables(item, rule_input_dict)
+ pbxp.AddOrGetFileInRootGroup(concrete_item)
# Add "sources".
for source in spec.get('sources', []):

View File

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

View File

@@ -1,5 +1,5 @@
diff --git a/configure b/configure
index cb8d78f..cadb3f0 100755
index cb8d78fd3cb..cadb3f0a880 100755
--- a/configure
+++ b/configure
@@ -511,7 +511,8 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
@@ -13,7 +13,7 @@ index cb8d78f..cadb3f0 100755
echo " Xcode not set up properly. You may need to confirm the license" >&2
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf
index 086510d..c485967 100644
index 086510dd963..c485967863d 100644
--- a/mkspecs/common/g++-macx.conf
+++ b/mkspecs/common/g++-macx.conf
@@ -14,7 +14,13 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
@@ -32,7 +32,7 @@ index 086510d..c485967 100644
QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvmgcc42
diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
index 0cc8cd6..ca9725b 100644
index 0cc8cd6dfdd..ca9725b7791 100644
--- a/mkspecs/features/mac/default_pre.prf
+++ b/mkspecs/features/mac/default_pre.prf
@@ -12,7 +12,9 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
@@ -47,7 +47,7 @@ index 0cc8cd6..ca9725b 100644
}
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
index bb79a13..5d595bc 100644
index bb79a139b3c..5d595bc3b34 100644
--- a/src/gui/image/qbmphandler.cpp
+++ b/src/gui/image/qbmphandler.cpp
@@ -220,6 +220,10 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
@@ -74,7 +74,7 @@ index bb79a13..5d595bc 100644
if (ncols > 0) { // read color table
uchar rgb[4];
diff --git a/src/gui/painting/qpaintengine_p.h b/src/gui/painting/qpaintengine_p.h
index ebff950..4300ca4 100644
index ebff9509ab2..4300ca4c0f0 100644
--- a/src/gui/painting/qpaintengine_p.h
+++ b/src/gui/painting/qpaintengine_p.h
@@ -87,8 +87,18 @@ public:
@@ -98,7 +98,7 @@ index ebff950..4300ca4 100644
// Make sure we're inside the viewport.
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index 4879ae5..56cdcba 100644
index 4879ae51d7d..56cdcbaf01c 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -654,6 +654,9 @@ int QTextLayout::nextCursorPosition(int oldPos, CursorMode mode) const
@@ -175,7 +175,7 @@ index 4879ae5..56cdcba 100644
inline void resetRightBearing()
diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h
index cbe42c3..b273db7 100644
index cbe42c38444..b273db7e78c 100644
--- a/src/gui/text/qtextlayout.h
+++ b/src/gui/text/qtextlayout.h
@@ -194,6 +194,9 @@ private:
@@ -188,8 +188,21 @@ index cbe42c3..b273db7 100644
};
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 360f9722c70..f28f289ef6a 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -118,6 +118,8 @@ QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate()
{
for (int i = 0; i < channelCount; ++i) {
if (channels[i].socket) {
+ // Patch: backport critical bugfix from '4f959b6b30' commit.
+ QObject::disconnect(channels[i].socket, Q_NULLPTR, &channels[i], Q_NULLPTR);
channels[i].socket->close();
delete channels[i].socket;
}
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
index ca7afb7..25ae500 100644
index ca7afb7d1b9..25ae50008db 100644
--- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
+++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
@@ -256,6 +256,13 @@ static void getFontDescription(CTFontDescriptorRef font, FontDescription *fd)
@@ -206,8 +219,22 @@ index ca7afb7..25ae500 100644
fd->styleName = (CFStringRef)CTFontDescriptorCopyAttribute(font, kCTFontStyleNameAttribute);
fd->weight = QFont::Normal;
fd->style = QFont::StyleNormal;
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
index 6e2c8a2a9af..3cace8abcbc 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -717,7 +717,8 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t, QPainterPath *, glyph_metric
QFixed QCoreTextFontEngine::emSquareSize() const
{
- return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+ // Patch: Fix build for Xcode 9.3.1.
+ return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
}
QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
index 92358ec..694fee7 100644
index 92358ecc745..694fee73507 100644
--- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
+++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
@@ -213,7 +213,8 @@ static void cleanupCocoaApplicationDelegate()
@@ -244,7 +271,7 @@ index 92358ec..694fee7 100644
- (void)appleEventQuit:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
diff --git a/src/plugins/platforms/cocoa/qcocoacursor.mm b/src/plugins/platforms/cocoa/qcocoacursor.mm
index b81b9a0..4e59e83 100644
index b81b9a0b1c2..4e59e833b1d 100644
--- a/src/plugins/platforms/cocoa/qcocoacursor.mm
+++ b/src/plugins/platforms/cocoa/qcocoacursor.mm
@@ -81,7 +81,7 @@ void QCocoaCursor::setPos(const QPoint &position)
@@ -256,8 +283,41 @@ index b81b9a0..4e59e83 100644
CGEventPost(kCGHIDEventTap, e);
CFRelease(e);
}
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm
index 9850f83dea8..b2e1d3dfda7 100644
--- a/src/plugins/platforms/cocoa/qcocoahelpers.mm
+++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm
@@ -649,9 +649,10 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
// Verbatim copy if HIViewDrawCGImage (as shown on Carbon-Dev)
OSStatus err = noErr;
- require_action(inContext != NULL, InvalidContext, err = paramErr);
- require_action(inBounds != NULL, InvalidBounds, err = paramErr);
- require_action(inImage != NULL, InvalidImage, err = paramErr);
+ // Patch: Fix build on latest Xcode.
+ //require_action(inContext != NULL, InvalidContext, err = paramErr);
+ //require_action(inBounds != NULL, InvalidBounds, err = paramErr);
+ //require_action(inImage != NULL, InvalidImage, err = paramErr);
CGContextSaveGState( inContext );
CGContextTranslateCTM (inContext, 0, inBounds->origin.y + CGRectGetMaxY(*inBounds));
@@ -660,9 +661,11 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
CGContextDrawImage(inContext, *inBounds, inImage);
CGContextRestoreGState(inContext);
-InvalidImage:
-InvalidBounds:
-InvalidContext:
+
+// Patch: Fix build on latest Xcode.
+//InvalidImage:
+//InvalidBounds:
+//InvalidContext:
return err;
}
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 9fd05a6..dea6072 100644
index 9fd05a65ee9..dea60720e78 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -402,14 +402,24 @@ void QCocoaIntegration::updateScreens()
@@ -288,7 +348,7 @@ index 9fd05a6..dea6072 100644
QCocoaScreen *QCocoaIntegration::screenAtIndex(int index)
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
index e46eaff..c62db53 100644
index e46eaff6be3..c62db534a2d 100644
--- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm
+++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
@@ -382,6 +382,12 @@ bool QCocoaKeyMapper::updateKeyboard()
@@ -315,7 +375,7 @@ index e46eaff..c62db53 100644
}
return ret;
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index 83c960d..03ae969 100755
index 83c960d9317..03ae9696afe 100755
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
@@ -102,7 +102,10 @@ QT_USE_NAMESPACE
@@ -483,7 +543,7 @@ index 83c960d..03ae969 100755
}
@end
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 4d0458a..3357a5e 100644
index 4d0458a4aa2..3357a5ef817 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -167,7 +167,8 @@ static bool isMouseEvent(NSEvent *ev)
@@ -546,7 +606,7 @@ index 4d0458a..3357a5e 100644
[iconButton setImage:image];
[image release];
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index a18ee7f..1f91feb 100644
index a18ee7ff71d..1f91feb0ae8 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -393,7 +393,9 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
@@ -615,7 +675,7 @@ index a18ee7f..1f91feb 100644
}
return [super performKeyEquivalent:nsevent];
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
index c680764..e2a7aaf 100644
index c68076477f3..e2a7aafa586 100644
--- a/src/tools/qlalr/lalr.cpp
+++ b/src/tools/qlalr/lalr.cpp
@@ -246,11 +246,13 @@ void Grammar::buildExtendedGrammar ()
@@ -655,7 +715,7 @@ index c680764..e2a7aaf 100644
continue;
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 7396808..7178aec 100644
index 7396808442e..7178aecf800 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -4722,6 +4722,17 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
@@ -708,7 +768,7 @@ index 7396808..7178aec 100644
|| (k->key() == Qt::Key_Tab && (k->modifiers() & Qt::ShiftModifier)))
res = focusNextPrevChild(false);
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index 0845a5e..5735cb6 100644
index 0845a5eb02f..5735cb6b396 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -3667,9 +3667,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
@@ -726,7 +786,7 @@ index 0845a5e..5735cb6 100644
}
diff --git a/src/widgets/util/qsystemtrayicon_qpa.cpp b/src/widgets/util/qsystemtrayicon_qpa.cpp
index f98aeaf..00c0734 100644
index f98aeaf6782..00c0734129e 100644
--- a/src/widgets/util/qsystemtrayicon_qpa.cpp
+++ b/src/widgets/util/qsystemtrayicon_qpa.cpp
@@ -99,13 +99,18 @@ void QSystemTrayIconPrivate::updateIcon_sys()
@@ -755,7 +815,7 @@ index f98aeaf..00c0734 100644
}
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index 75f3059..980f2be 100644
index 75f30599be4..980f2be1e93 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -1867,7 +1867,8 @@ void QWidgetLineControl::processKeyEvent(QKeyEvent* event)
@@ -769,7 +829,7 @@ index 75f3059..980f2be 100644
#ifndef QT_NO_COMPLETER
complete(event->key());
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 96438a0..b0b7206 100644
index 96438a0bdf7..b0b72064056 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -1342,7 +1342,8 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e)

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

@@ -1,22 +1,9 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
the official desktop application for the Telegram messaging service.
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
In addition, as a special exception, the copyright holders give permission
to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
using "colors.palette";
@@ -53,7 +40,7 @@ lineWidth: 1px;
defaultTextPalette: TextPalette {
linkFg: windowActiveTextFg;
monoFg: windowSubTextFg;
monoFg: msgInMonoFg;
selectBg: msgInBgSelected;
selectFg: transparent; // use painter current pen instead
selectLinkFg: historyLinkInFgSelected;
@@ -78,6 +65,9 @@ slideDuration: 240;
slideShift: 100px;
slideShadow: icon {{ "slide_shadow", slideFadeOutShadowFg }};
slideWrapDuration: 150;
fadeWrapDuration: 200;
linkCropLimit: 360px;
linkFont: normalFont;
linkOverFont: font(fsize underline);
@@ -116,7 +106,7 @@ msgReplyBarPos: point(1px, 0px);
msgReplyBarSize: size(2px, 36px);
msgReplyBarSkip: 10px;
msgServicePadding: margins(12px, 3px, 12px, 4px);
msgServiceMargin: margins(10px, 10px, 80px, 2px);
msgServiceMargin: margins(10px, 10px, 10px, 2px);
msgDateSpace: 12px;
msgDateDelta: point(2px, 5px);
@@ -193,7 +183,6 @@ outSemiboldPalette: TextPalette(outTextPalette) {
selectLinkFg: msgOutServiceFgSelected;
}
mediaPadding: margins(0px, 0px, 0px, 0px);
mediaCaptionSkip: 5px;
mediaInBubbleSkip: 5px;
mediaThumbSize: 48px;
@@ -226,8 +215,6 @@ emojiReplaceHeight: 56px;
emojiReplaceInnerHeight: 42px;
emojiReplacePadding: 14px;
connectingPadding: margins(5px, 5px, 5px, 5px);
dragFont: font(28px semibold);
dragSubfont: font(20px semibold);
dragColor: windowSubTextFg;
@@ -239,7 +226,7 @@ dragPadding: margins(20px, 10px, 20px, 10px);
dragHeight: 72px;
minPhotoSize: 100px;
maxMediaSize: 420px;
maxMediaSize: 430px;
maxStickerSize: 256px;
maxGifSize: 320px;
maxSignatureSize: 144px;
@@ -276,9 +263,6 @@ mediaPlayerSuppressDuration: 150;
botDescSkip: 8px;
suppressAll: 0.2;
suppressSong: 0.05;
inlineResultsLeft: 11px;
inlineResultsSkip: 3px;
inlineMediaHeight: 96px;
@@ -291,7 +275,7 @@ inlineRowBorder: 1px;
inlineRowBorderFg: shadowFg;
inlineRowFileNameTop: 2px;
inlineRowFileDescriptionTop: 23px;
inlineResultsMinWidth: 64px;
inlineResultsMinWidth: 48px;
inlineDurationMargin: 3px;
toastTextStyle: defaultTextStyle;

View File

@@ -1,22 +1,9 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
the official desktop application for the Telegram messaging service.
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
In addition, as a special exception, the copyright holders give permission
to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
// basic
@@ -93,8 +80,13 @@ placeholderFg: windowSubTextFg; // default input field placeholder when field is
placeholderFgActive: #aaaaaa; // default input field placeholder when field is focused
inputBorderFg: #e0e0e0; // default input field bottom border (like in code input field when you log in and field is not focused)
filterInputBorderFg: #54c3f3; // default rounded input field border (like in chats list search field when field is focused)
filterInputInactiveBg: windowBgOver; // default rounded input field background (like in chats list search field when field is inactive)
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle (and also emoji category icons)
filterInputActiveBg: windowBg; // default rounded input field active background (like in chats list search field when field is focused)
filterInputInactiveBg: windowBgOver; // default rounded input field inactive background (like in chats list search field when field is inactive)
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle
botKbBg: menuBgOver; // bot keyboard button background
botKbDownBg: menuBgRipple; // bot keyboard button ripple effect
botKbColor: windowBoldFgOver; // bot keyboard button text
sliderBgInactive: #e1eaef; // default slider not active bar (like in Settings when you choose interface scale or custom notifications count)
sliderBgActive: windowBgActive; // default slider active bar (like in Settings when you choose interface scale or custom notifications count)
@@ -232,8 +224,8 @@ dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background
dialogsUnreadBgMutedActive: dialogsDraftFgActive; // chat list unread badge background for muted chat for current (active) chat
dialogsUnreadFgActive: dialogsBgActive; // chat list unread badge text for current (active) chat
dialogsRippleBg: windowBgRipple;
dialogsRippleBgActive: activeButtonBgRipple;
dialogsRippleBg: windowBgRipple; // chat list background ripple effect
dialogsRippleBgActive: activeButtonBgRipple; // chat list background ripple effect for current (active) chat
dialogsForwardBg: dialogsBgActive; // forwarding panel background (when forwarding messages in the smallest window size)
dialogsForwardFg: dialogsNameFgActive; // forwarding panel text (when forwarding messages in the smallest window size)
@@ -248,7 +240,9 @@ emojiPanBg: windowBg; // emoji panel background
emojiPanCategories: #f7f7f7 | windowBg; // emoji panel categories background
emojiPanHeaderFg: windowSubTextFg; // emoji panel section header text
emojiPanHeaderBg: #fffffff2 | emojiPanBg; // emoji panel section header background
stickerPanDeleteBg: #000000cc; // delete X button background for custom sent stickers in stickers panel (legacy)
emojiIconFg: checkboxFg; // emoji category icon
emojiIconFgActive: windowBgActive; // active emoji category icon
stickerPanDeleteBg: #000000ff; // delete X button background for custom sent stickers in stickers panel (legacy)
stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy)
stickerPreviewBg: #ffffffb0; // sticker and GIF preview background (when you press and hold on a sticker)
@@ -309,6 +303,7 @@ historyPeer8NameFg: #ce671b; // orange group member name
historyPeer8NameFgSelected: historyPeer8NameFg; // orange group member name in a selected message
historyPeer8UserpicBg: #faa774; // orange userpic background
historyPeerUserpicFg: windowFgActive; // default userpic initials
historyPeerSavedMessagesBg: historyPeer4UserpicBg; // saved messages userpic background
// Some values are marked as (adjusted), it means they're adjusted by
// hue and saturation of the average background color if user chooses
@@ -395,6 +390,8 @@ historyFileThumbIconFgSelected: msgInBgSelected; // selected file with thumbnail
historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; // selected file with thumbnail (or photo / video) radial download animation line
historyVideoMessageProgressFg: historyFileThumbIconFg; // radial playback progress in round video messages
msgWaveformInActive: windowBgActive; // inbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInActiveSelected: #51a3d3; // inbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInInactive: #d4dee6; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
@@ -448,7 +445,9 @@ historyComposeButtonBgOver: windowBgOver; // unblock / join channel / mute chann
historyComposeButtonBgRipple: windowBgRipple; // unblock / join channel / mute channel button ripple effect
// overview
overviewCheckBg: #00000040; // shared files / links checkbox background for not selected rows when some rows are selected
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
overviewCheckBorder: windowBg; // shared media round checkbox border
overviewCheckFg: windowBg; // shared files / links checkbox icon for not selected rows when some rows are selected
overviewCheckFgActive: windowBg; // shared files / links checkbox icon for selected rows
overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill for selected rows
@@ -457,7 +456,10 @@ overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill fo
profileStatusFgOver: #7c99b2; // group members list in group profile user last seen text with mouse over
profileVerifiedCheckBg: windowBgActive; // profile verified check icon background
profileVerifiedCheckFg: windowFgActive; // profile verified check icon tick
profileAdminStartFg: windowBgActive; // group members list admin star icon
profileAdminStartFg: windowBgActive; // group members list creator star icon
profileAdminStarFgOver: profileAdminStartFg; // group members list creator star icon with mouse over
profileOtherAdminStarFg: windowSubTextFg; // group members list admin star icon
profileOtherAdminStarFgOver: profileStatusFgOver; // group members list admin star icon with mouse over
// settings
notificationsBoxMonitorFg: windowFg; // custom notifications settings box monitor color

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 B

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 B

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 B

After

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 777 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 938 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 B

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 628 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 668 B

After

Width:  |  Height:  |  Size: 807 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 546 B

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 968 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 B

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 432 B

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 B

After

Width:  |  Height:  |  Size: 1012 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 817 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 546 B

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

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