#👾-core-development
1 messages · Page 185 of 1
eh ig
thats with guilds.join as advertised tho
there's like 3 ways you can ban ppl with it
wtf?
I'd change the name to
QuickReactor 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"...
@median rapids :)
How will this affect things that aren't loaded until later
vee you broke context menus on devtools again
yeah I know
Not sure this is the right place to ask, but are soundboard sounds server side or client side, and if they are client side, could fakenitro be expanded to support them?
No, to all of those questions.
description: Create a bug or crash report for Vencord. Always use our support channel! Only use this form if you're a contributor or we're told to do so in the support channel.
thanks merge command for being stupid
triple horror
so real
the sentence doesnt make sense
"it affects startup"
"difference is minimal"
please dont put both, because it confuses people
i'd remove the "difference" part of that entirely
just remove the setting
it's not useful to have and worst case scenario will cause confusing issues or inconsistencies
Yeah, the reason it's named QuickStar is because it's intended for starboards. The only reason you can customize what emoji it uses per server is because one server I'm in doesn't use the default star emoji, and I figure that might be true in some other servers as well.
not on stable
appearently this is a bit broken rn
how horror is this
not at all
nah this is kinda awful
cause its really easy to accidently change languages
but idk how to make it better
i think like this is better
makes it so its way harder to accidently open
um... chrome
why is there en twice
i suggest you delete this horrible code and then delete your pc to prevent this from ever happening again @mantikafasi
TRUE
@placid wave insane
i suggest you delete this horrible code and then delete your pc to prevent this from ever happening again @mantikafasi
YOU WANTED ME TO MAKE THIS PLUGIN WHY DO YOU TELL ME TO DELETE IT
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
then nuke turkey
i suggest you delete this horrible code and then delete your pc to prevent this from ever happening again @mantikafasi
Have you tried bombing FakeNitro instead :trollface:
:trollface:
net benefit to society 
ong
okay I will keep it internally but remove the switch
reporter benefits from it
I'm pretty happy with the state of the plugin now, but I'm happy with any feedback!
bdd4b0f Make eagerPatches an internal setting - Nuckyz
bd95cc4 Exit script if a chunk failed to load - Nuckyz
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
None
None
None
None
None
None
None
why did they fucking revert
was it only that or more
lets see
@austere talon bro
they reverted to a build 10 days ago
lmao
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
this is taking in consideration the regex testing for chunks
which only happens in the reporter
aha
this seems more right
look behind is good, but also need to be careful
all of the slow patches are because of the look behind
the slowest one
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
@austere talon 
oh god did they repush it
yes
@austere talon should I just make this one noWarn
it will already show with the new one failing
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
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 .+?
wdymm bro where is my merge commit
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
what do you think
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
now this works properly
before?
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
from mobile i mean
try something else
that might be expected if it's a bound function or smth like that
wait but why is native code and not object Function
btw i have an idea
vencord companion browser extension
that adds test patch / webpack find to github pr code view
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
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
(wrong implementation but yeah)
what if it's not a function
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
btw pronoundb plugin is frequently hitting 429s
@odd heath maybe you might be interested in looking into that (since you did the migration as well)
counterpoint to idea: findByProps("HTTP").HTTP.post
wdym
fixed
I think I did an oopsies
bound bound bound bound bound v
okay yeah this is not practical
can't bind everything
monkey patching to string more safe
bound bound bound bound bound v
why do we even need working toString?
is this an actual need or is it just a why not
seems xyproblemo
it doesnt work sadly
are u sure
yeah it depends on the source code
not the name property
as you can see f() is still anonymous
you could try something cursed like
const obj = {
ProxyDummy() {}
}
then access it from that object
but lmao
this is kinda cursed lmao
have you seen yet how it works?
it'll just garbage collect that object once it's no longer referenced
okay good
so no need for delete
that's cool tho we can do that in more places i think
we could even have like custom lazy name
this
LMAOO
sadly it does not work for proxies
try to declare name property
nah name doesnt work either cuz it depends on source code
and proxies are not functons either
guhh really, it proxies defineProperty too
it already has a name
because of the name on the object
dang this doesn't work either
HORROR
wait of course it doesn't work
proxies dont have prototypes
okay yeah impossible
I even tried
nookies webpack wizard
bro forgor
wtf,,,
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
wanna know a funnie
maybe
when I do this
and I try wreq.m["45835734543"] = "hi"
target is proxiedModules
receiver is originalModules
i wonder if js will ever not terrify me
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
what happened here
why is your icon so far away
discord just made your name super large for some reason
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
I see lmao
b38ab06 Preserve original modules prototype - Nuckyz
0146789 Preserve original modules prototype - Nuckyz
0146789 Preserve original modules prototype - Nuckyz
I think I can make this less hacky
maybe..........
hmmm
okay hmmm
let me try to cook this
Eh? I never touched how often it does the requests and I never saw it 429 when I tested that's kinda weird
I could look into it maybe I fucked something with a change accidentally
this was easy
9bbec66 Take a different approach which requires less c... - Nuckyz
f727d10 I can never not forget something - Nuckyz
github is about to say I have a security vulnerability
Incomplete URL substring sanitization
'discord.com' can be anywhere in the URL, and arbitrary hosts may come before or after it.
Incomplete URL substring sanitization
'discordapp.com' can be anywhere in the URL, and arbitrary hosts may come before or after it.
i think you have a security vulnerability
okay
oh look an explosion
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
I'm starting to think we don't need to patch onChunksLoaded
Can you add multiple regex inputs or at least one per line in a textarea instead of splitting on
,? Currently its impossible to use e.g.\w{1,10}Here's my attempt:
It will merge them into a single regex (and escape the strings):/steamcommunity\.com.+?\]\(https|test/i
Awesome, where can I find the source for this?
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
On macOS, the ctrl key is generally used as a secondary alt key for shortcuts. The cmd (⌘) key is the "main" modifier key, the equivalent of ctrl on windows/linux.
I waited and it wasn't enough 😞
@codiumAI
nuckyz fixed same thing last week but discord changed it or something, type is number now
honestly looks good but i'm still scared about potential XSS D:
have u tested this with some sussy svgs to make sure they are properly handled?
I've tested it against a random SVG to which I've manually appended <script> tags, as well as a random one I've found online by googling "svg xss". No javascript was executed in either case.
@Codium-Agent-AI /review
what's the command i forgot it
@CodiumAI-Agent /review
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...
i can't do allat
u shall
no like literally
as far as i know
specific error logging is impossible with this method
And now I've exhausted all the extra ideas I had for the plugin. I haven't encountered any videos it couldn't handle yet, but be sure to let me know if it does happen.
description: "Sends a link to a utility website that shows your current timezone identifier",
just make this into one constant lol
is this still the case
@crude hearth
timedones review??
I've only ever seen bots send messages without a nonce or an incorrect one :trolley:
Yeah, or selfbots, but well, not much you can do about that, aside from maybe checking if it's a valid snowflake.
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Turning off DisableCallidle did not fix the issue, I will try --render thingy soon
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?
y'all who do i have to pay to get this plugin updated and merged into the main thing i'm so serious. do i have to become a sponsor of vencord? like genuinely the only thing that's stopping me from making the switch from BD is the lack of this plugin
Does BD have this plugin?
I see at least one white name a day ask for a plug-in that does exactly this
agreed, +1 from me
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.
yt tutorial
Hello today we will watch Youtube tutorial on how to make a pipe bomb!
(will likely explode on you due to being outdated(
fucking insane notification
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.
oh no
Don't use DOM manipulation. Use patches and react components to add whatever you need
please don't put yourself in the top of the list
use a patch to get the chatbox
where can i find the chat buttons api? also i literally cannot figure out how to use patches, istg ive spent atleast 5 hours trying to figure it out and haven't got a single bit closer than when i started.
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
probably lol discord-types so horror
mantika you will be mapped filtered and as null and reduced to atoms if you dont explode this
Be sure to spell modified correctly when updating the description. d:
999d6c8 better types? no ts-ignore, also filters.compon... - Nuckyz
oh this fucking formatter
^^^ Reflect.defineProperty doesn't throw which is good for us
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
nice I didn't break anything

a8e18f1 ConsoleShortcuts: Start at Init - Nuckyz
d936604 Merge branch 'dev' into immediate-finds - Nuckyz
1a8a901 Merge branch 'dev' into modules-proxy-patches - Nuckyz
b10afeb Merge branch 'immediate-finds' into immediate-f... - Nuckyz
7d928e5 Merge branch 'modules-proxy-patches' into immed... - Nuckyz
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
this plugin adds a button to the message popover that removes/hides the message in the chat
will this work? idk
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!
not the typoo
b203676 Add back running modules without patches - Nuckyz
a8fa685 Add back running modules without patches - Nuckyz
this pr made my day
timedones
epico
i've ran into a comment in discord-types that reads @returns This return object is fucking huge; I'll type it later. so I wouldn't be surprised if that isn't the case lmao
index.ts: Line 31
return (messageStore.getMessages(channel.id) as { last: () => Message; }).last();
I cant read this anymore tbh
I don't want to even try to make sense of this
what is the point of this???????? it has been marked as "resolved" 9 months ago and almost nothing has changed and it still seems useless
I will blindly approve of this knowing the bug exists and not actually test it myeslf
BORN TO COMMIT BROKEN CODE
who wants to watch me PR some junk'
allows the user to input code into plugin settings, then that code will execute every time they launch discord. theres also a button to check for errors. theres also error catching when discord starts for custom js.
oh no
i didnt even notice
wasn't there one of those already btw
yes
tryna find it rn
yeep
also yes let's follow naming conventions
yeah this is a duplicate of abovementioned pr, so i'll be closing this in favour of that pr
thank you for your effort regardless!
i mean it doesnt matter
isnt that one for commands?
yeah that one looks like it registers slash commands, this is just running custom javascript in general
Like others have said; such an idea has been implemented before; and knowing Vencord users, such an idea isn't particularly safe to ship.
I'm just leaving some feedback based on what you have written to improve on building future plugins.
Button component also exists
don't hardcode these names like this. Use the provided React components that generate things like this; look at other plugins for examples
There's a styled TextArea component for this too
I mean yeah it doesn't matter but it was the only plugin like that
so I changed
is proper displayname for settings
nop
any way worke
this is why we need

guhhhh dont wanna reply to this because i dont wanna feel mean
how do we teach this user git
oh also i wanted to share something random I've been working on

we see you are using github interface
trust me
why does it matter
it will be easier in the long run to install git locally
true
its just faster for me to do it that way
it doesn't but it is significantly easier
how
there are git GUIs available 
upload file then done
if you're using VSCode it has git integration built-in
also i have files that i dont want comitted
unfinished FriendInvites UI
don't stage them
or use .gitignore (or even .git/info/exclude to not sync those excluded files)
alright ill look into it for future projects
have fun
dont be afraid to come ask in #🧩-plugin-development
and also as I've discovered with projects related to modding
look at how other people implemented generic ideas
chat buttons api wouldn't even be suitable for this, this was for attachments
yes i know you closed it
summaries[data.channel_id] = summaries[data.channel_id].slice(0, 50);
const incomingSummaries: ChannelSummaries[] = data.summaries.map((summary: any) => ({ ...createSummaryFromServer(summary), time: Date.now() }));
the only thing im really having issues on is patches
okay
i cant seem to understand it
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
so for example if i wanted to find an attatchment i could set the find to ".attatchmentInner"?
you can easily see that as each module is a function in an object with the key for the function being some random number
@austere talon your code less performant 👎🏿
what if it has more than 50 elements

like 60
you will pop and it will become 59
it wontt
yeah something like that
so thats finding an element, what would i do for match? like what would i put there if im trying to get the element
you need to select the minified source with regex and manipulate it in some way where your element (defined like (0,\i,jsx)(ReactNode,{})) is wrapped within a call to some wrapper function
or just modify what you need directly
done @austere talon
also if you have built Vencord with pnpm watch it will add dev companion plugin
I didnt need to post this but g
how do i use it
1: patch helper tab in settings
2: Vencord companion VSCode extension
you only fixed in one location lmao
Vendicated pushed one commit
horror a slider would be way better
insane users will put to negative number or smth
WHY CHANGE THE PHOTOO
speaking of sliders
when are we getting slider settings component with full integer numbers
wen
I think i tried slider but then for some reason I just put number box
tro
inb4 "So niche do it yourself"
?wdym
I think it would be nice if we let people to retain it for longer time
seems like a bad idea lmaoo
why :(
this but without having to explicitly set each visible slider tick
they will have 2 billion summaries and wonder why it lags
you can only have max 50 in a channel
@austere talon insane
oh true
you can have that
I'll check to see when the official ones expire
we can just use that
is that pissbot enterprises
idk i am not in there 
good
guh i have shit memory or something
yes
wait
this will explode if it is non-integer and round to nearest day or something idk
i love waiting 3.06324673287 days
yop
vee u do know those sliders are only fixed to 2dp in the tooltip
🔥
les goo
They still keep the extra digits
SettingSliderComponent.tsx: Lines 54-64
<Slider
disabled={option.disabled?.call(definedSettings) ?? false}
markers={option.markers}
minValue={option.markers[0]}
maxValue={option.markers[option.markers.length - 1]}
initialValue={def}
onValueChange={handleChange}
onValueRender={(v: number) => String(v.toFixed(2))}
stickToMarkers={option.stickToMarkers ?? true}
{...option.componentProps}
/>
what if I want to keep 0decimal places 
this is what i was trying to say 5 minutes ago
want so bad 
should I make it myself
just dont use a slider
looks 
we're in the browser not nodejs
Pull request successfully merged and closed
You’re all set — the mantikafasi:summaries branch can be safely deleted.
If you wish, you can also delete this fork of Vendicated/Vencord in the settings.
the description kinda implies that the summaries aren't created without the plugin
even though they always are 
why lol
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
and if anyone wants more info there's an extended description
i never see updater so i forgot 

otherwise you get "There are 30 new updates" jumpscare
and they're all properly credited dw 
thank you, however this is also a dupe unfortunately! to save yourself the time, always search existing prs before working on a feature
should i just finish and merge https://github.com/Vendicated/Vencord/pull/2021
if it even still works
me when
why did i do this instead of just using file urls
fwiw i tried a bit ago and didn't seem to work but pls yes 
always search existing prs before working on a feature
I looked for existing opened PRs before opening a new one, and the only PR I found was this one which hides only one specific message
Are there any others?
anyway...
but the original pr is not mergeable
My hides all messages from specific users/bots instead of only 1 :3
i thought the files arent even stored
I wouldnt include this in the release
Name variables properly 🥺
This was probably asked already, but why does this have to be json? why cant it just be a string?
Probably because it's an array. Array of arguments only really matters on Unix platforms where arguments are real. Also this doesn't even check if it's an array of strings anyway so this needs to be fixed regardless of what outcome will be implemented
- f
+ format
- d
+ download
- r
+ remux
- u
+ upload
Also, does this work on the web version?
could something similar to TextReplace work? where it adds more options as you fill them in?
lemme make you think about it for 1 second - if it has to download yt-dlp/ffmpeg locally, run child_process...
lemme make you think about it for 1 second - if it has to download yt-dlp/ffmpeg locally, run child_process...
that was my point lol
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
me when #🏥-vencord-support-🏥 message
that error message is misleading but it happens because he didnt restart fully
i mainly made this for the adguard pr but also useful for vencord html files
vencord adguard?
venguard
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).
lol they always did
Ah
it's possible to see the ublock origin rules for the ad bypassing and fix
but idk if that's easy
well i fixed the error but i'm still seeing ads :(
maybe there's a more updated script
maybe there was a second iframe in the first one
oooh wait yeah
okay i'm stupid it does use youtube.com afterall, however it seems to be www.youtube.com which the original script didn't account for
looks like it works now?
yeah
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
ahh
when its https://www.youtube.com
funny
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
!!!
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
Don't use dom manipulation, use patches
description: "Source URL to replace the background",
I would use a settings about component to say this, and provide an basic example theme
Again no dom manipulation and use a react component for this
cant tell if its just me, but i'm still seeing ads on videos, someone else might need to confirm that though 
i hope this gets merged soon
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.
@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
because I want this to be a general thing we can look at to see what a property does
discord-types logic
that's why I took the effort of documenting every prob on the wreq of discord
Yikes, seems a couple test changes made it through. Could have sworn I'd removed them though 😖
no need to check for webpack source code and not even understand what's happening
yeah
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
tbf why would u document internals xd
they're not supposed to be used by consumers
i hope this gets merged soon
thank u for your kinda words i hope so too, Its almost everyday i see someone asking for plugin. So i also hope it gets merged too. <3 ;3
something something react do not use or you will be fired
I mean like, when someone is developing webpack themselves
the source code is poorly documented idk how one can work in that
the webpack codebase is so weirdly written
I know, that's so true
I think this may be one of the reasons webpack never changes
@Scyye
Also, does this work on the web version?; if not, id mark it as such.
How do I mark it as desktop only? I think I've seen a plugin or two using the .desktip.(ts/tsx) extension, is that sufficient?
it's almost as bad as corejs
it's so horribly documented that no one wants to touch the internals
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
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
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);
}
});
what the fuck
the fuck is happening
dont dig into core-js lore too much
and I also tried a lot to understand the return of onChunksLoaded
@Scyye
Also, does this work on the web version?; if not, id mark it as such.
How do I mark it as desktop only? I think I've seen a plugin or two using the
.desktip.(ts/tsx)extension, is that sufficient?
rename the folder to <pluginname>.desktop im pretty sure
like bro wtf is this
CAN YOU STOP POSTING THINGS THAT MAKE ME NEED TO USE MY BRAIN 
dont use your brain then
thanks i will simply let the code you post roll over the no wrinkles in my brain
yes
I spent more than 5 hours documenting webpack
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
🤨
HORROR

