#πΎ-core-development
1 messages Β· Page 264 of 1
guess what h.default is xD
no very old
getCurrentUser() {
return users[AuthenticationStore.getId()];
}
lmao
π ur kidding me right
so what we're doing is essdentially
users[AuthenticationStore.getId()]?.id;
also why the fuck does discord store users in a plain object
they dont know map is better
(oceanic also didn't know)
i think webpack doesn't use Map cause Map is es6
no IE support etc
no longer relevant in 2025 but it was a few years ago
that should probably be done in a seprate pr
from a random becnhmark blog (and this doesn't even include the fact that they're better for memory)
yeah but
do it correctly in this pr
for this one instance
we can improve old code later
if you type this, honestly I would omit the sensitive fields and only type getId()
obscurity my beloved
not obscurity
it's just we don't need those fields and people would see it in source and panic
they are stupid

flashback to when someone thought this was a token logger https://github.com/Vendicated/Vencord/blob/main/src/webpack/common/components.ts#L89
components.ts: Line 89
export let useToken: t.useToken;
i actually didn't check of there is a key for that π
99% of the cases there is
but just checked and there isn't
i assumed there wasn't because it was just broken by a key changing
then use the raw notation
#{intl::Q8lUnJ::raw}
ty
?remind 2.56 days parse raw intl notation in vencord companoin
Alright @fossil inlet, in 3 days: parse raw intl notation in vencord companoin
@austere talon they removed the old profile modals
@austere talon recreate the old profile modals
genuinely what were they thinking
i dont understand
the old ones was by no means perfect either
but man is this a downgrade π
1/2 the screen is just empty
nobody cares about activity
but how else will they push quests and promoted games 
I like it tbh
you're insane
it shows more info than the old used to do
the bad thing is the 50/50 vertical split
banner background looks nice
no one gives a shit about activities and it's empty half of the time
I feel like that's gonna be breaking my betterblockedcontext pr 
and still no dedicated button for switching between main & server profile
but why did this break
function un-inlined i quess
also i'm pretty sure theres a crash with typing indicators
(not the one i just redid)
something is trying to render a user
and idk what it is

it's not that tho
patch is group and i don't even have it enabled
this find seems like it will break easily, should be replace with a better one
they deleted so manyyy files
they got inspired by the pr we made just earlier
reemoving legacy code
i have so many windows open i had two pnpm watches going at the same time
workspaces ontop
one day salad will learn about tabs in kitty
too annoying
same with workspaces
most of these are just things i launches for a min/2 and forgot to close
LOL
i do this all the time
5 terminals all for the same thing
cause i just keep opening new ones
i have <A-S-Enter> to open a new one
@fossil inlet
did you guess that?
add it as a suggestion to my pr and i'll click the button
it's like 50% deepseek 50% sonnet 4 but sure
π no way lmao
π FOUND MATCHπππππππππππ
im glad i limited it to 4 words cause before I got it working I tried 6 and there were like 60 billion possible combos with that

thats why I told it to add multithreading to begin with lol
vibe coding worked
sonnet 4 is unironically good if you give it clear instructions and a clear starting point
and dont ask too much at once
then it starts forgetting stuff
guhhhh
i have just been crash looping for like a minute straight trying to figure out what is causing it
it's WhoReacted
add to venbot when
π
i think it's more than one thing
i'm still crashing with it disabled
are you running reporter?
i have but i'm not crashing
i didnt run anything in devtools
that is also the last thing i see right before i crash
but could just be random
i don't think that's it
something is def trying to render a user
meeee
guhh i need to bring back the plugin bisector
#π-info message !!! pls ban!!! /j

most of the fixes are done except for this one that i'm too tried atp to do
i still haven't figured out why i'm crashing but i just disabled reporter and it fixed it 
pr it
i already did
ahh you renamed it
TypingTweaks is here
@limber skiff you mention more accurate patch here, do you remember the issue with it before
there is an issue with this and forum post typing indicators, that needs to be fixed before this is merged
turns out it's just discord shitcode
typing tweaks isn't even enabled
@austere talon love?

forums still aren't perfect ||the user avatar is rendered twice|| but the major issue turned out to be with discord's amazing code.
?remind noon make lazy?
Alright @fossil inlet, in 1 day, 9 hours and 19 minutes: make lazy?
R Danny insane
Fix for hideMedia (in plugins folder named hideAttachments) plugin to check embeds in forwarded messages
The solution is not perfect ("Media hidden" shows both on messages, forwarded and the message that shows the forwarded message), but working
oh, and also i fixed silly misspell in "shapshots" instead of "snapshot"
oops
Content
Hello,
I have been coding for quite a long time, and today I had an idea for a feature I wanted in Vencord and would have been willing to make myself, so I thought I would look into this community. I tried to look for my suggestion in your suggestions repository, but I couldn't find what I wanted. Even if I could have found it, there is no way to have any discussion on any of the suggestions because the whole repo is locked down.
I tried to join your Discord server but I wasn't...
development is kinda slow but else there's no struggle to get any contributors or anything, we get more than enough PRs already
anyway dev channels are gated because too many people asked for support there. you have to open a modmail just asking for channel access as said in the info channel
<img width="1151" height="374" alt="Image" src="https://github.com/user-attachments/assets/be05bebc-c0db-48e2-9468-edc4f372cc45" />
The suggestions repo is archived simply because it wasn't very productive. You can discuss ideas in the server, plenty of channels work
For the development channels, you just need to request access
<img width="1814" height="488" alt="Image" src="https://github.com/user-attachments/assets/0b850ab6-b90c-4786-b441-bd0551b12479" />
From what I've read, it seems like you are struggling to get enough contributers
It's quite the opposite actually, there are too many contributions for us to rea...
You're looking at this from the wrong direction and are missing parts of our community. Its not necessarily unfriendly more than people who are not familiar with the way that Vencord works (including yourself) should not be making issues on the GitHub repositories.
We have it this way for a number of reasons:
- duplicates
- missing details
- We already know about it and or have already fixed it and are just waiting for deployment from
devor waiting on google to approve an extension upd...
why did we leave three comments at the same time
lol
my ass was typing for a while
would've given my message more QC if i wasn't rushed by your comments 
π
why did github switch to using <img> tags instead of
when u paste an image in markdown
I told them to secretly include xss
soon i will take over all repositories
@limber skiff make vencord plugin readmes not escape script tags
π
this is actually a good idea add to venbot
https://github.com/Vendicated/Vencord/issues/3552 plugin request on main repo free kill
makes development fun!
Doesn't Discord have something similar? It's only visual but still an indicator
they did say they'd work on this themselves so it's more valid
we should also add malware at least once a year
issues aren't inherently bad, only if it's just support requests
fair enough
We do have rce
make RCE include actual RCE
people like this confuse me so much #π₯-vencord-support-π₯ message
why do people expect projects to linearly add new features
I get why people ask about it though, we have removed more than we have added in the last few months
last plugin merge was like start of this year?
it really does feel like nothing new is coming to the mod
eh vencord has enough stuff as of now we don't need any new plugins ykyk
the least we could do though is merge plugin bug fixes
which we do ?
what are you on about 
when has smth last be bugged more than a few days
https://github.com/Vendicated/Vencord/pull/3523 end of june
https://github.com/Vendicated/Vencord/pull/3587 (submitted today so not gonna blame anyone)
https://github.com/Vendicated/Vencord/pull/3446 last looked at early june
theres other stuff like this too, its the small stuff that isn't a patch break that gets overlooked sometimes
If you aren't sadan or another super active contributor it feels like your stuff gets overlooked, at least personally that is what it seems like
I can understand both sides tho
I also want to make it clear that im not trying to upset anybody but if i am overstepping let me know
it's mostly about how relevant the patch is
new features = lowest priority
fixes for minor annoyances = medium priority
important fixes = highest priority
the entire match being a lookaround is confusing. I'd just make it a normal match and include $& in your replacement
match: /typingUsers:(\i\?\[\]:)\i,/,
shouldn't be needed with properly typed store
const typingUsers = useStateFromStores([TypingStore], () => TypingStore.getTypingUsers(channel.id));
36c15d6 HideAttachments: correctly support forwarded Me... - zordythezordan
I ended up reworking how this works but change you for your contribution!
I don't like this, but I can't think of many better alternatives
The best I could come up with was .controlButtonWrapper,
this looks like it might be slow, we should verify it isn't before merging
i meant thank not change π
okay we're good
<img width="1006" height="117" alt="image" src="https://github.com/user-attachments/assets/38d796d9-bd06-44aa-9025-856d39c6e015" />
I need vencord reporter for prs π
no stable compat is rough, I'll probably extract the compatible fixes and we can merge the others later
<img width="1016" height="302" alt="image" src="https://github.com/user-attachments/assets/ab765703-8d12-4f94-b5f0-da62bfa96268" />
actually besides the SHC stuff there's nothing stable compatible so let's just wait in general
yeah most merged sadan commits are fixed
they will bump stable soon surely
The wildcard in this fine should be changed to be lazy, I forgot to do it yesterday
vext
The Vencord Chrome Extension is up to date! (v1.12.9)
wow they really are speedy recently
sn @limber skiff
Content
basically its just the betterfolders plugin but instead of folders you right click the server and click a thing in the context menu that pins it on the same side bar that betterfolders uses
Request Agreement
- [x] I have read the requirements for opening an issue above
would still be nice to have it available
yeah but
that's okay because it's still available
with the plugin it stops being available
i think this one looks worse personally but 
actually besides the SHC stuff there's nothing stable compatible so let's just wait in general
it looks like stable got pushed see #1337479880849362994 message
reporter
indeed
turns out typingTweaks will cause crashes if alternativeFormatting is disabled
rn or with ur pr?
Rn
I haven't tested stable, but given the one patch fails on it, it feels like it's a good guess that it also crashes there.
we should make an eslint rule to always require lazy
vtest
Now testing! 
ShowHiddenChannels (had no effect):
ID: 734386
Match: ```
/MANAGE_ROLES.{0,90}?return(?=(.+?((0,\i.jsxs)("div",{className:\i.members.+?guildId:(\i).guild_id.+?roleColor.+?]})))/
**__TypingTweaks (had no effect):__**
ID: `738619`
Match: ```
/(,{a:(\i),b:(\i),c:\i}\):\i\.length>3&&\(\i=)\i\.\i\.string\(\i\.\i#{intl::SEVERAL_USERS_TYPING}\)(?<=(\i)\.length.+?)/
ShowHiddenChannels (had no effect):
ID: 734386
Match: ```
/MANAGE_ROLES.{0,90}?return(?=(.+?((0,\i.jsxs)("div",{className:\i.members.+?guildId:(\i).guild_id.+?roleColor.+?]})))/
**__TypingTweaks (had no effect):__**
ID: `738619`
Match: ```
/(,{a:(\i),b:(\i),c:\i}\):\i\.length>3&&\(\i=)\i\.\i\.string\(\i\.\i#{intl::SEVERAL_USERS_TYPING}\)(?<=(\i)\.length.+?)/
IgnoreActivities (had no effect):
ID: 293389
Match: ```
/#{intl::SETTINGS_GAMES_TOGGLE_OVERLAY}.+?}(),(?<={overlay:\i,.+?=(\i),.+?)(?=!(\i))/
leave shc for me
I wanna revise the fixes and improve too
ah
you just commited it

MessageScheduler
What it is/Description: Allows you to schedule whenever to send a message into a specific channel using channel id's. Shows clock icon/button on the message bar and right clicking it shows you the scheduled messages, and left clicking shows the popup to schedule your message!
Includes:
- Minute, Hour, Day, and Month scheduling, allowing you to freely and easily set a schedule time
- Easy to use
- Manage, and Canceling is featured inside of the popup while right-cli...
Added a better way of previewing formats to try and make the formatting easier to customise (see updated readme)
can u do it now
I wanna push to main
@austere talon i meant to add that condition to the prop
not remove the capture group
should be good
i realised that where I told you to not use hooks is a place discord also uses hooks lol
it looked like component props
but it's some intermediate object

anyway ig it's fine like this
that looks very wrong
oh you're matching part of the ternary
i hate that
relly unintuitive
vtest
Now testing! 
59996 broken patches
ShowHiddenChannels (had no effect):
ID: 734386
Match: ```
/MANAGE_ROLES.{0,90}?return(?=(.+?((0,\i.jsxs)("div",{className:\i.members.+?guildId:(\i).guild_id.+?roleColor.+?]})))/
ShowHiddenChannels (had no effect):
ID: 734386
Match: ```
/MANAGE_ROLES.{0,90}?return(?=(.+?((0,\i.jsxs)("div",{className:\i.members.+?guildId:(\i).guild_id.+?roleColor.+?]})))/
**__IgnoreActivities (had no effect):__**
ID: `293389`
Match: ```
/#{intl::SETTINGS_GAMES_TOGGLE_OVERLAY}.+?}\(\),(?<={overlay:\i,.+?=(\i),.+?)(?=!(\i))/
oh thanks for fixing it for me
yeah but it's not stable compatible
I'm fixing SHC rn
oh wait that's not right
canary vs stable
we need n on canary and s on stable
well we can just rewrite it
cause it's manti
/#{intl::SETTINGS_GAMES_TOGGLE_OVERLAY}.+?}\(\),(?<=nowPlaying:(\i)=!1,.+?overlay:\i,[^}]+?\}=(\i).+?)/,
see if you like this or wanna do it yourself
it just matches both props destructuring blocks directly now
Utility to calculate murmurhash, so you can see your place in rollout
you will add these things to the Experiment plugin instead
and plugins shouldn't pollute the global object, add this to the ConsoleShortcuts plugin instead
plugin
you mean like entire features?
imo it wouldnt fit to experiments plugin itself as it modifies experiments page. there might be people who want to use it unmodified
consoleshortcuts part is fair
@austere talon did u fix ignore activities or do you still need help?
^ @limber skiff
im looking rn
this is good
I took so much to understand what was the issue lmao
but yeah that's perfect
i showed u here π
do I commit it or you do
π
they inverted the check
you can:
curl 'https://cdn.discordapp.com/attachments/1015063227299811479/1402810732097048596/0001-Fix-IgnoreActivities.patch?ex=689544cd&is=6893f34d&hm=4674003d4e9aa239be2133d0e069b630c89a8651e424438bd30b36b8192cef57&' | git am
it'll apply the commit
would this work on windows
should work in powershell yeah
not in cmd tho
iirc powershell truncates text pipes to be hard wraped at 80 chars
Are we good to delete https://discord.com/channels/1015060230222131221/1399890192042561637 so we donβt confuse people with the other post?
i has a pipeline to unzip a tarball without writing i to disk and it wouldn't work in powershell because of that
yeah, everything is up to date for that on the extension
also nin0's post
windows is insane but not that insane
Ill delete both then and leave the newest one
yop
Vee beat me to the other one
https://github.com/PowerShell/PowerShell/issues/1908
note that while it is closed, it still didn't work for me
bro who cooked eslint
when I save now it doesnt delete unused imports
im blaming sadan
EmbedReplace
This plugin allows you to right-click a link to replace its embed in a message via TextReplace style rules.
can't repro
make sure your eslint isnt erroring or smth
you want autofix to run on save
it's still there
ur eslint is just cooked
wait there's this
dont even need eslint
im gonna try these two so we can remove the eslint plugins
actually that means ci wont catch it on github
eh whatever keep it as eslint
vtest
Now testing! 
π
it should be just a text input
the Send button is permanently disabled and the gif/emoji/sticker buttons dont do anything
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
RDB users can wait for now 
yop
we good to push?
ye
we good
vmerge dev->main
i will add that command eventually
imagine
vbump 1.1.1
vmerge main
vtag 1.1.1
@austere talon new eval exploit in venbot
hop on lazygit
#πΎ-core-development becomes your new terminal
6380111 Notification Log: fix lag if there are too many... - Vendicated
a2253cb remove old discord ui workarounds & legacy code... - Vendicated
36c15d6 HideAttachments: correctly support forwarded Me... - zordythezordan
6a66b7f fix plugins broken by Discord update (#3583) - sadan4
74d78d8 fix TypingTweaks (#3586) - sadan4
INSANE
98efe13 ShowHiddenThings: fix crash when viewing Mod View - Vendicated
98efe13 ShowHiddenThings: fix crash when viewing Mod View - Vendicated
thats my fault π
patcher should fast error if there's an unmatched placeholder tbh
or maybe only in IS_DEV
Will be adding syncing ~tomorrow since i have school
that is something that should be relatively easy to add as an eslint rule
tbh kinda shocked it isn't
disallow useless $ replacements in replacement string
but this wont work for us cause it's not string.replace
Fishcord moment
is there any way to browse devtools without being assaulted with lag or do i just have to live with discord's terrible coding π₯΅
vp consolejanitor
never change π₯ (these are all assigned to one element
thanks
Does that fix the part where inspect element somehow eats 15 gigarams
no lmao
Bots still have the old profiles and probably will for ages, probably could make a plugin for it?
idk if theres interest in the mod having it but it still exists via their profiles soooo
i think it would end up just like the new ui
whats the point of making a plugin for something so tiny that could be removed soon anyways
i have doubts that they'll change the bot ui any time soon, bots don't use activities or anything so the entire right side is useless
it may get a redesign thats slightly more bearable idk
it was just a thought idk if you really wanna pull it off
A plugin that changes the default tab might be useful. Not sure about other people but i have exactly 0 use for the activities tab so setting one of the others to default would be nice
actually It's my fault
π
I forgot to change the group
I cooked with SHC fix
is it? git blame blamed me
vtest dev
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
i'd be interested by that, but they'll kill it at some point, best to just start doing CSS
too much work for not enough gain imo
@fossil inlet, <t:1754462433:R>: make lazy?
dumb r.danny
sadan has been made lazy
yop
It's not so much that it's unfriendly, rather that it seems unfriendly.
A few points:
A simple GitHub action to welcome new contributors could make a huge difference in the perception of friendliness:
Something like that with a message like:
"Hey! We have a lot of issues and PRs already so we might not be as responsive as you wish but we welcome you and thank you for your first contribution! If you have submitted a feature r...
It would also be nice to add a disclaimer inside CONTRIBUTING.MD that the plugins PR are temporarily stopped until further notice because there are too many of them to assure a good quality.
But this just isn't the case
no?
7e02826 SpotifyShareCommands: correctly handle local tr... - sadan4
please do add an image, upload it to #1749
lowercased βspotifyβ @fossil inlet fix
this is a corporate client mod!
let me know when the five users who will ever actually see it complain
will open an issue
you are not one of the five
kys
π₯°
you are not a team player @fossil inlet we cannot ship an unpolished product to the shareholders ykyk
why not
one day they will change and finds will break
most stores are singular
like UserStore, ChannelStore, etc
but then StickersStore is plural
I guess they dont love their plurals, they love fucking with both of us specifically
CopyStickerLinks
<img width="648" height="323" alt="Image" src="https://github.com/user-attachments/assets/a0982d5c-ab83-458b-9ca3-834803e0782e" />
its like the ios feature. pretty good but i dont see it to be super useful
4403aee New plugin CopyStickerLinks: adds Copy/Open Lin... - byeoon
its like the ios feature. pretty good but i dont see it to be super useful
it can be pretty useful in terms around scheduling an announcement, links of downloads, code, and more. it can be very useful for some people that don't wanna set a timer and manually have to send a message.
wow
new vencord plugin
You should really just use a bot instead. A plugin like this will never be realiable
just use setTimeout lol
native version that adds a cronjob to your system
i would prefer setInterval for that tbh
also why the hell are they spreading sechdueledMessages
is it an iterator 
i didnt even see that lmao
okay
why
?remind monday 8am
Alright @dusk blaze, in 3 days, 15 hours and 30 minutes: β¦
does macOs have cron
cause they're mutating it in the loop so if they don't make a copy it fucks up the loop π
or literally just use a traditional for loop and loop backwards
more efficient too cause you don't have to use indexOf

or just filter with a side effect 
inefficient. please setTimeout on sending scheduled message with a delay of when the message should be sent.
for (let i = array.length - 1; i >= 0; i--) {
if (condition) {
array.splice(i, 1);
}
}


rewrite in Bun it will be faster
since you're looping backwards, elements shifting doesn't matter because only the already done part is shifted
You should really just use a bot instead. A plugin like this will never be realiable
In what terms would it be unreliable? Just wondering.
gee, i wonder
If you close Discord or lose connection, it will never send it. People will inevitably schedule something for 2 days in advance then wonder why it won't work
if your discord explodes so will all your sheduled messages
If you close Discord or lose connection, it will never send it. People will inevitably schedule something for 2 days in advance then wonder why it won't work
Yes, I know about that, I'm currently working on syncing so it won't send.
should i leave a review or this getting closed
Just use a bot lmao, look for one in the App Directory, for example this one (this is no endorsement, I don't know if this bot is any good)
I'm rejecting this submission, but thank you for the contribution anyway!
@austere talon review 3558 
yes
use a better format and make the preview less overwhelming
:P
we should make the screenshots simplistic with as little distractions as possible
you're showing the full discord client with a lot of plugins and actively moving chat
I dunno why I always default to gifs of the thing in action, I forget I can just do a couple of screenshots
a good screenshot shouldn't show distracting other plugins and in this scenario a blank channel with only one message + discord zoomed in heavily would be good
i did gifs so they would embed
Just use a bot lmao, look for one in the App Directory, for example this one (this is no endorsement, I don't know if this bot is any good)
I'm rejecting this submission, but thank you for the contribution anyway!
Alright thanks for the feedback btw. I'm probably gonna work on some more useful plugins in the future, and see if a bot would be more useful,...
lmao
at that point you can just use settings.use() to sub to everything
1600 lines in settings file π
at least i think that works
wait what plugin is this
Hello, I present Questify! A Quest enhancement/removal plugin. I've been daily driving it for a bit now and it seems to be working fine. See the README below for what all it does.
This is m...
lmao
poor murphy
we need to introduce a rule on plugin size
something like this is not mergeable
yeah a bunch of this is just styling (the humble theme)
all of the code part of this is giving bd plugin
say it aint so
it's a beautiful plugin
bloated
incorrect
yeah cause 1 setting per line is ugly and overwhelming with so many options. made custom components to group similar settings and make it pretty :)
avif / webp?
webp
well you're not supposed to look at it on github
webp my beloved
it's for the site

oh
ffmpeg doesnt even support animated webp
evil
avif is going at <1 fps
@austere talon webm or gif is all i can do
please tell me you aren't converting gif to avif
make an optimised video first, then convert it to a good format
well we can also use mp4
but we would have to change how readmes work

so the webms are fine
@austere talon we need a better way of visualizing them for fixes
are u using sadans companion
i guess
but I never use regex101
but u can easily see what it used to match
i just write it in vscode
well that's why I sometimes add comments above patches
like in my IgnoreActivities patch
index.tsx: Lines 259-262
// let { ... nowPlaying: a = !1 ...
// let { overlay: b ... } = Props
match: /#{intl::SETTINGS_GAMES_TOGGLE_OVERLAY}.+?}\(\),(?<=nowPlaying:(\i)=!1,.+?overlay:\i,[^}]+?\}=(\i).+?)/,
replace: (m, nowPlaying, props) => `${m}$self.renderToggleGameActivityButton(${props},${nowPlaying}),`
yeah but the full module and what it matches is much better lol
I guess the module text would be enough
we could make reporter dump diffs for all patches
then make a basic website to view them
we can upload as an artifact right
or maybe not reporter but the commit hook instead
artifacts suck tho
and copyright
idk where we would upload
then where would we store the dump
we'll figure it out
discord datamining already dumps every version....
vext
i mean discord stores ancient ass versions
The Vencord Chrome Extension is up to date! (v1.12.9)
we can dump the asset link of the chunk the patch applies

yep
yeah that would work
just have a database that maps patch to original asset link
then whenever a new patch is added (or old one is changed), we store it in the database
would be pretty useful ngl
then we can make a website for it
where you just paste the patch, then it looks it up in the database and gives you the original source
and we could add a button to reporter that opens the website
that would make such a nice view for everything we patch
we can see the worst patches and blame someone for bad code

Should i add that to my companion
It would be easy
TBH it kinda already has it
It's what I've been using for everything
why isn't your companion the main companion yet
Vee never reviewed it
smh github still doesn't support avif
how so?
I think I'll get a poc tonight
Is there any interest in this as an addition? Even if not with these specific names? https://github.com/Vendicated/Vencord/pull/3212
Just tidying up my branches
oh yeah that's good
but if we are adding those I think we should migrate all settings to use them
So nothing is based on var name?
yeah
I don't think it makes sense to migrate all settings to use them. That would just need add unnecessary code.
the old behavior sucks
The defaults should just be described in the JS stock for the property.
having a clear display name should have been the case since the beginning
@limber skiff I thought about it and I feel like you're right on this
there could be a point made about third party plugins
but
holding changes because of them is kinda bad
Just keep the old behaviour and add a warning
Wouldn't hurt anything
hmmmm
I disagree
name being derived from the key is convenient and works in most cases
display names are a good addition but should only be used for when the key doesn't work for whatever reason
That's what the PR currently covers, things like URL and last.fm
I have added like three quarters of the setting titles as display names at this point but I can just get rid of those again
are u doing it manually π
this is like the perfect thing for regex/copilot
you can vibecode
it feels very weird to be based on the key name
why
it produces these weird edge cases
yes that's why for edge cases you specify a proper key
I'm using copilot but on line completion so I'm still going into each file manually

I know
I made it an optional property and added a fallback to the key
I have display names added for every setting but I'll leave them uncommitted for now
Small typing fix I noticed when trying to add buttonRef on a ChatBarButton.
?remind 12pm real?
Alright @fossil inlet, in 11 hours, 48 minutes and 12 seconds: real?
Thank you for all these helpful response.
So as for the Discord server, when I joined I ticked "Vencord Contributers", but that only made me follow the "core development" and "plugin development" channels, so I had no idea the info channel even existed, that's why I was so confused about how to get access. I imagine this is just a mistake in the server's configuration.
The reason we only want devs of Vencord doing this is because it confirms that its reproducible on the latest version of ...
Content
Hello, I'm a beginner programmer and I wanted to share an add-on I wish you had. The idea behind the add-on is to detect trolls who use the tactic of logging out and back in to avoid a ban, blocking, or sabotage. The add-on is lightweight on the device, and here's a summary of the add-on:
Track roles of members before they leave: Automatically saves a record of all roles a member had right before they left the Discord server.
Quickly view past roles: When you open the profile p...
what
LGTM, looking forward to seeing it added to Vencord /j
@fossil inlet, <t:1754626308:R>: real?
fake
one of the best days of my life fr
Congrats
What happens when the bug or crash occurs?
I tried to open the video at the link below and noticed that I couldn't open it even though the plugin was installed. Please fix it. Is there a bug?
https://www.youtube.com/watch?v=alj-jOI4ZTY&t=269s
What is the expected behaviour?
The Discord embed viewer needed to play the video. The plugin was intended to do this, but it did not work.
How do you recreate this bug or crash?
- Post the video link.
- Try to play the embedded video...
Suudi Arabistan Pro Lig'i, Hollanda Eredivisie, BelΓ§ika Pro Lig'i ve Γmit Γzat, BΓΌlent Γlgen ve Evren Turhan'Δ±n yorumlarΔ±yla "TOP BΔ°ZDE", βTΓΌrkiyeβnin dijital platformuβ EXXENβde.
#exxen #exxenspor
insane
because this is impossible to fix bruh, it's region restricted
use our support channel
@fossil inlet, <t:1754432178:R>: parse raw intl notation in vencord companoin
On my Linux install, the stream quality can drop to 480p after a seemingly random amount of time (ranging from 30min to 2h). The workaround was usually changing the resolution to something else and then back. This plugin automates this process with a configurable delay. I am currently streaming for 5h+ and the stream is still as crisp as in the beginning. :D
ScreenshareEditor
Description: Makes it so you can customize your discord screenshare quality or FPS
Features/Includes:
- Resolution and FPS is able to be edited through the plugin settings
- Nothing else needed, just screenshare and it applies
- Not client sided
Nothing else really, just a simple plugin to edit your screenshare quality/fps.
Screenshot of use (from a different POV):
this is so blatantly vibe coded
You're vibe coded
vibe coding could never create a functional plugin
Introduce a new plugin that allows users to set any image up to 200kb in size as their screenshare preview.
a lot of the times i see people here making things that should just be add-ons to an already existing plugin
real
there should be big utility bundle plugins like
modules ig
although true, means a WHOOOOOLE lotta work
I guess the βbestβ solution would be people somehow fully understanding the plugins that exist then editing them in order to also have that functionality they wanted
I imagine there's a bunch of users that wouldn't want to enable a big ass plugin for like one or two effects in it though
merged main into my branch and it won't build anymore
kinda weird tho because I don't see it touching any files I changed...
cbf figuring it out rn but https://github.com/Vendicated/Vencord/pull/3416 doesn't compile for me
maybe send the error 
pnpm i
ah, cheers

any reason why main hasn't had the commits from dev pushed?
Who cares about main
dev6 is the new main now
π
Down with dev6, long live dev7
We need a new dev branch for every version bump

works on my machine
nah its fucked?
one sec let me record this
whole thing is busted
sometimes its showing the wrong profile and the view x profile button doesn't even work for me, but its different between restarts
nothing in console
timedones
i have that pr saved in my bookmarks it's too funny
i think the added patch isn't great, open to feedback
you're grabbing the ref to the dom element just to click it
why not match the onClick listener instead?
PR#1
This plugin replaces user or bot's profile popouts with the full modal
the moment timedones gets merged or closed is a happy or sad day for the world
ily
Content
whenever i try to build i always get this error:
vencord@1.12.9 build C:\Users\fusi\Documents\Vencard\Vencord
node --require=./scripts/suppressExperimentalWarnings.js scripts/build/build.mjs
dist\vencordDesktopPreload.js 2.3kb
dist
dist\vencordDesktopPreload.js.map 10.1kb
Done in 35ms
preload.js 2.4kb
dist\preload.js.map 10.2kb
Done in 56ms
X [ERROR] Could not resolve "@vencord/discord-types/enums"
src/api/Commands/types.ts:8:98:
8 β ...m...
pnpm i
Please use our discord for help while developing plugins/vencord
think i could get someone to review this PR?
You can get the index of the item you want to insert before/after a bit easier using findGroupChildrenByChildId, like how it's used in fullSearchContext
I don't think there's much else to say on it though tbf
thanks, ill try that
thats a lot cleaner, thanks. pushed
Hello,
I have been coding for quite a long time, and today I had an idea for a feature I wanted in Vencord and would have been willing to make myself, so I thought I would look into this community. I tried to look for my suggestion in your suggestions repository, but I couldn't find what I wanted. Even if I could have found it, there is no way to have any discussion on any of the suggestions because the whole repo is locked down.
I tried to join your Discord server but I wasn't ab...
@dusk blaze, <t:1754598592:R>: β¦
ok
guhhhhh
i don't remember this function being this big
WHY DO YOU NEED AN EXTENSION FOR THIS
it doesn't look too bad
do you save every module to compare them after lol
comic sans it pretty good when it's monospaced lol
yeah, vencord companion does it for me
i really need to save the raw module and it's patches in a .diff file
that way they can be easily applied or the raw module can be grepped in
vtest dev12
Now testing! 
vtest dev2
Now testing! 
Seems like everything is working fine (for now) 
MessageEventsAPI (had no effect):
ID: 287746
Match: ```
/let (\i)=\i.\i.parse((\i),.+?let (\i)=\i(\i({},\i.\i.getSendMessageOptions({.+?});(?<=)(({.+?})).then.+?)/
vtest dev2
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
you're grabbing the ref to the dom element just to click it
why not match the onClick listener instead?
We don't have the DOM event to pass to it that it expects. afaik this is the easiest way
I looked a bit and I didnt understand why our ref still doesnt work
we are passing it along with other props, it should be at least be having a ref to an element, even tho it doesnt anymore
maybe im missing something
maybe ref is in this object
and it's getting merged into ours and overwriting it
if it's getting merged our ref would be prioritized
because it comes after it
e is an element either way, so i don think it's that
just checked and e isn't an element, but it also doesnt have ref so 
well it's something that has a onClick and onMouseDown
not sure if it's just props or what
I havent looked enough
props
dont think thats true?
pretty sure that function is spread compat
the thing that comes last wins
ye but that screenshot sadan sent is newer patch
our current broken patch adds the ref later
oh
Add InviteLinkConfirmation Plugin
Adds a confirmation dialog when sending messages containing Discord invite links to prevent accidental violations of server rules.
Features
- Detects Discord invite links using customizable regex patterns
- Shows confirmation modal before sending messages with invites
- Configurable confirmation message
- Easy pattern reset to defaults
- Can be toggled on/off
Use Case
Many servers have auto-moderation that times out users for posting...
The idea is pretty good tbh. We have invites blocked on our server. It gets about as many bots as it does users every few weeks.
Would be better if it could detect the automod rules and see if it's a violation though. But those probably aren't publicly queryable huh.
Requires the MANAGE_GUILD permission.
yeah. sadge
β’ Plugin Flux Cleanup - Added explicit event handler cleanup to prevent memory leaks during plugin lifecycle
β’ Proxy Caching - Implemented WeakMap-based proxy caching in SettingsStore to eliminate duplicate proxy creation
β’ Webpack Search Limiting - Capped search history at 100 entries with automatic cleanup to prevent unbounded growth
β’ Settings Debounce - Increased cloud sync debounce from 60s to 120s to reduce memory pressure
β’ Plugin Defaults Cache - Added caching for SELECT option de...
AI ass desc
aislop garbage. literally every single change is useless or straight up breaks the feature
this code is so horror in multiple places
manual console.log, not using vencord apis, documenting self documenting code, weird type checking instead of just using typescript itself, building regex on every message sent
because itβs AI generated
well i can tell
i mean fwiw this entire plugin is kinda dumb this goes for anything that could be in your clipboard
whats next, ai detection to make sure you don't have porn in your message
discord already has that afaik
opt in for servers (enabled by force on community servers), its crap and it doesn't do anything on text
i've only ever encoutered false positives with it 

yeah but you're much more likely to accidentally copy an invite and paste it elsewhere than accidentally copy and paste porn. though niche, in certain networks of communities (such as streamer servers) you might copy an event announcement or similar on one server and share it with another server. you're not being stupid, you just didnt really think about how server A including an invite in their announcement is about to get you timed out for 24h cause server B where you're sharing it has an automod for invites. but again kinda niche to specific communities. would be better as a userplugin ig
i have never copied and pasted an invite on accident 
too niche imo
has happened multiple times to my users in vtuber networks so 
difference of community
just saying not every plugin that isnt usable by 99% of people is stupid (excluding horrible code practices (and im not trying to argue for its addition to vencord natively btw))
when i (or someone else) has time to make the plugin
titlebar is mega ugly and needs to be nuked
there was smth else i wanted to fix
#3600 
match: /innerRef:(\i)(?=,style:)/,
replace: "innerRef:$self.grabRef($1)"
actually we don't need a separate patch for this, we can do this above

it's readable
add comment
tbh i'd rather have the old because this technically changes the behavior
it doesnt matter
but it doesn't matter because discord will never be that insane
so yop
second one better
actually no i prefer comma opperator
it looks better in source than the end result
non hacky comma operator: 
[thing, sideEffect()][0]
love?

you should also merge 3558 
GUHHHH
is this correct Vendicated/Vencord#3593
@scenic brook i forget if you checked this
this was fixed in the commit removing old compat stuff
why is the height different from the width? won't this lead to possibly stretched / cut off images?
it would be better user experience to be more transparent on this. the option description should note this limitation and this should probably be an error instead
gif.writeFrame(index, resolution, resolution, {
transparent: true,
transparentIndex: 255,
delay,
palette: i === 0 ? palette : null,
});
u8array seems better suited, as that is also what you're using above
const cache = new Uint8Array(65536);
also to be less magic numbery, it'd probably be better to change this from 65536 to 2 ** 16
1 << 16 
last one best imo
why does it even need ffff + 1
actually isn't this array straight up way too big? this is your palette index cache and our palette only contains 256 colours at most, so this should just need to be 256 bytes (and also probbaly be renamed)
oh wait nvm
oh nevermind, palette is a 2d array. so the size used is actually 256 * 256. then that is the most intuitive way to write this size
I'll leave it then

