dotfiles/vesktop/vencordDist/vencordDesktopMain.js

23 lines
25 KiB
JavaScript
Raw Normal View History

2024-03-22 12:55:56 -05:00
// Vencord ca18b6e
2023-11-14 11:41:09 -06:00
// Standalone: true
// Platform: Universal
// Updater disabled: false
2024-03-22 12:55:56 -05:00
"use strict";var rr=Object.create;var Ee=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var ir=Object.getOwnPropertyNames;var or=Object.getPrototypeOf,ar=Object.prototype.hasOwnProperty;var L=(e,t)=>()=>(e&&(t=e(e=0)),t);var De=(e,t)=>{for(var r in t)Ee(e,r,{get:t[r],enumerable:!0})},sr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ir(t))!ar.call(e,i)&&i!==r&&Ee(e,i,{get:()=>t[i],enumerable:!(n=nr(t,i))||n.enumerable});return e};var cr=(e,t,r)=>(r=e!=null?rr(or(e)):{},sr(t||!e||!e.__esModule?Ee(r,"default",{value:e,enumerable:!0}):r,e));var l=L(()=>{"use strict"});var ie=L(()=>{"use strict";l()});var oe,Re=L(()=>{l();oe="ca18b6e"});var H,Pe=L(()=>{l();H="Vendicated/Vencord"});var et,tt=L(()=>{"use strict";l();Re();Pe();et=`Vencord/${oe}${H?` (https://github.com/${H})`:""}`});function K(e,t={}){return new Promise((r,n)=>{rt.default.get(e,t,i=>{let{statusCode:a,statusMessage:o,headers:s}=i;if(a>=400)return void n(`${a}: ${o} - ${e}`);if(a>=300)return void r(K(s.location,t));let c=[];i.on("error",n),i.on("data",f=>c.push(f)),i.once("end",()=>r(Buffer.concat(c)))})})}var rt,Ge=L(()=>{"use strict";l();rt=cr(require("https"))});function ae(e){return async function(){try{return{ok:!0,value:await e(...arguments)}}catch(t){return{ok:!1,error:t instanceof Error?{...t}:t}}}}var nt,it=L(()=>{"use strict";l();nt=["vencordDesktopMain.js","vencordDesktopPreload.js","vencordDesktopRenderer.js","vencordDesktopRenderer.css"]});var hr={};async function st(e){return K(lr+e,{headers:{Accept:"application/vnd.github+json","User-Agent":et}})}async function fr(){if(!await ct())return[];let t=await st(`/compare/${oe}...HEAD`);return JSON.parse(t.toString("utf-8")).commits.map(n=>({hash:n.sha.slice(0,7),author:n.author.login,message:n.commit.message.substring(n.commit.message.indexOf(`
`)+1)}))}async function ct(){let e=await st("/releases/latest"),t=JSON.parse(e.toString());return t.name.slice(t.name.lastIndexOf(" ")+1)===oe?!1:(t.assets.forEach(({name:n,browser_download_url:i})=>{nt.some(a=>n.startsWith(a))&&Oe.push([n,i])}),!0)}async function ur(){return await Promise.all(Oe.map(async([e,t])=>(0,ot.writeFile)((0,at.join)(__dirname,e),await K(t)))),Oe=[],!0}var se,ot,at,lr,Oe,lt=L(()=>{"use strict";l();ie();tt();se=require("electron"),ot=require("fs/promises"),at=require("path");Re();Pe();Ge();it();lr=`https://api.github.com/repos/${H}`,Oe=[];se.ipcMain.handle("VencordGetRepo",ae(()=>`https://github.com/${H}`));se.ipcMain.handle("VencordGetUpdates",ae(fr));se.ipcMain.handle("VencordUpdate",ae(ct));se.ipcMain.handle("VencordBuild",ae(ur))});l();var F=require("electron"),qt=require("path");l();l();Promise.resolve().then(()=>lt());l();ie();var _e=require("electron");l();var vt={};l();l();ie();l();var ce=class{pathListeners=new Map;globalListeners=new Set;constructor(t,r={}){this.plain=t,this.store=this.makeProxy(t),Object.assign(this,r)}makeProxy(t,r=t,n=""){let i=this;return new Proxy(t,{get(a,o){let s=a[o];return!(o in a)&&i.getDefaultValue&&(s=i.getDefaultValue({target:a,key:o,root:r,path:n})),typeof s=="object"&&s!==null&&!Array.isArray(s)?i.makeProxy(s,r,`${n}${n&&"."}${o}`):s},set(a,o,s){if(a[o]===s)return!0;Reflect.set(a,o,s);let c=`${n}${n&&"."}${o}`;return i.globalListeners.forEach(f=>f(s,c)),i.pathListeners.get(c)?.forEach(f=>f(s)),!0}})}setData(t,r){if(this.readOnly)throw new Error("SettingsStore is read-only");if(this.plain=t,this.store=this.makeProxy(t),r){let n=t,i=r.split(".");for(let a of i){if(!n){console.warn(`Settings#setData: Path ${r} does not exist in new data. Not dispatching update`);return}n=n[a]}this.pathListeners.get(r)?.forEach(a=>a(n))}this.markAsChanged()}addGlobalChangeListener(t){this.globalListeners.add(t)}addChangeListener(t,r){let n=this.pathListeners.get(t)??new Set;n.add(r),this.pathListeners.set(t,n)}removeGlobalChangeListener(t){this.globalListeners.delete(t)}removeChangeListener(t,r){let n=this.pathListeners.get(t);!n||(n.delete(r),n.size||this.pathListeners.delete(t))}markAsChanged(){this.globalListeners.forEach(t=>t(this.plain,""))}};var me=require("electron"),Z=require("fs");l();var ft=require("electron"),k=require("path"),pe=process.env.VENCORD_USER_DATA_DIR??(process.env.DISCORD_USER_DATA_DIR?(0,k.join)(process.env.DISCORD_USER_DATA_DIR,"..","VencordData"):(0,k.join)(ft.app.getPath("userData"),"..","Vencord")),Y=(0,k.join)(pe,"settings"),N=(0,k.join)(pe,"themes"),ve=(0,k.join)(Y,"quickCss.css"),Ve=(0,k.join)(Y,"settings.json"),Le=(0,k.join)(Y,"native-settings.json"),ut=["https:","http:","steam:","spotify:","com.epicgames.launcher:"];(0,Z.mkdirSync)(Y,{recursive:!0});function gt(e,t){try{return JSON.parse((0,Z.readFileSync)(t,"utf-8"))}catch(r){return r?.code!=="ENOENT"&&console.error(`Failed to read ${e} settings`,r),{}}}var x=new ce(gt("renderer",Ve));x.addGlobalChangeListener(()=>{try{(0,Z.writeFileSync)(Ve,JSON.stringify(x.plain,null,4))}catch(e){console.error("Failed to write renderer settings",e)}});me.ipcMain.handle("VencordGetSettingsDir",()=>Y);me.ipcMain.on("VencordGetSettings",e=>e.returnValue=x.plain);me.ipcMain.handle("VencordSetSettings",(e,t,r)=>{x.setData(t,r)});var ht=new ce(gt("native",Le));ht.addGlobalChangeListener(()=>{try{(0,Z.writeFileSync)(Le,JSON.stringify(ht.plain,null,4))}catch(e){console.error("Failed to write native settings",e)}});var pt=require("electron");pt.app.on("browser-window-created",(e,t)=>{t.webContents.on("frame-created",(r,{frame:n})=>{n.once("dom-ready",()=>{if(n.url.startsWith("https://open.spotify.com/embed/")){let i=x.store.plugins?.FixSpotifyEmbeds;if(!i?.enabled)return;n.executeJavaScript(`
2023-11-14 11:41:09 -06:00
const original = Audio.prototype.play;
Audio.prototype.play = function() {
this.volume = ${i.volume/100||.1};
return original.apply(this, arguments);
}
2024-03-22 12:55:56 -05:00
`)}})})});var It={};l();var mt=require("electron");mt.app.on("browser-window-created",(e,t)=>{t.webContents.on("frame-created",(r,{frame:n})=>{n.once("dom-ready",()=>{if(n.url.startsWith("https://www.youtube.com/")){if(!x.store.plugins?.FixYoutubeEmbeds?.enabled)return;n.executeJavaScript(`
new MutationObserver(() => {
if(
document.querySelector('div.ytp-error-content-wrap-subreason a[href*="www.youtube.com/watch?v="]')
) location.reload()
}).observe(document.body, { childList: true, subtree:true });
`)}})})});var ke={};De(ke,{resolveRedirect:()=>pr});l();var Ct=require("https"),gr=/^https:\/\/(spotify\.link|s\.team)\/.+$/;function At(e){return new Promise((t,r)=>{let n=(0,Ct.request)(new URL(e),{method:"HEAD"},i=>{t(i.headers.location?At(i.headers.location):e)});n.on("error",r),n.end()})}async function pr(e,t){return gr.test(t)?At(t):t}var ze={};De(ze,{readRecording:()=>vr});l();var dt=require("electron"),yt=require("fs/promises"),le=require("path");async function vr(e,t){t=(0,le.normalize)(t);let r=(0,le.basename)(t),n=(0,le.normalize)(dt.app.getPath("userData")+"/");if(console.log(r,n,t),r!=="recording.ogg"||!t.startsWith(n))return null;try{let i=await(0,yt.readFile)(t);return new Uint8Array(i.buffer)}catch{return null}}var Me={};De(Me,{sendToOverlay:()=>mr});l();var St=require("dgram"),wt;function mr(e,t){t.icon=Buffer.from(t.icon).toString("base64");let r=JSON.stringify(t);wt??=(0,St.createSocket)("udp4"),wt.send(r,42069,"127.0.0.1")}var Tt={FixSpotifyEmbeds:vt,FixYoutubeEmbeds:It,OpenInApp:ke,VoiceMessages:ze,XsOverlay:Me};var xt={};for(let[e,t]of Object.entries(Tt)){let r=Object.entries(t);if(!r.length)continue;let n=xt[e]={};for(let[i,a]of r){let o=`VencordPluginNative_${e}_${i}`;_e.ipcMain.handle(o,a),n[i]=o}}_e.ipcMain.on("VencordGetPluginIpcMethodMap",e=>{e.returnValue=xt});l();ie();var v=require("electron"),fe=require("fs"),X=require("fs/promises"),J=require("path");l();var Et="PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogICAgICAgIDx0aXRsZT5WZW5jb3JkIFF1aWNrQ1NTIEVkaXRvcjwvdGl0bGU+CiAgICAgICAgPGxpbmsKICAgICAgICAgICAgcmVsPSJzdHlsZXNoZWV0IgogICAgICAgICAgICBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9tb25hY28tZWRpdG9yLzAuNDAuMC9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLm1pbi5jc3MiCiAgICAgICAgICAgIGludGVncml0eT0ic2hhNTEyLU1Pb1EwMmg4MGhrbGNjZkxyWEZZa0N6RytXVmpPUmZsT3A5WnA4ZGx0aWFSUCszNUxZbk80TEtPa2xSNjRvTUdmR2dKRExPOFdKcGtNMW81Z1pYWVpRPT0iCiAgICAgICAgICAgIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiCiAgICAgICAgICAgIHJlZmVycmVycG9saWN5PSJuby1yZWZlcnJlciIKICAgICAgICAvPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgaHRtbCwKICAgICAgICAgICAgYm9keSwKICAgICAgICAgICAgI2NvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICA8L2hlYWQ+CgogICAgPGJvZHk+CiAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KICAgICAgICA8c2NyaXB0CiAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbW9uYWNvLWVkaXRvci8wLjQwLjAvbWluL3ZzL2xvYWRlci5taW4uanMiCiAgICAgICAgICAgIGludGVncml0eT0ic2hhNTEyLVF6TXBYZUNQY2lBSFA0d2JZbFYyUFlnclFjYUVrRFFVanprUFU0eG5qeVZTRDlUMzYvdWRhbXh0TkJxYjRxSzQvYk1RTVBaOGF5ckJlOWhyR2RCRmpRPT0iCiAgICAgICAgICAgIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiCiAgICAgICAgICAgIHJlZmVycmVycG9saWN5PSJuby1yZWZlcnJlciIKICAgICAgICA+PC9zY3JpcHQ+CgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIHJlcXVpcmUuY29uZmlnKHsKICAgICAgICAgICAgICAgIHBhdGhzOiB7CiAgICAgICAgICAgICAgICAgICAgdnM6ICJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9tb25hY28tZWRpdG9yLzAuNDAuMC9taW4vdnMiLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXF1aXJlKFsidnMvZWRpdG9yL2VkaXRvci5tYWluIl0sICgpID0+IHsKICAgICAgICAgICAgICAgIGdldEN1cnJlbnRDc3MoKS50aGVuKChjc3MpID0+IHsKICAgICAgICAgICAgICAgICAgICB2YXIgZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoCiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlOiAiY3NzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiBnZXRUaGVtZSgpLAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICBlZGl0b3Iub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoKCkgPT4KICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3NzKGVkaXRvci5nZXRWYWx1ZSgpKQogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgIC
`).replace(Cr,"@");return n[i]=a.trim(),delete n[""],Ne(t,n)}l();var Pt=require("electron");function Gt(e){e.webContents.setWindowOpenHandler(({url:t})=>{switch(t){case"about:blank":case"https://discord.com/popout":case"https://ptb.discord.com/popout":case"https://canary.discord.com/popout":return{action:"allow"}}try{var{protocol:r}=new URL(t)}catch{return{action:"deny"}}switch(r){case"http:":case"https:":case"mailto:":case"steam:":case"spotify:":Pt.shell.openExternal(t)}return{action:"deny"}})}(0,fe.mkdirSync)(N,{recursive:!0});function Ze(e,t){let r=(0,J.normalize)(e),n=(0,J.join)(e,t),i=(0,J.normalize)(n);return i.startsWith(r)?i:null}function Ar(){return(0,X.readFile)(ve,"utf-8").catch(()=>"")}async function dr(){let e=await(0,X.readdir)(N).catch(()=>[]),t=[];for(let r of e){if(!r.endsWith(".css"))continue;let n=await Ot(r).then(Dt).catch(()=>null);n!=null&&t.push(Rt(n,r))}return t}function Ot(e){e=e.replace(/\?v=\d+$/,"");let t=Ze(N,e);return t?(0,X.readFile)(t,"utf-8"):Promise.reject(`Unsafe path ${e}`)}v.ipcMain.handle("VencordOpenQuickCss",()=>v.shell.openPath(ve));v.ipcMain.handle("VencordOpenExternal",(e,t)=>{try{var{protocol:r}=new URL(t)}catch{throw"Malformed URL"}if(!ut.includes(r))throw"Disallowed protocol.";v.shell.openExternal(t)});v.ipcMain.handle("VencordGetQuickCss",()=>Ar());v.ipcMain.handle("VencordSetQuickCss",(e,t)=>(0,fe.writeFileSync)(ve,t));v.ipcMain.handle("VencordGetThemesDir",()=>N);v.ipcMain.handle("VencordGetThemesList",()=>dr());v.ipcMain.handle("VencordGetThemeData",(e,t)=>Ot(t));v.ipcMain.handle("VencordGetThemeSystemValues",()=>({"os-accent-color":`#${v.systemPreferences.getAccentColor?.()||""}`}));v.ipcMain.handle("VencordOpenMonacoEditor",async()=>{let e="Vencord QuickCSS Editor",t=v.BrowserWindow.getAllWindows().find(n=>n.title===e);if(t&&!t.isDestroyed()){t.focus();return}let r=new v.BrowserWindow({title:e,autoHideMenuBar:!0,darkTheme:!0,webPreferences:{preload:(0,J.join)(__dirname,"vencordDesktopPreload.js"),contextIsolation:!0,nodeIntegration:!1,sandbox:!1}});Gt(r),await r.loadURL(`data:text/html;base64,${Et}`)});l();var Xt=require("electron");l();var Lt=require("module"),yr=(0,Lt.createRequire)("/"),Ce,wr=";var __w=require('worker_threads');__w.parentPort.on('message',function(m){onmessage({data:m})}),postMessage=function(m,t){__w.parentPort.postMessage(m,t)},close=process.exit;self=global";try{Ce=yr("worker_threads").Worker}catch{}var Sr=Ce?function(e,t,r,n,i){var a=!1,o=new Ce(e+wr,{eval:!0}).on("error",function(s){return i(s,null)}).on("message",function(s){return i(null,s)}).on("exit",function(s){s&&!a&&i(new Error("exited with code "+s),null)});return o.postMessage(r,n),o.terminate=function(){return a=!0,Ce.prototype.terminate.call(o)},o}:function(e,t,r,n,i){setImmediate(function(){return i(new Error("async operations unsupported - update to Node 12+ (or Node 10-11 with the --experimental-worker CLI flag)"),null)});var a=function(){};return{terminate:a,postMessage:a}},A=Uint8Array,z=Uint16Array,be=Uint32Array,je=new A([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Be=new A([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),kt=new A([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),zt=function(e,t){for(var r=new z(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];for(var i=new be(r[30]),n=1;n<30;++n)for(var a=r[n];a<r[n+1];++a)i[a]=a-r[n]<<5|n;return[r,i]},Mt=zt(je,2),He=Mt[0],Tr=Mt[1];He[28]=258,Tr[258]=28;var _t=zt(Be,0),Nt=_t[0],ti=_t[1],ye=new z(32768);for(u=0;u<32768;++u)P=(u&43690)>>>1|(u&21845)<<1,P=(P&52428)>>>2|(P&13107)<<2,P=(P&61680)>>>4|(P&3855)<<4,ye[u]=((P&65280)>>>8|(P&255)<<8)>>>1;var P,u,$=function(e,t,r){for(var n=e.length,i=0,a=new z(t);i<n;++i)e[i]&&++a[e[i]-1];var o=new z(t);for(i=0;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(r){s=new z(1<<t);var c=15-t;for(i=0;i<n;++i)if(e[i])for(var f=i<<4|e[i],h=t-e[i],m=o[e[i]-1]++<<h,S=m|(1<<h)-1;m<=S;++m)s[ye[m]>>>c]=f}else for(s=new z(n),i=0;i<n;++i)e[i]&&(s[i]=ye[o[e[i]-1]++]>>>15-e[i]);return s},ue=new A(288);for(u=0;u<144;++u)ue[u]=8;var u;for(u=144;u<256;++u)ue[u]=9;var u;for(u=256;u<28
2023-11-14 11:41:09 -06:00
//# sourceURL=VencordDesktopMain
//# sourceMappingURL=vencord://vencordDesktopMain.js.map
/*! For license information please see vencordDesktopMain.js.LEGAL.txt */