#πΎ-core-development
1 messages Β· Page 233 of 1
apparently i already created a chrome web store api key 5 years ago
huh?
you are asking for my review correct?
yeah you told me to rename what i added and migrate the existing setting
bro
leave the rename of the existing setting for me
all paths lead to scraping 
aight
nuckyz will review my small and totally not 1450 line pr
youtube slop
Forget everything you knew about web scraping! This video explores how AI is revolutionizing data extraction, making it easier and faster than ever. Traditional methods are clunky, prone to breakage, and frustrating but with AI, we can scrape like never before, bypassing complex rules and API limitations. I'll show ...
350 views π
why do u need ai for scraping π
how can u not know how to use something like puppeteer
looks fine or should i not change the Settings.plugin to settings.store?
this should do what you want
git rev-list --ancestry-path $(git describe --tags --abbrev=0)..HEAD
$ext
1.11.2
Fake versionβ¦
what does it reply if it doesnt match
new role so goodβ¦
also as a side note since the removal of usrbg as a built in plugin was mentioned (even though vee said to keep it I figure this is worth mentioning) - based on the very loose stats cloudflare gives me it has ~2.3 million monthly users and I would politely request to not deal with having to tell that many people that the plugin was removed 
(also hi i'm back i just needed a quick break from discord due to stuffβ’οΈ)
yes thats fine
its DOOMED
you will use ssh
we will remove the plugin and add a notice to dm or ping you if users have any questions regarding the removal

you will ssh sign NOW
boring

i've always done it this way
or better yet
let me just fix my shit 
fair enough haha
that means its working
katlyn will die of trillions of users dming
Unfortunately, we had to remove the Usrbg plugin due to legal reasons. For any questions, please email [your email here]
wing@wingio.xyz
fear
@swift fjord soon
we are gonna add the Vencord changelog modal just to show that message
add it to support helper
and explicitly highlight katlyn email
it works fine if i install gcr π
changes pushed
someone stole my regex!!
if i start getting support emails then im ddosing vees vps
do it anyway
$ext
The extension is up to date! (v1.11.2)
no lol
alright I will review tomorrow again or something
cool
I'm feeling tired now
all good
you did it super similar lmaooo
(also dont get it wrong I'm not complaining)

The Vencord Chrome Extension is up to date! (v1.11.2)
hugee command
the days are gone of opening it myself and scrolling down
yeah lmao but less stable
doubt it will break
yeah

especially with stuff that has many moving parts
like optional nodes
basically impossible to parse with regex
omg can we have that discord fixes plugin and fucking change this to a proper flex component
it's so bad to align those
and always feel un-aligned
vext
The Vencord Chrome Extension is up to date! (v1.11.2)

the fact this is a span
is so dumb
jsdom 
inb4 someone spams this and gets me rate limited from google webstore

vexplode
i wonder if its possible to easily route a single connection through open vpn/wg
@limber skiff what do you think about how we should store the favicon pngs for vencord code
pasting into console rn
cause of csp update we can't fetch them directly from all sites anymore (without whitelisting all of them (nope π)) but both google and ddg favicon api fail to fetch one of the sites' icons
just do static.vencord.dev if that doesnt explode vencord servers
as for third party builds of vencord, they can modify the csp for it...
so you think we should make our own cdn
also no it wouldn't explode
we just need to give images unique filenames (hashes) and we can make cloudflare cache them for an entire year
so cloudflare takes 99% load
that's how I serve badges 
I think so yes, we need a proper way to store stuff thats not github or remote fetch or random cdn or even Vencord repo
however hmm
im not sure how plugin dev would be like that
would have to manually request or something
i was actually working on smth like that in the past
you upload file to discord and venbot optimises it and automatically pushes it to git repo
venbot still has code for that iirc
but it was kinda bad
SAME
only happens for me after the initial link
after it opens once it's normal
but before that
the only annoying thing about csp update is that you won't be able to fetch() random sites
i had to click twice 
isnt there a way for plugins to whitelist urls?
that one opened instantly for me
prob cached
guys i think chrome might be moving towards a new experience that allows users to choose to browse without third-party cookies.
extract the fake sticker into a separate function and call it inline for nicer code
return buildMenuItem("Sticker", () => fetchSticker(favoriteableId).then(s => s ?? buildFakeSticker(sticker));
why is this needed? we already check favoriteableId above, and that's all we need
maybe instead of completely replacing the original message, we could instead add the plugin card as Accessory? So the message will have both
please also resolve conflicts ππ»
yes i make bad PR titles
i had the opposite thought for some reason, i wouldn't expect the dots to stop click propagation
especially when it's in dots only mode
please also resolve conflicts ππ»
i was in the process of doing it but
it's a lot
and i dont wanna break their code
@fossil inlet for ur showconnections pr
it's kinda meh to make an entire custom compoennt
you could just add some more props to the slider settings type
to only allow precise ints
how do you calculate that
like buttons or wtf
because the size of the icons and margins can vary
and i dont think the profile size is constant
(if it was, id calculate it)
i assume you mean pass extra props to the slider via component props
AAAAAAA I see why you say that it's not that simple
what does that even mean
ah
oh uhmm
I see
vcotd
that is NOT fire
UX design is hard

it is fire
yesterday cotd was so good
lc.gem fire color hex code
The hex code for a common fire color is #AA4203.
This represents a vibrant and intense orange.
Keep in mind that fire can have a wide range of colors, from yellow and orange to red and even blue or green in specific conditions.
I might steal and put my color as that hehe
users will immediately notice though
it's needed because of the incompatibility with the plugin mentioned in the comment, it results in this without the check:
it's a niche case, but i wanna be safe in case the issue exists elsewhere too
Discord Account
No response
What happens when the bug or crash occurs?
the user popout profile vanishes even if it was in use
What is the expected behaviour?
i expect clicking the users avatar to do nothing or for the popout to stay even after all users have stopped typing
How do you recreate this bug or crash?
- click on a users avatar in a typing indicator
- start doing some...
that bug has annoyed me for a while now

sadan why π
it annoys me
sqaa pr is literally to avoid that
nope
nop
to make clicking do nothing
something else (i think)
different issue
huh
π
I still don't understand what your pr fixes then
clicking the avatar or pressing space/enter in the message box inside of the popout will switch to that channel
keypresses in user popouts would bubble up to their parrents, triggering them
@rugged spire is that right
it might not be fixable honestly
unless they have a prop to control it in Popouts
i think it should be if theres a way to detect if a popout is open
i will leave a painful comment on that issue
implementing Popouts from scratch would not be a solution
i could be crazy but i remember a popout ref
im not that crazy
Good News: the comment isn't going to be that bad
this would probably require reimplementing a small portion of UserSummaryItem
it actually doesn't seem quite hard to do tbh
maybe we could just patch the component?
bad news there is no way to avoid it
nop
what do you mean nop
when you click a user it uses the Popout component... to create the popout
and when that component is unmouted it dispatches a popout close
it looks like it just involves replacing looking up the user from the users prop
The component is never unmounted
nvm
it is
time to play around with it!
all we need to do is just not unmount the component? or how horrible is this idea
is there a way to do that in react besides rendering something with display none
that's just not doable
what is this then
re-implement the user component to render null but keep the popout
i mean the usersummaryitem btw
which means you are creating components which just keep stacking
you underestimate my horrorcode
and never disappear
i figured out that idea doesnt work how you think it would
my testing is going well
i did it
push to main
forget all of that. I have a working prototype now.
How it works:
remove the if (typingUsersArray.length > 0) condition so the component always renders
add that condition to the Dots indicator mode condition
MY GLORIOUS HORRORCODE
<details>
// if (typingUsersArray.length > 0) {
return (
<Tooltip text={tooltipText!}>
{props => (
<div className="vc-typing-indicator" {...props}>
{((settings.store.indicatorMode & IndicatorMode.Avatars) === IndicatorMode.Avatars) && (
<div
onClick={e => {
e.stopPropagation();
...
git format-patch in shambles rn
no github's markdown html renderer just explodes the codeblock formatting if its inside of html
i cant apply a codeblock 
?remindme 1d pr this mess
Alright @rugged spire, in 1 day: pr this mess
which one?
the one to fix events bubbling to clickable components
depends how cursed this fix is
hey guys, so @fossil inlet said [here](#1331976527545368646 message) that I can consider PR-ing my theme it to fix Client Theme not working with Visual Refresh. The issue is that I have no idea where to add the CSS in the typescrcipt file (i do know that the file to change is src\plugins\clientTheme\index.tsx but now how). Do I ask for help here or in #π§©-plugin-development?
what is your fix
is it something that's generated
or is it static (put it in clientTheme.css)
import "./REPLACE_WITH_FILE_NAME.css"
there is already a file for it
just put it in there 
ehhh, might be better to keep them separate
maybe?
doesnt matter that much tho
oh so thats it? 
ITS BACK
NSPC911/Vencord @f6c5fd8
can yall tell me if this is good
@fossil inlet am i missing something obvious or?
yea, the plugin has a clear use
eg: use permission viewer to see what role has a certain perm
use this role to find users with that perm
the plugin shouldnt hardcode the css
how to then?
@hollow musk did you generate that with a script or handwrite it
took from original css, used regex to find and replace
but anyways, the css changes based on the selected color automatically with the set variables, so it shouldnt cause any issues right?
I don't really remember, but I think it's to avoid creating an array than pushing elements to it, I should used map smh
oh yeah thats true
whats wrong with doing it?
harder to mantain in the future
/make small changes
so what exactly should i do?
Well, how did you make the CSS in the first place
I'm assuming the numbers weren't chosen at random
there was a css file within the network page that handled the variables for the colors, i downloaded it, removed the uneccessary stuff, did a find and replace with regex and yeah
the numbers werent random, they were chosen by discord
Recently we got shortcuts in the plugins definition to use most apis, this one should add those shortcuts too
look at renderChatBarButton for an example
I was not able to find renderChatBarButton, can you explain those new changes and what am I required to do?
Recently we got shortcuts in the plugins definition to use most apis, this one should add those shortcuts too
look at renderChatBarButton for an exampleI was not able to find renderChatBarButton, can you explain those new changes and what am I required to do?
Instead of plugins calling the API in their start/stop methods, plugins should have a property with metadata about the tabs they will add
Take a look at #3028 where this was implemented for all the other APIs
De...
Pretty sure this is tampermonkey, it's in their i18n keys on github
Content
in the mobile app there is an option to see all media sent in a discussion but there is no option in desktop app is there any way to fix it?
Request Agreement
- [x] I have read the requirements for opening an issue above
from:@me has:image has:video has:sound
- This is not a vencord issue
- Search for βhas:image in:#whatever-channel-you-want-to-search-intoβ
- Also not sure how you missed the big warning telling you that the issue form is for developers only. Use the support server for further issues
This is not a vencord issue
Search for βhas:image in:#whatever-channel-you-want-to-search-intoβ
Also not sure how you missed the big warning telling you that the issue form is for developers only. Use the support server for further issues
sorry didn't see it should i close it?
should i close it?
Yes.
didn't see
literally 1000 capital letters and warnings telling you to fuck off π
you just can't not see you're being intentionally oblivious
so uhh what should i do?
@fossil inlet, <t:1737766685:R>: right-click to clear filters in members tab

because vee is insane
starting a node script takes a second or two
vencord has pnpm dev -> pnpm watch -> pnpm build βwatch -> build.mjs command
why insane then
because it would be doable to put the build.mjs command in all of the above scripts 
then youd save some time
so you mean running pnpm scripts is slow
shit ass package manager
npm is probably as bad
i was wrong
and bun is soooo fast
Saner than npm
bruhh
how about deno βββββββββββββββββββββββββββββββββββββββββ
@limber skiff didnt you fix a bug like this a couple of months ago?
How is that even undefined??
something with switching accoutns
i might just check if its undefined and return false if it is
Horror
None
None
None
None
None
None
None
None
but what is there to generate, when the variables do it automatically?
generate the variable names
I dont understand why you are asking so much about it
look at the existing code for the plugin and you will realize no variable names is being hardcoded
which means for visual refresh it should do the same
im sorry, this is my first time actually modifying vencord's code and i want to do a proper job instead of a half-assed one
wait so i need to modify this part to add the style but not use the variable names and instead use the actual variables in the function right?
can i pay just the merge without any review
yeah but i want just the merge no review i want to merge malware
How much money to just be given push access to Vencord for five minutes
NOP
just use AuthenticationStore.getId() instead 
@rugged spire, <t:1737775575:R>: pr this mess
later
how do i check whether visual refresh is enabled or not?
wdym
you did that in your orig css
just wrap with .visual-referesh (or what ever the class name is
yeah but like wouldnt it be better if it injects if visual refresh is enabled instead of just injecting it whether or not it is enabled?
not really????
no
damn, so no difference in terms of performance?
(like i said, i have no idea what im doing and im slowly learning)
no
generating the css is quick and only happens once
if you generate based on if its enabled, you would have to somehwo listen for when its changed
and re-generate
and if you didnt, people could think client theme is broken when they toggle the experiment
the .visual-refresh class is already done for you
this is what matters
@hollow musk tbh if you dont do something within a few days, do you mind if it do it (ill credit you)
you may also like :root:not(.visual-refresh)
yeah sure, just add me as co-author i guess
id or that or just send you the code
?remindme 5d if you didnt finish the fix, tell @fossil inlet to make it
Alright @hollow musk, in 5 days: if you didnt finish the fix, tell @/home/meow to make it
@fossil inlet, <t:1737694115:R>: bump a random pr
good question
because sadan is lazy
don't use lazy one horror
lazy is meant for when you need to await a promise (it shows a loading spinner in the context menu)
aka lazy loaded context menus or context menus that need to fetch stuff
if you don't have an await you want to use the normal one
yop
guh??????
i've had to implement a lazy context menu and i didn't know thats how the context menu spinner worked
@rugged spire, <t:1737862048:R>: pr this mess
the more that i look at this, the more i wonder whose ass discord pulled the percentages from
so i made a graph of them
fucking party poopers, i cant even say they are a logarithmic expression now
like i cant even vouch for the devs, why is it like this
Try googling the numbers maybe
how do i google numbers π
Fix the settings in the Vencord tab not notifying listeners, so switches don't work and changes aren't saved
I wondered why my quickcss kept turning itself off every restart
i think ill just do some manual work to change the lightness because the colors arent as accurate as normal discord
finally we got a bug
@scenic brook thank you for using dev and testing lmao

I think you should put that in the else though
to not fire multiple times globally for plugin settings change
Yeah I thought that might be the case but I didn't know if it was important for it to be fired for both pathStr and settingPathStr
I'll change in a little bit
pathListeners should fire for both as they only fire if there are actually callbacks that exist
but globalListeners should only fire once
thankss
vencord has about as much testing as discord /j
nop
I literally said we should merge this into dev only and wait a few days to find bugs

should Option.CUSTOM be changed from any, rn it allows stuff like RegExp lmao
it's fine like this for now
like I already mentioned before we could add serialize & deserialize props so you can store arbitrary data
hmm alright
now you see why I wanted to wait nuckyz 
yep
wanna get my other PR in :3
this is way too long, one example should be enough and this really should be a gif instead of a video
also should probably be above those location lists!
no discrimination in my vencord π
what in the world does this type do? a comment would be useful
this should use normal non-lazy openContextMenu
thanks for the changes, that's already better!
const urlRegex = /https?:\/\/\S+/g;
if (matches?.[0] === message.content.trim()) return;
matches?.forEach(url => {
const hash = h64(url).toString(16);
translatedContent = translatedContent.replaceAll(hash, url);
});
@austere talon don't push yourself too hard pls
@fossil inlet for ur ShowConnections pr, did you understand what I suggested? (editing the Slider settings component to allow plugins to specify they want full ints)
I can make that change if you don't wanna do it
24h PR review marathon
gonna do a 24h twitch charity livestream where u can use channel points to redeem PR reviews

automasting this
π
ill just tier 3 sub to get mosdt points trol
I wanted to rewrite settings from scratch anyway
shit is SO MESSY
xd
what just adding new code on top of existing code for 2 years without ever refactoring it does to a codebase
could this be some other type than any? like Partial<Sticker> or smth?
is there an enum for this, for clarity?
adds intellisense to properties in the build menu item function, but yeah I'll add a comment
Yea, I just haven't had time yet (family issues)
oh all good no rush, take as much time as needed
Just making sure we're on the same page
you should start selling pr reviews @austere talon
and guaranteed merges
youβd have to pay monthly to keep the plugin in vencord
horror
Also, do you want me to change the name Discriminate to something else? I just used it because that's what I copied from another project of mine
no i was just joking π
although
if the name could better describe the function sure
Discriminate doesnt really say a lot
Its called a discriminated union 
@austere talon https://github.com/Vendicated/Vencord/pull/3157 
at least the rest which is not patchWebpack lmaoo
if I dont do today I will do tomorrow
cool
I forgot about it yesterday mbbb
I remembered earlier today 
but then I havent got to do stuff yet
e45b867 ServerInfo: Add Ignored Users tab (#3127) - jamesbt365
7ee70e8 MessageLogger: Make collapseDeleted require a r... - jamesbt365
79cbfe9 HideAttachments, UnsupressEmbeds: Work with for... - jamesbt365
4036fba ConsoleJanitor: Remove old patch and add getLas... - sadan4
aac5242 ImageZoom: Fix incorrectly adding context menu ... - sadan4
all good
None
None
None
None
None
None
None
None
@austere talon did discord push an update where you can see invisible users?
awful update
Its either that or a bug
it's a bug on vencord's side
vencord creep update...
there's actually one bug I noticed: for people who use the colour dot instead of role name (or use BetterRoleDot), the roledot has the wrong colour
also this doesn't integrate with RoleColorEverywhere which kinda sucks and should be added
In any case, I will just merge this now and we can make these fixe...
is it tho?
you never unsub also this can probably just be a useStateFromStores
all these components are like the same code
try making one or two generic components and passing the data via props to duplicate way less code
alt text should either be meaningful if this image is relevant for blind people, or blank to make this image not be included in screen reader
find: '"-all-tags-dropdown-navigator"',
ya this has happened for forever
no idea what causes it tbh
this is very ugly try making this better idk what the code looks like but generally you should try getting some less generic string or token in there
stream of consciousness review
UR CODE IS SO HORROR NINO
bro
you never unsubscribe π
after using ur panel a bit there will be 200 subscriptions
guhh i quickly made this because some idiot was willing to pay
i will fix my shitcode

lmaoo
@austere talon not really a better parch for this. IIRC it's matching a call from another module amongst another call exactly like it
||I could be misremembering or discord could have changed code since then||
f29662c feat(ViewRaw): add View Role option (#3083) - vishnyanetchereshnya
this should settings.use on lightness
v cooking
not git issue 
yeah its gh cli
i did gh pr checkout 1234
normally it should set up the branch correctly but it didnt
real
idk why it's acting up on this pr
you can use the copyWithToast util instead
this is not very robust. it will match the first onClick in the file and then find the next index which can very easily be wrong. you should add some anchor or limit length to ensure you match the right onClick and index
just get rid of this try catch it's not needed
okay this definitely needs a better description and or name because the current ones are really vague and I had no clue what this does based on them
This also needs a README! and I think I fixed your conflicts lol
do
silly
I saw the emoji and didn't realize it was angry lmaooo
love old prs 
at this point for consistency you should add regular id to constants as well and remove the comments
try just importing the BadgeAPI on the top level it would be cleaner but it might cause an error i don't actually know
will date picker setting be possible now 
and not suck
i just wanted to merge it for now cause it's already usable and it's been waiting for so long
husk
also so many changes
i think for PRs we could instead of trying to make it perfect right away merge it first and then add more features later
cant you just serialize date as string
so many good features
so PRs wait less
yop
I like this

if this happens the known shortcomings should be documented somewhere for devs to fix later
so they dont get lost in the sands of time

comments in the files?
gh issue?
irccolors is neat
i might actually play around with what could be changed though
also overrides would be neat
fix the things I mentioned
what things?

we gotta stop calling it that
never
ignoring the only plugin that actually has RCE
why did you edit the copy function π
it uses success on error π
why show a checkmark when you cant copy
that case should never happen because you would have to use some insane browser to even get that
then does it even matter π
it has mattered enough for you to notice it
revert if you dont like it that much
yop
Discord Account
sadan
What happens when the bug or crash occurs?
the context menu does not have the expected items
What is the expected behaviour?
the context menu to have the expected items
How do you recreate this bug or crash?
- open modal
- right click role
- notice items missing
Errors
N/A

those options are added by other plugins that patch the dev-context menu (yes that's the id of that role context menu)
yea, I'm aware.
wonder if there's any way to imitate the dev-context menu from the modal

you can give it the dev-context id and make sure you pass the same props to it (mainly id prop) and it should automatically be patched
not sure if yall know this, but better folders sidebar doesnt really add itself to the right place in visual refresh (it should be under sidebar_a4d4d9 but it is under base_a4d4d9 instead. i looked at the code, i have no idea how it works, so im leaving this here for any of yall to fix (i was planning to fix this and add to my PR, but nevermind)
?remind 3 days look into this
Alright @fossil inlet, in 3 days: look into this
Uses some diabolical themeing to fix ClientTheme not working while Visual Refresh is enabled
I can't find a proper curve to plot points and get better Lightness percentages (linear increase made it more flatter than it originally was with discord's wonky ahh curve
), so until then this is what is available
I haven't added my name to the Plugin Authors because I remember somewhere stating that the name can ...
Is there a way to open vencord's settings page, plugins page, etc, via code?
sort of working on something to combine all discord mod clients together and I want to put their settings in a single unified location instead of cluttering the settings page which can also cause incompatiblities with how each mod adds their own settings menu to the panel
i don't think that's worth the trouble

(I already have it working)
+1 there is only one man Iβve known in Vencord history to get other client mods working with Vencord, and that shit is fucked to all hell
thats wild lol
thanks for pointing in the right direction!
time to revive Topaz but better
The only other client mod, you will get a semi stable experience with is shelter
no way, you have to be coping
what are the clients you added, and why do you need that much
if you want to combine multiple mods you will have to patch their code to make them compatible lol
Vencord and BD are incompatible
betterdiscord, kernel, shelter and atm replugged sortof
replugged collides with vencord due to plaintext patches but I am trying to fix that
they are the most compatible out of all
no way
actually Vencord and shelter are
literally perfect out of the box working
yeah thats what i thought, because iirc shelter uses something different compared to the others
vroβs will do anything to get βBDcompactβ
@inland timber the point still stands, why.
Userplugger soon
anyway this is off topic to this channel 
shelter, vencord, bd
are the most compatible ever period.
everything works perfectly out of the box
actually wait BD needs their win32 thingie removed but that's optional and more of a platform thing
instead of the user choosing
let everyone use one!
wha
i have no words
vro is cooked the next doomsday
chat i think this guy needs some actual medication, he is beyond saving
oh my bad, my question was related to vencord itself on how to get to its settings, so I thought this was the appropriate channel
I got it working!!! no cap

ahh moment
wait also is it a vencord issue or vesktop issue that the nav bar (which has the minimize, maximize and close button) to not show up while having visual refresh?
ai
you guys are giving me a headache
hop into a different channel before I kill myself

π€―
amazing code (i actually enjoy math)
same
why would anyone hate it
I did this a bit back too, actually insanely useful
Immediate feedback that your regex is shit 
This plus diff view are op
Also this because I always forget when working in native
How do you even solve
its literally simple calculus, hows that hard
This is how people lose channel access
my bad
OpenMemberPopoutInstead
fixedd
(thank you about the conflicts i have no idea how i did those)
just forcepush shenanigans
I wouldn't do replugged if I were you
isnt replugged EOL
nop
sadly no
but replugged does async stuff everywhere and they have all sort of race conditions with webpack finds, patching and even with discord own lazy chunk loader (at least used to have this one)
LMAOO i forgot about that
i wonder if they found the cause yet
adding replugged is almost asking to have race conditions and a lot of crashes/plugins not working
I think tarki did yeah
Plaintext patches (only by plugins) still fail sometimes.
Needs more testing and polishing before getting merged.
not merged lol
that means it took them this long to find it
meanwhile we found it in like 10 minutes 
90 files changed lol
lol yeah he found it

we should turn every vencord import into await import
half of the diff is just him rewriting the renderer code to not use top level await everywhere lmfaoo because that's esm only
will become faster 
I kinda understand a bit why it's async
cuz gotta load plugins from files and stuff and they didn't want blocking
ya but u dont gotta make the entire webpack stuff async for that π
but basically attempting to mess up with webpack and turn it async
that would never work well
webpack even has it's own function for esm modules with top level await
cuz obviously that needs special handling
Basically instead of modifying just the username, now it's changing color inside of discord's helper func
And this function is used by RoleColorsEverywhere, so it's a win-win situation
https://github.com/Vendicated/Vencord/blob/main/src/plugins/roleColorEverywhere/index.tsx#L28
this is way too long, one example should be enough and this really should be a gif instead of a video
how can you embed a gif, I have the readme updated with the gif but it wont embed for me
It's embedded fine for me
Husk
@austere talon couldnt this just hash from xxhash64 instead
oh lol
it worked
- You might be breaking the Rules of Hooks
I broke the rules of hooks
can I really not call a hook from here
nop
it is inside the context of rendering tho?
trolled
alright there we go
87cb1fd Fix top level settings notifying global listene... - lolsuffocate
cf28c65 Add IrcColors plugin (#2048) - jedenastka
f29662c feat(ViewRaw): add View Role option (#3083) - vishnyanetchereshnya
3350922 LastFmRPC: Add option to hide if there is anoth... - Vendicated
c4f8221 IrcColors: Make lightness apply without restart - Nuckyz
Keep in mind this overrides role colors in chat, so if you wish to know
someone's role color without checking their profile, enable the role dot: go to
User Settings, Accessibility and switch Role Colors to Show role
colors next to names.
someone made this pr to make color dot reflect it
hmm
I just saw vee's comment complaining about it
Also i've just noticed small issue about my pr: it does changes color text, but doesn't reflect on mentions ( when using role colors everywhere)
just update the RCE plugin
this proxy memo just doesnt work right idk why
wrapMessageAuthor(userId: string, messageAuthor: any) {
const colorString = useMemo(() => calculateNameColorForUser(userId), [userId]);
const proxy = useMemo(() => {
return new Proxy(messageAuthor, {
get(target, prop, receiver) {
if (prop === ORIGINAL_COLOR_SYM) {
return Reflect.get(target, "colorString", receiver);
}
if (prop === "colorString") {
return colorString;
}
return Reflect.get(target, prop, receiver);
}
});
}, [userId, messageAuthor]);
return proxy;
},
May i make it in one pr?
lies
why tf r u using a proxy
to get original color for role dot
yes
If i make something like this ( needs conversion from hsl to hex ) how many husks of huisk it will get?
I've seen a long time ago that no one should modife stores since discord relies on it
u should pull dev
yeah this is what i meant
I've no idea how to change it
make a new branch
then git merge upstream dev
or better
reset to dev
git reset upstream dev
go into your pr
and change base branch to dev
then press the button on github
It's already dev
oh, wait
Now testing! 
what version of react does discord use
None
None
None
None
React.version
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(()=>zr.openModalLazy...)
proxyLazyWebpack(()=>zr.openModal...)
proxyLazyWebpack(()=>zr.closeModal...)
proxyLazyWebpack(()=>zr.closeAllModals...)
findExportedComponent("BlobMask")
findByProps("useMessageMenu")
findComponentByCode("Button.Sizes.NONE,disabled:")
findExportedComponent("HiddenVisually")
find(e=>e.Types?.[0]==="BOT"...)
findExportedComponent("ColorPicker", "CustomColorPicker")
findByProps("useStatusFillColor", "StatusTypes")
findExportedComponent("Dots", "AnimatedDots")
findComponentByCode(".AvatarSizeSpecs[", "getAvatarURL")
None
None
...
what did they cook
WHAT
mangled everything again
@limber skiff is this the big component module again
Components module kill
i have a feeling they wont revert this time
Time to #1257025907625951423?
it's just mangled
oh
doomed
iirc support helper crashes discord with this
horror, need to fix that
thats what happened last time, havent tested on this build yet
so someone should prob make known issues post ( @jolly egret )
that's from a squash
oh old
haven't they pushed this same mangling multiple times now
remember I was trying push a fix to not depend on non mangled stuff
yea
and had the DOMTokenList issue
theyre stupid
@austere talon even if they revert, support helper should be done in a way where it doesnt crash, even when finds fail
yes
^
I suggested in the past that we make a mode where it deliberately breaks all webpack finds
so we can find crashes
we should do that
yea, thats been in the back of my mind for a while
im busy rn, but if a few hours ill start fixing stuff if needed and they havent reverted
Yeah
why the fuck does this crash (cannot read properties BOT of undefined (so r.Z.Types is undefined)
why is r.Z.Types undefined
it's MoreUserTags that causes the crash btw
dude
Is there some analog of useMemo that doesn't utilize hooks?
MoreUserTags just needs a rewrite I already said this last time and it wasn't done
that plugin is so dangerous
Why?
because it always causes crash
its patches are written in a way that makes Discord crash if anything changes
so many patches to different modules that depend on one another and aren't stable even on their own
incredible
look at this
it makes a discord module return early and export undefined
so Discord's own code causes crash because it's reading property of undefined
FIRE
what is this supposed to refer to
plugin def
function (this: SomeType, arg1: SomeType)
i will delete MoreUserTags for now
we need to rewrite it, then we can add it back
intersection with ThisType<MyType> or (this: MyType, ...args: any) => void
why husk?
seriously
@limber skiff
I guess
also whatever this thing is shouldnt use an ErrorBoundary lmaoo
it's username or smth
but is it not easy to fix for now
yes but it will crash again in the future
and we dont even want to fix it for now
but we dont want stable to crash
in the future, not now π
I did this before
const Tag = findComponentByCodeLazy("#{intl::DISCORD_SYSTEM_MESSAGE_BOT_TAG_TOOLTIP_OFFICIAL}") as RC<{ type?: number, className?: string, useRemSizes?: boolean; }>;
const TagTypes: Record<string, number> = findByPropsLazy("ORIGINAL_POSTER", "REMIX");
uh why are you trying to use this? u should return a Element
ik
what other plugins are crashing (nothing is for me rn)
okay. me sleep now gn 
gn
why are u even trying to make this work
that's antipattern you shouldn't use this there
hmm
this seems to be the only thing crashing
@austere talon should message accessories all be noops
they take up a lot of space in chat if they arent
why doesn't this work am i stupid
(the error boundaries)
according to cynthia stuff isn't mangled, but not exported in the common module anymore
build --reporter 
reporterDesktop
i use vesktop
right vesktop is considered desktop
i may be stupid
holy fucking lag
oh theres crash when right clicking
chat bar
but thats fine
should we push to main?
it will make sure people wont get crash if they push to stable
ig
the other changes should already be good to go
they have been in dev for a while now
let me do some tests
ugh we should really stop relying on anything that's not mangled
so stupid
always causes issues at some point
it's fine
not really
uggh
if you decide to push to main, can someone review my irccolors pr? So users have all benefits of it
i've made it working
i will just push main for now
doesnt matter much, later
okay 
@limber skiff any objections?
Than i'll take a look what i can do for MoreUserTags
love
i fixed that already
^
nop, its fine
bro my local clone is so fucked
317121f Replace API add/remove funcs with methods in pl... - Vendicated
5c8ba6e Settings API: add support for custom objects / ... - Nuckyz
e000a94 Optimize slow patches - Nuckyz
72ec5e2 Merge remote-tracking branch main into dev - Nuckyz
78c2f0d Fix calling option onChange listeners for legac... - Nuckyz
basically
i did
git checkout main
git reset --hard dev
git pull
then the pull rebased and changed it to 16 commits
i was so confused
but remember one of the commits is a merge commit
I have merge strategy set to rebase
So it automatically removed the dev merge commit and changed it to rebase
confused me so much for a bit
oh lol
i did
i saw you change colour in real time
I remembered about the cotd color of some days ago which was this one
oh yeah userplugins users will cry now
and forks too
idts
it's so weird this is happening
what are they changing...?
reporter randomly wont load for me with this being spammed in the console
rate limit?
dont think so because i will reload and it will work
it just randomly doesnt
if stuff isnt mangled, then why cant i find any mention of old names (FormItem, openModalLazy)
that huge module basically re-exports with non mangled names
yea
they were always exported mangled in another place (for most)
not the case for useMessageMenu though
@limber skiff should i just start fixing patches or are we going to see if they revert
might be a new more aggressive minifier rule lol
they need every % they can get
they have so many easy ways to minify their code π
instead they do insane bundler shit
Just put less code in there 
deleting ancient analytics and builds: 
minifying the current builds to hell to save 5.62 kb: 
they're not saving on their own storage costs lol
this is client-side savings
don't be silly
doubt
it can't be anything other than storage costs especially since they're trying to maximize profit right now
Never forget what they did to my beloved past time of using them to host my files for other places
why do u think they're doing ads and throwing a nitro upsell everywhere they can
ur logic makes zero sense lmao
They're not minifying their own codebase lol
when did i say it was the actual codebase ππ
How else would it save them storage
they don't pay for git storage







