Commit Graph

2796 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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