#👾-core-development
1 messages · Page 222 of 1
the new patch here is kinda cursed, couldnt come up with a better way to do it
oh my god thats... horrible
please find a better way
this is cursed
please come up with something better
sadanic
have y'all not fixed the fake nitro emojis not animating yet?
pr closed as it seemed to be a discord bug
that was fixed on canary at the time
ah
is it still an issue on canary/stable?
discord seems to have pushed this to stable and canary
@limber skiff discord seems to have pushed webp links for animated emojis to stable and canary
Yes
I cant build vencord it return
You can mark the path "@vencord/patcher" as external to exclude it from the
bundle, which will remove this error.
What file is throwing that error
My custom plugin
Hey, Whats the progress on this plugin?
megu will love
animated webp
the only person i hear talk about animated webp

a while back i made a plugin for embed support for animated webp, avif and other things
i think it would be funny to add SVG to it
animated webp is awesome
webp in general is sick, just needs more support 
lmaoo
@fossil inlet I think I messed up the character in this patch when I first made it
I'm pretty sure it's supposed to be a negative lookbehind
but I made it a negative lookahead because I typed the < after
it was supposed to be this
yep
it was completely wrong lmao
@fossil inlet can you check if just this fixes your issue?
seems to be working for me
Sure
this patch
{
find: '["aria-hidden"],"aria-label":',
replacement: {
match: /null==\i\.icon\?.+?src:(\(0,\i\.\i\).+?\))(?=[,}])/,
replace: (m, iconUrl) => `${m},onClick:()=>$self.openAvatar(${iconUrl})`
}
},
doesnt work
what's the issue?
that patch has the same effect as my current PR
but without the check
for the icon in the server list when you have unread messages
discord uses the same component
I marked unread messages in group dms
and it wasnt opening the icon when clicking it
on laptop 
@limber skiff i think i might know why
let me test something
alright
just wanted to drop that openasar is crashing linux canary 0.0.518 when installed using vencord (havent tested installing separately 
)
logs and (re)install script attached to messages in support:
#🏥-vencord-support-🏥 message
#🏥-vencord-support-🏥 message

