Commit graph

70 commits

Author SHA1 Message Date
Slava Monich
1ee8d134bc
Adapt to changes in TdLib (#524)
* Adapt setTdlibParameters for TdLib > 1.8.5

For some reason tdlibParameters were inlined between 1.8.5 and 1.8.6
See https://github.com/tdlib/td/commit/f6a2ecd

* sponsoredMessage => sponsoredMessages in TdLib 1.8.8

See https://github.com/tdlib/td/commit/ec1310a

* Support another variant of messageReaction

The reaction field has changed from string to ReactionType somewhere
between 1.8.5 and 1.8.6

See https://github.com/tdlib/td/commit/b14708f

* Add support for new message reactions API

It has changed between 1.8.5 and 1.8.6

https://github.com/tdlib/td/commit/b14708f (ReactionType)
https://github.com/tdlib/td/commit/0b8e143 (ChatAvailableReactions)
https://github.com/tdlib/td/commit/6b2f6b4 (addMessageReaction)
https://github.com/tdlib/td/commit/d29d367 (updateActiveEmojiReactions)

etc.

* Highlight chosen reaction

* Support username in the new format

username attribute has been replaced with usernames in 1.8.8 and
now looks like this:

    "usernames": {
        "@type": "usernames",
        "active_usernames": [
            "whatever"
        ],
        "disabled_usernames": [
        ],
        "editable_username": "whatever"
    }

See https://github.com/tdlib/td/commit/897032e

* Support new reply_to message attribute

Since 1.8.15 it replaces reply_to_message_id and reply_in_chat_id.
Looks like this:

    "reply_to": {
        "@type": "messageReplyToMessage",
        "chat_id": -1001234567890,
        "is_quote_manual": false,
        "message_id": 234567890,
        "origin_send_date": 0
    },

See https://github.com/tdlib/td/commit/6116573

* Added support for MessageOrigin values

All of a sudden MessageForwardOrigin has been renamed into MessageOrigin
in TdLib 1.8.20 just because why not:

https://github.com/tdlib/td/commit/10c9e40
2023-11-18 14:45:22 +01:00
Sebastian Wolf
99910a3f3a
Bring unread mention/reactions to chat list 2022-06-06 15:55:21 +02:00
Sebastian Wolf
6d6b07b9a9
Get available message reactions 2022-04-30 23:51:47 +02:00
Sebastian Wolf
932f483b7a
TDLib 1.8.0: New format for sponsored messages 2022-01-07 22:03:58 +01:00
Slava Monich
7c8db1b739 Remove (some) unused entries from QVariantMaps
This may save megabytes of heap depending on how many stickers you have.
2021-12-18 06:40:06 +02:00
Sebastian Wolf
b8e5fb189c
Handle many direct message links properly, fixes #312 2021-12-11 18:29:31 +01:00
Sebastian Wolf
0f4e0eaf58
Better support sponsored message types 2021-12-08 00:33:35 +01:00
Slava Monich
84cfcb5150 Contigurable mess
There's no UI for that, you have to configure your mess manually))
Also, made sure that chats don't handle another char's mess.
2021-12-06 04:32:40 +02:00
Sebastian Wolf
a59d32b29d
Update to TDLib 1.7.9, preliminary support for sponsored messages 2021-12-05 22:06:05 +01:00
Sebastian Wolf
aef9fd8391
Support for managing Telegram sessions 2021-02-20 00:14:43 +01:00
Slava Monich
b1c4311990 Update message view counts in real time 2021-01-31 22:10:45 +02:00
Sebastian Wolf
9b820dad2b
Add and delete profile pictures 2021-01-26 23:26:40 +01:00
Sebastian Wolf
9a5db3e83f
Next steps towards supporting user preferences 2021-01-24 23:46:30 +01:00
John Gibbon
1ce981c147 Implement inline queries (among others) 2021-01-10 22:20:05 +01:00
Sebastian Wolf
9299205379
Show pinned chat icon in list 2021-01-06 10:42:12 +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
2e970f2003
Search for public chats... 2020-12-27 23:30: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
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
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
Sebastian Wolf
4cf35641c5 Secret chat identifer switches to qlonglong 2020-11-27 19:42:39 +01:00
Sebastian Wolf
deacb7f0ea Synchronize contacts with Telegram 2020-11-26 22:18:51 +01:00
Sebastian Wolf
a6d8328b10 I can see secret chats... ;) 2020-11-25 00:23:38 +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
2830f50a35 React properly on pinned message changes, nice message overlay ;) 2020-11-18 14:59:35 +01:00
Slava Monich
2323c574b3 Handle updateChatPhoto message 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
Sebastian Wolf
5d3805759a Small UI fixes, error handling for joining chats 2020-11-09 23:22:24 +01: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
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
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
537725566b Supporting stickers is quite some work... :/ 2020-10-14 23:25:56 +02:00
Sebastian J. Wolf
c1ea773fae Prepare getting some stickers :D 2020-10-05 23:08:47 +02:00
Sebastian Wolf
d4846d5f26
Merge pull request #45 from monich/hide-irrelevant-chats
Hide irrelevant chats
2020-10-04 14:09:45 +02:00
Slava Monich
56bc1135a7 Don't show irrelevant groups by default
chatListModel.showAllChats property can be used to switch visibility
of irrelevant groups on and off.
2020-10-04 04:33:42 +03:00
John Gibbon
3149cb38cb handle empty chat list after registration
also translate some strings from b0d85840 to german
2020-10-01 13:20:43 +02:00
John Gibbon
6c1fc77f0c handle user registration 2020-10-01 12:51:43 +02:00
Slava Monich
3c0d046b3f Handle updateChatPosition
And a bit of optimization:

1. Lookup handlers from hashtable
2. Pre-initialize commonly used strings
3. Avoid unnecessary QVariantMap lookups
4. Shortened logging statements
2020-09-27 19:10:30 +03:00
Sebastian J. Wolf
64b6c8607e Deleting messages seems to work... 2020-09-20 00:13:42 +02:00
Sebastian J. Wolf
b78a0f8731 Edit message seems to work 2020-09-19 20:33:51 +02:00
Sebastian J. Wolf
9070caa2a3 Mute/unmute chats both from list and in chat 2020-09-16 20:43:36 +02:00
Sebastian J. Wolf
aa3a841fee Prepare notification manager 2020-09-02 22:49:15 +02:00
Sebastian J. Wolf
a04332d4b6 Fix chat positioning and sent/read indicator 2020-08-31 21:51:52 +02:00
Sebastian J. Wolf
cff06cc32d Try to get pending message state into the chat 2020-08-30 23:52:22 +02:00