husk
30K NEW LINES?
Is this every user plugin
I will find where you live 
what the FUCK happened here
now that I understand wreq.a it makes sense why it exists
Went with an argparser, makes it much easier to use now: 5205530
Disables the Ctrl + R shortcut to prevent Discord from restarting.
But why
I don't really see a use for this plugin but I'll leave this here
The plugin makes a pop up instead of fully disables the keybind. The description should reflect that
Don't use dom manipulation
With 8bc793c8ce1b30e36d9daa287d91a10e8c4ea8a1 it should only build for desktop.
Fixed by 5205530e1f611dbe72f0d1f2dd2aab14fcc121da
That's the general description, that's what the showAlert setting description says
just.. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
Wanted to support arguments with spaces too, as those do come up from time to time 😄
What do you mean? What should I use?
how do i enable custom flags to try to counteract the unload issue?
I made this extremely future proof, it really should not break unless webpack changes considerably
the --disable-something-something
uhhhh
do i need a custom build for it
hold on
like where do i go to add that n all
what are you using?
vennie vencord
desktop?
This seems pretty useless, and the execution feels kind of clunky.
it should be applying the setting for you automatically if you are up to date
Also, this is more subjective, but having stuff like “By xyz” forced down users’ throats feels icky
4f2c2b8 new plugin Summaries: show Discords AI-generate... - mantikafasi
c836270 fix minor bugs in various plugins - Vendicated
9ec6718 build: improve fileInclude plugin - Vendicated
41c5bbd new plugin WatchTogetherAdblock: block ads in y... - ImLvna
f7d12d2 Merge branch 'dev' into immediate-finds - Nuckyz
it keeps growing
4f2c2b8 new plugin Summaries: show Discords AI-generate... - mantikafasi
c836270 fix minor bugs in various plugins - Vendicated
9ec6718 build: improve fileInclude plugin - Vendicated
41c5bbd new plugin WatchTogetherAdblock: block ads in y... - ImLvna
f345484 Merge branch 'dev' into modules-proxy-patches - Nuckyz
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
hmm what is this
@crude hearth this is related to you
this should fix it I guess
How did that even cause error
I think I declared default state somewhere
ill fix it






