#👾-core-development

1 messages · Page 185 of 1

austere talon
#

not really? with activities you can advertise in all servers the user is in

joining them to random guilds doesn't do much, it's just an annoyance

median rapids
#

eh ig

#

thats with guilds.join as advertised tho

#

there's like 3 ways you can ban ppl with it

rugged spire
#

wtf?

charred monolithBOT
#

I'd change the name to QuickReact or something similar, but thats just preference.

This isn't the first time I've said this, but..
1: This isn't the first time someone's tried to make this plugin, iirc @nin0-dev made something like this before
2: The context menu reaction thing is already named quick react (you can see the context menu ID for proof) and as I've made a plugin to improve that (it's stuck in PR hell btw), users would get confused with "QuickReact" and "BetterQuickReact"...

charred monolithBOT
limber skiff
#

@median rapids :)

rugged spire
limber skiff
#

it won't

#

it affects things that load initially

limber skiff
#

vee you broke context menus on devtools again

limber skiff
#

yeah I know

charred monolithBOT
charred monolithBOT
limber skiff
#

thanks merge command for being stupid

verbal pumice
#

triple horror

median rapids
austere talon
#

bad idea

austere talon
#

it's fixed

turbid hatch
#

"it affects startup"
"difference is minimal"
please dont put both, because it confuses people

#

i'd remove the "difference" part of that entirely

austere talon
#

just remove the setting

#

it's not useful to have and worst case scenario will cause confusing issues or inconsistencies

charred monolithBOT
limber skiff
charred monolithBOT
austere talon
odd heath
#

not at all

charred monolithBOT
austere talon
#

cause its really easy to accidently change languages

#

but idk how to make it better

austere talon
#

i think like this is better

#

makes it so its way harder to accidently open

#

um... chrome

#

why is there en twice

charred monolithBOT
austere talon
#

TRUE

dusk blaze
charred monolithBOT
dusk blaze
#

but true

#

@austere talon will lock

#

else aagamerkafasi will fight

#

then close pr, block mantika from repo, and go to turkey to destroy his pc

charred monolithBOT
charred monolithBOT
lime stone
#

:trollface:

median rapids
limber skiff
#

reporter benefits from it

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 202022
Match: /(?<=section:(.{0,50})\.DIVIDER\}\))([,;])(?=.{0,200}(\i)\.push.{0,100}label:(\i)\.header)/

StartupTimings (had no effect):
ID: 202022
Match: /(?<=}\)([,;])(\i\.settings)\.forEach.+?(\i)\.push.+}\)}\))/

