This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

+546
View File
@@ -0,0 +1,546 @@
// Metro module 6055 (f6056).
import ExperimentStore from "../modules/experiments/ExperimentStore";
import ApplicationStreamingStore from "./ApplicationStreamingStore";
import AuthenticationStore from "./AuthenticationStore";
import ChannelStore from "./ChannelStore";
import GuildMemberCountStore from "./GuildMemberCountStore";
import GuildMemberStore from "./GuildMemberStore";
import GuildRoleStore from "./GuildRoleStore";
import GuildStore from "./GuildStore";
import PresenceStore from "./PresenceStore";
import SelfPresenceStore from "./SelfPresenceStore";
import UserStore from "./UserStore";
import { Permissions, StatusTypes } from "../Constants";
import { canEveryone, getGuildVisualOwnerId } from "../utils/PermissionUtils";
import MurmurHashV3 from "../_bundle/MurmurHashV3";
import Module12 from "../_bundle/Module12";
import { has } from "../_bundle/HighLow";
import Module589 from "../_bundle/Module589";
import Dispatcher from "../Dispatcher";
function $mk77661($env) {
return function() {
const r3 = $env[0];
const r6 = $env.$parent;
const r2 = r6[15];
if (r2.ONLINE === r3) {
const r30 = r6[0];
const r31 = r6[3];
return r30(r31[12]).intl.string(r30(r31[12]).t.WbGtnH);
}
if (r2.OFFLINE === r3) {
const r18 = r6[0];
const r19 = r6[3];
return r18(r19[12]).intl.string(r18(r19[12]).t.Vv0abJ);
}
const r5 = r6[0];
const r8 = r6[3];
return r5(r8[12]).intl.string(r5(r8[12]).t["UQMV/E"]);
};
}
let handleApplicationStreamUpdate, handleLocalPresenceUpdate, c3838_17, c3838_18, c3838_21, c3838_25;
let env3838 = {};
const getMemberListId = function getMemberListId(a0) {
const channel = ChannelStore.getChannel(a0);
return channel == null ? c3838_17 : channel.memberListId == null ? canEveryone(Permissions.VIEW_CHANNEL, channel) ? c3838_17 : MurmurHashV3.v3(Module12(channel.permissionOverwrites).reduce((acc, { id: id2, allow, deny }) => {
if (has(allow, Permissions.VIEW_CHANNEL)) {
acc.push(`allow:${id2}`);
} else if (has(deny, Permissions.VIEW_CHANNEL)) {
acc.push(`deny:${id2}`);
}
return acc;
}, []).sort().join(",")).toString() : channel.memberListId;
};
const handleConnectionOpen = function handleConnectionOpen() {
c3838_21.reset();
};
handleApplicationStreamUpdate = function handleApplicationStreamUpdate() {
const allApplicationStreams = ApplicationStreamingStore.getAllApplicationStreams();
const r7 = env3838[22].concat(allApplicationStreams);
env3838[22] = allApplicationStreams;
r7.forEach((c25686_0) => {
c3838_21.forEach(null, (a0) => a0.rebuildMember(c25686_0.ownerId));
});
};
handleLocalPresenceUpdate = function handleLocalPresenceUpdate() {
const id = AuthenticationStore.getId();
c3838_21.forEach(null, (a0) => a0.rebuildMember(id));
};
c3838_17 = "everyone";
c3838_18 = {
GROUP: "GROUP",
MEMBER: "MEMBER",
CONTENT_INVENTORY: "CONTENT_INVENTORY",
CONTENT_INVENTORY_GROUP: "CONTENT_INVENTORY_GROUP",
HIDDEN_CONTENT_INVENTORY: "HIDDEN_CONTENT_INVENTORY",
CONTENT_INVENTORY_LEADERBOARD: "CONTENT_INVENTORY_LEADERBOARD"
};
class MemberList {
constructor(a0, a1) {
const r3 = {
__proto__: new.target.prototype,
rows: [],
groups: null,
members: null,
version: 0
};
r3.groups = [];
r3.members = {};
r3.guildId = a0;
r3.listId = a1;
r3.updateOwnerId();
return r3;
}
updateOwnerId() {
const guild = GuildStore.getGuild(this.guildId);
if (guild == null) {
return false;
}
const guildVisualOwnerId = getGuildVisualOwnerId(guild);
let r16 = this.ownerId !== guildVisualOwnerId;
if (r16) {
this.ownerId = guildVisualOwnerId;
r16 = true;
}
return r16;
}
setGroups(a0) {
const length = 0;
this.groups = a0.map((item) => {
let r33;
const index = length;
const r8 = Math;
let count = item.count;
if (count == null) {
count = 0;
}
let env25687;
const count2 = r8.max(0, count);
length = length + (count2 + 1);
const r9 = env3838;
const guildId = this.guildId;
const id2 = item.id;
const r20 = env25687 = {
$parent: r9
};
env25687[0] = id2;
if (StatusTypes.ONLINE !== id2 && (StatusTypes.OFFLINE !== id2 && StatusTypes.UNKNOWN !== id2)) {
const guild = GuildStore.getGuild(guildId);
const r28 = guild != null ? GuildRoleStore.getRole(guild.id, id2) : null;
r33 = {
type: c3838_18.GROUP,
key: id2,
id: id2,
title: r28 != null ? r28.name : "",
count: count2,
index
};
} else {
const r38 = {
type: c3838_18.GROUP,
key: id2,
id: id2
};
Object.defineProperty(r38, "title", {
get: $mk77661(r20),
set: void 0,
enumerable: true,
configurable: true
});
r38.count = count2;
r38.index = index;
r33 = r38;
}
return r33;
});
this.rows.length = length;
}
sync(a0, a1) {
let [c15416_0] = a0;
a1.forEach((item, index) => this.update(c15416_0 + index, item));
}
invalidate(a0) {
let [r16, r17] = a0;
while (r16 <= r17) {
const r22 = this.rows[r16];
const r23 = r16;
if (r22 == null) {
break;
}
delete this.rows[r23];
if (r22.type === c3838_18.MEMBER) {
delete this.members[r22.user.id];
}
r16 = r23 + 1;
}
this.version = this.version + 1;
}
insert(a0, { group, member }) {
let r74;
if (group != null) {
let env15417;
const rows = this.rows;
const guildId2 = this.guildId;
const { id: id3, count } = group;
const r59 = env15417 = {
$parent: env3838
};
env15417[0] = id3;
if (StatusTypes.ONLINE !== id3 && (StatusTypes.OFFLINE !== id3 && StatusTypes.UNKNOWN !== id3)) {
const guild = GuildStore.getGuild(guildId2);
const r68 = guild != null ? GuildRoleStore.getRole(guild.id, id3) : null;
r74 = {
type: c3838_18.GROUP,
key: id3,
id: id3,
title: r68 != null ? r68.name : "",
count,
index: void 0
};
} else {
const r79 = {
type: c3838_18.GROUP,
key: id3,
id: id3
};
Object.defineProperty(r79, "title", {
get: $mk77661(r59),
set: void 0,
enumerable: true,
configurable: true
});
r79.count = count;
r79.index = void 0;
r74 = r79;
}
rows.splice(a0, 0, r74);
} else if (member != null) {
const guildId = this.guildId;
const ownerId = this.ownerId;
const id2 = member.user.id;
const r2 = id2 === AuthenticationStore.getId();
const isMobileOnline = PresenceStore.isMobileOnline(id2);
const isVROnline = PresenceStore.isVROnline(id2);
const status = r2 ? SelfPresenceStore.getStatus() : PresenceStore.getStatus(id2, guildId);
const activities = r2 ? SelfPresenceStore.getActivities() : PresenceStore.getActivities(id2, guildId);
const streamForUser = ApplicationStreamingStore.getStreamForUser(id2, guildId);
const user2 = UserStore.getUser(id2);
const r41 = user2 == null ? null : {
type: c3838_18.MEMBER,
...GuildMemberStore.getMember(guildId, id2),
user: user2,
status,
activities,
applicationStream: streamForUser,
isOwner: ownerId === id2,
isMobileOnline,
isVROnline
};
if (r41 == null) {
return void 0;
}
this.rows.splice(a0, 0, r41);
this.members[member.user.id] = r41;
}
this.version = this.version + 1;
}
update(a0, { group, member }) {
let r80;
const r24 = this.rows[a0];
if (r24 != null && r24.type === c3838_18.MEMBER) {
delete this.members[r24.user.id];
}
if (group != null) {
let env15418;
const rows = this.rows;
const guildId2 = this.guildId;
const { id: id3, count } = group;
const r65 = env15418 = {
$parent: env3838
};
env15418[0] = id3;
if (StatusTypes.ONLINE !== id3 && (StatusTypes.OFFLINE !== id3 && StatusTypes.UNKNOWN !== id3)) {
const guild = GuildStore.getGuild(guildId2);
const r74 = guild != null ? GuildRoleStore.getRole(guild.id, id3) : null;
r80 = {
type: c3838_18.GROUP,
key: id3,
id: id3,
title: r74 != null ? r74.name : "",
count,
index: void 0
};
} else {
const r85 = {
type: c3838_18.GROUP,
key: id3,
id: id3
};
Object.defineProperty(r85, "title", {
get: $mk77661(r65),
set: void 0,
enumerable: true,
configurable: true
});
r85.count = count;
r85.index = void 0;
r80 = r85;
}
rows[a0] = r80;
} else if (member != null) {
const guildId = this.guildId;
const ownerId = this.ownerId;
const id2 = member.user.id;
const r34 = id2 === AuthenticationStore.getId();
const isMobileOnline = PresenceStore.isMobileOnline(id2);
const isVROnline = PresenceStore.isVROnline(id2);
const status = r34 ? SelfPresenceStore.getStatus() : PresenceStore.getStatus(id2, guildId);
const activities = r34 ? SelfPresenceStore.getActivities() : PresenceStore.getActivities(id2, guildId);
const streamForUser = ApplicationStreamingStore.getStreamForUser(id2, guildId);
const user2 = UserStore.getUser(id2);
const r50 = user2 == null ? null : {
type: c3838_18.MEMBER,
...GuildMemberStore.getMember(guildId, id2),
user: user2,
status,
activities,
applicationStream: streamForUser,
isOwner: ownerId === id2,
isMobileOnline,
isVROnline
};
if (r50 == null) {
return void 0;
}
this.rows[a0] = r50;
this.members[member.user.id] = r50;
}
this.version = this.version + 1;
}
delete(a0) {
const r7 = this.rows[a0];
if (r7 != null) {
if (r7.type === c3838_18.MEMBER) {
delete this.members[r7.user.id];
}
this.rows.splice(a0, 1);
this.version = this.version + 1;
}
}
rebuildMember(a0) {
const r5 = this.members[a0];
if (r5 != null) {
const r3 = Object;
const guildId = this.guildId;
const ownerId = this.ownerId;
const r0 = a0 === AuthenticationStore.getId();
const isMobileOnline = PresenceStore.isMobileOnline(a0);
const isVROnline = PresenceStore.isVROnline(a0);
const status = r0 ? SelfPresenceStore.getStatus() : PresenceStore.getStatus(a0, guildId);
const activities = r0 ? SelfPresenceStore.getActivities() : PresenceStore.getActivities(a0, guildId);
const streamForUser = ApplicationStreamingStore.getStreamForUser(a0, guildId);
const user2 = UserStore.getUser(a0);
r3.assign(r5, user2 == null ? null : {
type: c3838_18.MEMBER,
...GuildMemberStore.getMember(guildId, a0),
user: user2,
status,
activities,
applicationStream: streamForUser,
isOwner: ownerId === a0,
isMobileOnline,
isVROnline
});
this.version = this.version + 1;
}
}
rebuildMembers() {
const r9 = Object.keys(this.members);
const length2 = r9.length;
let r0 = 0;
if (0 < length2) {
do {
this.rebuildMember(r9[r0]);
r0 = r0 + 1;
} while (r0 < r9.length);
}
}
rebuildGroup(a0) {
let r32;
const r7 = this.groups.findIndex((group) => group.id === a0);
const r18 = this.groups[r7];
if (r18 != null) {
let env15420;
const groups = this.groups;
const guildId = this.guildId;
const { count, index } = r18;
const r11 = env15420 = {
$parent: env3838
};
env15420[0] = a0;
if (StatusTypes.ONLINE !== a0 && (StatusTypes.OFFLINE !== a0 && StatusTypes.UNKNOWN !== a0)) {
const guild = GuildStore.getGuild(guildId);
const r27 = guild != null ? GuildRoleStore.getRole(guild.id, a0) : null;
r32 = {
type: c3838_18.GROUP,
key: a0,
id: a0,
title: r27 != null ? r27.name : "",
count,
index
};
} else {
const r37 = {
type: c3838_18.GROUP,
key: a0,
id: a0
};
Object.defineProperty(r37, "title", {
get: $mk77661(r11),
set: void 0,
enumerable: true,
configurable: true
});
r37.count = count;
r37.index = index;
r32 = r37;
}
groups.splice(r7, 1, r32);
this.version = this.version + 1;
}
}
}
class MemberLists {
constructor() {
return {
__proto__: new.target.prototype,
_guildLists: {}
};
}
get(a0, a1) {
let r4 = this._guildLists[a0];
if (r4 == null) {
const _guildLists = this._guildLists;
const r10 = {};
_guildLists[a0] = r10;
r4 = r10;
}
let r11 = r4[a1];
if (r11 == null) {
const r16 = {
__proto__: MemberList.prototype,
rows: [],
groups: null,
members: null,
version: 0
};
r16.groups = [];
r16.members = {};
r16.guildId = a0;
r16.listId = a1;
r16.updateOwnerId();
r16.setGroups([{
id: StatusTypes.UNKNOWN,
count: 0
}]);
r4[a1] = r16;
r11 = r16;
}
return r11;
}
forEach(a0, a1) {
if (a0 == null) {
Module12.forEach(this._guildLists, (a0) => {
Module12.forEach(a0, a1);
});
} else {
const r6 = this._guildLists[a0];
if (r6 != null) {
Module12.forEach(r6, a1);
}
}
}
delete(a0) {
delete this._guildLists[a0];
}
reset() {
this._guildLists = {};
}
}
c3838_21 = {
__proto__: MemberLists.prototype,
_guildLists: {}
};
env3838[22] = [];
class ChannelMemberStore extends Module589.Store {
static displayName = "ChannelMemberStore";
constructor() {
super(...arguments);
}
initialize() {
this.waitFor(UserStore, GuildStore, GuildRoleStore, ChannelStore, GuildMemberStore, PresenceStore, SelfPresenceStore, AuthenticationStore, GuildMemberCountStore, ApplicationStreamingStore, ExperimentStore);
this.syncWith([SelfPresenceStore], handleLocalPresenceUpdate);
this.syncWith([ApplicationStreamingStore], handleApplicationStreamUpdate);
}
getProps(a0, a1) {
const r11 = c3838_21.get(a0, getMemberListId(a1));
return {
listId: `${r11.guildId}:${r11.listId}`,
groups: r11.groups,
rows: r11.rows,
version: r11.version
};
}
getRows(a0, a1) {
return c3838_21.get(a0, getMemberListId(a1)).rows;
}
}
c3838_25 = ChannelMemberStore;
const r114 = new ChannelMemberStore(Dispatcher, {
CONNECTION_OPEN: handleConnectionOpen,
OVERLAY_INITIALIZE: handleConnectionOpen,
GUILD_MEMBER_LIST_UPDATE: function handleGuildMemberListUpdate(a0) {
const r8 = c3838_21.get(a0.guildId, a0.id);
let c15422_0 = r8;
a0.ops.forEach((a0) => {
const op = a0.op;
if (op === "SYNC") {
c15422_0.sync(a0.range, a0.items);
} else if (op === "INVALIDATE") {
c15422_0.invalidate(a0.range);
} else if (op === "INSERT") {
c15422_0.insert(a0.index, a0.item);
} else if (op === "UPDATE") {
c15422_0.update(a0.index, a0.item);
} else if (op === "DELETE") {
c15422_0.delete(a0.index);
}
});
r8.setGroups(a0.groups);
},
GUILD_UPDATE: function handleGuildUpdate(a0) {
c3838_21.forEach(a0.guild.id, (a0) => {
if (a0.updateOwnerId()) {
a0.rebuildMembers();
}
});
},
GUILD_DELETE: function handleGuildDelete(a0) {
c3838_21.delete(a0.guild.id);
},
GUILD_ROLE_UPDATE: function handleGuildRoleUpdate({ guildId, role }) {
c3838_21.forEach(guildId, (a0) => {
a0.rebuildGroup(role.id);
a0.rebuildMembers();
});
},
GUILD_MEMBER_UPDATE: function handleMemberUpdate({ guildId, user }) {
c3838_21.forEach(guildId, (a0) => a0.rebuildMember(user.id));
},
CHANNEL_UPDATES: function handleChannelUpdates() {
return true;
}
});
export default r114;
export const EVERYONE_ID = "everyone";
export const EVERYONE_CHANNEL_ID = 0;
export { c3838_18 as MemberListRowTypes };