Commit Graph

322 Commits

Author SHA1 Message Date
levlam
adedc7ad4f Support chats as members of other chats. 2021-03-22 04:03:24 +03:00
levlam
eb8e135ae3 Fix dropping group call's can_be_managed flag on leaving. 2021-04-12 04:45:35 +03:00
levlam
94368950a6 Remove wrong CHECK. It is wrong to compare orders with different keep_active_date. 2021-04-08 01:23:04 +03:00
levlam
a0dcd2d9c2 Add optional source to have_dialog_force. 2021-04-08 00:51:32 +03:00
levlam
35d6145d66 Drop loaded_all_participants if receive a group call participant in non-loaded part of the list. 2021-04-05 22:50:57 +03:00
levlam
2c154f5e4a Add source to send_update_group_call_participant. 2021-04-05 22:39:38 +03:00
levlam
8b4410d2bf Improve group call participant logging. 2021-04-05 22:24:10 +03:00
levlam
c4eb613a7a Always include self to participant count in joined calls. 2021-04-05 03:02:52 +03:00
levlam
514777aaf1 Fix infinite updates processing. 2021-04-05 02:27:13 +03:00
levlam
f51e7b5481 Fix handling of group call participant list with one participant. 2021-04-05 01:52:20 +03:00
levlam
62a858807a Drop loaded_all_participants if new user was added to the end of the list. 2021-04-05 01:14:45 +03:00
levlam
09859193b1 Add source to on_group_call_left_impl. 2021-04-05 00:33:21 +03:00
levlam
b7e77765be Fix accessing group call's leave_version. 2021-03-31 15:45:21 +03:00
levlam
fbc7e5a7f8 Don't update group call participant count by definitely already applied updates. 2021-03-28 05:34:58 +03:00
levlam
f7e9da283d Expect that there can be no access to group call participant channels. 2021-03-28 01:59:17 +03:00
levlam
70b71d569b Use AccessRights::Know when edit channel participants. 2021-03-19 23:41:19 +03:00
levlam
2f2d2004e6 Create Dialog for recently speaking channels. 2021-03-19 04:28:00 +03:00
levlam
78f5b24f35 Synchronize group call participant_count with known number of participants. 2021-03-19 04:02:53 +03:00
levlam
cebcdbd88b Automatically call update_group_call_dialog in set_group_call_participant_count. 2021-03-19 03:30:39 +03:00
levlam
af7e26bc49 Try to process versioned updates with old version. 2021-03-19 02:51:50 +03:00
levlam
6656cd29f9 Add version to GroupCallParticipant. 2021-03-19 02:44:20 +03:00
levlam
b6f900b74f Process mute updates as soon as possible. 2021-03-19 02:25:54 +03:00
levlam
f670aeb2b3 Simplify mute_updates processing. 2021-03-19 02:20:22 +03:00
levlam
81f20ae4ec Ignore FLOOD_WAIT errors got getGroupCallStreamSegment. 2021-03-19 01:24:57 +03:00
levlam
a6337c2d37 Improve logging. 2021-03-19 00:41:35 +03:00
levlam
ea5a7bade7 Add set_group_call_participant_count method. 2021-03-19 00:18:55 +03:00
levlam
35250a91bd Keep active date while adjusting min-order. 2021-03-19 00:03:34 +03:00
levlam
504ecbeed7 Fix group call participant count by updates. 2021-03-18 23:31:49 +03:00
levlam
0a23e2bd7b Fix CHECK. 2021-03-18 22:55:15 +03:00
levlam
110a68c764 Try to get information about min-participants from server. 2021-03-18 22:36:59 +03:00
levlam
fee3ca166b Apply prepended my_participant. 2021-03-18 22:03:14 +03:00
levlam
25e5c0bac2 Combine versioned updates with the same version instead of replacing. 2021-03-18 03:21:43 +03:00
levlam
e072f2ffa2 Add struct PendingUpdates. 2021-03-18 03:12:52 +03:00
levlam
b833d23e41 Support ascending by joined_date sort of group call participants. 2021-03-18 02:36:31 +03:00
levlam
1139470bba Pass GroupCallParticipants to get_real_participant_order. 2021-03-17 19:56:00 +03:00
levlam
ccc9920399 Don't create Dialog for unknown min-participants. 2021-03-17 15:26:36 +03:00
levlam
ca6ece6707 Improve getGroupCallStreamSegment. 2021-03-17 14:30:51 +03:00
levlam
7e45fc3949 Add more close_flag checks. 2021-03-17 03:28:07 +03:00
levlam
2162fd6264 Postpone checkGroupCall after receiving a stream segment. 2021-03-17 03:16:34 +03:00
levlam
23b781834e Fix updating recent speakers in joined as chats voice chats. 2021-03-17 02:56:33 +03:00
levlam
93a2cf0556 Fix updating participant_id_to_group_call_id_. 2021-03-16 23:23:05 +03:00
levlam
2e447b3cea Don't process after_join requets if need rejoin. 2021-03-16 18:15:10 +03:00
levlam
c67a8cc5f9 Unify variable names and ensure that groupCallParticipant's chat is created. 2021-03-16 18:07:17 +03:00
levlam
582f033a09 Update limit for group call recording titlw length. 2021-03-16 17:20:53 +03:00
levlam
3bcf4bb61a Get group call from the server before first usage if appropriate. 2021-03-16 17:17:00 +03:00
levlam
eb7a1286ab Automatically update order of inactive group call participants. 2021-03-15 22:04:11 +03:00
levlam
24535d2aba Support different order of group call participants for administrators. 2021-03-15 19:32:33 +03:00
levlam
0a4f1c15b8 Ensure that group call participant is synchronized after explicit request. 2021-03-15 19:20:57 +03:00
levlam
b0aa14c031 Improve get_real_participant_order. 2021-03-15 18:58:31 +03:00
levlam
be68cda22f Add class GroupCallParticipantOrder. 2021-03-15 18:32:28 +03:00
levlam
ff3600b762 Sync group call participants after rights changed. 2021-03-15 17:48:18 +03:00
levlam
b9f7668b07 Allow to always get self group call participant by user_id. 2021-03-15 02:15:01 +03:00
levlam
42911b9122 Add source to process_group_call_after_join_requests. 2021-03-15 02:03:52 +03:00
levlam
e2ac80f2ba Add td_api::toggleGroupCallParticipantIsHandRaised. 2021-03-15 01:56:59 +03:00
levlam
a4431b2604 Don't allow to show as speaking muted by admin participants. 2021-03-14 04:33:51 +03:00
levlam
92b384f3f4 Update group call title length limit. 2021-03-13 02:49:40 +03:00
levlam
9ac71272a3 Support joining group call as a stream listener. 2021-03-12 20:11:44 +03:00
levlam
a833d5e292 Improve method name. 2021-03-12 19:31:52 +03:00
levlam
0ec4c2084e Add td_api::getGroupCallInviteLink. 2021-03-12 19:29:06 +03:00
levlam
73bed3ed80 Add resetGroupCallInviteHash method. 2021-03-12 18:58:43 +03:00
levlam
9bfd98c08d Add joinGroupCall.invite_hash. 2021-03-12 18:36:55 +03:00
levlam
0fb6c52cd4 Support toggling group call recording. 2021-03-11 22:19:19 +03:00
levlam
92218450c5 Add groupCall.record_duration. 2021-03-11 00:55:08 +03:00
levlam
a6544e3068 Use separate versions for different groupCall fields. 2021-03-10 23:43:21 +03:00
levlam
67889cdcbc Add td_api::getGroupCallStreamSegment. 2021-03-10 22:50:14 +03:00
levlam
cd2fbc19e6 Save group call's stream_dc_id. 2021-03-09 18:12:15 +03:00
levlam
62cfe3bdd9 Add td_api::getAvailableVoiceChatAliases. 2021-03-08 20:25:56 +03:00
levlam
574884510b Use MessageSender as participant_alias. 2021-03-08 18:08:41 +03:00
levlam
159c4f3f00 Remove race in default_join_as updating. 2021-03-08 15:27:47 +03:00
levlam
4eab57cd7b Add chat.default_join_voice_chat_as_chat_id. 2021-03-08 15:13:36 +03:00
levlam
f4ce6c9de9 Update bio of group call participants when it is changed. 2021-03-07 13:06:34 +03:00
levlam
caa1db85ab Prevent race in updating of joined voice chat. 2021-03-07 02:21:08 +03:00
levlam
dd4aac2f57 Init bio in fake updateGroupCallParticipant when joining call. 2021-03-07 01:54:45 +03:00
levlam
0615d1f61d Prevent voice chat data updating during join. 2021-03-07 01:06:51 +03:00
levlam
c611553ece Allow to join group call as a chat. 2021-03-06 23:21:22 +03:00
levlam
7a19e5dbe5 Support voice chat creation in channels. 2021-03-06 02:26:13 +03:00
levlam
3bac31cc16 Allow to edit chat group call participants. 2021-03-05 16:03:49 +03:00
levlam
a93189dade Support chats as group call participants. 2021-03-05 14:40:54 +03:00
levlam
af3070d572 Improve self-check. 2021-03-05 13:43:21 +03:00
levlam
e660e12a61 Pass Td to get_group_call_participant_object. 2021-03-05 12:50:39 +03:00
levlam
48eaccdf60 Add flag GroupCallParticipant.is_self. 2021-03-05 12:39:57 +03:00
levlam
13319350d3 Support zero audio_source. 2021-03-05 11:36:44 +03:00
levlam
882d837d24 Add td_api::setGroupCallTitle. 2021-03-02 19:44:57 +03:00
levlam
1f4e7aeb61 Add groupCall.title. 2021-03-02 18:00:54 +03:00
levlam
bcf3643cf7 Update layer to 125. 2021-03-02 17:27:44 +03:00
levlam
1d9b817c9f Remove updateGroupCall logging for bots. 2021-03-01 04:24:05 +03:00
levlam
37adbece28 Allow to join already joined group call. 2021-02-24 14:58:02 +03:00
levlam
bf42d62f1e Unify ResultHandler subclass names and logged name. 2021-02-08 15:56:08 +03:00
levlam
4b2db994d0 Postpone group call actions till join if possible. 2021-02-16 13:08:58 +03:00
levlam
d84aa0927f Don't add self-participant before join group call if don't have self-user info. 2021-02-15 23:16:39 +03:00
levlam
70ee36a493 Improve join_group_call. 2021-02-15 23:00:30 +03:00
levlam
f9ef4c0c36 Don't rejoin voice chats in left basic groups. 2021-02-15 19:27:45 +03:00
levlam
aa2f645d74 Simplify get_group_call_participant usage. 2021-02-15 18:18:34 +03:00
levlam
5f54e72444 Process toggleGroupCallMuteNewParticipants immediately and sync in background. 2021-02-15 18:12:50 +03:00
levlam
70b81f81d4 Drop pending groupCallParticipant fields in case of an error. 2021-02-15 16:06:07 +03:00
levlam
4f41d58c50 Don't treat GROUPCALL_NOT_MODIFIED as an error. 2021-02-15 15:37:36 +03:00
levlam
d519040cd9 Make flag in td_api::groupCall more useful. 2021-02-15 15:28:58 +03:00
levlam
3a657d9072 Fix need_rejoin. 2021-02-12 17:49:20 +03:00
levlam
f21e315456 Remove need_rejoin for inaccessible voice chats. 2021-02-12 16:48:14 +03:00
levlam
ba91f7f6ce Don't send speaking typings more often than once in 4 seconds. 2021-02-12 16:48:14 +03:00
levlam
18bbb47ecd Fix groupCall version updating and dropping. 2021-02-12 16:48:13 +03:00
levlam
ca64ad144a Immediately send updateGroupCallParticipant when is_muted changes. 2021-02-12 16:48:13 +03:00
levlam
631dde0939 Simpify handling of groupCallParticipant.is_muted flags. 2021-02-12 16:48:13 +03:00
levlam
1c52ee815e Improve groupCall.can_unmute_self synchronization. 2021-02-12 16:48:13 +03:00
levlam
e7a686cc96 Immediately change is_joined state to false after leaveGroupCall. 2021-02-12 16:48:13 +03:00
levlam
a80f99f5b8 Allow to leave being joined calls. 2021-02-12 16:48:13 +03:00
levlam
9554a42cd3 Add cancel_join_group_call_request function. 2021-02-12 16:48:13 +03:00
levlam
7ef5772861 Add self to group call participant list before actual join. 2021-02-12 16:48:13 +03:00
levlam
4a60fb10e8 Always update recent_speakers, because is_speaking could be changed. 2021-02-10 15:48:06 +03:00
levlam
f5b04a5701 Improve condition for updating self in a group call 2021-02-04 22:45:02 +03:00
levlam
23b8c9073b Always update self group call participant if audio_source changes. 2021-02-04 17:28:19 +03:00
levlam
8146ecf950 Don't expect local volume_level for admins. 2021-02-03 20:12:17 +03:00
levlam
be6793ec07 Always add self to group call participant list if absent. 2021-02-03 19:55:33 +03:00
levlam
9f2b41b9d1 Allow to call leaveGroupCall for calls with need_rejoin. 2021-02-03 19:05:46 +03:00
levlam
630f0fe6df Always show self in list of group call participants. 2021-02-03 18:58:06 +03:00
levlam
4371ed52af Don't drop group call participants while need to rejoin. 2021-02-03 17:55:08 +03:00
levlam
778a45029e Ignore min-updates about unknown group call participants. 2021-02-02 01:29:02 +03:00
levlam
c05ece2cb5 Add GroupCallParticipant::update_from method. 2021-02-02 01:06:49 +03:00
levlam
658db2defd Update volume_level locally immediately. 2021-02-02 00:40:40 +03:00
levlam
1f1d1b442b Fix updating of is_muted_only_for_self by min-updates. 2021-02-01 22:40:42 +03:00
levlam
dfdc08162e Fix updating of volume_level by min-updates. 2021-02-01 22:29:45 +03:00
levlam
a29f4b43d4 Load even known group call participant after receiving typing from them. 2021-02-01 03:03:17 +03:00
levlam
a6a6237a3f Split need_group_call_participants into two functions. 2021-01-30 23:52:16 +03:00
levlam
cd3abdbeb2 Move dialog participant methods from MessagesManager to ContactsManager. 2021-01-27 02:16:17 +03:00
levlam
70b4838a21 Rename source to audio_source. 2021-01-11 15:02:02 +03:00
levlam
6bba5a568a Add setGroupCallParticipantVolumeLevel. 2021-01-02 22:59:48 +03:00
levlam
7bf916f4f5 Support muting group call participants for self. 2020-12-31 02:48:45 +03:00
levlam
91e5b9e677 Update layer to 123. Rename Android Pay to Google Pay. 2020-12-29 16:43:58 +03:00
levlam
d25edad06d Rewrite searchChatMembers and getSupergroupMembers implementation. 2021-01-25 17:34:45 +03:00
levlam
ef160aa2c0 Add struct DialogParticipants. 2021-01-25 02:00:57 +03:00
levlam
52b7f8f118 Add DialogParticipantFilter logging. 2021-01-16 11:56:02 +03:00
levlam
27d3fdd09d Update group call join missing error message text. 2021-01-08 18:15:16 +03:00
levlam
db3875710b Show recently joined voice chat participants as recent speakers. 2021-01-05 22:48:10 +03:00
levlam
82f0386e73 Move some functions from misc.h to algorithm.h. 2021-01-01 16:01:03 +03:00
levlam
52c1da0a70 Update copyright year. 2021-01-01 15:57:46 +03:00
levlam
865009fffc Include improvements. 2021-01-01 01:52:01 +03:00
levlam
45149bb3cd Allow multiple updateGroupCall updates for just created calls. 2020-12-30 18:41:44 +03:00
levlam
2c8cfc561c Add is_speaking flag for recent speakers. 2020-12-28 14:19:29 +03:00
levlam
1f9d173afb Automatically check whether group call is still joined. 2020-12-28 00:30:27 +03:00
levlam
3589676550 Minor fixes. 2020-12-22 15:51:57 +03:00
levlam
7d73126506 Add success promise to on_get_updates. 2020-12-21 22:06:52 +03:00
levlam
956e70d841 Add groupCall.can_be_managed flag. 2020-12-21 13:47:19 +03:00
levlam
a640fb2fe0 Add to_string method for vector of TL objects. 2020-12-21 03:02:20 +03:00
levlam
c2ac73769f Fix self is_speaking flag. 2020-12-20 02:10:02 +03:00
levlam
3413e38a61 Fix can_be_muted flag. 2020-12-18 17:08:24 +03:00
levlam
8dd4fe3166 Separately apply versioned and unversioned group call updates. 2020-12-18 16:23:49 +03:00
levlam
f5a122c65d Allow zero source in setGroupCallParticipantIsSpeaking. 2020-12-17 23:12:44 +03:00
levlam
2a50685321 Add separate GroupCallManager::on_update_group_call_rights method. 2020-12-17 18:27:01 +03:00
levlam
e89d353b68 Add groupCall.need_rejoin flag. 2020-12-17 17:49:15 +03:00
levlam
c4d8f301a1 Add groupCallParticipant.can_be_muted/can_be_unmuted flags. 2020-12-17 02:07:05 +03:00