decord/source/modules/voice_calls/RTCConnectionDesyncHooks.tsx

238 lines
8.3 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 15561
// Function ID: 15562
2026-07-29 08:29:29 +00:00
// Name: useEnsureSyncedChannelVoiceStates
2026-08-24 06:08:38 +00:00
// Dependencies: [32, 19, 4778, 4548, 1218, 1391, 1991, 13362, 4544, 1922, 4547, 12, 589, 1370, 4782, 2]
2026-07-29 08:29:29 +00:00
// Exports: useDesyncedChannelParticipants, useEnsureSyncedChannelParticipants, useEnsureSyncedChannelVoiceStates, useIsRTCDisconnectedUIVisible
2026-07-20 16:05:17 +00:00
2026-08-24 06:08:38 +00:00
// Module 15561 (useEnsureSyncedChannelVoiceStates)
import closure_2 from "_slicedToArray" /* 32 */;
import closure_3 from "noop" /* 19 */;
import closure_4 from "getParticipants" /* 4778 */;
import closure_5 from "isVoiceMuted" /* 4548 */;
import closure_6 from "fetchFingerprint" /* 1218 */;
import closure_7 from "ensureGuildLoaded" /* 1391 */;
import closure_8 from "trackCommunicationDisabled" /* 1991 */;
import closure_9 from "retryFailedUsers" /* 13362 */;
import closure_10 from "createRTCConnection" /* 4544 */;
import closure_11 from "mergeGuildAvatar" /* 1922 */;
import closure_12 from "updateVoiceState" /* 4547 */;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-08-24 06:08:38 +00:00
const result = require("set").fileFinishedImporting("modules/voice_calls/RTCConnectionDesyncHooks.tsx");
2026-07-20 16:05:17 +00:00
export const useEnsureSyncedChannelVoiceStates = function useEnsureSyncedChannelVoiceStates(id, voiceStates) {
2026-07-23 10:11:24 +00:00
const _require = id;
2026-08-24 06:08:38 +00:00
dependencyMap = voiceStates;
let items = [closure_9, closure_10];
2026-07-29 08:29:29 +00:00
const stateFromStores = _require(589).useStateFromStores(items, () => {
2026-07-20 16:05:17 +00:00
let desyncedVoiceStates = null;
2026-08-24 06:08:38 +00:00
if (closure_0 === closure_1_10.getChannelId()) {
desyncedVoiceStates = closure_1_9.getDesyncedVoiceStates();
2026-07-20 16:05:17 +00:00
}
return desyncedVoiceStates;
});
2026-07-29 08:29:29 +00:00
let obj = _require(589);
2026-07-23 10:11:24 +00:00
const items1 = [stateFromStoresArray];
2026-07-29 08:29:29 +00:00
const React = _require(589).useStateFromStoresArray(items1, () => {
2026-07-23 10:11:24 +00:00
if (null == closure_0) {
2026-07-20 16:05:17 +00:00
let items = [];
} else {
items = [];
2026-07-29 08:29:29 +00:00
HermesBuiltin.arraySpread(stateFromStoresArray.getGuildRingingUsers(tmp), 0);
2026-07-20 16:05:17 +00:00
}
return items;
});
2026-07-29 08:29:29 +00:00
const obj2 = _require(589);
2026-08-24 06:08:38 +00:00
const items2 = [closure_11];
2026-07-29 08:29:29 +00:00
stateFromStoresArray = _require(589).useStateFromStoresArray(items2, () => {
2026-08-24 06:08:38 +00:00
const mapped = closure_3.map((arg0) => user.getUser(arg0));
2026-07-23 10:11:24 +00:00
return mapped.filter(id(voiceStates[13]).isNotNullish);
2026-07-20 16:05:17 +00:00
});
2026-07-29 08:29:29 +00:00
const obj3 = _require(589);
2026-08-24 06:08:38 +00:00
const items3 = [closure_7];
const stateFromStores1 = _require(589).useStateFromStores(items3, () => closure_1_7.getBasicChannel(closure_0));
2026-07-20 16:05:17 +00:00
const items4 = [stateFromStoresArray, ];
2026-07-29 08:29:29 +00:00
let guild_id;
if (stateFromStores1 != null) {
2026-07-20 16:05:17 +00:00
guild_id = stateFromStores1.guild_id;
}
items4[1] = guild_id;
const memo = React.useMemo(() => stateFromStoresArray.map((id) => {
2026-08-24 06:08:38 +00:00
const obj = { voiceState: new closure_1_5(id.id), user: id, member: null, nick: null, comparator: null, _isPlaceholder: false };
2026-07-20 16:05:17 +00:00
let guild_id;
2026-08-24 06:08:38 +00:00
if (closure_5 != null) {
2026-07-29 08:29:29 +00:00
guild_id = tmp2.guild_id;
2026-07-20 16:05:17 +00:00
}
let member = null;
if (null != guild_id) {
let guild_id1;
2026-07-29 08:29:29 +00:00
if (tmp2 != null) {
guild_id1 = tmp2.guild_id;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
member = closure_1_8.getMember(guild_id1, id.id);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj[2] = member;
({ globalName: obj[3], globalName: obj[4] } = id);
2026-07-20 16:05:17 +00:00
return obj;
}), items4);
const items5 = [stateFromStores, voiceStates, memo];
2026-07-23 10:11:24 +00:00
return React.useMemo(() => (function syncChannelVoiceStates(stateFromStores, closure_1, memo) {
2026-07-20 16:05:17 +00:00
if (null == stateFromStores) {
if (0 === memo.length) {
2026-07-23 10:11:24 +00:00
return closure_1;
2026-07-20 16:05:17 +00:00
}
}
const items = [];
const set = new Set();
2026-07-29 08:29:29 +00:00
const iter = closure_1[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let arr = items.push(nextResult);
let addResult = set.add(nextResult.user.id);
continue;
}
if (stateFromStores != null) {
2026-07-20 16:05:17 +00:00
const item = stateFromStores.forEach((arg0) => {
items.splice(items(set[11]).sortedIndexBy(items, arg0, (comparator) => comparator.comparator), 0, arg0);
});
}
if (memo.length > 0) {
const item1 = memo.forEach((user) => {
if (!set.has(user.user.id)) {
items.splice(items(set[11]).sortedIndexBy(items, user, (comparator) => comparator.comparator), 0, user);
const obj = items(set[11]);
}
});
}
return items;
2026-07-23 10:11:24 +00:00
})(stateFromStores, closure_1, memo), items5);
2026-07-20 16:05:17 +00:00
};
2026-07-29 08:29:29 +00:00
export const useDesyncedChannelParticipants = function useDesyncedChannelParticipants(arg0) {
const _require = arg0;
2026-08-24 06:08:38 +00:00
const items = [closure_9, closure_10];
2026-07-29 08:29:29 +00:00
return _require(589).useStateFromStores(items, () => {
let desyncedParticipants = null;
2026-08-24 06:08:38 +00:00
if (closure_0 === closure_1_10.getChannelId()) {
desyncedParticipants = closure_1_9.getDesyncedParticipants();
2026-07-29 08:29:29 +00:00
}
return desyncedParticipants;
});
};
export const useEnsureSyncedChannelParticipants = function useEnsureSyncedChannelParticipants(arg0, arg1) {
let _require = arg1;
_require = arg0;
2026-08-24 06:08:38 +00:00
let items = [closure_9, closure_10];
2026-07-29 08:29:29 +00:00
stateFromStores = _require(stateFromStores[12]).useStateFromStores(items, () => {
let desyncedParticipants = null;
2026-08-24 06:08:38 +00:00
if (closure_0 === closure_1_10.getChannelId()) {
desyncedParticipants = closure_1_9.getDesyncedParticipants();
2026-07-29 08:29:29 +00:00
}
return desyncedParticipants;
});
const items1 = [stateFromStores, arg1];
return React.useMemo(() => {
let tmp2 = items;
if (null != stateFromStores) {
tmp2 = tmp;
if (0 !== arr.length) {
items = [];
HermesBuiltin.arraySpread(tmp, 0);
const item = arr.forEach((arg0) => {
2026-08-24 06:08:38 +00:00
items.splice(items(closure_1_1[11]).sortedIndexBy(items, arg0, (arg0) => callback(table[14]).sortKey(arg0)), 0, arg0);
2026-07-20 16:05:17 +00:00
});
2026-07-29 08:29:29 +00:00
tmp2 = items;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
return tmp2;
}, items1);
2026-07-20 16:05:17 +00:00
};
export const useIsRTCDisconnectedUIVisible = function useIsRTCDisconnectedUIVisible(arg0, id) {
2026-07-23 10:11:24 +00:00
const _require = arg0;
2026-08-24 06:08:38 +00:00
dependencyMap = id;
2026-07-23 10:11:24 +00:00
const items = [stateFromStores2];
2026-07-29 08:29:29 +00:00
const stateFromStores = _require(589).useStateFromStores(items, () => stateFromStores2.getId() === closure_1);
const obj = _require(589);
2026-08-24 06:08:38 +00:00
const items1 = [closure_10];
2026-07-29 08:29:29 +00:00
const stateFromStores1 = _require(589).useStateFromStores(items1, () => channelId.getChannelId());
2026-07-23 10:11:24 +00:00
React = React.useRef(null);
2026-07-29 08:29:29 +00:00
const obj2 = _require(589);
2026-08-24 06:08:38 +00:00
[tmp4, closure_4] = stateFromStores1(React.useState(false), 2);
2026-07-23 10:11:24 +00:00
const tmp3 = stateFromStores1(React.useState(false), 2);
2026-08-24 06:08:38 +00:00
[tmp6, closure_5] = stateFromStores1(React.useState(false), 2);
2026-07-23 10:11:24 +00:00
const tmp5 = stateFromStores1(React.useState(false), 2);
2026-08-24 06:08:38 +00:00
const items2 = [closure_10, closure_12];
2026-07-29 08:29:29 +00:00
stateFromStores2 = _require(589).useStateFromStores(items2, () => {
2026-07-23 10:11:24 +00:00
let isUserConnectedResult = null != closure_1;
2026-07-20 16:05:17 +00:00
if (isUserConnectedResult) {
2026-07-23 10:11:24 +00:00
isUserConnectedResult = null != closure_0;
2026-07-20 16:05:17 +00:00
}
if (isUserConnectedResult) {
2026-08-24 06:08:38 +00:00
isUserConnectedResult = closure_1_10.getChannelId() === closure_0;
2026-07-20 16:05:17 +00:00
}
if (isUserConnectedResult) {
2026-08-24 06:08:38 +00:00
isUserConnectedResult = null != closure_1_12.isInChannel(closure_0, tmp);
2026-07-20 16:05:17 +00:00
}
if (isUserConnectedResult) {
2026-08-24 06:08:38 +00:00
isUserConnectedResult = closure_1_10.isUserConnected(tmp);
2026-07-20 16:05:17 +00:00
}
return isUserConnectedResult;
});
2026-07-29 08:29:29 +00:00
const obj3 = _require(589);
2026-08-24 06:08:38 +00:00
const items3 = [closure_10, closure_12];
2026-07-29 08:29:29 +00:00
const stateFromStores3 = _require(589).useStateFromStores(items3, () => {
let tmp2 = null != closure_1;
if (tmp2) {
tmp2 = null != closure_0;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (tmp2) {
2026-08-24 06:08:38 +00:00
tmp2 = closure_1_10.getChannelId() === closure_0;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (tmp2) {
2026-08-24 06:08:38 +00:00
tmp2 = null != closure_1_12.isInChannel(closure_0, tmp);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (tmp2) {
2026-08-24 06:08:38 +00:00
tmp2 = !closure_1_10.isUserConnected(tmp);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp2;
2026-07-20 16:05:17 +00:00
});
const items4 = [stateFromStores2];
const effect = React.useEffect(() => {
if (stateFromStores2) {
callback2(true);
}
}, items4);
const items5 = [arg0, stateFromStores1];
const effect1 = React.useEffect(() => {
2026-07-23 10:11:24 +00:00
if (stateFromStores1 !== closure_0) {
2026-07-20 16:05:17 +00:00
callback2(false);
}
}, items5);
const items6 = [stateFromStores3];
const effect2 = React.useEffect(() => {
if (stateFromStores3) {
if (null == ref.current) {
const _setTimeout = setTimeout;
2026-07-29 08:29:29 +00:00
tmp.current = setTimeout(() => {
2026-08-24 06:08:38 +00:00
closure_3.current = null;
2026-07-29 08:29:29 +00:00
callback(true);
2026-07-20 16:05:17 +00:00
}, 250);
}
return () => {
2026-07-29 08:29:29 +00:00
clearTimeout(ref.current);
ref.current = null;
2026-07-20 16:05:17 +00:00
};
}
clearTimeout(ref.current);
ref.current = null;
callback(false);
}, items6);
2026-07-29 08:29:29 +00:00
let tmp12 = !stateFromStores;
if (!stateFromStores) {
tmp12 = tmp6;
}
if (tmp12) {
tmp12 = tmp4;
}
return tmp12;
2026-07-20 16:05:17 +00:00
};