#👾-core-development
1 messages · Page 272 of 1
this isn't a fix
you didnt fix the issue, you just made it never possible to happen
Tbf that is technically a fix
It's the cleanest way to 
I'll happily take suggestions on what to do instead
find out why they appear duplicated
Because the other option thing goes through three times with different items and one of them is completely dead
It adds three menu items with the same label and different children
Which makes discord shit itself
i dont get it
WrapMap gets "other options" three times with different children each time
It proceeds to add each "other option" as label into the context menu, with the children
Discord gets confused when you hover over one of them and displays all three at once because they have the same label but only allow you to select the one that gets added first
All of these are just the settings without a category, so changelog and merch, developer education and logout
I assume it just does it three times because those specific settings are all in a different place in the entire list of settings
But all of these are essentially useless to have in the context menu so imo it's just the easiest to hide them
:~$ sh -c "$(curl -sS https://raw.githubusercontent.com/Vendicated/VencordInstaller/main/install.sh)"
Downloading Installer...
Running with sudo
✔ Install Vencord
✔ Stable - /var/lib/flatpak/app/com.discordapp.Discord/current/active/files/discord
INFO Patching /var/lib/flatpak/app/com.discordapp.Discord/current/active/files/discord...
INFO Successfully patched /var/lib/flatpak/app/com.discordapp.Discord/current/active/files/discord
✔ Success!
I freshly reinstalled Discord from Flathub befo...
please use our support channel to get help
New settings ui makes it so vencord settings cant be accessed (doesnt show up)
In case you don’t already know
oh my god wtf is this
discord has to be deliberately breaking vencord atp
they keep pushing breaking changes
dev://experiment/2025-09-user-settings-redesign-1
dev://experiment/2025-09-user-settings-redesign-2a
variant 1 and 2
virus
My PC just says nookies now what did you do 😭
"Nookies Cookies Store"
this does nothing, right?
ill look into it later if u dont
close enough welcome back discord settings modal
what the a ctual fuck is that sshit this is so horrendous no
kys discord
get rid of that experiment
building the sections of the new settings is much more annoying
discord bring back the simple array with string identifiers for sections 💔
is this still needed even
it has advantages but its not a necessity
it would just be nice
it would work a treat for my translation pr for instance because we can ship translations in a separate asar file, and then just update them separately
rather than them being baked into the mod and having to wait for a new version when someone inevitably puts a typo in
out of curiosity https://github.com/Vendicated/Vencord/blob/main/scripts/header-new.txt doesnt have the /* * * * */ any reason why?
header-new.txt:
Vencord, a Discord client mod
Copyright (c) {year} {author}
SPDX-License-Identifier: GPL-3.0-or-later
read the code and find out
was wondering because old has it lol
riniware
i dont use it anymore 😭 😭 😭
the old one has it because vee had a typo in the decoration
it ends with a */ without space
This plugin fixes an issue that prevents showing Spotify episodes in your Discord presence, also it adds the ability to listen along with Spotify episodes.
yay now i can listen to Talk Tuah with Haliey Welch with my bestie
listening to talk tuah when really you should talk tuh a woman
vtest dev3
Now testing! 
are they just gonna revert permanently
bleh yeah
Pull Request Overview
This PR refactors plugin access to eliminate circular dependencies and consolidates helper utilities.
- Centralizes plugin controls in a new API module (@api/PluginManager), replacing non-import global access (Vencord.Plugins.*).
- Moves copyWithToast from @utils/misc to @utils/discord and updates call sites.
- Initializes plugin manager before startup and updates exports/imports accordingly.
Reviewed Changes
Copilot reviewed 35 out of 35 changed files in this ...
addPatch is imported from @api/PluginManager, but that module does not export addPatch. This will cause a compile-time error. Import addPatch from @webpack/patcher (where it is defined) and consolidate imports, e.g.: import { addPatch, getBuildNumber, patches, patchTimings } from '@webpack/patcher'; then remove the import from @api/PluginManager.
The error message has a grammatical issue. Consider changing it to: 'Cannot use UserSettingsAPI without setting it as a dependency.'
if (!isPluginEnabled("UserSettingsAPI")) throw new Error("Cannot use UserSettingsAPI without setting it as a dependency.");
addPatch is used here but is not imported in this file. Add import { addPatch } from '@webpack/patcher' at the top to avoid a ReferenceError at runtime.
copilot hallucinating
vee isnt this pointless
supporthelper is required hence the api will always be enabled
xd

