Module 734057

10,055 characters · in no known chunk
Dependencies
Required by (553)
54713109448984210364108221582325508293852981430108317173316433358359034016941402446324549446282486865594758923612306258362849632386399564622647496644267319699457439974847771387758077584814378214990804909249186892960934749556196782101392102853104731105009105289107632107795108959109591112107112389112753116956121127121806123393123677123917123973130553131677138617139286140069140539141157143657145567147248149741157550158956159730167132171076171950174768175269175671176360177068177141178418180170180662181622183041184809185522185657187654190930191248191701197808198525201274202195205761206778207133207274207777212053214787217424218152218785219065223863224868225142232492232571232835237749239705240591241188241215241499242874243258246943250719251632252726256106256265259374263356264322266645267889271006274541277370280157282108283012283540287706288254288539291247297460297469298236302959304232304578308368308528308726309010309777309858310031312006312625313961313998315206315240315790320080323073323350325909328857330001333179333369334738343328349435350527350701352018352043352123353202354583361926366554370997373397374084376728376943378570380335381689384059387704387755390248392553394412394871394953401124401155401843402857403895405916406595406704407278409352409686413528417360418208418838419534422844424798427080429933430795435183435470436283436405438407439129439147444261447215448290448613450149450740450827451556451909451919453314454058456874458294463105464035467691468389470710471993473503473529474399475706477156477427479975480595480890481477483883484724485296485394486524487626488358488926493336496879499211500414503509508654513480514581516311517092518769519222519342523200525828527678529942530209530789530804530912531519537808538899539895541712543465545185547166549406550151552258552618555067556300557740560595561965562153565846566331566396566668568548568598570314572044574660575293576705577593578623578839580763583955584569584777586660588857589935591552593284595244602350602902607407607508607567616356617710618989619065619921620018624265625928627669628691631963632789635565636922639288640132641703642213645959648427649963651649652364655098658128659324659617663912664708665440669953671884672957675171679804682176682455684339685374685961689035691060692986693806695311695633696451700331700948704456706083707335713132714114716965717125720882722855725792727011728033729398730852731383732755733110735547739174739455740438741231741961742424742788746793753738753806754744758873761640763375763754767581767675768038768953769765774300775427776781776971778595782091787458789543790535793322795816796175798286799061802958803977806677807632808323808728811024813564816578816662817636820431822074822382825453825894827343827641831688837528841811843626844789847599851588853145853742857500859524860071861464862544863036863922866842867455870748871237872243873614876717877133878317879732882362885437885918886235886393887560888250889426889460892340893605901472903209903369907745911315912018913481914119914905917012920639921955924985928078931260931480933958935505936388936449937767943577944043944052944775945886946228950075951727953832954243954784956549956703957292960755961349961973963307965162966833967388969508969632970048970278970309973153973854976639978994979748983161984624990474
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>eo,D:()=>B}),n(205816);var i=n(435558),r=n.n(i),a=n(61090),s=n(17928),l=n(228366),o=n(723176),d=n(154049),c=n(531743),u=n(453001),_=n(736400),E=n(311016),A=n(626584),h=n(181079),I=n(95701),f=n(403362),p=n(935208),T=n(280450),m=n(71393),g=n(287809),S=n(652215);let N=new A.A("ChannelStore"),C={},O={},R={},L={},y=null,D={},v={},b={},M=0,P={},U={},w=new Set,G={},x=0,k={},F=0,V=0;class B{static loadAllMissingChannels(){let e=m.A.getGuildIds().filter(e=>!w.has(e));return this.loadGuildIds(e)}static loadGuildFromChannelId(e){return null==e?null:B.loadGuildIds([Y(e)?.guild_id])}static loadGuildIds(e){let t=e.filter(f.Vq);if(0===t.length)return null;let n=o.A.database();if(null==n||!t.some(e=>!w.has(e)))return null;let i=x;return(0,d.ES)("loadChannels",async()=>{let e=t.map(e=>{if(w.has(e))return null;if(null!=G[e])return N.fileOnly(`Skipping loading ${e} because a load is pending`),null;let t=c.A.getAsync(n,e).then(t=>(N.fileOnly(`Lazy loaded channels for ${e} #:${t.length}`),{guildId:e,channels:t}));return G[e]=t,{guildId:e,promise:t}}).filter(f.Vq),r=e.map(e=>e.promise);try{let t=await Promise.all(r);if(x!==i)return N.fileOnly("lastResetTime has changed, skipping loads for "+e.map(e=>e.guildId)),null;let n=t.filter(e=>!w.has(e.guildId));await l.h.dispatch({type:"LOAD_CHANNELS",channels:n})}catch(t){for(let n of(N.error("Failed to load channels from disk for "+e.map(e=>e.guildId),t),e))delete G[n.guildId];throw t}return null})}}function H(e,t,n){if(null==e||"null"===e||w.has(e)||0===t&&u.A.hasGuild(e))return;let i=o.A.database();if(null==i)return;N.verbose(`hydrating guild (guild: ${e}, trace: ${n})`);let r=(0,d.Ek)(`ensureGuildLoaded(${e})`,()=>c.A.getSync(i,e),"ensureGuildLoaded");if(null==r){w.add(e),u.A.restored(e),N.log(`load returned null; early returning (guild: ${e}, database: ${i})`);return}let[s,l]=r;for(let n of((0,_.Ay)(s),0!==t&&(V+=1),w.add(e),u.A.restored(e),a.A.mark("\u2757",`loaded guild channels (guild: ${e})`,l),s))Object.hasOwn(O,n.id)||Z((0,I.oh)(n));N.verbose(`hydration complete (guild: ${e}, channels: ${s.length}, guilds_loaded: ${V})`)}function j(e,t,n){if(!Object.hasOwn(O,e)&&!Object.hasOwn(L,e)&&!Object.hasOwn(D,e)&&!Object.hasOwn(U,e)&&1===t){let i=u.A.getBasicChannel(e);i?.guild_id!=null&&H(i.guild_id,t,n)}}function W(e){if(N.fileOnly(`Deleting guild channels for ${e}`),null!=R[e]){for(let t of p.default.keys(R[e]))delete O[t];delete R[e]}null!=v[e]&&delete v[e]}function Y(e){return j(e,0,"getBasicChannel"),O[e]??L[e]??D[e]??U[e]??u.A.getBasicChannel(e)}function K(e){return j(e,1,"getChannel"),O[e]??L[e]??D[e]??U[e]??k[e]}function $(e){e.isPrivate()?(delete k[e.id],z(e)):e.isThread()?q(e):I.uL.has(e.type)&&Z(e)}function z(e){if(null!=e.recipients.find(e=>(0,E.A)(e)))return!1;L[e.id]=e,e.type===S.rbe.DM&&(b[e.getRecipientId()]=e.id),M+=1}function q(e){let t=O[e.parent_id];D[e.id]=e.merge({nsfw:t?.nsfw===!0,parentChannelThreadType:t?.type}),e.isScheduledForDeletion()&&l.h.dispatch({type:"THREAD_DELETE",channel:e})}function Z(e){let{id:t,guild_id:n}=e;O[t]=e,R[n]=R[n]??{},R[n][t]=e,P[n]=(P[n]??0)+1,null!=e.linkedLobby?(v[n]=v[n]??{},v[n][t]=e):delete v[n]?.[t]}function X(e){let{id:t,channels:n,threads:i}=e;switch(n.op){case"full_sync":for(let e of(N.fileOnly(`ConnectionOpen contained full channels for ${t} #:${n.items.length}`),W(t),w.add(t),u.A.restored(t),n.items))Z(e);break;case"update":for(let e of((n.writes.length>0||n.deletes.length>0)&&u.A.invalidate(t),n.deletes))ee(O[e]);for(let e of n.writes)Z(e)}if(null!=i)for(let e of i)q(e)}function Q(e){if(!I.A_.has(e.channel.type))return!1;let t=K(e.channel.id);$(t=null==t?e.channel:t.merge({...e.channel.toJS(),bitrate:e.channel.bitrate??t.bitrate}))}function J(e){let{threads:t}=e;t.forEach(e=>{I.A_.has(e.type)&&$((0,I.UE)(e))})}function ee(e){if(null==e)return;let t=e.guild_id;e.id in L&&delete L[e.id],e.id in O&&delete O[e.id],e.id in D&&delete D[e.id],null!=t&&(null!=R[t]&&e.id in R[t]&&delete R[t][e.id],null!=v[t]&&e.id in v[t]&&delete v[t][e.id]),null==e.guild_id||I.Le.has(e.type)?(0,I.Gw)(e.type)&&(M+=1):P[e.guild_id]=(P[e.guild_id]??0)+1}function et(e){let{channel:t}=e,n=O[t.id]??L[t.id]??D[t.id];if(null==n)return!1;ee(n),function(e){if("basicPermissions"in e||e.type!==S.rbe.DM)return;let t=e.getRecipientId();b[t]===e.id&&delete b[t]}(n)}function en(e){let{messages:t}=e;for(let e of t)null!=e.thread&&!(e.thread.id in D)&&I.A_.has(e.thread.type)&&q((0,I.UE)(e.thread))}function ei(e){let{data:t}=e;t.forEach(e=>{let{messages:t,threads:n,channels:i}=e;t.forEach(e=>{e.forEach(e=>{er(e.thread)})}),n.forEach(er),i.forEach(e=>{let t=(0,I.UE)(e),n=null!=K(e.id),i=null!=k[e.id];t.isPrivate()&&(!n||i)?k[t.id]=t:n||$(t)})})}function er(e){null!=e&&!(e.id in D)&&I.A_.has(e.type)&&q((0,I.UE)(e))}function ea(){for(let e in U={},h.A.getFavoriteChannels()){let t=h.A.getCategoryRecord(e);null!=t&&(U[e]=t)}}class es extends s.Ay.Store{static displayName="ChannelStore";initialize(){this.waitFor(T.default,u.A,h.A,m.A,g.default),this.syncWith([h.A],ea)}hasChannel(e){return null!=Y(e)}getBasicChannel(e){if(null!=e)return Y(e)}getChannel(e){if(null!=e)return K(e)}loadAllGuildAndPrivateChannelsFromDisk(){for(let e of m.A.getGuildIds())H(e,1,"loadAllGuildAndPrivateChannelsFromDisk");return{...O,...L}}getChannelIds(e){return(H(e,0,"getChannelIds"),null==e)?p.default.keys(L):p.default.keys(u.A.getGuildBasicChannels(e)??R[e]??C)}getMutablePrivateChannels(){return L}getMutableBasicGuildChannelsForGuild(e){return H(e,0,"getMutableBasicGuildChannelsForGuild"),u.A.getGuildBasicChannels(e)??R[e]??C}getMutableGuildChannelsForGuild(e){return H(e,1,"getMutableGuildChannelsForGuild"),R[e]??C}getSortedLinkedChannelsForGuild(e){return r().values(v[e]??C).sort((e,t)=>p.default.compare(e.id,t.id))}getSortedPrivateChannels(){return r()(L).values().sort((e,t)=>p.default.compare(e.lastMessageId,t.lastMessageId)).reverse().value()}getDMFromUserId(e){if(null!=e)return b[e]}getDMChannelFromUserId(e){if(null!=e)return this.getChannel(b[e])}getMutableDMsByUserIds(){return b}getDMUserIds(){return p.default.keys(b)}getPrivateChannelsVersion(){return M}getGuildChannelsVersion(e){return P[e]??0}getAllThreadsForParent(e){return r().values(D).filter(t=>t.parent_id===e)}getAllThreadsForGuild(e){return r().values(D).filter(t=>t.guild_id===e)}getInitialOverlayState(){return{...O,...L,...D}}getDebugInfo(){return{loadedGuildIds:Array.from(w).sort(p.default.compare),pendingGuildLoads:Object.keys(G).sort(p.default.compare),guildSizes:Object.keys(R).sort(p.default.compare).map(e=>`${e}: ${el(e)}`)}}}function el(e){return null==R[e]?null:Object.keys(R[e]).length}let eo=new es(l.h,{BACKGROUND_SYNC:function(e){let{guilds:t}=e,n=R;O={},R={},P={},v={},t.forEach(e=>{if("unavailable"===e.data_mode)N.fileOnly(`Restoring guild channels b/c unavailable in bg sync, for ${e.id} #:${el(e.id)}`),r().forEach(n[e.id],Z);else if("partial"===e.data_mode){N.fileOnly(`Restoring guild channels b/c partial in bg sync, for ${e.id} #:${el(e.id)}`),r().forEach(n[e.id],Z);let t=e.partial_updates.deleted_channel_ids??[];t.length>0&&(H(e.id,1,"handleBackgroundSync"),t.forEach(e=>ee(O[e]))),e.partial_updates.channels?.forEach(t=>Z((0,I.UE)(t,e.id)))}else N.fileOnly(`BG sync contained full channels for ${e.id} #:${e.channels.length}`),W(e.id),w.add(e.id),u.A.restored(e.id),e.channels.forEach(t=>Z((0,I.UE)(t,e.id)))})},CACHE_LOADED_LAZY:function(e){for(let[t,n]of(F=Math.max(F,e.guilds.length),e.guildChannels))for(let e of(N.fileOnly(`Lazy cache contained full guild channels for ${t} #:${n.length}`),w.add(t),n))$((0,I.oh)(e))},CACHE_LOADED:function(e){F=Math.max(F,e.guilds.length);let{privateChannels:t,initialGuildChannels:n}=e;for(let e of[t,n])for(let t of e)$((0,_.n2)((0,I.oh)(t)));let i=n[0]?.guild_id;null!=i&&(N.fileOnly(`Early cache contained full guild channels for ${i}`),w.add(i))},CHANNEL_CREATE:function(e){$(e.channel)},CHANNEL_DELETE:et,CHANNEL_RECIPIENT_ADD:function(e){let t=K(e.channelId),n=T.default.getId();return!!t?.isPrivate()&&($(t.addRecipient(e.user.id,e.nick,n)),!0)},CHANNEL_RECIPIENT_REMOVE:function(e){let t=K(e.channelId);return!!t?.isPrivate()&&($(t.removeRecipient(e.user.id)),!0)},CHANNEL_UPDATES:function(e){let t=e.channels.some(e=>{let t=K(e.id);return e.nsfw!==t?.nsfw||e.type!==t?.type});for(let t of e.channels)$(t);t&&Object.values(D).forEach(e=>$(e))},CONNECTION_OPEN_SUPPLEMENTAL:function(e){let{lazyPrivateChannels:t}=e;null!=y&&(L={},y.forEach(z)),t.forEach(z)},CONNECTION_OPEN:function(e){let t=R;for(let n of(b={},O={},R={},v={},D={},P={},k={},G={},x=Date.now(),y=e.initialPrivateChannels,e.initialPrivateChannels.forEach(z),e.guilds))"partial"===n.dataMode&&(r().forEach(t[n.id],Z),N.fileOnly(`Restoring guild channels for ${n.id} #:${el(n.id)}`)),X(n);ea()},CHANNEL_PERMISSIONS_PUT_OVERWRITE_SUCCESS:function(e){let{channelId:t,overwrite:n}=e,i=K(t);if(null==i)return!1;$(i.set("permissionOverwrites",{...i.permissionOverwrites,[n.id]:n}))},CHANNEL_PERMISSIONS_DELETE_OVERWRITE_SUCCESS:function(e){let{channelId:t,overwriteId:n}=e,i=K(t);if(null==i)return!1;let r={...i.permissionOverwrites};delete r[n],$(i.set("permissionOverwrites",r))},GUILD_CREATE:function(e){X(e.guild)},GUILD_DELETE:function(e){N.fileOnly(`GuildDelete of ${e.guild.id}`),W(e.guild.id),w.delete(e.guild.id),u.A.invalidate(e.guild.id)},LOAD_ARCHIVED_THREADS_SUCCESS:J,LOAD_CHANNELS:function(e){for(let{guildId:t,channels:n}of e.channels)for(let e of(N.fileOnly(`Lazy loaded guild channels for ${t}`),(0,_.Ay)(n),w.add(t),u.A.restored(t),n))Object.hasOwn(O,e.id)||Z((0,I.oh)(e));return!1},LOAD_MESSAGES_AROUND_SUCCESS:en,LOAD_MESSAGES_SUCCESS:en,LOAD_THREADS_SUCCESS:J,LOGOUT:function(){N.fileOnly("initializeClear()"),b={},O={},R={},P={},v={},L={},k={},D={},w=new Set,G={},x=Date.now()},OVERLAY_INITIALIZE:function(e){for(let t of e.channels)$((0,_.n2)((0,I.oh)(t)))},SEARCH_MESSAGES_SUCCESS:ei,MOD_VIEW_SEARCH_MESSAGES_SUCCESS:ei,THREAD_CREATE:Q,THREAD_DELETE:et,THREAD_LIST_SYNC:function(e){let{threads:t}=e;t.forEach(e=>{I.A_.has(e.type)&&$(e)})},THREAD_UPDATE:Q})}