nope, was wrong
anyway
after some testing, neither fixing the negative lookbehind or the just changing the find works
discord still uses the component there
openasar issue
probably
reasonable, just thought id mention in case it crops up
None
None
None
None
NoMosaic (had no effect):
ID: 499376
Match: ```
/=>"IMAGE"===\i||"VIDEO"===\i;/
**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] `context` will be removed in a future version. Instead use `import { createStore, useStore } from 'zustand'`. See: https://github.com/pmndrs/zustand/discussions/1180.
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
did we push browser already?
nop
Wait @limber skiff are patches broken or not
wdym
right as I push my app turns pink
There were like 20 different reporters and I'm confused
None
None
None
None
None
None
None
None
@austere talon done 
You were telling me that whole time it was just a debugging chunk
yes it's a chunk that loads a css file
I believe the purpose of the pink is to find things that are not using css variables as it should
Doesn't desktop visual refresh not use css vars
No idea
(I could be hallucinating that.)
Pink is older than visual refresh anyway
visual refresh uses vars yeah
most of the normal ui is var based now too
why tf is it broke
in extension
I just pushed an update to it
iirc a find failed
so on use it crashed
ah that makes sense
yeah thats normal. i was just confused bc nothing in that should be particularly error-y
discord is two versions behind on the store lib they're using
but ofc if zustand is missing it all goes to shit
i know it's tragic it was so fun developing decor with it
thank you i love vencord model
i will rewrite decor api one day
I hope discord doesnt remove zustand one day
if they do im cooked
but they use it in like a few places so it's fine
(just bundle zustand in)
@limber skiff do you know what wreq.j is
ya
I lied
it's
/** The runtime id of the current runtime */
and what does that mean? no idea
it's you dont need this
im not using, im trying to figure out why its used
search for it in rspack
god i love github search
I'm kinda surprised the wreq keys are stable
If they wanted to sabotage mods, that'd be a fairly effective means I think
if they wanted to do that, there would be other, better ways to
I guess
cause they are manually minified
by webpack (actually rspack but it follows webpack names)
as in they are minified in source code
you can't safely minify object names in js so it is very rare for websites to do this
const object = {
youReallyDontWannaMinifyThis: "hi"
}
console.log(object["youReally" + "DontWannaMinifyThis"])
you can do it but then you need to have to be very carefully that none of your code (and none of your dependencies' code) dynamically accesses object members
which is just way too much effort for negligible returns
None
None
None
None
None
None
None
None
coming soon™️
note to self: EmoteCloner has the same issue with animated emojis as FakeNitro had
RevealAllSpoilers doesn't seem to work correctly (at least with mine and another users limited testing)
||asd||
isnt that a stock feature, or am i crazy
it adds a keybind
||asd||
||ASDASD ||
nevermind, both work
do they? I can't get it to
@jolly egret
oh you have to click on a spoiler yourself? Thats ambiguous
at least in the case for every message, it doesn't really say that it has to be on a spoiler then
it just says "in the chat"
i read it as
well thats confused me and a user so it is a fault with the description of the plugin really
reveal all the spoilers in a message by ctrl+click'ing the spoiler, or reveal all the spoilers in the chat by ctrl+clicking the spoiler
but yea, it is poorly worded
tbh i did the same thing at first, then read it again
that was me
you cooked TOO hard
Your formatting stage is much quicker than mine depending how long I've had the IDE open lol
Do you use the IDE's formatter or just something like prettier?
Prettier
Nice
I considered it but figured it'd be cool if the formatting followed whatever the user had in their js project settings
I couldnt find a vscode api to format a string
It's a bit of a pain in intellij as well, I have to make them psi files first and then run write operations on them all to format the file
ive gotten a few reports of animated emotes not working still, didnt this fix it?
all reports are on latest version which has this fix
supposedly those with the plugin can see it but some (stock) others cant see it animate
Yea, I'll test again when I have the chance
@limber skiff Thank you
I keep forgetting to mention, the extract method for findByX is kinda broken. Like if you're doing findByProps and it returns an object with the props, you pass that into the Set and it counts the multiple props as being multiple matches and responds saying the find has multiple matches when it doesn't
I think it'd be better to just have our own version of findAll that returns both the stringified contents and the module ID rather than the whole foundFind thing it does right now
Is foundCssDebuggingLoad even set to true?
I did fix it a while back on my own branch but I overwrote it for some reason
Actually it might be test find, not extract, sorry. I'll look at it again later when I'm at my PC
you can test it if you want
run in the console
Vencord.Util.getEmojiURL("id", true, 48)
make sure id belongs to an animated emoji
well that's a gif
so it should animate
funny thing is that discord renders that as an emoji
fake nitro does
also what was the thank you about lol
it is rendering as webp
lol
even though nobody is really using that module
thanks for pointing out I didnt set that variable tho
but it's not because anyone is using it
but because loadLazyChunks makes it load
and turns the app pink
yes i worded that badly
which is quite annoying
nobody wants that to load
yeah
@grizzled halo can you ping me in support when someone has the fake nitro issue and is up to date
(my main account)
could you send an example patch for where this doesnt work
Will do later
PinDMs line 30
The findAll in the extract case returns an object containing the exports which makes the findModuleById fail because it's finding [Object object] instead of the actual module contents
The way I fixed it previously on my branch was just to have our own findAll that stringifies the module contents there and then and returns it with the ID instead of doing a separate find for it
@fossil inlet forgot ping
Use the newest themes for shiki by switching the repo to https://github.com/shikijs/textmate-grammars-themes where the themes are now and adding the new ones that were added.
thank you discord experiment #🔧-discord-changes message
I suggest doing this instead
{
find: ".removeMosaicItemHoverButton),",
replacement: {
match: /\.nonMediaMosaicItem\]:.{0,40}children:\[(?<=showDownload:(\i).+?isVisualMediaType:(\i).+?)/,
replace: "$&$1&&$2&&$self.renderPiPButton(),"
}
}
the current is way too specific in the children amount
looks like that works, committed
GithubLightHighContrast: shikiRepoTheme("github-light-high-contrast"),
let's not rename these. pretty sure it will reset people's settings or even make them invalid
^ @spark cove since u wrote that plugin, does that pr look alright?
Discord Account
sirpigari
What happens when the bug or crash occurs?
it crash on start after i install it
What is the expected behaviour?
it should open noramlly but it crash instead
How do you recreate this bug or crash?
download vencord
install it
open discord
crash
Errors
Replace this text with your crash-log.
Vencord PluginManager Starting plugins (stage Init)
Logger.ts:40 Vencord PluginManager Starting plugin NoTrack
Logger.ts:40 Venc...
use our support channel.
After ur review ya
Looks good
um… something possibly related to discords plans to actually try to patch showHiddenChannels?
#🔧-discord-changes message
true
you can now see all the uses for a webpack module
integration with the vscode UI will come soon™️
the music is part of the show
8558b1a ShikiCodeblocks: Updated codeblocks themes (#3013) - ItsFrocat
- I think the button in the context menu is useless
- What are the lags when enabling the plugin and blocking users?
Lags? What Lags?
Can you tell me what to do to reproduce that?
And The button in what context menu?
Like I like the insta one to "block and mute" because that also skips the extra step of "are you sure you want to block personXY?"
c4f6f15 PictureInPicture: Fix button not showing up (#3... - lumap
guess i'll update my PR in hopes it gets looked at in the next century :P
silly intl breaking my shit
what's your pr lol
well... i have 4
this one is the only that got broken
yeah actually it was just a conflict i don't have to do anything but a git merge
match: /\.nickname,(?=children:)/,
replace: "$&style:{color:$self.getColor(arguments[0]?.user?.id,{channelId:arguments[0]?.channel.id})},"
test if that works for me
i tried to avoid adding a new one but i just idk couldn't figure it out
well, changes applied
replace: "$&style:{color:$self.getColor(arguments[0]?.user?.id,{channelId:arguments[0]?.channel?.id})},"
or better yet, pass the raw arguments and handle it inside the function with try catch
yeah
it needs proper handling
and removal of the duplicate methods
I'm just busy rn
yeah but its used in more than one place i'm not sure what I can do
I'll just commit the suggestion and somebody in the future can go ahead and dedupe/handle it better if thats fine, if not I can see what I can do now but I'd rather not accidentally break something
None
None
None
None
None
None
None
None
partially replicated with this textreplace (regex):
find: :(?<char>[a-z]):
replace: :regional_indicator_$<char>:
Discord Account
No response
What happens when the bug or crash occurs?
Everytime I start sharing my screen, my microphone audio drops.
What is the expected behaviour?
System microhpone volume no change
How do you recreate this bug or crash?
- Install Linux
- Install Pipewire (Pipewire-pulse, wireplumber and maybe of other pipewire libraries??)
- Join vc
- Share screen and notice that your systems microphone volume drops
Errors
[UnifiedConnection(stre...
Resolves #1466.
This PR implemented an online theme CSS override feature, which allows user to configure their online theme using CSS override.
Limitation
- When there's an
@importCSS at-rule in the remote stylesheet, those imported stylesheets' CSS rules won't be visible. It will make things more complex if we want to fetch and parse those stylesheets recursively.
Screenshots
why husk this is a solid idea
cause you can just put those overrides in your quick css
true
having more user friendly ui will always be better
I think it'd be better as a modal rather than an inline, inline (at least, from my experience) has always been a lot more messy and hard to use
yop
None
None
None
None
None
None
None
None
I think it'd be better as a modal rather than an inline, inline (at least, from my experience) has always been a lot more messy and hard to use
I agree with this. Change to modal component.
<img width="1035" alt="Screenshot 2024-11-16 at 8 28 26 AM" src="https://github.com/user-attachments/assets/2ea3947f-f289-4381-9509-86eb29761a7a">
<img width="1008" alt="Screenshot 2024-11-16 at 8 28 41 AM" src="https://github.com/user-attachments/assets/06c9c09e-9e4c-439d-bcac-9560cfb31344">
Added Macros plugin, basically just allows you to use slash commands as a permanent clipboard. Suggested by a friend who wanted quick access to GIFs instead of going thru the favorites menu
https://github.com/user-attachments/assets/5313ca26-8fa0-496c-93db-b7fe37de5e68
oops, didn't even realize i changed someones formatting in the commit as well
- MessageTags exists
- in the future use the proper license header
MessageTags exists
- in the future use the proper license header
didn't even see messagetags... oops
5 morbillion options
HORROR
me when i dont know how to use the datastore
@Vendicated you will review
is vancord better than better discord?
‘vancord’ 🗣️🗣️🗣️🔥🔥🔥
for me, it straight up doesnt work
No
veeee 😭dicated
vee will review
she'll review now or we are getting the pitchforks
LOOOOOL Discord Video Quests are busted as fuck
you can just open devtools and set playback rate to 15
lol whats the fucking point
wtf is a video quest
discord: we make you watch an advertisement and we give you an avatar decoration for 2 months
lol lmao
I get emails about these notifications BTW
205 open pull requests ready with pitchforks
Bump once an hour until it's done
latta ai will come to Vencord Plugin Requests one day
use our support channel instead of necroing two years old threads.
💀
None
None
None
None
None
None
None
None
Content
I think it's very inspirational
http://www.developerexcuses.com/
Request Agreement
- [X] I have read the requirements for opening an issue above
that site doesnt even support https 
Lgtm but needs more error handling
Is there anything in particular you have in mind?
Maybe I'm missing something obvious but I feel like I covered everything I could think of
how did we get here
the first excuse is "ssl too hard and im lazy"

what a kind act for the people, appreciating your neverending love for aliucord; your benevolence and warmth shown by such a poetic sentence.
torvalds was here uwu
speaks volumes. truly inspirational and life changing. thank you torvalds for your kind contribution to society. your words are by the heart of the people and will never be forgotten.
whats linux btw
lmao
Adds a button to toggle the state. When you type something, it will get "UwUfied."
had a few people upset about getting banned (or getting upset on someone elses behalf) over resubmitting decors that were rejected because they didn't receive the dm, this should make it clearer that should be in the server and enable dms there if dms arent allowed globally
not sure who signed the commit but it would’ve been better if it wasn’t
Resuts
Resuts
cool where did my branches list go
this extension loves to make my buttons disappear
resuts
yop
unrelated but vscode over ssh loves to hide the secondary sidebar
Spit them out
git lens might have exploded somehow
cuz I cant seem to be able to enable it again
Supersed by https://github.com/Vendicated/Vencord/commit/ea2772476dc6d042b1e3769ad24727b01b02878d
I've added your feature and credits
5cf2211 Decor: Update notice about joining the server f... - jenkuuuuuu
76df29f Actually stop searching for CSS debugging chunk - Nuckyz
8558b1a ShikiCodeblocks: Updated codeblocks themes (#3013) - ItsFrocat
c4f6f15 PictureInPicture: Fix button not showing up (#3... - lumap
99458da ViewRaw: Add support for Group DMs (#3010) - verticalsync
ea27724 RoleColorEverywhere: Poll Results & Cleanup - Nuckyz
lets go
horror
surprisingly a decent chunk

Important
super important
gg
None
None
None
None
None
None
None
None
Added handly icon buttons for quick edit and reset.
https://github.com/user-attachments/assets/043c995c-d1f4-49e2-8c8f-3c9cc6c736ce
- I think the button in the context menu is useless
- What are the lags when enabling the plugin and blocking users?
Lags? What Lags? Can you tell me what to do to reproduce that? And The button in what context menu? Like I like the insta one to "block and mute" because that also skips the extra step of "are you sure you want to block personXY?"
When I block someone using this plugin, it takes half a second before I can browse channels or do anything else
Also, I realize...
Content
I would like to know how to be able to change chrome flags that discord is using, or have it implemented as a feature to be able to either change chrome flags or select with GPU to use. I would assume that it wouldn't be that difficult to change the chrome flags of Discord.
Request Agreement
- [X] I have read the requirements for opening an issue above
I want to use OpenGL with Discord
None
None
None
None
OpenInApp (had no effect):
ID: 49012
Match: ```
/function (\i(\i,\i){)(?=.{0,100}trusted:)/
**__ShowHiddenThings (had no effect):__**
ID: `726115`
Match: ```
/\i\.\i\.get\(\{url:\i\.\i\.GUILD_DISCOVERY_VALID_TERM,query:\{term:\i\},oldFormErrors:!0\}\)/g
None
None
None

Canary seems to be crashing on right click on vesktop #🏥-vencord-support-🏥 message
useless error but yea
Horror
minified react error 🔥
You can also just google the error number lol
the stack is still useless
incredible
need to look at plugins that patch message context and figure it out
I only keep it enabled because it extracts rreact into its own module

Its nice for stack traces
@austere talon are you fixing this rn, because if not I can
its probably webcontextmenus if i had to guess
well its been deployed for an hour or so who knows if they'll revert
decor fixed
might add more fixes to this if I get to them
that method is still supposed to exist iirc
unless discord update their code to use the newest method and now the bundler removes the deprecated one
which in that case yes that makes sense
there was only one instance of useSyncExternalStoreWithSelector: when searching
also the right-click crashing isnt webcontextmenus
yeah them it's probably what I told
iirc that second parameter is like a filter or something
and now zustand has a separate function for that
but it discord was still using the old then it was still being included in the bundle
i have no idea how zustand works, do we need to use a different patch because of that
i love when the tool i spend an hour making to save five minutes becomes useful
@austere talon @jolly egret i think the context menu crashing is a discord issue
horror
oh great!
found the issue
no track
this patch
// {
// find: "AnalyticsActionHandlers.handle",
// predicate: () => settings.store.disableAnalytics,
// replacement: {
// match: /^.+$/,
// replace: "()=>{}",
// },
// },
@limber skiff you love
hope im wrong
okay it just started working
yea
i think discord did an oopsie
@jolly egret can you try on canary and see if you can repro now
To being
reccomended
whar?
spelling errors
it fixed
reverted?
ye
aight
OpenInApp (had no effect):
ID: 49012
Match: ```
/function (\i(\i,\i){)(?=.{0,100}trusted:)/
**__ShowHiddenThings (had no effect):__**
ID: `726115`
Match: ```
/\i\.\i\.get\(\{url:\i\.\i\.GUILD_DISCOVERY_VALID_TERM,query:\{term:\i\},oldFormErrors:!0\}\)/g
None
None
None
OpenInApp (had no effect):
ID: 49012
Match: ```
/function (\i(\i,\i){)(?=.{0,100}trusted:)/
**__ShowHiddenThings (had no effect):__**
ID: `726115`
Match: ```
/\i\.\i\.get\(\{url:\i\.\i\.GUILD_DISCOVERY_VALID_TERM,query:\{term:\i\},oldFormErrors:!0\}\)/g
None
None
None
@fossil inlet zustand create find works again
I dont understand how it even broke in the first place tho
your fix now targets createWithEqualityFn
which is from traditional
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
I like this, although I would shrink down the icon just a little bit
it looks about the same size as the other icons but maybe a little bit
agreed it’s just a personal opinion that it should just be a tad bit smaller
wait this actually looks a lot better
I think it shouldn't be shrinked, it roughly aligns with the other icons
yop
this looks very out of place because it is wider than the other icons. that's why the old icon was smaller
optimally we'd just use a different proper square icon
roughly my point
@limber skiff i wanna turn more stuff that has subscribe & unsubscribe into fields on your plugin
like preSend, preEdit etc
what do you think
this could become
styles: [style]
start() {
addClickListener(myHandler);
},
stop() {
removeClickListener(myHandler);
}
could just become
onMessageClick() {
}
same for message accessories, and all other apis that have add & remove
Making start() return a closure like useEffect() rather than a separate stop() function would also be nice
I wonder if we can generate that dynamically
eh whats the point
the only benefit would be ability to use variables from that closure
if we just add these auto-managed lifecycle events in favour of add/remove functions, stop wont be needed at all
very good
i was thinking of that at some point
y'all wanna do the fix for emote cloner at some point
might just need a replacement from webp to gif for animated stuff
what broke
guhhh forgot about it
whats the issue
animated emotes cloned with emote cloner are apparently not animated anymore
haven't tested it myself but its apparent its an issue
this is why we should use github issues for these things, if you aren't going to fix it straight away open an issue imo
so when you clone an animated emote, its loses its ainmation
apparently
yop, im stupid
lmao

sadanic
although, from testing, it doesnt seem to matter (could be stupid tho)

None
None
None
None
None
None
None
None
easy fix
return u.pathname.endsWith("gif") || eval(u.searchParams.get("animated"));
LMAOOO
crazy idea
woudlnt that just be rce
someone could send an emoji link with animated=tokenlog()
GUHHHHH
how do i keep screwing this up
yop, got that part
basically you just define any of these functions on your plugin definition and it does everything for you
b7c29b5 add new methods to plugin type - Vendicated
before & after
you also won't need to specify dependency anymore (i forgot to remove it in screenshot 2)
tbh this is prob the best reason for this change
i have forgotten to add the dep quite a few times
the horror
whys the text green
this is so horror lmao
most horror code
iu think the language server is cooked
like wtf is going on here lol
okay it's ready i think
TODO: test every plugin I migrated to make sure I didn't break anything by accident
This renamed a lot of the API functions to be more specific (addDecoration -> addMessageDecoration) so it will likely break many third party plugins
horror
don't husk it's a good change
old names were so bad
i think it's better to just make this breaking change than to add deprecated legacy aliases
if we deprecate it no one is gonna update so shit will still break just when we remove it 2 months later
rip all third-party’s
just dont add 
not yet
when is this planning to get merged @austere talon
ngl they shouldnt even have names
each of those functions should just return a closure
to remove them
ah
they should all just take the function object as parameter
and return a closure to remove
but also have a way to remove using the same function object
instead of having a name parameter in some of them
stuff has to start being more consistency 😭
or else the code base gets more and more messy
yea, i personally dont care how they're removed, but i do think they should be consistent
the APIs are super inconsistent
the name is useful cause it doubles as react key
i mean they're consistent now lol
does it really matter tho
uhh kinda i think
in what cases is it used as react key
ChatButtons.tsx: Lines 85-91
for (const [key, Button] of buttonFactories) {
buttons.push(
<ErrorBoundary noop key={key} onError={e => logger.error(`Failed to render ${key}`, e.error)}>
<Button {...props} isMainChat={props.type.analyticsName === "normal"} />
</ErrorBoundary>
);
}
it's used as react key and for useful error message
alright I understand that but it's still weird how some accept name and others don't
that's true yeah
well all the component based ones use names
the message events don't
it's somewhat consistent xd
anyway it doesn't really matter if it's abstracted away like now
okay
if all the component based ones are using it then sure
but if not then it needs to be added to the missing ones
I havent looked deep but I suppose now "name" is the plugin name right?
yea
aight
@austere talon what if a plugin wants to register more than one handler, can it be passed an array as well?
alr
well I can remotely imagine it for some things but I don't think it's worth it to support it
Badge: already possible
ChatButtons, MemberListDecors, MessageDecoration, MessageEvents, MessagePopover: you should only add 1
MessageAccesories: reasonable but you can technically just render multiple things in your accessory
MemberListDecorators
shouldn't this be MemberListDecorations
i didn't rename it
it used to always be named that
nah discord calls it decorator
o
not even discord is consistent
whereas for messages it's decorations
lmao
in this case yeah
member list decorators doesnt use key
and should maybe be wrapped in error boundary to
yep
okay let me review the rest first
a lot of these also call as function instead of via react
everything that returns jsx elements should be converted to use proper react
a few apis make you return an object, for obvious reasons those can't
I thought about that yeah
I didnt because I figured it would be self explanatory enough
to be consistent with addMessageClickListener
but we could
is there anything else thats sent that it could be confused with
it'll likely be in dev for a bit before merge to main
but migration is easy, shouldn't take you more than 2 minutes
and it won't cause any crashes, just for your plugin to break
not that big of a deal
yea, it would just be a pain in the ass
ehhhh who cares about the rules
it's so much easier to catch mistakes when it's not your code
what button does that remove
in this case one should just be another remove function
but instead both are the same
the other requests are here on discord
that specifies position
horror
so it can't be changed
I hate that.
unless we wanna somehow specify position via definition?
there's also FakeNitro which could be migrated but I didn't wanna work with the 1000 lines file

how does it specify position
horror
yeah it should be split up into multiple files to be less insane
point of this pr is to update some icons and have some more consistent colors in quick actions
Before
After
Before
After
fixed vendor with thi s pr
What’s the difference with the Settings cog?
Also, I do like to GitHub one not being so bright
its slightly different, all I can really say
discord uses that updated one everywhere
I’ll take your word for it, but I don’t see the difference
Tbh old info looks better
theres a minor difference
the reason I had used a bigger size (36 x 28) was because I thought it looked more odd if it WASN'T scaled up to fit the height of other buttons, it also made it bigger in width, which looking back wasn't really the best move
I sized it back down to 24x24 like all the other chatbar buttons and I think now it does look better.

i hope you aren't using the code from it
its custom lol I know that code is being removed
9 times out of 10 I'd question why a component is being recreated but in this case it's totally logical

What about the original card that was there?
Is that being updated?
I don't really know myself
insane amount of colour out of no where
looks vvry pretty tho
I loveeee it
before I attempt to pr I'm gonna get svgs for the backgrounds first
loading from url doesn't seem too optimal xd
I might be stupid, but I’m guessing by contri list that means it’s getting the info from constants.ts file?
yea
const user = UserStore.getCurrentUser();
isPluginDev(user?.id)
checking both the badgeapi and if you have the donor role in this server
ight
Looks amazing ngl
I think the only make recommendation, I can think of is putting a button or something, that would still link to the donation page in case your already donor but you still wanna donate again
oh good idea
Could they be made into collapsible sections that open on hover? Currently they take quite a bunch of space up and might be a hindrance to people who want to use the settings below
that would probably need me to rewrite the entire thing just for that
to build on top of that, leave what’s already there there but just have those appear as collapsible sections below it
I think it's fine without them being collapsible
they should be very visible
and no one gonna open that section too many times honestly
people only open it frequently for quick actions
they are still visible without scrolling
yesyes
also I've been wanting to change some design in vencord settings,,
but thats another topic for later xd
fair point… although this recommendation still stands
btw have you seen my pr about using discords newer icons
yeah this is good
yeah
I saw you pred it
I still don’t see the difference in the settings cog but I’m taking a word for it that there’s a difference
Please add a toggle for these Default should be on. it would be really annoying to constantly see these in my settings whenever I'm working on something.
why would you be working at something in that section
will it still display the default card if you didnt donate/contribute?
also cute 
sure why not
it's super underwhelming lol
xD
So if you’re a donor, it replaces the one that’s normally there?
yes
ok 👌
but I will add a donate button like you suggested
I toggle CSS quite frequently
toolbox in shambles
toolbox is mid
when it doubt
quick css to remove the cards
someone would totally make that and put it in #🎨-css-snippets
I encourage
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/
**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.
ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] getStorage, serialize and deserialize options are deprecated. Use storage option instead.
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
None
None
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/
**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.
ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] getStorage, serialize and deserialize options are deprecated. Use storage option instead.
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
None
None
zustand my beloved
decor is zustand
well
its broken because zustand is
🤓
why is it always a problem
@limber skiff https://github.com/Vendicated/Vencord/pull/3025 is needed again
i also have the SHC fix
it only became a problem recently bc they updated it
til depending on dependencies you can't control the version of is not very safe
personally I'd just bundle in the zustand pieces it uses at this point but I understand that's not desired
I dont know what they are doing though
they may have just reverted the update again
does it make sense to add an option to exclude your own replies from hiding when hiding replies to blocked messages
or is that dumb
actually yea i think its dumb lmao
if they already exist
that was the thought
for example in some old dms or smth but like you can just turn the plugin off
Oooh, yeah that makes sense xD
let me copypaste 3 lines
should it be this button
"Thank you for being a support helper!"
"Here is a link for therapy"
dude this is so pretty
the you're wording reads very weird in a card like this but it looks nice 
maybe i'm weird lol
give me suggestions on what to change it to
I can add just for you
u will need it
therapy button
"you're keeping your perks forever? vs "you'll keep your perks forever"
"To avoid unwanted DMs from people you don't know, a warning has been placed on your profile not to message you for support.
about the same actually h
here is the sewer slide hotline
troll
Soo let's try to get it upstream.
Hit me if some changes required.
This enable automatically blending colors from selected roles on the server.
To show highlighted roles on the server.
This will look like this
Here you can click role circle to remove from the list.

Really small change that changes this
to this
we gotta stop calling it that

Noo it's funny when everyone gets a mini heart attack :3
Nop
there's a massive RCE (rolecoloreverywhere) issue

needs more arrows
Discord Account
bklubambi
What happens when the bug or crash occurs?
This bug started happening to me when I restarted Discord, I can't seem to get it working properly, the bug ocurred when I tried adding a new plugin and it reset Discord, I tried disabing it back but it's just stuck with me.
I'd like to type a better bug report but I don't have any clues of why this is happening.
W...
I am 50% sure that it's a problem on my end or something, couldn't find anything that would make the error be easily identified
GUHHHH
does your pr fix that
Please use the support channel on our support server instead of making an issue here.
If you did, you would have learned that this is already a known issue and we are working to fix it.
yop
Oh then that is okay, thanks for teh information.
love
vencord uses its own bundler right?
is this intended? 
typescript doesnt build vencord
that is just used for tsserver
so it knows about the project
trace the build commands in package.json to learn more
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/
**__BetterFolders (had no effect):__**
ID: `416568`
Match: ```
/lastTargetNode:\i\[\i\.length-1\].+?Fragment.+?\]}\)\]/
ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use import { useStore } from 'zustand'.
**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
None
None
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/
**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.
ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] getStorage, serialize and deserialize options are deprecated. Use storage option instead.
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
None
None
I'll work on fixes later
ya
also, is the double ping notification here a feature?
its non-functional
nop
its another patch to fix 
how
This is the fourth time I’ve watched a video you’ve sent near my parents and it says that word
shouldnt this be a ["propertyName"] access








