#๐พ-core-development
1 messages ยท Page 239 of 1
yeah
exactly what i said lol
.
yeah
enumarateDevices has cases where it doesnt return devide ids
I remember looking at this in chromium's source code ages ago
dont remember what it was tho
some security shit
yeah
it was if you didnt query the permissions for it beforehand
(await navigator.mediaDevices
.enumerateDevices()
).map(e=>e.deviceId) // ['','','']
await navigator.permissions.query({name: 'microphone'})
await navigator.permissions.query({name: 'camera'})
(await navigator.mediaDevices
.enumerateDevices()
).map(e=>e.deviceId) // [ "default", "communications", "7b5d0522561559205b1f5209fe36202863424ee97cedd50c5ef18eb90c2f8228", "b242f697341faf734d170f436e2d6b8ceb9cfe35802dc449fa1d7df3f395b1dc", "39366bf071e8587ed9a8131bfe181a1f9438b08910bfc8cabac960734e217562", "",]
that said, default is an accepted value for a media sink
so its likely erroring when its NOT default
since it has a list of stale IDs
since its possible those media device IDs change
thank you for coming to my ted talk.
Yea that makes more sense
uhh maybee
I remember looking into this a while ago for volume booster and it not being a vencord issue
so its either a stale ID
or no permissions
since '' == null // false
and they check against null
deviceId is NEVER null, its only an empty string
no permissions = ''
this could be a vencord issue if vencord doesnt disable the permissions api
XD
@granite sky ugh, they are a bit unaligned
apply bottom again
WEBHOOK needs to go just a tiny little up
Bottom with or without unsetting margin top?
actually
I'm going to be home like in 20 minutes
do you mind if I do it?
Nop
alright
I think this is good?
that was the best I could do tho
0.01em
try doing 0.005 and it just moved a lot below
probably some limitation of such small values
Why not just use discord styles?
they dont work
discord aligns everything in that span manually
sometimes with margin, other times with top
so to avoid doing that for vencord plugins I wrapped decorators in a div
no fucking way
which aligns automatically, and then has flex with center align and justify
however, when we add a tag it isnt matching how the normal discord tags are aligned
likely because the actual div we wrap isn't aligned perfectly in the center, it looks worse when we do
it... doesnmt seem like it?
wdym?
it doesnt seem manually aligned
I know
but what I mean is that the wrapper of all of that is not a flex component
with align center
which means you have to manually add margin or top to align your items
it is stupid
so I did this
welp, i seem to be too stupid to see the issue here, since adding the tag repeatedly just works flawlessly for me
oh well
they are adding the tags using our decorators API
which already adds the top to align
so using the same discord classes as normal tags would just add more margin
and thus make it unaligned
I was trying to say why not to use the same classes at the container itself
It's mainly just an issue with tags as they have to match discord ones
it would still require some fixing on discords components like with tags, but any other thing should be aligned perfectly
aaaah
or i'm thinking wrong
its the vencords decoration tags api utility thats dogshit and has this issue
not discord's styling
ic
it's quite literally the opposite
It's saving you from having to add margin-left and top to every single decoration you add
oh it's perfectly now lol
@left sequoia before you say it's dogshit, realize discord shit isn't even aligned in the center
everything is a bit different, thus making a single solution way harder
alignment, and visual alignment are different things sir, but i understand your point
I made the API have a vertical alignment which is perfect for most plugins, but since more user tags has to match the shit alignment discord does, you gotta move it a bit
yes I know
I pushed @granite sky
@limber skiff I might just replace the discord tag with our own
No issues with centering, no patch will be required, one find less ( might add other ones to steal some classnames )
Or we'll just stick with the current one?
Bipolar
you can make it use our own, but you still need to add the classes discord uses
and thus have the same issues (but instead not require a patch)
without the classes themes wouldn't work very nicely
It seems like only margin-top should be changed then
Like
There is one class that adds top padding, we can just ignore it
styles.css: Lines 1-8
.vc-more-user-tags-message-tag {
/* Remove default margin from tags in messages */
margin-top: unset !important;
/* Align with Discord default tags in messages */
position: relative;
bottom: 0.01em;
}
I'll check it on my system if it works the same
alright
After i eat
I'm thinking of a priority option for both decorators API
0 = default, positive = comes before other plugins, negative = comes before Discord own components
more negative = comes before Discord own components and before other plugins
does that look good?
huh
Ah, cloud sync corrupted my settings somehow
it seems to be the case at least
one moment
@limber skiff also, what should we do with this options? We are not modifying old tags, so it does nothing
Should i try to recreate it or just drop support?
what the fuck
Somebody PR that out
Also, small notice, there is no decoration in replies
nvm, i've restarted discord and now it's fine
you would have to patch that out
?remind 3pm
Alright @granite sky, in 17 hours, 10 minutes and 23 seconds: โฆ
Oh, wait, i thought you have responded to a settings question
.
Because you are
Love mobile discord highlighting wrong message
lol
@fossil inlet, <t:1738685913:R>: โฆ
i love binary lockfiles
binary?
depending on their support for monorepos it actually seems pretty good for this type of management
@austere talon opinions?
why... are you compiling a runtime to a package manager?
also by running scripts i think you mean not doing so
since bun simply omits scripts it cant run
compiling? or comparing?
bun is all in one so yes I'm comparing one part of it
BAD
which it simply seems to be doing better than pnpm
i assume u mean install scripts?
install packages, run scripts
then yeah, for install bun simply doesnt compile the natives, and hopes the prebuilds works
for run it should be pretty much no different
since that's just node vs bun
and they are effectively identical in actual js code scenarios
so you can do the same for pnpm by omitting specific scripts
๐
Didnt you get ban once for saying you compiled vencord with bun? @dusk blaze
i personally heavily dislike bun too
mainly because of their dogshit promises and awful advertising
in raw js, bun is worse than anything out there
but it tries to get ahead by implementing native libraries for everything, then going "hurr durrr, look our native library is 10% faster than node's js lib that does the same thing"
like yeah? no shit? now compare it to denos rusty bindings... oh yeah you wont because it will make u look bad
then they go "we're sooo much better than node!" but then cant actually do a lot of the shit node does, and their promises of being a node replacement fall flat because half the libs dont work
woooweeeeeeeeee
this is why i like deno, because they went "yeah, here's deno2, we did stuff, we think full nodejs support was somewhere on the list too"
and it just flat out works as a nodejs drop-in replacement
yeah it annoys me because they are doing agressive missleading marketing to get as much market share as possible, while not actually being a good alternative
just missleading people into thinking so
ThaUnknown_ more like ThaYapper_
yes
i have strong opinions
"hey our on disk cache only install is x100 faster than this network based install"
pnpm is good at some things but hey try to run nested scripts with it
500ms for every script
yes
how do they mess up that hard?
are we really complaining about ms rn?
the standard is to take time?
its bun that's weird, because it doesnt do that
yes pnpm watch takes 2 seconds
and I run it all the time
its a few seconds per nested script on my laptop
its really bad
i dont think you ever looked into those install scripts and what they do
This just sounds like a hardware issue
they are required, because they compile native code
Shit does not take that long for me
lol not when npm does it in a fraction of the time
npm errors on most scripts nowdays because most are outdated and use dependencies npm no longer provides
so npm goes "yep all good"
and the reason it takes 500ms, is because that's the timeout for finding vstools, which means you dont have them set up
to build natives
probably
this is heck of a time for me to wake up
should we switch from package scripts to justfile
they take too much time, and that's not understandable
it doesn't really matter xd
sir you added the dependency
simply... dont add dogshit dependencies?
:?
okay sry, u probs werent the one adding the deps
what you are saying doesnt even make sense
are we not talkign about install scripts?
i might be confused on the topic then
anyways, my point is, bun looks better to you because its likely omitting some crucial steps, that will come out later in the washing
except cold boot times
i think thats actually better on JSC
v8 vm spawning takes the piss
you know, technically if you want the fastest speeds we should just rewrite the entirety of Vencord in Assembly
it unironically wont fix the problem
i think nookies is talking about the slow dev times when installing/running
wasm is good for runtime, not for dev
yall are just saying shit at this point
dont get into the discussion if you arent gonna say anything useful
Vencord in rust confirmed 2025
I notice slow time for running scripts all the time and that matters to me
npm is faster than pnpm for that
welcome to Vencord
because i have 1:1 identical start times for npm vs pnpm
like we're talking withing 1-2ms of "the same"
venpm soon
TotalMilliseconds : 868.5955 vs TotalMilliseconds : 988.8196
so yeah pnpm is sliiiighly slower
but not 1s slower
start nesting scripts
the last time i mentioned building vencord with bun i got banned...
"scripts": {
"build": "...",
"dev": "pnpm build --dev"
}
150ms difference across 4 nests?
{
"scripts": {
"nested3": "pnpm run nested2",
"nested2": "pnpm run nested1",
"nested1": "pnpm run start",
"start": "node server.js"
}
}
or do i need to go deeper?
i dont really see it
i mean yeah it is slower
but not impactibly slower
npm does nesting decently quickly
bun is even faster but i definitely wouldn't use a runtime that claims "production ready" while not even having windows support and full npm package compatibility
iirc bun script runs omits package resolution
idk if they fixed that yet
cuz there's some order of global, deps and scope
and workspace
and iirc bun only does scope
does/did, might be living on outdated info
that's why we arent gonna use as runtime
building tool, nothing else
does it end up faster than esbuild?
bun + esbuild*
then ur only gaining on script nesting time
bun cant install esbuild on windows iirc
:^)
cuz one of the deps is a native, which it doesnt build
and esbuild doesnt run
honestly just make .sh scripts to run the actual build.mjs commands
oh i forgot windows users were a thing
Blazingly Fast๐ and Memory Safe
i will use windows till the day i die
since it just works for those envs
i will use windows until linux has an installer that i can click "install" on and everything just works
Donโt let jit find out about Mint
fedora

