#๐พ-core-development
1 messages ยท Page 217 of 1
LOL
it's okay
remember you can always have more than one thing in the filter :)
regex is only really needed in very specific cases
they made the spinner clickable too
can this be done with patch finds somehow?
i don't think you understand what i mean
can you do multiple find strings to narrow down a patch
didn't think so
that was my original implementation but we opted to allow finds to be a regex
should that be possible?
interesting
when you need you can use a regex find
but only when you really need since it's worse performance
@rugged spire, <t:1722526061:R>: beg myself to make channeltabs
2 months ago

iirc someone in #๐ฅ-vencord-support-๐ฅ was recently wondering how to install bd channeltabs on vencord
oh
thats
1
hour ago

you will revive channeltabs
Look at the type for a generic div on click. It should be the same.
Or just see what's passed and compare.
so its any. because it seems like the target is whatever clickable is wrapped on
@limber skiff sorry for the ping, but do you know how I could force load a module? my findbyCode fails when the status modal is not opened for at least once
There's a function for it
you will lazy find
You pass it the code that is in the module that loads your module
are u sure u need that findByCode
yes pretty much, it's responsible for setting the custom status
without it, its just some fancy menu
whats the find for it
const setStatus = findByCodeLazy(".CUSTOM_STATUS_UPDATED,{");
you can replicate that function
this is the important
do you want me to do it for you?
the point of the find is not to replicate the function, too much work ๐ญ
yes please, ty
Is that just a call to a store?
no it's a call to an user setting definition (if you know what that is)
function o(e) {
if (e !== l.F.TODAY)
return n()("number" == typeof e, "Invalid custom status clear timeout"),
e;
{
let e = new Date;
return new Date(e.getFullYear(),e.getMonth(),e.getDate() + 1).getTime() - e.getTime()
}
}
@austere talon wtf is that syntax?
what's with the curly braces
it's just a block
creates a new block scope
I swear i didnt know that was possible
idk why bundler would do that lol
so weird ^^
you can do it anywhere
it's the same as
if (foo) {}
but without the if
yeah
xd
it's useful for grouping code
let sum = 0;
{
const x = 42;
const y = 10;
sum += x + y;
}
{
const x = 18;
const y = 28;
sum += x + y;
}
xD
import { getUserSettingLazy } from "@api/UserSettings";
const CustomStatus = getUserSettingLazy("status", "customStatus")!;
function getExpirationMs(expiration: "TODAY" | number) {
if (expiration !== "TODAY") return Date.now() + expiration;
const now = new Date();
return new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1).getTime();
}
interface Emoji {
id: string | null;
name: string;
}
function setStatus(text: string, emoji?: Emoji, expiration?: "TODAY" | number) {
const trimmedText = text.trim();
if (trimmedText.length > 0 || emoji != null) {
CustomStatus.updateSetting({
text: trimmedText.length > 0 ? trimmedText : "",
expiresAtMs: expiration != null ? String(getExpirationMs(expiration)) : "0",
emojiId: emoji?.id ?? "0",
emojiName: emoji?.name ?? "",
createdAtMs: String(Date.now())
});
} else {
CustomStatus.updateSetting(undefined);
}
}
@sterile oak I changed it a bit from discord code so test if it works
oh yeah your plugin needs UserSettingsAPI dependency now
createdAtMs: String(n()().toDate().getTime())
tf discord smoking using moment for that lmao @austere talon
literally String(Date.now())
this code must have not been touched for years
you can make named block scopes and break from a specific block scope
@limber skiff also just curious, why is switching to modifying user settings directly preferred for this
They're useful for RAII reasons in languages like c++ and rust, too
But js doesn't do that, unfortunately
I know why closures are useful
I just didnt know they were valid in js with no named block for example
the function they want is lazy loaded
in a pretty niche thing
ah
and it's simple to re-implement
thats so much more better than doing the horror of lazy loading
I meann the lazy loading is pretty easy
most of the times you just need to specify a find
That sounds really helpful for my very hacky code
variable reuse i guess
it's trying to keep the amount of variables it has to go through low, so it's overwriting e in the closure so that it doesnt leak out into the function argument, it doesnt seem like it can quite grasp that e from the args is never used again
very funny
I'm proud of myself
is there a way to set your status with a vencord plugin?
just set it normally? + #๐ฅ-vencord-support-๐ฅ
wait are you asking for support or #๐งฉ-plugin-development
I thought i clicked #๐งฉ-plugin-development lol
u can check this pr
https://github.com/Vendicated/Vencord/pull/2924
the code has your answers
Is there a way to auto set them?
uh why would you want that?
I want to make a vencord plugin that would auto set numbers from a file
you would need a native and I don't see how those two are related
theyre trying to make an animated status plugin 100% lmao
mods, lobotomize this user
๐ง ๐จ
mods, lobotomize this user
๐ง ๐จ
mood
my console resets to light mode every full relaunch of discord 
u canโt ask for support for that here
read rules.
oh lmao I tho i am the only one
i think you can get around this by changing theme from auto to dark
it still resets
it says dark
but its in light mode
horror
It resets even just closing and reopening dev tools for me
electron bug
most normal electron moment
None
None
None
None
None
None
None
None
they finally gave us peace
Donโt jinx it
@sterile oak did it work?
yup perfectly
thanks again
cat:200
eh is textreplace broken?