support helper didn't use it before
I never assumed it did in the past but it does now so having that error still there is just sort of pointless is all I was saying 
No need to fix the message if you can save a line of code 
vee vibe coding vencord its so over
??
nino has lost it
I use very little ai for vencord dev cause it's bad at it
even copilot is mid for it
btw nookies the circular dependency pc is ready now if you wanna look
You should add a rule that only copilot is allowed to write patches
All my patches are written by ai always
whenever im using ai to help me debug smthn that involves patches it always tries to rewrite it and completely ignores the minified syntax adding spacing n shit to the patches and using regular captures like \w instead of \i like bruh take a hint
I will make a vscode extension that gives copilot the discord module so it can make patches
fix this first
That's because the all prop doesn't get serialized and sent to the plugin. Fix that and PR it.
all prop?
Maybe that's a different bug? How do you reproduce that
const connectionData = findLazy(m => m.getByUrl && m.isSupported);
View Module | Test Find
Failed | OK!
Run that find in console. How many results do you get?
All right. I'll take a look at that later
this gives no modules but find succeeds
export const ProfileEffectStore = findStoreLazy("ProfileEffectStore");
another 18 modules matched but find works example if it helps:
export const emojiData = findLazy(m => m.emojis && Array.isArray(m.emojis));
and another 18/ok
export const defaultAssets = findByPropsLazy("DEFAULT_GROUP_DM_AVATARS") as DefaultAssets;
seems like 18 is the magic number
Probably a bug somewhere. You should look into it 
no clue how any of it works
also the fact theres no unicode emoji store is so annoying
Just set a breakpoint on the receive of the websocket in devtools
im sure you've got it handled chief :)
I'm either going to get around to this tonight or in a few weeks
im hard at work tryna finish up my downloadify rewrite :)
is that also as bloated as questify or is it better
questify is not bloated wtf
less lines of code than questify but my rewrite is adding a ton so they might end up equalish tbh. so much code needed to add context menu items
550 lines for usercontext menu
ill inline everything and get it down to 50 trust
insane
omg https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Forms/Customizable_select
hehehehe
we can use this for tooltips maybe https://www.youtube.com/watch?v=DNXEORSk4GU
If you’ve ever needed the positioning of an element to be connected (or anchored) to the position of another element, then you’ll be very excited about anchor positioning in CSS! It is new (as of the time of recording), but thankfully, we have a really good Polyfill, so we don’t have to worry about browser support!
🔗 Links
✅ Code fro...
rip firefox
no you cant
i tried on my personal website
there's a catch
If there are multiple anchor elements with the anchor name listed in the position-anchor property, the positioned element will be associated with the last anchor element in the source order with that anchor name.
eg:
<div id="div1" style="anchor-name: --my-anchor;">
<!-- resolves to #div2 -->
<span style="position-anchor: --my-anchor;" />
</div>
<div id="div2" style="anchor-name: --my-anchor;">
<span style="position-anchor: --my-anchor;" />
</div>
Content
yea
or even arbitary components
Request Agreement
- [x] I have read the requirements for opening an issue above
sleep with one eye open tonight
Just use contextMenus to patch whatever you want into toolbox tbh
Best vencord issue
you all got eyes?
which narrator does this? the stanley parable guy?
YOP
which narrator does this? the stanley parable guy?
The one native to your OS
feat: ability to add channels that disregard the user/roles and mention anyway
i also refactored a bit, vee loves long ternary ops
bleh
oh yeaa, i've looked at that code for a while already. I wish they wouldn't have refactored it all for the new design
is it correct that you need buildLayout property here?
we just had 4 layout properties nested
holy aids
haha yea
we should just force disable the experiment for now and wait til it's stable
I really don't like this
it's gonna be so unstable to patch that cause it's so insane
useTitle
and it's like impossible to have error/crash safety here
maybe we should just patch the output react elements and inject into that
26c9834 [WIP] new settings ui patch - Vendicated
Just copy old settings and ship as OldSettings plugin force enabled
PLEASE
no
Make our own settings modal and just patch a single button into settings
yopp
vtest dev
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
can you make it easier for userplugins to insert sections
i am begging
hate
dieeee
you should add addAfter to custom sections
Hello! I am submitting a PR to add my chatPopouts plugin. It's a simple plugin that allows users to pop out text chats (dm, thread, channel, etc) into its own window for seamless communication between multiple chat windows concurrently. This is inspired by how Microsoft Teams handle's its chat pop out feature.
There are no configurations, simply enable and it adds a button to the top bar of every text chat, and a context menu item to pop out any text chat!
Inspired by my friend who was ...
holy comments
that pr is so weird
this is almost correct but getModulePath() doesn't exist
makes me suspect AI but how does AI know the directory structure of Discord's app.asar and core.asar
His github shows a lot of AI stuff, he probably just knows to feed it more
This plugin does not comply with our plugin rules
<img width="1340" height="510" alt="image" src="https://github.com/user-attachments/assets/5142e18c-30b2-4cfd-be7f-ea968ce9e058" />
Due to the excessive volume of comments and some non-nonsensical comments and non-existent method calls I also suspect you used AI to generate large portions of this PR. Please do not contribute AI generated code.
yeah but like for that he needs the understanding that Discord has native modules etc and how to reverse engineer them
unless the AI just saw it in someone else's code ig
you love
advanced ai usage
Love
does anyone spend actual time writing comments for their code
lgtm get it pushed immediately
like you should be able to understand it without explaining it
only for acadaemia
I do because i do more obscure things
only when i know that i would spend more time looking at it next time than writing the comment
well and docs
i mean fair for obscure stuff
but like for simple stuff like that
i only comment my patches so i dont forget what they do
if you write good code you dont need many comments
imo comments add noise more than help
I have a harder time reading code that has too many comments
tell this to pirate software
comments should only be added if either the code is very complex or it does something that seems weird
like this old vencord code
did you guys add tags
if you just saw this code you would be like "wtf just import directly let me fix this code"
tags is indeed real
but thats not how it's supposed to be used
the name is kinda misleading
it should be named keywords or aliases
the main use case is when you rename a plugin, you should add the old name as "tag"
it just serves as an alias for search
im tempted to see if i can make an ai actually learn how to understand vencord code
somehow only has 1 conflict
that pr also renames old tags -> keywords
somehow
only 90 changed lines
cause it's WIP
you will finish
insane
millions will use this
const userPlugins = !IS_STANDALONE && Object.values(PluginMeta).some(p => p.userPlugin);
and remove below
FaFa Runner
horror
okay so you will merge into vesktop main branch
ive pushed the veerus
fastest pr to ever get merged in vencord history
quite the necro here lol.. but do you remember if the storing pronouns in the DataStore ever went anywhere?
nop
Adds a context menu option to steal someone's profile picture when right-clicking on them, worked on this with a friend
This is way too niche/useless.
surely saying it would be better as a userplugin would have been a better way to word it 😭
i think uhh i like this uhh this should be added uhhh yeah
taxi bring me to asar :)
Blame the intern who fucked it up
Honestly shocking to see a pr of mine get merged
is it possible to make always animate not require hovering for the dms list?
has anyone considered making a js snippet tab or something? we have themes and plugins and textreplace but not js
bad idea
I think it'd make using js snippets easier and encourage more people to try it, I feel like it is the way it is rn to encourage people to make plugins instead of js snippets but idk most of the js snippets rn do a single thing without any rules in place
I guess most of the reason behind the suggestion is the fact it's annoying to fetch js snippets every time you wanna use one
for example what if you wanna run this one with the click of a button?
#📜-js-snippets message
possibly even let people run scripts right after startup automatically
why is it a bad idea?
because people will get themselves scammed, hacked or brick their discord
oh didn't consider that
though you could say stuff like that already happens, you could lock the feature behind a plugin enable+ warning
anyone can get a non technical user to ignore such a warning
the most i’d see it would be behind IS_DEV
but then you can just make a plugin
8eb252a fix: force disable new Discord settings ui - Vendicated
db5e507 fix NoBlockedMessages - Vendicated
e9fd7db GameActivityToggle: fix panel overflow - Vendicated
ebe2b27 BetterSettings: remove duplicate "Other options... - EepyElvyra
9958901 Merge branch 'dev' into feat/translation-v3 - lewisakura
tfw wysi in current year
what are those words
That feeling when wysi (when you see it) in the current year
727 is a meme often circulated within the rhythm game osu!'s community.
The meme originated from a 727pp (performance points) play set by Cookiezi on the map "Blue Zenith FOUR DIMENSIONS" with Hidden + HardRock, and was set on the 14th of April, 2017.
Coincidentally, the player RyuK also set a 727pp play with a Hidden + DoubleTime SS on the map "Yubi Bouenkyou ~Anime Ban~ ~A r M i N's Adventure" which was set only a few months after the original 727pp play.
On the 22nd of December, 2020, the player Aireu also set a 727pp play on "Guess Who Is Back (TV Size) Extreme".
From this came the familliar GIF of a player pointing at his screen and screaming "WHEN YOU SEE IT".
After this play was set, the popularity of the 727pp meme increased tenfold.
From this
<:i:1430645302771187783> 0 <:i:1430645300703264828> 0
Author: raeBanuL
Published: <t:1625543325:d>
WYSI WYSI
translation PR actually gets updated???? wtf?????
need some input, how should things like this be translated?
official stance: give up and cry
we'll cross the bridge when we get there, we might just change how this part of the UI looks anyway
7e7d104 chore: switch to variable - lewisakura
they will be translatable in v4
lol
Having to learn how to use devtools is a good enough filter to prevent people from running random code
This should fix the "Error 15" in yotube embeds related to youtube identity verification. This also adds detection and workaround for the Youtube "you look like a bot" blocks and attempts to reload the embed in that case.
hmm you don't nessesarily have to know how to use devtools to get your stuff stolen, I know there's scams that ask people to paste something in the console
tho- the snippets thing in your screenshot, what does that do?
it just saves js snippets locally so u can run them later
all chromium browsers have this
also you can run them from the command bar which is nice
oh, thats sick
i should use that more often
devtools also has a vscode preset if you prefer that over their defaults
Thank you for this. I was loosing my mind. :)
also this is wrong
bind = SUPERSHIFT, A, global, :toggle_mute
bind = SUPERSHIFT, D, global, :toggle_deafen
its
bind = SUPERSHIFT, A, global, discord:toggle_mute
bind = SUPERSHIFT, D, global, discord:toggle_deafen
nice 0 lines changed pr
im not hip with the ai to know it was that..
it was actually the commit author 😭
ai so good that it thought the project was perfect already so nothing was changed
is there a way to just globally block ai agents from submitting pr's?
that would be nice
could auto close any pr with a commit including a known agent bot
sadly this won't stop vibe coders
nothing really can
theres no true way to detect ai written code
at best you can look at commit authors or that Assisted-by thing
the only thing ive ever used ai in coding for was to ask it to find the likely source of a bug I couldnt figure out just to see if it could find somewhere new for me to keep looking on my own. other than as a more friendly genericized static analyzer i dont want ai in code at all.
i use it as a teacher/wall to bounce ideas off of
and thats okay
like to learn typescript i used ai to quiz myself on things if i were right on the structure of the language or not
yeah thats not objectionable, though id worry about it being wrong/hallucinating
although true it's been rather nice to me for now
it's like a rubber ducky to talk to
i wouldn't mind a rubber ducky that has chatgpt ai voice when i tell it things but it wouldn't give me info
it'd be like "yes that can be good" and my brain would just work off of that
makes me program better/faster
@turbid hatch we might be able to distribute the safari extension with notarization instead of the AppStore but doing updates would need to be done manually by us
I did some research the other day and it seems they now allow external distribution for those apps now
https://developer.apple.com/documentation/safariservices/distributing-your-safari-web-extension#Distribute-your-Developer-ID-signed-and-notarized-extension-outside-the-Mac-App-Store wasn’t possible a few months ago but now it seems like it is
i need to get a new account though
sadly if this ever does happen it will not be able to change the csp, similar to the firefox user script where you would lose out on themes and such
but it requires me to establish a company so idk
what happened to your old one?
nothing
i just want to use my trade name
i dont use my real name anymore for anything
eeeerrrr vesktop has your name all over it-
im aware
i dont really like that lol
it just sucks that apple needs you to get like
that weird company id thing
I do have access to a developer account that has no name associated to it
cuz i cant get one of those lol
I’m not entirely sure how electron updater would deal with vesktops identifier and signing identity being changed if there were a switch to another developer account
not me reading objc just so I can see if theres any issues
added plugin option to set your custom search engine as the default one instead of having google or a drop down menu for searching, with related menu logic.
It was moved to the titlebar, so if you deleted that, that's why
i havent and even with no css at all it isnt there
wtf
nothing there for me
okay so it works fine on discord stable
but its broken on.. canary and vesktop canary?