i'd like to run a new AAA game on my nvidia gpu
:^)
-3 days of free time
as much as i fucking hate windows with how slow it is, and how dogshit their file system is
it just works
except for network drives
that shit will bluescreen you every 2 minutes
i unironically boot up wsl just to operate on network drives
how are you gonna do it
launch.mjs trolley
no
the fact bun is compiled already makes it faster
no
we're not using bun
you will still be able to use bun
bun isn't even that much faster ๐ญ
just is faster than bun (or same, small variation)
and make is same as just
(ignore preedit idk what i was saying)
but that delay just seems to be the base runtime of build
even if you run the command directly it's not faster
try to make the build script itself faster
gradle build script when
what is just ๐ญ
@odd heath you will merge your branch 
Wha
Did I miss something
do justfile then ๐ช
Any opinion on this plugin / chances of it getting approved?
Thanks for any response
this is way too niche and not really that useful. thanks for your contribution though!
None
None
None
None
None
None
None
None
couldnt this also be regex as its just split in src/plugins/index.ts:271, which accepts regex
Yop
this and a handful of other mappers like it will map to [""] if the old value was just an empty string, this looks weird in the ui and could be confusing to users (it confused me for a bit)
๐คฌ
whoever force pushed caused me to get a conflict error
wow
THAT WORKED
fixed everything and ready for review again
Small thing to point out - animated gifs now use the cdn url but discord does not render them as moving inside discord, opening it in your browser WILL make it move tho
is missing toolbox fixed on dev already or nah?
don't really wanna switch branch right now considering the time
(if its not fixed, then btw toolbox is dead)
my brother in christ how did u manage to fuck this up
has been for a few days
not much, but it always annyoed me having to use console shortcuts for this
function getUrl(data: Data) {
if (data.format_type === 4)
return `https:${window.GLOBAL_ENV.MEDIA_PROXY_ENDPOINT}/stickers/${data.id}.gif?size=4096&lossless=true`;
return `https://${window.GLOBAL_ENV.CDN_HOST}/stickers/${data.id}.${StickerExt[data.format_type]}?size=4096&lossless=true`;
}
guhhhh i need more ideas for features for vencord companion
last time i tried to do it with .gif it just
didnt work
๐ญ
?????????
i gtg for now i gotta compile this
hold on
i may be retarded
severely
OH i see what u did
nvm nvm
whats the point of having the type argument if it will only ever be a sticker?
you should fix the redundant type 
wait wha

