#๐พ-core-development
1 messages ยท Page 282 of 1
vtest
because google is dumb
</3
they bouta eol my phone for business when I have 8 more years of support
anyone working on the stuff?
ik i was checking if i have permissions
i have an open pr ๐ญ
i think i fix all of the crashes
most of ur changes dont seem stable compatible
all changes must be stable compatible
don't we have something to only apply after a build number
most should be easy
a few will be a pain
@gritty iris have you been working on this at all?
816243e Settings: add textarea options - Vendicated
781a2f7 misc Settings ui improvements - Vendicated
d86423c VcNarrator: only narrate events of current session - Vendicated
38a9f12 CrashHandler: log component stack on crash (#3933) - sadan4
0126090 Translate: update DeepL language list (#3919) - songnguxyz
I can take a crack at it
I think I may have done a few on accident
for shc
I stopped awhile ago because my head started hurting
https://github.com/Equicord/Equicord/commit/ef6ca5c6a10c8d1c4b8e3c978b36add6d71f2f30#diff-56b41bd9a8bad6c2e136cf82f030c3933f7a32f03996ea799d52707234ceb5aaR162 I don't know how much of this is useable because our formatting is a lil different from a pr we got a long time ago but if any of these work here
was really simple changes
yop
pointless given the context, it's anchored by }class. if it were to be limited it would just be a large number and subject to breaking if discord removed a method or two in the class.
tbh that patch is just weird
stop matching the entire class ๐ญ
insane
we should add patchhelper A/B groups
if one of them works it wont report
maybe
ill starting working on a few
shc ill just add my changes
ill hit loadingquotes ๐ฅ
nowarn?
thats a commit
export const Slider = waitForComponent<t.Slider>("Slider", filters.componentByCode("markDash", "this.renderMark("));
technically cant I just do this?
// TODO: move to new modal api
export const Modals: Modals = mapMangledModuleLazy(".MODAL_ROOT_LEGACY,", {
vtest dev3
Now testing! 
i cherry picked very important things
like modals and apis
will push that to main
rest can be fixed later
CommandsAPI (had no effect):
ID: 41329
Match: ```
/children:(?=\i??\i?.name)(?<=command:(\i),.+?)/
**__PlatformIndicators (had no effect):__**
ID: `97808`
Match: ```
/(?<=\(\i\.status,)(\i)(?=,(\i),\i\))/
FakeNitro (had no effect):
ID: 465364
Match: ```
/(?=return{hasSpoilerEmbeds:\i,content:(\i))/
**__Settings (found no module):__**
ID: `-`
Match: ```
.SEARCH_NO_RESULTS&&0===
StartupTimings (found no module):
ID: -
Match: ```
.SEARCH_NO_RESULTS&&0===
waitFor("open", "saveAccountChanges")
findByProps("saveAccountChanges", "open")
find((m) => m?.definition?.id === "2024-09_bug_reporter"...)
extractAndLoadChunks(["name:"UserSettings""], /createPromise:.{0,20}(\i\.\i\("?.+?"?\).*?).then\(\i\.bind\(\i,"?(.+?)"?\)\).{0,50}"UserSettings"/)
so the rest doesn't have to be stable compatible
they still do
๐
#1257025907625951423 at this point we should always recommend stable
i've always been saying this lol
people shouldn't use canary
lol this is why people started complaining about the staff icon
because the patch that hides it broke
the fix for that is in @gritty iris pr before all this happend if you want to merge the prs or smth like that
nah who cares
wouldn't it be easier just to merge
evil...
is it just me or does discord feel smoother now
not just u
I feel like its hogging my ram when I open canary's console

well yeah with devtools
discord feels unusually smooth to me rn
my companion has disconnected randomly like 8 times in 3 minutes
modernising code fixed the lag (real)
typing in chat has been smoother recently
i haven't noticed it being laggy in recent memory
I love that
beautiful
could those resolve to calls instead of defines
fixed already 
i love erorrboundary jumpscares
I have the option of function or this,_loadingText
i was going to work on new vencord feature today @satan
but discord ruined that plan
just add [="]
can we have a plugin that @satan goes to sadan
yeah i will be soon too
just make sure they're all stable compatible
either same patch is compatible with both with TODO comment
or add a second patch
what the fuck does [="] do
if you must, add a second entire patch with different find
match = or "
neat
// old
defineStaticCrap(this, "balls", value)
// new
static balls = value
I've never used [ :(
nop
have you not ran into it before with things like [^}]
nope

i was so mad because that patch is a nightmare
I was like I don't want to have to make a new one
but no it was just one byte change 
i was also goign to do this
but another time
not important rn
the new modal api is way way better
don't have to have so much boilerplate anymore
@austere talon reporter on prs when
i don't think it still needs a token
but it doesn't do that anymore, there is no reason to login
but idk
vtest sadan4/fix-modern-syntax
anyway I don't think it will work directly in pr
thats your repo not mine
i cant trigger workflow there
it will have to push it to a temp branch
any idea why pnpm buildReporterDesktop --dev --watch ignores dev?
just run the checkout with a different repo
that's why I made sadanslargehole-pr branch last time
i just do build --dev --watch --reporter
well
iirc it's the same thing lol
sadan what are you working on rn?
nothing
?remind 3d cross-repo testing
Alright @fossil inlet, in 3 days: cross-repo testing
broken css, out of scope for this pr?
<img width="769" height="126" alt="image" src="https://github.com/user-attachments/assets/2db4ee7e-ef8a-4417-b27f-f199978fa65d" />
dont think most people use both those plugins at once
but idk
@gritty iris did you break shc?
alr
@fossil inlet ?
can't repro
weird im on discord dev with the branch
going to eep now
ill do whats left tomorrow
alr
pretty much everything is fixed now
contextmenuapi, disablecallidle, settings are the 3 I didnt want to deal with startup timings has my pr and I merged experiments and platformindicators fixes from that pr into this one
pindms requiresettingsmenu is terrible probably but its good enough for any of you to look at I also gave it the module id
good night
neat
i love never restarting my laptop
Vencord: v1.13.7 โข 7098f41c5 (Dev) - 9 Dec 2025
Client: stable ~ Vesktop v1.6.1
Platform: Win32
โ ๏ธ Vencord DevBuild
โ ๏ธ Has UserPlugins
โ ๏ธ More than two weeks out of date
oh
doesnt give build number
on 479793
the find and cached module number at https://github.com/Vendicated/Vencord/blob/577407bab9ee9913840799755ad0460dc04c9fd0/src/webpack/patchWebpack.ts#L28-L53 needs to be updated
(it also wouldn't hurt if it warned if the cached module number was invalid)
damn they added like 20 new plugins
and no description too
who wanna bet these plugins are all stolen
๐คจ
wtf lmfao
BRUH
they pushed stable
that's why shit is crashing mmmm
There's like 3 left tmk
Besides build module
I was grinding until like 2am lol
patches are updated to work with newest stable
this patch is really confusing, probably better to either split in two patches or add an explaining comment
tbh this plugin is kind of useless anyway we could just remove it
const { useStatusFillColor } = mapMangledModuleLazy([".5625*", "translate"], {
this has to be escaped
match: /(?<=function \i\(\i\)\{)(?=[^}]+?\{channel:\i,isThreadCreation:\i=!1,\.\.\.\i\})/,
just use string here, doesn't have to be backwards compatible
find: ".renderLinkComponent",
who wrote this lmao
the module literally goes createPromise 250 char another createPromise then another 250 for the same thing
ngl was only for stable compat but they pushed so
do you want me to go through and remove the old stable stuff?
@fossil inlet this is what BetterSettings is supposed to do right?
its fine
which exactly are u matching?
amazing
vtest satan-pr
Now testing! 
ValidReply (had no effect):
ID: 9842
Match: ```
/constructor(){\i(this,"_channelCaches",new Map)/
**__ConsoleJanitor (had no effect):__**
ID: `9858`
Match: ```
/\i\.error(?=\(""\.concat\(\i," is not a valid locale."\)\))/
CommandsAPI (had no effect):
ID: 41329
Match: ```
/(?<=:(\i).displayDescription}.{0,200}children:).{0,50}.name(?=}))/
**__ThemeAttributes (had no effect):__**
ID: `97808`
Match: ```
/src:null!=\i\?(\i).{1,50}"aria-hidden":!0/
DisableCallIdle (had no effect):
ID: 167132
Match: ```
/,?(?=\i(this,"idleTimeout",new \i.\i))/
**__ConsoleJanitor (had no effect):__**
ID: `242120`
Match: ```
/console\.error\("\[analytics\] failed to send analytics events query: "\.concat\(\i\)\)/
Decor (had no effect):
ID: 287070
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__MentionAvatars (had no effect):__**
ID: `288539`
Match: ```
/children:"@"\.concat\((null!=\i\?\i:\i)\)(?<=\.useName\((\i)\).+?)/
ShowHiddenChannels (had no effect):
ID: 342952
Match: ```
/(?<="+".concat()\i/
**__WebScreenShareFixes (had no effect):__**
ID: `400976`
Match: ```
/"x-google-max-bitrate=".concat\(\i\)/
WebScreenShareFixes (had no effect):
ID: 400976
Match: ```
/;usedtx=".concat((\i)?"0":"1")/
**__Decor (had no effect):__**
ID: `550111`
Match: ```
/(?<=userValue.{0,25}void 0:)((\i)\.avatarDecoration)/
Decor (had no effect):
ID: 643204
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__BetterGifPicker (had no effect):__**
ID: `855057`
Match: ```
/(?<="state",{resultType:)null/
ViewIcons (had no effect):
ID: 915614
Match: ```
/(overflow:"visible",.{0,125}?!1),)style:{(?=.+?backgroundImage:null!=(\i)?"url(".concat(\2,)/
**__ContextMenuAPI (errored):__**
ID: `322337`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__ContextMenuAPI (errored):__**
ID: `907745`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__ConsoleJanitor (had no effect):__**
ID: `33006`
Match: ```
/\i\.error\("Error: "\.concat\((\i)\.message/
ContextMenuAPI (errored):
ID: 575613
Match: ```
/navId:(?=.+?([,}].*?)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
Settings (found no module):
ID: -
Match: ```
.SEARCH_NO_RESULTS&&0===
**__StartupTimings (found no module):__**
ID: `-`
Match: ```
.SEARCH_NO_RESULTS&&0===
extractAndLoadChunks(["name:"UserSettings""], /createPromise:.{0,20}(\i\.\i\("?.+?"?\).*?).then\(\i\.bind\(\i,"?(.+?)"?\)\).{0,50}"UserSettings"/)
ValidReply (had no effect):
ID: 9842
Match: ```
/constructor(){\i(this,"_channelCaches",new Map)/
**__ConsoleJanitor (had no effect):__**
ID: `9858`
Match: ```
/\i\.error(?=\(""\.concat\(\i," is not a valid locale."\)\))/
CommandsAPI (had no effect):
ID: 41329
Match: ```
/(?<=:(\i).displayDescription}.{0,200}children:).{0,50}.name(?=}))/
**__ThemeAttributes (had no effect):__**
ID: `97808`
Match: ```
/src:null!=\i\?(\i).{1,50}"aria-hidden":!0/
DisableCallIdle (had no effect):
ID: 167132
Match: ```
/,?(?=\i(this,"idleTimeout",new \i.\i))/
**__ConsoleJanitor (had no effect):__**
ID: `242120`
Match: ```
/console\.error\("\[analytics\] failed to send analytics events query: "\.concat\(\i\)\)/
Decor (had no effect):
ID: 287070
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__MentionAvatars (had no effect):__**
ID: `288539`
Match: ```
/children:"@"\.concat\((null!=\i\?\i:\i)\)(?<=\.useName\((\i)\).+?)/
ShowHiddenChannels (had no effect):
ID: 342952
Match: ```
/(?<="+".concat()\i/
**__WebScreenShareFixes (had no effect):__**
ID: `400976`
Match: ```
/"x-google-max-bitrate=".concat\(\i\)/
WebScreenShareFixes (had no effect):
ID: 400976
Match: ```
/;usedtx=".concat((\i)?"0":"1")/
**__Decor (had no effect):__**
ID: `550111`
Match: ```
/(?<=userValue.{0,25}void 0:)((\i)\.avatarDecoration)/
Decor (had no effect):
ID: 643204
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__BetterGifPicker (had no effect):__**
ID: `855057`
Match: ```
/(?<="state",{resultType:)null/
ViewIcons (had no effect):
ID: 915614
Match: ```
/(overflow:"visible",.{0,125}?!1),)style:{(?=.+?backgroundImage:null!=(\i)?"url(".concat(\2,)/
**__ContextMenuAPI (errored):__**
ID: `907745`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__ContextMenuAPI (errored):__**
ID: `322337`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__AccountPanelServerProfile (had no effect):__**
ID: `748319`
Match: ```
/#{intl::SET_STATUS}\)(?<=innerRef:(\i),style:.+?)/
BetterSettings (had no effect):
ID: 50120
Match: ```
/=[];(\i)(?=.forEach.{0,100}"logout"!==\i.{0,30}(\i).get(\i))/
**__ConsoleJanitor (had no effect):__**
ID: `33006`
Match: ```
/\i\.error\("Error: "\.concat\((\i)\.message/
ContextMenuAPI (errored):
ID: 575613
Match: ```
/navId:(?=.+?([,}].*?)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
Settings (found no module):
ID: -
Match: ```
.SEARCH_NO_RESULTS&&0===
**__StartupTimings (found no module):__**
ID: `-`
Match: ```
.SEARCH_NO_RESULTS&&0===
Settings (took 5.1ms):
ID: 50120
Match: ```
/null!=(\i=Object.values(\i.\i).{0,50}?&&(?=(0,\i.openUserSettings)(\i,{section:\i)/
extractAndLoadChunks(["name:"UserSettings""], /createPromise:.{0,20}(\i\.\i\("?.+?"?\).*?).then\(\i\.bind\(\i,"?(.+?)"?\)\).{0,50}"UserSettings"/)
top one
this?
hmm
thanks for the work u two!!
I would rather keep it broken for now than risk possibly matching the wrong thing and loading the wrong thing
for reference I was celebrating because I've never touched those before and was guessing the modules
what I don't understand is why the top two are not stored in a variable?
did you fix the menu api??
are you talking about 'arguments' is not allowed in class field initializer or static initialization block?
I literally only care about 1 broken plugin and I couldn't figure it out lol
thats because of () =>
disableidlecall
what is there to fix
it works
does it mean they're unused variables and bundler kept them for side effects
the problem is matching \i=\(\)=>
?
yeah i think lol
in other words matching the top one isn't really correct

the top one is deprecated settings
tf?
I assume
look how the first two aren't stored in variables, but the third is stored as ee
56795
that function creates a wrapper component that uses React Suspense to load them
if that component isn't used, it won't ever load those chunks
ee is embedded isnt it?
i have no clue what the three things are, I'm just saying if it's not stored in a variable it means it's unused xD
we love discord
they're unused variables in Discord code
the bundler keeps that code because it might have side effects
but removes the variables
what is 99063 supposed to be?
alr thought so
it seems to be something else lol
thats why im thinking its top or second
n.e is loadChunk
was 2 short for settings
yeah but
that's old settings im pretty sure like i said
best I got
new one is somewhere else
Yes, I realized I could write the patch that way last night but didn't get around to doing it yet
i pushed
@gritty iris
run ```js
monitor(wreq.e)
then open settings
you will see which chunk ids it loads
wait no
If anyone wants a copy of the old modules before this change with patches applied lmk
and turn this off haha
forgot I had that on ๐
I still have shit tons of modules loading 
i dont think the plugin has been updated for new settings properly
it eager loads these
but there isn't settings modal haha
im pretty sure this is it
the way I found it is with the monitor trick i just mentioned
btw this component the plugin is patching is just the generic Layer component lol
it basically disables discord's layer feature
surprised that doesn't cause any issues
if the classes fail to find you can't click anything in the UI 
or something like that
but theres the check for them so it should be good
yeah thats why I added those checks
it's a very dangerous patch
we can't handle errors there
yeah
and it always breaks the entire app if broken
is there no better way to do it
hmm
eh
probably yeah
we can probably make these methods noops
Startup timings is left in my pr
oh
sick
i think we just noop these methods and dispatch the events and it should work
Wasn't able to fully fix it so I left it be
also i still get the fade rn
not sure if it even works lol
maybe they do something else with new settings ui
i think thats the modal fade
guhhh
we should keep the compat for now i think
but we should mark the compat patches as noWarn
to have more useful reporter
its fucking cold in my room dude
yop
Space heater when
Or just boot a game for a PC heater
what are bugs?? never heard of any
@gritty iris ๐ญ
eager loading this is a bit difficult
just noticed the pr got merged ๐ญ
yeah lol
lol
what's left or is that all
i pushed to main
disablecallidle
oh yeah
and settings but thats dead
tbh the way the old one did it was unsafe
kinda shocked it never caused any issues
wait this??
like gone?
wdym? no?
the construt is what I mean
wdym
no way we all seriously did that ๐ญ
was this
isnt that easy to fix
make actions an empty object
or noop the idleTimeout calls
can we even add a constructor to it?
didn't think of that guh
the clanker knows
{
find: "#{intl::BOT_CALL_IDLE_DISCONNECT_2}",
replacement: {
match: /this\.idleTimeout\.(start|stop)/g,
replace: "$self.noop"
}
},
done
Im actually surprised you approved of most of my patches ngl
for disablecallidle?
ngl some of the finds were bad but I didnt see anything after a quick skim for some of mine
guh this is also kind of bad

it's easier to replace the calls than to remove them
lmfao
ill do the few css bugs i found
did no one fix decor
should I drop old ui?
I also remembered you all still push forward so if its a no im removing new ui for now
did someone fix the build number find
nope
ill do that now ig
vtest dev
Now testing! 

Decor (had no effect):
ID: 287070
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__Decor (had no effect):__**
ID: `550111`
Match: ```
/(?<=userValue.{0,25}void 0:)((\i)\.avatarDecoration)/
Decor (had no effect):
ID: 643204
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__ContextMenuAPI (errored):__**
ID: `322337`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__ContextMenuAPI (errored):__**
ID: `907745`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__ContextMenuAPI (errored):__**
ID: `575613`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__Settings (found no module):__**
ID: `-`
Match: ```
.SEARCH_NO_RESULTS&&0===
StartupTimings (found no module):
ID: -
Match: ```
.SEARCH_NO_RESULTS&&0===
PinDMs (took 7.6ms):
ID: 828100
Match: ```
/renderSection(?:",|=)(\i)=>{/
Decor (had no effect):
ID: 287070
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__Decor (had no effect):__**
ID: `550111`
Match: ```
/(?<=userValue.{0,25}void 0:)((\i)\.avatarDecoration)/
Decor (had no effect):
ID: 643204
Match: ```
/(?<=userValue.{0,25}void 0:)((\i).avatarDecoration)/
**__ContextMenuAPI (errored):__**
ID: `322337`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__ContextMenuAPI (errored):__**
ID: `907745`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__AccountPanelServerProfile (had no effect):__**
ID: `748319`
Match: ```
/#{intl::SET_STATUS}\)(?<=innerRef:(\i),style:.+?)/
BetterSettings (had no effect):
ID: 50120
Match: ```
/=[];(\i)(?=.forEach.{0,100}"logout"!==\i.{0,30}(\i).get(\i))/
**__ContextMenuAPI (errored):__**
ID: `575613`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
Error: ```
'arguments' is not allowed in class field initializer or static initialization block
**__Settings (found no module):__**
ID: `-`
Match: ```
.SEARCH_NO_RESULTS&&0===
StartupTimings (found no module):
ID: -
Match: ```
.SEARCH_NO_RESULTS&&0===
WebContextMenus (took 5.2ms):
ID: 614203
Match: ```
/let{text:\i=""/
i thought those red corsses were angry emoji
okay only Decor, Settings and StartupTimings left
should also fix the arguments error but that's low priority
eh why push both
wont it cause duplicates
only push to the new one
I'll fix AccountPanelServerProfile
test1
test2
You said compat :(
yeah but the important things ๐ญ
ConsoleJanitor is whatever
I realized this
You all still forward
So I was wondering drop old ui or
looks good
tf
isnt that vesktop but equicord
I should update this ig
equilotl is our installer
๐ญ
fucked macos cert
we love ci
what
reply timestamp, and the other css issue
we had a gui for wayland but virustotal had other plans for the repo being added
wdym virustotal ๐ญ
pushed startup timings
tbh i dont like adding startup timings up there
we could just drop that plugin, do people even use it?
๐ญ
true
we can just exclude it from reporter or smth
@fossil inlet
easy
make a userplugin ith the same name
it should overwrite
just make the default in reporter to run the patches but keep the default behaviour
drop in src/userplugins/ctrlEnterSend.ts:
/*
* Vencord, a Discord client mod
* Copyright (c) 2026 Vendicated and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import definePlugin from "@utils/types";
export default definePlugin({
name: "CtrlEnterSend",
description: "",
authors: [],
hidden: true
});
https://www.virustotal.com/gui/file/28BC58383192CE610E4763FFB8287CDCED429A2E74E4222FF532E33141BB12B2
https://www.virustotal.com/gui/file/69158DCE81984E0317DB4108689DFDED5A84F524AC7739409F9682C6860E9826
VirusTotal
VirusTotal
thats one of the higher flags
loll
you love
vencord had similar issues but mainly on the 32bit cli for some reason
antimalware engines hate 32bit clis
VirusTotal
34/63
๐ฅ
self updater and wayland caused that
some guy tried to expose us as a virus while showing all of our open source commits and then checking actions compiling and shit I was dying laughing
this decor issue is the compat fix
a new fix is already there
the message author might be bad actually
I assume it needs to capture author there as well?
(?<=userValue:)((\i(?:\.author)?)\?\.avatarDecoration) that might work
its terrible tho lmfao
nope
oh this
nope
GUHH
yeah i can see haha
actually nop
oh
well the first one is sameElese
so yes its matching this
just use YYYY-MM-DDTHH:mm as filter guh
@austere talon how is this not matching
it matches with a findByCode
but not in the mangled find
isnt that the wrong thing bruh
no
that matches the wrong function
which one do we want
I dont have a ="lastDay
look at it's signature
nvm it lied
ah
we want to match this
because it contains sameElese
calenderFormat filter is bad
mapMangledModule continues with next key as soon as one filter matches
mapMangledModule really needs better warnings in dev/reporter
should make this change
it will technically fix this issue but
make the filter more specific anyway
can you add that to ur changes
does it automatically run tests without user input or did u press
but yeah tbh reporter should do that as well
well it will give plenty of false positives
it does that for open files
no input needed
memberlistdecorators is also broken
inserts children at wrong place in the dom
most insane blur
is there an easy way to open dms with the discord system account
ty
this is looks like a discord bug, not sure tho
even if it is, we should probably fix it just because of how bad it looks
love when betterfolders randomly stops working
discord's horrorcode rears it's ugly head once again
kinda wonder if we should patch this function with some kind of max loop limit just to prevent the infinite loop if better folders ever fails in a way that can cause it again
dont merge it
this breaks better folders in a way that makes discord hang
how
that's what im trying to find out
but if i revert that one line, better folders starts workjing again
this
lol it's not even mangled
idk it should work
(the second one is same function, it's exported as a and animated)
no it's the same
(with and without that change)
this look tries to find a dom node, it's really bad discord code
are you sure it's that and not something else
yes
genuinely how
you can pause in the debugger to find it
it's like 1-2 up in the call stack
pause and resume
still there
well then don't make that change
fixing vencord at 2 in the morning
@fossil inlet there's a little PR waiting for you at your vencord companion shaped doorstep
we switched to hiding folders with css to avoid this horrible code that always causes problems
๐
classic discord modding experience, its always late. shelter broke too from this one so im workin on that
@limber skiff any ideas for why this causes it
well the obvious answer is that some mapMangledModule fails
check all of them and see if any have different results
right now if your map filter matches multiple exports
it will keep setting exports
eventually ending with the last matched export
ahh
that change will make it ignore after the first
It should be inversed
loop mappers first then exports
that would also fix the issue
yes
anyway I think this means something has a duplicate filter and that change changes what it matches
the dom should always exist tho
we dont have elements anymore
only hide them with css
the elements aren't in the dom
how so
this breaks the intl module
beacuse it has a proxy
okay then try this
like this?
yeah
doesnt work
okay I dont quite understand why that has issues with the proxy
still messes up with the intl chunk
oh
guh that means if intl ever naturally breaks it will freeze the app
thats bad
needs fix
i think im going to add a check first for servers failing
if getIntlMessage() returns empty return true
@austere talon thoughts on this
yop
nah
that's just a bad patch from us
just need to fix it
obscure issue too, couldnt expect it
yeah
is ur pr ready
yop
discord completely reworked how this works
maybe settings api will change again soon lol
it's defined in a completely different place again
love
I can't tell if that's only for the context menu entries or mid migration
mid?
next equicord
this was the only change needed
but I saw that the ranges are very tight so I loosened them
nowarn compat patches when
i did
dude discord genuinely feels much snappier than before
even loads much faster
it loads so fast that I often think ctrl+r didn't work
surely the engine would be more optimized for newer code lol
having polyfils take out the power of the things being done natively instead of interpreted
Desktop performance just got a lot faster. We shipped a few upgrades that significantly cut lag when navigating through Discord, with the biggest difference for systems under load or with less processing power.
๏ธ๏ธ
๏ธ๏ธCheck out the full patch notes for all the latest improvements and fixes: discord.com/blog/discord-patch-notes-february-4-2026
lol
who could have ever guessed 
lol the video is such a bad demo
the video makes it look worse
also this means this change is staying for good thankfully
bruh
the heck are they saying then
where are these css changes they are saying lol
I mean whatever
as long as it's faster now
doesn't matter what they did
didnt you dm that guy vee
I forgot his name
i did just now haha
haha
that's funny
but hey it's better than before 
so because of those recent lag issues (that they couldnt even reproduce) they improved css performance and it made discord smoother in general
https://bsyy.app/profile/brandondail.com/post/3mdg76zewxk2e https://bsyy.app/profile/brandondail.com/post/3mdgq6xl7cc24
Here's your friendly reminder that CSS selectors are global and evaluated RTL, so if you have selectors that are very broad like .container > div you might be impacting performance in a measurable way ๐
Before and after profile of server switching after some selector optimizations in @discord.com
crazy
is that aweary brandon
oh yeah
aweary the goat
note how all the awesome discord devs begin with an a
aweary
andy g
advaith
I think Discord changed something that makes this incompatible, Vesktop launches to a blank window when trying to launch it with Vencord including this patch. Just happened suddenly, no updates to Vencord occurred. I've tried re-building both Vesktop and Vencord.
<img width="1070" height="690" alt="bilde" src="https://github.com/user-attachments/assets/a772f4b0-337f-48bf-9d1d-9e513696409f" />
Content
opening/closing discord settings still has a animation despite having "Disable Fade" enabled in the "BetterSettings" plugin
Request Agreement
- [x] I have read the requirements for opening an issue above
wait where do you see this benchmark
and is it more performant to have nested styles or separate them
wow 85k lines added where did you get all of these plugins from
ูุฌุฏูุง ู ู ูู ู ูุงู ุชูุฑูุจุฃ
ูู ุฌู ุนุฉุ 6 ูุจุฑุงูุฑุ 2026 ูู 2:08 ู ุ ูุชุจ nexpid @.***>:
nexpid left a comment (Vendicated/Vencord#3971)
https://github.com/Vendicated/Vencord/pull/3971#issuecomment-3859778927wow 85k lines added where did you get all of these plugins from
โ
Reply to this email directly, view it on GitHub
https://github.com/Vendicated/Vencord/pull/3971#issuecomment-3859778927,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth...
oh separate https://dev.to/hasunnilupul/css-performance-tips-writing-faster-more-efficient-styles-46f0
There's no performance difference between ```css
.foo {
.bar {}
}
andcss
.foo {}
.foo > .bar {}
in my plugin's css I have
.vc-songspotlight-foo {
.vc-songspotlight-bar {
.vc-songspotlight-baz {
}
}
}
since it's more readable
but I'll see where I can add > and if it changes anything
That's equally fast as css .vc-songspotlight-foo {} .vc-songspotlight-foo .vc-songspotlight-bar {} .vc-songspotlight-foo .vc-songspotlight-bar .vc-songspotlight-baz {} but significantly slower than css .vc-songspotlight-foo {} .vc-songspotlight-foo > .vc-songspotlight-bar {} .vc-songspotlight-foo > .vc-songspotlight-bar > .vc-songspotlight-baz {} or ```css
.vc-songspotlight-foo {}
.vc-songspotlight-bar {}
.vc-songspotlight-baz {}
- Added auto-translate for received messages (new, edited, and recent on channel open).
- Added settings to control received-message auto-translate and recent-message limit.
- Added a cache for translated messages.
This is my first contribution and I am mainly a Kotlin/Java developer, so I would appreciate any feedback.
resolves #2164
discord actually cooked with the performance improvements
they broke almost every single plugin in the process but they cooked
i wonder how positvely impacted mobile web is
@warm stirrup
the 2 vendroid users are gonna love this
lol
interesting
from what im seeing they just changed the license and added a bunch of awaits everywhere for no reason
EM DASH EM DASH ```
โ ๏ธ Client mods like EagleCord (Vencord derived) violate Discordโs Terms of Service. Use at your own risk โ most users report no enforcement, but banning is possible. ```
ai slop
makes sense
@Vendicated would you be able to take a look at this? Very small change, but I'd love to have this in Vencord!
WIP: Message Latency Graph (may be removed later)
Added ViewAs plugin, a plugin that uses dispatcher to use Discord "View As" feature.
- Uses Role context menu to add "View As" button
- Add a User context menu to dispatch as the user
According to my Grafanaโข dashboard, the App is opened 3417 times in a day. Two users cannot achieve thatโthat would be impossible. Checkmate, liberal.
Iโm a bit busy as of now so I donโt know when Iโll get a chance to take a proper look or fix this. I believe @MatthewCash also did a port of the native module to libvesktop, so Iโll draft this and the native module PRs until I can properly work with Matthew on it.
I canโt write c++ code for various reasons relating to my setup so if Matthew or someone else was still up to work on the native module itself Iโd be very appreciative.
Cool, thanks T1mbits, no rush at all of course, just wanted to leave a heads up.
@austere talon how could we even fix this
It's impossible to grab arguments in those cases
and we also cant write a wrapper to swallow the error
because then it will mess up arguments forever
lol that's why I just ignored it for now
we could just swallow those errors ๐คทโโ๏ธ
I don't think it matters
thankfully this is enforced as a syntax error instead of a runtime error
I don't think it can be a runtime error because we check if type of arguments isn't undefined
I would have liked if it was a runtime issue
cuz this
nvm we cant even do that
I guess we just swallow it tbh
from inside the patcher
me : scared for a second
then i see V say it doesn't matter Ah ok
NewGuildSettings acceptinvite is broken fix I have is match: /INVITE_ACCEPT_SUCCESS.+?,(\i)=\i\?\.guild_id.+?;/,
for replytimestamp this needs to be changed i think
because it should only have the second of the 2 classes it currently has latin12CompactTimeStamp_c19a55 timestamp_c19a55
or it can also be
.vc-reply-timestamp { width: unset !important }
but that's the quickcss hack
Force re-render when message reference changes
What happens when the bug or crash occurs?
Then the Vencord does not start
What is the expected behaviour?
Vencord should start
How do you recreate this bug or crash?
Just use Usescript
Errors
Firefox canโt establish a connection to the server at wss://dealer.spotify.com/?access_token=spierdalaj
Content-Security-Policy: The pageโs settings blocked the loading of a resource (connect-src) at blob:https://discord.com/26ef586c-2fc1-482e-8fcd-2fd77d682117 because it vio...
nope i am not a vencord developer i just got banned for trolling which i don't think is true
@fossil inlet, <t:1770238901:R>: webpack-ast-parser fix store display name parsing to handle static prosp
vext
The Vencord Chrome Extension is out of date! (v1.14.1 vs v1.14.2)
chrome must really dislike approving the ext for you guys
I imagine the featured label and 25x more users merits more scrutiny
?remind 2d fix bug with reply timestamp
Alright @fossil inlet, in 2 days: fix bug with reply timestamp
Description
Adds a plugin that allows users to open and manage an external bot dashboard directly from Discord.
Features
- Configurable dashboard URL
- Account panel button
- No embedded credentials
- Fully optional and user-controlled
Screenshots
(optional but recommended)
thanks for the contribution, but this is way too niche
I might yoink that as a userplugin tbh, could be nice sometimes
insane
looks vibecoded
Subject: Apology regarding PR #[Insert Number] - [Song Title]
Hi [Name of Maintainer or Team],
Please accept my apologies for the oversight in my recent pull request for the Song Spotlight. I realized after submitting that I [mention error, e.g., didn't follow the naming convention / included a dead link].
Iโve just pushed a commit to resolve these issues. Thank you for your patience and for the work you do maintaining this project.
Best,
[Your Name]
i was thinking of making a plugin to see your bots in the discord client
this fix works for now #๐พ-core-development message
vext
The Vencord Chrome Extension is out of date! (v1.14.1 vs v1.14.2)
kill google
@fossil inlet, <t:1770262578:R>: cross-repo testing
New Plugin: VoiceNormalizer
What it does
Normalizes voice chat audio levels so that loud users are brought down
and quiet users are boosted, making voice calls more comfortable.
Does it constantly, so people whose mic volumes keep changing, either because of distance or other circumstances, are kept level.
Features
- Adjustable target volume level with other advanced settings.
- Can turn off voice normalization for specific users.
?
vext
The Vencord Chrome Extension is out of date! (v1.14.1 vs v1.14.2)
vext
The Vencord Chrome Extension is out of date! (v1.14.1 vs v1.14.2)
adding my support to this, some servers notify @here and @everyone in locked threads for specific groups of pepole, for example, when pairing groups of players in small teams in a really big game-related server
with showhiddenchannels, it'll show you the pings regardless of if they're meant for you or not, even if you mute the server and suppress pings
amazing
Wtf how would that work
yeah it doesn't really make sense
I've created a small plugin, to set your dnd status for a custom amount of time.
Works with the /dnd-until [time] and /dnd-cancel command. and also with a clock button in the bottom left of the discord client.
what lol?
accountpanelserverprofile broke
oh contextmenuapi died
might also explain why vencord gone from settings context menu
good lord lol #1337479880849362994
vesktop settings is also missing, but that was before contextapi died (#๐ฅ-vesktop-development message)
can advaith tell us in advance next time
those are old and mostly not relevant
wdym old
when used by other plugins to trigger message re-renders,
I am new to this to lmk if i am doing something wrong or absolutely nothing
i think your discord bugged cus i didnt link any message. just the channel, so new stuff (which is erroring to heaven)
i think that game activity toggle cause this
I think this is happening again lol
no way a zipbomb that's not a zip
the decor patch was broken one of the captures was c but was supposed to be c.author
@fossil inlet, <t:1770510493:R>: fix bug with reply timestamp
I had it as an export because of custom settings
not sure if its needed now
but you needed to push to that array to get them to show up
oh wait
gh only loaded 1 file
we love
An API for this already exists
:OO
I just found out, that the button from the GameActivityToggle Plugin doesn't get shown, when I the CustomDndTimer Plugin is active, I'll try to look for a workaround. also I'll propably also add that the menu auto closes, once you've selected your time (e.g. "2 hours" / "Cancel Timer")
What happens when the bug or crash occurs?
The colors of the entire Vesktop application become suddenly very saturated (visible on screen recording).
https://github.com/user-attachments/assets/2ec0d25f-e8bc-4a2f-8c5d-eb066c74bd6e
What is the expected behaviour?
The colors should be unaffected.
How do you recreate this bug or crash?
- Open Vesktop
- Lower display brightness
- Raise display brightness
Errors
APPIMAGE env is not defined, current application is not ...
Tested on Arch Linux, running KDE Plasma on Wayland. Vencors is running under native Wayland. Laptop is a Lenovo Legion 7 Pro 8th gen with Nvidia + Intel graphics. The amount of change in brightness doesn't matter, even 1% triggers the bug.
Tested on Arch Linux, running KDE Plasma on Wayland. Vencors is running under native Wayland. Laptop is a Lenovo Legion 7 Pro 8th gen with Nvidia + Intel graphics. The amount of change in brightness doesn't matter, even 1% triggers the bug.
isnt this a fixed chromium issue with kde wayland
average linux users
vext
The Vencord Chrome Extension is up to date! (v1.14.2)
I'm thinking about removing the window transparency switch
I don't know of a single theme that uses it, 99% of users don't know how to use it and it causes issues for more users than people who actually use it
just hide it tbh
ye, hide it
I use it, but I could deal with it if it was removed
lock behind devbuild maybe instead?
Could just move it to a plugin so it's just not one of the like five top level toggles vencord has
could someone please review? ๐ ๐ thanks
Interesting https://github.com/mitchellh/vouch
so the fix for weird spacing for some users with plat indicators is removing this
the flex in that breaks it

afaik it was an issue with the API itself, not platform indicators
And it was an issue with discords css, not vencord
it is
the withDisplayNameStyles breaks it
well atleast the flex does
only people with display color stuff are affected
and not even all of them
its just random
I think it does it when the user has a custom status and display style
Adds the dogCompress plugin in src/plugins/dogCompress, which automatically compresses videos and audio files larger than 10MB before uploading to Discord.
Features:
- Detects large media on drag/drop/paste
- Uses native FFmpeg for fast compression
- Configurable target size, preset, timeout, resolution
- Fallback to original on failure
Tested on Windows with FFmpeg installed.
Requires FFmpeg on the user's system.
Add files via upload ๐ฃ๏ธ
dogCompress
aislop + dom manipulation, read the CONTRIBUTING.md file
The button is now in the Server section for compatibility reasons, and also closes itself automatically once a button has been pressed.

