Commit Graph

344 Commits

Author SHA1 Message Date
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
levlam
bfcc7d17c4 Improve GroupCallParticipant updating. 2020-12-17 00:37:42 +03:00
levlam
4a3375e617 Various group call fixes. 2020-12-16 22:49:24 +03:00
levlam
6ebe28cdac Load group call administrators. 2020-12-16 20:30:52 +03:00
levlam
0d7c980f9d Fix nullptr dereference during logging. 2020-12-16 18:57:34 +03:00
levlam
ca242e754b Keep biggest update list for a given version instead of forced sync. 2020-12-16 18:40:51 +03:00
levlam
0e668726bc Update can_unmute_self only if the user is muted. 2020-12-16 18:09:32 +03:00
levlam
92327f1fe7 Ignore checkGroupCallIsJoined requests first 10 seconds. 2020-12-16 17:02:09 +03:00
levlam
d165a87b73 Reload group call if rights has changed. 2020-12-16 16:38:06 +03:00
levlam
3681da21d8 Automatically close unclosed contours. 2020-12-16 16:04:27 +03:00
levlam
7fc2e783ed Add groupCall.can_unmute_self. 2020-12-16 14:04:07 +03:00
levlam
f50971625f Fix version initialization. 2020-12-16 12:53:17 +03:00
levlam
babd4dc35d Add source to on_update_dialog_group_call. 2020-12-15 19:25:07 +03:00
levlam
62dc71cbc5 Add GroupCallManager::update_group_call_dialog method. 2020-12-15 19:20:03 +03:00
levlam
d022dfdb62 Add GroupCallManager::can_manage_group_calls method. 2020-12-15 18:21:02 +03:00
levlam
f95366a219 Leave group call when receive corresponding update. 2020-12-15 17:06:11 +03:00
levlam
25d1fde985 Add source to send_update_group_call. 2020-12-15 16:24:38 +03:00
levlam
0d76d53cd5 Process updateGroupCallParticipant even don't need participant list. 2020-12-15 16:06:21 +03:00
levlam
adca19d4da Fix group call version initialization. 2020-12-15 15:40:52 +03:00
levlam
ecc1669e5a Update recent speakers by received in getGroupCall participants. 2020-12-15 15:17:53 +03:00
levlam
1c02363418 Update recent speakers by updateGroupParticipants. 2020-12-15 14:54:47 +03:00
levlam
db99c9817d Fix group call updating after initialization. 2020-12-15 14:32:08 +03:00
levlam
b4e087a2f0 Remove users from recent speakers when they leave the call. 2020-12-15 14:04:06 +03:00
levlam
42f36d2d66 Improve loadGroupCallPartiicpants documentation. 2020-12-15 13:40:04 +03:00
levlam
c63da4b241 Add group call participants syncronization. 2020-12-15 12:41:26 +03:00
levlam
37a17476c7 Update is_speaking field for speaking group call participants. 2020-12-15 01:42:16 +03:00
levlam
96acefc6c6 Update layer 122. 2020-12-14 16:52:25 +03:00
levlam
6ca15f18c8 Move voice chat-related fields to Dialog. 2020-12-14 00:36:44 +03:00
levlam
00eed8928c Move voice chat creation to GroupCallManager. 2020-12-13 15:18:33 +03:00
levlam
6fdf68bad4 Store DialogId in information about group call. 2020-12-13 14:52:07 +03:00
levlam
b015ada0dc Resolve group call participant by source in set_group_call_participant_is_speaking. 2020-12-12 15:31:56 +03:00
levlam
84c143580b Process pending group call participant updates after version change. 2020-12-12 15:05:22 +03:00
levlam
ab73589165 Implement GroupCallManager::on_receive_group_call_version. 2020-12-12 14:47:56 +03:00
levlam
7398de2790 Apply group call participant updates in the correct order. 2020-12-12 14:10:37 +03:00
levlam
841ef6dc7f Simplify GroupCallManager::process_group_call_participants_from_updates. 2020-12-12 12:27:43 +03:00
levlam
7fc19c3733 Add groupCall.loaded_all_participants flag. 2020-12-12 01:00:00 +03:00
levlam
b78af33192 Update min_order after loaded group call participants. 2020-12-11 23:31:46 +03:00
levlam
d4f3d24142 Split GroupCallManager::process_group_call_participants function. 2020-12-11 23:04:49 +03:00
levlam
8c3120b5cc Process group call participants returned in getGroupCall. 2020-12-11 22:52:53 +03:00
levlam
4a0c42729b Add td_api::loadGroupCallParticipants. 2020-12-11 19:47:34 +03:00
levlam
76950e710f Support updateGroupCallParticipants updates. 2020-12-11 18:44:03 +03:00
levlam
1fb050a264 Add updateGroupCallParticipant. 2020-12-11 17:43:23 +03:00
levlam
6e3e129b13 Improve group call method and field names. 2020-12-08 18:01:06 +03:00
levlam
a426105129 Get speaking user from the server by source. 2020-12-07 02:56:13 +03:00
levlam
562742095d Recent speakers fixes. 2020-12-07 02:42:44 +03:00
levlam
8dff5ed65b Do not allow to join finished calls. 2020-12-07 00:59:53 +03:00
levlam
d4e6c3724d Do not allow to join already joined call. 2020-12-07 00:58:54 +03:00
levlam
6af2f71ddd Get unknown speaking users from the server by their user_id. 2020-12-07 00:38:23 +03:00
levlam
29e4265b37 Get and update recent speakers in a separate method. 2020-12-06 21:41:56 +03:00
levlam
1d60bf36e6 Add GroupCallManager::send_update_group_call. 2020-12-06 21:22:55 +03:00
levlam
b0806df48f Remove recent speakers by timeout. 2020-12-06 21:18:12 +03:00
levlam
da5132b688 Send recent speaker updates with delay. 2020-12-06 20:07:23 +03:00
levlam
82a2d9262c Add groupCall.is_joined flag. 2020-12-06 14:33:15 +03:00
levlam
91d4b57713 Add recent group call speakers. 2020-12-06 10:40:26 +03:00
levlam
f3c8ae83c5 Update channel when its group call is changed. 2020-12-05 21:28:57 +03:00
levlam
23f1927c07 Improve sending speaking in voice chat typings. 2020-12-04 17:06:37 +03:00
levlam
fc2215633b Do not create group calls for bots. 2020-12-04 12:44:09 +03:00
levlam
eb9abbb9ab Save voice chat channel_id. 2020-12-04 12:40:51 +03:00
levlam
49f7a56f11 Save joined group call synchronization source. 2020-12-04 01:56:27 +03:00
levlam
34e05375c1 Add GroupCallId class. 2020-12-03 19:52:50 +03:00
levlam
2da4316a06 Add td_api::getGroupCall. 2020-12-03 02:00:46 +03:00
levlam
eeee625803 Rename createVoiceChat method. 2020-12-03 01:08:20 +03:00
levlam
7f9681313a Update layer 122. 2020-11-29 15:41:03 +03:00
levlam
3e95f8d9cc Add toggleGroupCallMemberIsMuted method. 2020-11-27 17:40:29 +03:00
levlam
1aa5822bf8 Add checkGroupCall method. 2020-11-27 17:07:12 +03:00
levlam
daf93cd157 tg_cli: add as_group_call_id. 2020-11-27 15:31:00 +03:00
levlam
f10db772f5 Add inviteGroupCallMember method. 2020-11-27 15:22:19 +03:00
levlam
1eca39c4ee Add toggleGroupCallMuteNewMembers method. 2020-11-27 01:58:36 +03:00
levlam
54cfb02698 Add mute_new_members and allowed_change_mute_new_members flags to group call. 2020-11-27 01:40:48 +03:00
levlam
de6ac56cf2 Fix GroupCallManager destructor. 2020-11-26 18:02:18 +03:00
levlam
cbca6ca902 Cancel joinGroupCall net query. 2020-11-26 17:33:28 +03:00
levlam
162c06d00a Add joinGroupCall method. 2020-11-26 14:32:29 +03:00
levlam
32295e2b6e Add missing files. 2020-11-26 13:47:20 +03:00