#πΎ-core-development
1 messages Β· Page 234 of 1
Oh right lol
<@&1167970304027533312>
@fossil inlet You wanna another post or something saying that MoreUserTags is be temporarily removed?
prob a good idea for now
vtest dev
Now testing! 
None
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
MessageLogger (found no module):
ID: -
Match: ```
useMessageMenu:
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
findByProps("ModalRoot", "ModalCloseButton")
findByProps("openModalLazy")
proxyLazyWebpack(()=>Hr.openModalLazy...)
proxyLazyWebpack(()=>Hr.openModal...)
proxyLazyWebpack(()=>Hr.closeModal...)
proxyLazyWebpack(()=>Hr.closeAllModals...)
findExportedComponent("BlobMask")
findByProps("useMessageMenu")
findComponentByCode("Button.Sizes.NONE,disabled:")
findExportedComponent("HiddenVisually")
findExportedComponent("ColorPicker", "CustomColorPicker")
findByProps("useStatusFillColor", "StatusTypes")
findExportedComponent("Dots", "AnimatedDots")
findComponentByCode(".AvatarSizeSpecs[", "getAvatarURL")
None
None
at this point they might push to stable before reverting
im working on fixing patches rn
gonna worry about finds later
god i love being able to search the old webpack modules in the editor 
vtest
Now testing! 
disaster averted
i have a feeling it will happen and the wont revert soon
None
None
None
None
None
None
None
None

yep
LOVE
i should make client-side patch helper so next time this happens i can actually use patch helper
bruh they reverted
trolley
also this highlighted a few bugs in the companion that i need to fix
we should really work on that discord update notifier & auto tester
they have every time they've pushed this change over the past few months
i have had that idea for a while, i just dont know how to tell when discord pushes a new update

so... delete the #1257025907625951423 post and change the sticky message back?
someone already deleted it 
i noticed
i wrote this ages ago and it works but I never finished actually doing autotestng
Reason:
While discord hasn't pushed to stable i'm trying to rewrite patches, so they work both on canary and stable
Currently I've got tags working in messages:
epic lint fail
by rewrite I meant make patches less dependant on one another. for example, implement this without adding new members to Discord's enums
was something pushed something related to csp because i keep getting these in console
right now, the plugin targets so many different modules and if even one single patch breaks, everything else stops working and either causes crashes or makes everyone have APP tag or stuff like that
more robust means that the plugin either works or fully breaks (silently), not constantly this in between
are you using my csp PR

ah
does your csp pr allow companion websocket (idk if that needs csp)
yes

is there an endpoint to get a build number or is that just inlined in the bundle
by rewrite I meant make patches less dependant on one another. for example, implement this without adding new members to Discord's enums
Well, I'll look what i can do about it
Currently I'm saving tagObj to use it later without dependency, but without a patch for creating tags discord doesn't resolve it as a number ( maybe i just too eepy rn, will look later how to avoid it )
right now, the plugin targets so many different modules and if even one single patch breaks, everything...
the build number has no use
and yeah it's just inlined
the hash in that json is all u need
u just compare it to previous
gonna fetch foldie api 10 times a second 
it's already fetched a lot more than that by dpy-self xd
okay i fetch 1 million times a second
what i want to do with the update poller is if there is an update run patches and a formated diff based on the prev build
cloudflare wil block u
i ask aaaamiaaa for proxies
do NOT try to diff client builds
u will pull ur hair out
at this point you're just reimplementing neller tools
well no cuz that's not public xd
I want to make vencord.dev differ
it wouldnt be that bad i think
i wanna make an api dataminer
Hack the neller tools server and steal its code
just abuse the fuck out of validation errors
i did already π½
hi
true
fire
nini?
ni(ght)ni(ght)
theyre being nice
also yop hen
This find uses a non mangled key, it should be better to change it
tagObj should just be a iife
lmaoo it's a draft still
Can someone explain this mangling shit to me please
it was in my working directory all this time
LOOL
I'm nuking this api
and adding it as a discord fix
Constants.UserFlags -> ANM.hJs
So how would I find that then 
thats the rub
Vencord already works for the most part like that
u can look for subkeys
you just find it using the value and not the key
like UserFlags.PARTNER
I know for that I'm just questioning the rewiev comment rn bc I'm failing to understand it π
Okay this confuses me too
Yeah ik about the code part but not the subkex part
But I wanna know ts
subkey is not a real thing
we just mean the prop of a object
imagine this
export const Types = {
UserFlags: {...}
}
yeah im just yapping
instead of
const modExports = findByProps("Types");
console.log(modExports.Types.UserFlags);
you instead search with the exported object property, ignoring the name of the object being exported
const Types = findByProps("UserFlags");
console.log(Types.UserFlags);
forgot about that horror
Oh yeah okay I already knew about that then oki
Another thing I'm wondering is how the find stuff works like the find(x => x.whatever)
everything is find under the hood
Tbh maybe I should just go read the code π
Makes sense but how does it work
Like the find itself
think of modules as files, they have everything that is being exported from that file
and once a file is required for the first time, its exports are cached
the require function, which Vencord does magic to acquire, has an object with all the cache stored inside the property c
find simply iterates over that object, testing the function with every export cached
once it returns true for one it uses that value
find(x => x.whatever)
in this example it would return true for the first module which has an export named whatever
think as x as an object with all the exports of that module/file
ooooh
(Only if this whatever is not false or null)
ya true
But exports are rarely null
but instead you can start going deeper
well actually this is part of find
but it does not only attempt the function in the object with all the exports
it attemps in the value of the default export if it exists, and in the value of all the mangled exports
so if the bundler mangled an export name which was previously named Types for example, and now itΒ΄s XFg, find attempts your function in the value of XFg too
so you can do find(x => x.UserFlags)
Ohh
when in reality the export is
{
XFg: {
UserFlags: {...}
}
}
and then the value returned is simply XFg
I see
instead of the parent object (which are all the exports), containing XFg
so basically when searching mangled stuff you acquire the value directly, instead of an object which contains a property with it
Now you just need to pin this whole conversation to refer people back to later
I didnt explain that good
I thought it was explained well lol
now patching is even more interesting lol
I mean I'm all ears
let me do this first
I know like the idea behind patching but I never looked into how it actually works but I'm interested
i feel like in any sane lang patching wouldnt be possible
it is
like why does Function.toString return the body the function was created with
diffing on nelly.tools crashes most of the time because it runs out of memory
and a certain someone has a 40+ gb page file because of it
how, theres only ~20k modules
dziurwa diffs like 30 builds at once
... because there's 20k modules
java officially not sane according to you
and it spawns <amount of scripts changed> workers for every diff
oh, im not diffing per script
im diffing per module
false
i gotta try
how do you diff on nelly.tools
it does too
and i would only be diffing the modules with patches
so i feel like it would get pretty managable
wdym
module ids change between builds sometimes
you have some specific module x in the old build
how do you find the same module x in the new build
not really worried about that
assuming its code has changed
im only looking to do this for vencord, not datamining
still applies
how do you do it?
so its either by moduleId or a find from vencord
diff estimation
if none of those apply, i dont really care that much
is it done client side or server side
(also thought about doing it based on what the module imports)
client cuz my vps is reaching 80% cpu steal (thanks contabo :D)
good

so why exactly was I supposed to keep the owner of it private if you guys r just gonna have this conversation in a pub chan π
What
idk atp too \
thanks
tf is this nick bro
horror
Megahusk
@median rapids
cuz he's my pet <3
megahusk my beloved
we need a /megahusk command
wrong client i dont have my textreplace
guhh textreplace
just add a replace rule for :gigahusk:
It didn't work on bunny with new lines last I tried
so bad
how do u send multiple msgs tho
multiple messages??
what

how does that work
i thought newlines forced small emoji rendering
discord makes an exception if it's only emojis
fire
@austere talon you love
that is NOT cozy
nop
Cozy
Does it work on infinite lines








Cool
Only up to 30 emotes then it makes them small again
Good to know
MegaHusk
find: :megahusk:
replace \n\n\n
time to make a plugin to do this
vp textreplace
Replace text in your messages. You can find pre-made rules in the #textreplace-rules channel in Vencord's Server
AutumnVN, TheKodeToad
vban
Patch regular role to always return same colour
fire
got time to review that PR of mine today or nah
could you review my pr too maybe,,,
lmao
@ everyone they're reviewing PRs quick everyone swarm them!!
@austere talon are you against this plugin or is it fine
put an invite link too
can u do the same for join source type
there's an ep to query it but it just doesn't use it and leaves it at unknown
for what exactly?
this depends on member search for some reason too
but you can POST /guilds/:id/members/supplemental to fetch it
if u have manage guild
so I should make it post that and use the data from there?
I can take a look I guess
yorp
and cache it too

yeah
does it only need manage guild
mhm
lol they tried to fix this
by fetching the first 250 members of member search before opening the mod view
only... that doesnt work for the rest of the members
horror
π
what does that even do
most of the times i open mod view, its not on someone who recently joined
i hate seeing that function because it will always remind me of my own stupidity for the rest of my life
i think that call is what does this
ig an alternate fix would be fixing that function
thats more work tho
this just runs everytime 
first time it will migrate second time it will set it to undefined
i might be too old to have a value
they started tracking this semi recently
the question is, how do I only try to fetch it once
wdym
I can put the request in an useEffect
if it's cached it shouldn't fetch no
I need a way to determine whether the useEffect should try to fetch
or else it will try everytime you open the mod menu for that user
even though they dont have information about the invite
they do
go for it
i'm all for improvements
i mean thats why i contribute lol
but I still need to decide whether to try fetching or not
am i stupid or can you just see if the store has the data
yea
yop
do you not see the issue haha
the store already has the member
how do I decide whether to fetch or not now?
ohhhhh
I cant null check joinSourceType for example
because for you its always null
π
shit
tbh is there anything wrong with just keeping a Set with fetched user ids
hold on a seceroni
@limber skiff join source type should be 0 when unknown
not null
something's gone awry
checking now
nice vanity vro
LMAOOO
how
youd have to have one per guild no?
200 sets π
eh
actually im not entirely right
one more thing
when u post to /supplemental
if it cant find the source type itll just not return the member in the response array
holy fuck why does devtools keep glitching and breaking my log filters
I dont plan on touching the request
oh what ru gonna do
write ur own then
None
None
None
None
what evne is this shit bro
None
None
None
None
what are you refering to by "shit"
also guhhhh love discord lag spike
verbose logs randomly come into existence and leave
even tho i have them off
the filter at the top has the same issue
weird, could it have something to do with console janitor?
no
love
skill issue works on my machine
try reinstalling 
might be the only vesktop benefit
usable devtools

veeeeeeeeeeee can you review my pr if i buy you a dΓΆner
ill review it for a doner
what am I supposed to pass here
what's this weird stuff summing up a guildId + something which i dont know
Should this account for channels the user cannot access? Honestly not sure
Should use OP 8 to query for users here (both by ID and username) like quickswitcher; make sure to pass all guild IDs
huhh it's right now
hey i didnt see this :(
LMAO
meanie
come to freiburg ill take you to a dΓΆner π
sounds german
this is copied from discord π
i love adding plugins to vencord via git patches
it will never break 
it simply never works
that's discord own code now
oh wait it needs to be in this object work or osmeting?
oh this includes caching
I can call the function everytime
youll notice that the quickswitcher does more than lookup by id silly
if u wanna bulk fetch users you use gw 
send an op 8 with guild_id: [all guilds] and either user_ids: [your_user_id] or query: string
and lazy load the results
look at how implicitrelationships works (except u dont have to bother with waiting for the results)
tell that to discord then smh

ok but wait
this only processes single items
why should i switch to gw here
the users should get fetched by discord already
im confused here
no?
so i can type in elv and u will show up
yop
that works
oh that should be fine then
yeah
all getItem does is convert a selected item back to a full item :p
because selected is only the id
but before you select it its already fetched by discord
might have to if the hidden channel changes ever roll out
I did it
they literally dont use that function
it's broken and I had to fix it
funny

most times you see it, its jquery
doesnt do anything special, just a valid char in identifiers that isn't a-z0-9
why is it used then
https://github.com/Vendicated/Vencord/blob/ea1e96185b1f1a613a2100c1d7899603790dc862/src/utils/lazyReact.tsx#L26 like here whatr does this do
lazyReact.tsx: Line 26
LazyComponent.$$vencordInternal = get;
why is it $$
In cases like that I think it just signifies that it's internal only, not intended to be used by lib devs
it just indicates that it's a special thing you probably shouldnt touch unless you know what you're doing
LazyComponent._vencordInternal would work too
yeah that makes more sense to my brain but i always assumed the $$ would do something special lmao
yay
When me
fire
silly nookies
@limber skiff @jolly egret f43baddc550dfd30c1a6b44f7e42544b03084a5a crashes vencord at top-level
think it has something to do with this line
(reporter)
but i cant run reporter
weird cuz I tested before and it worked fine
i was working on automated reporter
and it kept crashing with this error
ea1e96185b1f1a613a2100c1d7899603790dc862 works fine
click the error
looks like a plain object
@limber skiff looks like on reporter settings are just a plain object
i think it just needs an optional chain
alr
and then it should return in the second condition
like this?
yeah
yea, it doesnt crash now
its fine 
oh wait it needs more optional chaining
you had this issue for 30 mins?
π
yeah
did you not click the error or something
i couldnt manage to get source maps in the browser
you would find out instantly
and for some reason, searching ignoreMessages in vscode gave zero results the first three times
i only realized it when i found the line with ignoreMessages was only 2 hours old
clicking it redirected to discords website because of how puppeteer injects
Alright @fossil inlet, in 1 day: look into this
i feel like that affects multiple vencord plugins lol
there's a pr for that but it's kinda insane code
who even uses streamermode bruh
if you're a streamer just use stock discord for ur streams ngl
ill use it just to force you to work more

pay me 1000 dollar and I will get up form bed and fix it rn
norp
real?
*1000 alien dollar
pay me instead I am alrady outside bed
i also cant type why did I write will instead of am
still a typo..
that one doesnt matter
1 edit per sometimes
Well a pick about unmangled key is actually useful because I forgot about it
What's the use case?
I would use it to view the Whitelist, in nfts projects for example
What's the use case?
I would use it to view the Whitelist, in nfts projects for example
Amazing use case
tbh i feel like this shouldn't be part of vencord altogether
too many limitations -> people will go cry in #π₯-vencord-support-π₯
NFTS
VenFTs when
Vencoin
if you're doing any sort of official business chances are you have at least 1 permission that grants you the ability to use the members tab lol
While reading through the deleted file I've got a question:
Should i support data attributes for theming? If I'm not wrong you can just grab content in css for same results
Tags inside of profile were reliant on 2-3 patches, I'll try to reduce, but if I wouldn't find a way to do this: should i just drop support for it? Seeing tags from member list/message isn't that hard
Ty
wait till they hear about the experiment that allows you to do that..
Now testing! 
you will NOT believe it
None
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
MessageLogger (found no module):
ID: -
Match: ```
useMessageMenu:
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
findByProps("ModalRoot", "ModalCloseButton")
findByProps("openModalLazy")
proxyLazyWebpack(()=>Hr.openModalLazy...)
proxyLazyWebpack(()=>Hr.openModal...)
proxyLazyWebpack(()=>Hr.closeModal...)
proxyLazyWebpack(()=>Hr.closeAllModals...)
findExportedComponent("BlobMask")
findByProps("useMessageMenu")
findComponentByCode("Button.Sizes.NONE,disabled:")
findExportedComponent("HiddenVisually")
findExportedComponent("ColorPicker", "CustomColorPicker")
findByProps("useStatusFillColor", "StatusTypes")
findExportedComponent("Dots", "AnimatedDots")
findComponentByCode(".AvatarSizeSpecs[", "getAvatarURL")
None
None

