Commit graph

79 commits

Author SHA1 Message Date
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
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
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
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
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
a1f0e1c1c5 TDLib 1.7: Some 'fun' with the message database 2020-12-08 21:57:23 +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
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
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
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
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
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
256244a08e Some additional preparations to send stickers 2020-10-12 22:44:21 +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
Sebastian Wolf
5509a555a0
Merge pull request #44 from monich/verbose
Enable verbose output in TDLibReceiver if DEBUG is defined
2020-10-04 13:37:55 +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
Slava Monich
f17048d071 Enable verbose output in TDLibReceiver if DEBUG is defined
This should have no effect on release build.
2020-10-03 21:09:04 +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
Sebastian J. Wolf
9eb396c9ca Fixes here and there... 2020-09-30 21:41:49 +02:00
Sebastian J. Wolf
5fa2a1200f Adjust new sorting logic to TDLib 1.6.0, add contributors' info 2020-09-28 20:47:03 +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
fcc46fbc94 Auto-scroll to message if user sent it 2020-09-22 20:32:35 +02:00