#👾-core-development
1 messages · Page 215 of 1
hi
useMessageAuthor solves that from what I can tell
hehe
that's nuckyz review
lemme see
@brazen bone only thing i would say is use oklab
instead of lab
if it's possible
oklab is newer and has better color mixing results
same inputs just different algo
I don't know what that even means, but sure I'll check it out when I'm back at my computer
return `color-mix(in oklab, ${author.colorString} ${messageSaturation}%, var(--text-normal))`;
hate having to rely on analytics stuff
okay I'm done with those force pushes
Not for long I bet
apparently it's also the wrong color even when it's not hovered, not sure if this because of the theme I'm using tho, checking it rn
ok no, it's because of the theme
ugh
it makes the background transparent, but it doesn't select the new button
so it should be working fine
gonna have to use discord css...
you were fucking right
alright fixed

we hate love discord css
meh
it's not even css issue
it's just the theme targets the classes there to remove the background
and I also making my own classes
it would never target
dumb for themes to target every single custom vencord class
try latest dev now it should work
or wait for when I push to main
I will wait for the main branch
thanks for warning me of that
I just had a look at the code for ServerInfo and I just looked at the code for it; I don't like the way the fetched or not is implemented
Why is it implemented like that?
?
Why doesn't UserList just have a fetched hook?
doesnt persist
Stupid question
Is it even necessary at all?
Why not just check for missing items only in the effect?
tbh it should just use a ref or smth in the parent instead of a global
but it doesnt matter