glad ๐
is stuff just like to break around me? 
what about output volume slider when extending to 200%
i think volumebooster is tampering with that slider idk
volumebooster slider logic is kinda 
guhhh
which part of it
multiplier instead of setting max
yeah i never iked that lmao
surely this cant just be me right
yea
true
I don't know why I chose that in the first place
?remind tomorrow make settings make sense for volumeBooster
Alright @fossil inlet, in 1 day: make settings make sense for volumeBooster
what the hell is even going on there
It didn't use to I think
you can't see the slider, when extending the output volume for VolumeBooster plugin it's only set for 100 pretty sure
my fault, sign 1 of needing sleep
?remind 6pm stuff 
Alright @sterile oak, in 12 hours, 15 minutes and 22 seconds: stuff 
stuff
@sterile oak, <t:1727847878:R>: stuff 
None
None
None
None
PermissionsViewer (had no effect):
ID: 166584
Match: ```
/.collapseButton,.+?})}),/
None
None
None
nop
i wish i did not check out some of the additions to their fork of vencord
WHAAAT THE FUCK
yeah...
@fossil inlet, <t:1727834473:R>: make settings make sense for volumeBooster
ofc its a French...
what that file is makes it so much worse
match: /\.expandButton,.+?null,/,
interface MessageDeleteProps {
collapsedReason: {
message: string;
};
}
replace: "if($self.shouldHide(arguments[0]))return null;$&"
}
]
Content
idk if its only me but, moretags is not working, i tried re installing vencord but nope didnt show up.
Request Agreement
- [X] I have read the requirements for opening an issue above
I see you didn't pass the grade 1 reading exam
i think this doesnt change the resulting patch, but idrc
They swapped the order so it's more right
I made a plugin videoLooper to add a button on videos to be able to loop videos
I have no experience in React whatsoever I based most of the plugin on Lumap PIP plugin : https://github.com/Vendicated/Vencord/tree/main/src/plugins/pictureInPicture
I ran some tests and it looks and works fine
Here's a preview
The SVG I used come from here : https://iconduck.com/icons/49438/loop
this exist already pretty sure
thing is, you currently can't add spotify vars in rpceditor!
but it will soon(tm) be added
โsoon โข๏ธโ
does it?
sorry mistaked it for something else it's because of the amount of buttons, within my embed. i thought i saw an existing pr-request for this
wtf is that icon
I DIDNT EVEN SEE THE FILL ATTRIBUTE THING

yes this should be using a ref and a state
but 
don't they already need a ref to play/pause?
@fossil inlet this is just copied entirely from pictureInPicture btw
does that mean they're both bad or good
both are bad
i updated his videoLooper and changed the color from green, to white and then merged it into the videoControls rather than near the download button makes it easier to access
but it works!111
this doesn't solve the real issue
this is just hardcoding where hardcoding is a bad idea
also what is that person icon
i'm just making it look more appealing lol
what does that do
OH
that fill in the SVG should just be currentColor and be updated (ideally) through react
yepyep if imported through main
what
transitions from grey, to white upon click but should be set to currentColor yeah you're right
no i used his existing code, and edited it so instead of inserting it near the download button
it puts it in the videoControls area
oh
just looks better than inserting it near the download button lol (easier to access)
tl;dr: i stole https://github.com/Vendicated/Vencord/pull/1721/files code
yes?
obviously
i now understand why these plugins don't use react
i forgot how horrible react is to debug
PermissionsViewer (had no effect):
ID: 166584
Match: ```
/.collapseButton,.+?})}),/
None
None
None
PermissionsViewer (had no effect):
ID: 166584
Match: ```
/.collapseButton,.+?})}),/
None
None
None
oof, it hit stable
Needs a tidy up and a look over with non tired eyes before I PR or anything but 
I forgot to take out the "doesn't work with always automod embeds" bit from the setting description, it does now
I have a PR open for the fix.
Adds an option to blur message link embeds when the linked message originates from an age restricted channel
I don't use git enough, PRing makes me nervous
do we really need to reimplement the spoiler
have you checked if we can use discords component
It seemed to be built into the embed rendering
It's entirely possible I was just dumb but I couldn't really find a way to get it without having an embed to provide which defeated the purpose of the automod embed option
I see
I wanted to be able to use the funny freaky font text easily without having to go to the freaky font website. Thought I might as well share it here in-case anyone else wants to enjoy it just converts ABC -> ๐๐๐
Run it with /freaky ABC
Works great on my machine and I'd assume it'd work with anybody else.
Font pulled from because Im lazy and didn't want to do it my self
https://c.r74n.com/converter/freaky-text
no
@austere talon you should merge this now
๐
lol didn't even give them a message just CLOSED
tbf this is mentioned on the contribution guidelines
can't be freaky with vencord
why do people still star this
oh okay
freedom!
oh crazy theres a mirror
ShowHiddenThings (had no effect):
ID: 212093
Match: ```
/{"auto_removed:.*?}/
**__ShowHiddenThings (found no module):__**
ID: `-`
Match: ```
"horny","fart"
None
None
None
NoBlockedMessages (had no effect):
ID: 306680
Match: ```
/(?<=function (\i)((\i)){)(?=.*MESSAGE_CREATE:\1)/
**__VolumeBooster (had no effect):__**
ID: `345953`
Match: ```
/(?<=isLocalMute\(\i,\i\),volume:(\i).+?\i\(\i,\i,)\1(?=\))/
MessageLogger (had no effect):
ID: 375954
Match: ```
/function (?=.+?MESSAGE_DELETE:(\i))\1((\i)){let.+?((?:\i.){2})getOrCreate.+?}(?=function)/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/function (?=.+?MESSAGE_DELETE_BULK:(\i))\1\((\i)\){let.+?((?:\i\.){2})getOrCreate.+?}(?=function)/
MessageLogger (had no effect):
ID: 375954
Match: ```
/(function (\i)((\i)).+?).update((\i)(?=.*MESSAGE_UPDATE:\2)/
**__NoBlockedMessages (had no effect):__**
ID: `375954`
Match: ```
/(?<=function (\i)\((\i)\){)(?=.*MESSAGE_CREATE:\1)/
WhoReacted (had no effect):
ID: 542578
Match: ```
/function (\i)(){(\i)={}(?=.*CONNECTION_OPEN:\1)/
**__FakeNitro (had no effect):__**
ID: `581883`
Match: ```
/function (\i)\((\i)\){(?=.*CONNECTION_OPEN:\1)/
ConsoleJanitor (had no effect):
ID: 613568
Match: ```
/\i.totalTime>\i&&\i.verbose("Slow dispatch on ".+?));/
**__MoreUserTags (had no effect):__**
ID: `674563`
Match: ```
/(\i)=\{\}\)\);(?=let \i=100)/
MessageLogger (had no effect):
ID: 869765
Match: ```
/MESSAGE_DELETE:\i,/
**__MessageLogger (had no effect):__**
ID: `869765`
Match: ```
/MESSAGE_DELETE_BULK:\i,/
FakeNitro (errored):
ID: 74538
Match: ```
/(?<=canUseCustomStickersEverywhere:)\i/
Error: ```
Unexpected token '{'
FakeNitro (errored):
ID: 74538
Match: ```
/(?<=canUseHighVideoUploadQuality:)\i/g
Error: ```
Unexpected token '{'
FakeNitro (errored):
ID: 74538
Match: ```
/(?<=canStreamQuality:)\i/g
Error: ```
Unexpected token '{'
FakeNitro (errored):
ID: 74538
Match: ```
/(?<=canUseClientThemes:)\i/
Error: ```
Unexpected token '{'
FakeNitro (errored):
ID: 74538
Match: ```
/(?<=canUsePremiumAppIcons:)\i/
Error: ```
Unexpected token '{'
FakeNitro (errored):
ID: 74538
Match: ```
/(?<=canUseCustomNotificationSounds:)\i/
Error: ```
Unexpected token '{'
SuperReactionTweaks (had no effect):
ID: 960020
Match: ```
/((\i)=\i=>{.{50,100})(\i(\i,\i))>=\i(?=.*BURST_REACTION_EFFECT_PLAY:\2)/
**__NoticesAPI (had no effect):__**
ID: `933429`
Match: ```
/(?<=function (\i)\(\i\){)return null!=(\i)(?=.*NOTICE_DISMISS:\1)/
NoPendingCount (found no module):
ID: -
Match: ```
.getSpamChannelsCount();
**__ShowHiddenThings (found no module):__**
ID: `-`
Match: ```
"horny","fart"
None
None
None
never cook again
That looks like they reverted a bunch of the patches from a week or two ago
@gritty iris @limber skiff
I'm sleeping now guh
no way they push this before the weekend
ill test a revert rq
Patching filtered words in discovery servers
oh
less cooked
horny fart
ฤฑnsane
wait I reverted 2 much
1984
ME
for what purpose

messagelogger serverlistapi and showhiddenthings
Ima rerun for perm viewer
oh wait I actually have canary updated nvm
okay just these
Why can't discord just have consistent bundler settings?
So we just have to revert a few and then fix a few
so replytimestamp messagelogger serverlistapi and showhiddenthings
yes
I cant read 
oh wait
I added stuff to serverlistapi
so exclude that
I cant just do this correctly can I with gh desktop
๐ญ
git web moment
The only time I ever tried github desktop it was a total shitshow.
I cant fork vencord as a branch
lazy git and the command line are good enough for me
so it forked my dev branch and I forgot it does that
Just add it as a remote and pull it locally
Im not that smart
but running reporter rn
correctly at that
Use lazy git, it's so good
It's legitimately been so good for me. I love it so much.
i should probably donate to them
ill try it
its correct now
trust
replytimestamp messagelogger and showhiddenthings
nope
I forgot is correct technically
I have good news my brain functioned enough to realize that reply timestamps is fine
It keeps the new patch
FakeNitro (had no effect):
ID: 74538
Match: ```
/(?<=canUseCustomStickersEverywhere:function(\i(?:,\i)?){)/
**__FakeNitro (had no effect):__**
ID: `74538`
Match: ```
/(?<=canUseHighVideoUploadQuality:function\(\i(?:,\i)?\){)/
FakeNitro (had no effect):
ID: 74538
Match: ```
/(?<=canStreamQuality:function(\i(?:,\i)?){)/
**__FakeNitro (had no effect):__**
ID: `74538`
Match: ```
/(?<=canUseClientThemes:function\(\i(?:,\i)?\){)/
FakeNitro (had no effect):
ID: 74538
Match: ```
/(?<=canUseCustomNotificationSounds:function(\i(?:,\i)?){)/
**__FakeNitro (had no effect):__**
ID: `74538`
Match: ```
/(?<=canUsePremiumAppIcons:function\(\i(?:,\i)?\){)/
ShowHiddenThings (had no effect):
ID: 212093
Match: ```
/{"auto_removed:.*?}/
**__NoBlockedMessages (had no effect):__**
ID: `306680`
Match: ```
/(?<=MESSAGE_CREATE:function\((\i)\){)/
VolumeBooster (had no effect):
ID: 345953
Match: ```
/(?<=isLocalMute(\i,\i),volume:.+?volume:)\i(?=})/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/MESSAGE_DELETE:function\((\i)\){let.+?((?:\i\.){2})getOrCreate.+?},/
MessageLogger (had no effect):
ID: 375954
Match: ```
/MESSAGE_DELETE_BULK:function((\i)){let.+?((?:\i.){2})getOrCreate.+?},/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/(MESSAGE_UPDATE:function\((\i)\).+?)\.update\((\i)/
NoBlockedMessages (had no effect):
ID: 375954
Match: ```
/(?<=MESSAGE_CREATE:function((\i)){)/
**__WhoReacted (had no effect):__**
ID: `542578`
Match: ```
/(?<=CONNECTION_OPEN:function\(\){)(\i)={}/
FakeNitro (had no effect):
ID: 581883
Match: ```
/CONNECTION_OPEN:function((\i)){/
**__ConsoleJanitor (had no effect):__**
ID: `613568`
Match: ```
/\i\.totalTime>100&&\i\.verbose\("Slow dispatch on ".+?\)\);/
MoreUserTags (had no effect):
ID: 674563
Match: ```
/((\i)={}))[(\i).BOT/
**__NoPendingCount (had no effect):__**
ID: `869404`
Match: ```
/(?<=getSpamChannelsCount\(\),\i=)\i\.getMessageRequestsCount\(\)/
MessageLogger (had no effect):
ID: 869765
Match: ```
/MESSAGE_DELETE:function((\i)).+?},/
**__MessageLogger (had no effect):__**
ID: `869765`
Match: ```
/MESSAGE_DELETE_BULK:function\((\i)\).+?},/
NoticesAPI (had no effect):
ID: 933429
Match: ```
/(?<=,NOTICE_DISMISS:function(\i){)return null!=(\i)/
**__SuperReactionTweaks (had no effect):__**
ID: `960020`
Match: ```
/(BURST_REACTION_EFFECT_PLAY:\i=>{.{50,100})(\i\(\i,\i\))>=\d+/
ShowHiddenThings (found no module):
ID: -
Match: ```
"horny","fart"
None
None
None
ShowHiddenThings (found no module):
ID: -
Match: ```
"horny","fart"
None
None
None
@median rapids fix that one ^
what the hell are these arrays?? ๐ญ
LMAOOO THE THIRD ONE
africoon, americoon, arabshit, assrape ๐ญ
what are these words
who says these lmaooo
I never heard any of these
probably empty all
but idk
just check the code to see how they're used

hunter2 and frik are funny
LMAO
probably for testing
so random tho
probably so they can test it without typing nasty words
they are so freaky
anyway yeah just clear all arrays
i can't believe big discord is hiding the friking from me
FakeNitro (had no effect):
ID: 74538
Match: ```
/(?<=canUseCustomStickersEverywhere:function(\i(?:,\i)?){)/
**__FakeNitro (had no effect):__**
ID: `74538`
Match: ```
/(?<=canUseHighVideoUploadQuality:function\(\i(?:,\i)?\){)/
FakeNitro (had no effect):
ID: 74538
Match: ```
/(?<=canStreamQuality:function(\i(?:,\i)?){)/
**__FakeNitro (had no effect):__**
ID: `74538`
Match: ```
/(?<=canUseClientThemes:function\(\i(?:,\i)?\){)/
FakeNitro (had no effect):
ID: 74538
Match: ```
/(?<=canUseCustomNotificationSounds:function(\i(?:,\i)?){)/
**__FakeNitro (had no effect):__**
ID: `74538`
Match: ```
/(?<=canUsePremiumAppIcons:function\(\i(?:,\i)?\){)/
ShowHiddenThings (had no effect):
ID: 212093
Match: ```
/{"auto_removed:.*?}/
**__NoBlockedMessages (had no effect):__**
ID: `306680`
Match: ```
/(?<=MESSAGE_CREATE:function\((\i)\){)/
VolumeBooster (had no effect):
ID: 345953
Match: ```
/(?<=isLocalMute(\i,\i),volume:.+?volume:)\i(?=})/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/MESSAGE_DELETE:function\((\i)\){let.+?((?:\i\.){2})getOrCreate.+?},/
MessageLogger (had no effect):
ID: 375954
Match: ```
/MESSAGE_DELETE_BULK:function((\i)){let.+?((?:\i.){2})getOrCreate.+?},/
**__MessageLogger (had no effect):__**
ID: `375954`
Match: ```
/(MESSAGE_UPDATE:function\((\i)\).+?)\.update\((\i)/
NoBlockedMessages (had no effect):
ID: 375954
Match: ```
/(?<=MESSAGE_CREATE:function((\i)){)/
**__WhoReacted (had no effect):__**
ID: `542578`
Match: ```
/(?<=CONNECTION_OPEN:function\(\){)(\i)={}/
FakeNitro (had no effect):
ID: 581883
Match: ```
/CONNECTION_OPEN:function((\i)){/
**__ConsoleJanitor (had no effect):__**
ID: `613568`
Match: ```
/\i\.totalTime>100&&\i\.verbose\("Slow dispatch on ".+?\)\);/
MoreUserTags (had no effect):
ID: 674563
Match: ```
/((\i)={}))[(\i).BOT/
**__NoPendingCount (had no effect):__**
ID: `869404`
Match: ```
/(?<=getSpamChannelsCount\(\),\i=)\i\.getMessageRequestsCount\(\)/
MessageLogger (had no effect):
ID: 869765
Match: ```
/MESSAGE_DELETE:function((\i)).+?},/
**__MessageLogger (had no effect):__**
ID: `869765`
Match: ```
/MESSAGE_DELETE_BULK:function\((\i)\).+?},/
NoticesAPI (had no effect):
ID: 933429
Match: ```
/(?<=,NOTICE_DISMISS:function(\i){)return null!=(\i)/
**__SuperReactionTweaks (had no effect):__**
ID: `960020`
Match: ```
/(BURST_REACTION_EFFECT_PLAY:\i=>{.{50,100})(\i\(\i,\i\))>=\d+/
None
None
None
None
None
None
None

forks aren't real
branch protection stuff
discovery search blocklist i think?
something related to discovery
lol what
i dont think they use this for server discovery?
they don't
@limber skiff you patched the wrong thing I think
definitely wrong
do not push this to main
i'm confident this is wrong
oh?
old discovery is Gone Gone?
deffo remove it
so where the heck is the filter now
remove the filter entirely, keep the 2nd part
I knew those 4 arrays were sus
little known secret
huh?
i have a plugin that scans these lists and warns you before you send anything in them
using the same system used for the censoring itself
ah
i'm surprised not a lot of people know about this feature/how it works
I think the other list is gone now
agreed
just have to remote the patch then

thanks for warning me haha
force pushing to dev branch time
how would one find the ID of the module for forwarding messages (33648) when its not loaded, so you can wreq.e() it to force load it?
wdym module for forwarding messages
You don't
yeah, .sendForward()
which
aka the actual function to forward a message
are you sure it's lazy loaded
yes because unless i open the forwarding menu the module is not found by findByProps
either that or i am severely misunderstanding how to webpack properly
there's something really good in #๐งฉ-plugin-development about lazy loading
oh oops didnt see that channel
it isnt pinned
oh it wasnt on my list thats why
oh this looks promising #๐งฉ-plugin-development message
lol
you have the chunk id here already
just search for that number in devtools
and you are gonna find where it's loaded
should that be pinned?
yeah i did
But hardcoding module ids is no good
yes
how did you do it?
await Webpack.extractAndLoadChunks(["let{ForwardModal:"]);```
for force loading it
['"forward-modal"', "initialSelectedDestinations:"]
I recommend this instead
just so you don't rely on the component name not being mangled
ok yeah that works too thanks
Have they pushed to stable and are things fixed yet

how do i force vencor to explod the cached remote theme
Ctrl f5, isn't it?
Disable caching in network tab and reload
I can't seem to figure out why you can't toggle everyone mentions when you don't have the permission to do so in the guild but you do in the channel, but this change is requires as the roles filed is not directly present.
You need to do this now.
const role = guildId ? GuildStore.getRole(guildId, roleId)?.name : undefined;
Posted a known issue announcement, ping me when things are fixed (but I might be asleep in a few hours so feel free to just remove it)
when did they push to stable what
A while ago
None
None
None
None
None
None
None
None
Wack, since when was there a update, people keep complaining
done
I see no automod
mods crush this person's skull
Lobotomised! ๐จ

gangbanged by tessie and venbot
They love me
need to bump version
Can we pin this
already?
I love waiting for workflows
Whats the general workflow around here? Do you just go between pure maintenance and pushing new plugins/features whenever or is there a predefined schedule?
I'm guessing you push stuff when you feel like it
I have the same question
Not being picky about how you do stuff (i know maintaining software is tricky and burnout happens) but I've seen seemingly perfectly good stuff just sit eternally waiting and waiting
there's no workflow or schedule
fixes are merged immediately
new features whenever I feel like it
(or nuckyz)
can you feel like merging SVGEmbed? 
and by feel like it i mean have motivation to
maintaining large software is not fun ๐ญ
every merge has to be carefully reviewed
in my personal projects I just push whatever tf I want without much care
if I do that in vencord and explode something... oh boy
have to check if it even still works
discord changed something about cdn cors
Vencord Eol June 18 2025
i think it broke emotecloner
imagine being a Google engineer or smth
one faulty push and you cause billions in damages
its okay if you make vencord explode its okay you only get dmed 1000 times and the server has to go on lockdown
it's okay if you push the vencord rat and steal everyone's tokens
Who said that wasnโt pushed long time ago?
shh it was supposed to be a secret
mb gang
Whatever is done on this repo to alert PRs when they are out of date with the base branch just causes people to spam the shit out of the update branch button
do they not understand it'll be done when the PR is being reviewed or merged? ๐ญ
we don't need 50 merge commits on one PR
jamesbt walks by, just to say facts. they would need time to realize
I broke my branch many times because of force pushs
๐ฅ
skill issue
Don't base on dev then
it really doesn't matter
None
None
None
None
None
None
None
None
Tooltip currently shows N% when it's actually Nx zoom
I want to shove even more stuff into SupportHelper
How horrible of an idea is this?
Specifically
Deep links to settings
and plugin URL embeds like invites
was thinking of making this for a while.
I am so out of ideas rn

is this known? really funny bug
#๐ฅ-vencord-support-๐ฅ message
lmao its stock discord too
what kind of DOM even causes this shit?
.,,.,.,.
its real
@grizzled halo you can actually click anywhere on the profile picture to activate it?
wha
this is funny because git documentation says to Not Do This yet GitHub has a button implying you should
This patch aims to revert the channel name obfuscation experiment, which might get added to the default gateway flags in the future.
โhi jason citrus can u please terminate meโ
exactly what I was thinking
as soon as discord bombs the experiment, it will immediately set off red flags
i feel like theyll probably just send those hidden channels regardless of if that is sent once the experiment is rolled out
unless they use something like your super properties to determine if you should have it
yeah honestly probably
do clients send their version number to gateway
unsure
@grizzled halo would you know if emote cloner is broken or just an issue some people have
Idk, it worked for me
Petpet doesnโt work for me though
Theyโre on latest too
petpet didnt work for me too until it just started working
Petpet worked for me 
show error
Oh now it works, it didnt work the first time
this was the same error i had #๐ฅ-vencord-support-๐ฅ message
but considering it works now i cant check my console
I can cause that by entering a non image url in the url option on mine, maybe something is up with the url returned sometimes? 
peak error
@Vendicated any edits/suggestions?
@limber skiff remember https://github.com/Vendicated/Vencord/commit/467c5e0c4c00b021ec8ae8ecf0ee929630ec7f31#diff-7e0b5e6880aa6636616555182418e047f17d5c0e4eb974cb68e578c43082ebdd
yes
we need to bring this back after a discussion I had in #๐ฅ-vencord-support-๐ฅ
why
images getting shitted due to webp?
it totally is minimal
but it looks horrible once you notice
hmm
30k bytes non shitted
and 16k bytes shit quality image
Discord Account
isatsou_01682
What happens when the bug or crash occurs?
when i run petpet
What is the expected behaviour?
pet
How do you recreate this bug or crash?
run petpet
Errors
[object Event]
Request Agreement
- [X] I am using Discord Stable or tried on Stable and this bug happens there as well
- [X] I have read the requirements for opening an issue above


It's been discovered in the support channel to be a CORS issue, only some users are experiencing this, see #๐ฅ-vencord-support-๐ฅ message
EmoteCloner also is broken due to CORS for some users too
Discord most likely will stop this capability from working once they are finished experimenting, so I doubt this will be effective. I don't think this is relevant yet anyway, is it? Since it's experiment controlled and you can just not enable it
once they roll out this change for everyone, we can reinvestigate
whats the bet they are on the userscript
i don't see them in the server so they probably ignored the 500 messages that say not to open issues without asking first
nop also happens on vesktop
yes discord changed something about cdn cors
insane fix: i add 1 more & until it works 
idk lmao
this seems like a bug on discords end
cause it will also break the save image button on desktop
how ๐ญ
incredible
https://github.com/Vendicated/Vencord/blob/dev/src/components/PluginSettings/PluginModal.tsx#L235 why is main hardcoded here
PluginModal.tsx: Line 235
href={`https://github.com/${gitRemote}/tree/main/src/plugins/${pluginMeta.folderName}`}
shouldn't this get the branch at build time just like the remote?
my copilot auto completed dolfies as the author

holy shit
@rugged spire
https://cdn.discordapp.com/attachments/1015063227299811479/1292510536289878076/image.png?ex=6703ffbd&is=6702ae3d&hm=29d0135ad378c5b2f544a181b38b360f012761f11179140a7da8685c6e62cdad&
https://media.discordapp.net/attachments/1015063227299811479/1292510536289878076/image.png?ex=6703ffbd&is=6702ae3d&hm=29d0135ad378c5b2f544a181b38b360f012761f11179140a7da8685c6e62cdad&=&format=webp&quality=lossless
look at the difference
totally different color lmao
ikr
who would have guessed the screenshot of me doing the plugin would be affected by it
LOL
why aren't you patching it to just be png instead of webp (like the old plugin?)
it's not that easy
the other plugin caused issues with gifs or autoplay or something
like I said here
but that requires more than just removing part of the Discord code, and a bit of study to make sure it does not cause issues.
oh?
dolfies everywhere ๐ฝ
mb wrong channel 
I did it I think
bruh
it's the same fucking thing
now what even is the issue I had before
;sob
seems to work 
testing that userplugin that was recently posted?
oh
what's wrong with using the thread sidebar itself without modifications
of course something good gets pushed to dev right after i pulled from it 
problem 
they close when channel change
Merged branch dev into main? wrong, git reset --hard
makes sense
though, why don't you just hardcode the channel key ID to 0?
originally i used the mod view thingy lol
mod view and thread sidebar are already mutually exclusive
oh yeah true
the chat sidebar would close if the user wanted to create a thread or opened modview
Use ssh signin
Content
Guys how do I stop dc from kicking me from dm calls when I go afk? I thought this plug in would fix it, but it still happens :(
Request Agreement
- [X] I have read the requirements for opening an issue above
@limber skiff is the icon supposed to be right here
good
these arrays are all for the client-side word filtering pretty sure
so none of those
should've kept reading first xd
Been having this issue since discord version 0.0.60 and newer and could easily replicate it on Arch Linux. Tried in 3 different machines (clean discord installs or not), and in all 3 of them, vencord would only work properly on discord version 0.0.59 or below (installed from the arch repo). Anything above that led to error.
isnt this a discord breaking the deb issue
if they mean 0.0.70 instead of 0.0.60 then probably
but given how old this issue is i doubt it
None
None
None
None
None
None
None
None
2 repos with no code
steamdb owner uses vencord confirmed
how easy would it be for me to remove vencord from vesktop
huh. TIL userscripts can have icons
Hardest part is probably fighting off the angry mob
im guessing all i'd need to do is remove any asar patching code
its still better than vanilla discord (on linux)
wait actuallu
just don't turn any plugins on and leave it there, NoTrack/WebContextMenus and stuff could be nice to have
yeah i'll just delete every non-default plugin and the themes
im just thinking about a potential Vesktop-Lite
alternatively just make this load nothing / look at where vesktop downloads vencord from github and yeet that code
why lmao
though im pretty sure some of vesktop's added linux support comes from vencord does it not
a lot of vesktop stuff has connection to vencord
neat, thanks! didn't know this was a thing
thinking about a potential fork of vesktop thats just discord but more linux capable
witnessing a commit live
i was assuming so
all its browser sided code uses vencord apis
just finding out whats possible
e.g. its settings page, the screenshare modal, rich presence, etc
vesktop without vencord is just an electron app that solely does loadURL('https://discord.com/app')
true
and venmic?
๐ฅฑ
Sick
None
None
None
None
None
None
None
None
const { ensurePrivateChannel } = findByPropsLazy("ensurePrivateChannel");
const ChatInputTypes = findByPropsLazy("FORM", "NORMAL");
const Sidebars = findByPropsLazy("ThreadSidebar", "MessageRequestSidebar");
],
contextMenus: {
"user-context": MakeContextCallback("user"),
"channel-context": MakeContextCallback("channel"),
"thread-context": MakeContextCallback("channel"),
"gdm-context": MakeContextCallback("channel"),
},
renderSidebar: ErrorBoundary.wrap(({ maxWidth }: { maxWidth: number; }) => {
Can you send me this plugin
Is this ShowMeYourName for mentions?
adds support for user mentions in show me your name
yes
it's the settings plugin but modified. check IconsTab or IconsTab-codeblocks
differ is the codeblock feature
INSANE
im pretty sure there was a find for getting the icons
yea lol
findByProps("AIcon")
you must map the icons...
and btw that find is the same as Webpack.Common.Icons
isnt your solution well.. harder to maintain especially if discord removes/adds icons
uh that's correct, but its fixable with logger and one if statement
as long as it works 
when you dropping them in #1032200195582197831 
Soonโข
i will not sleep till that day comes
no, sleep you need that stuff 
nuh uh
So the plugin is effectively useless for what you'd expect it to do?
i mean
grabbing the icons manually would probably be faster than grabbing all names
true
but also that is absolutely cursed
why not ```js
Object.keys(Vencord.Webpack.Common.Icons).filter(k => k.endsWith("Icon")).map(k => Vencord.Webpack.Common.Icons[k])
oh no
why not ```js
Object.fromEntries(Object.keys(Vencord.Webpack.Common.Icons).filter(k => k.endsWith("Icon")).map(k => [k, Vencord.Webpack.Common.Icons[k]]))
I have no idea what to call it tho ๐ฅด
better do the sound effects too
sound effects arent that hard to find
@sterile oak
AssetLibrary
would call it that when I add more. like sounds
current name: IconViewer

anyways when is the post in #1256395889354997771
hopefully today
you seem so excited 
First time messing around with patches, mine is probably suboptimal and is mainly a rip of the .reactorDefault patch.
Also not that well versed with js/ts, so I don't expect my code to be the most optimal/fit convention of this project, but hey, I tried!
that sucked the soul out of me
i do not wish to do that again
i went through all 5 stages of grief to come up with shit code ๐ฅฐ
On your next patch I'm sure you can optimize it down to only 4 stages
return props.channel?.guild_id
no hardcoding!
match: /,onContextMenu:\i=>.{0,15}\((\i),(\i),(\i)\).{0,300}nickname/,
getPollColor(props: { channel: Channel; user: User; }) {
the Channel type's guild_id is a string whereas the actual type discord can return here can be null?
The patch above this one hardcodes it too, should that also be changed?
whats the difference? channel shouldn't be null or undefined or anything
it can be
discord might change in the future
you shouldnt rely on anything that comes from discord
true this is a client mod discord ruins everything
SupportHelper (had no effect):
ID: 600084
Match: ```
/BEGINNING_DM.format({.+?}),(?=.{0,100}userId:(\i.getRecipientId()))/
None
None
None
SupportHelper (had no effect):
ID: 600084
Match: ```
/BEGINNING_DM.format({.+?}),(?=.{0,100}userId:(\i.getRecipientId()))/
None
None
None
Rip support helper
wtf how are we going to tell people not to dm plugin devs anymore
am i stupid or did the patch helper vanish too
u sure you are on a devbuild?
yes lol
yes
im using it to fix support helper right now
dang i was gonna fix it but now i don't feel like it
@jolly egret i see you
either way i don't see dev companion anymore and i was using it earlier, nothing else changed but i also don't care to debug it if somebody else is fixing the broken patch
hi
why do you have an alt here for testing ๐ญ
what are you testing here
support helper ๐ญ
@jolly egret you love
this isnt that good
it just broke cause the bundler reordered some code
if it reorders again like previously
it will break again
gg
Hey uh, it's been like 2-4 months since my PRs were last looked at, so can I just quickly link them?
my one line pr, haven't been looked at for 3 months 
sdadsadsaasd
guh
dont you need to test a different way
yeah that bug still exists
also quantifier in lookbehind 
2dce060 MessageClickActions: Fix editing messages which... - programminglaboratorys
wow PRs are being merged
totally not the one they complained
i'm afraid of becoming one of those guys with PRs from 2022 
what needs to be fixed is the english language to say timedones
instead of fixing the typos fix the language
Fixed said issues, but the expression picker is broken; it will open on both and selecting anything will hide it, i dont really understand the code for it so if someone could give me some tips on how to fix it that would be great.
dont they just steal discords component
obviously not
yeah i just realized that
duality of man
plugins and themes menu switches use switch.tsx which defines var based switches
other switches yoink the discord component
guhhh
@uneven needle i have nothing to do today, so ill look into this later
?remind 5pm
Alright @fossil inlet, in 8 hours, 6 minutes and 55 seconds: โฆ
what the fuck
and used them in two menus ๐ญ
actually not even its just for the plugin/theme card
Is there a reason not to reuse the theme vars
because there are hundreds of plugin cards
yeah
Changing the the chat input type to ChatInputTypes.SIDEBAR works @uneven needle
Oh
Which also made me notice that the chatbar api doesn't take sidebar chats into account
Even for stock ones from threads and stuff
Noticed that too while debugging earlier
@scenic brook you should upload your companion port
Should it?
Oh yeah, I forgot about that tbh
Don't see why not
It doesn't have to be public, I just want to see if it's worth implementing in vscode or how many intellij APIs it uses
I've set a reminder to go into it after work
@jolly egret you should close https://github.com/Vendicated/Vencord/issues/2920 
maybe you should've used a closing keyword
oh nvm you did but you targetted dev not main
+1 on this. I use my PTB and normal discords for very different purposes and being able to specify "keep these settings separate" would be ideal for me. Even if it's opt-in, I want it.
weird fuckery with the uncatorgorized channel
show code or patch
one moment

the id for the uncatgorized channel is "null" (a string) and SHC doesnt include it when it filters hidden channels
its weird
absolute horror
I was trying to see why settings searchbar doesn't search for vencord tabs and apparently the function that filters the tabs relies on some giant static list 
after like 20 cycles of trying to find what function does that I finally randomly found the needed one lol
tho now if I want to try to fix it, I gotta come up with some smart and not shitcode solution
terms is where all these uh searchable strings are stored, perhaps I can modify the highlighted line to append the list with the vencord strings
This fixes a bug in show hidden channels where you could not move things down if they were not in a category.
You also could not move uncategorized channels up or down.
This bug was caused by the Uncategorized category being filtered out, breaking discords code.
not sure if this fixes https://github.com/Vendicated/Vencord/issues/2639 or if this is another bug I found while looking into it
Nevermind now is working
almost like it was a discord issue that discord fixed
@fossil inlet, <t:1728478385:R>: โฆ
None
None
None
None
None
None
None
None
Finally got round to it https://github.com/lolsuffocate/VencordCompanionIDEA/
I have no idea if it'll work in webstorm, I think targeting IDEA Ultimate should work for both but I don't have webstorm to test
I'm also aware some of the code in there is horrible but it's a WIP so y'know
Let me know if you want a built version and I'll dm you the zip, I feel like sending a built plugin in zip form publicly seems sketchy
nah im building myself

I'm gonna PR a couple of changes I added to dev companion in your branch as well, feel free to rework them as I kinda just threw them together
@scenic brook where is the entrypoint?
kinda actions.Startup but it just uses a bunch of extension points so there isn't one particular place
Under /resources/META-INF/plugin.xml, in the extensions tag, basically all of those
@scenic brook what
ngl I don't really get what they want the version number to say, I got that error to begin with too and just changed it around until it stopped complaining, what it's currently at works for me 
Actually that being said, I did change from the old intellij gradle plugin to the new one last night so I guess it might treat it differently, I was previously using since("2024.2.0.1"), maybe it's now treating it as until instead
Should be sorted
@Vendicated still awaiting some review.
incredible
47db61d Add icon to userscript meta (#2936) - xPaw
89bb3ee SupportHelper: fix DM warning card - Vendicated
2dce060 MessageClickActions: Fix editing messages which... - programminglaboratorys
aa1b446 ShowHiddenChannels: Fix re-organizing channels ... - sadan4
81497f2 Workaround https://github.com/electron/electron... - Nuckyz

its been so long



