#πΎ-core-development
1 messages Β· Page 41 of 1
also the event is not consistent
also
The HTML specification states that calls to window.alert(), window.confirm(), and window.prompt() methods may be ignored during this event. See the HTML specification for more details.
The Page Lifecycle API brings app lifecycle features common on mobile operating systems to the web. Browsers are now able to safely freeze and discard background pages to conserve resources, and developers can safely handle these interventions without affecting the user experience.
this is bad too
because the user can just reload manually
why don't you just want to do it on start?
way simpler and more reliable
cause if i do it every time the client starts then any other client will always have to update
since it changes when the settings were last updated
settings.dirty
const save = debounce(async () => {
await syncToCloud();
delete settings._dirty;
}, 60_000)
function handleSettingsChanged() {
settings._dirty = true;
save();
}
smth like that i think
and then on start just check if _dirty
if so sync to cloud if possible
but also maybe not the best idea to store that in settings?
since that will be synced to cloud too i think
please be patient i am sleep deprived
yeah thats what i just thought
and swapping the order introduces race
so
not the best
just use raw localStorage then lol
but u need to keep it in a variable lol
cause silly discord deletes it
yeye
i'll just set it to literal "1"
funny localStorage moment
i'll use Vencord_settingsSync as the key then
just so there's zero chance
no
settingsDirty*
converted ur pr to draft before someone sees 2 approve and merges lmao
not sure if megu is reading chat
@utils/localstorage?
in vencorddesktop i just put it on the window lmao
oh lmfao
vcdLS my love
sure
nono
:P
dont put it on window
u should await this me thinks
zzzzzzzzz
i will in a minute
None
None
JSHandle@error
None
None
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
JSHandle@error ```
lets do it
restart works
oki good
im not that old!!
works
im not that old come on
i feel like the notif is kinda annoying ngl
definitely gonna have to add some way to do not show again soon
yeah
i think for now the transparency is worth it
because i want people to be confident
now we explode
holy shit
i cant believe it
THE ARC
ITS OVER
i havent used main branch in ages
serverList={this.settings.store.serverList?.split(",").map(s => s.trim()) ?? []}
1```
thanks vaius
2a0c30b feat(moreusertags): add option to not show more... - ryanccn
sigh of relief
@lewisakura pushed 1 commit.
Merge branch 'main' into feat/cloud-settings
@somber ginkgo lmfao
hey did you know
@turbid hatch pushed 1 commit.
99996ef Merge branch 'main' into feat/cloud-settings
thats basically a god tier shitpost though
it's the only way i could get updates into my client cause i was daily driving it for the past month :P
i wonder what the next feature to be like this is gonna be
ill be sure to subscribe for the godtier emails
wait were you subbed
oh the horror
explode
explosion
the best part of this whole saga
ive been subbed for all this time
and ```
01:44:46.942 Vencord.user.js:168 Uncaught (in promise) CORS issue
userscript 
huuuh
huh
**GMPolyfill.js: **Lines 56-66
async function checkCors(url, method) {
const headers = parseHeaders(await fetchOptions(url));
const origin = headers["access-control-allow-origin"];
if (origin !== "*" && origin !== window.location.origin) return false;
const methods = headers["access-control-allow-methods"]?.split(/,\s/g);
if (methods && !methods.includes(method)) return false;
return true;
}
oh
this might be casing issue
gngngngfriendrequestgngngngn
gngngnacceptedgngngngn
Any user, as long I as I provide an ID
Yea getUser works
is there a better way to do this?
maybe use slightly more informative titles in the future lmao
Discord Account
LIL JABA#2363
What happens when the bug or crash occurs?
if the sticker has spaces in its name, it will be sent without hiding the link
how to fix:
you can cut the "&name=cool sticker name" and it still will send the sticker. so I suggest you to remove that name part :)

What is the expected behaviour?
I expect it to send the sticker hiding t...
Is there docs I can use
Have the same issues and using Android 5.1.1. Maybe old Android is the reason?
how do people even use android <= 7 nowadays
simple (sent from adoid 5)
3 pr in a row
every time I merge one pr, two new ones get opened

at this rate we will reach 100 prs by Christmas
simply merge prs faster π
not like every other one will brick vencord if unchecked
fr, get to work
what would a good way to intercept message loading be?
elaborate?
i want to change the referenced message to make it appear as a reply
my prs do
so you just fell victim to the X/Y problem
why in the world do you need to intercept message loading to achieve that
or wait
maybe im not understanding fully
why wouldn't you?
i mean modifying the message when it's first loaded
anything else would probably be complicated :p
I didn't understand what u mean by this
make pluralkit replies look nicer, i saw someone talk about it
not really! lol
actually u might not need react
this might indeed work
sorry I just misunderstood you
it's ok
search for MESSAGE_CREATE and you will find all handlers to it
you would just need to patch them mutate messages that are pluralkit
to add referencedMessage
property
ah, thanks!
i feel like modifying the logic to determine when to render the reply widget would be too complicated
i tried doing a console.error to find where it's called from and it was very confusing
shame you can't do call hierarchy
javascript is more complicated than assembly i swear :P
x3
should this be moved into another file?
shouldn't the edit be done before the message create fires?
sure you can fire an update later but that's not the best ux
oh, i thought intercept implied that
any way to do it earlier?
maybe it was the wrong word altogether
yeah what ven said is valid
find the handler for MESSAGE_CREATE that handles loading messages and edit that
Discord Account
Isra#1000
What happens when the bug or crash occurs?
The above error is shown in the network tab after the command is initated
What is the expected behaviour?
I expect Vencord to send me a friend invite
How do you recreate this bug or crash?
- Verify your phone number if you haven't yet
- Download the friend invite plugin
- Use the /create friend invite command
- Observe the error in the chat and network tab of dev tools
Errors
{"...
oh well, less important
think the easiest way to do this is to patch MessageStore.getMessages(channelid).recieveMessage instead
so it replaces it with the modified message everywhere
but that could also be way worse tbh
why would that be bad?
oh wait
ahh
idk it just could 
it's kind of tedious trying to find it
is there any plugin which already does this?
dont think so
πΏ does everything after the message was sent
this sounds way simpler you just have to patch the message here
no thats for all
also the only place message create is fired 
nvm it isnt but that's 100% the "main" handler

that is only for your own messages
ahh
i think that's why i didn't use it before :p
doesn't seem to work
only fires when messages are created, not loaded
In both cases it should fire
receiveMessage?
pls send a message so i can test! :P
(in case it's only my messages too)
hi
yes, just my messages
was just looking at #1032200195582197831 and found IgnoreBlockedUsers
i think that probably does it
also uses same module as messagelogger
oh i forgot that exists
ayooo, nice cloud save
how can we selfhost our own backend cloud tho?
is there any officiel docker image or we need to build our own?
yup
i prefer selfhosting things when i can
i made myself a homelab just for this purpose
own netflix, own gaming servers, own bots, etc etc
blessed that it's go based
easy way to get your account locked

be careful ehehe
luckily i was using another account
i think it was both incoming and outgoing but not existing messages
i assumed it was existing messages because it was happening a lot, but i'm just in a lot of guilds :P
re @cedar leaf Vencord/Backend#3: i've seen that software before where someone had the issue of it not working correctly, and it was narrowed down to it not setting env vars correctly
it is truenas isn't it?
i just need a way to get every single message that is currently visible
running under plain old docker compose works fine so its not an issue with the container or backend
what's optimistic for?
wdym
nah im using portainer
ye ye, as i replied in the issue that was totally my bad, i forgot to link the env vars in the compose file...........
on MESSAGE_CREATE.. was wondering if anyone knew!
dw
:P
also i might optimize your dockerfile during the week end cause 1.1Gb for an image is alotπ₯²
i can multilayer it
i just never saw the point for personal host
but i see the point now xd
an optimistic event is an event that didn't actually happen that the client dispatches with the optimistic assumption that event will soon happen
Discord Account
No response
What happens when the bug or crash occurs?
i dont want to expose my vencord backend im selfhosting, as i'll be the only one using it, so i'm not exposing it to the internet and accessing to it through a vpn
but it seems that the client cannot connect to the backend unless it's https? could we allow http too? or if it's not possible at least specify it in the readme of the backend repo then?
What is the expected behaviour?
the client should a...
ah
in other words:
You know how when you send a message, it's first slightly greyed out to indicate it's sending? That's an optimistic event
It first dispatches that optimistic event before your message was actually sent, then when the message actually gets sent it dispatches a real non optimistic event
so usually you want to just ignore optimistic events
u love
i love
If we patch out the security check this will introduce a security hole into Discord which is not tolerable. This is just a natural consequence of trying to request a HTTP page from a HTTPS one.
you should really not be using http
get a certificate, even self signed would work assuming u install it on ur pc (i think)
what I personally do is just use https://www.duckdns.org/ to dns to a local ip (192.xx.xx.xx)
Duck DNS free dynamic DNS hosted on Amazon VPC

selfhosting + vpn

the issue is its a security check in the underlying browser component of electron
not something that discord or vencord can easily "fix" (aka disable)
mh
ye fair enough
and if we disable it, it adds a fuckton of vulnerabilities
u can just do this
so we'd rather not
or use some other dns based solution
love
so u cant use it on any other device
tempted to start running my own home CA
correct, this is the intent
unless u isntall the cert
i've setup a traefik proxy for this kind of situation, but still wanted to report it in case of it could be easily patch
AVERAGE ITALIAN
i have a cloudflare thing and its just for my network
EWWWWWWWWWW
dns based solution works wonderfully 
NO
anyway
SI
veeeeeeeeeeeeeeeeeeen~
lets go
u want caddy jazz?
wait do i have write access to the caddyfiles dir
does that mean i couldve just done it myself
no i think
i was afraid that would be the answer lmao
then could you add a lil note about that in the readme of the backend repo? so people don't get confuse, because the only error you visually get is this:

no actually mention of the need of https :/
if you ever close down vaultwarden vendicated instance I genuinely will lose most of my passwords
The average Italian can't read English
no u dont have access to it silly
wym yeah i do
c-can we have permission viewer πΏ
I HAVE WRITE ACCESS
FOR FUCK SAKE
I COULDVE JUST
SDHHN89F;ASD789UIASUASNUIODASNIODANIOD
like I said it's not mine, @fiery jungle hosts https://vaultwarden.vendicated.dev/
wait how
nevermind
u dont
im just reaaaaally oldschool lmao
only root has access
BALLS??
i mean that yeah
you and that fucking phone
token logger
[lewi@vendymachine caddyfiles]$ touch balls
touch: cannot touch 'balls': Permission denied
ur sososoo mad
HAHAHA
oh lol you need to log in LMFAO
anyway yes
do that and also drop /v1/ from the backend api
i already made a version where the versioning is in the app itself
:3
cannot touch balls
no I respect you greatly for rolling such a fucked up setup Ven
it's time to install vencord mobile
based
Rate my setup
my old phone once went a year and a half without rebooting
Why Ubuntu
Why
okay but cause it's not mine i cant make any guarantee
easiest to install
u know that right
yeahi know
easiest to install
host on https://shitpoop.vendicated.dev
if i speak.............
And it's also heavier than Windows π
people shit on ubuntu as if it wasnt THE plug and play of the century
no it fucking isnt
u say
nothing is heavier than windows bruh
fr
I say because I know
windows from the future
Lmfao
i meant for the specs, i need to restart my server once in awhile so my uptime is really bad compared to yours lmao
you cant do both
people who piss and shit themselves because of ubuntu are the reason why linux isnt mainstream
no
so itd just be like
yeah
what
π¦
api.vencord.dev {
reverse_proxy localhost:57467
}
ubuntu is def not meant for a server use...........
ah icic
okay but what about arch for servers
has a ton of preinstalled things, forces you to use their junky snap packet manager whenever they can
im using on my desktop
lmfao
ahhh its fine then ig lmao
ubuntu is omega bloated
but its plug and play
this is why i use ubuntu minimal
which is all that matters
no
nxdomain
403
oh thats good
i never tried but i would be so stressed to update the packages than i think i wouldnt touch it at all lmao
how
mh?
huh
it seems to take priority
either way this config will work from now on
xd
if I were then I would send your data back to you xd
fixed
let it send /v1/ prefixes through
as for https://builds.vencord.dev does it 403 for u
it doesnt resolve for me even though i dropped dns cache
dum windows
i cant resolve
works on my mobile data
yup
what about https://builds.vencord.dev/v1.2.8.exe
try not
balls cannot touch
shouldnt 403 i think
yes
its fixed
https://builds.vencord.dev/v1.2.8.exe works now
its time
is that what sudousers are called on whatchamacallit
(i dont have a password anyway so i dont think i can elevate unless you set up passwordless sudo)
just set a password for urself?
:PP



silly lewi
selfhosted + not exposed to the internet
or is it ssh key only
The term wheel was first applied to computer user privilege levels after the introduction of the TENEX operating system, later distributed under the name TOPS-20 in the 1960s and early 1970s.[2][3] The term was derived from the slang phrase big wheel, referring to a person with great power or influence.[1]
In the 1980s, the term was imported into Unix culture due to the migration of operating system developers and users from TENEX/TOPS-20 to Unix.[2]
yes anyone in wheel can use sudo
i think i did ages ago
just press enter

might wanna change it now that it's public though technically it shouldnt matter ahaha
lmao
spMqTThZPuZSdXa4S2MsEuF9mH2tpE9zQPLscZq8wjg22N
its so stupid
i just wanted fucking
this
minlen=n
Set a minimum password length of n characters. The default value is
6. The maximum for DES crypt-based passwords is 8 characters.obscure
Enable some extra checks on password strength. These checks are
based on the "obscure" checks in the original shadow package. The
behavior is similar to the pam_cracklib module, but for
non-dictionary-based checks.
i will disable
so if it's not optimistic it's always incoming?
i hope so :p
unless there's another way to test
it lies
no
but why do u need to know
patchMessage(message) {
if (!message.webhook_id /* might be webhookId too idk */) return;
...
}
oh
its baked into selinux
there's no way of avoiding it unless you turn off the selinux module
not even root can ignore it
why is this shit in the huawei forum https://forum.huawei.com/enterprise/en/disable-the-password-complexity-on-red-hat-linux/thread/484617-881
explode
publish to xbox when
vencbox
probably don't, i just don't want to send bad requests
i find if you remove the embed it appears again
and you don't just need to set message_reference, you also need to set referenced_message
@cedar leaf try the new docker image
aaah
it should be tiny now
you're unaware of how discords message flow works
it first dispatches a MESSAGE_CREATE with no embeds, then dispatches a MESSAGE_UPDATE with the embeds added
so when you send a link it immediately shows even if embedding takes a few seconds
ah
so to modify embeds you'd likely need to intercept MESSAGE_UPDATE instead
or patch the message component
Backend repo now has a note saying it requires HTTPS to be used.
if you're worried of bad api requests, u can likely use virtual-merge to solve this
actually no
:P
but u can make a proxy that omits the field
or make it not enumerable
i think patching the component is the best solution, i just spent a long time working out how to do it :P
now i realise there's another message type
it would be like a kind of extension, which improves the sound in Discord, a kind of bypass, nitro boosts, to improve the quality of voices, in the servers, because on Chrome, there are for example extensions, which have a name like bass booster hd
just use a system wide sound equaliser, that'll be miles better than anything a plugin could ever do
lmao yes thats way better
thanks!
lmfao holy shit
Adds a Crown/Tag to Server Owners (or Admins/Management)
https://betterdiscord.app/plugin/StaffTag
First displays icon for a normal activity, platform, or rich presence, and then an icon for listening to Spotify if applicable. Removes icon for streaming, because you can tell by the purple status anyway, and does not change bot statuses
https://betterdiscord.app/plugin/ActivityIcons
Personally I think it's a good idea
The replit looks kind of selfbot-y.
(it is entirely a selfbot)
not possible, that error is a security feature of the browser. The only solution is to disable web security entirely but we're definitely not doing that
maybe i should read other replies before replying
Hey there! The nerd who wrote CustomRPC here.
I didn't include streaming due to not knowing exactly the quirks of it, and because I don't think you can change the "twitch" part in "live on twitch".
That being said, I could look into it.
When I use this plugin and stream, Discord randomly restarts.
you need to have a twitch url @cunning bobcat
yes
8fefa2b FakeNitro: Fix stickers with space in name #819... - AutumnVN
f1f6119 InvisibleChat: Add missing dependency on Messag... - exitss
bleh #804 when, so users stop being confused
the import feature is kinda deranged
how else would you quickly test someone's settings
Request to add Super Reactions as a feature w FakeNitro.
Or add Profile themes, also.. thanks for Themes btw.
i feel like people wouldn't want our linting rules pushed onto them

i assume the person who pr'd was annoyed by them
fair enough
when I make userplugins I just //eslint-disable-next-line header/header :3
Detailed Server Tooltips
Adds detailed server tooltips lol
Displays a more detailed tooltip for servers similar to user popouts. Contains a
larger image, owner's tag, date, time and days ago created, date, time and days
ago joined, member count, channel count, role count, region, and whether or not
the server is partnered.
A similar plugin exists for BetterDiscord:
https://github.com/Metalloriff/BetterDiscordPlugins/blob/master/DetailedServerTooltips.plugin.js
d919a2e Add back slate context menu - Vendicated
I have some Plugins, which i would love to have in Vencord:
1. Larger Uploads: https://github.com/mack/magic-upload
2. Assign Badges (locally): https://github.com/QWERTxD/BetterDiscordPlugins/tree/main/AssignBadges
3. Would be also cool if the nitro plugin gets updated and unlocks the newly announced Soundboard Feature.
hey so uh can we not
or at the very least, have an option to disable this?
**silentMessageToggle.tsx: **Line 35
setEnabled(false);
whats wrong with that
a
ig\ they want a toggle to always send silent messages
but imo just have whoever mute the channel atp
does it add it on pinned images too
well normal ctx isnt there on desktop either but img/link context is
Discord Account
Lu9#1647
What is it that you'd like to see?
Some BD themes made use of this feature to dynamically hide parts of the UI depending on the window size.
I think it would be nice to have. (This in particular is not a plugin but a built-in option on BD.)
Request Agreement
- [X] This is not a plugin request
31b4ee6 Make paste, copy & cut actually work - Vendicated
[Plugin] NotificationSounds
Allows you to edit current Discord sounds to new ones.
- Upload a sound and change the default
- Scroll through default Discord sounds stored in files (ex. Special Discord calls, Halloween calls, etc).
- Create a category for each sound.
- Copy useful features from the plugin.
A similar plugin exists for BetterDiscord: https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/NotificationSounds
ChannelTabs was like a child to me in the BD days. If we could have that... Vencord will be perfect, period
I'll never have to request anything else
(...probably)
Automatically dismisses all upsell popups about Discord features or Nitro ads (basically toggling everything in the Dismissible Contents dev tab without the effort)
ikr
8fefa2b FakeNitro: Fix stickers with space in name #819... - AutumnVN
f1f6119 InvisibleChat: Add missing dependency on Messag... - exitss
1432baa ignore userplugins when linting (#822) - LordEliasTM
7c514e4 SupportHelper: Add missing dependency - Command... - exitss
d2e7042 Merge branch 'main' into better-web-ctxs - Vendicated
actually dont merge yet i think theres a possible race condition
my code so racist
lmao
my old tablet went 7 months since it was bought without rebooting
how the fuck did you find that message
@limber skiff u will lookie
I can lookie but not test
testie
not home
yeah no need to test i did that

None
None
JSHandle@error
JSHandle@error
None
None
JSHandle@error
JSHandle@error love
match: /("submit-button".+?)(\(0,\i\.jsx\)\(\i\.MenuGroup,\{children:\i\}\),){2}/,
c5d51a7 Update src/plugins/webContextMenus.web.ts - Vendicated
Can you get a user's banner with UserStore.getUser()
try it and see
i believe thats user not profile so no
I just see avatar
Is there a thing I can use for it
(that depends on cache)
yop read context now
huh
findStore("UserProfileStore").getUserProfile(wp.Common.UserStore.getCurrentUser().id)
So if it's not in cache, I'll have to use the Discord rest API?
And doing that is selfbotting
you can just use discord own function to fetch the profile
How do I do that
inb4 xy problem
I wanna make a /avatar and /banner cmd
does this work for you?
how
I don't NEED to tbh
guhh I still get upsell jumpscare if they appear on startup
nvm i forgot --watch
lets see
i remember someone made all spotify control to command before and said typing is faster lol
cant you just patch the function that checks if a notice has been displayed already
upsell*
DIE
I'll try
Plays audio when you login to account
the code is insane though they use a bitfield and there's multiple modules across different chunks doing different things with the bitfield
so just setting everything to "already dismissed" is the easiest path lol

patch the bitfield @woeful sable
some code sets it before my code is run
so patching prob wont work cuz it can be overwritten completely
pylix
I think I did it
i don't think this is a fix, react nodes won't have concat either
{
find: "HUB_WAITLIST_UPSELL=0",
replacement: {
match: /(?=(\i)=\{dismissedContents:)new Uint8Array\(0\)(.{8,64}?value:this\}\);)/,
replace: "Uint8Array.from(Array(128),()=>255)$2;return $1"
}
}
rate
that's some goofy ahh deserialisation code I had to patch
me when I'm typing .+? and patchhelper freezes cuz it tried matching .+
patchhelper vscode soon
vencocd-companion.nvim
make
I would like the plugin AnimatedStatus to be added to vencord.
Github:
https://github.com/toluschr/BetterDiscord-Animated-Status
wait that's him
why doesn't he have his online handle on github
silly

When I use this plugin and stream, Discord randomly restarts.
It appears that the issue only occurs when the framerate setting is set to a high value.
How do you actually find those regexes for the patch? Do you look in the discord minified code, or?
**2_PLUGINS.md: **
# Plugins Guide
Welcome to Megu's Plugin Guide! In this file, you will learn about how to write your own plugin!
You don't need to run `pnpm build` every time you make a change. Instead, use `pnpm watch` - this will auto-compile Vencord whenever you make a change. If using code patches (recommended), you will need to CTRL+R to load the changes.
## Plugin Entrypoint
> If it doesn't already exist, create a folder called `userplugins` in the `src` directory of this repo.
1. Create a folder in `src/userplugins/` with the name of your plugin. For example, `src/userplugins/epicPlugin/` - All of your plugin files will go here.
2. Create a file in that folder called `index.ts`
3. In `index.ts`, copy-paste the following template code:
```ts
import definePlugin from "@utils/types";
export default definePlugin({
name: "Epic Plugin",
description: "This plugin is absolutely epic",
authors: [
{
id: 12345n,
name: "Your Name",
},
],
// Delete `patches` if you are not using code patches, as it will make
// your plugin require restarts, and your stop() method will not be
... (86 lines left)
Race conditions should be fixed, it's really weird how this value gets initialised but this workaround should be good. Basically: even though dismissibleContents is as far as I know completely independent per-client it still attempts to be sent to Discord's API along with other user settings, and to future-proof for more prompts I made the array larger than it should be, so it fails the server-side schema. By setting it to an empty array (no contents dismissed, the initial value) and making...
do not the user settings proto
worst mistake of my life
if anyone has a better name suggestion for that plugin that'd be cool cuz I think it doesn't make it clear what it is
most dismissible contents are nitro ads
like this horror one https://wetdry.world/@w/110037240203267710
or just make descrition really good (no one will read)
GgkstqllrqasgtkskgsFkkgstwkktwgs
Removes all dismissibles (nitro ad populs, etc)
mangle alll plugin names and task the user with actually reading descriptions
unusable (the average user cannot read plugin descriptions)
true
right now the desc is "Dismiss all upsell popups about Discord features or Nitro ads before you ever see them"
something like NoUpsell might be more catchy but its not as accurate
NoUpsell
Suppresses all dismissible Nitro and feature ad popups
(I have spent too much time thinking I will explod)
yes
I got immediately greeted by this since I renamed the plugin and it's no longer enabled
π
get real
rate
you will .replaceAll("_", " ")
0/10 they didnt all show at once
u need to turn them off for them to appear lol
oh
Idk what everyone else does but i use a beautify js website after to try and figure out what I'm trying to patch
devtools has a builtin beautifier
But only for reading. Cuz of CTRLF and other characters you can't regex the beautified code
Oh neat, I will use that next time
at the bottom
patchhelper helps a lot
if you build vencord with --watch, it'll show up in the settings sidebar
lol I never use it
I prefer using regex101
hardest part is the actual matching
replacement isnt that bad
so I just do it and wish it works
(when it doesn't I cry and look at the diff in the console)
(basically the diff you'd see in patchhelper
)
yes
but ye I get it
I also prefer using regex101 cuz I see how long the patch takes
I normally copy the whole discord source file
so if matching that whole file is fast, matching the single module will have no problem lol
btw apparently there was a whole ass sereialiser/deserialiser where this was initialised so I just patched that and gave an empty array as the input 
π
either way I spend more time reverse engineering and finding the correct place to patch than making the actual patch
real
react makes this process 1000% worse
because putting breaking points almost never happens
because of how react works the call stack is messed up
one time I spent 2 days debugging a problem
react is malware π
because a component was getting rendered and I couldn't find where
I spent hours trying to reverse engineer the react rendering
and couldnt find it
then I manually patched some components to return early
until I found the component that rendered the one I wanted to find
the process that took 2 days turned into a single patch to change an if statement
yea this was hell to find cuz I suspected like 5 diff places the thing was being initialised
and I put breakpoints in all of them
and none were ever reached until way too many attempts
i hate
Oh right i was using that too. Extremely helpful! And then I got busy w exisitng again and had to put it aside
break points are super good until you reach a react render
or discord parser for text
some things are so hard to find nowadays I just look at my other plugins that touch them so I can find the file
I was about to ask how does one exactly go about finding where to patch...
That.. just seems painful
the parser is a pain in the ass
nah dont worry
It was a super horrible thing
basically discord has a component that acts a router
you render it and it modifies the url path of the page
That component was being rendered and changing the route which made the thing I wanted to render not appear
but because it was a component it was horrible to find where it was called
because react call stack is horrible in the debugger
I have some tips for finding what renders what and where
but too lazy to write rn
Q: i was trying out the Vencord companion extension for vs code but i was patching canary instead of stable. Every time I tried to test the patch using the companion I'd get the error that no running discord could be found. Was it cuz it was canary?
I was running discord from command line
That would be extremely helpful but def no rush. I should sleep
It was i believe π
I had the patch section available
either way if you need help finding where to patch ask in #π§©-plugin-development or here
I cant help rn or in the next 2 days because I'm away from my computer
in the canary client?
Mhm
you can try reconnecting companion too
right click the settings gear in the user panel
and there will be an option there
I saw those instructions in the file but i wasn't sure what it meant, I feel dumb but... User panel?
I was checking the extension settings
right click the settings cog
the place where you mute and unmute
Ahhhh
Discords user settings not vs code
Gotcha
Okay
To-do for next time π
Thanks guys
no prob!
After logging in discord pops up a susbcribe to nitro window, that when exited brings you back to log in screen. On one try it showed the friend list for a few seconds, but then poped up the nitro window again.

dicord my belovde
pls add this plugin, it makes discord look way cooler:
https://betterdiscord.app/plugin/BetterAnimations

@lime stone can i see the css to make banner taller, idk