not that it would be visible; but this is why I hate the discord audit log
similar design decisions exist in discord itself and are visible
?
it's possible to see logs of the last server you opened audit log in when opening audit log for a split second
sometimes
what if I were to make ServerInfo look more modern?
and less like what (to me) looks like it was from a BD plugin (even though I've never used BD)
WHAT IF I RECREATE THE USER PROFILE
2814873 OpenInApp: Fix opening in spotify activity card... - Masterjoona
disableSpotifyLogger is useless now. Also I think maybe just make an option to whitelist the loggers listed, then add Routing/Utils and GatewaySocket as default
const logAllow = new Set(["Spotify"]);
match: /(?<=&&)(?=console)/,
replace: "$self.shouldLog(arguments[0])&&"
if (!settings.store.enableNavigationRouter) {
logAllow.add("Routing/Utils");
}
kiitos paljon
who
gotta get on the grind and reply in the language the issue author prefers 
if it was noticed I think yes
This is very nice. I need this Plugin in Vencord
do you actually want to click that button on the vencord repo
vp searchreply
Couldn't find a plugin with that name, and there are no plugins with similar names.
EXPLODE
Wasn't that expanded and renamed?
was it entirely removed 
that was the plugin that blatantly showed the different icons together due to discord breakage
6 months (because there is no forever option)
according to github docs it only limits people who made their account in the past 24 hours
disableSpotifyLogger is useless now. Also I think maybe just make an option to whitelist the loggers listed, then add Routing/Utils and GatewaySocket as default
Like a text field where the user can write loggers to whitelist?
@rugged spire You might have been right.

disableSpotifyLogger is useless now. Also I think maybe just make an option to whitelist the loggers listed, then add Routing/Utils and GatewaySocket as default
Like a text field where the user can write loggers to whitelist?
yes
@limber skiff Is there any reason for this or is it just preference?
preference
guhhhhhh
Without the ?q=, some searches will go to the wrong place such as the download for DuckDuckGo if you put anything that starts with x.
8fc56ea ReplaceGoogleSearch: Fix DuckDuckGo URL (#2895) - MrDiamondDog
@limber skiff do i just remove the disable spotify logger part?
or add it as a default to the normal logger part
oh
leave it nvm
ignore that part of the review
btw change the setting desc to description: "Disable noisy loggers",
i was going to change it to disable discords loggers
because by default it disables all but reouting and gatway
i might be crazy, but why does the setting object look like this in the debugger?
what's wrong?
what does that even mean lol
I fucking hate these places where u use margin instead of gap
d5c77c8 UserVoiceShow: Show in messages - Nuckyz
adf9eee ReviewDB: Fix in panel profile (again) - Nuckyz
e3c29c3 OpenInApp: Fix opening in spotify activity card... - Masterjoona
6c1a220 ReplaceGoogleSearch: Fix DuckDuckGo URL (#2895) - MrDiamondDog
bece919 CopyFileContents: Add padding to button (#2848) - DokterKaj
@limber skiff can you answer this
this code works
this code throws an error
are they not the same
You'd need logAllow.add.bind(logAllow)
lol
This isn't python, getting a function as a property doesn't automatically bind
forEach uses (x, index) => whatever and it can’t pass index to your callback cause it isn’t a parameter
I think
this worked
I don't know what set.add does if it gets multiple parameters
the signature says it only gets one
But that's not the immediate problrm here
so annoying.
using the same components in so many places with so many inconsistencies
className: classes(isMessageIndicator && cl("message-indicator"), (!isProfile && !isActionButton) && cl("speaker-margin"), isActionButton && ActionButtonClasses.actionButton, shouldHighlight && ActionButtonClasses.highlight)
49b0a38 UserVoiceShow: Show in messages - Nuckyz
2d675b4 ReviewDB: Fix in panel profile (again) - Nuckyz
492b0cf OpenInApp: Fix opening in spotify activity card... - Masterjoona
1dc2d92 ReplaceGoogleSearch: Fix DuckDuckGo URL (#2895) - MrDiamondDog
22a5b18 CopyFileContents: Add padding to button (#2848) - DokterKaj
I really hope that's the last
With how much dev is force pushed, it's usually better to base on main
They'll rebase it to dev when merging
lol, it snitches on people who stay invisible
Adjusted according to feedback, as well as a few other small changes.
@brazen bone did you switch to using polar coords ?
i saw you switched to oklch instead of oklab
Wait what, must've typoed that
Yeah, about that...
How did I not catch that
oh yeah no
definitely wrong
oklab is your friend
oklch is a different coordinate system
There's far too many of those
ahaha
Fixed
None
None
None
None
None
None
None
None
Discord Account
obsidianninja11
What happens when the bug or crash occurs?
FakeNitro incorrectly shows the vc emojis as useable when they aren't.
What is the expected behaviour?
I expected FakeNitro to not change this picker modal.
How do you recreate this bug or crash?
- Turn on the FakeNitro plugin
- Join a voice channel
- Click the emoji button and expand the emoji picke...
?remind tomorrow fix this
Alright @fossil inlet, in 1 day: fix this
@lean ingot i will fix
wowzers
is that even fixable?
from the image he sent, i think so
okay better question, is that fixable without applying a bunch of glue and duct tape to the emoji picker modal?
should be
havent taken a look at it yet
eaf62d8 RoleColorEverywhere: Add coloring to message co... - Kyuuhachi
Thank you for the addition!
This icon is currently not used by any plugins, so we can leave it to be updated in the future if needed. Thanks regardless
description: "Semi colon separated list of loggers to allow even if others are hidden",
Ong I be getting rate limited every few seconds
Since it's all nitpicks I will do the changes myself and merge already, planning to push to main very soon
a9db3e4 ConsoleJanitor: Ignore all loggers with whiteli... - sadan4
This might make some plugin settings confusion as the author did not use a proper setting name due to it not being part of the component before. I think we should just wait for a proper settings rewrite in the future
alright I will try to fix pronoun db spam later again, and then push to main
post #plugin-news too
This might make some plugin settings confusion as the author did not use a proper setting name due to it not being part of the component before. I think we should just wait for a proper settings rewrite in the future
I just changed my mind and found a case where the missing setting name made me confused, will merge this :)
lmao
instantly lmao
517f751 Fix plugin settings inconsistency regarding set... - TheGreenPig
one day I will be able to merge not only to find a bug one second after
I'm not a security expert so I can't really say. I'm basically using the built-in chrome pdf viewer and I've read that it sandboxes it's content automatically. The iframe and object element should work here too though, not just the embed and I'm honestly not 100% which one is definitively better (since browser support isn't exactly an issue in this context). I'm also not sure how I would test this.
There should be other ways to display the pdfs like using pdf.js or converting the pdfs...
Why can't I find the named functions for ReactDND, (like useDrag, useDrop) but I can find the Webpack modules?
What do you mean? They removed the names for exports a couple months ago
the original plugin framed google docs iirc? any reason you didn't do it this time? @jolly tundra
I think that would be way safer
because discord exports are mangled
if you want them named u need to use mapMangledModule
Cause discord changed the way their attachments URLs work. As far as I can tell, you cant embed attachments from discord links at all anymore. That's why the whole "download file natively, convert into blob object" thing exists in the first place... if you could just embed discord files like that i could put the normal attachment url into the iframe straight away, but for some reason I'm only able to download the attachment, not embed it... you get a "content not found" message or something if you use the Google embed viewer.
The only other option I can think of would be download the file, upload to a service that allows embedding, use that link. But that's kind of even worse and would require a separate file hosting thing...
Also possible...
I think it's not really possible to embed it safely directly
since PDFs can have external media
I also tried sending it to a url minifier thing but then I got some cors errors or something too
I think discord just doesn't want u to embed their files like that, so they try to block everything except actually downloading it.
The whole search query params in the attachment url didn't exist a few years ago when I made the original plugin either
Don't think
Just channelid/messageid/filename.pdf
yep
So yeah it's a hacky plugin that does things discord kind of prevents (without being abusive since you just download the normal pdf when displaying the pdf)... I guess it's up to you if you think it's too dangerous or whatever and maybe someone can find a different solution some time
Like I said there are other libs for displaying pdfs too, that have "disable js" settings and such I think.
I think Adobe has a pdf viewer embed service, maybe that works idk it's more a matter of experimentation
@austere talon ^ that, but I think Vencord user agent is kinda cooked
literally the first request is already a rate limit
message: "This agent has been rate limited."
note: "Request bucketed separately due to suspected misconfiguration. If you believe there is an error, please reach out at cynthia@cynthia.dev with the bucket"
cynthia is a name i haven't heard in a long time
Every time I hear the name Cynthia, it's a different person
lol what
Hmm... I'm only familiar with the powercord one I guess
that one
what did you change @limber skiff
tbh just remove pronoundb integration
or nuke the plugin entirely
^^
github fucked up the diff so cant see
I made it request every 2 seconds at minimum
I think it might be fine now but the user agent fucked 
it works fine without the user agent
change it 
should I just remove it lol
maybe
idk the plugin is kinda bad for privacy (just like reviewdb)
but reviewdb i can audit and know it doesn't do anything shady
actually this doesnt make sense
the user agent changes
why the fuck is it getting rate limited on first request??
"Vencord" blocked 
are you not able to just randomize the user agent so they can’t trace it back to vencord
it might actually be
they’re checking user agent yeah
despite the gitRemote??
lets see
Sounds like juicy drama
LOL
I DID IT VENCORD ONLY
AND IT GOT RATE LIMITED
😭
remove the agent and call it a day :)
told u
yea sure
or just nuke it tbh
the only upside of pronoundb is that u can fetch it without fetching discord profile
aka display in chat
it's useless for anything else
we should look into how viable fetching everyone in chat is in terms of rate limits & account safety
and maybe add an api for it
multiple plugins could benefit from it
pronouns display
badges in chat
etc
double click to mute user in vc
DoubleClickUtilities assign keybinds for certain actions have an action dropdown, of multiple functions in which you can choose to expand discords key binds
Sort of like shortcuts on iphone make it customizable
Problem with closing plugin requests is that sometimes they find more creative avenues to voice their opinions
did you remove it @limber skiff
will do
wait i have a funny idea maybe
wait
waiting
what's that lmaoo
that's fucking wild
do you wanna merge stuff?
^^
alright I will push
eaf62d8 RoleColorEverywhere: Add coloring to message co... - Kyuuhachi
a9db3e4 ConsoleJanitor: Ignore all loggers with whiteli... - sadan4
517f751 Fix plugin settings inconsistency regarding set... - TheGreenPig
f61b5ae Merge branch 'dev' into immediate-finds - Nuckyz
e4318a8 ConsoleJanitor: Ignore all loggers with whiteli... - sadan4
49b0a38 UserVoiceShow: Show in messages - Nuckyz
2d675b4 ReviewDB: Fix in panel profile (again) - Nuckyz
492b0cf OpenInApp: Fix opening in spotify activity card... - Masterjoona
1dc2d92 ReplaceGoogleSearch: Fix DuckDuckGo URL (#2895) - MrDiamondDog
22a5b18 CopyFileContents: Add padding to button (#2848) - DokterKaj
None
None
None
None
None
None
None
None
@austere talon can you give manager role everyone ping perms
so that I can ping plugin news myself
nop sorry
we could add previous names to tags
It's time for some new plugins!
AccountPanelServerProfile by me and Relitrix
Right click your account panel in the bottom left to view your profile in the current server
that's just for rce LOL
the screenshot
oh
I'm cooking the plugin news
UserVoiceShow by me and LordElias
The plugin has been reworked with a new look. Shows an indicator when a user is in a Voice Channel
coloured messages u mean
soo many people will complain “why are my messages colored??” 😭
it's the vibration
it should either be a separate plugin or NOT enabled by default
why
I pushed to main
push fix
currently it isn’t even a setting 
i will add setting
this is terrible dont push that
alright
this should be false
it doesnt need restart
also remove the period on the description
eh
ye
RoleColorEverywhere now supports coloring the chat messages based on the author's role color. Toggleable via its settings
I really like the low vibration it
avoid introducing new features to plugins that people might not like
if it's a "controversial" feature like this, it should either be a new plugin or disabled by default
I did think of that but I thought it would maybe be okay
if you look at #🏥-vencord-support-🏥 or #🧊-off-topic-iceman-only people immediately complained
ye
SearchReply has been reworked to -> **FullSearchContext **
Makes the message context menu in message search results have all options you'd expect
okay that should be the important news
just to help people who updated already
RCE now supports coloring the chat messages based on the author's role color. Toggleable via its settings
wdym?
oh
you are smart
by adding the new setting it now defaults to disabled again
that was quite the move :)
why do I always think of remote code execution 😭
it's kinda suboptimal anyway that the settings api fills in all default values
maybe we should change that
make it only persist to disk explicitly overwritten things
wdym
alright posting now
should i ping nanouncement role
yes
there's so much about the settings api that i think needs rewriting/changing
fucking copilot ^
did you not test it before pushing
not that setting lol
What kind of weirdo does that

also suggestion for the server profile plugin, what if clicking on the username of someone who's typing would bring up their small/server profile instead of the user profile
though probably would have to be renamed
also RCE coloring doesn't color text in markdown headers
Testing implies doubting one's code

Yes, but they used to work
Either way, how would I go about mapping them?
Discord changes their webpack setup every so often
These days you often have to use finds to get the functions, just like you do with patches
Check mapMangledModule
Or just findByCode
Oh fun
useDrag has a very distinct string, but useDrop has nothing
substringMatch
matchSubstring
The error?
ah yes because "similarity to white" makes more sense than "saturation"
ok im very much under the influence of alcohol right now but even i can tell this is completely insane, i literally dont know what im reading
please reopen when there is a a genuine explanation of what this PR accomplishes and maybe some examples
01cf059 chore: drop restartneeded from message sat - lewisakura
because of the settings.use in useMessageColor, a restart is not actually needed for the setting to apply
yeah this was a little oversight
- u can put in the color of a role and the output color will be based off of your settings and will represent what color the text will be
- it doesn't just reduce saturation, there is a formula and it makes the result color better imo
- example images below
These colors are with a whiteness similarity of 8 (so pretty similar if i do say so myself🗿)

the way your code is written is absolutely perfect i’ve never seen anything like this
good job man
@sharp turret im gonna be honest i dont see how your PR accomplishes any benefit
you are mixing colors outside of the oklab space (from what i can tell with your algorithm) and this actually leads to worse color mixing
your own PR shows this
v+ programming @sharp turret
the hex tester is redundant and actually misleading since visually colors look different in a big block vs on thinner text, and you can just change the saturation in settings to see the actual result which is better
i have no idea what your algorithm is but it is not a better solution
it just tries to make it closer to white dynamically since reducing the saturation doesn't always do this and normal discord text is white anyway (so it makes it look similar to regular discord)
i understand what you are trying to accomplish but what you have implemented is worse
https://x.lewisakura.moe/24/09/8i4cxAyoI0AoXuhAP.png visually these colors look extremely different
yeah red is always gonna look different than gray
oklab avoids this
it tries to keep it roughly the same so they at least visually look different but not too different
ok so if i change the formula to make them look 'visually similar' then that would be better?
the current solution works just fine
you would have to reimplement oklab for it to get my approval personally, and at that point it is worse than using color-mix(in oklab, ...)
in fact it would be worse performance
the only thing in this PR i agree with is that the saturation setting shouldnt be restartRequired, and as such i have opened a PR
like vee said it was an oversight in the original PR for this
actually it was a hotfix I pushed after the merge

it was enabled by default and the ux for turning it off was not intuitive
oh i see
originally, you turned it off by setting the saturation to 0
a restart was required if you changed the value to or from 0, but not in other cases and was a dynamic getter
I added a proper switch for message colouring that is disabled by default and removed the saturation == 0 predicate, but mistakingly marked it as restart required
i gotcha
None
None
None
None
None
None
None
None
Having its own saturation slider in the first place seems kind of weird. People want role colours everywhere, but not quite? Seems like it would make more sense to just use the global saturation setting
it's a compromise
personally, a welcome one
some people want stronger colors, some people want weaker ones
personally i dont like the 100% sat that other people do, so the option existing is good
it's only for chat colours
and it's good to have, like lewi said other versions of the plugin do fully saturated colour and it makes chat unreadable
easier to read
(what the fuck is that chat history in the first screenshot, it's the only screenshot I could find in google images 😭)
it's subjective hence why there's a slider
the longer you think about it the weirder it gets
my personal favourite is 20%, its really subtle but it breaks up the messages
although i dont really use it daily xd
erping with bots / ai has to be the saddest thing
ig it's better than sexually harassing people
i dont think those are bots/ai
considering the date of it being '21
i think its tupperbox or pluralkit
right it's pluralkit
the messages seemed bot generated tho lmao
maybe lol xd
oh yeah wow
i was right on the money
@fossil inlet, <t:1726969103:R>: fix this
@fossil inlet take a look at the first FakeNitro patches which mess up with emoji intentions
might be what you want to change
yea, thats what i was thinking
i helped sam with a patch a while back and thats how i did it
the intentions for STATUS seem to be the same as CHAT, and fake nitro doesn't patch STATUS
closes: https://github.com/Vendicated/Vencord/issues/2897
@limber skiff
so the issue is they use CHAT there for some reason?
yea
seemed to be the eaisest fix without going 10 layers deep
from my testing, works just the same
ill trust it
you also might want to close this https://github.com/Vendicated/Vencord/issues/2897
was just doing that

b37b0d5 RoleColorEverywhere: Fix unneeded restart on se... - lewisakura
@limber skiff was going through bugs and https://github.com/Vendicated/Vencord/issues/2605 was fixed in https://github.com/Vendicated/Vencord/pull/2867
?remind wednesday https://github.com/Vendicated/Vencord/issues/2173
Alright @fossil inlet, in 2 days: https://github.com/Vendicated/Vencord/issues/2173
decrypted define plugins?
await requireUserContextMenu();
await requireGuildContextMenu();
Only require those when u need to use them in the components. you can just call it everytime inside the components since their execution is cached
if its inside the component, thats why i put them there in the first place. if you have solution to this then of course
I dont understand where that error is from
@limber skiff
somehow the mouse click events currentTarget becomes null if those awaits are there, probably the async function?
is it removed from the dom while you await
onContextMenu={e => {
if (shiftPressed !== settings.store.ReverseShift) {
ContextMenuApi.openContextMenuLazy(e, async () => {
await requireGuildContextMenu();
return props => (
<GuildContext
{...props}
guild={guild}
/>);
});
return;
}
ContextMenuApi.openContextMenuLazy(e, async () => {
await requireUserContextMenu();
return props => (
<div className="vc-smtm-menu">
<UserContext
{...props}
user={user}
guildId={guild.id}
channel={ChannelStore.getChannel(SelectedChannelStore.getChannelId())}
/>
</div>
);
});
}}
@uneven needle
that's why openContextMenuLazy exists :)

first time itll get used lol
i saw it on intellisense but since no other plugin used i thought i wouldnt need it lol
None
None
None
None
None
None
None
None
What even is that
something that probably can be done with textreplace 
100%
Good messages
is this intentional in RCE
its fucking stupid and thought you were asking if there was intentional remote code execution
maybe don't call things other people wrote "fucking stupid"
I hope it knows that using "it" as anything other than a third person pronoun makes its sentences difficult to understand
yeah it can be confusing but tbf idk how that message would be interpreted as calling someone else's thing stupid
"it's fucking stupid" is referring to an object
referring to yourself in third person is weird and confusing as hell
its I am fucking stupid and thought you were asking if there was intentional remote code execution
ig kinda
it's their message afterall so it's gonna colour it
just seems inconsistent with the join message
banger
I assume because that has specific styles that override the colour
that greyish text
I'd say yes, it kinda is a bug, but not an important one
on stock, its just the normal message color
the users name isnt colored
well duh
it's likely subjective whether welcome messages should be coloured or shouldn't be coloured
not sure which one is better
@limber skiff is there a consistent way webpack modules define their export
assuming a module function(e, t, n){}
I've seen things like
n.d(t, exports)
t.z = export
t.<something> = export
is there a way this works, or is it random per module
loveeeeeeeeeeeeeeeeeeeeeeeeeeee
time to parse the ast for exports 
is there always only one of those used per file
and when t is manually set, is that done more than once per file
there might be also e.exports = exports
e.exports but yea
the parameters in order are module, exports, require
yes
require.d = defineExports
exports.Z and exports.ZP are exports default
module.exports = is cjs
exports.fooBar is export const fooBar = thing
but it likely won't be used
instead it will use require.d
oh wait no
exports.fooBar is when you do module.exports.fooBar =
is setting exports directly only used when there is only an default export
idk if you can call it a default export
because all the exports because the object you set
this would be cool, also would be nice just to track what timezone your friends are in (most of my friends are in a different timezone 😭 )
instead of creating an actual.default
but yeah it's common js stuff
loadash module should be like that
alr
tbh ill prob just add parsing for more as i see them used
if i dont run into it, its prob not important
I think it's only for commonjs aka module.exports.foo or exports.foo
esm exports are bindings that can dynamically be changed
that's why the bundler makes all exports getters
aka require.d
that's why everything is a function that just returns the variable
None
None
None
None
None
None
None
None
ill take a look in ~ an hour
alright I can do it too but later
LOL
How do you even manage to do that?
tbh this just seems like a css issue
must have been the desktop refeesh
canary
DID THEY FUCKING STEAL VSCODE DESIGN LANGUAGE?
IT LOOKS SO SHIT
double titlebar xd
so bad

?remindme 5pm Look into stealing my old channeltabs code and injecting it there, even though I think the desktop visual refresh looks bad. Also fix resizeable sidebar plugin
Alright @rugged spire, in 4 hours, 21 minutes and 15 seconds: Look into stealing my old channeltabs code and injecting it there, even though I think the desktop visual refresh looks bad. Also fix resizeable sidebar plugin
it looks so ugly
modern UI designers in 2024 only know
- waste a shit load of space
- padding, so much fucking padding
vendroid reference
@limber skiff 
⚠️ vencord.app is a fake malicious site! The only real website is https://vencord.dev! If you have downloaded anything from vencord.app, remove everything you have downloaded immediately, run a malware scan and change your Discord password.
so true
the old patch matched two things, the new one only matches one
The plugin currently doesn't have a visual indicator anywhere, it just adds a @silent if the bedtime is active.
It also doesn't handle timezones (times are stored relative to your current timezone, and compared against your current timezone whenever you send a message), so it isn't the best if you travel across timezones a lot.
didn't that break not long ago too
that’s a little too much tbh 😭
just implement that into silent typing.
the toggle itself and then add a on message event
this seems to be an issue with findGroupChildrenByChildId
in the function this debugger statment triggers, but the function doesnt return at return children
im too confused atp
broke compatibility with horizontal server bar
broke compatibility with horizontal server bar
discord issue, nothing to do with this patch
okay I will fix that then
did fix better folders here tho
it's good but we should switch to not use a lookbehind
why is a lookbehind bad?
lookbehind in the start + wildcard inside = easy to make the regex slow
can very easily make it start to take 30+ ms instead of like 0.1
wait, so would something like this be better?
{
find: "APPLICATION_LIBRARY,render:",
replacement: {
match: /(container.{0,200}({className:\i\.guilds,themeOverride:\i})\))/,
replace: "$1,$self.FolderSideBar({...$2})"
}
}
yes, but can we do something more specific than matching for container behind or not?
{
find: "APPLICATION_LIBRARY,render:",
replacement: {
match: /(container.{0,50}({className:\i\.guilds,themeOverride:\i})\))/,
replace: "$1,$self.FolderSideBar({...$2})"
}
}
200 -> 50
we cant patch here
but we need to patch here
okay that's fine then
would you want this over what i have in my pr rn?
yeah
@rugged spire, <t:1727138325:R>: Look into stealing my old channeltabs code and injecting it there, even though I think the desktop visual refresh looks bad. Also fix resizeable sidebar plugin
i will fix soon
thank you sadan
@dusk blaze update #1257025907625951423
done
@rugged spire, <t:1727154009:R>: Look into stealing my old channeltabs code and injecting it there, even though I think the desktop visual refresh looks bad. Also fix resizeable sidebar plugin
+1 i would aso like this
(bool) || bool ? foo : bar;
cause that code is new
How to use custom fonts? No description I found about it...
ask in the support channel.
Adds an pill with live in it if the user is live, The pill is the same as the normal live pill
The normal live pill, just the speaker icon is added
When injecting vencord from source (pnpm inject), do I give the "old" executable full disk access? This worked for me but I'm just double checking that this is the right thing to give access to bc it seems strange
?
This is for permissions. It's usually vencordInstaller.exe that needs full disk access right (see img from vencord.dev)? Idk I updated to macOS sequoia and my permissions were reset. But it said "old" was blocked
It works if I give old full disk access, but it's just sus
that is so useful 🙏
ty 
Holy fuck
i think the code is some the worst ive ever written
as long as it works, it's all good (just never touch it again)
you overestimate my coding skills
https://gist.github.com/sadan4/5abb43ae2d4d3a6ea40033eff842873d
https://gist.github.com/sadan4/752113ac158732d64a2e3ad60cbd247c
im not exactly a js/ts dev so this isn't in my expertise
None
None
None
None
None
None
None
None
wait this is so goated
now supporting e.exports as well as t.<anything>
?remind one month port extension to generic LSP
Alright @fossil inlet, in 1 month: port extension to generic LSP
idk why this hasn't been updated yet... moreusertags, doesn't apply to voice-channels or in their profile the only place it shows is in the memberlist itself.
dont think its a good idea to put it in voice chat
iirc they used to be in profiles but a patch broke it and it was never fixed
why not
too crowded
doesn't display yeah upon opening profile
you might be right to be honest because if they have long usernames, then it wouldn't display
@limber skiff is there a way to profile vencord
see what takes the longest time during startup?
works for me too user just didnt have perms
why do you even think something is slow
just curious tbh
vencord is bundled into a single file and that's executed at normal speeds
and most patches take 0.1ms to apply
which is the fastest they can be
what takes the longest is stringfying every module and checking if finds match
alr, ty
if I remember correctly checking for finds takes about 5 or 10 seconds at total
when loading the entirety of discord
not just the normal stuff loaded initially
we used to take some patches which took a little longer but they can have been fixed already
@fossil inlet, <t:1727072220:R>: https://github.com/Vendicated/Vencord/issues/2173
Content
its quite annoying that you cannot use one plugin on one client without it getting loaded/enabled on the other clients.
Request Agreement
- [X] I have read the requirements for opening an issue above
shrimply use vesktop
Is there any plausible reason one would want to use multiple of normal, client, and ptb, other than verifying mod compatibility?
checking out new features?
Some people use different branches for different accounts. There's probably a few other reasons too, as it's brought up fairly frequently
There is only one settings folder for your Vencord installation regardless of client branch. If you need this, you can use Vesktop, which stores its settings elsewhere.
Out of curiosity, what is the use case for this? Usually people want their settings to be synchronised between all their clients.

bensktop
Wonder if you could add a CLI argument to discord to change the vencord data dir
Before, the displayName properties were ignored for sub commands.
Fixing it so that registered sub commands actually use the specified display names instead of the regular name properties in the command picker.
I don't know if the change to subCommandPath actually does anything, but it seems the correct thing to do.
Example
Given the command object:
{
name: "name",
displayName: "displayName",
options: [
{
name: "subcommand1_name",...
why are you using the displayName property in the first place? just use name
Mainly just to prevent name clashing.
I saw that name must be unique, else it throws, so if you have a possibly common name for a command, then having two plugins with that same command name would cause problems.
then having two plugins with that same command name would cause problems.
plugins shouldn't have the same command name in the first place, that's bound to cause confusion considering they don't have icons
plugins shouldn't have the same command name in the first place
Definitely yeah, but on the off chance that it happen, it'd be still nice to have a way to disambiguate.
Plus, since displayName exists in the first place, I don't think it's wrong to assume that it should work as expected.
If no one uses and it doesn't seem to be recommended to use it at all, then why not remove it completely?
I'd say either fix it or remove it, but leaving it in a half-broken state isn't really a go...
am i the only one who's like
really confused by this PR
i don't see how this fixes what they're flagging
then i think we should remove support for it entirely, there is no reason for the name and display name to be any different, and you should be using name to set the actual name for your command. if you are conflicting with a different plugin, then you need to rename your command or rename that plugin's command to be unique
that's a change that can be made at a later date though, and will probably be rolled up into a different PR
will pnpm build --dev --watch work?
if it's not the right place to ask, i didn't know, soz
It should? What does --dev do?
buildes with the dev version
--watch builds a dev build anyway

can u still help me with my #🧩-plugin-development
I was gonna do this too at 00:08 where it jumps to r instead of eD but I thought it might be a bit confusing
I'm going to port it to generic LSP soon
Sick
I wanna keep my thing of having the patch in your editor apply to the extracted module rather than the patched module in the current vencord build but I'm not sure how to word that in terms of a setting or something
Also this is kinda satisfying to watch
Cache isn't worth imo
Probably not but it was fun to add
I can just chuck it later if it doesn't end up being useful
Also added extracting modules by find dialog
This is not satisfying.
Why the fuck does a chat app need 24MB of JS
I just like number go up
meanwhile vscode in the background open to a list of toggleable patches that remove "bloat features" in Discord
Ehat?
i made debloater plugin number idk anymore
fyi most of it is lazy-loaded
I know
some of it is actual discord code, some of is it is dependencies and dependencies of dependencies etc
Hey shouldn't this issue be closed?
yall should run the reporter 
None
None
None
None
NoBlockedMessages (had no effect):
ID: 306680
Match: ```
/(?<=MESSAGE_CREATE:function((\i)){)/
**__VolumeBooster (had no effect):__**
ID: `345953`
Match: ```
/(?<=isLocalMute\(\i,\i\),volume:.+?volume:)\i(?=})/
MessageLogger (had no effect):
ID: 375954
Match: ```
/MESSAGE_DELETE:function((\i)){let.+?((?:\i.){2})getOrCreate.+?},/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/MESSAGE_DELETE_BULK:function\((\i)\){let.+?((?:\i\.){2})getOrCreate.+?},/
MessageLogger (had no effect):
ID: 375954
Match: ```
/(MESSAGE_UPDATE:function((\i)).+?).update((\i)/
**__CustomIdle (had no effect):__**
ID: `517100`
Match: ```
/Math\.min\((\i\.\i\.getSetting\(\)\*\i\.\i\.\i\.SECOND),\i\.\i\)/
WhoReacted (had no effect):
ID: 542578
Match: ```
/(?<=CONNECTION_OPEN:function(){)(\i)={}/
**__FakeNitro (had no effect):__**
ID: `581883`
Match: ```
/CONNECTION_OPEN:function\((\i)\){/
ConsoleJanitor (had no effect):
ID: 613568
Match: ```
/\i.totalTime>100&&\i.verbose("Slow dispatch on ".+?));/
**__MoreUserTags (had no effect):__**
ID: `674563`
Match: ```
/\((\i)=\{\}\)\)\[(\i)\.BOT/
Decor (had no effect):
ID: 818611
Match: ```
/(?<==)\i=>{let{user:\i,avatarDecoration.{300,600}decorationGridItemChurned/
**__MessageLogger (had no effect):__**
ID: `869765`
Match: ```
/MESSAGE_DELETE:function\((\i)\).+?},/
MessageLogger (had no effect):
ID: 869765
Match: ```
/MESSAGE_DELETE_BULK:function((\i)).+?},/
**__NoticesAPI (had no effect):__**
ID: `933429`
Match: ```
/(?<=,NOTICE_DISMISS:function\(\i\){)return null!=(\i)/
SuperReactionTweaks (had no effect):
ID: 960020
Match: ```
/(BURST_REACTION_EFFECT_PLAY:\i=>{.{50,100})(\i(\i,\i))>=\d+/
**__MoreUserTags (errored):__**
ID: `129861`
Match: ```
/,botType:(\i),(?<=user:(\i).+?)/g
Error: ```
Invalid destructuring assignment target
**__AnonymiseFileNames (found no module):__**
ID: `-`
Match: ```
instantBatchUpload:function
FakeNitro (found no module):
ID: -
Match: ```
canUseCustomStickersEverywhere:function
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
canUseHighVideoUploadQuality:function
FakeNitro (found no module):
ID: -
Match: ```
canUseClientThemes:function
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
canUsePremiumAppIcons:function
FakeNitro (found no module):
ID: -
Match: ```
canUseCustomNotificationSounds:function
**__IgnoreActivities (found no module):__**
ID: `-`
Match: ```
="LocalActivityStore",
NoBlockedMessages (found no module):
ID: -
Match: ```
="MessageStore",
**__NoPendingCount (found no module):__**
ID: `-`
Match: ```
.getSpamChannelsCount(),
ShowHiddenChannels (found no module):
ID: -
Match: ```
="GuildChannelStore",
**__ShowMeYourName (found no module):__**
ID: `-`
Match: ```
?"@":"")
findComponentByCode(".AVATAR_STATUS_TYPING_16;")
None
None
Oooh, fun
oh great
time to remember not to turn my computer off 😁
ACtually depends on how it touches stabl/e
that was the canary reporter so maybe
None
None
None
None
NoBlockedMessages (had no effect):
ID: 306680
Match: ```
/(?<=MESSAGE_CREATE:function((\i)){)/
**__VolumeBooster (had no effect):__**
ID: `345953`
Match: ```
/(?<=isLocalMute\(\i,\i\),volume:.+?volume:)\i(?=})/
MessageLogger (had no effect):
ID: 375954
Match: ```
/MESSAGE_DELETE:function((\i)){let.+?((?:\i.){2})getOrCreate.+?},/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/MESSAGE_DELETE_BULK:function\((\i)\){let.+?((?:\i\.){2})getOrCreate.+?},/
MessageLogger (had no effect):
ID: 375954
Match: ```
/(MESSAGE_UPDATE:function((\i)).+?).update((\i)/
**__CustomIdle (had no effect):__**
ID: `517100`
Match: ```
/Math\.min\((\i\.\i\.getSetting\(\)\*\i\.\i\.\i\.SECOND),\i\.\i\)/
WhoReacted (had no effect):
ID: 542578
Match: ```
/(?<=CONNECTION_OPEN:function(){)(\i)={}/
**__FakeNitro (had no effect):__**
ID: `581883`
Match: ```
/CONNECTION_OPEN:function\((\i)\){/
ConsoleJanitor (had no effect):
ID: 613568
Match: ```
/\i.totalTime>100&&\i.verbose("Slow dispatch on ".+?));/
**__MoreUserTags (had no effect):__**
ID: `674563`
Match: ```
/\((\i)=\{\}\)\)\[(\i)\.BOT/
Decor (had no effect):
ID: 818611
Match: ```
/(?<==)\i=>{let{user:\i,avatarDecoration.{300,600}decorationGridItemChurned/
**__MessageLogger (had no effect):__**
ID: `869765`
Match: ```
/MESSAGE_DELETE:function\((\i)\).+?},/
MessageLogger (had no effect):
ID: 869765
Match: ```
/MESSAGE_DELETE_BULK:function((\i)).+?},/
**__NoticesAPI (had no effect):__**
ID: `933429`
Match: ```
/(?<=,NOTICE_DISMISS:function\(\i\){)return null!=(\i)/
SuperReactionTweaks (had no effect):
ID: 960020
Match: ```
/(BURST_REACTION_EFFECT_PLAY:\i=>{.{50,100})(\i(\i,\i))>=\d+/
**__MoreUserTags (errored):__**
ID: `129861`
Match: ```
/,botType:(\i),(?<=user:(\i).+?)/g
Error: ```
Invalid destructuring assignment target
**__AnonymiseFileNames (found no module):__**
ID: `-`
Match: ```
instantBatchUpload:function
FakeNitro (found no module):
ID: -
Match: ```
canUseCustomStickersEverywhere:function
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
canUseHighVideoUploadQuality:function
FakeNitro (found no module):
ID: -
Match: ```
canUseClientThemes:function
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
canUsePremiumAppIcons:function
FakeNitro (found no module):
ID: -
Match: ```
canUseCustomNotificationSounds:function
**__IgnoreActivities (found no module):__**
ID: `-`
Match: ```
="LocalActivityStore",
NoBlockedMessages (found no module):
ID: -
Match: ```
="MessageStore",
**__NoPendingCount (found no module):__**
ID: `-`
Match: ```
.getSpamChannelsCount(),
ShowHiddenChannels (found no module):
ID: -
Match: ```
="GuildChannelStore",
**__ShowMeYourName (found no module):__**
ID: `-`
Match: ```
?"@":"")
findComponentByCode(".AVATAR_STATUS_TYPING_16;")
None
None
hmm weird
are we fucked or is this a reporter issue
its not a doomsday event repeat
adds support for listenbrainz to the LastFMRichPresence plugin
fulfills https://github.com/Vencord/plugin-requests/issues/634
might want to reconsider the name of the plugin now, if that's feasible
also, maybe would be nice if the plugin could display the name, version and icon (based on name) of the music player/scrobbling client that's being scrobbled from, since the listenbrainz api actually provides that info
Added functionality to choose a GPT model to translate chat messages using the OpenAI API.
Content
Instead of maintaining an internal list for ClearURLs, it would be wiser to use third-party lists like uBlock Origin does.
I recommend to fetch the following ones (once per two months should be sufficient):
https://github.com/DandelionSprout/adfilt/blob/master/LegitimateURLShortener.txt
https://github.com/DandelionSprout/adfilt/blob/master/ClearURLs for uBo/clear_urls_uboified.txt
h...
is it worth fixing patches now, or do you thing discord will rollback
Not really worth it until it hits stable
Its not a doomsday repeat so its not like we really need to prep for the worst
*if it hits stable
it most likely won't be reverted
Considering how long it’s been I don’t think it’s gonna be reverted either but you never know with discord
from what ive done so far, a good ammount of them are inline functions moving to named functions
i doubt the fixes will take long at all if they need to be done
None
None
None
None
ReplyTimestamp (had no effect):
ID: 267128
Match: ```
/(?<="aria-label":\i,children:[)(?=\i,\i,\i])/
**__NoBlockedMessages (had no effect):__**
ID: `306680`
Match: ```
/(?<=MESSAGE_CREATE:function\((\i)\){)/
VolumeBooster (had no effect):
ID: 345953
Match: ```
/(?<=isLocalMute(\i,\i),volume:.+?volume:)\i(?=})/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/MESSAGE_DELETE:function\((\i)\){let.+?((?:\i\.){2})getOrCreate.+?},/
MessageLogger (had no effect):
ID: 375954
Match: ```
/MESSAGE_DELETE_BULK:function((\i)){let.+?((?:\i.){2})getOrCreate.+?},/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/(MESSAGE_UPDATE:function\((\i)\).+?)\.update\((\i)/
WhoReacted (had no effect):
ID: 542578
Match: ```
/(?<=CONNECTION_OPEN:function(){)(\i)={}/
**__FakeNitro (had no effect):__**
ID: `581883`
Match: ```
/CONNECTION_OPEN:function\((\i)\){/
ConsoleJanitor (had no effect):
ID: 613568
Match: ```
/\i.totalTime>100&&\i.verbose("Slow dispatch on ".+?));/
**__MoreUserTags (had no effect):__**
ID: `674563`
Match: ```
/\((\i)=\{\}\)\)\[(\i)\.BOT/
Decor (had no effect):
ID: 818611
Match: ```
/(?<==)\i=>{let{user:\i,avatarDecoration.{300,600}decorationGridItemChurned/
**__MessageLogger (had no effect):__**
ID: `869765`
Match: ```
/MESSAGE_DELETE:function\((\i)\).+?},/
MessageLogger (had no effect):
ID: 869765
Match: ```
/MESSAGE_DELETE_BULK:function((\i)).+?},/
**__NoticesAPI (had no effect):__**
ID: `933429`
Match: ```
/(?<=,NOTICE_DISMISS:function\(\i\){)return null!=(\i)/
SuperReactionTweaks (had no effect):
ID: 960020
Match: ```
/(BURST_REACTION_EFFECT_PLAY:\i=>{.{50,100})(\i(\i,\i))>=\d+/
**__MoreUserTags (errored):__**
ID: `129861`
Match: ```
/,botType:(\i),(?<=user:(\i).+?)/g
Error: ```
Invalid destructuring assignment target
**__AnonymiseFileNames (found no module):__**
ID: `-`
Match: ```
instantBatchUpload:function
FakeNitro (found no module):
ID: -
Match: ```
canUseCustomStickersEverywhere:function
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
canUseHighVideoUploadQuality:function
FakeNitro (found no module):
ID: -
Match: ```
canUseClientThemes:function
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
canUsePremiumAppIcons:function
FakeNitro (found no module):
ID: -
Match: ```
canUseCustomNotificationSounds:function
**__IgnoreActivities (found no module):__**
ID: `-`
Match: ```
="LocalActivityStore",
NoBlockedMessages (found no module):
ID: -
Match: ```
="MessageStore",
**__NoPendingCount (found no module):__**
ID: `-`
Match: ```
.getSpamChannelsCount(),
ShowHiddenChannels (found no module):
ID: -
Match: ```
="GuildChannelStore",
**__ShowMeYourName (found no module):__**
ID: `-`
Match: ```
?"@":"")
findComponentByCode(".AVATAR_STATUS_TYPING_16;")
None
None
pr
heart attack simulator
WHAT
userplugins so good
also iirc there a steam.pid file so it can check if steam is open
why does this just not use steam api 😭😭
iirc it uses protocol
i didnt make it
finally finished fixing fake nitro
skids will love me
oh thats what happened
imagine if discord reverts
ive fixed six plugins already 😭
prepares fixes for unstable branch
they never hit stable
tbh im just bored
im never bored when writing ts 
vencor will make ai to auto fix broken plugins
feed it entire discord client js and the broken patch
and watch it write terrible regex
love
another plugin down 
some discord staff watching this channel waiting for the best moment to press that revert button
which ones have you fixed?
fake nitro
show me your name
notice api
console jannie
message logger
volume booster
who reacted
super reaction tweaks
show your name was removing the ) lol
do we know what they changed tho
iirc it got moved to a var instead of inline
it looks like a lot of functions and other things are no longer inline
ye I thought it was one of the plugged I use so I fixed it lol
which you doin rn
ill look into some
canUseClientThemes:function
ill do show hidden channels
how is this broken
canUseClientThemes:\i now
thats like 50% of broken things
what about store names
still good
yeah but





