Commit graph

300 commits

Author SHA1 Message Date
Sebastian Wolf
48b5e14335 Improvements after feedback round 2020-11-28 19:11:51 +01:00
Sebastian Wolf
de945c7846 Merge remote-tracking branch 'origin/master' into new-chat-from-contacts-7 2020-11-27 21:14:59 +01:00
Sebastian Wolf
cc08ee3997 Switch to file picker for documents, fix short text for audios 2020-11-27 21:13:55 +01:00
Sebastian Wolf
4bcd4faca9 Merge remote-tracking branch 'origin/master' into new-chat-from-contacts-7 2020-11-27 19:51:56 +01:00
Sebastian Wolf
4cf35641c5 Secret chat identifer switches to qlonglong 2020-11-27 19:42:39 +01:00
John Gibbon
0ba4d9a408 Fix initial auth handling
This (hopefully, it at least LGTM) fixes two problems:
 - OverviewPage.onCompleted: It got the wrong AuthorizationState if qml was loaded too fast because it wasn't initialized. (c++)
- The QML could have tried to open the InitializationPage "onCompleted". But the initial pageStack operation is a parent in it's call stack,  so it is neither ready nor wants to accept "completeAnimation()". A zero interval Timer was added for this case.
2020-11-27 10:25:23 +01:00
Sebastian Wolf
deacb7f0ea Synchronize contacts with Telegram 2020-11-26 22:18:51 +01:00
Sebastian Wolf
7ab58d3730 Add option to close a secret chat 2020-11-26 16:11:12 +01:00
Sebastian Wolf
6f889437ed Merge latest upstream changes... 2020-11-26 15:38:15 +01:00
Sebastian Wolf
24ab5a5953
Merge pull request #200 from monich/optimizer
Added storage optimizer option
2020-11-26 15:11:01 +01:00
Sebastian Wolf
63824e77f2 Remove debug leftover in AboutPage 2020-11-26 15:10:26 +01:00
John Gibbon
12136a0e7e Add menu for "About" to InitializationPage
Also puts the account specific info from "AboutPage" into a Loader to make it optional without much effort.
2020-11-26 11:18:17 +01:00
Sebastian Wolf
90f7535fda Secret chats begin to work properly... 2020-11-26 00:25:15 +01:00
Sebastian Wolf
a6d8328b10 I can see secret chats... ;) 2020-11-25 00:23:38 +01:00
Sebastian Wolf
4713fbfba6 Apply a dumb filter on contacts 2020-11-24 17:28:41 +01:00
Sebastian Wolf
86599b2859 Move contacts to an own model 2020-11-24 16:13:16 +01:00
Slava Monich
b649b71868 Added storage optimizer option 2020-11-24 00:17:27 +02:00
Sebastian Wolf
7da8957423 Merge remote-tracking branch 'origin/master' into new-chat-from-contacts-7 2020-11-23 21:32:27 +01:00
Sebastian Wolf
20b773ac59 Check contacts requested via extra-attribute 2020-11-23 20:53:43 +01:00
John Gibbon
9e405918f7 fix functions scope; make appNotification global
I've left some instances of AppNotification items where they're supposed to be centered inside a component, not the whole page.
2020-11-23 20:15:28 +01:00
Sebastian Wolf
51cad07231 Yet another merge from master, need to be faster... ;) 2020-11-23 12:08:25 +01:00
John Gibbon
7017818acb Add switchable Debug output (JS) 2020-11-23 00:08:04 +01:00
John Gibbon
352493f100 Use TruncationMode.Fade 2020-11-22 20:19:14 +01:00
Sebastian Wolf
c6fa5cf97f Options for creating new chats... 2020-11-21 22:13:37 +01:00
Sebastian Wolf
4d1bd029bc Merge remote-tracking branch 'origin/master' into new-chat-from-contacts-7 2020-11-21 10:21:53 +01:00
Sebastian Wolf
4bbeb4fa34 Only clear chat model if navigated back | update translation files 2020-11-21 10:12:59 +01:00
Slava Monich
2f2cbb4679 Added UI for notificationTurnsDisplayOn option 2020-11-21 01:43:08 +02:00
Sebastian Wolf
9d75cbbedf Showing sorted contacts, wow! 2020-11-20 23:00:50 +01:00
Sebastian Wolf
fe8199a1eb Merge remote-tracking branch 'origin/master' into new-chat-from-contacts-7 2020-11-20 21:48:37 +01:00
Slava Monich
d1ccf9f796 Show notification popups except for the current chat
And drop dependency on Ngf. Also, pre-initialize the chat photo when
pushing the chat page.
2020-11-20 21:42:23 +02:00
Sebastian Wolf
fb2e0786c9 Merge with master branch (notification hotfix) 2020-11-20 19:22:43 +01:00
Sebastian Wolf
dd6239c119 Hotfix: Use up-to-date chat information for open-by-notification 2020-11-20 19:08:05 +01:00
Sebastian Wolf
3dbf38a1fa Start implementing 'New Chat' functionality 2020-11-20 18:30:33 +01:00
Sebastian Wolf
82d0058746
Merge pull request #179 from jgibbon/bugfix/#20_translation_plurals
Bugfix/#20 translation plurals
2020-11-19 21:01:19 +01:00
Sebastian Wolf
baf4b27e60 Avoid stale state for chat page picture 2020-11-19 20:25:53 +01:00
Sebastian Wolf
e4dbb63a92 Properly encode HTML entities for chat's last message 2020-11-19 11:41:32 +01:00
John Gibbon
616658ab35 %n → %Ln; remove more .arg() 2020-11-19 11:27:10 +01:00
John Gibbon
8181e17fa2 remove unnecessary .arg (+warnings) 2020-11-19 11:27:10 +01:00
John Gibbon
b48ca728d2 change/enable plural handling 2020-11-19 11:27:10 +01:00
John Gibbon
cf1c25f156 [%n1|%L1] → %Ln 2020-11-19 11:27:10 +01:00
Sebastian Wolf
af47ae2c72 Some improvements as suggested by @jgibbon, add unpin feature 2020-11-18 15:01:16 +01:00
Sebastian Wolf
2830f50a35 React properly on pinned message changes, nice message overlay ;) 2020-11-18 14:59:35 +01:00
Sebastian Wolf
15be3862f6 Display pinned message in chat 2020-11-18 14:59:15 +01:00
Sebastian Wolf
f6b42eb3cb
Merge pull request #169 from jgibbon/bugfix/message-permissions
Bugfix/message permissions
2020-11-18 12:44:21 +01:00
Sebastian Wolf
97feb2f804
Merge pull request #176 from Wunderfitz/chat-header-alignment
Properly align custom header on chat page
2020-11-18 11:54:13 +01:00
John Gibbon
816ba6eca7 remove some semicolons; 2020-11-18 11:13:05 +01:00
Sebastian Wolf
60ea95abec Properly align custom header on chat page 2020-11-17 23:21:38 +01:00
John Gibbon
59304527d2 fix typo; don't update group status while selecting 2020-11-17 16:21:20 +01:00
John Gibbon
3cce631aa7 optimize permission lookups 2020-11-17 11:14:36 +01:00
John Gibbon
813c7912fe chat info: review optimizations 2020-11-17 10:09:11 +01:00
John Gibbon
182a2d1344 ChatInfoPage as attached page
fixes #150: Now basically everything is inside a loader; ChatInformationPage is added to ChatPage with pageStack.pushAttached

