decord/source/modules/icymi/ICYMIStore.tsx
2026-08-08 06:10:11 +00:00

1404 lines
45 KiB
TypeScript

// Module ID: 8898
// Function ID: 8899
// Name: filterStaffGuild
// Dependencies: [32, 8899, 4217, 6985, 1218, 1372, 8908, 1891, 4521, 3929, 4315, 3938, 4499, 8910, 8911, 676, 8920, 687, 8912, 7304, 8234, 8238, 8904, 8921, 5956, 4523, 589, 709, 2]
// Module 8898 (filterStaffGuild)
import _slicedToArray from "_slicedToArray";
import map from "map";
import getHash from "getHash";
import scheduledEventSort from "scheduledEventSort";
import closure_9 from "scheduledEventSort";
import fetchFingerprint from "fetchFingerprint";
import ensureGuildLoaded from "ensureGuildLoaded";
import initialize from "initialize";
import createGuildRecordFromRust from "createGuildRecordFromRust";
import reinjectEphemerals from "reinjectEphemerals";
import getUncachedChannelPermissions from "getUncachedChannelPermissions";
import generateOldThreadCutoff from "generateOldThreadCutoff";
import upsertRelationship from "upsertRelationship";
import updateUserGuildSettingsInternal from "updateUserGuildSettingsInternal";
import closure_19 from "initialize";
import closure_20 from "initialize";
import ME from "ME";
import { ContentInventoryFeedKey } from "ContentInventoryFeedKey";
import { PersistedStore } from "initialize";
import set from "getHash";
let closure_21;
let closure_22;
let closure_23;
let closure_6;
let error;
let metroImportAll;
const require = arg1;
function filterStaffGuild(data) {
if (closure_19.filterStaffContent()) {
if (obj.isGuildItem(data)) {
if (data.data.guild_id === require(7304) /* MessageEmbedTypes */.GAME_CONTENT_GUILD_ID) {
return true;
} else {
const guild = store2.getGuild(data.data.guild_id);
if (null != guild) {
const features = guild.features;
}
return false;
}
}
return true;
} else {
return true;
}
}
function injectItemsIntoList(arr, arr2) {
let closure_0 = arg2;
let c1 = 7;
const found = arr.filter((type) => type.type !== ACTIVITY);
const item = arr2.forEach((arg0, arg1) => {
let arr = found1;
if ((arg1 + 1) * c1 < found1.length) {
arr.splice((arg1 + 1) * tmp, 0, arg0);
} else {
arr = arr.push(arg0);
}
});
return found;
}
function injectRecommendedGuildsRow() {
items1 = items1.filter((type) => type.type !== callback(7304).ICYMIItemTypes.RECOMMENDED_GUILDS);
items = items.filter((type) => type.type !== callback(7304).ICYMIItemTypes.RECOMMENDED_GUILDS);
if (0 !== length.length) {
const guildsArray = store2.getGuildsArray();
const tmp24 = guildsArray.filter((features) => {
features = features.features;
return features.has(constants.COMMUNITY);
}).length >= 5;
const readTimestamp = store3.getReadTimestamp("recommendedGuilds");
if (tmp24) {
if (null != readTimestamp) {
const _Date = Date;
if (Date.now() - c49 > DAY) {
const _Date2 = Date;
}
}
}
const obj = { id: "recommendedGuilds", type: null, score: 50 };
obj[1] = require(7304) /* MessageEmbedTypes */.ICYMIItemTypes.RECOMMENDED_GUILDS;
closure_34[obj.id] = obj;
closure_33[obj.id] = obj;
if (0 === items1.length) {
items = [obj];
HermesBuiltin.arraySpread(items, 1);
} else {
if (tmp24) {
if (tmp24) {
const _Math = Math;
const _Math2 = Math;
items1.splice(Math.round(2 * Math.random()) + 3 - 1, 0, obj);
} else {
items1.splice(5, 0, obj);
}
}
items1 = [];
items1[HermesBuiltin.arraySpread(items1, 0)] = obj;
}
}
}
function finalizeNewDehydratedItemsContent() {
const set = new Set();
const item = items1.forEach((id) => {
set.add(id.id);
});
if (null != _null2) {
if (set.has(_null2.id)) {
const id = tmp19.id;
const type = _null2.type;
const findIndexResult = items1.findIndex((id) => {
let tmp = id.id === id;
if (tmp) {
tmp = id.type === type;
}
return tmp;
});
if (-1 !== findIndexResult) {
_null2 = items1[findIndexResult];
const found = items1.filter((id) => id.id !== id);
items1 = found;
const items = [_null2];
HermesBuiltin.arraySpread(found, 1);
items1 = items;
}
} else {
items1 = [tmp19];
HermesBuiltin.arraySpread(items1, 1);
set.add(_null2.id);
}
}
const item1 = items1.forEach((id) => {
closure_33[id.id] = id;
if (id.type === set(type[19]).ICYMIItemTypes.CUSTOM_STATUS) {
if (blockedOrIgnored.isBlockedOrIgnored(id.data.user_id)) {
closure_35[id.id] = true;
} else {
closure_34[id.id] = set(type[18]).customStatusToContentInventoryEntry(id);
const tmpResult = set(type[18]);
}
}
});
}
function reload(arg0) {
let found;
let found1;
if (closure_30.length > 0) {
let closure_27 = closure_30;
closure_30 = [];
let closure_31 = [];
}
closure_38 = closure_38 + 1;
if (null != arg0) {
({ newUnread: found, newRead: found1 } = arg0);
} else {
let items = [];
let ACTIVITY = items;
let items1 = [];
let c1 = items1;
let items2 = [];
found1 = items2;
let item = closure_27.forEach((id) => {
const tmp = null != outer1_20.getReadTimestamp(id.id);
let tmp4 = id.type === set1(items3[19]).ICYMIItemTypes.MESSAGE;
if (tmp4) {
const message_context = id.data.message_context;
let prop;
if (message_context != null) {
prop = message_context.external_content_application_id;
}
tmp4 = null == prop;
}
let tmp6 = tmp;
if (tmp4) {
let tmp7 = tmp;
if (!tmp) {
tmp7 = !tmp2(tmp3[18]).isItemUnreadInChannel(id.data.channel_id, id.data.message_id);
const tmp2Result = tmp2(tmp3[18]);
}
tmp6 = tmp7;
}
if (tmp6) {
set1.push(id);
} else {
if (id.type === tmp2(tmp3[19]).ICYMIItemTypes.MESSAGE) {
if (id.data.has_mention) {
items3.push(id);
}
}
items2.push(id);
}
});
const items3 = [];
HermesBuiltin.arraySpread(items1, HermesBuiltin.arraySpread(items2, 0));
const items4 = [items3, items.sort((id, id2) => set1(items3[18]).compareGravityUnreadIds(id.id, id2.id))];
[found, found1] = items6(items4, 2);
let tmp33 = items6(items4, 2);
}
(function injectGuildEvents() {
let channel_id;
guildIds = guildIds.getGuildIds();
const items = [];
const iter = guildIds[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp3 = nextResult;
let tmp4 = dependencyMap;
if (null == dependencyMap[nextResult]) {
let tmp7 = guildScheduledEventsForGuild;
let tmp8 = nextResult;
guildScheduledEventsForGuild = guildScheduledEventsForGuild.getGuildScheduledEventsForGuild(tmp3);
let num = 0;
let tmp10 = guildScheduledEventsForGuild;
let tmp11 = guildScheduledEventsForGuild;
for (const item10031 of guildScheduledEventsForGuild) {
let tmp12 = item10031;
let tmp13 = callback2;
if (!callback2(item10031)) {
let tmp14 = item10031;
if (null != tmp12.channel_id) {
let tmp15 = channel;
let tmp16 = item10031;
let tmp17 = getUncachedChannelPermissions;
let tmp18 = constants;
continue;
}
let tmp19 = callback;
let tmp20 = item10031;
let tmp21 = items2;
let tmp22 = found1;
let tmp23 = found1;
if (callback(tmp12, 2 * items2(found1[17]).Seconds.DAY)) {
let tmp26 = table2;
let tmp27 = item10031;
if (null == table2[tmp12.id]) {
let tmp28 = table2;
let tmp29 = item10031;
let obj = { id: null, type: null, score: 10, event_id: null };
obj[0] = tmp12.id;
let tmp30 = items1;
let tmp31 = tmp22;
obj[1] = items1(tmp23[19]).ICYMIItemTypes.GUILD_EVENT;
obj[3] = tmp12.id;
table2[tmp12.id] = obj;
}
obj = { id: null, type: null, score: 10, data: null };
let tmp32 = item10031;
obj[0] = tmp12.id;
let tmp33 = items1;
let tmp34 = tmp22;
obj[1] = items1(tmp23[19]).ICYMIItemTypes.GUILD_EVENT;
let obj1 = { guild_id: null, event_id: null, channel_id: null };
({ guild_id: obj4[0], id: obj4[1], channel_id } = tmp12);
obj1[2] = channel_id;
obj[3] = obj1;
let arr = items.push(obj);
let tmp36 = num;
let sum = num + 1;
num = sum;
if (1 <= sum) {
let tmp38 = obj;
obj.return();
break;
}
break;
} else {
let tmp24 = callback3;
let tmp25 = item10031;
}
}
continue;
}
} else {
let tmp5 = dependencyMap;
let tmp6 = nextResult;
}
continue;
}
const sorted = items.sort((data, data2) => {
const guildAffinity = store.getGuildAffinity(data.data.guild_id);
const guildAffinity1 = store.getGuildAffinity(data2.data.guild_id);
let num = 0;
if (null != guildAffinity1) {
num = guildAffinity1.score;
}
let num2 = 0;
if (null != guildAffinity) {
num2 = guildAffinity.score;
}
return num - num2;
});
const items1 = [];
const items2 = [];
const item = items.forEach((id) => {
outer1_33[id.id] = id;
if (null != outer1_20.getReadTimestamp(id.id)) {
items2.push(id);
} else {
items1.push(id);
}
});
closure_45 = callback4(closure_45, items1, items1(found1[19]).ICYMIItemTypes.GUILD_EVENT, 7);
closure_46 = callback4(closure_46, items2, items1(found1[19]).ICYMIItemTypes.GUILD_EVENT, 7);
})();
ACTIVITY = undefined;
c1 = undefined;
found1 = undefined;
items6 = undefined;
ACTIVITY = new Set();
c1 = {};
const items5 = [];
found1 = items5;
items6 = [];
feed = feed.getFeed(ContentInventoryFeedKey.GLOBAL_FEED);
let entries;
if (feed != null) {
entries = feed.entries;
}
if (entries == null) {
entries = [];
}
let sorted = entries.sort((rank, rank2) => rank.rank - rank2.rank);
const substr = sorted.slice(0, 5);
const item1 = entries.forEach((content) => {
let obj = ACTIVITY;
if (!ACTIVITY.has(content.content.id)) {
let tmpResult = tmp(tmp2[21]);
if (!tmpResult.isEntryExpired(content.content)) {
tmpResult = tmp(tmp2[22]);
if (tmpResult.isGamingLikeEntry(content.content)) {
if (null == table[content.content.author_id]) {
const _Set = Set;
const set = new Set();
tmp3[content.content.author_id] = set;
}
if (!obj4.has(content.content.extra.application_id)) {
tmp3[content.content.author_id].add(content.content.extra.application_id);
const obj5 = tmp3[content.content.author_id];
}
obj4 = table[content.content.author_id];
}
if (null == outer1_34[content.content.id]) {
obj = { id: null, type: null, score: 15, activity: null };
obj[0] = content.content.id;
obj[1] = tmp(tmp2[19]).ICYMIItemTypes.ACTIVITY;
obj[3] = content.content;
outer1_34[content.content.id] = obj;
}
obj = { id: null, type: null, score: 15, data: null };
obj[0] = content.content.id;
obj[1] = tmp(tmp2[19]).ICYMIItemTypes.ACTIVITY;
const obj1 = { user_id: null, content_id: null };
obj1[0] = content.content.author_id;
obj1[1] = content.content.id;
obj[3] = obj1;
obj.add(content.content.id);
outer1_33[obj.id] = obj;
if (null != outer1_20.getReadTimestamp(obj.id)) {
items6.push(obj);
} else {
found1.push(obj);
}
}
}
});
ACTIVITY = ACTIVITY(found1[19]).ICYMIItemTypes.ACTIVITY;
c1 = 5;
found1 = undefined;
found = found.filter((type) => type.type !== ACTIVITY);
found1 = found;
const item2 = items5.forEach((arg0, arg1) => {
let arr = found1;
if ((arg1 + 1) * c1 < found1.length) {
arr.splice((arg1 + 1) * tmp, 0, arg0);
} else {
arr = arr.push(arg0);
}
});
ACTIVITY = ACTIVITY(found1[19]).ICYMIItemTypes.ACTIVITY;
c1 = 5;
found1 = undefined;
found1 = found1.filter((type) => type.type !== ACTIVITY);
const item3 = items6.forEach((arg0, arg1) => {
let arr = found1;
if ((arg1 + 1) * c1 < found1.length) {
arr.splice((arg1 + 1) * tmp, 0, arg0);
} else {
arr = arr.push(arg0);
}
});
injectRecommendedGuildsRow();
let tmp14 = null != closure_32.load_id;
if (tmp14) {
tmp14 = load_id !== closure_32.load_id;
}
if (tmp14) {
const ICYMIAnalytics = tmp7(tmp8[23]).ICYMIAnalytics;
let obj = { newTrackingProps: null, hasNewContent: null, unreadFeedItems: null, readFeedItems: null, homeSessionId: "gravity" };
obj[0] = closure_32;
obj[1] = c40;
obj[2] = found;
obj[3] = found1;
ICYMIAnalytics.trackFeedLoaded(obj);
load_id = closure_32.load_id;
if (load_id == null) {
load_id = null;
}
closure_32 = {};
}
let c47 = 0;
if (found.length + found1.length === 0) {
let c54 = true;
}
let set = new Set();
const items7 = [...found1];
ACTIVITY(found1[18]).hydrateItems(items7, 0, ACTIVITY(found1[19]).ICYMI_PAGE_SIZE);
let c51 = false;
}
function getNewUnreadItems(arr9, channelId) {
const items = [];
const iter = arr9[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp2 = nextResult;
let tmp3 = require;
let tmp4 = dependencyMap;
if (nextResult.type !== require(7304) /* MessageEmbedTypes */.ICYMIItemTypes.RECOMMENDED_GUILDS) {
let tmp15 = nextResult;
if (!set.has(tmp2.id)) {
let tmp5 = store3;
let tmp6 = nextResult;
let tmp7 = null == store3.getReadTimestamp(tmp2.id);
if (tmp7) {
let tmp8 = nextResult;
let tmp9 = tmp2.type !== tmp3(7304).ICYMIItemTypes.MESSAGE;
if (!tmp9) {
let tmp3Result = tmp3(8912);
let tmp10 = nextResult;
let result = tmp3Result.isItemUnreadInChannel(tmp2.data.channel_id, tmp2.data.message_id);
if (result) {
let tmp12 = nextResult;
result = tmp2.data.channel_id !== channelId;
}
tmp9 = result;
}
tmp7 = tmp9;
}
if (tmp7) {
let tmp13 = nextResult;
let arr = items.push(tmp2);
}
}
}
continue;
}
return items;
}
function maybeFilterChannelItems(arg0, stateFromStores1) {
const obj = _require(8912);
if (numberToCustomScoreResult === _require(8912).ICYMICustomScore.MUTED) {
_require = arg0;
closure_27 = closure_27.filter((data) => {
const isGuildItemResult = callback(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.channel_id !== callback;
}
return tmp2;
});
_require = arg0;
closure_45 = closure_45.filter((data) => {
const isGuildItemResult = callback(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.channel_id !== callback;
}
return tmp2;
});
_require = arg0;
closure_46 = closure_46.filter((data) => {
const isGuildItemResult = callback(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.channel_id !== callback;
}
return tmp2;
});
_require = arg0;
closure_30 = closure_30.filter((data) => {
const isGuildItemResult = callback(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.channel_id !== callback;
}
return tmp2;
});
_require = arg0;
closure_31 = closure_31.filter((data) => {
const isGuildItemResult = callback(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.channel_id !== callback;
}
return tmp2;
});
}
}
function maybeFilterGuildItems(guildId, guildScore) {
const obj = _require(8912);
if (numberToCustomScoreResult === _require(8912).ICYMICustomScore.MUTED) {
_require = guildId;
closure_27 = closure_27.filter((data) => {
const isGuildItemResult = guildId(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.guild_id !== guildId;
}
return tmp2;
});
_require = guildId;
closure_45 = closure_45.filter((data) => {
const isGuildItemResult = guildId(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.guild_id !== guildId;
}
return tmp2;
});
_require = guildId;
closure_46 = closure_46.filter((data) => {
const isGuildItemResult = guildId(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.guild_id !== guildId;
}
return tmp2;
});
_require = guildId;
closure_30 = closure_30.filter((data) => {
const isGuildItemResult = guildId(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.guild_id !== guildId;
}
return tmp2;
});
_require = guildId;
closure_31 = closure_31.filter((data) => {
const isGuildItemResult = guildId(outer1_2[18]).isGuildItem(data);
let tmp2 = !isGuildItemResult;
if (isGuildItemResult) {
tmp2 = data.data.guild_id !== guildId;
}
return tmp2;
});
}
}
function handleReaction(colors) {
let emoji;
let reactionType;
({ emoji, reactionType } = colors);
if (null == dependencyMap[colors.messageId]) {
return false;
} else if (tmp3.type !== require(7304) /* MessageEmbedTypes */.ICYMIItemTypes.MESSAGE) {
return false;
} else {
const tmp5 = store.getId() === tmp2;
if ("MESSAGE_REACTION_ADD" === tmp) {
const message2 = tmp3.message;
let addReactionResult = message2.addReaction(emoji, tmp5, colors.colors, reactionType);
} else {
const message = tmp3.message;
addReactionResult = message.removeReaction(emoji, tmp5, reactionType);
}
tmp3.message = addReactionResult;
}
}
function handleAck(channelId) {
channelId = channelId.channelId;
let set = channelId;
const items = [];
let items3 = items;
const items1 = [];
let items4 = items1;
const item = items1.forEach((type) => {
if (arg1 > outer1_47) {
if (type.type === set(items4[19]).ICYMIItemTypes.MESSAGE) {
if (type.data.channel_id === set) {
items3.push(type);
}
}
}
items4.push(type);
});
const items2 = [];
set = items2;
items3 = [];
items4 = [];
const item1 = closure_30.forEach((id) => {
const tmp = null != outer1_20.getReadTimestamp(id.id);
let tmp4 = id.type === set1(items3[19]).ICYMIItemTypes.MESSAGE;
if (tmp4) {
const message_context = id.data.message_context;
let prop;
if (message_context != null) {
prop = message_context.external_content_application_id;
}
tmp4 = null == prop;
}
let tmp6 = tmp;
if (tmp4) {
let tmp7 = tmp;
if (!tmp) {
tmp7 = !tmp2(tmp3[18]).isItemUnreadInChannel(id.data.channel_id, id.data.message_id);
const tmp2Result = tmp2(tmp3[18]);
}
tmp6 = tmp7;
}
if (tmp6) {
set1.push(id);
} else {
if (id.type === tmp2(tmp3[19]).ICYMIItemTypes.MESSAGE) {
if (id.data.has_mention) {
items3.push(id);
}
}
items2.push(id);
}
});
const items5 = [...items3];
const items6 = [items5, items2.sort((id, id2) => set1(items3[18]).compareGravityUnreadIds(id.id, id2.id))];
const arr8 = getNewUnreadItems(callback(items6, 2)[0], channelId);
if (c41) {
let tmp15 = tmp2;
if (tmp2) {
tmp15 = arr8.length >= set(items4[19]).MIN_ITEMS_FOR_NEW_PILL;
}
let tmp5 = tmp15;
} else {
tmp5 = tmp2;
if (tmp2) {
const _Date = Date;
const diff = Date.now() - c29;
let flag = false;
if (diff > 6 * items3(items4[17]).Millis.HOUR) {
const _Set = Set;
set = new Set(items1.map((id) => id.id));
const substr = arr9.slice(0, 20);
flag = substr.filter((id) => set1.has(id.id)).length >= 3;
}
tmp5 = flag;
arr9 = closure_30;
}
}
let c40 = tmp5;
if (0 === items.length) {
if (tmp2 === c40) {
return false;
}
}
if (0 !== items.length) {
const items7 = [];
HermesBuiltin.arraySpread(items, HermesBuiltin.arraySpread(items7, 0));
}
}
({ eventScheduledToStartWithin: closure_6, isGuildEventEnded: error, isGuildScheduledEventActive: metroImportAll } = scheduledEventSort);
({ ChannelTypes: closure_21, GuildFeatures: closure_22, Permissions: closure_23 } = ME);
const DAY = require("set").Millis.DAY;
let closure_26 = 3 * require("set").Millis.DAY;
let closure_27 = [];
let c28 = null;
let c29 = 0;
let closure_30 = [];
let closure_31 = [];
let closure_32 = {};
let closure_33 = {};
let closure_34 = {};
let closure_35 = {};
let closure_36 = {};
let closure_37 = {};
let c38 = 0;
let c39 = false;
let c40 = false;
let c41 = false;
let c42 = null;
let c43 = null;
let c44 = 0;
let closure_45 = [];
let closure_46 = [];
let c47 = 0;
let closure_48 = [];
let c49 = 0;
let c50 = true;
let c51 = false;
let set = new Set();
let c53 = false;
let c54 = false;
let c55 = 0;
let c56 = 0;
class ICYMIStore extends PersistedStore {
}
const prototype = ICYMIStore.prototype;
prototype["initialize"] = function initialize(dehydratedItems) {
this.waitFor(fetchFingerprint, ensureGuildLoaded, map, getHash, initialize, closure_9, createGuildRecordFromRust, closure_19, closure_20, reinjectEphemerals, getUncachedChannelPermissions, generateOldThreadCutoff, upsertRelationship, updateUserGuildSettingsInternal);
if (null != dehydratedItems) {
dehydratedItems = dehydratedItems.dehydratedItems;
if (dehydratedItems == null) {
dehydratedItems = [];
}
const item = dehydratedItems.forEach((id) => {
closure_33[id.id] = id;
});
let customGuildScores = dehydratedItems.customGuildScores;
if (customGuildScores == null) {
customGuildScores = {};
}
let prop = dehydratedItems.customChannelScoresByGuild;
if (prop == null) {
prop = {};
}
let num = dehydratedItems.numOpens;
if (num == null) {
num = 0;
}
let num2 = dehydratedItems.lastOpened;
if (num2 == null) {
num2 = 0;
}
let num3 = dehydratedItems.lastJoinedRecommendedGuild;
if (num3 == null) {
num3 = 0;
}
let num4 = dehydratedItems.lastTakenICYMISurvey;
if (num4 == null) {
num4 = 0;
}
}
};
prototype["getVersion"] = function getVersion() {
return c38;
};
prototype["getDehydratedItems"] = function getDehydratedItems() {
return closure_27;
};
prototype["getNewDehydratedItems"] = function getNewDehydratedItems() {
return closure_30;
};
prototype["getDehydratedItem"] = function getDehydratedItem(arg0) {
let tmp = table[arg0];
if (tmp == null) {
tmp = null;
}
return tmp;
};
prototype["getHydratedItem"] = function getHydratedItem(id) {
let tmp = dependencyMap[id];
if (tmp == null) {
tmp = null;
}
return tmp;
};
prototype["getMessage"] = function getMessage(arg0) {
let message = null;
if (null != dependencyMap[arg0]) {
message = null;
if (tmp.type === require(7304) /* MessageEmbedTypes */.ICYMIItemTypes.MESSAGE) {
message = tmp.message;
}
}
return message;
};
prototype["getHydratedItems"] = function getHydratedItems() {
return closure_34;
};
prototype["getUnreadDisplayItems"] = function getUnreadDisplayItems() {
return closure_45;
};
prototype["getNewUnreadDehydratedItems"] = function getNewUnreadDehydratedItems() {
return closure_31;
};
prototype["getReadDisplayItems"] = function getReadDisplayItems() {
return closure_46;
};
prototype["getNextIndexToHydrate"] = function getNextIndexToHydrate() {
return c47;
};
prototype["getMissingItems"] = function getMissingItems() {
return closure_35;
};
prototype["customMuted"] = function customMuted(id, id) {
const self = this;
const customGuildScore = this.getCustomGuildScore(id);
let tmp4 = customGuildScore === require(8912) /* generateHydrationId */.ICYMICustomScore.MUTED;
if (!tmp4) {
const customChannelScore = self.getCustomChannelScore(id, id);
tmp4 = customChannelScore === require(8912) /* generateHydrationId */.ICYMICustomScore.MUTED;
}
return tmp4;
};
prototype["getCustomChannelScore"] = function getCustomChannelScore(guild_id, id) {
if (null != dependencyMap2[guild_id]) {
if (null != dependencyMap2[guild_id][id]) {
let UNKNOWN = require(8912) /* generateHydrationId */.numberToCustomScore(dependencyMap2[guild_id][id]);
const obj = require(8912) /* generateHydrationId */;
}
return UNKNOWN;
}
UNKNOWN = require(8912) /* generateHydrationId */.ICYMICustomScore.UNKNOWN;
};
prototype["getCustomGuildScore"] = function getCustomGuildScore(id) {
let num = table2[id];
if (num == null) {
num = 0;
}
return num;
};
prototype["getCustomGuildScores"] = function getCustomGuildScores() {
return closure_36;
};
prototype["hasNewContent"] = function hasNewContent() {
return c40;
};
prototype["getCurrentStatusAttachments"] = function getCurrentStatusAttachments(arg0) {
if (null != _null) {
return [];
}
};
prototype["getLoadId"] = function getLoadId() {
return c28;
};
prototype["hasOpenedEnoughTimes"] = function hasOpenedEnoughTimes() {
return 5 === c44;
};
prototype["hasOpened"] = function hasOpened() {
return c41;
};
prototype["getDiscoverableGuilds"] = function getDiscoverableGuilds() {
return closure_48;
};
prototype["videosMuted"] = function videosMuted() {
return c50;
};
prototype["isRefreshing"] = function isRefreshing() {
return c51;
};
prototype["isHydrating"] = function isHydrating() {
return set.size > 0;
};
prototype["notificationItem"] = function notificationItem(arg0) {
return c43;
};
prototype["getIsTabFocused"] = function getIsTabFocused() {
return c53;
};
prototype["isFirstPageHydrated"] = function isFirstPageHydrated() {
return c54;
};
prototype["lastScrollEvent"] = function lastScrollEvent() {
return c55;
};
prototype["lastTakenICYMISurvey"] = function lastTakenICYMISurvey() {
return c56;
};
prototype["getIndexInHydratedFeed"] = function getIndexInHydratedFeed(id) {
let closure_0 = id;
if ("recommended_guilds" !== id) {
if ("recommendedGuilds" !== id) {
const items = [];
HermesBuiltin.arraySpread(closure_46, HermesBuiltin.arraySpread(closure_45, 0));
const found = items.filter((arg0) => null != table2[arg0.id]);
let findIndexResult = found.findIndex((id) => id.id === closure_0);
}
return findIndexResult;
}
const items1 = [...closure_46];
findIndexResult = items1.findIndex((type) => type.type === id(table[19]).ICYMIItemTypes.RECOMMENDED_GUILDS);
};
prototype["getState"] = function getState() {
return { dehydratedItems: closure_27, numOpens: c44, customGuildScores: closure_36, customChannelScoresByGuild: closure_37, lastOpened: c29, lastJoinedRecommendedGuild: c49, lastTakenICYMISurvey: c56 };
};
ICYMIStore.displayName = "ICYMIStore";
ICYMIStore.persistKey = "ICYMIStore";
const iCYMIStore = new ICYMIStore(require("dispatcher"), {
LOGOUT: function handleLogout() {
let closure_27 = [];
let closure_30 = [];
let closure_31 = [];
let closure_33 = {};
let closure_32 = {};
let closure_34 = {};
let closure_35 = {};
let c28 = null;
let closure_36 = {};
let closure_37 = {};
let c38 = 0;
let c39 = false;
let c40 = false;
let c41 = false;
let closure_45 = [];
let closure_46 = [];
let c47 = 0;
let c29 = 0;
let c49 = 0;
let c50 = true;
let c51 = false;
const set = new Set();
let c43 = null;
let c53 = false;
let c54 = false;
let c42 = null;
let c55 = 0;
},
LOAD_ICYMI_FROM_NOTIFICATION: function handleLoadICYMIFromNotification(arg0) {
let closure_45;
let closure_46;
let customStatusItem;
let messageItem;
({ messageItem, customStatusItem } = arg0);
if (null != customStatusItem) {
if (null == c28) {
return true;
} else {
if (items7.length > 0) {
let items = items7;
} else {
items = [];
HermesBuiltin.arraySpread(items1, 0);
}
items7 = items;
finalizeNewDehydratedItemsContent();
reload();
}
} else if (null != messageItem) {
let obj = { id: null, type: null, score: 50, data: null };
obj[0] = messageItem.message.id;
obj[1] = items2(items4[19]).ICYMIItemTypes.MESSAGE;
obj = { channel_id: null, message_id: null, guild_id: null, channel_type: null };
obj[0] = messageItem.channel_id;
obj[1] = messageItem.message.id;
obj[2] = messageItem.guild_id;
obj[3] = constants.GUILD_TEXT;
obj[3] = obj;
closure_33[messageItem.message.id] = obj;
obj = {};
const merged = Object.assign(obj);
obj.message = items2(items4[25]).createMessageRecord(messageItem.message);
closure_34[messageItem.message.id] = obj;
if (null == c28) {
if (null == closure_32) {
items1 = [obj];
HermesBuiltin.arraySpread(items1, 1);
items2 = [];
const items3 = [];
items4 = [];
const item = items1.forEach((id) => {
const tmp = null != outer1_20.getReadTimestamp(id.id);
let tmp4 = id.type === set1(items3[19]).ICYMIItemTypes.MESSAGE;
if (tmp4) {
const message_context = id.data.message_context;
let prop;
if (message_context != null) {
prop = message_context.external_content_application_id;
}
tmp4 = null == prop;
}
let tmp6 = tmp;
if (tmp4) {
let tmp7 = tmp;
if (!tmp) {
tmp7 = !tmp2(tmp3[18]).isItemUnreadInChannel(id.data.channel_id, id.data.message_id);
const tmp2Result = tmp2(tmp3[18]);
}
tmp6 = tmp7;
}
if (tmp6) {
set1.push(id);
} else {
if (id.type === tmp2(tmp3[19]).ICYMIItemTypes.MESSAGE) {
if (id.data.has_mention) {
items3.push(id);
}
}
items2.push(id);
}
});
const items5 = [];
HermesBuiltin.arraySpread(items3, HermesBuiltin.arraySpread(items4, 0));
const items6 = [items5, items2.sort((id, id2) => set1(items3[18]).compareGravityUnreadIds(id.id, id2.id))];
[closure_45, closure_46] = callback(items6, 2);
const tmp26 = callback(items6, 2);
}
return true;
}
items7 = [obj];
HermesBuiltin.arraySpread(items7, 1);
reload();
const obj4 = items2(items4[25]);
} else {
return false;
}
},
LOAD_ICYMI_DEHYDRATED: function handleLoadDehydrated(items) {
let arr10;
let arr9;
let isInitialLoad;
let isReloading;
let loadId;
let startTime;
items = items.items;
let set1;
({ loadId, startTime, isInitialLoad, isReloading } = items);
set1 = new Set(set1(items3[19]).SUPPORTED_ITEM_TYPES);
const found = items.filter((type) => set1.has(type.type));
const found1 = found.filter(filterStaffGuild);
let closure_30 = found1.map((type) => {
if (type.type === set1(items3[19]).ICYMIItemTypes.MESSAGE) {
if (null != type.data.message_context) {
let tmp2 = null != type.data.message_context.reply_message_id;
if (tmp2) {
const _parseInt = parseInt;
tmp2 = 0 !== parseInt(type.data.message_context.reply_message_id);
}
const obj = {};
if (tmp2) {
obj.reply_message_id = type.data.message_context.reply_message_id;
}
let tmp3 = null != type.data.message_context.before_message_id;
if (tmp3) {
const _parseInt2 = parseInt;
tmp3 = 0 !== parseInt(type.data.message_context.before_message_id);
}
if (tmp3) {
obj.before_message_id = type.data.message_context.before_message_id;
}
let tmp5 = null != type.data.message_context.after_message_id;
if (tmp5) {
const _parseInt3 = parseInt;
tmp5 = 0 !== parseInt(type.data.message_context.after_message_id);
}
if (tmp5) {
obj.after_message_id = type.data.message_context.after_message_id;
}
let tmp7 = null != type.data.message_context.external_content_application_id;
if (tmp7) {
const _parseInt4 = parseInt;
tmp7 = 0 !== parseInt(type.data.message_context.external_content_application_id);
}
if (tmp7) {
obj.external_content_application_id = type.data.message_context.external_content_application_id;
}
let tmp9 = null != type.data.message_context.reference_message_id;
if (tmp9) {
const _parseInt5 = parseInt;
tmp9 = 0 !== parseInt(type.data.message_context.reference_message_id);
}
if (tmp9) {
obj.reference_message_id = type.data.message_context.reference_message_id;
}
type.data.message_context = obj;
}
}
return type;
});
finalizeNewDehydratedItemsContent();
let obj = { load_id: loadId, load_time_millis: Date.now() - startTime, feed_item_ids: closure_30.map((id) => id.id) };
const items1 = [];
set1 = items1;
const items2 = [];
items3 = [];
const item = closure_30.forEach((id) => {
const tmp = null != outer1_20.getReadTimestamp(id.id);
let tmp4 = id.type === set1(items3[19]).ICYMIItemTypes.MESSAGE;
if (tmp4) {
const message_context = id.data.message_context;
let prop;
if (message_context != null) {
prop = message_context.external_content_application_id;
}
tmp4 = null == prop;
}
let tmp6 = tmp;
if (tmp4) {
let tmp7 = tmp;
if (!tmp) {
tmp7 = !tmp2(tmp3[18]).isItemUnreadInChannel(id.data.channel_id, id.data.message_id);
const tmp2Result = tmp2(tmp3[18]);
}
tmp6 = tmp7;
}
if (tmp6) {
set1.push(id);
} else {
if (id.type === tmp2(tmp3[19]).ICYMIItemTypes.MESSAGE) {
if (id.data.has_mention) {
items3.push(id);
}
}
items2.push(id);
}
});
const items4 = [...items2];
const items5 = [items4, items1.sort((id, id2) => set1(items3[18]).compareGravityUnreadIds(id.id, id2.id))];
const set = new Set(set1(items3[19]).SUPPORTED_ITEM_TYPES);
[arr9, arr10] = callback(items5, 2);
const arr11 = getNewUnreadItems(arr9);
if (c41) {
if (0 !== c38) {
if (!isInitialLoad) {
if (c38 > 0) {
let c43 = null;
}
const tmp8 = arr11.length > tmp(tmp2[19]).MIN_ITEMS_FOR_NEW_PILL;
if (!isReloading) {
let c40 = tmp8;
}
if (tmp8) {
const items6 = [];
HermesBuiltin.arraySpread(arr10, HermesBuiltin.arraySpread(arr9, 0));
tmp(tmp2[18]).hydrateItems(items6, 0, tmp(tmp2[19]).ICYMI_PAGE_SIZE);
if (arr9.length + arr10.length === 0) {
let c54 = true;
}
const tmpResult = tmp(tmp2[18]);
}
const ICYMIAnalytics = tmp(tmp2[23]).ICYMIAnalytics;
obj = { newTrackingProps: null, hasNewContent: null, unreadFeedItems: null, readFeedItems: null, homeSessionId: null };
obj[0] = obj;
obj[1] = c40;
obj[2] = arr9;
obj[3] = arr10;
let str = "background_load";
if (c53) {
str = "foreground_load";
}
obj[4] = str;
ICYMIAnalytics.trackFeedLoaded(obj);
}
}
}
c38 = 0;
if (!c53) {
const _Date = Date;
const diff = Date.now() - c29;
let flag = false;
if (diff > 6 * items2(tmp2[17]).Millis.HOUR) {
const _Set = Set;
set1 = new Set(arr9.map((id) => id.id));
const substr = arr13.slice(0, 20);
flag = substr.filter((id) => set1.has(id.id)).length >= 3;
}
if (flag) {
c40 = true;
let c39 = true;
}
obj = { newUnread: null, newRead: null };
obj[0] = arr9;
obj[1] = arr10;
reload(obj);
arr13 = closure_30;
}
c40 = false;
},
LOAD_ICYMI_HYDRATED: function handleLoadHydratedItems(arg0) {
let activityItems;
let endingIndex;
let messageItems;
let requestActivityItems;
let requestMessageItems;
let startingIndex;
({ messageItems, activityItems, requestMessageItems, requestActivityItems, startingIndex, endingIndex } = arg0);
let _require;
let closure_1;
let c54 = true;
let obj = {};
let merged = Object.assign(obj);
_require = messageItems.reduce((arg0, message) => {
arg0[message.message.id] = message;
return arg0;
}, {});
closure_1 = activityItems.reduce((arg0, id) => {
arg0[id.id] = id;
return arg0;
}, {});
const item = requestMessageItems.forEach((message_id) => {
if (null != dependencyMap[message_id.message_id]) {
let tmp4 = outer1_33[message_id.message_id];
if (null == tmp4) {
let obj = { id: null, type: null, score: -1, data: null };
obj[0] = message_id.message_id;
obj[1] = dependencyMap(outer1_2[19]).ICYMIItemTypes.MESSAGE;
obj = { guild_id: null, channel_id: null, message_id: null, channel_type: null, has_mention: false };
({ guild_id: obj2[0], channel_id: obj2[1] } = tmp);
obj[2] = tmp.message.id;
obj[3] = outer1_21.GUILD_TEXT;
obj[3] = obj;
tmp4 = obj;
}
const message = outer1_14.getMessage(tmp.channel_id, tmp.message.id);
if (null != message) {
obj = {};
const merged = Object.assign(dependencyMap(outer1_2[18]).createGravityMessageFromServer(tmp, tmp4));
obj.message = message;
obj[tmp.message.id] = obj;
const obj4 = dependencyMap(outer1_2[18]);
} else {
obj[tmp.message.id] = dependencyMap(outer1_2[18]).createGravityMessageFromServer(tmp, tmp4);
const obj3 = dependencyMap(outer1_2[18]);
}
} else {
outer1_35[message_id.message_id] = true;
}
});
const item1 = requestActivityItems.forEach((content_id) => {
if (null != table[content_id.content_id]) {
if (null != outer1_33[content_id.content_id]) {
const obj = {};
const merged = Object.assign(tmp4);
obj.activity = tmp;
obj[tmp.id] = obj;
} else {
outer1_35[content_id.content_id] = true;
}
} else {
outer1_35[content_id.content_id] = true;
}
});
set.delete(_require(8912).generateHydrationId(startingIndex, endingIndex));
},
LOAD_ICYMI_CUSTOM_SCORES: function handleLoadCustomScores(arg0) {
const iter = arg0.scores[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp2 = nextResult;
let tmp3 = obj;
obj[nextResult.guild_id] = nextResult.guild_score;
let tmp4 = maybeFilterGuildItems;
let tmp5 = maybeFilterGuildItems(nextResult.guild_id, nextResult.guild_score);
let _Object = Object;
let keys = Object.keys(nextResult.custom_channel_scores);
let tmp7 = keys;
let tmp8 = keys;
for (const item10028 of keys) {
let tmp9 = item10028;
let tmp10 = obj;
let tmp11 = nextResult;
if (null == obj[tmp2.guild_id]) {
let tmp12 = obj;
let tmp13 = nextResult;
obj[tmp2.guild_id] = {};
}
let tmp14 = obj;
let tmp15 = nextResult;
let tmp16 = item10028;
obj[tmp2.guild_id][tmp9] = tmp2.custom_channel_scores[tmp9];
let tmp17 = maybeFilterChannelItems;
let tmp18 = maybeFilterChannelItems(tmp9, tmp2.custom_channel_scores[tmp9]);
continue;
}
continue;
}
obj = {};
const merged = Object.assign(obj);
obj = {};
const merged1 = Object.assign(obj);
},
LOAD_ICYMI_RECOMMENDED_GUILDS: function loadICYMIRecommendedGuilds(guilds) {
guilds = guilds.guilds;
let closure_48 = guilds.map((guild) => callback(table[24]).makeDiscoverableGuild(guild.guild));
injectRecommendedGuildsRow();
},
ICYMI_CUSTOM_SCORES_UPDATED: function handleCustomScoresUpdated(guildScore) {
let channelScores;
let guildId;
({ channelScores, guildId } = guildScore);
guildScore = guildScore.guildScore;
if (null != guildScore) {
obj[guildId] = guildScore;
maybeFilterGuildItems(guildId, guildScore);
obj = {};
let merged = Object.assign(obj);
}
if (channelScores != null) {
const item = channelScores.forEach((arg0) => {
let channelId;
let score;
({ channelId, score } = arg0);
if (null == outer1_37[guildId]) {
outer1_37[tmp] = {};
}
outer1_37[guildId][channelId] = score;
outer1_63(channelId, score);
const merged = Object.assign(outer1_37);
outer1_37 = {};
});
}
},
RELOAD_ICYMI: function handleReloadTab() {
if (0 === closure_30.length) {
return false;
} else {
reload();
let c40 = false;
}
},
ICYMI_TAB_OPENED: function handleGravityTabOpened() {
let c41 = true;
let closure_29 = Date.now();
if (c39) {
c39 = false;
let c40 = false;
}
if (closure_44 < 5) {
closure_44 = closure_44 + 1;
}
},
ICYMI_FEEDBACK_GIVEN: function handleGravityFeedback() {
let c44 = 6;
},
MESSAGE_REACTION_ADD: handleReaction,
MESSAGE_REACTION_ADD_MANY: function handleReactionBatch(arg0) {
if (null == dependencyMap[arg0.messageId]) {
return false;
} else if (tmp2.type !== require(7304) /* MessageEmbedTypes */.ICYMIItemTypes.MESSAGE) {
return false;
} else {
const message = tmp2.message;
tmp2.message = message.addReactionBatch(tmp, store.getId());
}
},
MESSAGE_REACTION_REMOVE: handleReaction,
MESSAGE_REACTION_REMOVE_ALL: function handleRemoveAllReactions(arg0) {
let tmp2 = null != tmp;
if (tmp2) {
const tmp5 = tmp.type === require(7304) /* MessageEmbedTypes */.ICYMIItemTypes.MESSAGE;
if (tmp5) {
const message = tmp.message;
tmp.message = message.set("reactions", []);
}
tmp2 = tmp5;
}
return tmp2;
},
MESSAGE_REACTION_REMOVE_EMOJI: function handleRemoveEmojiReactions(arg0) {
let tmp3 = null != tmp2;
if (tmp3) {
const tmp6 = tmp2.type === require(7304) /* MessageEmbedTypes */.ICYMIItemTypes.MESSAGE;
if (tmp6) {
const message = tmp2.message;
tmp2.message = message.removeReactionsForEmoji(tmp);
}
tmp3 = tmp6;
}
return tmp3;
},
CHANNEL_ACK: handleAck,
MESSAGE_ACK: handleAck,
ICYMI_JOINED_RECOMMENDED_GUILD: function handleJoinedRecommendedGuild() {
let closure_49 = Date.now();
},
ICYMI_SET_VIDEOS_MUTED: function handleSetVideosMuted(muted) {
muted = muted.muted;
},
ICYMI_SET_REFRESHING: function handleSetRefreshing(refreshing) {
refreshing = refreshing.refreshing;
},
LOAD_ICYMI_HYDRATED_ATTEMPT: function handleLoadHydratedAttempt(hydrationId) {
set.add(hydrationId.hydrationId);
},
LOAD_ICYMI_HYDRATED_FAILED: function handleLoadHydratedFailed(hydrationId) {
set.delete(hydrationId.hydrationId);
},
ICYMI_SET_FOCUSED_TAB: function handleSetFocusedTab(focused) {
focused = focused.focused;
},
LOAD_ICYMI_CURRENT_STATUS_MEDIA: function handleLoadCurrentStatusMedia(attachments) {
attachments = attachments.attachments;
let tmp2 = null;
if (null != attachments) {
tmp2 = null;
if (0 !== attachments.length) {
const items = [tmp, ];
const items1 = [];
HermesBuiltin.arraySpread(attachments, 0);
items[1] = items1;
tmp2 = items;
}
}
let c42 = tmp2;
},
ICYMI_SCROLL_EVENT: function handleScrollEvent(timestamp) {
timestamp = timestamp.timestamp;
},
ICYMI_TAKE_SURVEY: function handleTakeSurvey(takenAt) {
takenAt = takenAt.takenAt;
}
});
let result = set.fileFinishedImporting("modules/icymi/ICYMIStore.tsx");
export default iCYMIStore;