John Gibbon
1ce981c147
Implement inline queries (among others)
2021-01-10 22:20:05 +01:00
Sebastian Wolf
d4935a4968
Introduce online-only mode as non-default option, fixes #77
2021-01-10 13:35:34 +01:00
Sebastian Wolf
233515474f
Merge pull request #297 from monich/fileId
...
Update webPage photo id when message gets updated
2021-01-08 23:33:52 +01:00
Sebastian Wolf
b9933dd706
Merge pull request #296 from monich/retry
...
Don't retry downloading too often
2021-01-08 22:34:30 +01:00
Slava Monich
92655b4417
Update webPage photo id when message gets updated
2021-01-08 05:36:34 +02:00
Slava Monich
4f275a5405
Don't retry downloading too often
2021-01-08 04:12:16 +02:00
Slava Monich
7f9166d1ae
Initialize ChatModel::searchModeActive
2021-01-08 01:03:22 +02:00
Sebastian Wolf
e3370bf73e
Add chat list menu option to pin/unpin chat
2021-01-07 22:47:42 +01:00
Sebastian Wolf
7453c60052
Add sourceSize to pin icon
2021-01-07 21:52:26 +01:00
Sebastian Wolf
fb161f3d24
Take chat list type into account when receiving new chat positions
2021-01-06 16:54:23 +01:00
Sebastian Wolf
9299205379
Show pinned chat icon in list
2021-01-06 10:42:12 +01:00
Sebastian Wolf
e0b94a0487
One dedicated file per voice note recording
2021-01-04 22:03:04 +01:00
Sebastian Wolf
2b634471dc
Sending locations seems to work as well...
2021-01-03 01:22:30 +01:00
Sebastian Wolf
7c615b5cff
Merge remote-tracking branch 'origin/master' into voicenotes
2021-01-02 20:33:03 +01:00
Sebastian Wolf
5213084fb1
Sending voice notes seems to work...
2021-01-02 17:22:09 +01:00
Sebastian Wolf
473c603451
Reorganize title bar, introduce interaction hint
2021-01-02 16:10:01 +01:00
Sebastian Wolf
d38f56b9fe
Recording Vorbis files works & connected to UI
2021-01-02 00:15:25 +01:00
John Gibbon
42398eee96
Implement TextArea focus after message send option
...
fixes #149
2021-01-01 01:34:11 +01:00
John Gibbon
753f322053
implement message drafts
2020-12-31 01:18:14 +01:00
Sebastian Wolf
232049422a
Add 'mark chat as read/unread' feature, fixes #240
2020-12-31 00:19:36 +01:00
Slava Monich
0cb19d833c
Message API usage cleanup
...
1. Pass chat_id where appropriate
2. Pass message_id and chat_id (which are numbers) as numbers
3. Use pre-initialized QStrings more often
4. Don't pass numbers by const reference, it doesn't make sense
5. Removed some redundant const modifiers
2020-12-30 18:20:50 +02:00
Sebastian Wolf
b4b1eb4bc0
Merge remote-tracking branch 'origin/master' into searching
2020-12-29 16:33:40 +01:00
Sebastian Wolf
775a31cecb
Implement delete/add chat members properly, fixes #131
2020-12-29 16:32:39 +01:00
Sebastian Wolf
283466ae95
Merging should be done right... :/
2020-12-29 09:12:57 +01:00
Sebastian Wolf
78a71cfbab
Merge remote-tracking branch 'origin/master' into searching
2020-12-28 22:16:59 +01:00
Sebastian Wolf
e6fd5885aa
Force read all mentions in a chat when nothing is unread
2020-12-28 21:57:34 +01:00
Sebastian Wolf
72fd008dfc
Disable some stuff that is not needed in search mode
2020-12-28 17:12:21 +01:00
Sebastian Wolf
225eb76899
Fix crash on incoming message deletions & minor other fixes
2020-12-28 14:35:27 +01:00
Sebastian Wolf
2e970f2003
Search for public chats...
2020-12-27 23:30:25 +01:00
Sebastian Wolf
0f28db0115
Merge remote-tracking branch 'origin/master' into searching
2020-12-27 12:06:54 +01:00
Sebastian Wolf
19a17ed3f3
Now you can search in a chat...
2020-12-27 00:16:25 +01:00
John Gibbon
d0f33969eb
support basic bot messages (reply markup)
...
only inlineKeyboardButtonTypeCallback and inlineKeyboardButtonTypeUrl are implemented.
2020-12-27 00:01:59 +01:00
Sebastian Wolf
461b724d15
Merge latest upstream changes
2020-12-26 16:28:03 +01:00
Sebastian Wolf
13a91fa0e7
Remove pinned message workaround, add more build information
2020-12-26 15:43:10 +01:00
Sebastian Wolf
c83fcda617
Merge remote-tracking branch 'origin/master' into searching
2020-12-25 22:40:37 +01:00
Sebastian Wolf
fe0b390a87
TDLib 1.7: Bring back pinned messages (nobody noticed so far?)
2020-12-25 22:38:13 +01:00
Sebastian Wolf
4e680a9a3f
Don't display empty in-reply-to section if message wasn't found
2020-12-25 15:33:53 +01:00
Sebastian Wolf
a0a2e6bdca
Merge remote-tracking branch 'origin/master' into searching
2020-12-21 23:33:51 +01:00
Sebastian Wolf
00287ea89c
Merge pull request #237 from Wunderfitz/tdlib17
...
Migration to TDLib 1.7
2020-12-21 23:22:52 +01:00
Sebastian Wolf
87255e123a
Merge remote-tracking branch 'origin/tdlib17' into searching
2020-12-16 23:55:58 +01:00
Sebastian Wolf
4fbdeb6366
TDLib 1.7: Set timeout back to 5s, repair user profile photos
2020-12-16 23:54:17 +01:00
Sebastian Wolf
45bcc4f33d
Introduce filter capabilities for chat list
2020-12-16 23:32:42 +01:00
Slava Monich
25efbb8bc2
Added "Show all chats" switch to the Debug page
2020-12-16 16:04:15 +02:00
Sebastian Wolf
8b49b0363c
TDLib 1.7: Reduce log verbosity level again to normal
2020-12-14 22:12:52 +01:00
Sebastian Wolf
a1f0e1c1c5
TDLib 1.7: Some 'fun' with the message database
2020-12-08 21:57:23 +01:00
Sebastian Wolf
bf9c4e1e5e
TDLib 1.7: Message database seems to lead to terrible performance -> disable it
2020-12-07 23:33:09 +01:00
Sebastian Wolf
63db26afc8
TDLib 1.7: Sticker IDs, message sender IDs
2020-12-07 21:43:09 +01:00
Sebastian Wolf
f6d72d8ef1
Next version will be 0.6
2020-12-06 21:50:38 +01:00
Slava Monich
b6c97c7f93
Optimized chat model a bit
...
1. Store and handle message ids as numbers rather than variants/strings
2. Incrementally update message id map
3. Expose additional roles and properties to avoid unnecessary lookups
2020-12-06 21:10:50 +02:00
Slava Monich
bd695d1a91
Fix occasional crashes on long-tapping poll items
...
The crash was happening when Repeater was adding context menu items
instantiated by PollPreview to context menu owned by MessageListViewItem.
It's fixed by instantiating those extra menu items inside context menu
itself. Generic ListElement couldn't be used because it doesn't like
functions as property values, hence this NamedAction thing.
2020-12-06 01:52:19 +02:00
Sebastian Wolf
56f5a675ac
Fix reload after single message, changelog for 0.5.1
2020-12-04 22:53:52 +01:00
Sebastian Wolf
00bb7289ad
Fix chat list short messages in channels
2020-12-04 20:28:42 +01:00
Sebastian Wolf
2869a99cbc
Get also the one and only message in a chat (hopefully no side-effects...)
2020-12-03 22:33:36 +01:00
Slava Monich
38165c4f67
Add verification badge to verified chats
2020-12-03 02:13:35 +02:00
Sebastian Wolf
a8fd0e0463
Chore: Change release version
2020-12-01 23:18:26 +01:00
Sebastian Wolf
98d07c86c4
Show some love to the editing functionality
2020-12-01 21:17:13 +01:00
Sebastian Wolf
4aedc56ca7
Merge incoming changes from secret chat/contacts
2020-11-29 12:44:50 +01:00
Sebastian Wolf
9aa1392b1e
Postprocess at-mentions without username
2020-11-29 00:33:27 +01:00
Sebastian Wolf
f7296daf4e
Start with @-mentioning in own messages
2020-11-28 23:00:10 +01:00
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
90f7535fda
Secret chats begin to work properly...
2020-11-26 00:25:15 +01:00
Sebastian Wolf
3b8d284b2b
Handle secret chat state for chat list
2020-11-25 22:09:47 +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
20b773ac59
Check contacts requested via extra-attribute
2020-11-23 20:53:43 +01:00
Sebastian Wolf
51cad07231
Yet another merge from master, need to be faster... ;)
2020-11-23 12:08:25 +01:00
Slava Monich
3d48125371
Add MceInterface object
2020-11-23 01:38:06 +02:00
John Gibbon
8fd82caf96
Address reviewed issues
2020-11-23 00:08:04 +01:00
John Gibbon
7b6dd14fd1
Use logging rule for front end
2020-11-23 00:08:04 +01:00
John Gibbon
7017818acb
Add switchable Debug output (JS)
2020-11-23 00:08:04 +01:00
Slava Monich
162e1ca996
Take logging categories into use
...
Logging can be enabled in release build like this:
QT_LOGGING_RULES="fernschreiber.*=true" harbour-fernschreiber
See https://doc.qt.io/qt-5/qloggingcategory.html for more details.
2020-11-22 16:40:55 +02: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
Slava Monich
e68340d406
Added notificationTurnsDisplayOn option
...
It defaults to false
2020-11-21 01:43:08 +02:00
Slava Monich
00483a676f
Fixed release build
2020-11-21 00:33:17 +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
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
Sebastian Wolf
af47ae2c72
Some improvements as suggested by @jgibbon, add unpin feature
2020-11-18 15:01:16 +01:00
Sebastian Wolf
b35d268b12
Now able to pin messages and show in-reply-to messages in overlay
2020-11-18 15:00:05 +01:00
Sebastian Wolf
2830f50a35
React properly on pinned message changes, nice message overlay ;)
2020-11-18 14:59:35 +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
John Gibbon
1486e49f1c
add FernschreiberUtils to qml context (unused for now)
2020-11-17 16:45:54 +01:00
Slava Monich
8db731636c
Removed mutex from ChatModel
...
AFAICT there's nothing to synchronize here
2020-11-16 21:33:47 +02:00
Sebastian Wolf
9141b8e68b
Fix crash when forwarding to some chats, introduce iterative init
2020-11-16 16:52:48 +01:00
Sebastian Wolf
9507024f51
Loading messages or not loading them...? Next step towards #136
2020-11-16 14:22:32 +01:00
Sebastian Wolf
18e88a8412
If last message was an own one, it was of course read...
2020-11-16 00:08:55 +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
Slava Monich
90b32be076
Shortened log statements in ChatModel
2020-11-15 06:12:17 +02:00
Slava Monich
f25e3de029
Preallocate more QStrings in TDLibReceiver
...
For better performance.
2020-11-15 06:12:17 +02:00
Slava Monich
78720d48fc
Silence 'Unhandled object type "ok"' 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
07aa92ffcc
Merge branch 'master' of https://github.com/Wunderfitz/harbour-fernschreiber
2020-11-14 14:10:28 +01:00
Sebastian Wolf
fcf1bb2118
Display state of last message if it was sent by the user, fixes #152
2020-11-14 14:10:24 +01:00
Slava Monich
66551e9590
Initialize TDLibWrapper::joinChatRequested
2020-11-14 06:33:39 +02:00
Sebastian Wolf
7d78a2f126
Message sent successfully: Send dataChanged event first
2020-11-13 23:39:27 +01:00
Sebastian Wolf
301f52603a
Integrate latest translation updates
2020-11-12 21:37:17 +01:00
iamnomeutente
92afae9f6c
Typo corrected
2020-11-11 16:02:56 +01:00
Slava Monich
8ca5956722
Made sticker animation configurable
2020-11-11 13:22:43 +02:00
Slava Monich
449784883e
Support for animated stickers
...
TGS are gzipped Lottie-Animations.
2020-11-11 13:22:31 +02:00
Sebastian Wolf
5d3805759a
Small UI fixes, error handling for joining chats
2020-11-09 23:22:24 +01:00
Sebastian Wolf
89e0576adc
Support open-with from external sources (e.g. web links)
2020-11-08 21:13: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
7d28f72e98
add some message type descriptions
2020-11-05 14:06:41 +01:00
Sebastian Wolf
6d3b3464bf
Experiment a bit with opening new chats
2020-11-05 00:02:27 +01:00
Sebastian Wolf
84bfb003b0
Prepare to join/see chats by link
2020-11-03 23:39:09 +01:00
Sebastian Wolf
bbd8e3eabf
Start chat from @-mention
2020-11-03 22:21:01 +01:00
Sebastian Wolf
86ac99004d
Notifications: disable previewBody/Summary for now, update README
2020-11-01 21:58:22 +01:00
Slava Monich
45180b64b4
Don't post unwanted feedback for removed notifications
...
Also, don't turn off PatternCommunicationIM pattern when some (but
not all) notifications are removed, don't keep empty notification
groups in notificationGroups map, reuse already posted notification
after restarting the client, handle chat title change and more...
2020-11-01 21:07:15 +02:00
Slava Monich
9504b24d5c
Pre-allocate commonly used QStrings in NotificationManager
...
To avoid overhead (e.g. ASCII => UTF16 convertion) on each use.
2020-11-01 21:07:15 +02:00
Slava Monich
484f66f01c
Don't pass primitive types by const references to NotificationManager
...
It makes no sense whatsoever.
2020-11-01 21:07:15 +02:00
Sebastian Wolf
4de0cb213e
Merge pull request #120 from monich/chatmodel-crash
...
Fix crash in ChatModel
2020-11-01 19:41:44 +01:00
Slava Monich
4049d4aa7c
Fixed crash in ChatModel
...
QList::first() panics if the list is empty.
2020-11-01 05:09:47 +02:00
Slava Monich
4c2f9dba19
Moved chatTypeFromString from ChatListModel to TDLibWrapper
...
So that it can be used elsewhere
2020-10-31 21:19:34 +02:00
Sebastian Wolf
3175e641dc
Merge branch 'master' into const-refs
2020-10-26 21:28:39 +01:00
John Gibbon
d3324bfab2
slot/primitive considerations from #103
2020-10-24 19:28:20 +02:00
Slava Monich
080244ecb1
Removed useless slots from TDLibWrapper
...
Signals can be connected directly to signals.
2020-10-24 03:24:56 +03:00
Slava Monich
460eaa878f
Don't pass primitive data as a const reference
...
It just doesn't make any sense.
Reference (essentially a pointer) can't be smaller than a primitive
type, except for 64-bit numbers on a 32-bit platform. In terms of
performance, an additional indirection can't be better than picking
the value directly from the stack, let alone a register.
2020-10-24 03:13:08 +03:00
John Gibbon
924ff9deda
implement polls
2020-10-23 10:29:56 +02:00
John Gibbon
6970dc3625
implement "mark all messages as read" MenuItem
...
contributes to #70 (doesn't mark anything as unread, though, and does not use toggleChatIsMarkedAsUnread at all)
2020-10-19 21:08:32 +02:00
Sebastian J. Wolf
98e2bea69f
Prepare translation files for #87
2020-10-19 19:51:33 +02:00
Sebastian J. Wolf
91ae3651ef
Change license header to reflect number of contributions
2020-10-19 19:34:47 +02:00
John Gibbon
74a732a5b6
implement chat info page
...
includes some basic group administration features
2020-10-19 12:48:55 +02:00
Sebastian J. Wolf
a95dcc4efc
Ignore already existing file when download is requested, fixes #67
2020-10-18 22:14:48 +02:00
Sebastian J. Wolf
a78f60f974
Search for emojis with :<keyword>
2020-10-18 18:57:01 +02:00
Slava Monich
f75e5a3f4b
Added "Notification feedback" combo box
2020-10-18 18:02:44 +03:00
Slava Monich
6e1e100a87
Don't initialize MCE QDBusInterface on every D-Bus call
...
It's enough to initialize it once at startup.
Also avoided a few per-call ASCII => QString conversions and dropped
unnecessary mutex.
2020-10-18 18:02:44 +03:00
Slava Monich
65738a4ddf
Shortened log statements in NotificationManager
...
Copy/paste is evil
2020-10-18 18:02:44 +03:00
Sebastian J. Wolf
e578c6bef3
Use GridView for sticker picker
2020-10-18 16:29:34 +02:00
Sebastian J. Wolf
7d84fcb3bf
Change logo/icon - thanks to @iamnomeutente
2020-10-16 23:00:08 +02:00
Sebastian J. Wolf
cb9ae27bef
Some post-sticker cleanup...
2020-10-16 00:02:58 +02:00