#👾-core-development
1 messages · Page 163 of 1
!path/to/folder
! Specifies to not ignore this file
Or folder in this case
Either way .gitkeep is the same thing just lesser-known
but it's not ignored anyway wdym
Empty folders don’t get pushed
i don't think that would fix it?
i don't think git can keep track of folders
do you know for sure it works?
You can specify folders in gitignore so it should work
they refer to files under the folder
also they have a trailing slash, don't they?
i will just test xd
You can specify folders in gitignore any way you want
You can do no slashes if it’s top level
Well I may be stupid
Git does not track folders at all
you can just put a .gitignore in the folder you want it to keep.
.gitkeep is just a random convention that is not standardised in any way. you're adding a random file and pretending that it's a special git file - it's not
you could also create a file called shiddpooofart and it'd be the exact same
normally when you push an empty folder, it's because this folder holds something like build artifacts or other content that shouldn't be in version control
so by adding a .gitignore in the folder, you can make that gitignore ignore all the files and make the purpose of the folder clearer. it's a win win
or better yet add a README file to the folder to explain its purpose and why it's empty
The other ones were actually custom icons from my CSS but here it's barely readable for the text too. The rotating makes it less bad as it's not always the case when it's not fully white
I think I'm gonna give that tex plugin request a shot
This was moved and shrunk down to only carry avatars
Replaced with your suggested modification
i don't think this is a good addition. way too opiniated no matter how you implement it. it should imo instead be left to themes. the plugin would just need to expose the album cover url as a css variable on the player, then any theme can do whatever they want
i`m with that problem too.
Bad Patches
Decor (had no effect):
ID: 688318
Match: /(?<=TryItOut:\i}\),)(?<=user:(\i).+?)/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
vcDecorAvatarDecoration is not defined
Bad Patches
Decor (had no effect):
ID: 688318
Match: /(?<=TryItOut:\i}\),)(?<=user:(\i).+?)/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
vcDecorAvatarDecoration is not defined
@junior olive IT'S OVER
decor is completely dead, 100% patched no way tofix!!!!
jokes aside this is not good
vcDecorAvatarDecoration is not defined
Dziurwa told me there was decor stuff
this is because one patch depends on another
Feel free to have a look
it should be a group unless that did not work
Doesn't tester bypass
oh yeah easy fix
it's just because they allow per guild decoration now
so they added guildId to this function
89367e3 WebContextMenus: fix copying images - Vendicated
bc0a550 MessageLinkEmbeds: fix erroring on some invalid... - Vendicated
a501da6 MessageLinkEmbeds: fix group dm support, improv... - Vendicated
7b96071 fix ImageZoom patch (#2181) - Syncxv
c3030bb MuteNewGuild -> NewGuildSettings; add 'show all... - MopigamesYT
Yep
@austere talon I'm not gonna push to main yet if you want to do some stuff soon
This pr adds the option to click on the tray to hide or show the window.
I made sure it:
- [x] adds the corresponding entry to the vesktop settings tab.
- [x] is optional and disabled by default.
I'm making this pull request since #262 seems to be stale.
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None

Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
@austere talon could you check out my MessageLogger pr https://github.com/Vendicated/Vencord/pull/2186? Mostly to get myself into devs list so I don't have to worry about that for other prs
Cool looking concept, would like
@Kartikey2011yadav This a xdg-desktop-portal-hyprland issue
You probably have leftover files, search for my post on this on the hyprland discord
Added option to messageLogger to ignore quickly deleted messages, like ones that are deleted as part of pluralkit's proxying. There is a setting added to control the threshold (default 0ms, which is off). I would like help with the description of that setting, if theres a clearer / more concise way to describe it than what I put down :p
maybe something like "minimum message lifespan in milliseconds before logging" for the description?
@limber skiff we love
yeah it's fixed already
A simple plugin that adds a export button to your friends tab on discord.
It exports it to your clipboard in a JSON format, and will export your added friends, incoming/outgoing friend requests, and blocked users.
what does this do that requesting your data package can't do?
nothing i believe, but requesting a data package takes time and has a rate limit (iirc). if you have multiple accounts and want to quickly back up your contacts, or if you change/delete accounts often, this could come in handy
don't hardcode variable names
use vencord's special \i to match identifiers
I've recently seen quite a few requests on injecting bot/client-side messages into channels.
Unfortunately, due to my own adventures into this, I've found doing this is unreliable, as Discord wipes the client-side messages when (re)loading a channel (and other stuff)
I propose an idea of a client sided message API within Vencord, so plugins can inject client-sided information messages, that don't disappear (until client restart)
Messages should look like normal non-ephemeral messages with this system, as there are cases where you want these to not be so.... obvious (and to not be so easy to dismiss and other stuff)
A system to register new message types would be useful for some kinds of system messages (see the VoiceChannelLog stuff I'm working on, I can't hijack the GDM stuff for this that well)
I have no idea how Discord's own embeds for invite links work, but a system to append information like that to messages created with this API would be useful
This could probably be implemented by stealing some code from the MessageLogger plugin no it cant really
Comments, ideas, code, and brain dumps are appreciated
what's the use case
VoiceChannelLog
don't use messages. have your own log with a modal
I like @Vendicated's idea. Would you change this PR to only do this and then provide your CSS as a theme in your own repo.
Lets you group your pins into categories.
- [x] Fix scroll bug
- [x] Migrate old pins
should I add READMEs to my plugins? I noticed some plugins have them and some don't
yes
Content
Fake nitro doesn't work with soundboards
Request Agreement
- [X] I have read the requirements for opening an issue above
I think txt export would be pretty nice too but does Discord have a split button widget?
How do you manage to pr to the wrong repo


it's actually really easy to accidently do
if you're working in a fork and trying to pr from one branch of the fork to another, it always suggests the upstream repo
but the plugins they added 
happened to me multiple times in the past when i was new to github
i prd something like "remove useless shit" to microg

yeah true
usually that's what you want :P
I've accidentally PR'd to my own repo instead of upstream 😭
now that is an achievement

epic license violation
Sue them as the true German that you are :3
Sencord™ Terms™
you guys havent even seen the api url
what I dont get is
are those guys selling subscription lmao
we should add this plugin to vencord https://github.com/sinjs/Sencord/blob/fdac6d8a92bf55c570af071ef7bb78d8d584e835/src/plugins/NoMoreRacism/index.ts
Nah that can be trivially done with textreplace I'm pretty sure
this violates Vencord's licence. the GPL affirms everyone's unlimited, irrevocable permission to run the program. limiting who can run the software, or banning people from using it goes against that.
not sure if GPL actually disallows such checks, as you do have the source and can remove them
perhaps it does
IANAL
What about both?
I am already building a log modal
it is incredibly dumb regardless
why the fuck are you preventing people from using your dumb Discord mod
lmao
COMPACT MODE 
best mode
Lies
Compact mode but slightly larger profile pictures and hide repeating names please :3
you can change the size of profile pictures with Compact++
they are also slightly larger by default
as you can see in the screenshot
hiding repeating names would be ugly and why so no (though I did start Compact++ as a reskin of Cozy mode instead of Compact mode which functioned like this, but then I realized changing Compact mode works better (surprise))
Yeah it's pretty ugly ```css
.message__80c10:not(.groupStart__56db5) > .contents_f41bb2 > .header__39b23 { visibility: hidden }
where can I get compact++
since the README is not finished, to change avatar size you need to put:
:root {
--compactplusplus-avatar-size: 22px;
}
into QuickCSS to change the size from the default 20px, replacing 22px with your desired value
changing the size could be achieved on regular, unthemed Compact mode as well, with a CSS snippet, but unthemed Compact mode is unappealing with how it works in general
why are you unable to clone unicode emojis? does discord use a different format for saving the images or something?
honestly my use case is spamming reactions so i guess that's fair
converting svg to png is incredibly easy in browser js tho
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Same tbh
yes
Well, learning is learning
it is
Glad to see I'm not the only one who has/had no idea about React
you will learn basics of react and also how the compiled code works with it
i will also confess i never learned react because big jank bloat apps were made with it and that scared me away from it
so how your JSX/TSX looks like behind the scenes
Discord totally counts as big jank bloat app
it does
react is bad l
this is a horrible question but
how do I get something to rerender once I update a log (idrc how it works)
what i am trying to do is reload the voice channel log thing i'm building when the log gets updated (the log gets updated by a flux event)
i probably have to make some kind of store thing don't I
I think useSyncExternalStore is meant for that? But yeah making a proper store is better
Yeah I already kinda tried that and I think i'm doing something wrong
Something like this would work too https://github.com/Vendicated/Vencord/blob/7b960716439cba093202f9ba37dd6b258be39017/src/api/Settings.ts#L223-L236
well in the case of the systray it would indeed require a change from us, so that's fair
maybe bundle it in a similar way as changing the loading screen?
perhaps it could be done as a runtime check in shouldIgnore? that way the user doesn't have to restart after toggling?
Any chance this could get a server blacklist setting?
Describe the bug
OS language is set to English, and has both English and French enabled for spell checking.
French is correctly detected on Discord, but not on Vesktop, even when Vesktop's language is set to French.
OS is Arch Linux on KDE Wayland, and uses hunspell spell checking packages
Additional context
Spell check language is set in index.ts with VesktopNative.spellcheck.setLanguages(window.navigator.languages);.
Hardcoding ["fr-FR"] works, and logging `w...
window.navigator.languages should contain all locales you have configured on your system. double check that you have properly configured them
locale -a gives me the following output, even after rerunning locale-gen
C
C.utf8
en_US.utf8
fr_FR.utf8
POSIX
However, adding French in Regional Settings > Region & Languages > Language under English via KDE System Settings sets the $LANGUAGE env variable to en_US:fr and fixes the problem.
window.navigator.languages is now properly populated with both languages, and spell checking works as intended.
I must warn that KDE recommends against using other lang...
In the latest version of VencordInstallerCLI.exe (updated 2 hours ago => 24/02/2024, 3pm), the installer requires administrator permissions to run, which causes the crash of the pnpm inject command in the Vencord source code.
It's very strange. When I want to launch it manually (from build/Installer), it asks me for admin elevation and crash if I refuse.
what
Also having issues. Does not really say why its failing.
same thing if you pnpm inject from cmd, it'll just say it had an error unless you run it from the Admin account on windows that has absolute control over the computer
@austere talon this is actually true, just running it from explorer is prompting me for admin rights, i havent tested any further than that
and of course running it from the command line does the same
what
Also having issues. Does not really say why its failing.  or remove the comment outright
Adds nice clicking sounds when typing.
But why?
This is a good time to talk about our sponsor oper-
Take off headphones to enjoy this feature without any extra code
Literal Opera GX user
Was this PR sponsored by Opera GX?
Also I'd suggest adding a different sound for space, and also move yourself into the Devs list
The click sounds should definitely be configurable
There has to be a better way to do this (custom settings component maybe?)
Why would a custom settings component be useful in this case?
So each key doesn't need an individual setting, would also make checking if the sound should play simpler. Although it might be fine how it is
description: "Adds nice clicking sounds when typing.",
@austere talon @crude hearth Do you consent to being blamed for me stealing code from ReviewDB to get a clickable avatar (this is really a cry for advice on how to do this properly)
I dont really care 
Great response. Anyway
Quick question for NoReplyMention couldn't we make more options than just user id, like per guild role, or by looking at the user name?
(should I do a PR?)
User allowlist API eta wen
wait there is a proposal for that?
No
But there should be IMO
I know I proposed something dumb a few days ago a user allowlist api would be great
there should be quite the thought put into that tho
Also regarding this, do you have real-world examples of filtering based on roles being useful?
Let me guess, rules say staff mustn't be reply pinged or something?
Yes! I already created a plugin with those exact needs for another client mod
No, not really
Got a link for that?
with my experience in like allow/deny listing, is that at least the code will be much spagetty
okay i thought this problem solved itself but I realized that this only happens in calls, maybe try that?
happens to me whenever i receive a notification, could be the issue, can someone try that?
May I create a blank issue for the allow/deny list API?
So each key doesn't need an individual setting, would also make checking if the sound should play simpler. Although it might be fine how it is
The goal was not to have settings for each button but to blacklist common modifier and control buttons. The BD plugin has no such option and there is no and was no intent to expand this in any way.
I dont think eslint is mentioned anywhere. The Plugin Doc specifically says "Once you've made your plugin, make sure you run pnpm test and make sure your code is nice and clean!", which i did. Does the guide need to be changed?
eslint will already throw an error for missing header, it's just best to run eslint to also ensure the codebase is the same throughout.
eslint will already throw an error for missing header, it's just best to run eslint to also ensure the codebase is the same throughout.
@uncut glen regardless of how small a pr is it will also be ignored
tbh i looked at that pr but didn't understand what it's supposed to do
basically uh the border slightly nudges the lens to the right and down by a few pixels, so if you zoom it out fully (for whatever reason) it just... you can see the video
this just negates it
this is also something nobody probably notices but if they do it will bother them from the inside
it's a slight tearing effect?
idk how to describe it
just
watch the video carefully
especially around line edges
get a system level magnifier
Adds a context menu option to delete the message from you.
So is this going to be a thing? or....
How is this different from the existing delete message button?
How is this different from the existing delete message button?
The Delete Message button deletes the message you sent from everyone. The difference of this plugin is that it only deletes the message from your client, it does not send any API requests.
How is this different from the existing delete message button?
The Delete Message button deletes the message you sent from everyone. The difference of this plugin is that it only deletes the message from your client, it does not send any API requests.
what's the use case for this even
I guess maybe if you're taking screenshots and you want to delete stuff that contains private info or irrelavent stuff?
its not even mergeable
How is this different from the existing delete message button?
The Delete Message button deletes the message you sent from everyone. The difference of this plugin is that it only deletes the message from your client, it does not send any API requests.
what's the use case for this even
Sometimes our friends and other people can send nsfw or disturbing images/content in a text channel that we don't want to see in a public place. This plugin removes the message f...
I guess maybe if you're taking screenshots and you want to delete stuff that contains private info or irrelavent stuff?
Exactly.
Your pr is actually blocked from merging if it fails listing. Install the eslint extension in vscode and it will auto-format
It would be nice if Vesktop had a single Universal Binary app for macOS. It would take away some confusion for average users since most macOS apps are distributed as Universal Binaries. Since it's architecture independent, it makes sharing across systems a lot easier. Compared to Vesktop, the official client — which is Universal — is only ~150MB larger.
If this isn't possible, making the installation instructions for macOS a bit more informative in the readme would be a good compromise.
making the installation instructions for macOS a bit more informative in the readme would be a good compromise
- this will stop being an issue once we add Vesktop to the vencord.dev site, because it can obtain your architecture from your browser to provide the right download
- feel free to contribute README documentation improvements
Cool stuff. Keep it up!
I think this could do with a rebranding. Imo, "Delete From Me" doesn't make much sense. I would change it to "Hide Message".
Just move this into the main file
I thought I was in plugin requests and wanted to go close that shit 😭
I think this could do with a rebranding. Imo, "Delete From Me" doesn't make much sense. I would change it to "Hide Message".
I will do it.
I think this could do with a rebranding. Imo, "Delete From Me" doesn't make much sense. I would change it to "Hide Message".
You are absolutely right. I changed the plugin name to Hide Message.
Is your feature request related to a problem? Please describe.
An issue I've come across is the lack of middle click to scroll functionality within the Linux version of Vesktop. Usually this isn't something that matters to me but for browsers/PWAs I like being able to scroll fluidly without stepped motions.
Describe the solution you'd like
Either add an option to replace middle click to paste with scrolling or an option remove the middle click to paste functionality (so I can use...
Lots Of Banners
Displays user banners (Nitro and USRBG) in more places!
In the member list and DMs:

As Voice Background:
a feature to completely disable usrbg banners would be cool
this is a duplicate of two existing pull requests, sorry
thank you regardless
I reinstalled windows a few days ago and after i reinstalled vencord and enabled this plugin it kept doing invisible DMs, yet i don't know if resetting the config file for PinDMs would fix it or not since i don't know where is it located
also voice background is a vanilla discord experiment while the user talks
414184e ImageZoom: negate the border offsetting the len... - Sqaaakoi
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
(Fedora 39 KDE)
I had this problem while using the flatpak, installing the rpm resolved that exact issue. I am now able to see an unread notifications counter on the app icon in the taskbar. Unfortunately however, the system tray icon does not have this feature for me, is it supposed to? I normally have Discord minimized to the tray, so the taskbar app icon badge is not very useful for me. :alien:
Before:

After:

I did put myself in src/utils/constants.ts but feel free to remove me if this contribution is too small.
I hope dev2 was the correct branch to be committing to...
After a recent update (not sure if system or vesktop) the main window became completely transparent, adding --ozone-platform-hint=auto fixed it.
Arch Linux, Gnome 45.4 on Wayland, Nvidia 545.29.06, vesktop 1.5.0 from AUR vesktop-bin
Describe the bug
When clicking on a link inside the app, the link opens within Firefox or whatever your chosen browser is, but fails to bring the window to the foreground and focus it.
To Reproduce
Steps to reproduce the behavior:
- Send a message that contains a link
- Click it
- Browser is not brought to foreground, but link is opened in the background
Expected behavior
The browser is focused upon the link being clicked.
**Desktop (please complete the fol...
vesktop just instructs your desktop environment to handle the url. everything else is left by your desktop environment
dev is the correct base, not dev2
Thank you for rebasing it. So what is dev2 meant for then?
dev2 is a branch we can directly commit to and merge into dev later
a staging branch for your staging branch
Thanks for telling me that, you might want to add that to the contributing.md (unless this is standard practice)
it's really not a big deal it takes like 3 seconds to change branch
it's mostly because of permissions
i want to require pr checks to pass before merging
but that also means you cannot push at all without a check pass
so nookies first pushes to dev2, waits for checks to pass then pushes to dev

yop
works on my machine
doesn't work on mine, and i main canary
doesnt work on PTB either
ptb is basically canary
true, just stating facts tho
why do people use PTB
testing
true
Content
So, I was on the Vencord discord server, and brought an idea for a plugin.
An allow/deny list for the NoReply plugin, which brought @sqaaakoi to comment that there should be an API.
I decided to bring it upon myself to create such request, which since I've kinda dealt with this issue in the past I wanna try my best to help.
What would be included?
Allow/Deny listing:
- By ID
- By Name Substring
- By Guild Role
Priority
I think a sensible priority wou...
When I mentioned API, I was also thinking
- Settings component for managing these lists (maybe we could steal FriendRow or the report menu user component as it has a button)
- Auto-generated context (sub)menu on users (and roles) to manage them being in lists
I am not sure how it would be stored, but I think storing roles should be separate from the list of users
can you store an array as a setting
👀
I think the default parameter sounds pretty useless — just do isUserListed(userId) ?? true.
Also if there's a context menu, that would require users of such lists to be registered somehow so that you can choose which filter to add them to. Not necessarily an issue, but needs to be addressed.
yep we already discussed about this in the past
my basic idea was to allow plugins to define white-/blacklists with a function similar to defineSettings:
const lists = defineLists({
userWhitelist: {
type: "user",
name: "Users to log messages from"
}
})
const isUsedWhitelisted = lists.userWhitelist.includes(someId);
this would then automatically add a context menu and settings ui for you and
 const isUsedWhitelisted = lists.userWhitelist.includes(someId);this would then automatically add a context menu and settings ui for you and  such as search tabs (I don't exactly know what this is, could be used in mobile) and audit log
the check to see if you can open it is entirely client side and I've developed a bypass for the guild member safety permission requirement
Would this be welcome as a plugin? I've currently got it named as "ModViewBypass".~~
additionally, how can I make it update the override for the 2023-08_guild_member_mod_view experiment to Treatment 1 so it works everywhere (or should I patch the check for that?)~~ I patched the check
real
Discord Account
piranha2
What happens when the bug or crash occurs?
What is the expected behaviour?
It should show the reviews
How do you recreate this bug or crash?
- Log on to Discord
- Click on your profile
Errors
Vencord React ErrorBoundary Component Stack
at https://discord.com/assets/60053.c096bdf2ac7f79fc4994.js:1:267842
at r
at div
at ig (VencordWeb:155:20988)
at oa (VencordWeb:155:20120)
at Zs (VencordWeb:153:...
I was faster 
okay
I will leave it here
appreciate if you can test it (since you know how it should work)
it's more powerful cuz it creates a proper channel instance
Yeah
Tbh as long as it allows you to use emojis
Its fine
Idk why I put 256 to flags but if you put that should theoritically same
yeah?
flags is prob not needed
hmm actually
there are a bunch of undocumented
lmao

not needed then
lol
Lmao
I literally just press ed close pr
Is your feature request related to a problem? Please describe.
Clicking on a notification currently just focuses the Vesktop window, but clicking on a notification means I'm interested in it's content.
Describe the solution you'd like
The Vesktop window opening on the page of the message that triggered the notification.
Describe alternatives you've considered
Manually moving to the correct channel after vesktop opens
uhh isnt this wrong @crude hearth
why
should it block guild emojis?
I cant configure that
I looked into that last time
if you have nitro all emojis become available
if you dont none
mmh so its normal but server tells you you cant use them?
how so?
is that even possible
is there a way for the client to know if you can use emotes? like some flag in the user object canUseEmotes
well that'd be up to you to find out xd
oh lol
idk I wondered that too
then looked into fakenitro
i was just suggesting it in case you wanted to
and gave up
but its not important
discord user yes
anyway iwant to make some refactors to vencord soon
mainly rewrite the settings api from scratch

the type definitions for it 😭
they are crazy complicated
not that lmao
the main issue is that it's awful to use settings in the main process
vesktop has a very similar settings api but it's much more polished and has reactivity in both processes
oh I see
vesktop alsp has its settings api reusable by being a class
i plan to introduce a second kind of setting "native settings"
to securely store data from the main process without the renderer process being able to touch it
for example to specify folders that a plugin can read from via ipc
basically port this to vencord https://github.com/Vencord/Vesktop/blob/main/src/shared/utils/SettingsStore.ts
this sounds a lot like an upstream discord issue that needs to be fixed
cannot reproduce. even if i could, it would be a discord issue, not a vesktop issue
5e7b4e9 SpotifyControls: export album cover as CSS vari... - Av32000
thanks! pretty cool. works nicely
#vc-spotify-player {
background: linear-gradient(
rgba(0, 0, 0, 0.7),
rgba(0, 0, 0, 0.7)
), var(--vc-spotify-track-image) !important;
background-size: cover !important;
}
are you sure it is horizontally aligned correctly 

reminder i am the same person who made a PR to fix an offset issue like this that 99% of users will not even realise is an issue
this is infinitely more obvious
definitely less visually distracting and more inline with other parts of the discord UI
discord would never use a hover effect like that yet it looks so good
the colour change hover effect is ehhhhhh not great
i would revert to this
yea
dont mind me
we do some 
@limber skiff so about your nitro permissions pr
what was the reason again that you need to change the patch
you said something about not clearing content
but i dont understand, how do you keep the content for a cancelled edit
wha
but the place we patched needed to change
wdym
merge into main when
later
**
yes but
why is the old patch not okay
it works but you said something about clearing input
we cant return the object for not clearing in the old patch
but you do clear, no?
also idk if anyone saw but mod view (real)
that actually the opposite haha
when we return that it doesnt clear the edit content
wha
it just cancels it being disabled so you can modify and try again
check out the pr and try it for you to see
just remove the permission check to make it always happen
instead of having a setting for this, why not add a "Do not show again?" with the secondary cancel
and you do not have permissions to attach files in the current channel. Please remove the sticker to proceed.
same above
you wanna do it for me?
I'm very tired rn, prob going to sleep soon
r.default.dispatch({
type: "MESSAGE_END_EDIT",
channelId: e,
response: t
})
i think we do?
isnt it like 6am for you
it's 9am for me
FakeNitro needs a refactor badly
good god
it's honestly not that bad
lots of line but organized

uhh
your permission check is borked
im fairly certain i have embed perms here
nop
what's wrong?
and I didnt test it permission check...
lets find some server where i dont have perms
yep works
btw why did you use setImmediate for resolve false
also sleepeeee
oh
right
cause it still fires for confirm
onCloseCallback runs before onConfirm adn others
also you forgot about dms in your perm checks
i still think these should be false not true
I literally just copied how the send api was made and it worked
u must eep
well anyway i made the match easier
ALSO WE HAVE TO UPDATE VENCORD HELPER TO SUPPORT _api and _core paths
😭
ed5e1be Add permissions checks for FakeNitro actions (#... - Nuckyz
please do not pull request from the main branch. use features branches
76de8c4 feat(plugin) FakeNitro: Allow customising hyper... - LualtOfficial
please do not pull request from the main branch. use features branches
1afa185 LastfmRichPresence: Add an option to hide the L... - prycaustic
avoid using aria labels. they only work in english. instead, you could add a streamer mode class to the document or similar
custom classes should
- be prefixed with vc-{plugin initials}- to avoid conflicts and clearly communicate their origin (.vc-dnl-)
- be in kebab-case
for consistency, you should add classes to document.documentElement like how Discord does it
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
c3030bb MuteNewGuild -> NewGuildSettings; add 'show all... - MopigamesYT
604f4c4 VoiceMessages: Add warning if audio file is not... - Vendicated
f922f0b fix reviewdb auth not working on userscript (#2... - mantikafasi
e3fd954 Fix Decor patch - Nuckyz
2d8715a SuperReactionTweaks: only super react by defaul... - Vendicated
5e7b4e9 SpotifyControls: export album cover as CSS vari... - Av32000
b9d0a1c SpotifyControls: fix seekbar grabber alignment - Vendicated
27696ed whoReacted: fix reaction count being off by one... - WackyModer
ed5e1be Add permissions checks for FakeNitro actions (#... - Nuckyz
76de8c4 feat(plugin) FakeNitro: Allow customising hyper... - LualtOfficial
react devtools are your friend.
i spent like a solid hour trying to do it and unfortunately i am unable to brain 💀
Thene devs be like
scary
Is there any possibility or plans to have a handoff system similar to how the official discord app does? (Opening a link in the browser to a localhost port which redirects to the discord site to pull your token from)
Installing applications in $HOME/Applications is pretty common, so lets auto-find discord in there too!
Just discovered #88, this one wasn't made using ChatGPT 💀
oh i read it wrong

yeah fakenitro does this stuff
Haven't tried this plugin but I feel, if it's not already implemented, that there should be a button to show all hidden messages without having to reload your client. Maybe this could be a command or something that show when you right click a message.
horror
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
FakeNitro (had no effect):
ID: 412745
Match: /(?<=isDiscoverable:\i,emojiComesFromCurrentGuild:\i,.+?}=(\i).+?;)(.*?return )(.{0,1000}\.Messages\.EMOJI_POPOUT_UNJOINED_DISCOVERABLE_GUILD_DESCRIPTION.+?)(?=},)/
NotificationVolume (had no effect):
ID: 895737
Match: /onloadeddata=\(\)=>\{.\.volume=/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
What's horror fakenitro spam?
.
Oh, that
nono
the scary error is my fault
it doesn't cause issues cuz I have a try catch I will fix it soon
this patch always breaks AAAAAAAAAAA
I need to somehow make it more stable
it's not because it's hard
It's because the code there sucks
it just adds the fake nitro emoji message to fake emojis
let o = e=>{
let {isPremium: t, hasJoinedEmojiSourceGuild: n, isUnusableRoleSubscriptionEmoji: l, emojiComesFromCurrentGuild: i, isDiscoverable: a} = e
, s = "Custom Emoji Popout";
return t && !n && a ? s = "Custom Emoji Popout (Cross-Server)" : t || !n || l ? !t && !n && (s = a ? "Custom Emoji Popout (Upsell Not-Joined Cross-Server)" : "Custom Emoji Popout (Soft Upsell)") : s = i ? "Custom Emoji Popout (Upsell Joined Current-Server)" : "Custom Emoji Popout (Upsell Joined Cross-Server)",
s
}
, u = e=>{
let {isPremium: t, hasJoinedEmojiSourceGuild: n, isUnusableRoleSubscriptionEmoji: l, isDiscoverable: i, emojiComesFromCurrentGuild: a, userIsRoleSubscriber: s, isRoleSubscriptionEmoji: o, shouldHideRoleSubscriptionCTA: u, onOpenPremiumSettings: d} = e
, c = null;
let {fakeNitroNode} = e;
return Vencord.Plugins.plugins["FakeNitro"].addFakeNotice(1, c = t ? n ? o ? u && l ? r.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UNAVAILABLE_DESCRIPTION : l ? s ? r.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_UPGRADE_UPSELL_DESCRIPTION : r.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UPSELL_DESCRIPTION : r.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_SUBSCRIBED_DESCRIPTION : a ? r.default.Messages.EMOJI_POPOUT_PREMIUM_CURRENT_GUILD_DESCRIPTION : r.default.Messages.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION : i ? r.default.Messages.EMOJI_POPOUT_PREMIUM_UNJOINED_DISCOVERABLE_GUILD_DESCRIPTION : r.default.Messages.EMOJI_POPOUT_PREMIUM_UNJOINED_PRIVATE_GUILD_DESCRIPTION : n ? u && l ? r.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UNAVAILABLE_DESCRIPTION : l ? s ? r.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_UPGRADE_UPSELL_DESCRIPTION : r.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UPSELL_DESCRIPTION : a ? r.default.Messages.EMOJI_POPOUT_CURRENT_GUILD_DESCRIPTION : r.default.Messages.EMOJI_POPOUT_JOINED_GUILD_DESCRIPTION : i ? r.default.Messages.EMOJI_POPOUT_UNJOINED_DISCOVERABLE_GUILD_DESCRIPTION : r.default.Messages.EMOJI_POPOUT_UNJOINED_PRIVATE_GUILD_DESCRIPTION.format({
openPremiumSettings: d
}), !!fakeNitroNode?.fake)
}
it's a fucking giant ternary
but now not anymore
, d = e=>{
let {isPremium: t, hasJoinedEmojiSourceGuild: n, isUnusableRoleSubscriptionEmoji: l, isDiscoverable: i, emojiComesFromCurrentGuild: a, userIsRoleSubscriber: s, isRoleSubscriptionEmoji: u, shouldHideRoleSubscriptionCTA: d, onOpenPremiumSettings: c} = e
, f = null;
if (t) {
if (n) {
if (u)
f = d && l ? o.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UNAVAILABLE_DESCRIPTION : l ? s ? o.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_UPGRADE_UPSELL_DESCRIPTION : o.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UPSELL_DESCRIPTION : o.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_SUBSCRIBED_DESCRIPTION;
else {
let {enabled: e} = r.NitroBadgeOnEmojiHoverExperiment.getCurrentConfig({
location: "_getEmojiPopoutDescription_1"
});
f = e ? a ? o.default.Messages.EMOJI_POPOUT_PREMIUM_CURRENT_GUILD_DESCRIPTION_V2 : o.default.Messages.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION_V2 : a ? o.default.Messages.EMOJI_POPOUT_PREMIUM_CURRENT_GUILD_DESCRIPTION : o.default.Messages.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION
}
} else {
let e = r.NitroBadgeOnEmojiHoverExperiment.getCurrentConfig({
location: "_getEmojiPopoutDescription_2"
}, {
disable: i,
autoTrackExposure: !i
}).enabled ? o.default.Messages.EMOJI_POPOUT_UNJOINED_PRIVATE_GUILD_DESCRIPTION_V2 : o.default.Messages.EMOJI_POPOUT_PREMIUM_UNJOINED_PRIVATE_GUILD_DESCRIPTION;
f = i ? o.default.Messages.EMOJI_POPOUT_PREMIUM_UNJOINED_DISCOVERABLE_GUILD_DESCRIPTION : e
}
} else if (n)
f = d && l ? o.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UNAVAILABLE_DESCRIPTION : l ? s ? o.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_UPGRADE_UPSELL_DESCRIPTION : o.default.Messages.ROLE_SUBSCRIPTION_EMOJI_POPOUT_PURCHASE_UPSELL_DESCRIPTION : a ? o.default.Messages.EMOJI_POPOUT_CURRENT_GUILD_DESCRIPTION : o.default.Messages.EMOJI_POPOUT_JOINED_GUILD_DESCRIPTION;
else {
let e = r.NitroBadgeOnEmojiHoverExperiment.getCurrentConfig({
location: "_getEmojiPopoutDescription_3"
}, {
disable: i,
autoTrackExposure: !i
}).enabled ? o.default.Messages.EMOJI_POPOUT_UNJOINED_PRIVATE_GUILD_DESCRIPTION_V2 : o.default.Messages.EMOJI_POPOUT_UNJOINED_PRIVATE_GUILD_DESCRIPTION.format({
openPremiumSettings: c
});
f = i ? o.default.Messages.EMOJI_POPOUT_UNJOINED_DISCOVERABLE_GUILD_DESCRIPTION : e
}
return f
}
it's easier to do now I think 🙏 🙏 🙏
wait I got huge idea
I could just wrap that function call and use it's return
instead of modifying the return
WHAT IS THAT
then I dont even need to create fakeNitroNode variable
Please search for new Headers in the whole project and remove from everywhere
we could also just make gm fetch polyfill convert it
cause that's the entire issue
hasnt using Headers class just caused issues
review db had issues cuz of using it too
and we dont seem to use the methods it provides
so there isnt really a reason to use it
yes but that was also just the userscript
the sole issue is that the user script uses ipc to send the request data and it fails to clone the headers instance
Is gm polyfiill greasymonkey polyfill?
I see
we could just export our own Headers class?
to bypass csp
nooo
classes can't be cloned
just need to edit the gm fetch polyfill to convert headers instances to a plain object
I see
if we use greasymonkey fetch to bypass csp, why doesnt like decor work for example
or it does work in firefox userscript?
when I did this I was expecting everything to be inside a span a string
Vesktop 1.5.0 for ARM64 on Mac is described as "damaged" when attempting to open application.
To reproduce:
Downloading either the Vesktop 1.5.0 ARM64 Mac .dmg or the .zip, then dragging Vesktop into the Applications folder, then opening it opens a pop-up that says "Vesktop is damaged and can't be opened. You should move it to the bin." And does not open
Expected behaiour:
Opening Vesktop app should open and show up as an "apple" app in activity monitor.
Screenshots:
...
I made a modification for showmeyourname, should i pr it?
new Headers moment
I made it so that you can individually toggle what to show, as well as change what the main name display shows
What the fuck 
yes it is lovely
#🗳-plugin-requests message What the fuck 
You have to decrypt the quotes in the code to change them 
Each quote is stored on its own line
Ya at the end of they day it’s telling you it’s xor encrypted and the key to decode if you really want to
Also idk if i fucked up decoding it but some of it looked jibberish when I ran it through node repl to decode it
For those wondering what line that specific quote is stored on, https://github.com/Vendicated/Vencord/blob/8ccd731aee3a7c797b70a285c6023bcdc8d7d2b1/src/plugins/loadingQuotes/index.ts#L32
**index.ts: **Line 32
'Hd{#cp\x7Ft$)nbd!{lq%mig~*\x7Fh`v#mk&sm{gx nd#idjb(a\x7Ffao"bja&amdkge!Rloìkhf)hyedfjjb*\'^hzdrdmm$lu\'|ao+mnqw$fijxh~bbmg#Tjmîefd+fnp#lpkffz5',
Same I just tried to quickly decode and I got jibrish as well
@ant0n-0x0000 can you review this again, so it can get merged. It's a pretty good plugin. Been using it myself in dev mode.
@ant0n-0x0000 can you review this again, so it can get merged. It's a pretty good plugin. Been using it myself in dev mode.
Agreed, please take a look when possible, as the best way to thank the author's work would be to have it as an official plugin @Vendicated
ToneIndicators highlights and gives you a tooltip on some common tone indicators like /s, /srs, and more, and also allows you to add custom tone indicators to remember other ones and make your own!
/srs example

