Commit Graph

316 Commits

Author SHA1 Message Date
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
Andrea Cavalli 9a01a9da1d Merge commit 'e72c129f9ce3b7463c7a42406aab0d3ebffdc6be'
Conflicts:
	td/telegram/MessagesManager.cpp
2021-01-23 22:47:58 +01:00
levlam 52b7f8f118 Add DialogParticipantFilter logging. 2021-01-16 11:56:02 +03:00
Andrea Cavalli a84a9f472d Bugfixes 2021-01-12 17:12:29 +01:00
levlam daef481ac0 Add group video calls support. 2021-01-12 17:05:25 +03:00
Andrea Cavalli 26f02c04d4 Merge commit '27d3fdd09d90f6b77ecbcce50b1e86dc4b3dd366' 2021-01-12 01:37:30 +01:00
Andrea Cavalli a79f835de0 Add memory_cleanup on tear_down, and add more memory_cleanup. 2021-01-12 01:37:17 +01:00
levlam 70b4838a21 Rename source to audio_source. 2021-01-11 15:02:02 +03:00
levlam 27d3fdd09d Update group call join missing error message text. 2021-01-08 18:15:16 +03:00
Andrea Cavalli 2e5d5a81bc Merge commit '62c18729f1cf8c5f1b7dc6f0d37edbffd2bb78b5' 2021-01-07 19:38:10 +01:00
levlam db3875710b Show recently joined voice chat participants as recent speakers. 2021-01-05 22:48:10 +03:00
Andrea Cavalli 9e39ed51bd Fix #13 2021-01-05 17:30:22 +01:00
levlam 6bba5a568a Add setGroupCallParticipantVolumeLevel. 2021-01-02 22:59:48 +03:00
Andrea Cavalli 85fb357a19 Merge commit '82f0386e73b7128a8aafec5bfa7dd825fe94ac39'
Conflicts:
	td/telegram/MessagesManager.cpp
2021-01-02 12:57:08 +01: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 7bf916f4f5 Support muting group call participants for self. 2020-12-31 02:48:45 +03:00
levlam 45149bb3cd Allow multiple updateGroupCall updates for just created calls. 2020-12-30 18:41:44 +03:00
Andrea Cavalli ee8260fc2e Fix abort inside GroupCallManager 2020-12-30 02:19:30 +01: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
Andrea Cavalli 17e7e44f6e Merge commit '8139e0d560b25cd2827fb0473e5726319998c10f'
Conflicts:
	td/generate/scheme/td_api.tlo
	td/telegram/GroupCallManager.cpp
	td/telegram/MessagesManager.cpp
2020-12-28 19:09:04 +01:00
Andrea Cavalli 7ef40eea0c Group call patches
Add disable_group_calls boolean option
Add memory_cleanup and memory_stats to FileReferenceManager
Add memory_cleanup and memory_stats to GroupCallManager
2020-12-28 16:10:05 +01: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