fixes #166: Replaces the clunky VisualItemModel in tab view and doesn't initialize multiple times.
2020-11-17 10:09:11 +01:00
John Gibbon
c76d079e03 permissions: replace leftover debug changes; fix another copy/paste 2020-11-16 22:31:37 +01:00
John Gibbon
ac10e600bf fix restricted member permission copy/paste issue 2020-11-16 22:07:21 +01:00
John Gibbon
d5a2d315db forwarding/new message/attachment permissions
enhances #159 PR, hopefully fixes #164 issue
2020-11-16 22:07:21 +01:00
Sebastian Wolf
9141b8e68b Fix crash when forwarding to some chats, introduce iterative init 2020-11-16 16:52:48 +01:00
Sebastian Wolf
aeca799006 Harmonize error handling, ignore 404 (for now) 2020-11-16 14:37:14 +01:00
Sebastian Wolf
c8c0044815 Display all error messages (let's see how it works...) 2020-11-15 23:29:04 +01:00
Sebastian Wolf
85d1bebc3a Load last read messages, enable lazy-loading the future, might fix #136 2020-11-15 23:05:22 +01:00
Sebastian Wolf
1c82072c15
Merge pull request #160 from monich/updateChatPhoto
Update chat photo
2020-11-15 17:19:57 +01:00
Slava Monich
2323c574b3 Handle updateChatPhoto message 2020-11-15 06:12:17 +02:00
John Gibbon
a8ca33fa3d multiple message selection 2020-11-14 23:50:12 +01:00
Sebastian Wolf
6666cf494a More progress bars & fix some web page previews 2020-11-14 22:53:51 +01:00
Sebastian Wolf
fa470f73ba Progress bar for video downloads 2020-11-14 21:01:52 +01:00
Sebastian Wolf
d994f8f102 Fix UI glitches in forward info, support video notes 2020-11-14 20:02:34 +01:00
Sebastian Wolf
63ce0f92d2 Fix 'mute chat' for chats that have never been muted, fixes #144 2020-11-13 22:43:50 +01:00
Sebastian Wolf
301f52603a Integrate latest translation updates 2020-11-12 21:37:17 +01:00
Sebastian Wolf
4aa1542ee3 Add rlottie to About page, prepare changelog for 0.4 2020-11-11 17:54:44 +01:00
Slava Monich
8ca5956722 Made sticker animation configurable 2020-11-11 13:22:43 +02:00
Sebastian Wolf
3607ca98a0 Fix flickering image during resize on chat information page 2020-11-10 21:11:25 +01:00
Sebastian Wolf
5d3805759a Small UI fixes, error handling for joining chats 2020-11-09 23:22:24 +01:00
John Gibbon
bb90fe0c85 Merge remote-tracking branch 'upstream/master' into feature/qml-runtime-optimizations 2020-11-08 21:17:42 +01:00
Sebastian Wolf
89e0576adc Support open-with from external sources (e.g. web links) 2020-11-08 21:13:04 +01:00
John Gibbon
68e2dab715 set some properties readonly 2020-11-08 20:37:17 +01:00
John Gibbon
c3ccaa069d qml runtime optimizations 2020-11-08 17:30:04 +01:00
Slava Monich
9e8038b1b6 Added TDLibFile and optimized ProfileThumbnail
Profile images seem to be loading significantly faster after
moving file fetching logic to the native code and removing the
artificial delay.

TDLibFile is a generic object which can hopefully be used
elsewhere as an efficient replacement for JavaScript.
2020-11-08 06:08:32 +02:00
Sebastian Wolf
9bb24b4862 Joining/leaving chats seems to work... 2020-11-07 20:29:44 +01:00
John Gibbon
fdb8cc5852 replace variant with var
https://doc.qt.io/archives/qt-5.6/qtquick-performance.html
In general, "property var" should be considered to be superior to "property variant" for every use-case from QtQuick 2.0 and newer (note that "property variant" is marked as obsolete), as it allows a true JavaScript reference to be stored (which can reduce the number of conversions required in certain expressions).
2020-11-05 23:23:37 +01:00
John Gibbon
37bede461b differentiate between simple/normal messages 2020-11-05 14:05:33 +01:00
Sebastian Wolf
6d3b3464bf Experiment a bit with opening new chats 2020-11-05 00:02:27 +01:00
John Gibbon
02a4b057d6 delay viewMessage calls; animate changes 2020-11-04 12:26:57 +01:00
Sebastian Wolf
8e46661d78 Start chat from avatar or user name 2020-11-03 22:32:36 +01:00
Sebastian Wolf
fd74da2408 Restore web page preview 2020-11-03 08:18:46 +01:00
Sebastian Wolf
1b345a6654 Add a tap-to-change date format for messages, fixes #47 2020-11-02 23:42:23 +01:00
John Gibbon
5903fbc4da Set initial scroll position for ChatPage
Fixes #1
2020-11-02 20:54:18 +01:00
Sebastian Wolf
6eed093e7b
Merge pull request #121 from monich/dbus-open
Don't animate ChatPage transition when notification is tapped
2020-11-01 19:52:36 +01:00
Sebastian Wolf
cccb48ced5
Merge pull request #119 from jgibbon/feature/qml-import-versions
clean up qml imports
2020-11-01 19:37:49 +01:00
Slava Monich
96dcbdde22 Don't animate ChatPage transition when notification is tapped
And simplified unrolling of the page stack.
2020-11-01 20:36:59 +02:00
Sebastian Wolf
11a1018ad9
Merge pull request #118 from jgibbon/feature/copy-chat-invite-link
Remove clipboard workaround
2020-11-01 19:28:03 +01:00
Sebastian Wolf
8e97d19a02 Update Copy-to-Clipboard functionality & README 2020-11-01 19:20:21 +01:00
Sebastian Wolf
e26cd3d9d3
Merge branch 'master' into clipboard 2020-11-01 19:12:52 +01:00
Sebastian Wolf
30decc8f84 Make document picker work again, fix image picker 2020-11-01 17:54:00 +01:00
John Gibbon
3f454711cf remove some unused imports 2020-10-31 21:09:59 +01:00
John Gibbon
f4d0a4800e QtMultimedia 5.6 2020-10-31 20:50:32 +01:00
John Gibbon
2cd4012b6a QtQuick 2.6 2020-10-31 20:49:03 +01:00
John Gibbon
70dc3c8571 Remove clipboard workaround
Turns out, I somehow forgot about the Clipboard type while implementing the info page. Thanks @chstem
2020-10-31 20:40:54 +01:00
John Gibbon
fb5cf0d382 Remorse.itemAction; content Loader height preset 2020-10-31 20:02:18 +01:00
Christian Stemmle
a9fe6d51d2 Add context menu item: copy message to clipboard 2020-10-31 15:23:58 +01:00
John Gibbon
1fa7192728 Reduce ChatPage.qml jit compile time
First of all: Take all measurements I mention with a grain of salt – all of them are rough and not necessarily measured more than a few times. All times were measured on an Xperia X run via SDK.

Visiting a chat page can take a long time, especially before the qml is cached by the engine.
When opening it for the first time after application launch, it sometimes takes >1000ms from onClicked (OverviewPage) to Component.OnCompleted (Chatpage).
Subsequent activations take roughly 470-480ms.

With these changes, I was able to reduce these times to ~450ms for the first, ~100ms for subsequent activations of the ChatPage on my test device.

Things changed:
- The components for displaying extra content to a message are (mostly) gone and replaced by a single Loader. This Loader does not use sourceComponent to trade the initial compilation boost for a neglegible bit of runtime penalty.
- Connections were consolidated
- I was surprised how costly the inclusion of the RemorseItem was (compiling ~75ms, initializing up to ~20ms for every delegate). So I traded a bit for a compromise. deleteMessageRemorseItem is now defined on the appWindow level, where it gets a bit mitigated by the animations at application start. Also, only one deletion at a time is now possible. We can easily revert this change, but I thought it worthwhile despite its drawbacks.
- profileThumbnailComponent is now defined directly as sourceComponent, removing the need for its id. Probably didn't do anything.
- InReplyToRow had width: parent.width, so I removed horizontalCenter. Also probably didn't change compilation time at all.
- Another compromise I was willing to take – your opinion may differ: The PickerPages took ages (~200ms) to just parse/compile inside those Components, so I replaced them with the "string notation" of pageStack.push. Drawback: The first time a picker gets activated, you'll see how slow it is. Subsequent activations aren't that bad – also for the other pickers.
2020-10-30 20:37:25 +01:00
John Gibbon
8c69e04e83 Fix emoji paths for chat information Items 2020-10-27 21:42:39 +01:00
Sebastian Wolf
3402fddaa6
Merge branch 'master' into feature/use-svgs 2020-10-26 22:17:13 +01:00