how even
canary build is fine according to reporter
its gone for mee too
ill take a look tonight™
i think it might be related to the setting experiment
lost toolbox at the same time i got it
who made the new and old vencord logos?
How long does it usually take to get a PR looked at? I've never contributed to this project before and wasn't sure what the maintainers' schedules are like so I thought Id ask (I want to be clear: this is not a passive aggressive attempt at getting my existing PR looked into ahead of schedule).
tbh from two seconds to two decades
occasionally vee will have an ADHD fueled merge session where he’ll review many prs
just open and forget about it 
cool, ty for answer :3 👍
are you referring to the new vesktop icon or the current server/gh icon
vencord's logos so gh/server
seems like nothing will happen as the updater (squirrel.mac) only checks if the app is accepted by gatekeeper, and we have no reason to change anything other than the signature so we (should) be fine (in theory)
This is very useful, thanks! As a suggestion I would love to see an option so that it does the same thing with Listening status instead of Playing
Made a small modification to the PR so it won't generate a plugin error message in the event the plugin is disabled and we run into a null value we cant handle.
I'm on Omarchy. If i close discord with the keybind SUPER + W and then reopen it from the SUPER + SPACE program launcher, the mute and deafen keybinds stop working untill i fully CTRL + K close discord and reopen it.
btw
this seems like vibe coding and a mix of other useless changes 😭 they have a history of that
Attempted ReviewDB tranquilizer; now back to vibeport something from BD instead!
Dog follow your cursor
Attempted ReviewDB tranquilizer; now back to vibeport something from BD instead!
?
does this even compile
Content
One of the most common use cases for a Spotify controller is adding a song to your "liked" tracks
By default, these are the controls available on the mini player:
When it gets smaller, it loses the share, the shuffle, the repeat, the volume and the previous track buttons disappear (in order of priority)
Adding a volume control and the other buttons feels like it would be a nice stretch goal, there is plenty of room:
But as a minimum, I'd appreciate the "Liked" button b...
Volume Controls already exist, right click the album cover to view them! For sharing, just right click song/album/artist name
Liking songs is unfortunately not possible with the permissions granted to Discord's spotify token
Is this a temporary solution until the new menu is patched?
Is this a temporary solution until the new menu is patched?
yes. it was too unstable so for now we just disable it, itll get fixed in the future
i meeeeeeean you could reauth the spotify token with extra permissions
i think i still have the queue/add to favorite songs branch
I found a niche CloneEmojis bug
idk how it never got noticed before
if you have a server with 0 emojis, Discord crashes when you try to clone
love
what?
what are u on about
guh?
so this should be a union with undefined
no
why not
because that's just incorrect type
it cannot contain any undefined
it just isn't contained in the object
this is just a problem with typescript records
arguably always having to null check would be more annoying
this is really just discord's fault for having an insane api
well
we should just use the right methods

