Files
discord-decomp/sources/modules/calls/ChannelRTCStore.tsx
T
2026-07-28 01:06:53 +03:00

1063 lines
57 KiB
TypeScript

/* Metro module 4606; source: modules/calls/ChannelRTCStore.tsx; dependencies: [6, 7, 15, 17, 18, 57, 1378, 4295, 4492, 1226, 4258, 1379, 4396, 1934, 4607, 1878, 4609, 4297, 4299, 661, 3, 4610, 22, 44, 4619, 4285, 566, 694, 2] */
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import Module00022 from '../../by-id/module-00022.js'; /* Metro dependency 22 */
import Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */
import Flux from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */
import EmbeddedActivitiesStore from '../activities/EmbeddedActivitiesStore.tsx'; /* Metro dependency 1378 */
import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */
import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import SelectedChannelStore from '../../stores/SelectedChannelStore.tsx'; /* Metro dependency 1934 */
import CallStore from '../../stores/CallStore.tsx'; /* Metro dependency 4258 */
import GameConsoleStore from '../game_console/GameConsoleStore.tsx'; /* Metro dependency 4295 */
import VoiceStateStore from '../../stores/VoiceStateStore.tsx'; /* Metro dependency 4297 */
import PresenceStore from '../../stores/PresenceStore.tsx'; /* Metro dependency 4396 */
import ApplicationStreamingStore from '../../stores/ApplicationStreamingStore.tsx'; /* Metro dependency 4492 */
import SpeakingStore from '../../stores/SpeakingStore.tsx'; /* Metro dependency 4607 */
import VideoStreamStore from '../../stores/VideoStreamStore.tsx'; /* Metro dependency 4609 */
import GuildVoiceRingingExperiment from '../voice_calls/GuildVoiceRingingExperiment.tsx'; /* Metro dependency 4619 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as CallConstantsModule from './CallConstants.tsx'; /* Metro dependency 4299 */
import * as ChannelRTCParticipantsModule from './ChannelRTCParticipants.tsx'; /* Metro dependency 4610 */
function _fun39390(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#39390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6, offset: 0x010e1003, size: 1212 bytes, params: 8, frame: 27
const env0_0 = require;
const _arrayLikeToArray_39396 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const CONNECTION_OPEN_SUPPLEMENTAL_394112 = CONNECTION_OPEN_SUPPLEMENTAL_39411;
const handleEmbeddedActivityChange = function() {
return updateParticipants(_fun39414);
};
const closure2 = function({userId}) {
return updateParticipants(_fun39416);
};
const closure3 = function({user}) {
return updateParticipant(user.id);
};
const closure4 = function({channelId}) {
return updateParticipants(_fun39419, [channelId]);
};
const CHANNEL_DELETE_394202 = CHANNEL_DELETE_39420;
const closure6 = function({streamKey}) {
var value2 = require(dependencyMap[25]).decodeStreamKey(streamKey);
return updateParticipant(value2.ownerId, [value2.channelId]);
};
let Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = CallConstantsModule;
const env0_21 = value.ParticipantTypes;
const env0_22 = value.ParticipantSelectionTypes;
const env0_23 = value.isStreamParticipant;
value = require(661) /* metro dependency 661: Constants */;
const env0_24 = value.ChannelLayouts;
const env0_25 = value.ChannelModes;
const env0_26 = value.ChannelTypes;
const env0_27 = value.AppContext;
value = importDefault(3) /* metro dependency 3: Logger */;
value = new value('ChannelRTCStore');
value.enableNativeLogger(true);
Object = global.Object;
value = Object.freeze([]);
const env0_30 = [];
const env0_31 = {};
const env0_32 = {};
const env0_33 = {};
const env0_34 = {};
const env0_35 = {};
const env0_36 = {};
const env0_37 = {};
const env0_38 = {};
const env0_39 = {};
const env0_40 = {};
const PersistedStore = (Flux).PersistedStore;
let value3 = _fun39423(PersistedStore);
value3.displayName = 'ChannelRTCStore';
value3.persistKey = 'ChannelRTCStore';
const value6 = new value3(importDefault(694) /* metro dependency 694: Dispatcher */,
{CONNECTION_OPEN: CONNECTION_OPEN_39451, CONNECTION_OPEN_SUPPLEMENTAL: CONNECTION_OPEN_SUPPLEMENTAL_394112,
THREAD_LIST_SYNC: CONNECTION_OPEN_SUPPLEMENTAL_394112, OVERLAY_INITIALIZE: CONNECTION_OPEN_SUPPLEMENTAL_394112,
VOICE_CHANNEL_SELECT: VOICE_CHANNEL_SELECT_39452, CHANNEL_SELECT: CHANNEL_SELECT_39455,
CHANNEL_RTC_ACTIVE_CHANNELS: CONNECTION_OPEN_SUPPLEMENTAL_394112, VOICE_STATE_UPDATES: function({voiceStates,
initial}) {
return voiceStates.reduce(_fun39457, false);
}, CHANNEL_CREATE: CHANNEL_CREATE_39458, CHANNEL_DELETE: CHANNEL_DELETE_394202,
THREAD_DELETE: CHANNEL_DELETE_394202, CALL_CREATE: closure4, CALL_UPDATE: closure4,
CALL_DELETE: function({channelId}) {
clearChannel(channelId);
}, CHANNEL_RTC_SELECT_PARTICIPANT: CHANNEL_RTC_SELECT_PARTICIPANT_39460,
CHANNEL_RTC_POPOUT_PARTICIPANT: CHANNEL_RTC_POPOUT_PARTICIPANT,
CHANNEL_RTC_RETURN_PARTICIPANT: function({channelId, participantId}) {
var value2 = _getParticipants(channelId);
value2.updateParticipantPoppedOut(participantId, false);
var value3 = value2.getParticipant(participantId);
if (value3 != null && value3.type !== ParticipantTypes.ACTIVITY) {
updateParticipant(value3.user.id, [channelId]);
}
}, CHANNEL_RTC_UPDATE_LAYOUT: CHANNEL_RTC_UPDATE_LAYOUT,
CHANNEL_RTC_UPDATE_PARTICIPANTS_OPEN: CHANNEL_RTC_UPDATE_PARTICIPANTS_OPEN,
CHANNEL_RTC_UPDATE_VOICE_PARTICIPANTS_HIDDEN: CHANNEL_RTC_UPDATE_VOICE_PARTICIPANTS_HIDDEN,
CHANNEL_RTC_UPDATE_STAGE_STREAM_SIZE: CHANNEL_RTC_UPDATE_STAGE_STREAM_SIZE,
CHANNEL_RTC_UPDATE_STAGE_VIDEO_LIMIT_BOOST_UPSELL_DISMISSED: CHANNEL_RTC_UPDATE_STAGE_VIDEO_LIMIT_BOOST_UPSELL_DISMISSED,
STREAM_UPDATE_SELF_HIDDEN: STREAM_UPDATE_SELF_HIDDEN_39469,
CHANNEL_RTC_UPDATE_CHAT_OPEN: CHANNEL_RTC_UPDATE_CHAT_OPEN_39470, RTC_CONNECTION_VIDEO: function({channelId,
userId}) {
return updateParticipant(userId, [channelId]);
}, RTC_CONNECTION_PLATFORM: function({channelId, userId}) {
return updateParticipant(userId, [channelId]);
}, AUDIO_SET_LOCAL_VIDEO_DISABLED: function({userId}) {
return updateParticipant(userId);
}, MEDIA_ENGINE_VIDEO_SOURCE_QUALITY_CHANGED: function({channelId, senderUserId, maxResolution, maxFrameRate}) {
return updateParticipants(_fun39475, [channelId]);
}, STREAM_CLOSE: closure6, STREAM_DELETE: closure6, STREAM_WATCH: function({streamKey}) {
var value2 = require(dependencyMap[25]).decodeStreamKey(streamKey);
return updateParticipant(value2.ownerId, [value2.channelId]);
}, SPEAKING: closure2, GUILD_SOUNDBOARD_SOUND_PLAY_START: closure2, GUILD_SOUNDBOARD_SOUND_PLAY_END: closure2,
PUSH_TO_TALK_STATE_CHANGE: function() {
return updateParticipants(_fun39478);
}, GUILD_RING_START: GUILD_RING_START, GUILD_RING_STOP: GUILD_RING_STOP, USER_UPDATE: closure3,
GUILD_MEMBER_UPDATE: closure3, GUILD_DELETE: GUILD_DELETE_39485});
(FileImportTrackerModule).fileFinishedImporting('modules/calls/ChannelRTCStore.tsx');
exports.default = value6;
exports.NO_PARTICIPANTS = value;
function _isNativeReflectConstruct_39391() { // fn#39391, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:455, offset: 0x010e14bf, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_39391_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _createForOfIteratorHelperLoose_39394(a0, a1) { // fn#39394, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:648, offset: 0x010e151d, size: 370 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun39395;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_39396(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_39396(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_39396(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun39395;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
function _fun39395() { // fn#39395, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:1219, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
function _getParticipants(a0) { // fn#39397, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:1701, offset: 0x010e168f, size: 78 bytes, params: 2, frame: 14
var r0;
var value3;
const property = env0_31[a0];
if (property != null) {
r0 = property;
} else {
value3 = new (importDefault(4610) /* metro dependency 4610: ChannelRTCParticipants */)(a0);
env0_31[a0] = value3;
r0 = value3;
}
return r0;
}
function updateParticipants(a0) { // fn#39398, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:1787, offset: 0x010e16dd, size: 46 bytes, params: 2, frame: 13
const value = a1;
const env0_0 = a0;
return (value !== undefined ? value : env0_30).reduce(_fun39399, false);
function _fun39399(a0, a1) { // fn#39399, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:1839, offset: 0x010e170b, size: 214 bytes, params: 3, frame: 15
var r5;
var r0;
let value = a0;
if (env0_0(_getParticipants(a1))) {
value = _getParticipants(a1);
if (value.size() !== 0) {
r5 = isGuildVocalOrThread(a1) || hasVideo(value) ? ChannelModes.VIDEO : ChannelModes.VOICE;
if (r5 === ChannelModes.VOICE) {
r5 = env1_35[a1]?.[AppContext.APP];
delete env1_34[a1];
if (r5 !== ChannelLayouts.HAVEN) {
delete env1_35[a1];
}
} else {
env1_34[a1] = r5;
}
}
updateSelectedParticipantId(a1);
value = true;
r0 = value;
} else {
r0 = value;
}
return r0;
function updateSelectedParticipantId(a0) { // fn#39400, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:2134, offset: 0x010e17e1, size: 569 bytes, params: 2, frame: 24
var r6;
var r5;
var value10;
var participant;
const id = AuthenticationStore.getId();
const _getParticipantsBinding = _getParticipants;
const value3 = undefined;
const value4 = _getParticipantsBinding(a0);
if (value4.size() === 0) {
setSelectedParticipantId(a0, null);
} else {
var selectedChannelStoreBinding = SelectedChannelStore;
var getVoiceChannelId = selectedChannelStoreBinding.getVoiceChannelId;
if (Reflect.apply(getVoiceChannelId, selectedChannelStoreBinding, []) !== a0) {
setSelectedParticipantId(a0, null);
return value3;
}
ParticipantSelectionTypes.NONE;
var toArray = value4.toArray;
var ChannelRTCParticipantsIndexes = (require(4610) /* metro dependency 4610: ChannelRTCParticipants */).ChannelRTCParticipantsIndexes;
var STREAM = ChannelRTCParticipantsIndexes.STREAM;
var value7 = Reflect.apply(toArray, value4, [STREAM]).find(_fun39401);
if (value7 != null) {
(importDefault(44) /* metro dependency 44 */)(value7.type === ParticipantTypes.STREAM,
'Impossible condition');
r5 = value7.id;
} else if (value4.size() === 1) {
r5 = id;
} else if (value4.size(ChannelRTCParticipantsIndexes.VIDEO) === 1) {
r5 = env2_8(value4.toArray(ChannelRTCParticipantsIndexes.VIDEO), 1)[0].id;
} else {
value10 = value4.toArray().find(_fun39402);
r5 = (value10 == null ? value3 : value10.id) ?? id;
}
var property = env2_8(_getSelectedParticipantId(a0), 1)[0];
var AUTO = ParticipantSelectionTypes.AUTO;
if (property === AUTO) {
r6 = property;
} else if (property === ParticipantSelectionTypes.NONE) {
r6 = property;
} else {
participant = value4.getParticipant(property);
r6 = participant == null || participant.type === ParticipantTypes.STREAM && ApplicationStreamingStore.getActiveStreamForStreamKey(participant.id) == null ? ParticipantSelectionTypes.NONE : property;
}
setSelectedParticipantId(a0, [r6, r5]);
}
return value3;
function _fun39401(a0) { // fn#39401, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:2379, offset: 0x010e1a1a, size: 50 bytes, params: 2, frame: 12
const type = a0.type;
const value = environment.__proto__.__proto__.__proto__;
const STREAM = ParticipantTypes.STREAM;
return type === STREAM && ApplicationStreamingStore.getActiveStreamForStreamKey(a0.id);
}
function _fun39402(a0) { // fn#39402, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:2709, offset: 0x010e1a4c, size: 58 bytes, params: 2, frame: 4
const type = a0.type;
const value = environment.__proto__.__proto__.__proto__;
const USER = ParticipantTypes.USER;
return type === USER && a0.id !== env0_0 && !a0.ringing;
}
}
}
}
function updateParticipant(a0) { // fn#39403, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3022, offset: 0x010e1a86, size: 45 bytes, params: 2, frame: 13
const value = a1;
const env0_0 = a0;
return updateParticipants(_fun39404, value !== undefined ? value : env0_30);
function _fun39404(a0) { // fn#39404, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3083, offset: 0x010e1ab3, size: 23 bytes, params: 2, frame: 11
return a0.updateParticipant(env0_0);
}
}
function _getSelectedParticipantId(a0) { // fn#39405, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3113, offset: 0x010e1aca, size: 85 bytes, params: 2, frame: 13
var r0;
var items2;
const channel = ChannelStore.getChannel(a0);
if (channel != null) {
channel.isDM();
}
let NONE = ParticipantSelectionTypes.NONE;
const property = env0_32[a0];
if (property != null) {
r0 = property;
} else {
items2 = [NONE];
NONE = ParticipantSelectionTypes.NONE;
items2[1] = NONE;
r0 = items2;
}
return r0;
}
function getHasSelectedParticipant(a0) { // fn#39406, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3239, offset: 0x010e1b1f, size: 68 bytes, params: 2, frame: 15
return env0_32[a0] != null && Module00057(env0_32[a0], 1)[0] !== ParticipantSelectionTypes.NONE;
}
function updateElapsedSelectedParticipantStats(a0) { // fn#39407, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3318, offset: 0x010e1b63, size: 131 bytes, params: 2, frame: 14
if (env0_33[a0] == null) {
env0_33[a0] = {'gridDurationMs': 0, 'focusDurationMs': 0, 'toggleCount': 0, 'lastUpdate': 0};
}
const property = env0_33[a0];
const value2 = global.performance.now();
if (property.lastUpdate > 0) {
property[getHasSelectedParticipant(a0) ? 'focusDurationMs' : 'gridDurationMs'] += value2 - property.lastUpdate;
}
property.lastUpdate = value2;
}
function setSelectedParticipantId(a0, a1) { // fn#39408, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3611, offset: 0x010e1be6, size: 91 bytes, params: 3, frame: 14
var property;
var toggleCount;
updateElapsedSelectedParticipantStats(a0);
const hasSelectedParticipant = getHasSelectedParticipant(a0);
if (a1 == null) {
delete env0_32[a0];
} else {
env0_32[a0] = a1;
}
if (hasSelectedParticipant !== getHasSelectedParticipant(a0)) {
property = env0_33[a0];
toggleCount = property.toggleCount;
property.toggleCount = typeof toggleCount === 'bigint' ? toggleCount + 1n : +toggleCount + 1;
}
}
function hasVideo(a0) { // fn#39409, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3806, offset: 0x010e1c41, size: 119 bytes, params: 2, frame: 16
const size = a0.size;
const ChannelRTCParticipantsIndexes = (ChannelRTCParticipantsModule).ChannelRTCParticipantsIndexes;
const STREAM = ChannelRTCParticipantsIndexes.STREAM;
let r0 = Reflect.apply(size, a0, [STREAM]) > 0 || a0.size(ChannelRTCParticipantsIndexes.VIDEO) > 0;
r0 = !r0 ? a0.hasEmbeddedActivity() : r0;
return r0;
}
function clearChannel(a0) { // fn#39410, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:3973, offset: 0x010e1cb8, size: 42 bytes, params: 2, frame: 3
delete env0_31[a0];
delete env0_32[a0];
delete env0_34[a0];
delete env0_35[a0];
}
function CHANNEL_RTC_ACTIVE_CHANNELS() { // fn#39411, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4046, offset: 0x010e1ce2, size: 267 bytes, params: 1, frame: 19
const updateParticipantsBinding = updateParticipants;
const items2 = [];
const channelId = SelectedChannelStore.getChannelId();
if (channelId != null) {
items2.push(channelId);
}
const voiceChannelId = SelectedChannelStore.getVoiceChannelId();
if (!(voiceChannelId == null || items2.includes(voiceChannelId))) {
items2.push(voiceChannelId);
}
const remoteSessionId = GameConsoleStore.getRemoteSessionId();
const voiceStateStoreBinding = VoiceStateStore;
const getVoiceStateForSession = voiceStateStoreBinding.getVoiceStateForSession;
const authenticationStoreBinding = AuthenticationStore;
const getId = authenticationStoreBinding.getId;
const value7 = Reflect.apply(getVoiceStateForSession, voiceStateStoreBinding, [Reflect.apply(getId,
authenticationStoreBinding, []), remoteSessionId]);
const value8 = undefined;
if ((value7 == null ? value8 : value7.channelId) != null) {
items2.push(value7 == null ? value8 : value7.channelId);
}
const value9 = (importDefault(22) /* metro dependency 22 */).difference(env0_30, items2);
value9.forEach(clearChannel);
return updateParticipantsBinding(function(a0) {
return a0.rebuild();
}, (importDefault(22) /* metro dependency 22 */).difference(items2, env0_30));
}
function handleEmbeddedActivityChange() { // fn#39413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4508, offset: 0x010e1dfc, size: 23 bytes, params: 1, frame: 11
return updateParticipants(function(a0) {
return a0.updateEmbeddedActivities();
});
}
function GUILD_SOUNDBOARD_SOUND_PLAY_END({userId}) { // fn#39415, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4609, offset: 0x010e1e22, size: 35 bytes, params: 2, frame: 11
return updateParticipants(function(a0) {
return a0.updateParticipantSpeaking(userId);
});
function _fun39416(a0) { // fn#39416, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4672, offset: 0x010e1e45, size: 23 bytes, params: 2, frame: 11
return a0.updateParticipantSpeaking(userId);
}
}
function CALL_CREATE_39418({channelId}) { // fn#39418, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4775, offset: 0x010e1e79, size: 40 bytes, params: 2, frame: 13
return updateParticipants(function(a0) {
return a0.rebuild();
}, [channelId]);
}
function CHANNEL_DELETE_39420({channel}) { // fn#39420, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4864, offset: 0x010e1ea1, size: 45 bytes, params: 2, frame: 11
const id = channel.id;
delete env0_38[id];
delete env0_39[id];
clearChannel(id);
}
function isGuildVocalOrThread(a0) { // fn#39422, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:5089, offset: 0x010e1f1a, size: 58 bytes, params: 2, frame: 13
var r0;
const Boolean = global.Boolean;
let value = ChannelStore.getChannel(a0);
if (value == null) {
r0 = undefined;
} else {
value = value.isGuildVocalOrThread();
r0 = value;
}
return Boolean(r0);
}
function _fun39423(a0) { // fn#39423, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:5208, offset: 0x010e1f54, size: 638 bytes, params: 2, frame: 16
const ChannelRTCStore2 = ChannelRTCStore;
Inherits(ChannelRTCStore2, a0);
return CreateClass(ChannelRTCStore2, [{key: 'initialize', value: value_39425}, {key: 'getState', value: value_39426},
{key: 'getParticipantsVersion', value: function(a0) {
return _getParticipants(a0).version;
}}, {key: 'getParticipants', value: value_39428}, {key: 'getSpeakingParticipants', value: value_39429},
{key: 'getFilteredParticipants', value: value_39430}, {key: 'getVideoParticipants', value: value_39431},
{key: 'getStreamParticipants', value: value_39432}, {key: 'getActivityParticipants', value: value_39433},
{key: 'getParticipant', value: value_39434}, {key: 'getUserParticipantCount', value: value_39435},
{key: 'getParticipantsOpen', value: value_39436}, {key: 'getVoiceParticipantsHidden', value: value_39437},
{key: 'getSelectedParticipantId', value: value_39438}, {key: 'getSelectedParticipant', value: value_39439},
{key: 'getSelectedParticipantStats', value: value_39440}, {key: 'getGuildRingingUsers', value: function(a0) {
return _getParticipants(a0).guildRingingUsers;
}}, {key: 'getMode', value: value_39442}, {key: 'getLayout', value: value_39443}, {key: 'getChatOpen',
value: value_39444}, {key: 'getAllChatOpen', value: value_39445}, {key: 'isFullscreenInContext',
value: value_39446}, {key: 'getStageStreamSize', value: value_39448},
{key: 'getStageVideoLimitBoostUpsellDismissed', value: value_39449}, {key: 'isParticipantPoppedOut',
value: function(a0, a1) {
var value = this.getParticipant(a0, a1);
return value != null && ('isPoppedOut' in value && value.isPoppedOut);
}}]);
function ChannelRTCStore() { // fn#39424, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:5220, offset: 0x010e21d2, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_3(this, ChannelRTCStore);
const value3 = env1_6(ChannelRTCStore);
return env1_5(this, _isNativeReflectConstruct_39391() ? global.Reflect.construct(value3, arguments,
env1_6(this).constructor) : value3.apply(this, arguments));
}
function value_39425(a0) { // fn#39425, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:5513, offset: 0x010e2243, size: 188 bytes, params: 2, frame: 35
var Object;
const waitFor = this.waitFor;
const applicationStreamingStoreBinding = ApplicationStreamingStore;
const authenticationStoreBinding = AuthenticationStore;
const callStoreBinding = CallStore;
const channelStoreBinding = ChannelStore;
const embeddedActivitiesStoreBinding = EmbeddedActivitiesStore;
Reflect.apply(waitFor, this, [applicationStreamingStoreBinding, authenticationStoreBinding, callStoreBinding,
channelStoreBinding, embeddedActivitiesStoreBinding, GameConsoleStore, PresenceStore, SelectedChannelStore,
SpeakingStore, UserStore, VideoStreamStore, VoiceStateStore]);
this.syncWith([embeddedActivitiesStoreBinding], handleEmbeddedActivityChange);
this.syncWith([GameConsoleStore], CONNECTION_OPEN_SUPPLEMENTAL_39411);
const value2 = undefined;
if (value2 !== (a0 == null ? value2 : a0.voiceParticipantsHidden)) {
Object = global.Object;
Object.assign(env1_37, a0 == null ? value2 : a0.voiceParticipantsHidden);
}
return value2;
}
function value_39426() { // fn#39426, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:5793, offset: 0x010e22ff, size: 16 bytes, params: 1, frame: 2
return {voiceParticipantsHidden: env1_37};
}
function value_39428(a0) { // fn#39428, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:5954, offset: 0x010e2328, size: 39 bytes, params: 2, frame: 12
return _getParticipants(a0).toArray() ?? env1_29;
}
function value_39429(a0) { // fn#39429, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6062, offset: 0x010e234f, size: 72 bytes, params: 2, frame: 15
const value2 = _getParticipants(a0);
const toArray = value2.toArray;
const ChannelRTCParticipantsIndexes = (ChannelRTCParticipantsModule).ChannelRTCParticipantsIndexes;
const SPEAKING = ChannelRTCParticipantsIndexes.SPEAKING;
return Reflect.apply(toArray, value2, [SPEAKING]) ?? env1_29;
}
function value_39430(a0) { // fn#39430, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6218, offset: 0x010e2397, size: 124 bytes, params: 2, frame: 15
const ChannelRTCParticipantsIndexes = (ChannelRTCParticipantsModule).ChannelRTCParticipantsIndexes;
const value = environment.__proto__;
const value2 = _getParticipants(a0);
const property = env1_37[a0];
return property == null ? value2.toArray(ChannelRTCParticipantsIndexes.NOT_POPPED_OUT) : property ? value2.toArray(ChannelRTCParticipantsIndexes.FILTERED) : value2.toArray(ChannelRTCParticipantsIndexes.NOT_POPPED_OUT);
}
function value_39431(a0) { // fn#39431, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6445, offset: 0x010e2413, size: 72 bytes, params: 2, frame: 15
const value2 = _getParticipants(a0);
const toArray = value2.toArray;
const ChannelRTCParticipantsIndexes = (ChannelRTCParticipantsModule).ChannelRTCParticipantsIndexes;
const VIDEO = ChannelRTCParticipantsIndexes.VIDEO;
return Reflect.apply(toArray, value2, [VIDEO]) ?? env1_29;
}
function value_39432(a0) { // fn#39432, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6596, offset: 0x010e245b, size: 72 bytes, params: 2, frame: 15
const value2 = _getParticipants(a0);
const toArray = value2.toArray;
const ChannelRTCParticipantsIndexes = (ChannelRTCParticipantsModule).ChannelRTCParticipantsIndexes;
const STREAM = ChannelRTCParticipantsIndexes.STREAM;
return Reflect.apply(toArray, value2, [STREAM]) ?? env1_29;
}
function value_39433(a0) { // fn#39433, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6750, offset: 0x010e24a3, size: 72 bytes, params: 2, frame: 15
const value2 = _getParticipants(a0);
const toArray = value2.toArray;
const ChannelRTCParticipantsIndexes = (ChannelRTCParticipantsModule).ChannelRTCParticipantsIndexes;
const ACTIVITY = ChannelRTCParticipantsIndexes.ACTIVITY;
return Reflect.apply(toArray, value2, [ACTIVITY]) ?? env1_29;
}
function value_39434(a0, a1) { // fn#39434, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6897, offset: 0x010e24eb, size: 33 bytes, params: 3, frame: 11
const value = environment.__proto__;
return _getParticipants(a0).getParticipant(a1);
}
function value_39435(a0) { // fn#39435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:6995, offset: 0x010e250c, size: 109 bytes, params: 2, frame: 16
let value = environment.__proto__;
const value2 = _getParticipants(a0);
let size = value2.size;
const value3 = Reflect.apply(size, value2, []);
size = value2.size;
const ChannelRTCParticipantsIndexes = (ChannelRTCParticipantsModule).ChannelRTCParticipantsIndexes;
const STREAM = ChannelRTCParticipantsIndexes.STREAM;
value = value3 - Reflect.apply(size, value2, [STREAM]);
size = value2.size;
const ACTIVITY = ChannelRTCParticipantsIndexes.ACTIVITY;
return value - Reflect.apply(size, value2, [ACTIVITY]);
}
function value_39436(a0) { // fn#39436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:7196, offset: 0x010e2579, size: 28 bytes, params: 2, frame: 3
const value = environment.__proto__;
const property = env1_36[a0];
return property == null || property;
}
function value_39437(a0) { // fn#39437, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:7281, offset: 0x010e2595, size: 28 bytes, params: 2, frame: 3
const value = environment.__proto__;
const property = env1_37[a0];
return property != null && property;
}
function value_39438(a0) { // fn#39438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:7364, offset: 0x010e25b1, size: 116 bytes, params: 2, frame: 16
const value3 = env1_8(_getSelectedParticipantId(a0), 2);
const property = value3[0];
const property2 = value3[1];
const NONE = ParticipantSelectionTypes.NONE;
const value4 = null;
return property === NONE ? value4 : property !== ParticipantSelectionTypes.AUTO ? property : property2 === ParticipantSelectionTypes.NONE || property2 === ParticipantSelectionTypes.AUTO ? value4 : property2;
}
function value_39439(a0) { // fn#39439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:7538, offset: 0x010e2625, size: 53 bytes, params: 2, frame: 13
var r0;
var value3;
let value = this.getSelectedParticipantId(a0);
const value2 = null;
if (value2 == value) {
r0 = value2;
} else {
value3 = environment.__proto__;
value = _getParticipants(a0).getParticipant(value);
r0 = value;
}
return r0;
}
function value_39440(a0) { // fn#39440, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:7690, offset: 0x010e265a, size: 103 bytes, params: 2, frame: 14
var r0;
var object;
var Math;
const property = env1_33[a0];
if (property == null) {
r0 = {};
} else {
object = {};
Math = global.Math;
object.view_mode_grid_duration_ms = Math.floor(property.gridDurationMs);
Math = global.Math;
object.view_mode_focus_duration_ms = Math.floor(property.focusDurationMs);
object.view_mode_toggle_count = property.toggleCount;
r0 = object;
}
return r0;
}
function value_39442(a0) { // fn#39442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8000, offset: 0x010e26da, size: 57 bytes, params: 2, frame: 13
return env1_34[a0] ?? (isGuildVocalOrThread(a0) ? ChannelModes.VIDEO : ChannelModes.VOICE);
}
function value_39443(a0) { // fn#39443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8107, offset: 0x010e2713, size: 37 bytes, params: 2, frame: 2
var value;
if (a1 === undefined) {
value = environment.__proto__;
AppContext.APP;
}
return ChannelLayouts.NORMAL;
}
function value_39444(a0) { // fn#39444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8170, offset: 0x010e2738, size: 28 bytes, params: 2, frame: 3
const value = environment.__proto__;
const property = env1_38[a0];
return property != null && property;
}
function value_39445() { // fn#39445, offset: 0x010e2754, size: 9 bytes, params: 1, frame: 1
return env1_38;
}
function value_39446() { // fn#39446, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8300, offset: 0x010e275d, size: 71 bytes, params: 1, frame: 12
var environment;
let value = a0;
const env0_0 = value !== undefined ? value : AppContext.APP;
const Object = global.Object;
const values = Object.values;
value = environment.__proto__;
return Reflect.apply(values, Object, [env1_35]).some(_fun39447);
function _fun39447(a0) { // fn#39447, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8348, offset: 0x010e27a4, size: 33 bytes, params: 2, frame: 2
const property = a0[env0_0];
const FULL_SCREEN = ChannelLayouts.FULL_SCREEN;
return property === FULL_SCREEN;
}
}
function value_39448(a0) { // fn#39448, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8408, offset: 0x010e27c5, size: 16 bytes, params: 2, frame: 2
return env1_39[a0];
}
function value_39449(a0) { // fn#39449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8486, offset: 0x010e27d5, size: 16 bytes, params: 2, frame: 2
return env1_40[a0];
}
}
function CONNECTION_OPEN_39451() { // fn#39451, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:8775, offset: 0x010e2819, size: 69 bytes, params: 1, frame: 14
var r3;
var clearChannelBinding;
var value4;
var value5;
const value2 = _createForOfIteratorHelperLoose_39394(env0_30);
const value3 = value2();
let done = value3.done;
if (!done) {
for (r3 = value3; true; r3 = value5) {
clearChannelBinding = clearChannel;
value4 = r3.value;
clearChannelBinding(value4);
value5 = value2();
done = value5.done;
if (done) {
break;
}
}
}
CONNECTION_OPEN_SUPPLEMENTAL_39411();
}
function VOICE_CHANNEL_SELECT_39452({channelId, currentVoiceChannelId}) { // fn#39452, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:9093, offset: 0x010e285e, size: 167 bytes, params: 2, frame: 17
var r0;
if (channelId != null) {
delete env0_33[channelId];
} else if (currentVoiceChannelId != null) {
delete env0_38[currentVoiceChannelId];
delete env0_39[currentVoiceChannelId];
updateElapsedSelectedParticipantStats(currentVoiceChannelId);
}
const value = false;
if (channelId === currentVoiceChannelId) {
r0 = value;
} else if (currentVoiceChannelId != null) {
_getParticipants(currentVoiceChannelId).guildRingingUsers.forEach(_fun39453);
r0 = updateParticipants(function(a0) {
return a0.rebuild();
}, [currentVoiceChannelId]);
} else {
r0 = value;
}
r0 = !r0 ? CONNECTION_OPEN_SUPPLEMENTAL_39411() : r0;
return r0;
function _fun39453(a0) { // fn#39453, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:9345, offset: 0x010e2905, size: 26 bytes, params: 2, frame: 13
return env0_0.updateGuildRingingUsers(a0, false);
}
}
function CHANNEL_SELECT_39455({channelId, messageId}) { // fn#39455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:9489, offset: 0x010e291f, size: 107 bytes, params: 2, frame: 14
var r2;
var r1;
var value;
const value2 = CONNECTION_OPEN_SUPPLEMENTAL_39411();
if (channelId == null) {
return value2;
}
if (messageId == null) {
return value2;
}
if (env0_38[channelId]) {
return value2;
}
const channel = ChannelStore.getChannel(channelId);
if (channel == null) {
r1 = value2;
} else {
if (channel.isGuildVocal()) {
value = true;
env0_38[channelId] = value;
r2 = value;
} else {
r2 = value2;
}
r1 = r2;
}
return r1;
}
function VOICE_STATE_UPDATES_39456({voiceStates, initial}) { // fn#39456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:9786, offset: 0x010e298a, size: 42 bytes, params: 2, frame: 13
return voiceStates.reduce(_fun39457, false);
function _fun39457(a0, {userId, channelId, guildId}) { // fn#39457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:9863, offset: 0x010e29b4, size: 190 bytes, params: 3, frame: 21
var value4;
var defaultImport;
const value = a0;
if (guildId != null && channelId != null) {
value4 = environment.__proto__;
defaultImport = importDefault(4619) /* metro dependency 4619: GuildVoiceRingingExperiment */;
if (defaultImport.getCurrentConfig({guildId: guildId, location: 'voice_status_update'},
{autoTrackExposure: false}).enabled) {
_getParticipants(channelId).updateGuildRingingUsers(userId, false);
}
}
return initial ? channelId == null || env1_30.includes(channelId) ? updateParticipant(userId) || value : value : updateParticipant(userId) || value;
}
}
function CHANNEL_CREATE_39458({channel}) { // fn#39458, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:10156, offset: 0x010e2a72, size: 125 bytes, params: 2, frame: 9
var r3;
var binding;
var id;
var APP;
const type = channel.type;
const GROUP_DM = ChannelTypes.GROUP_DM;
if (type === GROUP_DM) {
var originChannelId = channel.originChannelId;
if (originChannelId != null) {
binding = env0_35;
id = channel.id;
APP = AppContext.APP;
r3 = env0_35[originChannelId]?.[AppContext.APP];
r3 = r3 ?? ChannelLayouts.NORMAL;
binding[id] = {[APP]: r3};
return true;
}
}
return false;
}
function CHANNEL_RTC_SELECT_PARTICIPANT_39460({channelId, id}) { // fn#39460, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:10586, offset: 0x010e2b07, size: 384 bytes, params: 2, frame: 22
var moduleValue2;
var value6;
var ownerId;
var id2;
var value8;
var error;
var binding;
const value2 = _getParticipants(channelId);
if (id == null) {
value2.toArray(require(dependencyMap[21]).ChannelRTCParticipantsIndexes.STREAM).forEach(_fun39461);
}
let property = Module00057(_getSelectedParticipantId(channelId), 2)[1];
setSelectedParticipantId(channelId, [id ?? ParticipantSelectionTypes.NONE, property]);
const moduleValue = require(dependencyMap[25]);
if (moduleValue.isStreamKey(id)) {
try {
property = dependencyMap[25];
moduleValue2 = require(property);
value6 = moduleValue2.decodeStreamKey(id);
ownerId = value6.ownerId;
id2 = AuthenticationStore.getId();
value8 = ownerId !== id2;
if (!value8) {
updateParticipant(ownerId, [channelId]);
}
} catch (error) {
binding = env0_28;
binding.warn('INVALID STREAM KEY FORMAT ' + id, error);
}
if (!hasVideo(value2)) {
env0_36[channelId] = false;
}
}
function _fun39461(a0) { // fn#39461, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:10741, offset: 0x010e2c87, size: 50 bytes, params: 2, frame: 12
var binding;
if (isStreamParticipant(a0)) {
binding = env0_0;
binding.updateParticipant(a0.user.id);
}
}
}
function CHANNEL_RTC_POPOUT_PARTICIPANT({channelId, participantId}) { // fn#39462, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:11105, offset: 0x010e2cb9, size: 158 bytes, params: 2, frame: 18
if (Module00057(_getSelectedParticipantId(channelId), 1)[0] === participantId) {
setSelectedParticipantId(channelId, null);
}
const value4 = _getParticipants(channelId);
const participant = value4.getParticipant(participantId);
if (participant != null && participant.type !== ParticipantTypes.ACTIVITY) {
value4.updateParticipantPoppedOut(participantId, true);
updateParticipant(participant.user.id, [channelId]);
}
}
function CHANNEL_RTC_UPDATE_LAYOUT({channelId, layout, appContext}) { // fn#39464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:11673, offset: 0x010e2dc9, size: 53 bytes, params: 2, frame: 15
const binding = env0_35;
const object = {};
copyDataProperties(object, binding[channelId], undefined);
object[appContext] = layout;
binding[channelId] = object;
}
function CHANNEL_RTC_UPDATE_PARTICIPANTS_OPEN({channelId, participantsOpen}) { // fn#39465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:11795, offset: 0x010e2dfe, size: 29 bytes, params: 2, frame: 3
env0_36[channelId] = participantsOpen;
}
function CHANNEL_RTC_UPDATE_VOICE_PARTICIPANTS_HIDDEN({channelId, voiceParticipantsHidden}) { // fn#39466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:11920, offset: 0x010e2e1b, size: 29 bytes, params: 2, frame: 3
env0_37[channelId] = voiceParticipantsHidden;
}
function CHANNEL_RTC_UPDATE_STAGE_STREAM_SIZE({channelId, large}) { // fn#39467, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:12051, offset: 0x010e2e38, size: 29 bytes, params: 2, frame: 3
env0_39[channelId] = large;
}
function CHANNEL_RTC_UPDATE_STAGE_VIDEO_LIMIT_BOOST_UPSELL_DISMISSED({channelId, dismissed}) { // fn#39468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:12179, offset: 0x010e2e55, size: 29 bytes, params: 2, frame: 3
env0_40[channelId] = dismissed;
}
function STREAM_UPDATE_SELF_HIDDEN_39469({channelId, selfStreamHidden}) { // fn#39469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:12297, offset: 0x010e2e72, size: 145 bytes, params: 2, frame: 17
var property;
const id = AuthenticationStore.getId();
if (selfStreamHidden) {
property = Module00057(_getSelectedParticipantId(channelId), 1)[0];
if ((require(4285) /* metro dependency 4285: StreamKeyUtils */).isStreamKey(property) && property.includes(id)) {
setSelectedParticipantId(channelId, null);
}
}
updateParticipant(id, [channelId]);
}
function CHANNEL_RTC_UPDATE_CHAT_OPEN_39470({channelId, chatOpen}) { // fn#39470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:12567, offset: 0x010e2f03, size: 29 bytes, params: 2, frame: 3
env0_38[channelId] = chatOpen;
}
function MEDIA_ENGINE_VIDEO_SOURCE_QUALITY_CHANGED({channelId, senderUserId, maxResolution, maxFrameRate}) { // fn#39474, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:13023, offset: 0x010e2f5e, size: 70 bytes, params: 2, frame: 13
return updateParticipants(function(a0) {
return a0.updateParticipantQuality(senderUserId, maxResolution, maxFrameRate);
}, [channelId]);
function _fun39475(a0) { // fn#39475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:13145, offset: 0x010e2fa4, size: 35 bytes, params: 2, frame: 15
return a0.updateParticipantQuality(senderUserId, maxResolution, maxFrameRate);
}
}
function PUSH_TO_TALK_STATE_CHANGE() { // fn#39477, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:13543, offset: 0x010e2fc7, size: 23 bytes, params: 1, frame: 11
return updateParticipants(function(a0) {
return a0.updateParticipantSpeaking(AuthenticationStore.getId());
});
function _fun39478(a0) { // fn#39478, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:13609, offset: 0x010e2fde, size: 33 bytes, params: 2, frame: 12
const updateParticipantSpeaking = a0.updateParticipantSpeaking;
const authenticationStoreBinding = AuthenticationStore;
const getId = authenticationStoreBinding.getId;
return Reflect.apply(updateParticipantSpeaking, a0, [Reflect.apply(getId, authenticationStoreBinding, [])]);
}
}
function GUILD_RING_START({channelId, guildId, ongoingRings}) { // fn#39479, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:13671, offset: 0x010e2fff, size: 160 bytes, params: 2, frame: 18
var env0_0;
const defaultImport = GuildVoiceRingingExperiment;
const getCurrentConfig = defaultImport.getCurrentConfig;
if (Reflect.apply(getCurrentConfig, defaultImport, [{guildId: guildId, location: 'guild_ring_start'}]).enabled) {
env0_0 = _getParticipants(channelId);
global.Object.keys(ongoingRings).forEach(_fun39480);
return updateParticipants(function(a0) {
return a0.rebuild();
}, [channelId]);
}
return false;
function _fun39480(a0) { // fn#39480, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:13886, offset: 0x010e309f, size: 26 bytes, params: 2, frame: 13
return env0_0.updateGuildRingingUsers(a0, true);
}
}
function GUILD_RING_STOP({channelId, guildId, ringing}) { // fn#39482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:13981, offset: 0x010e30b9, size: 142 bytes, params: 2, frame: 18
var env0_0;
const defaultImport = GuildVoiceRingingExperiment;
const getCurrentConfig = defaultImport.getCurrentConfig;
if (Reflect.apply(getCurrentConfig, defaultImport, [{guildId: guildId, location: 'guild_ring_start'}]).enabled) {
env0_0 = _getParticipants(channelId);
ringing.forEach(_fun39483);
return updateParticipants(function(a0) {
return a0.rebuild();
}, [channelId]);
}
return false;
function _fun39483(a0) { // fn#39483, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:14177, offset: 0x010e2905, size: 26 bytes, params: 2, frame: 13
return env0_0.updateGuildRingingUsers(a0, false);
}
}
function GUILD_DELETE_39485({guild}) { // fn#39485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:14335, offset: 0x010e3147, size: 117 bytes, params: 2, frame: 18
const items2 = [];
const defaultImport = Module00022;
defaultImport.forEach(env0_30, _fun39486);
if (items2.length === 0) {
return false;
}
defaultImport.forEach(items2, function(a0) {
clearChannel(a0);
});
function _fun39486(a0) { // fn#39486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:14405, offset: 0x010e31bc, size: 79 bytes, params: 2, frame: 12
var r0;
let value = environment.__proto__;
const value2 = ChannelStore.getChannel(a0) != null;
if (value2) {
value = value.getGuildId();
value = value !== guild.id;
r0 = value;
} else {
r0 = value2;
}
if (!r0) {
env0_1.push(a0);
}
}
}
}
function _fun39414(a0) { // fn#39414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4575, offset: 0x010e1e13, size: 15 bytes, params: 2, frame: 9
return a0.updateEmbeddedActivities();
}
function _fun39419(a0) { // fn#39419, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4784:4843, offset: 0x010e1ded, size: 15 bytes, params: 2, frame: 9
return a0.rebuild();
}
global.__d(_fun39390, 4606, [6, 7, 15, 17, 18, 57, 1378, 4295, 4492, 1226, 4258, 1379, 4396, 1934, 4607, 1878, 4609,
4297, 4299, 661, 3, 4610, 22, 44, 4619, 4285, 566, 694,
2]) /* metro module 4606, dependencies: [6, 7, 15, 17, 18, 57, 1378, 4295, 4492, 1226, 4258, 1379, 4396, 1934, 4607, 1878, 4609, 4297, 4299, 661, 3, 4610, 22, 44, 4619, 4285, 566, 694, 2] */;