fa46c4c settings sync: disallow possibly insecure settings - Vendicated
#๐พ-core-development
1 messages ยท Page 275 of 1
vtest
Now testing! 
No issues found
Seems like everything is working fine (for now) 
No issues found
Seems like everything is working fine (for now) 
no
looks like BetterSettings is broken again
also Vencord doesn't even show in the context menu (without the plugin)
Does it work before the settings fix pr was merged
it works with old settings
probably need to do a similar patch
oh duh
this is outdated
btw before it used to actually expand on the whole screen, but now it seems like it's capped by the height of the parent, is there a way to fix it at the same time ? i notice it in your picture too, you have a scrollbar where it could just be shown
i think it's related
the code they use rn is so atrocious
it's a mix of old and new settings
i could fix it but it will just break again once they remove old settings
oh yeah ive noticed this with my plugin's context menus too. really annoying when a parent has 1 or 2 items and like 20 child items
eh i will do a dirty fix rn
fixed
idk about the size tho
i think discord just doesnt allow context menus to grow anymore
any idea how and if SettingsRouter.open works with the new ui??
findByProps("openUserSettings").openUserSettings("vencord_plugins_panel")
ty
i really like this idea tbh
i think it looks better than the generic cog
well come up with a good icon then
past me had an epic find and replace fail lmaoo
i was so confused when i saw these in discord's array while debugging ๐ญ
about the devtools lag: https://issues.chromium.org/issues/457696384
I added a comment
?remind 5am do on userplugininstaller
Alright @dusk blaze, in 9 hours, 17 minutes and 45 seconds: do on userplugininstaller
Pull request overview
This PR refactors Vencord's CSS management system to unify all styles into a single hierarchical root node and updates the preload script to support Electron process sandboxing for future compatibility.
- Centralizes all Vencord styles under a
vencord-rootnode with three child nodes for core, managed, and user styles to maintain consistent specificity ordering - Migrates CSS loading from the preload script to IPC handlers in the main process to support sandboxed ...
The style property should be accessed via cssText or a specific style property. To set display: none, use vencordRootNode.style.display = "none" instead of assigning a string to the style object.
vencordRootNode.style.display = "none";
[Vendicated/Vencord] New tag created: v1.13.7
Content
Having a toggle button for ShowHiddenChannels would get rid of the pesky task of having to toggle & restart. With so many channels visible, it can be hard to navigate a server.
Request Agreement
- [x] I have read the requirements for opening an issue above
- read the issue requirements (you cannot make issues, especially not feature requests)
- disable Show All Channels, or mute hidden channels and enable Hide Muted Channels
@dusk blaze, <t:1765068135:R>: do on userplugininstaller
nino insane
@austere talon lvoes lingering issues
Also this is an okay request
the requirement is there so people don't open dumb issues
Ngl I would actually use it
lint fail :(
does my timedones knockoff plugin work?
this is no longer just abandonware, this is straight up abandonedware
[nitpick] The logic for filtering channels in this category is duplicated between the context menu action (lines 157-160) and the syncCategoryPermissions function (lines 76-81). Consider extracting this into a reusable helper function to improve maintainability and reduce code duplication.
Pull request overview
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
๐ก Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
do copilot review @Vendicated
@copilot finish this pr
Accidentally committed the change to build.mjs (it was a bug with unix file permissions), please ignore it
Fixed it
When we getting the @googlegemini Refactor
Pull request overview
This PR adds a Chrome extension popup interface for Vencord Web, providing users with quick access to settings management and information about their installation. The popup displays version info, git commit hash, and action buttons for common tasks like importing/exporting settings, disabling plugins, and resetting themes.
Key Changes:
- Added popup UI with HTML, CSS, and JavaScript for managing Vencord settings
- Updated build script to generate and include me...
Inconsistent API usage: The function uses chrome.tabs.query but the global API reference is stored as api which could be either browser or chrome. Consider using api.tabs.query for consistency with the established pattern.
let [tab] = await api.tabs.query({
Inconsistent API usage: All instances of chrome.scripting.executeScript and chrome.tabs.query should use the api constant defined at the top of the file for cross-browser compatibility (supporting both Chrome and Firefox).
Missing error handling: The git command execution doesn't handle potential errors. If the git command fails (e.g., not in a git repository), the error won't be caught properly. Consider wrapping this in a try-catch block and providing a fallback value.
try {
const res = await promisify(exec)(
"git remote get-url origin",
{ encoding: "utf-8" }
);
...
Unused args parameter: The args: [] parameter is consistently passed but never used in any of the injected functions. Consider removing it for cleaner code.
Potential runtime error: If res.stdout is undefined or null, calling .replace() on it will throw an error. The code should handle the case where stdout might be empty or undefined.
}
remote = remote ?? "";
copilot acts like a pedantic corporate reviewer
@warm quiver i already ran cursor on this codebase /srs
and Claude Code
and chatgpt
numerous times
Uses the inbuilt functionality that the badge API provides instead of a component.
Currently on Discord canary the platform badges doesn't display properly, this also fixes that.
please also change these to use our imported svgs then. can just plop them into an img tag
Content
When using emojis from Fake Nitro, a nice QoL change would be the option to enable from the plugin settings the ability to automatically replace the text display placeholder for the emoji embedding with some blank unicode symbol like u2800 = โ .
E.g.
Original:
[ExampleEmoji](https://cdn.discordapp.com/emojis/012345678912345678.webp?size=48&name=ExampleEmoji)
Proposed Change:
[โ ](https://cdn.discordapp.com/emojis/012345678912345678.webp?size=48&name=ExampleEmoji)
Re...
already a feature. use our support channel like the issue template tells you.
<img width="872" height="188" alt="Image" src="https://github.com/user-attachments/assets/16df4911-e870-44f4-a6a1-deafdbab67d1" />
Im a little curious about https://badges.vencord.dev/explorer is that in a repo somewhere or nope?
Explore / search all existing Vencord badges
the badges?
or the explorer?
kinda as a whole
I know how the badges are managed by venbot but havent seen the rest
the badges are managed through venbot and stored on the vencord server, the explorer is not on a repo
I see okay thank you 
Oh itโs is actually pretty cool
this is literally just a single html file
the html file is the source
wget https://badges.vencord.dev/explorer.html

i am making badge manager with react
nina #1 slop shill so anything he recommends I automatically assume is slop and I should avoid
website where u oauth with discord then you can manage your badges and it puts them into approval queue
then i just approve
fire
we love
I was wondering because our badge sys is really bad and I dont want to use gh forever ๐ญ
and im just intrigued it looks really clean
i will probably make it so that you can get email notifications
or dms if you join the server
do
well this is just the explorer
for managing badges i use slash commands
venbot
but i will make the dashboard now
optimally the dashboard will let users do everthing themselves
but i will still have to manually approve badges and perks because github api is so bad there is no api for checking total sponsorship amount
aw I was just gonna ask how are you gonna deal with dono amounts
๐
you can only check current tier
use kofi or smth I think it has total amount
you should make all mods approve you know you know
nah
approving is so quick
i will just make it send to channel with venapp and add checkmark
insane
I dont remember what I did
I can check tho
if its something like that
LOVE
youโd still have to review badges
fake Active Developer badge
real
badges would somehow take longer than prs 
nah
same day delivery
(a day = 240 hours)
I should write the site with i18n so we can translate to Turkish, Arabic, Brazilian and French
BRAZILIAN
people from those countries don't understand English they need translation
so often I struggle to understand what people from these countries are asking me
they will ask me in the most broken English to do something and I'm just like wtf do u want from me ๐ญ
I thought about using nextjs but I'm not insane enough for that
using astro
๐
57091cf FakeNitro: fix fake emoji conversion (#3829) - thororen1234
was time for my 1 char change commit for the year
debated if it was worth pring lol
they added a param after content was the only change
truly one of the prs oat
nah
๐ฅ
vtest
Now testing! 
No issues found
Seems like everything is working fine (for now) 
No issues found
Seems like everything is working fine (for now) 
Actually will have to reconsider this PR unfortunately
Due to not using a custom component anymore, we can't actually use hooks here. This means we have to hard-code the status fill colours because Discord only exports the hook, not a non hook version. And that's very annoying :(
I might just add the ability to use hooks inside getBadges(), but until that this PR will have to wait
it is?
lmfao
didnt notice it was borked
I actually hate git
did you see settings v2 tabs are borked?
wdym?
discord just swallowed a lot of classnames
they literally flip flopped them and dropped all of button- for redesigned-button- --interactive was redone and some other stuff I'll probably tmrw if it's not already done
All emojis (regardless of extension) may be sent with a .webp extension, as outlined here. When sent as such, with the animated=true parameter, the fake nitro plugin will not animate the (originally .gif) emoji.
This PR fixes this behavior and sets the emoji to animated if the animated parameter is set to true.
Written due to a change in a mobile plugin (unrelated to Vencord) sending fake emojis ...
I thought this was already fixed but I think that was emote cloner
index.tsx: Lines 342-345
function isGifUrl(url: string) {
const u = new URL(url);
return u.pathname.endsWith(".gif") || u.searchParams.get("animated") === "true";
}
why did someone say vencord doesnt show in settings on canary
cant reproduce
oh nvm
function d(e, t) {
if (u(e)) {
let t = Vencord.Plugins.plugins["Settings"].buildLayout(e).map(e => d(e))
, {buildLayout: n} = e
, r = s(a({}, l(e, ["buildLayout"])), {
layout: t
});
return t.forEach(e => e.parent = r),
r
}
return e
}
guh its the same on stable
whatd they change

exactly why i wanted to wait with patching this
discord also changed 3 morbillion css variables
lovely

I changed a button placement and I was like why is it transparent
most of them were reverse
interactive was redone
buttons were moved to redesign-button
foreground stuff was dropped
was gonna pr so good to know lol
made a list of shit thats gone
well if you want to finish it, be my guest
a lot
ignore
grep -ohE -- '--((\w|-)+)' src/**/*.{ts,tsx,css} | uniq | wl-copy
i just grepped for all strings that start with --
real
some arent variables
I just use stable to compare class names
WIP
- Get list of all used css vars:
grep -ohE -- '--((\w|-)+)' src/**/*.{ts,tsx,css} | uniq - Check this list against Discord's vars:
vars = `
paste the output of step 1 here
`.trim().split('\n')
function getAllCSSVariables() {
const vars = new Set();
for (const sheet of document.styleSheets) {
let rules;
try {
rules = sheet.cssRules; // Some sheets may be blocked by CORS
} catch {
continue;
}
if (!rules) continue;
...
i put the code i usded there
for --background-modifier-hover im just gonna use --background-mod-subtle they are the same
all unmatched:
--offset
--duration
--text-danger
--profile-gradient-primary-color
--background-mod-faint
--vc-spotify-track-image
--interactive-hover
--button-danger-background
--control-background-secondary-default
--focus-primary
--button-positive-background
--button-positive-border
--button-positive-background-hover
--control-icon-icon-only-default
--control-background-icon-only-hover
--control-border-icon-only-hover
--control-icon-icon-only-hover
--text-primary
--c...
u can use this list
first two are not css vars
--background-base-lower-alt is off stable
now it should be only vars
btw optimally this fix will be stabel compatible ๐ญ
this is a really annoying situation
they pushed css so fast to stable normally no?
we need to push extension because settings ui broke
to push extensions we need to make sure this fix is stable compatible
alr
btw this is also broken
lmfao
its gone
was replaced
I already fixed those

im trying to find --bg-overlay
--profile-gradient-primary-color still exists
supposedly
bro i just deleted those
wha
its gone i think
ye
they renamed faint to muted
I hate to say it a lot of this is NOT on stable
๐ญ
some discord employee wants a promotion
real
so he made 200 commits of just "cleaning up" css variables
just this week
yeah its cool
ef0d85a NoUnblockToJump: Fix broken patch (#3815) - vvareo
0718b56 Decor: Fix not displaying in multiple places (#... - thororen1234
d8fe9f0 fix some text being wrong colour - Vendicated
b8ab6a7 support new Settings UI (#3803) - vvareo
b07db6c SendTimestamps: support s and S timestamp forma... - DanPlayz0
idk sure
I am scared they will remove it eventually
what is new background-primary
cant tell you
doesnt exist on stable
im just using that to check
vesktop uses these
i will do vesktop ig
why did they remove background-primary but not background-secondary
vesktop needs these updated
bg-secondary
info-warning-foreground
header-secondary
background-primary
they didnt add background-strong
its over
ill go back and add the compat after im done
bruh why is this colour hardcoded (vencord code)
automate it
I can do that?
well
paste the git diff into chatgpt and tell it to write a bash script that does the compat replacements using something like sed
real
or see if vscode copilot can do it if u have
let me make a new list of variables
--text-danger
--profile-gradient-primary-color
--vc-spotify-track-image
--enable-speech-dispatcher
--button-danger-background
---border-focus
--button-positive-background
--button-positive-border
--button-positive-background-hover
--text-primary
--button-secondary-background
--button-secondary-background-hover
--background-base-lower-alt
--control-border-primary-default
--status-offline
--background-modifier-selected
--background-modifier-active
--custom-folder-color
--bg-brand
--profile-message-input-border-color
--input-background
--background-message-hover
only these left
ive got most of those
prob the one I manually fixed
and then was like
-border-focus
I forgot a - on the original replace
--text-danger
--profile-gradient-primary-color
--enable-speech-dispatcher
--text-primary
--profile-message-input-border-color
im working on buttons rn
yeah like i said the list can have false positives
yup
i only checked global css variables
(i vibecoded that script
)
ai is so nice for shit like this
i would have taken 10 minutes to write the script instead i just created it in 20 seconds with ai
real
then remove
alr
buttons should look same as discord's
[Vendicated/Vencord] New branch created: feat/cloud-sync-direction
68d2105 feat: configurable sync direction - lewisakura
this is everything I dont have
time to chatgpt sed
[Vendicated/Vencord] Pull request opened: #3834 feat: configurable sync direction for cloud settings
This will let you change your local client's cloud sync directionality.
For instance, if you are using a laptop, you may only want to pull your Vencord settings from the cloud, but you don't want to push back. Your changes on the laptop would remain intact until another device pushes to the cloud, at which point it would sync from the cloud again with the new changes.
The four options are:
- Sync bidirectionally (the current method, and the default)
- Push settings to cloud
- Pull se...
i will do
alr lemme pr
tbh idk why i didnt add this originally
its such an obviously blatant idea
it doesnt exist anymore
it really is that shrimple
const forcedIconColor = useToken(ColorMap.colors.INTERACTIVE_ICON_ACTIVE ?? ColorMap.colors.INTERACTIVE_ACTIVE).hex();
I wanted to go get shrimp tho
all thats left
--text-danger
--profile-gradient-primary-color
--enable-speech-dispatcher
--text-primary
--profile-message-input-border-color
figured I would comment it incase someone takes a crack at it
Also I didn't check what speech dispatcher is so idk if it's us or not but not on stable
lmaooo it's a cli flag
Lol
4 things left
All of them were removed
Wait I lie
If memory serves me gradient still exists
u didnt fix the border focus ๐ญ
its okay i will fix
--text-danger
--profile-gradient-primary-color
---border-focus
--text-primary
--background-base-lower-alt
--custom-folder-color
--profile-message-input-border-color
--background-modifier-selected
these are all still left
I got selected?
huh?
nah u didnt fix
bruh
its okay i will fix
I screwed up the active one
and put strong thought I went back and changed it prob forgot to update selected
maybe it didnt save
and background-base-lower-alt
wha?
I removed the fix
what you smoke 

oh its mod
@copilot add css variable backwards compatibility to this PR. read the diff and when you see:
- color: var(--interactive-normal);
+ color: var(--interactive-icon-default);
change that to
- color: var(--interactive-normal);
+ color: var(--interactive-icon-default, var(--interactive-normal));
do this for every changed variable
Thanks for the feedback on #3832. I've created this new PR, which merges into #3832, to address your comment. I will work on the changes and keep this PR's description up to date as I make progress.
Original PR: #3832
Triggering comment (https://github.com/Vendicated/Vencord/pull/3832#issuecomment-3638148948):
@copilot add css variable backwards compatibility to this PR. read the diff and when you see:
- color: var(--interactive-normal); + color: var(--interactive-icon-def...
@Vendicated I've opened a new pull request, #3836, to work on those changes. Once the pull request is ready, I'll request review from you.
lets see
it has to clone, figure out stack, figure out how to install dependencies, install dependencies, figure out how the project works, then do changes ๐ญ
its expected to take a while
told you it's cooking
my son
Adopted?
Look at how good your son is at coding 
Now let it do patches 
lmaoooo
i thought about using ai to fix patches tbh
if you feed it before and after source and tell it to port the patch it probably can if the patch doesnt have to be remade from scratch
It's just quicker to fix patches most of the time by hand imo
if its a bigger patch I can see ai helping
but most of the time for me atleast it takes like 5-10 seconds to fix it
the actual question is if I have the want too
This would be very easy to do with companion 
yep he cooked
one day
so not adopted?
idgi
it will be just vencord companion
one day
๐ฅ
probably after manti's pr is merged
GitHub
Fix Timezones looking ugly in user profiles somehow (@Vendicated will figure out)
Confirm This weird code is working
Bottom Text
PS: Ignore commit history
almost been 3 years
he can wait 3 more right?
copilot you arent adopted i lied im sorry :(
4339af3 Add CSS variable fallbacks for backwards compat... - Copilot
[Vendicated/Vencord] branch deleted: copilot/sub-pr-3832
??
thats not my pr
GitHub
This PR contains a draft translation system for Vencord.
Of course, this is purely a draft idea for now, but the actual groundwork for a translation system now exists:
translations are bundled int...
rip
that was when v2 was made
happy 2nd anniversary?
yep
damn
I lied vee says your semi adopted you failure
better?
he forgot these
sure
I have no interest in upstreaming and neither does vee
we could tbh
but idk how often u make changes
I didnt see anything else missing
On the vencord side, not often at all.
The extension side varies wildly
Also, I'm fairly certain the plugin is still backwards compatible with the old extension, so only the plugin needs to be upstreamed
just a few changes from the original companion
you could move it to the org if you want and replace the original extension as long as it's secure and has the same functionaliy as old extension
idc much about the extension, it does what i want it to (minus the fact that it doesnt apply in some files like core HUSK)
i'm down to do that, it doesn't drop any functionality from the old extension (it barely had any to begin with ๐ญ) and the updated plugin is compatible with the old extension, so things should still work for people who just want to stick with the old version
no, but that's like a one line change
how did u make this many changes and not fix that lmaoo
wait
does it not bother you
see the lack of test patch buttons
gooooood
okay
you can just replace https://github.com/Vencord/Companion
this is it right https://github.com/sadan4/VencordCompanion
yes
why are parsers separate repo 
i want to make a standalone website for browsing discords bundle
also i do other things with ast parsing quite a bit so i just npm install @vencord-companion/ast-parser
lmao
i dont really like the generic names but besides that i wouldnt mind adding
vesktopStable would be better
is this screenshot very dark for you too
oh yeah
this screenshot was taken on hdr monitor
this on sdr

yeah
my second monitor is that
its a piece of shit monitor
i should maybe buy a cheap 144hz 1080p monitor instead
i really like mine because it's also a USB hub
using a 60hz monitor feels ass
tbh i don't really notice unless i'm playing a game
found a 144hz monitor for 30โฌ
sounds high quality
no i checked marketplace
idk if i want this as second monitor
do you prefer somthing like this
oh
i didn't see your next message ๐ญ
#3204 if you want to merge
if its angled so its facing towards you, you wont notice
bruh they pushed to stable @gritty iris
well whatever
we need to fix
--text-danger
--profile-gradient-primary-color
--text-primary
--profile-message-input-border-color
--background-base-lower-alt
then merge main
after all that ๐ญ
--text-danger was found
apperantly
both text ones are done
what about --background-base-lowest for lower-alt?
no i just removed them lol
around the modal?
gradient still exists?
--profile-message-input-border-color is whats left
was just removed
its rdb's input
ima just remove it
alr
I was talking about this --profile-message-input-border-colo
text-primary was changed there so should probably change that back
6b64cf3 update discord css colour variables (#3832) - Vendicated
[Vendicated/Vencord] branch deleted: unexplode-css-vars
thanks for help tho

they had a page where it displayed all their ui elements
this is harrassment how dare they
it was so useful
we should make that for vencord tbh with vencord components
so it's easier to see if any are broken
it would be so much easier
M15.55 5a5.5 5.5 0 0 1 5.15 3.67h.3a2 2 0 0 1 2 2v3.18a2 2 0 0 1-2 1.99h-.2A4.54 4.54 0 0 1 16.55 19a4.45 4.45 0 0 1-3.6-1.83 1.2 1.2 0 0 0-1.9 0 4.44 4.44 0 0 1-3.9 1.82 4.54 4.54 0 0 1-3.94-3.15H3a2 2 0 0 1-2-2v-3.18c0-1.1.9-1.99 2-1.99h.3A5.5 5.5 0 0 1 8.46 5h7.09Zm-7.1 2C6.6 7 5.06 8.5 4.97 10.41l-.02.66v3.18c0 1.43 1.05 2.66 2.34 2.74.85.06 1.63-.32 2.14-1.01a3.2 3.2 0 0 1 2.57-1.3c1 0 1.97.48 2.57 1.3.5.69 1.3 1.08 2.14 1.01 1.3-.08 2.34-1.31 2.34-2.74l-.02-3.84a3.54 3.54 0 0 0-3.49-3.43H8.45Z
catch icon for vr in platform indicators
๐
Insane
vtest
Now testing! 
No issues found
Seems like everything is working fine (for now) 
No issues found
Seems like everything is working fine (for now) 
[Vendicated/Vencord] New tag created: v1.13.8
Hello people I am back :3
const makeVesktopSwitcher = (branch: string) => () => {
if (Vesktop.Settings.store.discordBranch === branch)
throw new Error(`Already on ${branch}`);
Vesktop.Settings.store.discordBranch = branch;
VesktopNative.app.relaunch();
}
oh i fixed myself already i didnt see
but thanks
that and/or the ability to select which servers to apply to/exclude, would be great
Would definitely be good to add this, ignore nino
sadan master of making prs then never resolving feedback
6662647 ConsoleShortcuts: Add functions to switch branc... - sadan4
Pull request overview
This PR refactors the platform indicator badges to use the built-in Badge API instead of custom React components. The change extracts SVG icon paths into separate files and leverages the badge API's native icon rendering capabilities, which fixes display issues on Discord Canary.
Key changes:
- Migrates from component-based badges to icon-based badges using the Badge API
- Extracts SVG icon definitions into separate files in an
icons/subdirectory - Adds SVGO depe...
The tooltip generation logic is duplicated from lines 84-86 in the PlatformIcon component. Consider extracting this into a shared helper function to avoid code duplication and ensure consistency.
The size logic is tied to the mobile platform (17 vs 20) and is hardcoded here and also in the Icon function call at line 72. Consider extracting this into a constant or helper function that takes the platform as a parameter to ensure consistency.
Accessing SVGIcons[platform] without validation could result in undefined if the platform is not one of the expected DiscordPlatform values. Consider adding a fallback like SVGIcons[platform] ?? SVGIcons.desktop similar to how the Icons object is accessed at line 88.
iconSrc: "data:image/svg+xml," + encodeURIComponent((SVGIcons[platform] ?? SVGIcons.desktop).replace("#000000", colorMap[status] ?? colorMap.offline)),
The platform variable from Object.entries(status) is typed as string, but it's used to index SVGIcons which expects a DiscordPlatform key. Add an explicit type assertion platform as DiscordPlatform like in line 162, or add validation to ensure the platform is a valid key before accessing SVGIcons[platform].
iconSrc: "data:image/svg+xml," + encodeURIComponent(SVGIcons[platform as DiscordPlatform].replace("#000000", colorMap[status] ?? colorMap.offline)),...
React hooks are being called before early returns in the function, which violates the Rules of Hooks. The useStatusFillColor calls at lines 119-123 happen before the early returns at lines 128 and 133. If the function returns early, the hooks would be called on some renders but not others, breaking React's requirement that hooks must be called in the same order every time. Move the colorMap creation inside the map function at line 135, or after all the early return conditions.
The img element is self-closing and should not have a closing tag. Change </img> to just use a self-closing tag: <img ... />
phone notifs blowing up
most of the feedback is good but two of them are straight up wrong
this one especially
should this be ignored?
itd be better to add
which is the second one?
ah okay
how do I make this shit AI look at it again
github mobile loves sending notifications 5 hours after they actually happen
v+ regular 848339671629299742
vtest
Now testing! 
No issues found
Seems like everything is working fine (for now) 
No issues found
Seems like everything is working fine (for now) 
canary reporter is broken because discord nuked https://canary.discord.com/assets/version.canary.json
why are you sobbing ๐ญ
me need reviews :3 I want I need improvement
OHHHHHHHHHHHHHHHH DOES (r MEAN REDO LMAO THAT JUST CLICKED
guhhhhhh
is there any alternative
besides fetching the main page
how does vencord inject into the discord client? like what part of code does that, and how does it work?
this might be more complex than to explain in a discord channel but I was just wondering if I could get pointed to the right place 
it's the right place
are you more wondering how we run javascript on discord in the first place
or how we do things once we run javascript
GOOD LORD WHAT DID THEY DO TO CLASSES
https://canary.discord.com/assets/version.json exists I dont know if it supports the _ thing since I dont know what that is this is different
hell
javascript my behatred. One of the websites I use currently doesn't work cause a analytics script infinitely hangs on loading
everything here needs to be updated
22 results - 8 files
src/plugins/blurNsfw/index.ts:
26 style.textContent = `
27: .vc-nsfw-img [class^=imageContainer],
28: .vc-nsfw-img [class^=wrapperPaused] {
29 filter: blur(${Settings.plugins.BlurNSFW.blurAmount}px);
src/plugins/clientTheme/clientTheme.css:
17
18: .vc-clientTheme-container [class^="swatch"] {
19 border: thin solid var(--input-border-default, var(--input-border)) !important;
src/plugins/gameActivityToggle/style.css:
1: [class^="panels"] [class^="avatarWrapper_"] {
2 min-width: 0;
src/plugins/messageLogger/messageLogger.css:
1: .messagelogger-deleted [class^="buttons"] {
2 display: none;
src/plugins/pinDms/styles.css:
23
24: .vc-pindms-modal-content [class^="defaultContainer"] {
25 display: none;
src/plugins/serverInfo/styles.css:
73
74: .vc-gp-server-info-pair [class^="timestamp"] {
75 margin-left: 0;
94
95: .vc-gp-scroller [class^="listRow"] {
96 margin: 1px 0;
98
99: .vc-gp-scroller [class^="listRow"]:hover {
100 background-color: var(--background-mod-subtle, var(--background-modifier-hover));
src/plugins/showHiddenChannels/style.css:
96
97: .vc-shc-allowed-users-and-roles-container > [class^="members"] {
98 margin-left: 12px;
src/plugins/spotifyControls/spotifyStyles.css:
161
162: #vc-spotify-progress-bar > [class^="slider"] {
163 flex-grow: 1;
167
168: #vc-spotify-progress-bar > [class^="slider"] [class^="bar"] {
169 height: 3px !important;
172
173: #vc-spotify-progress-bar > [class^="slider"] [class^="barFill"] {
174 background-color: var(--interactive-icon-active, var(--interactive-active));
176
177: #vc-spotify-progress-bar > [class^="slider"]:hover [class^="barFill"] {
178 background-color: var(--vc-spotify-green);
180
181: #vc-spotify-progress-bar > [class^="slider"] [class^="grabber"] {
182 /* these importants are necessary, it applies a width and height through inline styles */
193
194: #vc-spotify-progress-bar:hover > [class^="slider"] [class^="grabber"] {
195 opacity: 1;
thats stable
??
anyway i think discord just fucked up
i think most of these will just be replacing ^= with $=
also stable.json just died
no
this is because referrer lol
dont open link from within discord
copy manually
this error is something weird discord does
they give u that if u open discord link with discord.com referrer
idk why
I opened it from my chrome history
is this discord desktop only?
idk bro
should work again now https://github.com/Vencord/venbot/commit/2098cd6d2788b9809622f8a0365cd934a2e37423
GitHub
Discord for some reason nuked https://canary.discord.com/assets/version.canary.json
No, Iโm wondering where you get your JavaScript in the discord client, and where for example the webpack module comes from since I canโt find em in the native app.asar
Im new to modding electron apps, I just wanted to test some on the dc client so I could learn a bit more about it
for webpack, take a look at src/webpack/patchWebpack.ts, it's highly commented
Since I canโt find any info on modding electron apps online, and I donโt want to use some damn ai to find out either
Ah, thank you, Iโll check that out
The installer:
- Renames discord's app.asar to _app.asar
- Creates app.asar with an index.js that loads vencord's main javascript
The vencord main script monkeypatches electron.BrowserWindow to overwrite Discord's preload script with our own, then load's discord's original app.asar
The vencord preload runs Vencord's renderer then runs Discord's original preload
The vencord renderer monkey patches webpack's global object to hijack the module registry
if you don't know how electron processes (main, preload, renderer) work you should dive into that first, create a basic electron app from scratch to learn these concepts
also electron fiddle is great for learning about how electron works
Iโll take a look at those too ty
Now I'm curious. How's this done on the web extension? Same thing but you just remove the script tag and run the vencord preloader that later loads in rest of discord?
it uses a browser api to run the vencord renderer before the any of the page scripts
the second one
Ah fair enough
it runs at the very start before even the dom is ready
basically
<html>
<script></script>
btw @limber skiff when you have time please review Vendicated/Vencord#3797
I will dw
two major changes
I received the review email 
fix
ya reckon they will revert
yeah, i was planning on doing it tongiht
not sure tbh
Vext
The Vencord Chrome Extension is out of date! (v1.13.7 vs v1.13.8)
shouldnt this text be white
Based Sefa listener
ty
prob related to class names being fucked on canary
could be yea
im fixing PermViewer
guhhh
kind of generic module guh
not a fan
nice
@gritty iris discord removed even more css vars lmao
header-primary is kill
@fossil inlet other reporter idea:
find all css vars used by vencord and check if they still exist
header-primary is just text-strong now
hmmmm (tbh that seems easier than getting the source locations of the finds)
but i might just be insane 
use regex
insane
yeah its doable
i did it manually yesterday
i documented my approach here (warning: vibecoded)
(it uses grep and has false positives)
why would i use regex when i can just parse the style sheets added by vencord in the browser
well there are also some inline colours unfortunately
like theres this
and inline styles too
that wouldn't be caught by regex either
redesign-button-positive-pressed-background is already gone again
yeah ik
well we will stop using this anyway
this intern is gonna have a few complaints from me
header-primary and redesign-button-positive-pressed-background
idk redesign-button-positive-pressed-background equivalent but we dont use that component anyway so idgaf rn
ok fixed
vtest
Now testing! 
No issues found
Seems like everything is working fine (for now) 
No issues found
Seems like everything is working fine (for now) 
can I file a complaint into the discord support void for removing too many class names 
I think this MIGHT be wrong?
what commit?
the rename to icon-default was me but the var change wasnt
kill discord for css changes
real
poll_question_text
a
victor_answer_votes
1
total_votes
2
rtcConnectionStatus_ no longer works for all call timers css fix I just just removed the _ from inner and rtcConnectionStatus
some CLI thing I did added this and now it's annoying me so you know what i'm gitignoring it
it may have been a CLI mistake but it should probably still be gitignored
this file is not created by anything vencord uses so adding it makes no sense
one day we will get vencord.asar
https://github.com/Vendicated/Vencord/pull/2707
if you didn't know, you can also add files to .git/info/exclude, (https://git-scm.com/docs/gitrepository-layout#Documentation/gitrepository-layout.txt-infoexclude)
i love that feature
if you didn't know, you can also add files to
.git/info/exclude, (https://git-scm.com/docs/gitrepository-layout#Documentation/gitrepository-layout.txt-infoexclude)
thank you sadan i entirely forgot about this <3
Content
I am completely unable to join the Discord Server, as every link returns an "Invalid" response or throws an error. (Until this is resolved it cannot be moved to discord, because I am not able to access the server.
Request Agreement
- [x] I have read the requirements for opening an issue above
what's your discord user id
also you are trying to access the server with discord.gg/vencord yes?
what's your discord user id
also you are trying to access the server with discord.gg/vencord yes?
1: same as GitHub
2: no, using link right here on the repo.
3: I assume I may have been rude to a staff member or something?? I tend to do that, because staff members in large servers tend to have "big egos" (I don't mean any offense to anyone though, unless they get aggressive or hostile.)
discord id as in the string of numbers you get by clicking on Copy ID when developer mode is enabled (google how to do it if you dont know)
also the link works fine for me so idk
discord id as in the string of numbers you get by clicking on Copy ID when developer mode is enabled (google how to do it if you dont know)
also the link works fine for me so idk
Well you definitely shouldn't be asking for my ID rather than my user, but oh well.
1012501042006605955
Banned by idk who: vee ๐ข#8485: incredibly stupid
i was going to respond to them but i have no idea how
this was back in discriminator era so just unban yk
okay donโt unban
Fake nitro is an illegal service. Be glad you guys aren't (For my knowledge) a legal bussiness. This is some horrid customer support.
How/when does Vencord get a reference to the webpackChunkdiscord_app so it can monkeypatch, grab modules, etc?
Is patchWebpack called from vencord's preload?
Vencord.ts
but what is Vencord.ts, does it run in preload, renderer or main
build.mjs: Lines 139-141
...commonOpts,
entryPoints: ["src/Vencord.ts"],
outfile: "dist/renderer.js",
ah, thank you!!
why would I want to ask gemini ๐
idk it's my userplugin
I thought this was official discord mb bro
I love discord so much
any chance that someone would be able to take another look at #3571, it was last reviewed 4 months ago and i believe all the issues that were raised are fixed
Content
Using VolumeBooster plugin does not work on official Discord client.
Discord is installed from official Arch repos.
Request Agreement
- [x] I have read the requirements for opening an issue above
Content
There's no button to delete vencord
Reason:Not what I needed
What I needed: better plugins, etc. (so not for now? not sure)
Request Agreement
- [x] I have read the requirements for opening an issue above
i'd like to have some sort of noninteractive mode where i could pass a command as such:
sh -c "$(curl -sS https://vencord.dev/install.sh)" -- --auto --repair stable
this way i could make a pacman hook to automatically reinstall vencord once discord gets updated, which happens a lot unfortunately.
you already can. download the installer binary manually from releases and it supports command line arguments
i forgot to push to main
Now you can also pass flags to the install.sh script directly.
https://github.com/Vencord/vencord.dev/commit/36c1da19effe351e9107cba9c642c38775c34905
<img width="795" height="283" alt="Image" src="https://github.com/user-attachments/assets/f230666f-b5aa-4579-b760-99934b8b937d" />
the CustomRPC code is gone from that file
but still happens lmao
881530: function(e, t, n) {
"use strict";
n.d(t, {
Z: () => p
});
var r = n(394821)
, i = n(841784)
, a = n(833664)
, o = n(810568)
, s = n(168524)
, l = n(103479)
, c = n(553375)
, u = n(614716);
function d(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n,
e
}
function f(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {}
, r = Object.keys(n);
"function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
return Object.getOwnPropertyDescriptor(n, e).enumerable
}))),
r.forEach(function(t) {
d(e, t, n[t])
})
}
return e
}
function p(e) {
let {location: t, user: n, currentUser: d, activity: p, application: _, entry: m, onClose: h} = e
, g = (0,
s.Z)(f({
location: t,
source: o.m1.UserProfile,
trackEntryPointImpression: !0
}, (0,
c.nK)({
user: n,
activity: p,
entry: m
})))
, E = (0,
u.Z)({
applicationId: null == _ ? void 0 : _.id,
onClose: h
})
, b = (0,
i.Z)(p);
return b && null != _ ? E : !b && (0,
a.Z)(p) ? g : (0,
r.Z)(p) && n.id !== d.id ? () => (0,
l.s)({
activity: p,
user: n,
index: 0
}) : void 0
}
},
found it
annoying to patch
nvm not relevant module
vtest
Now testing! 
Bad Patches
CustomRPC (had no effect):
ID: 979038
Match: ```
/.getId()===\i.id/
Slow Patches
VencordToolbox (took 6.2ms):
ID: 267161
Match: ```
/(?<=trailing:.{0,50})\i.Fragment,{(?=.+?className:(\i))/
vtest dev3
Now testing! 
No issues found
Seems like everything is working fine (for now) 
Bad Patches
CustomRPC (had no effect):
ID: 979038
Match: ```
/.getId()===\i.id/
vtest dev
Now testing! 
Bad Patches
CustomRPC (had no effect):
ID: 979038
Match: ```
/.getId()===\i.id/
No issues found
Seems like everything is working fine (for now) 
4c8a734 FakeNitro: fix animated webp emojis not animati... - sophiethefox
6662647 ConsoleShortcuts: Add functions to switch branc... - sadan4
c36c750 fix PermissionViewer & css variables again - Vendicated
b011559 RoleColorEverwhere: fix poll vote list - Vendicated
b910b3d fix FriendsSince & own CustomRPC buttons not sh... - Vendicated
someone should go through CustomRPC and check what conditions exactly make your presence fail to show (which special characters in which fields) and improve the validators
Would it be fine to test it programatically with smth that basically try to set it to every single unicode character ?
Type @someone to ping a random member in the current server or group DM.
i wanted to do this plugin a long time ago lol
Seems useless, What purpose would this serve?
Even for something like game nights with friends to pick someone randomly to do something or when you need a reply from someone don't know who to ping like a ping roulette mod ;)
found a new console wall of text
this makes the image quality so much better
but it messes up modals
idk why i made it so complicated
nvm that was an outlier
cant reproduce
absolute coding
ps: the drag and drop api sucks why do I have to use datatransfers, and why do they have to be mime types, and on top of all of that, why does it SILENTLY fail if you don't pass a mime type, or pass the wrong one?
im worried it might cause lag
it makes all images load at max resolution
so if someone sends 100mb image... well
should I make this enabled by default to avoid causing lag? @limber skiff
in FixImagesQuality
but it's so high res now
amazing
i can keep taking screenshot and it keeps looking good
sure
but then by default the plugin will only apply in modals
the idea is that you can just open modal for max res
idk why thats not a stock feature
make the setting only change this
but plugin will still always prevent webp
i will rename the setting
lol you can use the media proxy to arbitrarily crop images @limber skiff
xD
open these in browser by clicking the link or middle clicking the image
dont use right click
im going to make sure the chat images use a sane size
wtf ๐ญ
guh discord media proxy has an annoying bug
if you set width and height but dont se format=webp it fucks up hdr
compare these two in browser
so if we do this we have to use webp to ensure images dont break
oh my god it started yapping math
getSrc(props: { src: string; mediaLayoutType: string; width: number; height: number; }) {
if (!settings.store.originalImagesInChat && props?.mediaLayoutType === "MOSAIC") {
// make sure the image is not too large
const pixels = props.width * props.height;
const limit = 2000 * 1200;
if (pixels <= limit) return props?.src;
const scale = Math.sqrt(pixels / limit);
const url = new URL(props.src);
url.searchParams.set("width", Math.round(props.width / scale).toString());
url.searchParams.set("height", Math.round(props.height / scale).toString());
return url.toString();
}
return props?.src?.replace("https://media.discordapp.net/attachments/", "https://cdn.discordapp.com/attachments/");
}

should i make limit a setting
nah
i should continue working on Tweaks
this would be a good tweak Vendicated/Vencord#3718
[Vendicated/Vencord] New tag created: v1.13.9
Content
I would like to copy JSON for a bunch of messages and it would be much faster to do it from the popover button instead of having to open the modal.
Request Agreement
- [x] I have read the requirements for opening an issue above
awesome sauce, thank you!

nobody uses hdr
so broken
only usable in consoles phone n stuff tbh