(i caught it this time)
they playin
@jolly egret can you tell people to not use canary again
seeing as my scraper kinda works as a vencord breakage detector, maybe i should make it post a warning message

I'm done I will just try to make everything not depend in non mangled keys again
time to get working I guess
top 10 moments before destruction
what is it with this change they keep doing and reverting
They are here watching
Is there just like one member of staff that has the wrong config lol
vtest mangle-everything
Now testing! 
poor nuckyz :c
.. maybe you're not wrong
considering that they've been changing a string like back and forth every build for like
the last month or so?
None
None
None
Illegal invocation
Cannot read properties of undefined (reading 'addChangeListener')
Cannot read properties of undefined (reading 'theme')
omg
like:
build 1:
+ PLAYSTATION
- PlayStation
build 2:
+ PlayStation
- PLAYSTATION
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/(?<=.wrapper:\i.notInteractive,)(.+?)if((\i))return (\i.MUTED);/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/\.LOCKED;if\((?<={channel:(\i).+?)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
MessageLogger (found no module):
ID: -
Match: ```
useMessageMenu:
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
findByProps("ModalRoot", "ModalCloseButton")
findByProps("openModalLazy")
proxyLazyWebpack(()=>Gr.openModalLazy...)
proxyLazyWebpack(()=>Gr.openModal...)
proxyLazyWebpack(()=>Gr.closeModal...)
proxyLazyWebpack(()=>Gr.closeAllModals...)
findExportedComponent("BlobMask")
None
Illegal invocation
Cannot read properties of undefined (reading 'addChangeListener')
Cannot read properties of undefined (reading 'theme')
I wonder what's causing those
its illegal duh
WHY
of course it's not a class
but instead an object with toStringTag
something happened
vtest mangle-everything
Now testing! 
None
None
None
None
now that's a good start
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
MessageLogger (found no module):
ID: -
Match: ```
useMessageMenu:
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
findByProps("ModalRoot", "ModalCloseButton")
findByProps("openModalLazy")
proxyLazyWebpack(()=>Gr.openModalLazy...)
proxyLazyWebpack(()=>Gr.openModal...)
proxyLazyWebpack(()=>Gr.closeModal...)
proxyLazyWebpack(()=>Gr.closeAllModals...)
findExportedComponent("BlobMask")
None
None
okay that's new
exports using arrow functions?
they are definitely touching the bundler
vtest mangle-everything
Now testing! 
None
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
MessageLogger (found no module):
ID: -
Match: ```
useMessageMenu:
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
findByProps("ModalRoot", "ModalCloseButton")
None
None
vtest mangle-everything
Now testing! 
None
None
None
None
yes it is horrible
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
None
None
remember MenuDeobfuscatorAPI lol
oh god it's soo many π

this has to be a find bulk
it's just so many
nah its fine
this was a diff issue
nutty explained it somewhere in good uni
i think the config is just them experimenting lol
might be a problematic update that they keep testing
it's gonna stick eventually if they've been experimenting for this long
or just an enum or smth
How bad is it (what did they do)
made finding some shit a lot harder
vtest mangled-everything
oop, that didn't go well π₯
vtest mange-everything
oop, that didn't go well π₯
vtest mangle-everything
Now testing! 
3rd times the charm
None
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
None
None
you will train a deepseek instance on doing this
Is this just what they did yesterday? Because it seems like a lot fewer finds have failed.
im fixing lol
yeah but nookies is cooking

have you started the patches yet, or do you want me to take care of some
vtest mangle-everything
Now testing! 
yeah do
None
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitFor(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
None
None
@limber skiff also i have the base code for a rolling reporter working
DIE
it is posting to a webhook rn
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitFor(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitForComponent(t=>typeof t!="function"?!1:ba(Function.prototype.toString.call(t),e)...)
waitFor("MenuItem", "MenuSliderControl")
None
None
starting work on better folders
vtest mangle-everything
Now testing! 
None
waitForComponent(".titleId)&&")
waitFor(".titleId)&&")
waitForComponent("case"always-white"")
waitForComponent(">6?{", "variant:")
waitForComponent(".selectPositionTop]:"top"===", ".multi]:")
waitForComponent("role:"dialog",tabIndex:-1")
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
waitForComponent(".titleId)&&")
waitFor(".titleId)&&")
waitForComponent("case"always-white"")
waitForComponent(">6?{", "variant:")
waitForComponent(".selectPositionTop]:"top"===", ".multi]:")
waitForComponent("role:"dialog",tabIndex:-1")
waitFor("MenuItem", "MenuSliderControl")
None
None
lol what did they break on stable
nothing yet
will push more later, just better folders for now
Isn't FormText wrong in the top waitFor near the bottom
vtest mangle-everything
Now testing! 
ya I removed that part already
What in the horror did they do now π
None
None
None
None
btw try to make it work in stable too @fossil inlet
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
waitFor("MenuItem", "MenuSliderControl")
None
None
HORROR
this one should, but its a pain swapping from stable to canary often
alright components are pretty much done
now fixes console janitor
stop clicking the merge button nothing interesting has happened and theres no conflicts aaaaaaa
1 merge commit per commit type shit
fixes better settings
dummy
nuckyz pushed changes to his branch
i want those find fixes
(also i only opened github to create pr, rest is just done from vscode)
@median rapids evil patch
@limber skiff how tf would you go about fixing context menu api
leave that for me
and others like it
why?
do you mean the Menu components?
it matches \.Menu with all:true
lol this alwayus breaks
vtest mangle-everything
Now testing! 
None
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/(?<=.wrapper:\i.notInteractive,)(.+?)if((\i))return (\i.MUTED);/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/\.LOCKED;if\((?<={channel:(\i).+?)/
BetterFolders (had no effect):
ID: 179809
Match: ```
/(?<=(?:.xV9hVl).+?useTransition)()/
**__ShowHiddenChannels (had no effect):__**
ID: `424785`
Match: ```
/!(\i)\.isRoleSubscriptionTemplatePreviewChannel\(\)/
ViewIcons (had no effect):
ID: 217314
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ViewIcons (had no effect):__**
ID: `753898`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ImplicitRelationships (had no effect):
ID: 270759
Match: ```
/((0,\i.jsx)(\i.TabBar.Item,{id:\i.\i).BLOCKED,className:([^\s]+?).item,children:\i.\i.string(\i.\i(?:["4bDptL"]))})/
**__CtrlEnterSend (found no module):__**
ID: `-`
Match: ```
.ENTER&&(!
waitFor("MenuItem", "MenuSliderControl")
None
None
Okay, so OP tags are working out of the box, i have no idea why original one had a patch with a comment "show OP tags correctly"
Also I've added member list
I've left a comment how it currently patches discord code and I'm not sure if it's gonna be safe enough ( kinda feel weird because of the assignment ins...
vtest mangle-everything
Now testing! 
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(\i.\i||(?=(\i.isDM.+?(\i).push)/
**__iLoveSpam (had no effect):__**
ID: `598077`
Match: ```
/if\((\i)<=(?:0x40000000)\)return/
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?=&&\i.\i.selectVoiceChannel((\i).id))/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__ShowHiddenChannels (had no effect):__**
ID: `424785`
Match: ```
/!(\i)\.isRoleSubscriptionTemplatePreviewChannel\(\)/
ImplicitRelationships (had no effect):
ID: 270759
Match: ```
/((0,\i.jsx)(\i.TabBar.Item,{id:\i.\i).BLOCKED,className:([^\s]+?).item,children:\i.\i.string(\i.\i(?:["4bDptL"]))})/
**__CtrlEnterSend (found no module):__**
ID: `-`
Match: ```
.ENTER&&(!
waitFor("MenuItem", "MenuSliderControl")
None
None
@limber skiff note that I wasn't able to test ilovespam and there was a weird flickering issue with the second image zoom patch (the one for empty DM avatars)
vtest mangle-everything
Now testing! 
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:0x40000000))return/
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?=&&\i.\i.selectVoiceChannel((\i).id))/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__ShowHiddenChannels (had no effect):__**
ID: `424785`
Match: ```
/!(\i)\.isRoleSubscriptionTemplatePreviewChannel\(\)/
ImplicitRelationships (had no effect):
ID: 270759
Match: ```
/((0,\i.jsx)(\i.TabBar.Item,{id:\i.\i).BLOCKED,className:([^\s]+?).item,children:\i.\i.string(\i.\i(?:["4bDptL"]))})/
**__CtrlEnterSend (found no module):__**
ID: `-`
Match: ```
.ENTER&&(!
waitFor("MenuItem", "MenuSliderControl")
None
None
Tags in profile are also now here
It doesn't work with bots and requires 2 patches... I'm not happy about it
short explanation why:
Render DOM looks like:
server_profile(user,channelId):
top_part(user)
Username, pronouns, tags are rendered inside top_part and for tags we need channelId, so the only way i know is prop it down from server_profile
It works and if patch with `s...
Surely a revert would come 
Discord Account
thekodetoad
What happens when the bug or crash occurs?
The tag next to username is incorrect - most commonly MOD becomes VC MOD.
What is the expected behaviour?
I'd expect the tag to be consistent between the member list and chat.
How do you recreate this bug or crash?
- Create a role with the ban members permission.
- Assign it to a member.
- Observe the aforementioned behaviour.
Or just look in the Vencord server

i forgot i was using a local build
the kode tode insane
i was just writing my own stafftags plugin for another mod
i think my approach might be a bit better
betterdiscord...
(using decorator api)
what exploded
vtest mangle-everything
Now testing! 
https://github.com/TheKodeToad/moonlight-extensions/tree/main/src/staffTags very wip
I was working on support for icons for different perm levels too which would be quite nice on vencord...
@limber skiff broken find in vencord toolbox that i think needs mapmangledmodule
(somehow didnt see it on reporter)
which
None
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?=&&\i.\i.selectVoiceChannel((\i).id))/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__ShowHiddenChannels (had no effect):__**
ID: `424785`
Match: ```
/!(\i)\.isRoleSubscriptionTemplatePreviewChannel\(\)/
ImplicitRelationships (had no effect):
ID: 270759
Match: ```
/((0,\i.jsx)(\i.TabBar.Item,{id:\i.\i).BLOCKED,className:([^\s]+?).item,children:\i.\i.string(\i.\i(?:["4bDptL"]))})/
waitFor("MenuItem", "MenuSliderControl")
None
None
how was it not caught
time to not restart discord
this is
function HeaderBar() {}
HeaderBar.Icon = Icon;
HeaderBar.Title = Title;
yeah it is
wait im stupid, its not a find error
it's different function but has the same children lol
sorry
lmaooo
what the fuck are these
I feel like its not good to depend on those
but I keep doing it π
do you mean that string?
yes
it's some styles function it seems
with that functio call
oh no
are you sure its not an experiment
isVisualRefreshExperimentEnabled("BaseHeaderBar");
it returns boolean
always returns false if visual refresh is off
discord definitely seem like they will push out visual refresh and nuke the experiment immediately
what are u even depending on it for?
isnt the string to track exposure location
just leave the component find the same, it's good
xD
as for this duplicate it doesn't matter
it's like BaseHeaderBar and a more specialised HeaderBar
Both have .Title, .Icon etc set to the exact same components

and that won't change even with mangling
cause it's manual like I said
ah
uhhhh @limber skiff have you fixed the find for contextmenus yet?
thats last
ok
its pretty complicated
let me look
oh god
it's not in the same module anymore
828214: function(e, t, n) {
"use strict";
function i() {
return null
}
function r(e) {
return null
}
function a(e) {
return null
}
function s(e) {
return null
}
function o(e) {
return null
}
function l(e) {
return null
}
n.d(t, {
Cl: () => i,
II: () => l,
S8: () => s,
k5: () => o,
kS: () => r,
sN: () => a
})
},
well it doesn't matter much
just openinapp for now, pushing more as I go
we just need to bring back the old demangler api and modify it slightly
do u want me to do the demangler api? @limber skiff
what did they even do and why
it hasn't changed we just need to match this again
(Cl = MenuSeparator, kS = MenuGroup, sN = MenuItem)
1764206e19cfdb7f2a7e69497ab017853e7c9816
and f092f434fe48ba0db8b3c0c66524899b5a21c4f1
nah
the old code still works
it's so robust it still works after years
its so ugly tho π
you can't really make it better
they reverted i think
Now testing! 
imma crash out if they did
guhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
None
None
None
None
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__ConsoleJanitor (had no effect):__**
ID: `173840`
Match: ```
/(?<=&&\()console.log\(`Deprecated.+?`\),/
ChatInputButtonAPI (had no effect):
ID: 258696
Match: ```
/return(!\i.\i&&(?=(\i.isDM.+?(\i).push(.{0,50}"gift")/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowTimeoutDuration (had no effect):
ID: 464891
Match: ```
/(\i).Tooltip,{(text:.{0,30}(?:.AeYyLy)))/
**__ShowHiddenChannels (had no effect):__**
ID: `557135`
Match: ```
/(?=&&\i\.\i\.selectVoiceChannel\((\i)\.id\))/
iLoveSpam (had no effect):
ID: 598077
Match: ```
/if((\i)<=(?:1<<30|1073741824))return/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__BetterSettings (had no effect):__**
ID: `493544`
Match: ```
/\(0,\i\.useTransition\)\((\i)/
Settings (had no effect):
ID: 991346
Match: ```
/({(?=.+?function (\i).{0,160}(\i)=\i.useMemo.{0,140}return \i.useMemo(()=>\i(\3).+?function(){return )\2(?=})/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__BetterFolders (had no effect):__**
ID: `179809`
Match: ```
/(?<=(?:\.xV9hVl).+?useTransition\)\()/
ShowHiddenChannels (had no effect):
ID: 424785
Match: ```
/!(\i).isRoleSubscriptionTemplatePreviewChannel()/
**__ViewIcons (had no effect):__**
ID: `217314`
Match: ```
/.Avatar,.+?src:(.+?\))(?=[,}])/
ViewIcons (had no effect):
ID: 753898
Match: ```
/.Avatar,.+?src:(.+?))(?=[,}])/
**__ImplicitRelationships (had no effect):__**
ID: `270759`
Match: ```
/(\(0,\i\.jsx\)\(\i\.TabBar\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i(?:\["4bDptL"\])\)\}\)/
CtrlEnterSend (found no module):
ID: -
Match: ```
.ENTER&&(!
**__FakeNitro (found no module):__**
ID: `-`
Match: ```
.PREMIUM_LOCKED;
MessageLogger (found no module):
ID: -
Match: ```
useMessageMenu:
waitFor("FormItem", "Button")
waitFor("MenuItem", "MenuSliderControl")
findByProps("ModalRoot", "ModalCloseButton")
findByProps("openModalLazy")
proxyLazyWebpack(()=>Hr.openModalLazy...)
proxyLazyWebpack(()=>Hr.openModal...)
proxyLazyWebpack(()=>Hr.closeModal...)
proxyLazyWebpack(()=>Hr.closeAllModals...)
findExportedComponent("BlobMask")
findByProps("useMessageMenu")
findComponentByCode("Button.Sizes.NONE,disabled:")
findExportedComponent("HiddenVisually")
findExportedComponent("ColorPicker", "CustomColorPicker")
findByProps("useStatusFillColor", "StatusTypes")
findExportedComponent("Dots", "AnimatedDots")
findComponentByCode(".AvatarSizeSpecs[", "getAvatarURL")
None
None
?remind tomorrow fix port issue with rolling reporter
Alright @fossil inlet, in 1 day: fix port issue with rolling reporter
okay nice
@limber skiff is there a better way to do this
specifically the relying on the id part
(m is the checkbox instead of the entire module)
i was gonna use mapMangled but
the module is so fucking generic lol
nice it works!
these also back
ohh
looks like ContextMenuPatcher also broke somewhat
yes
that one is super hard leave it to me
well it will be required indirectly trol
should we do dependency of ContextMenuAPI or just make both required?
just do dependency
havent had a chance to test showHiddenChannels or openInApp yet
actually both required is probably better lmao
cause it makes it easier to remove again
its not a dep of dep actually
oh yeah this will break lmao
can we also just bring the old one back for that
the cursed proxy patcher
cursed patch 
it actually dont needs to be a proxy
just a getter
but yeah
leave that for me
alright sure
vtest mangle-everything
Now testing! 
None
mapMangledModule(".DIAGONAL_FACEPILE_16,typing:", {
useStatusFillColor: r=>typeof r!="function"?!1:ba(Function.prototype.toString.call(r),t)...
})
None
None
die
PermissionFreeWill (had no effect):
ID: 156699
Match: ```
/{(\i:function(){return \i},?){2}}/
**__IgnoreActivities (had no effect):__**
ID: `293273`
Match: ```
/HANG_STATUS.+?(?=!\i\(\)\(\i,\i\)&&)(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?=&&\i.\i.selectVoiceChannel((\i).id))/
**__MentionAvatars (had no effect):__**
ID: `644956`
Match: ```
/children:\[\i&&.{0,50}\.RoleDot.{0,300},\i(?=\])/
OpenInApp (had no effect):
ID: 952164
Match: ```
/!(0,\i.isDesktop)()/
**__ShowHiddenChannels (had no effect):__**
ID: `473403`
Match: ```
/(?<=\.wrapper:\i\.notInteractive,)(.+?)if\((\i)\)return (\i\.MUTED);/
ShowHiddenChannels (had no effect):
ID: 473403
Match: ```
/.LOCKED;if((?<={channel:(\i).+?)/
**__ShowHiddenChannels (had no effect):__**
ID: `424785`
Match: ```
/!(\i)\.isRoleSubscriptionTemplatePreviewChannel\(\)/
ImplicitRelationships (had no effect):
ID: 270759
Match: ```
/((0,\i.jsx)(\i.TabBar.Item,{id:\i.\i).BLOCKED,className:([^\s]+?).item,children:\i.\i.string(\i.\i(?:["4bDptL"]))})/
mapMangledModule(".DIAGONAL_FACEPILE_16,typing:", {
useStatusFillColor: r=>typeof r!="function"?!1:ba(Function.prototype.toString.call(r),t)...
})
None
None
can everyone help fix those
its gonna suck if they revert before we can make the fixes
check my pr 
and then stuff break again after
rush the fixes or at least take screenshots of the code
Js keep. The branch
Why not just download the bundle
i have full bundle downloads, formatted and numbered
@fossil inlet whats left
btw kinda late to ask but
the big component module still exists right?
did you use a massive mapMangledModule or did you find everything individually?
vtest mangle-everything
ours also wouldnt be public sooo