@fossil inlet satam did u find anything about the toolbox yet
also checks sticker limit now
Whar
Oh
toolbox being gon
I'll look now

using an object like an array is so cursed
skill issue o algo
probably some experiment
yea
whats the name of the experiment for new settings
dev://experiment/2025-09-user-settings-redesign-2a
dev://experiment/2025-09-user-settings-redesign-1
i think its these
arenty arrays just funny objects
Aren't we all?
@odd heath
patch isnt that good
theres probably a better one
it just needs to be in that array, and not in a conditional
vtest dev3
Now testing! 
NoServerEmojis (had no effect):
ID: 339085
Match: ```
/.get((\i)).nameMatchesChain(\i).reduce(((\i),(\i))=>{/
**__NoTrack (had no effect):__**
ID: `771784`
Match: ```
/this\._intervalId=/
NoTrack (had no effect):
ID: 771784
Match: ```
/(?:increment|distribution)(\i(?:,\i)?){/g
BetterFolders (took 7.8ms):
ID: 654142
Match: ```
/(?<=folderNode:(\i),expanded:)\i(?=,)/
dw about that
nop
they added METRICS__CAPTURE though
i think that just fucked up the find
just make the find be METRICS_V2 and it should work
cba to make a pr for that one line
gonna check noserveremojis though
@austere talon this is literally hte only difference (canary/stable)
and the patches work fine if you make it v2
actually i will if i fix noserveremojis
8eb252a fix: force disable new Discord settings ui - Vendicated
db5e507 fix NoBlockedMessages - Vendicated
e9fd7db GameActivityToggle: fix panel overflow - Vendicated
ebe2b27 BetterSettings: remove duplicate "Other options... - EepyElvyra
556a277 ExpressionCloner: fix crash when in a server wi... - Vendicated
vtest dev2
Now testing! 
ShowHiddenChannels (took 5.1ms):
ID: 504185
Match: ```
/"124px".+?disableGradients:(?<=let \i,{channel:(\i).+?)/
MutualGroupDMs (took 10.3ms):
ID: 52639
Match: ```
/\i||\i(?=?(0,\i.jsxs?)(\i.\i.Overlay,)/
**__ShowHiddenChannels (took 51.5ms):__**
ID: `823748`
Match: ```
/"renderMobileToolbar",\(\)=>{.+?case \i\.\i\.GUILD_DIRECTORY:(?<=let{channel:(\i).+?)/
It was originally .metrics_v2, I don't know why I would've changed unless told otherwise but it was forever ago so idrk
Outline
Summary
This PR adds the UnlimitedStickers plugin which lets Nitro users send local images as native Discord stickers.
Features
- Local Sticker Library: Send any supported local image as a Discord sticker.
- Sticker Categories: Uses the sub-folders in your designated sticker directory as categories.
- Favorites & Recents:
- Mark stickers as Favorites.
- Keeps track of your Recently Used stickers.
- Search: Find a sticke...
not sure about this one
1200 lines added 
smells like AI
at least the readme and the fact that they added i18n
all the ai prs always add i18n for some reason
I think they're trained on devilbro plugins or something
I think this would be more suited as a user-plugin
the native is a security hazard
this is AI
readme, i18n, _ Unused IPC event from Vencord Native., and the malware native
oh and the edited copyright notice noone has ever done that
This pull request introduces a new plugin that allows users to close the current direct message (DM) in Discord by pressing Ctrl + W. It also adds a new developer to the constants file. The main focus is on improving user experience by providing a keyboard shortcut for closing DMs.
New Plugin: Close DMs with Ctrl+W
- Added a new plugin in
src/plugins/closeDms/index.tsthat listens for the Ctrl + W keyboard shortcut and closes the currently selected DM channel using internal Discor...
fire
Sorry but I'll have to reject this. Allowing file access via your native script is very bad for security. Your PR description, random addition of i18n and excessive jsdoc also make me think you used AI for this
Added a SilenceCalls plugin that lets you mute an incoming call using a button in the chat bar.
dude what
😭 what have u done here
genius 🤑 definitely related to silencing a call!!
this doesn't actually do what it says
also doesn't pass tests
Good idea! Just some feedback to make it more user friendly:
- this should be changed to better reflect that this will make the engine the only option and replace the menu
- it would be nicer if this were a dropdown where the user can choose between - Off
- One of the default engines
- Their custom engine
@gritty iris #👾-core-development message discord added another thing that messaes up the find thats all
I know lol
I saw the whole post about it
no no im saying I made a pr for it awhile back and it was basically that lmfao
I was joking around
Sorry but I'll have to reject this. Allowing file access via your native script is very bad for security. Your PR description, random addition of i18n and excessive jsdoc also make me think you used AI for this
I see, I'll try to think about something else then.
I added jsdoc and wrote my PR the way it is because that's what I did at work, but this is my first time sending PRs to open source so I had no idea, sorry (also I usually use Discord in Japanese and it bothered me that every text ...
LOL i forgot about this
UIKIT????

wtf was this
dont frcoal me
incredibly funny thing
vencord's updater has the flaw that it uses short commit hash instead of long commit hash
somehow by force pushing, nookies created two commits with short hash 92ff9c1 (it was the same commit, github just got confused for some reason)
this led to viewing history for 92ff9c1 resulting in a 404
and broke the updater
to fix it I created a branch with that name
so now github would interpret it as that branch instead and it didn't 404 anymore
look how it's 404 again https://github.com/Vendicated/Vencord/commit/92ff9c1
even though that commit exists https://github.com/Vendicated/Vencord/commit/92ff9c1ca4dfb787178cdfdd1d4178ac113b9188
thats so weird
yes
I already did this if you want me to pr it I had the issue on several different occasions randomly not even from force pushing 😭
sure
I used a func for using the hash at a smaller scale for displaying want me to keep that?
I made the default length 7
not sure what u mean
export function shortGitHash(length = 7) {
return gitHash.slice(0, length);
}
so we dont display the whole hash and I had multiple places to put it
so I just made it a func
Where does it not do what it says, and which tests does it fail?
Sorry for force-push spam. I didn't realize that the github ui merge would be non fast forward and I had to undo what github did to the repo lol. sigh >.>
@austere talon idea
chrome extension panel where it shows current version support server and a button to clear all themes or something
desktop users get a Devtools panel
Bad Idea
^
howw
at least something saying You can configure Vencord in Disocrd Settings
PR
this might be a bad idea tho you have to load a separate extension just for a devtools pane 😭
Electron insnae
not electrons fault
thats just chromium
also devtools pane is insane
dont do that
we will add vesktop fixer to installer
should I slice this one as well?
can you just add gitHashShort to vencordUserAgent.ts
no like I said put gitHashShort in shared and use that instead of slicing
also erm we need to test this
rev-parse --short isn't always 7 characters, its 7 or the minimum amount of characters required to disambiguate
I can tell you it atleast worked on equicord 
I did a terrible job of it tho lol
rev-parse already tries to create the minimum unique hash ```
(dev) rini vencord % git rev-parse --short=4 HEAD~1
9918
(dev) rini vencord % git rev-parse --short=4 HEAD~2
f4cb
(dev) rini vencord % git rev-parse --short=4 HEAD~3
b1edb
(dev) rini vencord % git rev-parse --short=4 HEAD~4
647c
look at how the 3rd is 5 chars
the updater has broken because of force pushes and such multiple times for me and apperantly nuckyz broke it once because of this issue so idrk
are u force pushing to main
nope
I've only done that once like a year or 2 ago tmk
I pushed to main twice back to back and that broke it tho
they both had the same --short hash 
yeah a collision never happened naturally
it only happened when nookies force pushed
github exploded
donno then 
i wonder if it's like if you push the same commit to multiple different bases
and github then gets confused which base you want or whatever
the full hash would probably be the same then though
yeah it does work with long hash...
how does it even handle this
let's say I have a file like
a
b
c
and a commit abc that changes c to d
then I push this same commit abc to the main branch and a second branch that also has b changed to z
will the diff display b or z
updater does work?
nah link
part of a commit is what its parent commit is so if you bring it over to another branch you're actually creating a new hash
unless you force-push
in that case you literally just overwrite the git history
and then it becomes the same as the other branch
Why does any tooling even care about short hash? That's only meant for user display
This pull request introduces a new plugin called CloseDMsWithCtrlW that allows users to quickly close the current DM or leave a group DM in Discord by pressing Ctrl + W. The plugin includes a confirmation dialog for leaving group DMs and adds a new developer to the constants list.
New plugin functionality:
- Added the
CloseDMsWithCtrlWplugin insrc/plugins/closeDms/index.ts, which closes the current DM or prompts for confirmation before leaving a group DM when Ctrl + W is pressed...
and adds a new developer to the constants list
Devs.Copilot when
Added IamSwan to the Devs object in src/utils/constants.ts to recognize them as an author of the new plugin.
3rd person lmfao
lmao
each new person that tries to vibecode without any sense thinks they are slick enough to 1 trick a pr to something models have been historically shitty at
vtest dev3
Now testing! 
NoServerEmojis (had no effect):
ID: 339085
Match: ```
/.get((\i)).nameMatchesChain(\i).reduce(((\i),(\i))=>{/
**__NoTrack (had no effect):__**
ID: `771784`
Match: ```
/this\._intervalId=/
NoTrack (had no effect):
ID: 771784
Match: ```
/(?:increment|distribution)(\i(?:,\i)?){/g
WebContextMenus (took 9.1ms):
ID: 29264
Match: ```
/(?<=#{intl::SAVE_IMAGE_MENU_ITEM}),)action:/
NoServerEmojis (had no effect):
ID: 339085
Match: ```
/.get((\i)).nameMatchesChain(\i).reduce(((\i),(\i))=>{/
**__NoTrack (had no effect):__**
ID: `771784`
Match: ```
/this\._intervalId=/
NoTrack (had no effect):
ID: 771784
Match: ```
/(?:increment|distribution)(\i(?:,\i)?){/g
ImplicitRelationships (took 5.7ms):
ID: 974042
Match: ```
/(\i.\i).fetchRelationships()/
THEY FINALLY REPUSHED INTL UPDATE
so what did they do to no track
oh lol
Tidal has changed their link format recently and it broke the open in app plugin this PR simply update the regex to the new format.
i'm not sure what you're trying to do at the end here? you need to capture the full uuid, you're only capturing the first couple of digits and discarding everything else, i'm not sure why this was changed
also this should probably just have the browse/ bit be an optional so old links still work
Summary
This patch updates the TextArea type definition to correctly reflect its behavior as a controlled React component.
The previous version assumed a raw HTMLTextAreaElement interface with native onChange(event) handling,
which was inconsistent with other input components such as TextInput and Select.
Technical details
- Replaced the old definition with a refined interface:
- Added
value?: stringanddefaultValue?: stringfor controlled and uncontrolled usage...
- Added
Damn instant nuke
i saw it pop up whilst i was scrolling and i was like
nope
screw that
v doesnt need to waste their time reviewing that
You should change your name back to PR killer
-# /joke
done
Summary
This patch updates the TextArea type definition to correctly reflect its behavior as a controlled React component.
The previous version assumed a raw HTMLTextAreaElement interface with native onChange(event) handling,
which was inconsistent with other input components such as TextInput and Select.
Technical details
- Replaced the old definition with a refined interface:
- Added
value?: stringanddefaultValue?: stringfor controlled and uncontrolled usage...
- Added
dont reopen the exact same PR when i just closed it, it was closed because it's just AI generated and literally does not solve the original fixme
fucking hell
Watch him do it a 3rd
@austere talon petition to move vencord to the org permanently just so i can block morons

Nah just give you their login
-# /j, obviously
@austere talon ven please like just look at pr 3492 cmahn pls
doing insane things with react 
Content
after the new discord ui update for the settings menu, the vencord settings are all gone
screenshots for ref.
Request Agreement
- [x] I have read the requirements for opening an issue above
Love it when people don't read
vtest dev3
Now testing! 
NoServerEmojis (had no effect):
ID: 339085
Match: ```
/.get((\i)).nameMatchesChain(\i).reduce(((\i),(\i))=>{/
**__NoTrack (had no effect):__**
ID: `771784`
Match: ```
/this\._intervalId=/
NoTrack (had no effect):
ID: 771784
Match: ```
/(?:increment|distribution)(\i(?:,\i)?){/g
Decor (had no effect):
ID: 125988
Match: ```
/(?<=TryItOut:\i,guildId:\i}),)(?<=user:(\i).+?)/
**__NoServerEmojis (had no effect):__**
ID: `339085`
Match: ```
/\.get\((\i)\)\.nameMatchesChain\(\i\)\.reduce\(\((\i),(\i)\)=>\{/
NoTrack (had no effect):
ID: 771784
Match: ```
/this._intervalId=/
**__NoTrack (had no effect):__**
ID: `771784`
Match: ```
/(?:increment|distribution)\(\i(?:,\i)?\){/g
Oh woops completely forgot that Tidal use different id depending on what type of content. Sorry about that!
or port venbot to github
then you can vban @username and it blocks
that works
funny solution for a problem with an easy solution
that way everyone is happy ykyk
vee gets to keep showing off to employers and we can vban
vee dont even have a linkedin..
5aaf477 ci: auto rebase new PRs to dev if based on main - lewisakura
if it's set back to main it'll leave the PR alone, this is specifically for new PRs so we don't accidentally merge stuff to main by accident
"we" 
stop
Workflow does not contain permissions
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {{}}
this is cyberbullying
oops
WOW
okay github advanced security
i will fix it
dont worry
dont use rebase
kk
all fixed
er wait
let me double check something
oh yeah its fine good
i thought it might've needed contents permissions but it doesnt
we love this
guildId:\i\}\)\), is also fine but wasnt sure if that was good and neither are stable comp I can use getMember for that if you want tho
For anyone still wondering, try checking if you have 'Activity Privacy' -> 'Share my activity' checkbox set in the settings.
The previous PR for the Tidal regex (https://github.com/Vendicated/Vencord/pull/3747) does not support the listen subdomain and would also break on the universal link this PR fixes that too so hopefully it supports all the new format and links now.
they removed isStaff from isDecoupledGameClippingEnabled(){ which experiments used so I removed it as well
@gritty iris is decoupled game clipping still a thing, or is it fully removed
it exists
ill ss it rq
nah, was just curious

for some reason i thought you said the whole function was removed
patch silently broke
it renders inside a hasBugReporter conditional
i have open pr
@dusk blaze whats the new ui?
am i stupid
nino needs to be put down
it's not new ui / breaking things it's new / ui-breaking / things
it’s being rolled out
whats the experiment
Now testing! 
Decor (had no effect):
ID: 125988
Match: ```
/(?<=TryItOut:\i,guildId:\i}),)(?<=user:(\i).+?)/
**__NoTrack (had no effect):__**
ID: `771784`
Match: ```
/this\._intervalId=/
NoTrack (had no effect):
ID: 771784
Match: ```
/(?:increment|distribution)(\i(?:,\i)?){/g
Decor (had no effect):
ID: 125988
Match: ```
/(?<=TryItOut:\i,guildId:\i}),)(?<=user:(\i).+?)/
**__Experiments (had no effect):__**
ID: `435064`
Match: ```
/\i\.isStaff\(\)/
NoTrack (had no effect):
ID: 771784
Match: ```
/this._intervalId=/
**__NoTrack (had no effect):__**
ID: `771784`
Match: ```
/(?:increment|distribution)\(\i(?:,\i)?\){/g
IgnoreActivities (took 5.7ms):
ID: 243852
Match: ```
/getVisibleRunningGames().+?;(?=for)(?<=(\i)=\i.\i.getVisibleRunningGames.+?)/
Performance Improvements
- Optimized SettingsStore.notifyListeners to reduce iterations and cache listener references
- Optimized useSettings hook to prevent unnecessary re-subscriptions using useMemo
- Added React.memo to PluginCard and ExcludedPluginsList components to prevent unnecessary re-renders
- Cached plugin lookups in startAllPlugins and subscribeAllPluginsFluxEvents functions
New Plugin: MessageSnippets
A plugin for saving frequently used phrases or blocks of text and inse...
It's nice that the ai slop makes it so obvious from the descriptions
aislop, also
I noticed this after I published my PR and immediately started editing it. And now I've published it and you left me a comment at the same time. Thank you, I'll keep that in mind.
What happens when the bug or crash occurs?
AutoDNDWhilePlaying switches my status to Do Not Disturb when a game starts even if my starting status is Invisible/Offline. The plugin README says it updates your online status (online, idle, dnd) and restores the prior status when the game closes. Invisible is not an online status and should not be changed.
What is the expected behaviour?
- If starting status is Invisible/Offline: do not change the status at all.
- If starting status is ...
there's already a pr to fix that #3713
its apperantly broken in chat and the bottom user panel
unless it just didnt do 1 or the other havent used in a long time
I don’t think it’s ever actually worked in the bottom user panel
At least, as far as I can remember
it did
There was a patch that added it there
This one
lol no way this is back #🏥-vencord-support-🏥 message
surely this guy is just using user plugins
When you say this is back do you mean this was a discord bug or vencord bug
vencord bug ages ago
cause of messagelinkembeds iirc
whenever a message event is emitted, discord updates users based on the author data
when the plugin encountered an interaction it had only limited author information (normal) and discord updated based on that and removed things like email
that then causes the unclaimed account warning, but it's only client side
Read the full commit message https://github.com/Vendicated/Vencord/commit/6300198a5463ab38da81906bda634addf4c8a369
whenever you emit MESSAGE_UPDATE with bad data (easy cause it expects api messages not "deserialised" / model messages)
but nothing in vencord emits that event anymore
I've been very disappointed with the state of Discord rich presence options for Jellyfin lately, so I'm working on a plugin that allows Vencord to connect to any Jellyfin server and display rich presence for a specified user's sessions on it.
All core features are implemented, all that's left to do is implement the rest of the activity builders and image grabbers that Jellyfin supports and maybe do a little refactoring. VencordNative.csp.requestAddOverride is used to grab consent for the...
I don't understand the point of making this a plugin. Why not just fork the Jellyfin discord rich presence instead?
A very simple plug-in which modifies the allowed_mentions field of sent messages based on which mentions in the message had a set prefix.
Since @everyone and @here can already be escaped with a \, their behaviour is not modified.
Why bother making last.fm integration a plugin? Having another program constantly running on your computer just to act as a server for something else is super clunky. If Spotify rich presence happens from within Discord, I'd probably want my media server rich presence happen within Discord too.
That being said, if you don't think this is suitable for Vencord, do let me know so I can close this and rework it into a UserPlugin.
I think that plugin is just very old
Lastfm is very universal, you can have any player scrobble to it and immediately get rich presence working. Jellyfin on the other hand is one specific app. Also, all jellyfin clients are open source, it makes way more sense to just integrate rich presence into the client.
It seems they are open to this idea https://github.com/jellyfin/jellyfin-media-player/issues/45
Your time would imo be much better spent working on this feature for the client directly, that way everyone can profit fro...
I use Jellyfin on my TV and phone way more than I ever do on my desktop, and Discord RPC/jellyfin-media-player is not available on those clients. This plugin acts similarly to Discord's Spotify integration, where any device playing Spotify will show up in Discord.
I do recognize how niche and personalized of a feature this is though, and I'm going to close this PR and make it a UserPlugin instead. Thank you for your response.
mantika is a paid vencordtoolbox shill
😭
the settings ui for these doesn't really make any sense. they should be grouped properly with the corresponding field (state & state url)
it is worth noting that since only bots can normally do this, there is a possibility of this causing detection issues
Can't you just do silent mentions with <@&1073655264923881602> and https://vencord.dev/plugins/SilentMessageToggle
hmm not a fan of this grouping still... I'll experiment with it a bit
<img width="785" height="367" alt="image" src="https://github.com/user-attachments/assets/6075e813-dc1f-42d7-abe5-9f44a7a4ec5e" />
<img width="800" height="472" alt="image" src="https://github.com/user-attachments/assets/71075201-a043-4451-88d0-e2fdc204c08d" />
Thanks! In the future, please send pull requests from feature branches instead of the main branch
https://jmeridth.com/posts/do-not-issue-pull-requests-from-your-master-branch/
b6d7276 CustomRPC: add detail/state and image URL field... - hich4t
add react components to toolbox @austere talon
This will. Take 4 years for merge
@copilot please block @mantikafasi from creating pull requests
vtest dev3
Now testing! 
rspack cooking
not a fan of this patch, I'll fix it myself
@copilot please close this PR
vtest dev
Now testing! 
You can with context menus api but the toolbox api only accepts a string and an action
I think
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
duh
I need to rename gh
Again
My account
who ping
…3737)
Co-authored-by: Vendicated
0f25873 ReplaceGoogleSearch: add option to replace engi... - norowachi
cf8db5d Merge remote-tracking branch 'origin/main' into... - Vendicated
b6d7276 CustomRPC: add detail/state and image URL field... - hich4t
3992f97 fix missing Toolbox - Vendicated
44a75e4 fix Decor & NoTrack (#3752) - thororen1234
@warm quiver isn’t importing a font just for a popup kinda silly ykyk
Inter cute but we can probably stick to system ui
it looks good on Mac anyway noone cares about other platforms
you have lost it
paige needs to be murdered
oh
icic ykyk
might wake up and do impl
?choose wake_up sleep
sleep
what if i imported React in popup
Nitro exclusive plugin that lets you upload images and send them as stickers by temporarily uploading them in a server when sending
least insane plugin
@fossil inlet satan
this plugin is a security hazard, you should never be able to read an arbitrary directory from renderer
also the implementation is just insane 😭
this plugin is a security hazard, you should never be able to read an arbitrary directory from renderer
also the implementation is just insane 😭
There is no file access from the renderer and it's not reading anything from any arbitrary directories. Folders are uploaded, not read from the disk
this should be ready, @paigely i played with the style a bit you might want to take a look
+1
Ironically I made my own patch for this exact issue and was about open a PR before I saw this here.
{ label: "Nickname only (falls back to username if no nickname specified)", value: "nick" },
I would like to add this note here however that it falls back to the username if there is no nickname assigned.
Codeburg jumpscare
yes kinda
isn't inter pretty big
Also doesn't even fit discord's design
if anything it should be gg sans (but don't)
didn't he already submit this before
why did you open a duplicate pull request? https://github.com/Vendicated/Vencord/pull/3742
the entire popout doesn’t fit discord design it’s gruvbox
paige gruvboxified it
why did you open a duplicate pull request? https://github.com/Vendicated/Vencord/pull/3742
I fixed the issues you mentioned on the last PR, and the other was kinda getting filled with so much commits so I thought it'd be better to have a cleaner one.
any idea what experiment caused this patch to be made?
they broke it on canary and I dont have the experiment to test my fix :(
the patches do apply the same at least
I'll fix it
alrighty
module id didnt change or anything and the highlighted part .getExperimentBucketName is gone
887580
I couldnt find anything good for stable compatibility so that was annoying
lemme pull it up rq
{
find: ".experimentOverride,children",
replacement: [
{
match: /\i\.isStaff\(\)/,
replace: "true"
},
// Fix some tricky experiments name causing a client crash
{
match: /if\(null==(\i)\|\|null==\i(?=\)return null;)/,
replace: "$&||({})[$1]!=null"
}
]
},
was my current fix
the find was for stable compat
ahh
they moved the dev://experiment/ out
its in 922699 now
honestly my first find was .EXPERIMENT_TREATMENT&& wasnt sure if I should add null onto the end but it wasnt stable compat so
if you need to pr what I have I can btw
plugin based off of FakeProfileThemes that uses more 3y3 encoding to hide the information in your bio featuring a full editor with a preview to make your life easier
works basically the same (pick stuff to your liking, copy 3y3 text, paste into bio and you're good to go)
https://github.com/user-attachments/assets/087ac71e-d181-4dfe-9ef8-d3c4ce6a65c2
look mom im on tv
name styles are so useless 😭
some ppl like them tho.....
now imagine people with both this and a fake profile theme, goodbye about me section
your precious bio space is really not worth it for such a dumb feature
thank you for your contribution ❤️ but I'll reject this
so sad..
sorry 
Don't want to waste bio space? Put in nick instead
This is stable compatible but the find is kinda bad imo wanted your opinion
Mostly there for nuckyz and another find option I found was .EXPERIMENT_TREATMENT&& which could also have null at the end so .EXPERIMENT_TREATMENT&&null but I figured without null was probably better not sure about that either
this should be ready, @paigely i played with the style a bit you might want to take a look
looks great!!
what hack
erm what the figma
tbh the popout can be gruvbox, it’s not like it’s inside discord UI. it’s still pretty isolated
😭
Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.
Original prompt
Please review the code base and find and list potential bug or vulnerabilities. Avoid minor irrelevant things like typos
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tip...







