Commit Graph

269 Commits

Author SHA1 Message Date
levlam
3121757b32 Add functions for conversion between FormattedText and textWithEntities. 2023-01-18 15:38:36 +03:00
levlam
eeb73d4eb2 Optimize parsing of argument value in HTML tags. 2023-01-09 17:14:31 +03:00
levlam
137fd3beb9 Replace text in-place in parse_html. 2023-01-09 15:12:14 +03:00
levlam
fd53a81603 Replace text in-place in parse_markdown. 2023-01-09 13:11:45 +03:00
levlam
34226ac4ad Recheck UTF-8 in parse_html only if needed. 2023-01-09 12:59:14 +03:00
levlam
0fb64f97a4 Use StringBuilder to create new string in parse_html. 2023-01-09 12:43:15 +03:00
levlam
2ba41ac279 Explicitly use std::move to return entities. 2023-01-09 10:46:49 +03:00
levlam
4dc554bd08 Avoid some minor string copying in message entity parsing. 2023-01-09 00:48:45 +03:00
levlam
1c037ff0e0 Don't send more than 100 user entities to server. 2023-01-08 23:07:57 +03:00
levlam
cf1984844b Update copyright year. 2023-01-01 00:28:08 +03:00
levlam
af05db3f15 Add td::Hash and use it everywhere instead of unusable std::hash. 2022-11-23 19:37:32 +03:00
levlam
d8c36c8062 Improve handling of too long messages and captions. 2022-11-03 16:46:50 +03:00
levlam
0bf3e7f0e6 Treat usernames of length 4 as valid. 2022-10-25 19:25:15 +03:00
levlam
807d18cefc Improve documentation. 2022-10-19 13:14:16 +03:00
levlam
aa6ed42734 Add class CustomEmojiId. 2022-10-03 01:26:32 +03:00
levlam
faa738d6a9 Keep only Slice overload of utf8_utf16_substr. 2022-09-22 12:08:34 +03:00
levlam
4543c485a7 Optimize fix_url. 2022-08-20 13:44:55 +03:00
levlam
0649b7e2fa Add allocation-free fast path to is_common_tld. 2022-08-20 12:56:52 +03:00
levlam
fc9e878539 Optimize is_email_address. 2022-08-20 12:44:22 +03:00
levlam
4206246b0c Simplify match_url code. 2022-08-20 11:34:21 +03:00
levlam
0d2ddc2d56 Allow only domain symbols in user data after first dot to improve performance. 2022-08-19 21:01:39 +03:00
levlam
96cca84a60 Remove source from next_utf8_unsafe. 2022-08-19 16:37:44 +03:00
levlam
a8b3573a00 Always pass non-null pointer to next_utf8_unsafe. 2022-08-19 16:19:58 +03:00
levlam
04b98aa385 Use OptionManager directly if possible. 2022-08-18 17:00:18 +03:00
levlam
3318ffdb20 Proxy all option-related requests through G. 2022-08-17 16:11:13 +03:00
levlam
bbac7baed0 Add setUserSupportInfo. 2022-08-15 16:58:28 +03:00
levlam
f0a89c3dbe Remove process_input_caption in favor of get_formatted_text. 2022-08-15 16:26:51 +03:00
levlam
8b61255387 Add additional parameters to get_formatted_text. 2022-08-15 16:16:50 +03:00
levlam
b1e43bfbd5 Pass FormattedText to get_first_url. 2022-08-15 15:55:48 +03:00
levlam
47c0f387de Add get_formatted_text function. 2022-08-15 15:37:17 +03:00
levlam
8f433070df Minor fixes. 2022-08-14 15:04:08 +03:00
levlam
2e687480c0 Allow premium emoji in Saved Messages. 2022-08-01 01:53:36 +03:00
levlam
fc72eeaff7 Skip more types of empty entities. 2022-07-31 00:44:51 +03:00
levlam
2c9e1767dd Ignore empty entities loaded from database. 2022-07-31 00:34:30 +03:00
levlam
8f81a46ede Allow some new characters in hashtags. 2022-07-29 16:23:05 +03:00
levlam
a5da79327d Preload and check all custom emoji in secret chats. 2022-07-27 23:47:16 +03:00
levlam
36c6b84ec8 Add remove_premium_custom_emoji_entities. 2022-07-27 23:36:44 +03:00
levlam
e601012e9f Remove known premium emoji from secret chat messages from non-premium users. 2022-07-27 21:52:42 +03:00
levlam
84202b5554 Add limit on the total number of entities in secret chat messages. 2022-07-27 21:28:43 +03:00
levlam
af607bf611 Support spoiler and custom emoji entities in secret chats. 2022-07-27 21:10:18 +03:00
levlam
6383e7f1b1 Improve remove_unallowed_entities. 2022-07-27 20:35:40 +03:00
levlam
97ab564e07 Prepare for removing premium custom emoji if have no premium. 2022-07-22 18:11:55 +03:00
levlam
833dfcc9db Remove spoiler and custom emoji entities from messages forwarded to secret chats. 2022-07-22 16:47:58 +03:00
levlam
eef3fe5932 Support custom emoji in parse_html. 2022-07-19 14:13:37 +03:00
levlam
8e09a83506 Support custom emoji in MarkdownV2. 2022-07-18 23:40:57 +03:00
levlam
fb0689545d Add textEntityTypeCustomEmoji. 2022-07-18 01:03:58 +03:00
levlam
e38615b71e Update layer to 144. 2022-07-01 14:33:59 +03:00
levlam
02396be7eb Allow internal links in bio of non-premium users. 2022-07-16 16:10:06 +03:00
levlam
26fdb92dd8 Minor improvements. 2022-06-28 15:32:05 +03:00
levlam
3f763f6fc5 Add more logging. 2022-06-22 16:15:56 +03:00
levlam
b0b98f8f83 Return bio as formatted text. 2022-06-07 18:28:19 +03:00
levlam
dba308951a Add comments for entity type priorities. 2022-06-06 20:44:44 +03:00
levlam
bf0caca138 Simplify LinkManager::check_link usage. 2022-05-31 01:41:01 +03:00
levlam
0375704460 Use get_input_user instead of have_input_user. 2022-03-28 20:26:28 +03:00
levlam
c9441d78be Allow to send MentionName using TextUrl entities. 2022-03-15 14:49:05 +03:00
levlam
1f38124861 Use FlatHashSet. 2022-03-11 21:38:48 +03:00
levlam
8b16cf7271 Make all fields in Dependencies class private. 2022-03-11 15:31:28 +03:00
levlam
a4d80c76b3 Allow middle dot in hashtags. 2022-01-31 02:19:17 +03:00
levlam
d3c712e660 Increase maximum allowed TLD length in email address. 2022-01-30 13:51:28 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
19f1f66eca Support tg-spoiler HTML tag. 2021-12-31 17:15:11 +03:00
levlam
68539fe846 Add textEntityTypeSpoiler. 2021-12-28 20:41:37 +03:00
levlam
20a460aeb3 Update layer to 136. 2021-12-28 17:19:18 +03:00
levlam
29e8df5113 Unify entity variable names. 2021-12-28 18:50:11 +03:00
levlam
ff6615e734 Fix some misprints. 2021-12-23 14:18:32 +03:00
levlam
b060536ae3 Return Result<...> from get_input_user. 2021-12-16 22:46:03 +03:00
levlam
2725f7c58a Move get_link_user_id to LinkManager. 2021-11-24 12:53:38 +03:00
levlam
c66cf3dec6 Use range-based for on arrays/strings if possible. 2021-11-01 01:24:51 +03:00
levlam
db7aa28bdf A lot more minor improvements. 2021-10-19 18:11:16 +03:00
levlam
9b7957c9c6 Minor warning fixes. 2021-10-17 13:07:20 +03:00
levlam
d6f3d9f08a Use error code 400 instead of small error codes. 2021-09-24 10:59:51 +03:00
levlam
41c391f140 Update layer to 133. 2021-09-03 12:27:59 +03:00
levlam
f63196f9fa Improve URL and email matching. 2021-09-09 17:59:24 +03:00
levlam
6beaf41231 Minor improvements. 2021-09-01 20:31:39 +03:00
levlam
5c2441021e Add fast path in remove_invalid_entities. 2021-08-18 21:37:31 +03:00
levlam
4b631b16bf Find MediaTimestamp entities in old messages. 2021-08-09 19:37:47 +03:00
levlam
2098f10441 Store media_timestamp in a separate field. 2021-08-06 09:14:52 +03:00
levlam
2605cd374b Add has_media_timestamps. 2021-08-05 05:41:24 +03:00
levlam
da3b8f93a0 Hide too big media timestamps. 2021-08-04 09:28:53 +03:00
levlam
45bf232417 Fimd media timestamp entities in find_entities. 2021-08-04 04:26:41 +03:00
levlam
14cf908017 Implement find_media_timestamps. 2021-07-28 08:30:22 +03:00
levlam
bdbf4db9ff Move fix_entity_offsets to a separate function. 2021-07-28 06:48:52 +03:00
levlam
389e92f1f4 Add skip_media_timestamps parameter to get_formatted_text. 2021-07-26 22:48:33 +03:00
levlam
ab71d6a200 Add textEntityTypeMediaTimestamp. 2021-07-26 07:53:36 +03:00
levlam
d985e3cc84 Use preincrement for iterators. 2021-08-04 03:43:48 +03:00
levlam
13d5854e2f Update match_cashtags. 2021-08-03 02:58:12 +03:00
levlam
f327ff1cfd Add comment, why warning is supressed for media albums. 2021-07-26 06:45:53 +03:00
levlam
aa71db8da1 Update message content when has_bots is changed. 2021-07-22 06:54:43 +03:00
levlam
e0c9efc26b Skip bot command entities if needed. 2021-07-22 05:39:16 +03:00
levlam
0e244ea67c Rename need_skip_bot_commands to need_always_skip_bot_commands. 2021-07-22 04:38:15 +03:00
levlam
1d3e72aa9d Improve constant names. 2021-07-05 19:17:26 +03:00
levlam
4b0bda767c Add SecretChatLayer.h. 2021-07-05 05:42:37 +03:00
levlam
f8f03db0ce Improve error message. 2021-06-24 23:11:23 +03:00
levlam
8b87e8ed56 Allow pre, TextUrl and TextMention entities, containing only new lines. 2021-06-09 20:35:02 +03:00
levlam
3614425c8a Add is_hidden_data_entity function. 2021-06-09 19:59:52 +03:00
levlam
d2f575fc1c Ignore FTP links in get_first_url. 2021-06-04 21:33:20 +03:00
levlam
a630c87178 Add tg URLs parsing. 2021-06-03 18:27:40 +03:00
levlam
ce2202b1cc Remove only_urls parameter from find_entities. 2021-06-03 15:38:26 +03:00
levlam
c9de490c7f Allow dashes in URLs. 2021-06-03 15:21:26 +03:00
levlam
198af82254 Move check_url to LinkManager. 2021-05-25 02:53:25 +03:00