custom ToneIndicator


finally done with it
you forgot the /nft tag
Describe the bug
Mica transparency setting disables the rounded corners in Vesktop settings.
It also removes the shadows around the window frame. And also the window frame.
Expected behavior
It should not change the corner rounding, only enable Mica transparency.
Screenshot
...
Systray for me is barely even recognisable...
just add it as a custom 1 :3
hmm
yes its not always correct unfortunately
theres no way to just get online count
you can only get online count from the channel member list
this thing
so the way the tooltip works is that it just picks the first channel in the server that you can access
and uses member count of that
if you have a better solution thatd be appreciated
well we could definitely use this but i think it only works for discovery servers probably
its good enough for now cause 99% of the time first channel you can access will be world accessable
member count in tooltip lol
yeah i thought that was a discord update until i realized i was still on devbranch
so joever
mildly
they changed their webpack shit again
whatd they change this time
idk
"this might be expected since some modules are lazy loaded"
literally all of those modules are lazy loaded dziurwa
are you lazy ? or are you just loaded?
the widget is visible on smaller servers
i wonder what they did
fixed the regression
guh this is so painful
the reporter in question:
i just did
🙄
[Page Error] [Error: ReferenceError: za is not defined
at $n (VencordWeb:6:11668)
at ls (VencordWeb:6:12269)
at VencordWeb:6:12352
at [vencord.lazy.get] (VencordWeb:6:8700)
at VencordWeb:6:8842
at [vencord.lazy.get] (VencordWeb:6:8700)
at $a.<computed> [as apply] (VencordWeb:6:9260)
at Jl (VencordWeb:83:104)
at zN (VencordWeb:72:206)
at Object.start (VencordWeb:89:1813)]
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Why does the online count plugin say 13532 while GuildMemberCountStore says 16616?
what?
Vencord.Webpack.findStore("GuildMemberCountStore").getOnlineCount('1015060230222131221') gives a different number than the online count plugin says
Bad Patches
MoreUserTags (had no effect):
ID: 48694
Match: /(?<type>\i)=\(null==.{0,100}\.BOT;return null!=(?<user>\i)&&\i\.bot/
RoleColorEverywhere (had no effect):
ID: 523303
Match: /user:(\i),channel:(\i).{0,400}?"@"\.concat\(.+?\)/
ShowHiddenChannels (had no effect):
ID: 713282
Match: /(?<=getChannel\(\i\);if\(null!=(\i))(?=.{0,100}?selectVoiceChannel)/
VoiceChatDoubleClick (had no effect):
ID: 713282
Match: /onClick:(\i)(?=,.{0,30}className:"channelMention".+?(\i)\.inContent)/
CommandsAPI (had no effect):
ID: 785134
Match: /(?<=:(.{1,3})\.displayDescription\}.{0,200}\.source,children:)[^}]+/
NoProfileThemes (had no effect):
ID: 912661
Match: /=(?=\i\.\i\.isPremiumAtLeast\(null==(\i))/
USRBG (had no effect):
ID: 912661
Match: /(\i)\.premiumType/
USRBG (had no effect):
ID: 912661
Match: /(?<=function \i\((\i)\)\{)(?=var.{30,50},bannerSrc:)/
ViewIcons (had no effect):
ID: 912661
Match: /style:\{(?=backgroundImage:(\i&&\i)\?"url\("\.concat\((\i),)/
NewGuildSettings (had no effect):
ID: 19569
Match: /INVITE_ACCEPT_SUCCESS.+?,(\i)=null!==.+?;/
IgnoreActivities (had no effect):
ID: 952862
Match: /HANG_STATUS.+?(?=!\i\(\i,\i\)&&)(?<=(\i)\.push.+?)/
MoreUserTags (had no effect):
ID: 448755
Match: /;return\((\(null==\i\?void 0:\i\.isSystemDM\(\).+?.Types.ORIGINAL_POSTER\)),null==(\i)\)/
NormalizeMessageLinks (had no effect):
ID: 499001
Match: /\.concat\(location\.host\)/
NoMosaic (had no effect):
ID: 910347
Match: /null!==\(\i=\i\.get\(\i\)\)&&void 0!==\i\?\i:"INVALID"/
ShowHiddenChannels (had no effect):
ID: 629218
Match: /(?<=if\(null==(\i))(?=.{0,160}?getHasImportantUnread\)\(\i\))/g
PinDMs (had no effect):
ID: 637035
Match: /(?<=renderDM=\((\i),(\i)\)=>{.*?this.state,\i=\i\[\i\],\i=)((\i)\[\i\]);/
BetterFolders (had no effect):
ID: 160224
Match: /(?<=({className:\i\.guilds,themeOverride:\i})\))/
SecretRingToneEnabler (had no effect):
ID: 345336
Match: /500===\i\.random\(1,1e3\)/
SpotifyControls (had no effect):
ID: 901232
Match: /return ?(.{0,30}\(.{1,3},\{[^}]+?,showTaglessAccountPanel:.+?\}\))/
Decor (had no effect):
ID: 41347
Match: /(?<==)\i=>{let{children.{20,100}decorationGridItem/
Decor (had no effect):
ID: 41347
Match: /(?<==)\i=>{let{user:\i,avatarDecoration.{300,600}decorationGridItemChurned/
Decor (had no effect):
ID: 41347
Match: /(?<=\.Section\.PREMIUM_PURCHASE&&\i;if\()(?<=avatarDecoration:(\i).+?)/
MessageLogger (found no module):
ID: -
Match: THREAD_STARTER_MESSAGE?null===
MoreUserTags (found no module):
ID: -
Match: .hasAvatarForGuild(null==
NSFWGateBypass (found no module):
ID: -
Match: .nsfwAllowed=null
ReviewDB (found no module):
ID: -
Match: showBorder:null
ShowConnections (found no module):
ID: -
Match: {isUsingGuildBio:null!==(
Bad Webpack Finds
waitForStore("DraftStore")
waitForStore("UserStore")
waitForStore("UserProfileStore")
waitForStore("ChannelStore")
waitForStore("SelectedChannelStore")
waitForStore("SelectedGuildStore")
waitForStore("GuildStore")
waitForStore("GuildMemberStore")
waitForStore("RelationshipStore")
waitForStore("PermissionStore")
waitForStore("PresenceStore")
waitForStore("ReadStateStore")
waitForStore("GuildChannelStore")
waitForStore("MessageStore")
waitForStore("WindowStore")
waitForStore("EmojiStore")
findComponentByCode(".Messages.USER_SETTINGS_PROFILE_COLOR_SELECT_COLOR", ".BACKGROUND_PRIMARY)")
findByProps("modalFooterShopButton")
extractAndLoadChunks(["openAvatarDecorationModal:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
extractAndLoadChunks(["stickerInspected]:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
LazyComponentWebpack(()=>{let e=Nu(".shopPreviewBanner");return G.memo(e)}...)
findComponentByCode("fileUploadInput,")
findByCode(".customizationSectionBackground")
findByProps("key", "removeBuildOverride")
findByProps("toggleShowAllChannels")
Bad Starts
None
Discord Errors
None
wtf
horror
whats up with the stores
names gone again?
uh
well probably some goofy reporter bug
real
spooked
they changed this
and like
idk
ask brandon
win?
what ternary what
za.. zaza..
idk how is almost everything working for me
considering i had to restart the app because sound broke 😭
except my themes...
beautiful
they did a class reroll again 😭
are you on canary
i mean this is the "best" way it could crash
only happens when you click something and can recover
yeah
it broke both the extract and loads somehow
did they modernise their bundler config again
i guess if css classes got rerolled
fully? or just partially
this is all decor
fully i guess
discord trying to shut down decor
also this is why you use attribute selectors
no wait partially

the theme i use doesn't use them 
all vencord plugin css uses attribute selectors and literally none of it ever broke
horror new decors
i think some new decors dropped guys..
796538: function(e, t, n) {
"use strict";
n.r(t),
n.d(t, {
getDecorationSizeForAvatarSize: function() {
return u
},
openAvatarDecorationModal: function() {
return l
}
});
var r = n("735250");
n("470079");
var i = n("974328")
, a = n("521588");
n("495366");
var s = n("249606")
, o = n("467006");
function u(e) {
return "number" != typeof e ? (0,
i.getAvatarSize)(e) * s.DECORATION_TO_AVATAR_RATIO : e * s.DECORATION_TO_AVATAR_RATIO
}
let l = e=>{
let {analyticsLocations: t, initialSelectedDecoration: s, isTryItOutFlow: u, guild: l} = e;
(0,
i.openModalLazy)(async()=>{
(0,
a.getHistory)().location.pathname === o.Routes.COLLECTIBLES_SHOP_FULLSCREEN && (0,
a.transitionTo)(o.Routes.APP);
let {default: e} = await n.el("796538@1309:1342").then(n.bind(n, "314945"));
return n=>(0,
r.jsx)(e, {
...n,
analyticsLocations: t,
initialSelectedDecoration: s,
isTryItOutFlow: u,
guild: l
})
}
, {})
}
},
i cant debug and fix this rn but it doesnt look all that different
stolen
seems real
i hope you didn't use the error component on decors so everyone's pfp has a stacktrace attached
i think my theme broke...
nope i dont
i modify a hook to add custom decors everywhere
and that's stayed intact
so only the ui is broken
(i dont want to hear any "this is why u use a website" thanks)
this is fine
ok so it's literally the extractandloads and the patches(?) that need fixing
oh ok so this is the only patch that's broken:
// Remove NEW label from decor avatar decorations
{
match: /(?<=\.Section\.PREMIUM_PURCHASE&&\i;if\()(?<=avatarDecoration:(\i).+?)/,
replace: "$1.skuId===$self.SKU_ID||"
}
that's why we use noop error components
fyi the alternative to error boundary is crash
the other 2 work, but seem broken because their modules arent getting loaded (which isnt a decor problem?)
oh interesting
so patch helper is not loading all chunks correctly
that might mean most patches aren't actually broken
tester but yeah i think so
oh decor doesn't use a custom extractandload regex at all
so the normal one is broken(?)
export const requireAvatarDecorationModal = extractAndLoadChunksLazy(["openAvatarDecorationModal:"]);
export const requireCreateStickerModal = extractAndLoadChunksLazy(["stickerInspected]:"]);
that's why i said error component
not error boundary
they're the same thing :p

you can just tell the error boundary to noop (render nothing instead)
well, you can use error boundary without component kinda
I can't delve into this any further but I think this is a lot less scary of a breakage than it looks, it seems like reporter isn't loading all chunks. Advanced usage like extractAndLoadChunks seems to be broken too which is kinda related
i guess it's still technically a component
**ErrorBoundary.tsx: **Lines 77-104
render() {
if (this.state.error === NO_ERROR) return this.props.children;
if (this.props.noop) return null;
if (this.props.fallback)
return <this.props.fallback
children={this.props.children}
{...this.state}
/>;
const msg = this.props.message || "An error occurred while rendering this Component. More info can be found below and in your console.";
return (
<ErrorCard style={{ overflow: "hidden" }}>
<h1>Oh no!</h1>
<p>{msg}</p>
<code>
{this.state.message}
{!!this.state.stack && (
<pre className={Margins.top8}>
{this.state.stack}
</pre>
)}
</code>
</ErrorCard>
);
}
Uhh did the update get pushed to stable?
Bad Patches
MoreUserTags (had no effect):
ID: 48694
Match: /(?<type>\i)=\(null==.{0,100}\.BOT;return null!=(?<user>\i)&&\i\.bot/
RoleColorEverywhere (had no effect):
ID: 523303
Match: /user:(\i),channel:(\i).{0,400}?"@"\.concat\(.+?\)/
ShowHiddenChannels (had no effect):
ID: 713282
Match: /(?<=getChannel\(\i\);if\(null!=(\i))(?=.{0,100}?selectVoiceChannel)/
VoiceChatDoubleClick (had no effect):
ID: 713282
Match: /onClick:(\i)(?=,.{0,30}className:"channelMention".+?(\i)\.inContent)/
CommandsAPI (had no effect):
ID: 785134
Match: /(?<=:(.{1,3})\.displayDescription\}.{0,200}\.source,children:)[^}]+/
NoProfileThemes (had no effect):
ID: 912661
Match: /=(?=\i\.\i\.isPremiumAtLeast\(null==(\i))/
USRBG (had no effect):
ID: 912661
Match: /(\i)\.premiumType/
USRBG (had no effect):
ID: 912661
Match: /(?<=function \i\((\i)\)\{)(?=var.{30,50},bannerSrc:)/
ViewIcons (had no effect):
ID: 912661
Match: /style:\{(?=backgroundImage:(\i&&\i)\?"url\("\.concat\((\i),)/
NewGuildSettings (had no effect):
ID: 19569
Match: /INVITE_ACCEPT_SUCCESS.+?,(\i)=null!==.+?;/
IgnoreActivities (had no effect):
ID: 952862
Match: /HANG_STATUS.+?(?=!\i\(\i,\i\)&&)(?<=(\i)\.push.+?)/
MoreUserTags (had no effect):
ID: 448755
Match: /;return\((\(null==\i\?void 0:\i\.isSystemDM\(\).+?.Types.ORIGINAL_POSTER\)),null==(\i)\)/
NoMosaic (had no effect):
ID: 910347
Match: /null!==\(\i=\i\.get\(\i\)\)&&void 0!==\i\?\i:"INVALID"/
NormalizeMessageLinks (had no effect):
ID: 499001
Match: /\.concat\(location\.host\)/
ShowHiddenChannels (had no effect):
ID: 629218
Match: /(?<=if\(null==(\i))(?=.{0,160}?getHasImportantUnread\)\(\i\))/g
PinDMs (had no effect):
ID: 637035
Match: /(?<=renderDM=\((\i),(\i)\)=>{.*?this.state,\i=\i\[\i\],\i=)((\i)\[\i\]);/
BetterFolders (had no effect):
ID: 160224
Match: /(?<=({className:\i\.guilds,themeOverride:\i})\))/
SecretRingToneEnabler (had no effect):
ID: 345336
Match: /500===\i\.random\(1,1e3\)/
SpotifyControls (had no effect):
ID: 901232
Match: /return ?(.{0,30}\(.{1,3},\{[^}]+?,showTaglessAccountPanel:.+?\}\))/
Decor (had no effect):
ID: 41347
Match: /(?<==)\i=>{let{children.{20,100}decorationGridItem/
Decor (had no effect):
ID: 41347
Match: /(?<==)\i=>{let{user:\i,avatarDecoration.{300,600}decorationGridItemChurned/
Decor (had no effect):
ID: 41347
Match: /(?<=\.Section\.PREMIUM_PURCHASE&&\i;if\()(?<=avatarDecoration:(\i).+?)/
MessageLogger (found no module):
ID: -
Match: THREAD_STARTER_MESSAGE?null===
MoreUserTags (found no module):
ID: -
Match: .hasAvatarForGuild(null==
NSFWGateBypass (found no module):
ID: -
Match: .nsfwAllowed=null
ReviewDB (found no module):
ID: -
Match: showBorder:null
ShowConnections (found no module):
ID: -
Match: {isUsingGuildBio:null!==(
Bad Webpack Finds
waitForStore("DraftStore")
waitForStore("UserStore")
waitForStore("UserProfileStore")
waitForStore("ChannelStore")
waitForStore("SelectedChannelStore")
waitForStore("SelectedGuildStore")
waitForStore("GuildStore")
waitForStore("GuildMemberStore")
waitForStore("RelationshipStore")
waitForStore("PermissionStore")
waitForStore("PresenceStore")
waitForStore("ReadStateStore")
waitForStore("GuildChannelStore")
waitForStore("MessageStore")
waitForStore("WindowStore")
waitForStore("EmojiStore")
findComponentByCode(".Messages.USER_SETTINGS_PROFILE_COLOR_SELECT_COLOR", ".BACKGROUND_PRIMARY)")
findByProps("modalFooterShopButton")
extractAndLoadChunks(["openAvatarDecorationModal:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
extractAndLoadChunks(["stickerInspected]:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
LazyComponentWebpack(()=>{let e=Nu(".shopPreviewBanner");return G.memo(e)}...)
findComponentByCode("fileUploadInput,")
findByCode(".customizationSectionBackground")
findByProps("key", "removeBuildOverride")
findByProps("toggleShowAllChannels")
Bad Starts
None
Discord Errors
None