BetterSettings (had no effect):
ID: 923422
Match: /\(0,\i.useDefaultUserSettingsSections\)\(\)(?=\.filter\(\i=>\{let\{section:\i\}=)/

Settings (found no module):
ID: -
Match: useDefaultUserSettingsSections:function

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

omfg

#

not again

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

WHY ONLY STABLE

#

did they revert

#

bruuuuhhhh

limber skiff
#

no fucking way

#

that's just so unlucky

charred monolithBOT
limber skiff
#

oops forgot the :

#

whatever

austere talon
#

why did they fucking revert

limber skiff
#

was it only that or more

#

lets see

#

@austere talon bro

#

they reverted to a build 10 days ago

median rapids
#

lmao

charred monolithBOT
austere talon
#

bleh too fast

#

pls dont

#

ok it didnt

charred monolithBOT
#
[Vendicated/Vencord] New tag created: v1.8.6
limber skiff
#

holy shit

#

need to optimize that

austere talon
#

43ms

#

we should make it print warning if slower than like 3ms

#

instead of debug

limber skiff
#

saving for later

#

this is so weird

#

the first is the acc for all the patch times

#

the second is this

#

where are 5600 milliseconds coming from

#

what's taking so long

#

oh, the find checks probably

#

lets see

#

ngl I think it's the one regex find we have that's causing all this time

#

okay so 2700 are from find checks

#

now how much from is that is the regex find

#

14ms only, nvm

jagged cloak
#

for science

#

ofc

limber skiff
#

nelly.tools

#

oh wait

limber skiff
#

which only happens in the reporter

#

this seems more right

limber skiff
#

look behind is good, but also need to be careful

#

all of the slow patches are because of the look behind

#

the slowest one

frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

@austere talon trolley

austere talon
#

oh god did they repush it

limber skiff
#

yes

charred monolithBOT
limber skiff
#

@austere talon should I just make this one noWarn

austere talon
#

honestly no

#

cause if they ever revert again it will show that they did

limber skiff
#

it will already show with the new one failing

austere talon
# charred monolith

thanks

kinda weird that just removing look behind makes it better sometimes lol

maybe we should add a new category to reporter that shows slow patches

limber skiff
#

i know the reason the look behind makes it slow lol

#

take this one by example

match: /(?<={channel:(\i),name:\i,.+?unread:(\i).+?;)/,
replace: (_, channel, unread) => `${unread}=$self.isHiddenChannel(${channel})?false:${unread};`

the everytime the look behind advances one step with of .+?, it's re-checking the whole lookbehind again

#

by removing the look behind it no longer goes back to the start of it every step of .+?

charred monolithBOT
limber skiff
#

wdymm bro where is my merge commit

charred monolithBOT
limber skiff
#

I dont know what discord did but their app is starting slower now (or it's a me thing for some reason)

#

It used to find the main WebpackRequire.onChunksLoaded before DOMContentLoaded

#

and it's not an issue with my branch because this is using dev

limber skiff
#

it's definitely possible

#

now the question is which branch do I do it lmaooo

#

both of the ones I'm working modify the reporter a bit

charred monolithBOT
limber skiff
#

now this works properly

austere talon
#

before?

limber skiff
austere talon
#

huh

#

is that even on current proxyLazy

limber skiff
#

almost sure yeah

#

let me see

austere talon
#

i have banger idea

#

add venbot command to eval command in a discord + vencord context

#

with puppeteer

#

so you can test webpack finds and shit from discord chat

limber skiff
#

it's even worse

austere talon
#

from mobile i mean

austere talon
limber skiff
austere talon
#

that might be expected if it's a bound function or smth like that

limber skiff
#

wait but why is native code and not object Function

austere talon
#

btw i have an idea

#

vencord companion browser extension

#

that adds test patch / webpack find to github pr code view

limber skiff
#

wtff

#

that's crazy

#

ohhh fuck

#

I know why it's native code

#

receiver is the proxy and it has priority over innerTarget

#

I dont need to monkey patch I just need to remove receiver from there

#

maybe not

#

hmm this works

frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

(wrong implementation but yeah)

austere talon
#

what if it's not a function

limber skiff
#

yeye

#

fixing it

frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

I exploded it now

#

lmao

austere talon
#

btw pronoundb plugin is frequently hitting 429s

austere talon
median rapids
austere talon
#

wdym

median rapids
#

oh ig

#

you don't have to login

#

who renamed me fear

austere talon
#

fixed

limber skiff
#

I think I did an oopsies

austere talon
#

bound bound bound bound bound v

limber skiff
#

okay yeah this is not practical

#

can't bind everything

#

monkey patching to string more safe

shell shuttle
charred monolithBOT
austere talon
#

why do we even need working toString?

#

is this an actual need or is it just a why not

limber skiff
#

just a why not

#

@austere talon can I make esbuild not minify a value name

austere talon
#

nah lol

#

why

charred monolithBOT
austere talon
#

seems xyproblemo

limber skiff
#

I just wanted to keep the name of this function

#

for better logs in the console

austere talon
#

you can set its .name property

#

should work

limber skiff
#

it doesnt work sadly

austere talon
#

are u sure

limber skiff
#

yeah it depends on the source code

#

not the name property

#

as you can see f() is still anonymous

austere talon
#

but also if u have sourcemaps on it should work?

#

hmm

limber skiff
#

I mean if you build dev then it doesnt even get minified

#

so yeah it works

austere talon
#

you could try something cursed like

const obj = {
    ProxyDummy() {}
}

then access it from that object

#

but lmao

limber skiff
#

true lmaoo

#

horror

#

it didnt work

#

whatever

austere talon
#

ProxyDummy() {}

limber skiff
#

oh

charred monolithBOT
limber skiff
#

cool

austere talon
#

this is kinda cursed lmao

limber skiff
#

have you seen yet how it works?

austere talon
#

wait why the delete?

#

shouldn't be necessary

limber skiff
#

to clean the obj

#

idk how the garbage collector will be

austere talon
#

it'll just garbage collect that object once it's no longer referenced

limber skiff
#

okay good

austere talon
#

so no need for delete

charred monolithBOT
austere talon
#

oh does that also work

#

cursed

limber skiff
#

I honestly really like how cursed js is

austere talon
#

we could even have like custom lazy name

limber skiff
#

it only works for objects

#

let me see if you can do in proxies

#

💀

austere talon
#

goes hard

#

what did u do

#

bro accessed a webpack module on the top level

limber skiff
austere talon
#

LMAOO

limber skiff
#

sadly it does not work for proxies

austere talon
#

lmaooo

limber skiff
#

yeah

#

hm wait

#

this is not what I want

austere talon
limber skiff
#

nah name doesnt work either cuz it depends on source code

#

and proxies are not functons either

#

guhh really, it proxies defineProperty too

austere talon
#

lmaooo ofc

#

it proxies every operation

limber skiff
#

yeah I think we can't rename the proxy

#

only the target of it

#

which I already do

austere talon
#

i mean declare name of the proxy dummy

#

well anyway it's not that important tbh

limber skiff
#

it already has a name

#

because of the name on the object

#

dang this doesn't work either

charred monolithBOT
austere talon
limber skiff
#

wait of course it doesn't work

#

proxies dont have prototypes

#

okay yeah impossible

#

I even tried

median rapids
#

nookies webpack wizard

charred monolithBOT
austere talon
#

bro forgor

median rapids
#

wtf,,,

austere talon
#

tbh i didn't understand what the third property in reflect calls is for

#

like how tf do u have a custom receiver for a get

charred monolithBOT
limber skiff
austere talon
#

maybe

limber skiff
#

when I do this

#

and I try wreq.m["45835734543"] = "hi"

#

target is proxiedModules

#

receiver is originalModules

median rapids
#

i wonder if js will ever not terrify me

limber skiff
#

that's the main reason I have to manually define the proxy set, because if I let it call Reflect.set(...args), it will set the prop in the receiver

#

instead of the target

#

and the receiver is not what I want lol

charred monolithBOT
limber skiff
#

what happened here

#

why is your icon so far away

#

discord just made your name super large for some reason

austere talon
#

discord css bug lmao

#

the clan tag is supposed to show there

#

but the parent has overflow hidden

#

and it makes it hide and have the weird gap

limber skiff
#

I see lmao

charred monolithBOT
limber skiff
#

I think I can make this less hacky

#

maybe..........

#

hmmm

#

okay hmmm

#

let me try to cook this

odd heath
#

I could look into it maybe I fucked something with a change accidentally

limber skiff
charred monolithBOT
limber skiff
#

github is about to say I have a security vulnerability

spark pivot
#

i think you have a security vulnerability

limber skiff
#

shit

#

it's over

charred monolithBOT
limber skiff
#

okay

charred monolithBOT
charred monolithBOT
limber skiff
#

oh look an explosion

charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

nice

#

same functionality

#

no more proxy prototype

charred monolithBOT
limber skiff
#

I'm starting to think we don't need to patch onChunksLoaded

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
limber skiff
#

oh god it's gonna force push

#

woah it didn't

charred monolithBOT
charred monolithBOT
limber skiff
#

I waited and it wasn't enough 😞

charred monolithBOT
charred monolithBOT
shell shuttle
#

@codiumAI

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
shell shuttle
#

what's the command i forgot it

charred monolithBOT
#

PR Review 🔍

<table>
<tr>
<tr><td> ⏱️ <strong>Estimated effort to review [1-5]</strong></td><td>

4, due to the complexity and potential security implications of managing webhooks, which requires careful review of the code handling URLs, HTTP requests, and user inputs.

</td></tr>
<tr><td> 🧪 <strong>Relevant tests</strong></td><td>

No

</td></tr>
<tr><td rowspan=2> ⚡ <strong>Possible issues</strong></td>
<td>

<strong>Possible Security Issue:</strong> The c...

shell shuttle
#

i can't do allat

jagged cloak
#

u shall

shell shuttle
#

as far as i know

#

specific error logging is impossible with this method

charred monolithBOT
charred monolithBOT
fiery jungle
#

@crude hearth

charred monolithBOT
limber skiff
#

timedones review??

charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

dusk blaze
#

pissbot nonce is good

charred monolithBOT
still wasp
charred monolithBOT
#

I tested and it seems like mouseup is not being fired for my side buttons, which makes the plugin not work

Which OS are you on? If you're on Linux, which distro and are you on X11 or Wayland?

windows haha

Can't reproduce at all... But it should work the same way everywhere. Do you want to say that it navigates on mousedown for you? What if you replace the handled event to mousedown?

charred monolithBOT
rugged spire
#

like i do

charred monolithBOT
#

Sorry to bother, I'm not familiarized with Git at all and I'm not sure where I should post this

I'd really really like to install this plugin, but I'm not sure how...I tried following a yt tutorial but after doing the pnpm build I get: 1 error
Build failed
Build failed with 1 error:
import-plugins:~plugins:172:17: ERROR: Could not resolve "./userplugins/Toadkord"
1 error
 ELIFECYCLE  Command failed with exit code 1.

rugged spire
dusk blaze
#

(will likely explode on you due to being outdated(

rugged spire
#

fucking insane notification

somber thorn
#

already got the husk in there

charred monolithBOT
#

this plugin will add a button to supported files to view the contents (contents dont get loaded unless to user presses the button)

https://github.com/Vendicated/Vencord/assets/103841613/e4502fed-0316-4229-9c81-f475415282f5

in the video you can see how it works, if the file size is over 10MB the preview wont work therefore we tell the uesr that. the video only shows 3 of the 14 supported file types but they all work the same. there are no settings for this plugin.

spark pivot
charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
limber skiff
#

fuck off

charred monolithBOT
limber skiff
#

oh this fucking formatter

charred monolithBOT
charred monolithBOT
limber skiff
#

^^^ Reflect.defineProperty doesn't throw which is good for us

charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

nice I didn't break anything

median rapids
dusk blaze
#

no offense but it's so Husk

charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
limber skiff
#

will this work? idk

charred monolithBOT
limber skiff
#

didn't make a difference :)

charred monolithBOT
rugged spire
#

BORN TO SAY "YOUR CODE IS SHIT" FORCED TO STAY SILENT

#

@dusk blaze Today we will be watching YouTube tootorals on submitting a PR to Vencord!

charred monolithBOT
limber skiff
#

not the typoo

desert cosmos
jagged cloak
#

timedones

charred monolithBOT
limber skiff
#

epico

charred monolithBOT
rugged spire
#

You will document MessageStore.getMessages

grave mangoBOT
rugged spire
#

BORN TO COMMIT BROKEN CODE

rugged spire
#

who wants to watch me PR some junk'

charred monolithBOT
somber thorn
rugged spire
#

i didnt even notice

somber thorn
#

wasn't there one of those already btw

rugged spire
#

yes

somber thorn
#

tryna find it rn

rugged spire
#

OH

#

I just noticed

#

same person

somber thorn
#

yeep

somber thorn
#

also yes let's follow naming conventions

charred monolithBOT
austere talon
charred monolithBOT
limber skiff
#

I mean yeah it doesn't matter but it was the only plugin like that

rugged spire
#

true

#

what is needed

limber skiff
#

so I changed

rugged spire
#

is proper displayname for settings

limber skiff
#

nop

rugged spire
#

probably exists somewhere but undocumented

#

yes

#

yes we do need

austere talon
#

?

#

you can have whatever tf you want in your plugin name

limber skiff
#

any way worke

rugged spire
rugged spire
rugged spire
rugged spire
#

how do we teach this user git

#

oh also i wanted to share something random I've been working on

high hound
rugged spire
#

trust me

austere talon
#

why does it matter

rugged spire
#

it will be easier in the long run to install git locally

rugged spire
high hound
rugged spire
#

it doesn't but it is significantly easier

rugged spire
#

there are git GUIs available blobcatcozy

high hound
rugged spire
#

if you're using VSCode it has git integration built-in

high hound
rugged spire
rugged spire
#

or use .gitignore (or even .git/info/exclude to not sync those excluded files)

high hound
#

alright ill look into it for future projects

rugged spire
#

and also as I've discovered with projects related to modding

#

look at how other people implemented generic ideas

charred monolithBOT
rugged spire
#

yes i know you closed it

charred monolithBOT
high hound
#

the only thing im really having issues on is patches

rugged spire
#

okay

high hound
#

i cant seem to understand it

rugged spire
#

Patches are defined as regex

#

There is one exception to the regular syntax of regex; you can use \i to refer to variable names

#

The find string is any unique string within the webpack module

high hound
#

so for example if i wanted to find an attatchment i could set the find to ".attatchmentInner"?

rugged spire
#

you can easily see that as each module is a function in an object with the key for the function being some random number

crude hearth
austere talon
#

like 60

#

you will pop and it will become 59

crude hearth
austere talon
#

this implies there can be multiple

high hound
crude hearth
#

true there can be multiple summaries

rugged spire
#

or just modify what you need directly

crude hearth
#

done @austere talon

rugged spire
#

also if you have built Vencord with pnpm watch it will add dev companion plugin

charred monolithBOT
rugged spire
#

1: patch helper tab in settings
2: Vencord companion VSCode extension

austere talon
#

you only fixed in one location lmao

crude hearth
#

Vendicated pushed one commit

austere talon
#

horror a slider would be way better

austere talon
#

insane users will put to negative number or smth

crude hearth
#

WHY CHANGE THE PHOTOO

rugged spire
#

when are we getting slider settings component with full integer numbers

#

wen

crude hearth
#

tro

rugged spire
#

inb4 "So niche do it yourself"

austere talon
#

i think this is better

crude hearth
# austere talon

I think it would be nice if we let people to retain it for longer time

austere talon
#

seems like a bad idea lmaoo

crude hearth
#

why :(

rugged spire
# austere talon

this but without having to explicitly set each visible slider tick

austere talon
#

they will have 2 billion summaries and wonder why it lags

crude hearth
rugged spire
austere talon
austere talon
rugged spire
#

yes

#

but looks husk

median rapids
#

we can just use that

rugged spire
#

are they even stored

#

you have summariesstore

#

is it just cached until reload

median rapids
#

nah I mean

#

on the api

#

I have a server that has the feature properly

rugged spire
#

is that pissbot enterprises

median rapids
#

oh does pissbot support have it too

#

idk I'm not in it

rugged spire
#

idk i am not in there trolley

austere talon
#

@crude hearth good?

crude hearth
#

good

rugged spire
#

guh i have shit memory or something

crude hearth
#

right

austere talon
#

yes

rugged spire
#

this will explode if it is non-integer and round to nearest day or something idk

austere talon
rugged spire
#

not half days

#

probably

#

i didnt read code nyabom

rugged spire
austere talon
#

yop

rugged spire
#

vee u do know those sliders are only fixed to 2dp in the tooltip

charred monolithBOT
rugged spire
#

🔥

crude hearth
#

les goo

rugged spire
grave mangoBOT
rugged spire
#

what if I want to keep 0decimal places trolley

austere talon
#

cant

#

need to stick to markers

rugged spire
#

want so bad trolley

#

should I make it myself

austere talon
#

just dont use a slider

rugged spire
#

looks husk

median rapids
# austere talon

the description kinda implies that the summaries aren't created without the plugin

#

even though they always are blobcatcozy

median rapids
#

why lol

austere talon
#

whyn ot

#

users see the commit history so its a bit much if theres 3 billion commits

#

"fix minor bugs in various plugins" is a lot easier to understand than 5 commits

median rapids
#

oh right updater

#

fair ig

austere talon
#

and if anyone wants more info there's an extended description

median rapids
#

i never see updater so i forgot blobcatcozy

austere talon
#

otherwise you get "There are 30 new updates" jumpscare

#

and they're all properly credited dw bleh

charred monolithBOT
austere talon
#

if it even still works

somber thorn
austere talon
#

why did i do this instead of just using file urls

stark flint
charred monolithBOT
granite sky
#

kinda dumb

austere talon
#

lol

#

yours also seems to be a duplicate i think

granite sky
#

anyway...

austere talon
#

but the original pr is not mergeable

granite sky
rugged spire
charred monolithBOT
rugged spire
#

discord insane

charred monolithBOT
austere talon
#

this is kinda fire cause now u can

import monacoHtml from "file://monacoWin.html?minify&base64";
#

will minify the html and base64 it for u

austere talon
#

that error message is misleading but it happens because he didnt restart fully

austere talon
median rapids
#

venguard

charred monolithBOT
#

looks like watch together frames now use https://880218394199220334.discordsays.com/ so i have updated it to use that. i also extracted the adguard js into its own file for better maintainability

unfortunately it seems like the adguard script broke or something, there's an error and the player doesn't load

Uncaught (in promise) FirebaseError: Firebase: Error (auth/network-request-failed).
median rapids
#

lol they always did

granite sky
limber skiff
#

it's possible to see the ublock origin rules for the ad bypassing and fix

#

but idk if that's easy

charred monolithBOT
austere talon
#

are you sure

median rapids
#

maybe there was a second iframe in the first one

austere talon
#

oooh wait yeah

median rapids
#

yea lol

#

iframeception

#

makes sense

#

that's the one you want

charred monolithBOT
austere talon
#

good call

#

i got confused because

#

it didnt catch any frame so i checked and it was discordsays

#

but the oriignal code targeted https://youtube.com

median rapids
#

ahh

austere talon
#

when its https://www.youtube.com

median rapids
#

funny

austere talon
#

thgats why it didnt catch

#
import adguard from "file://adguard.js?minify";

app.on("browser-window-created", (_, win) => {
    win.webContents.on("frame-created", (_, { frame }) => {
        frame.once("dom-ready", () => {
            if (frame.url.includes("discordsays") && frame.url.includes("youtube.com")) {
                if (!RendererSettings.store.plugins?.WatchTogetherAdblock?.enabled) return;

                frame.executeJavaScript(adguard);
            }
        });
    });
});
#

this works now

stark flint
charred monolithBOT
#

Allows you to set a YoutTube video as an animated background. I recommend using a long loop Video. A background supporting theme must be installed. Just paste any YouTube Video URL in the link Input in the plugin settings.

I looked and there should be no other similar request. I hope, its not because its a dumb thing. (this will be so rejected)
Plugin: animatedBackgrounds Issue #628

desert cosmos
# charred monolith

cant tell if its just me, but i'm still seeing ads on videos, someone else might need to confirm that though blobcatcozy

austere talon
#

restart discord fully after updating

#

not just ctrl+r

charred monolithBOT
#

As @Sqaaakoi mentiond, it's due to the way arguments are passed to the child process. This causes problems even on Windows, where I noticed that passing a single string in the form "--output file.mp4" threw an exception, but passing two seperate strings, ["--output", "file.mp4"] worked fine. The best solution would probably just be to create a parser that converts a single string into an array though.

limber skiff
#

@austere talon do you know anything about this?

#

it's the only thing I have like almost no idea how it works to be able to document

austere talon
#

why document random properties

#

unless we need them

limber skiff
#

because I want this to be a general thing we can look at to see what a property does

rugged spire
limber skiff
#

that's why I took the effort of documenting every prob on the wreq of discord

charred monolithBOT
limber skiff
#

no need to check for webpack source code and not even understand what's happening

austere talon
#

there's a file that has all mappings

#

did u check that

limber skiff
#

yeah

limber skiff
#

the current description of .a I got from there

#

but it's still bad

#

webpack is just so poorly documented even in the source code internals

austere talon
#

tbf why would u document internals xd

#

they're not supposed to be used by consumers

charred monolithBOT
rugged spire
limber skiff
#

I mean like, when someone is developing webpack themselves

#

the source code is poorly documented idk how one can work in that

austere talon
#

the webpack codebase is so weirdly written

limber skiff
#

I know, that's so true

#

I think this may be one of the reasons webpack never changes

charred monolithBOT
austere talon
limber skiff
#

it's so horribly documented that no one wants to touch the internals

austere talon
#

i tried reading corejs to better understand how some functions work under the hood but it's unironically easier to read ecmascript spec than to try to understand corejs code

limber skiff
#

if you look in a commit of 2016 or something, almost all the current internals already existed

#

and to be honest, I got a good documentation of everything in the webpack of discord

#

it's just this one function

#

which is also not called ever

grave mangoBOT
# austere talon https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.arra...

es.array.every.js: Lines 1-14

'use strict';
var $ = require('../internals/export');
var $every = require('../internals/array-iteration').every;
var arrayMethodIsStrict = require('../internals/array-method-is-strict');

var STRICT_METHOD = arrayMethodIsStrict('every');

// `Array.prototype.every` method
// https://tc39.es/ecma262/#sec-array.prototype.every
$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {
  every: function every(callbackfn /* , thisArg */) {
    return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});
limber skiff
#

the fuck is happening

rugged spire
#

dont dig into core-js lore too much

limber skiff
#

look at some of the docs I put most effort

limber skiff
#

and I also tried a lot to understand the return of onChunksLoaded

charred monolithBOT
limber skiff
#

like bro wtf is this

rugged spire
#

CAN YOU STOP POSTING THINGS THAT MAKE ME NEED TO USE MY BRAIN blobcatcozy

limber skiff
#

dont use your brain then

limber skiff
#

dont even try to understand that stuff

#

it's just horrible

rugged spire
rugged spire
limber skiff
#

I spent more than 5 hours documenting webpack

rugged spire
#

You have spent 5 hours of your life being sane

#

You will go insane soon

limber skiff
#

okay wait I think im understanding

#

it's related to exports like this

#

pretty sure

#
const factory = (module, exports, wreq) => {
    wreq.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => {
        try {
            wreq.r(exports);
            wreq.d(exports, {
                memory: () => memory
            });

            async function getMemoryFromParentInWorker() {
                await new Promise(r => setTimeout(r, 200));
                return new WebAssembly.Memory({ initial: 1 });
            }
            
            const memory = await getMemoryFromParentInWorker();
            
            __webpack_async_result__();
        } catch(e) {
            __webpack_async_result__(e);
        }
    }, 1);    
};
#

okay so __webpack_async_result__ marks as done it looks like

#
// memory.js
const factory = (module, exports, wreq) => {
        wreq.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => {
            try {
                wreq.r(exports);
                wreq.d(exports, {
                    memory: () => memory
                });

                async function getMemoryFromParentInWorker() {
                    await new Promise(r => setTimeout(r, 200));
                    return new WebAssembly.Memory({ initial: 1 });
                }
                
                const memory = await getMemoryFromParentInWorker();
                
                __webpack_async_result__();
            } catch(e) {
                __webpack_async_result__(e);
            }
        }, true);    
    };

// other file that requires memory.js
const factory2 = (module, exports, wreq) => {
    wreq.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => {
        try {
            var WEBPACK_IMPORTED_MODULE_0 = __webpack_require__(/* ./memory.js */ 3);

            var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([WEBPACK_IMPORTED_MODULE_0]);
            var [WEBPACK_IMPORTED_MODULE_0] = __webpack_async_dependencies__.then
                ? (await __webpack_async_dependencies__)()
                : __webpack_async_dependencies__;

            await __webpack_require__.v(exports, module.id, "daa529a2a650ee3943a9", {
                "./memory.js": {
                    "memory": WEBPACK_IMPORTED_MODULE_0.memory
                }
            });

            __webpack_async_result__();
        } catch(e) {
            __webpack_async_result__(e);
        }
    }, true);
}
#

got it

charred monolithBOT
limber skiff
#

🤨

austere talon
#

HORROR

spark pivot
rugged spire
granite sky
spark pivot
#

Is this every user plugin

sterile oak
rugged spire
#

insane

limber skiff
#

lets fucking go

#

I did it

charred monolithBOT
limber skiff
#

a typo

#

of course

shell shuttle
charred monolithBOT
limber skiff
#

now that I understand wreq.a it makes sense why it exists

prime dew
#

But why

charred monolithBOT
limber skiff
#

what's with the dom manipulations

#

it's the third today lol

charred monolithBOT
shell shuttle
#

how do i enable custom flags to try to counteract the unload issue?

limber skiff
#

I made this extremely future proof, it really should not break unless webpack changes considerably

shell shuttle
#

the --disable-something-something

limber skiff
#

that's the switch

shell shuttle
#

do i need a custom build for it

#

hold on

#

like where do i go to add that n all

limber skiff
#

what are you using?

shell shuttle
#

vennie vencord

limber skiff
#

desktop?

charred monolithBOT
shell shuttle
limber skiff
#

it should be applying the setting for you automatically if you are up to date

jagged reef
# charred monolith

Also, this is more subjective, but having stuff like “By xyz” forced down users’ throats feels icky

charred monolithBOT
limber skiff
#

it keeps growing

charred monolithBOT
frail skyBOT
#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

hmm what is this

#

@crude hearth this is related to you

#

this should fix it I guess

crude hearth
#

I think I declared default state somewhere

limber skiff
#

only in one

crude hearth
#

Tro

#

Plugin will work once it receives update

#

So its fine 👍 trolley

limber skiff
#

ill fix it