/merge @a
You can just pass the ID and call fetchSticker in this function instead of passing a callback for this.
function buildMenuItem(stickerId: string) {
const { favoriteableId, favoriteableType } = props ?? {};
if (!favoriteableId) return;
if (favoriteableType != "sticker") return;
const sticker = props.message.stickerItems.find(s => s.id === favoriteableId);
if (sticker?.format_type === 3) return;
const menuItem = buildMenuItem("Sticker", () => fetchSticker(favoriteableId);
findGroupChildrenByChildId("devmode-copy-id", children, true)?.push(menuItem);
Such an active PR lol
@granite sky, <t:1738702177:R>: โฆ
Already done
Also changed TypingTweaks a little
still?
nop
fixed in 1 minute
verified icon uses 1rem as its height
so the whole tag is 16px instead of 15
I've made a check if it's a verified bot, if yes -> change height
that happened to me another time
try pushing a empty commit
but they are not in pr
at least call it "Re-run CI" lol
So... that doesn't look horrible to me
index.tsx: Line 87
className={"vc-mut-message-tag" + (props.message.author.isVerifiedBot() ? " vc-mut-message-verified" : "")}
yeah but its still not ideal that you have to align this yourself
at least looking here has shown that its not exactly been going great
there is actually no escape from that
make a classNameFactory, call it cl and then className={cl("message-tag", props.message.author.isVerifiedBot() && "message-verified")}
const cl = classNameFactory("vc-mut-");
that makes it a bit more clear
4aa8203 fix install scripts for systems with scuffed /tmp - Vendicated
3ba50d4 oops that was apparently deprecated D: - Vendicated
done
@limber skiff might i ask you to take a look at the one patch change pr with a lot of yapping in the description?
me when innocent sounding commit name causes merge conflicts
const parentChannelLabel = (): string | null => {
const parentChannelLabel = (): string | null => {
idk what i did but now theres errors all over
i accepted someones suggestion thing

vreport dev
Now testing! 
None
None
None
None
real
None
findByCode("APPLICATION_RPC(", "Client ID")
None
None
oof
which i love
was the toast fix merged?
Nope
This fix works on both stable and canary
I do have a better find that only works on canary
what did they change in canaray?
don't tell me they mangled the routes object
show
was
function q(e, t, n) {
return s.tn
.get({
url: P.ANM.APPLICATION_RPC(t),
oldFormErrors: !0,
retries: 3,
rejectWithError: !0,
})
.then(
(i) => {
let {
body: {
rpc_origins: r,
id: l,
name: a,
icon: s,
cover_image: o,
flags: c,
},
} = i;
if ("string" == typeof n) {
if (e.transport === y.He.POST_MESSAGE) {
let e = (0, u.Z)(t);
if (null == e || !U(n, [e]))
throw new x.Z(
{ closeCode: P.$VG.INVALID_ORIGIN },
"Invalid Origin",
);
} else if (!U(n, r))
throw new x.Z(
{ closeCode: P.$VG.INVALID_ORIGIN },
"Invalid Origin",
);
}
e.application = {
id: l,
name: a,
icon: s,
coverImage: o,
flags: c,
};
},
() => {
throw new x.Z(
{ closeCode: P.$VG.INVALID_CLIENTID },
"Invalid Client ID",
);
},
);
}
is
async function J(e, t, n) {
let i = h.Z.getApplication(t);
if ("string" == typeof n) {
if (e.transport === O.He.POST_MESSAGE) {
let e = (0,
u.Z)(t);
if (null == e || !B(n, [e]))
throw new y.Z({
closeCode: R.$VG.INVALID_ORIGIN
},"Invalid Origin")
} else {
let e = await Q(t);
if (i = _.ZP.createFromServer(e),
!B(n, e.rpc_origins))
throw new y.Z({
closeCode: R.$VG.INVALID_ORIGIN
},"Invalid Origin")
}
}
null == i && (i = _.ZP.createFromServer(await Q(t)));
let {id: l, name: r, icon: a, coverImage: s, flags: o} = i;
e.application = {
id: l,
name: r,
icon: a,
coverImage: s,
flags: o
}
}
Now testing! 
None
None
None
None
None
None
None
None
ae98cfb Wrap decorators in flex with gap to avoid addin... - Nuckyz
a73074b MessageDecorationsAPI: Fix bad vertical alignment - Nuckyz
70ce6ff Fix reporter display for componentByCode - Nuckyz
949aad8 Fix webpack finding Popout - Nuckyz
971e186 CopyEmojiMarkdown: Fix copying animated emojis ... - Tomsoz
@austere talon https://github.com/Vendicated/Vencord/pull/3201/files this should also get merged/reviewed
uh
nvm
forget what i was gonna say

actually don't forget i will say anyway
i recall toasts.type or whatever being an incomplete enum in discord itself at one point
am i being dumb?
I didn't even realise there were more types than success, failure and custom until it broke tbh
@rugged spire, <t:1730841949:R>: hey have you made a v3 of "your stable plugins" yet due to git hell
No.
emoji confetti 
@wise hare please tell me you didnt spend money on that
(he can't talk here)
what the hell ๐
anybody got css to remove it lol
the button i 'm not bothered about the actual effect
nvm got it
which discord staff member do i need to [redacted] to get new features early (/JOKE!!)
like holy shit im always the last in the rollouts ๐ญ
if you're on about the confetti stuff idk why you would want it
its just a paywalled feature lol
My problem with confetti is it happens every time i click on this channel
None
None
None
None
RoleColorEverywhere (found no module):
ID: -
Match: ```
renderPrioritySpeaker(){
None
None
None
RCE bug in vencord real
We gotta stop calling it that
NOP
its kinda funny sometimes
as long as the context is clear
please don't submit issues on github for RoleColorEverywhere that are just "RCE bug"
Agreed but the context is never clear
ill pr "fix RCE: wrong injection of code" 
NOT husk
rename rolecoloreverywhere
rename it to remote code execution
||make it a required plugin that cant be turned off||
I wish it was, unfortunately it's not. In the client, it's a call to a uniqueId() function that's basically just an incremental counter, and I have no idea how to access/call it with vencord, so random number it is
vtest
Now testing! 
None
None
None
None
RoleColorEverywhere (found no module):
ID: -
Match: ```
renderPrioritySpeaker(){
None
None
None
Do we need any change for the AUR build or can I just push it?
you need to update .desktop file if you have a custom one
MimeType=x-scheme-handler/discord
Thanks! Pushing it then cc @opaque silo and I cant find zt64
pretty please do it through the pkgbuilds repo we have
with aurpublish
oh yeah idk if he has access
sent you an invite to the repo https://github.com/Vencord/PKGBUILDs
lmaoo
ok fine turning my laptopbhack on
lol u can do it tmrw
also playing Tomb Raider on laptop is so real
i can do tripple vsync 75fps on max settings no drops
loveee
for some reason comet isnt syncing achievements with gog
i will go bother heroic people about it
crying
HIT IT
XDDDDD
@austere talon REVERT IT NOW
gonna add a check that forces splash if it's you
and it will never close it will stay open forever
bro what is wrong with this fucking bot
Just offer vesktop premium and force users to see that thing if no paid
Better bussiness
you should give flathub some of your vencord biullions so they can make their bot not shit
MASTER SHUTDOWN??
- smh offensive language, needs to be fixed!!!111!!11
- did someone ddos flathub or smth
they ddos themeselves with their bot
Based comment
mb, i unplugged the cluster
==> Starting build()...
Lockfile is up to date, resolution step is skipped
Packages: +666
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are cloned from the content-addressable store to the virtual store.
Content-addressable store is at: /home/edu4rdshl/.local/share/pnpm/store/v3
Virtual store is at: node_modules/.pnpm
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ Update available! 9.1.0 โ 10.2.0. โ
โ Changelog: https://github.com/pnpm/pnpm/releases/tag/v10.2.0 โ
โ Run "corepack prepare pnpm@10.2.0 --activate" to update. โ
โ โ
โ Follow @pnpmjs for updates: https://twitter.com/pnpmjs โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Downloading app-builder-bin@5.0.0-alpha.10: 72.51 MB/72.51 MB, done
Progress: resolved 0, reused 372, downloaded 270, added 666, done
node_modules/electron: Running postinstall script, done in 5.5s
node_modules/esbuild: Running postinstall script, done in 107ms
node_modules/tsx/node_modules/esbuild: Running postinstall script, done in 85ms
node_modules/@vencord/venmic: Running install script, done in 51ms
> vesktop@1.5.5 postinstall /home/edu4rdshl/.cache/paru/clone/vesktop/src/Vesktop-1.5.5
> pnpm updateArrpcDB
sh: line 1: pnpm: command not found
โELIFECYCLEโ Command failed.
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'vesktop-1.5.5-1':
error: packages failed to build: vesktop-1.5.5-1
Mmmmm
ok pushed
Ty cookie
That didn't worked, the sed command doesn't do anything on package.json
sed -i 's/"postinstall": "pnpm updateArrpcDB"/"postinstall": "corepack pnpm updateArrpcDB"/' package.json this works
you should move to #๐ฅ-vesktop-development
am i stupid
or did vee change something
you should ping zt more
@dapper tiger
guh
yop
You should move this up to the top level and use const uniqueId = findByPropsLazy(... instead so you're not running the find every time
The index would work fine here
Why are you making multiple requests to the create attachment route when it accepts an array?
mostly because I'm stupid yk
fr tho i did it cuz that's what the client does when you drag 2+ attachments at once into the chat box, one /attachments request per file
mostly because I'm stupid yk
Relatable
pretty sure they just treat dragging multiple as being dragged one by one
The Vencord Chrome Extension is up to date! (v1.11.4)
cleaned up known issues a bit
No
Ok
4a447c7 feat: add donor and contributor cards in vencor... - khcrysalis
thank you for your contribution! unfortunately, this contribution doesn't follow the plugin guidelines (namely, using patches instead of raw dom)
and this is better solved by #2657
why do people use AI to generate PR descriptions ๐ญ
writing is hard
please use a more specific selector than just div
what's the use case of this? we can't use this for support because people wouldn't have this plugin enabled
you should just import the plugin instead
import IrcColors from "../ircColors";
IrcColors.resolveUserColor(userId)
return id && this.resolveUsedColor(id);
resolveUserColor(userId: string) {
Oh, for some reason I thought it was prohibited
const isPrivateChannel = currentChannel.isPrivate();
you likely don't need to store these manually. have a look at VoiceStateStore, VideoStreamStore, etc
@austere talon
div[class^="message__"] <- is it goint to do it?
for example
The second _ is part of the hash isn't it?
oh, yeah
It's something I end up doing often that gets annoying. Like the other things in console shortcuts, just small qol.
one thing I hate about GitHub issue/pr tab is that when you close one thing, everything skips forward
so if you're on page 1, close 3 issues there then switch to page 2, 3 issues from page 2 skip to page 1 and you never see them
Hey team! ๐
This PR fixes an issue where the auto-translate plugin was trying to translate emojis and adds a new option to include the original text in the translated message.
What's New?
-
Emojis Are Safe Now
- The plugin no longer tries to translate emojis (which was breaking things).
- Emojis stay exactly where they should be in the message.
-
New Setting: Include Original Text
- Added a toggle to optionally show the original message below the...
AI slop description
Just open all pages beforehand
Also i've changed everything you wanted on both prs 
splitting the message into parts like this doesn't really make sense because this will mess up the grammar & context. this problem will become even more apparent for RTL languages because you're completely messing up the flow
Broken once again, kinda blows that users can't open issues and are funneled into a server to do any reporting. Github is THE way to manage this shit, discord sucks for issue reports.
Anyway it's not even registering as loaded in the console like other plugins now.
vtest
Now testing! 
Me when half the bugs I fix come from the support channel
RoleColorEverywhere (found no module):
ID: -
Match: ```
renderPrioritySpeaker(){
None
None
None
you make a good point. what if we translate the entire message as a whole while preserving emojis by temporarily replacing them with placeholders instead?
RoleColorEverywhere (found no module):
ID: -
Match: ```
renderPrioritySpeaker(){
None
None
None
I think I will eat breakfast then fix it 
I thought of that, but what would you use as a placeholder? Couldn't that just get sanitized/replaced by the translator?
Who ate my react dev tools
I honestly have no idea where are they
there is a different PR https://github.com/Vendicated/Vencord/pull/3096 which attempts to fix Links sometimes being broken. the solution we ended up with was replacing all links with unique untranslatable (i.e. nothing that even remotely looks like a word) ids and then later replacing them back
we should just unify these PRs. We can likely base everything on 3096 and just extend its regex to also add emojis
yeah that makes sense. would be great to have the option included in that PR instead then.
OK, considering this is 90% of support right now Iโm gonna make a KnowIssuse
this should work and be better
return String.raw({ raw: strings }, ...args);
still have to look at patchWebpack
should this be moved above assignment to wreq?
@austere talon you will fix 
never
we just need to update esbuild
isnt there an open pr for that
our esbuild is so fucking outdated lmao
can we abuse arguments instead or smth
update and make build script faster
opn
nop
in anonmous function
that isnt arrow
no
??
guhhh i love my patch helper in vscode
I changed a lot 
its so nice
not loaded
I mean
not required
but loaded
that code runs once the first module is required
this is a bit dangerous since 128014 could potentially become a different module with side effects. maybe check m[128014] first and see if it's the right thing
this function call should be wrapped in an individual try catch
should be equivalent and better
if (Object.hasOwn(wreq.m, id)) {
let's extract this into a separate function so it's cleaner
is this something that can actually be reached during normal functionality or is this only if something breaks?
wall of text
looks good mostly
is this something that can actually be reached during normal functionality or is this only if something breaks?
It's an object so there really shouldnt be any other prop being added
I will remove that, it doesn't really make sense, thinking now
if anything will just check if newValue is a function
do we have a reason behind the CSS editor on the chrome extension opening a blank window for the past couple updates yet?
love stylus but 
๐
RoleColorEverywhere (found no module):
ID: -
Match: ```
renderPrioritySpeaker(){
None
None
None
RoleColorEverywhere (found no module):
ID: -
Match: ```
renderPrioritySpeaker(){
None
None
None
@fossil inlet make plugin to auto skip this
erm selfbot quit being lazy 
@fossil inlet, <t:1738289728:R>: migrate from TS 4.9.5 to 5.7.x
seems to be really simple
https://discord.com/api/v9/guilds/$guildID/new-member-action/$channelID
just a POST request
horrible, you gotta make post requests for that?
yes
why is discord so dumb
they are giving a valentines day decoration for when you gift someone nitro
I will gift to myself 
if they had the minimum of a brain they would realize the other person should get it too
bro, people like to match things
give to both, dumbass
Discord features for e-daters soon
like what's the point if you already have nitro, gift someone it and then only you get the decoration
what about the other person
do they gotta gift a stranger?
their idea is probably that they gift it back
yeah, I tested a lot a while ago, and this also prevents issues of removing new lines which mess up strings in some parts
too bad if the other person already has nitro
oh oops
that person was a vencord contributor for a whole minute 
soon they will be
nah gift me more nitro like you did for the Christmas decor
ya
i love the patcher rewrite branch causing 999 merge conflicts for me 
ill worry about it later 

my branches are always like that :)
once you address the feedback I gave on your pr and I tested tomorrow, we can merge that branch
half of it is just questions for clarification anyway trolley
oh also one last thing I didn't post there
I'm not a huge fan of the eagerPatches setting
why make it a setting?
pick the one that's better and make it the only option without a setting
reporter uses it lol
but why does it have to be a setting then and not just reporter check
what does eager patches even do 
why not tho
is there any reason for anyone besides reporter to want to change the behaviour?
it seems like a bad idea to have something like that as a setting cause it overcomplicates the code and makes behaviour inconsistent depending on the setting
its just worse performance to have it on
and you might wanna use it if ur running reporterDesktop
oh wait it already enables it for you
lol
patches... eagerly
matches current behavior
so with it disabled will modules only be patched when they are required, not loaded
I think we should just get rid of the setting and flag it behind reporter instead
๐ค
maybe make it require a dev build to be toggled
nop
who is that
@granite sky
i thought they already were a contributor
I've made such tiny changes, so it wasn't fair adding myself to devs
as mentioned in #3205, this issue also happens with emojis. would be nice to add emojis to the regex as well.
after some testing, i've noticed that it can mess up mentions as well.
might be worth adding the regex to mentionables such as users, channels, etc.
as mentioned in #3205, it would be great if we could add this to the plugin settings:
...
as mentioned in #3205, this issue also happens with emojis. would be nice to add emojis to the regex as well.
after some testing, i've noticed that it can mess up mentions as well.

i send a request to the client asking for the unpatched module (handled here) using the find from the patch
then i apply it on the extension side
and show it in a read-only window (you will not believe how hard it is to open a readonly window in vscode) and update it everytime the user changes the patch in the source file
asking because I'm might export some more functions from WebpackPatcher
to make everything easier
a find module id by filters is all that i can think of rn to add
ah
idk if its possible now, but would it be possible to get a list of what plguins patch a module
because i dont think vencordpatchessource has the comment with it
ohh right
patched source factory.toString
interesting
if I instead make patchedSource the string used to eval the factory
I might be able to save some memory
also, could you take at this small pr sometime soon 
https://github.com/Vendicated/Vencord/pull/3194
small
I meann not sure how JS handles it
but I know they keep the string used for the eval in memory
so avoiding keeping a reference to factory.toString() is probably a good idea
I feel like the proper fix would be to make that syntax work
i dont think thats possible
becuase if \\i in used
what what would that be as valid syntax
that would make sense to the user
if \\d works then\\i should too
yeah true lol
i just got a stupid idea on how to parse that 
going to rewrite to fix the underlying issue
hmm
i wanna make a workflow input for reporter for webhook url but
you can't seem to make workflow inputs private
i wanna make it post the results to venbot.vencord.dev
so venbot can post it manually
should also update the reporter workflow file to remove references to this secret
good reminder
will do it now
I feel like it's better to keep eagerPatches as a setting
allows people who want to mess up with something like sadan to manipulate it easier
it can even be changed at runtime depending on how early you load a module
I guess I'll just have to make the venbot webhook url public and use a github secret key to verify it's a genuine request
also it's a setting without an ui so the normal user will not touch it
basically I want to integrate the auto tester into venbot
it will trigger reporter and make it send back results to venbot via webhook
then venbot posts the message & edits an existing message (so we have one channel with always up to date reporter results)
Opinions on adding customizable sounds to this? Maybe using soundboard sounds?
I know I talked about it previously a while ago and the conclusion was that there will probably be a plugin that does this for default discord sounds that can also hook into plugins
we already kinda rely on that
because the minifier changes some numbers to exponential notation
I dont know honestly
for the patcher we dont need it
but for the chunk loader it's the way of getting the proper key because we match code and not executing js code
so we gotta turn the exponential notation into it's proper number
ig I can fix this actually
that's not very consistent lol
Couldny you just make the default value a secret?
iirc GH censors all secrets in output
actually
just remove your reporter changes from ur pr
I will do it in my change
cause i'm changing it anyway
(i mean the part that removes discord token)
i want to make the embed tell u the git buildid / hash
I have to remove it partially
how did i miss that wtf
