#๐พ-core-development
1 messages ยท Page 204 of 1
You mean discord webpack module?
like, if a patch affects a certain module, could you reload just that module to load that patch rather than reloading all of discord.
idk the exact correct terminology for it
const link = settings.store.disableEmbed ? `<${content}>` : content;
SlateTransforms.insertText(
editor,
`[${editor.operations[0].text}](${link})`
);
Theoretically possible if you swap out even more of webpack's guts I think
But whether it'd actually work properly is hard to say
horror
not possible
uwu
rip, alright
Thoughts about creating (trying to create) a cross-update, hash independent theme system? I dont see how an official theme store would be maintainable when every other update breaks them all
Something like assigning a custom name to every class and every update trying to match their rules to existing rulesets or something (would be a fuck ton of work at the start yeah but would be actually maintainable)
I've tried something like that, but the database itself needs a lot of maintenance
Mine is about naming classes based on which module defines them (or rather, which other classes are in the same module) rather than what styles they define though
So that is certainly one option, though I kinda doubt it'd work out
this is not a problem
you don't have to rely on hardcoded classes
you can do [class*=fooBar-] to match fooBar-2jA9b8
how do you think vencord css never* breaks
* almost never
Pretty bad when it's classes like content or wrapper though
Ah alright
I do still think though that the current approach with just css is pretty unmaintainable though, but eh
So thoughts on a theme store?
bad how?
you just need a more specific selector :p
There's dozens of them
So if you want to "stably" match them you need way more convoluted selectors than what should be necessary
This PR replaces URLs to improve embed functionality for various social media platforms, including TikTok, Instagram, Twitter/X, and Reddit. The improved URLs ensure that embeds display correctly and consistently across these platforms.
This is a highly opinionated change with obvious intentions that break the contribution rules
- There is no way for users to turn off that specific functionality if they don't like it (see next point)
- It is incredibly obvious this is to get people to use your embed service, which 99.99% of Vencord users have never heard of, and as such can be considered an untrusted 3rd party API
<details>
<summary>Proof this is your embed service</summary>

laugh react this comment immediately.
lol yeah I kinda figured it was his service
cause I never heard of that site
but i wasn't gonna bother
i have too much free time at the wrong time (2am)
actually based though
we love doing random shit at 2am
i really need sleep
damn

WTF
oh
im actually braindead
i need to stop trying to make Stupid Proofer
NewPluginManager doing this?
oh horror
so if people who use my fork ever dare to speak in #๐ฅ-vencord-support-๐ฅ #๐ง-off-topic-iceman-only or here about one of my broken plugins they will be told to go make issue on github
in other words: I wrote some stupid message that end users wont be able to understand
Yop
i mean
1 end user did install my highly opinionated channeltabs fork and ask why it broke in #๐ฅ-vesktop-development that one time #๐ฅ-vesktop-development message
markdown horror
?remindme 2 months beg myself to make channeltabs
Alright @rugged spire, in 1 month, 4 weeks and 1 day: beg myself to make channeltabs

How is it opinionated?
Totally rearranges where it injected the actual tab bar
and a load of other stuff
I've been meaning to patch my own version of channel tabs to have certain things that were missing from the original
STUPID PROOFER
you already fetch the existing styles on start, why does enabling it hot doesn't work?
WHY
ppl will click on my repo and install every plugin and not read
oh all of these seem useful let me just install all of them :potofr
ThisWillCrashYourDiscord jumpscare
I make a plugin for a project a while back that would invoke a BSoD without perms and it couldnt be more clear thats what it did and people still installed it
None
None
None
None
That sign won't stop me because I can't read.
ShowHiddenChannels (had no effect):
ID: 318374
Match: ```
/maxUsers:\i,users:\i.+?}=(\i).*?;/
**__MessagePopoverAPI (had no effect):__**
ID: `773176`
Match: ```
/\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/
None
None
None
The thing is even if you make something 100% idiot proof, they always invent a better idiot
YEP
they broke it again
you know what's funny
by the time the extension gets approved it's gonna be broken again
Discord Account
cjstylesorg
What happens when the bug or crash occurs?
While I was editing a message in the css-snippets channel, i notice for some reason the messages keep going up and down, i couldn't even see what i was typing until the typing indicator goes away. it tends to jump when the indicator appears or vanishes.
What is the expected behaviour?
I expect to be able to edit ...
doesnt that plugin affect the channel list
wholesome vee moment
Looks good for the most part so this can definitely be merged once these minor things are fixed
find: '="SYSTEM_TAG"',
i don't think this actually needs a restart, just to reopen chat, no?
flux: {
RUNNING_GAMES_CHANGE(event) {
let savedStatus = "";
if (event.games.length > 0) {
const status = PresenceStore.getStatus(UserStore.getCurrentUser().id);
savedStatus = status;
updateAsync(settings.store.statusToSet);
} else if (event.games.length === 0) {
updateAsync(savedStatus);
}
},
}
This doesn't make sense. savedStatus is always empty string here. Did you mean to declare savedStatus outside of the function?
description: "Automatically updates your online status (online, idle, dnd) when launching games",
beats the allegations i mean resolves this oversight https://github.com/Vendicated/Vencord/pull/2736#issuecomment-2261782256 (?)
See [this conversation on the Discord server](#๐พ-core-development message), you have personally approved this lol. That said, I can remove it or tweak it if you changed your mind.
e99eec5 Migrate to eslint flat config; update dependenc... - SomeAspy
Indeed. Not sure why I didn't notice that.
None
None
None
None
ShowHiddenChannels (had no effect):
ID: 318374
Match: ```
/maxUsers:\i,users:\i.+?}=(\i).*?;/
**__MessagePopoverAPI (had no effect):__**
ID: `773176`
Match: ```
/\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/
None
None
None
Vesktop can use plugin natives iirc
So you are saying this is better as an opt-out?
default: false,
disabled: () => IS_WEB
do u even test ๐ญ
const Native = VencordNative.pluginHelpers.XSOverlay as PluginNative<typeof import("./native")>;
You now have to beat the no testing before push allegations
const PerceptualVolume = {
amplitudeToPerceptual: findByCodeLazy("6+1:"),
perceptualToAmplitude: findByCodeLazy("50-50"),
};
this is weird nerdy audio stuff https://en.wikipedia.org/wiki/Dynamic_range
Dynamic range (abbreviated DR, DNR, or DYR) is the ratio between the largest and smallest values that a certain quantity can assume. It is often used in the context of signals, like sound and light. It is measured either as a ratio or as a base-10 (decibel) or base-2 (doublings, bits or stops) logarithmic value of the ratio between the largest a...
now awaiting input on the only conversation remaining
i think an option to only apply it to people without role colour would be nice to have
love
can now more easily rip off vencord eslint config to use in my own projects
shouldn't this be 8? we're working with a u64 which is 8 bytes, so why 16bytes size? you're just gonna be reading 8 null bytes every time
also the entire ArrayBuffer, DataView, Uint8Array seems a bit needless
this achieves the same result
// Compute a 64-bit FNV-1a hash of the passed data
function hash(id: bigint) {
const fnvPrime = 1099511628211n;
const offsetBasis = 14695981039346656037n;
let result = offsetBasis;
for (let i = 7n; i >= 0n; i--) {
result ^= id >> (8n * i) & 0xffn;
result = (result * fnvPrime) % 2n ** 32n;
}
return result;
}
it produces the same result as your function (if it is corrected to use 8 bytes arraybuffer)
@thick kestrel
how do you like this too
it's quite interesting tho, i like it
no more whitename discrimination
we should make eslint config vencord preset
yeah this is a way better implementation idk why I didn't use bitwise there
I'm just scared of JS ig lmao
I mean... I could do that. I don't really see the appeal myself tho.
@thick kestrel just curious, how do you feel about the idea of adding a user customisable salt to the hash function
tbh I don't see a need for that either...
add color override then
that sounds complicated but I see the use for that at least
I mean the complicated part would be making the UI for it
the actual code would just be a simple lookup
would be cool if there was builtin stuff to do UIs like the TextReplace one
I guess I can just copy TextReplace lol
current text replace ui is nice but the PR one is nicer :3
PR hell... ๐
I think the story of that code was that I used Number initially, thought I can't do integer bitwise on Number (since it's a float), but then realized the IDs are 64 bit
switched to BigInt and never realized I could've done it better
ok so: I'll be adding (or attempting to add) overrides and preserving role color
tbh, I think for preserving role colors it might be better to calculate the color based on highest role
so it's consistent
or maybe not idk
yeah I don't really like that feature since either way it's a bit weird
nice changes
bored, will translate to fr*nch once this is merged
fr*nch
planned
can be toggleable of course
i personally would like that tho
You are doing two webpack searches yet only one is used, remove the other one
also the code style doesn't match the rest of project, mainly the spacing in if conditions
don't hardcode names like t or is this supposed to be the t from this?
match: /volume=t.*?;/,
predicate: () => !IS_DISCORD_DESKTOP,
if (data.stream.getAudioTracks().length === 0) return;
data.streamSourceNode ??= data.audioContext.createMediaStreamSource(data.stream);
if (!data.gainNode) {
const gain = data.gainNode = data.audioContext.createGain();
data.streamSourceNode.connect(gain);
gain.connect(data.audioContext.destination);
}
data.gainNode.gain.value = data._mute ? 0 : VolumeEncoder.decode(data._volume) / 100;
}
match: /,this\.stream.getTracks\(\)\.length/,
limit length of this match to ensure we match the right thing
match: /Math\.max.{0,50}?\)\)/,

Correct but thereโs some room in the channel name so Iโm not sure why it would still be shaking the chat.
Review jumpscare
You are doing two webpack searches yet only one is used, remove the other one
also the code style doesn't match the rest of project, mainly the spacing in if conditions
I may be a tad stupid, but what are/were you referring to by the spacing in if conditions
Ah, iirc there's also an ESLint rule for that if you want to set it in the project's config
They can be a bunch of different things, could also do any if that makes it easier but string is annoying because I have to keep writing @ts-ignore
lint fails due to the change
as for your own code, I generally recommend using Vencord's findOption helper. now it'll be typed:
const filesOption = findOption<boolean>(options, "files");
everyone knows im never beating those

we all wont...
even discord doesnt
@chilly shoal there u go lol
wait til they check for updates and dont have any ๐ญ
None
None
None
None
ShowHiddenChannels (had no effect):
ID: 318374
Match: ```
/maxUsers:\i,users:\i.+?}=(\i).*?;/
**__MessagePopoverAPI (had no effect):__**
ID: `773176`
Match: ```
/\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/
None
None
None
jumpscare
wtf techno activity
dolfies activity..
hey i'm active here sometimes
i just don't like most of the people here 
smh
woooow
you didnt?!?!?
it doesnt tell u anywhere ๐ญ
need to use that more
mf gone through every line of discord src and never found @me 
help it doesnt work
from:@earth
well in the context of dm channels 
but it's a "guild" id
no? 
FYM NO
whats that bug icon?
wtf??? is this new?
horror
i need to touch grass
vencord on summer break
prs will double alhamdulillah
just.. close prs :3
they alr do
what if thanos snap prs
50% chance ur pr gets closed and locked with no explanation

close button too far for ven 
ven, think of this for a sec
if you disable issues you wont have look at neither bug reports nor feature requests
vencord will be perfect
reason: being mean to me
๐
tbh you could probably setup an automerge on 5-6 contributor reviews at this point
issues arent the problems
actually maybe more than 6 cuz vencord has 3 million contributors
issues aren't the issue
make shiggybot just automatically merge prs :3
get it aha...
why wires 
do u mean 5 diff contributors reviewed
yeah
horro
good luck getting a pr to that point
nah ppl will lol
idk..
i would 
make contribution with 5 different alt accounts
pr malware
approve with all my accounts
gets auto merged

you can make a higher threshold
or if you really want to dont make it automerge and require a quick lookover by a few trusted ppl to make sure there's no straight up malware
maybe you can also whitelist which ppl count? not sure
unironically good idea
Itโs kinda funny how my plugin that didnโt take a lot of time to make and wasnโt expecting to go quickly got merged pretty much instantly, but the ones I put a lot of effort into have been open for like 6 months ๐
I made the volume booster port in a day and it's got more attention than the other two that I've made combined.
Real
less time took => much more simple => much easier to review
also depends on demand :P
if your plugin is widely demanded it'll be prioritised more
whereas if it's very niche it won't get priority
someone should probably go through all prs and check if they are still relevant ๐ญ
YEAH WHAT
ive always just used my id
like keyuwordnotify
what
half of them probably arent tbh
or need a major refactor if they're over 3-6+ months old
its less of will it get merged and more of how much patience does one have 
Actually instead of making a list should i reply to the PRs cuz the whole list rn is basically a dozen PRs that are just broken (mostly because stupid PRs instantly get pulverized)
But then again there is probably a reason why PRs are dead (no demand)
there are also some that, at least in my opinion, arent "deserving" of plugin status. I.e. stuff like these are minor changes and really arent needed
https://github.com/Vendicated/Vencord/pull/1627 (are people really too lazy to type ">" a couple times?)
https://github.com/Vendicated/Vencord/pull/938 (this is also very useless and not very well made)
So if yall want i can quite literally just go through each PR and comment on it (/ ask if the original developer wants to revive it)
provided the PR is old enough as to where id say its "dead"
some can be useful but just dont have demand
or have minimal demand and are useful but ???
yeah
the minimal demand ones are the most ??? ones cuz its like
every new plugin adds more maintenance work
yep
and do we really want to bloat vencord with a bunch of small tweaks and changes
well those you can just say no ofc
its like this would be nice to have, and some people definitely want it, but the author clearly doesnt have any intent on maintaining it if it were merged
or doesnt have patience, etc
which is why everyone can contribute
Actually for those i think a list is necessary so they can be instantly closed instead of them lingering around
yeah
i think it all falls back on the only having a few people who actually have authority lol
It has been 1 month since i opened my pr therefore i will complain in core dev channel (the only option) (duh)
reviewing prs all day isnt exactly fun
I mean i get it can be sorta annoying but complaining about it won't speed up the process
grey area i guess
ofc people will bitch about their plugin being " ignored " and i would too, but ^^
ill compile a list for those then send it here, some collaborator or whatever can go through them and close them
maybe we can think of one plugin with a bunch of small tweaks in the future, a lot more maintainable than 50 small plugins
i never seem to be able to spell "maintainable" or "maintain"/"maintenance" right (i had to use spell checking thrice here)
so true
thats also true
there are a bunch of draft prs that are dead
smh
bing chilling
What If there was some bot that closed PRS after some period of inactivity
That must exist
im finding some good plugins in the depths of the sorted by least recently updated prs section
i just found a pr that has about 5 lines of actual code but literally 15 patches yeah im gonna file that under u for unmaintainable
stalebot for prs
@austere talon where are you complaining for your pr merge!!
that was mine orignially lmao

i accidentally put all of the changes on my fork's default branch and that fucked up things
page 3, im already losing a ton of braincells
i wrote this for the pr
since i already got into the less than 1 month territory here is the list i have rn
Itโs basically done (not including that one person who commented i can add that if you want)
reminds me i should update rpceditor
is this even needed still? pretty sure discord added listening & co capabilities natively now
How DARE you slander relationshippruner
๐
(it sucks)
its just not needed as a plugin
its a one time thing, maybe
youll use it once a month
I'd use it often
install it as a user plugin, do your pruning and done, no need to actively maintain it as official
consider just adding less people as friends
boring.
reject
ShowHiddenChannels (had no effect):
ID: 318374
Match: ```
/maxUsers:\i,users:\i.+?}=(\i).*?;/
**__MessagePopoverAPI (had no effect):__**
ID: `773176`
Match: ```
/\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/
None
None
None
omg what is this code https://github.com/Vendicated/Vencord/pull/1695/files
through IPC i think so yeah
ShowHiddenChannels (had no effect):
ID: 318374
Match: ```
/maxUsers:\i,users:\i.+?}=(\i).*?;/
**__MessagePopoverAPI (had no effect):__**
ID: `773176`
Match: ```
/\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/
None
None
None
im crying
Seems like this has been a stale draft for very long.
I also think this feature isn't very useful for anything besides spamming... Why would you need to resend similar messages? Not to mention that the code is not really up to standard for various reasons (extremely overcomplicated patch, var usage, ternary sauce, not following project formatting (e.g. using snake_case instead of camelCase)
Thank you for your work nevertheless!
very stale and too niche, probably better done via a user app, e.g. via context menu or slash command
thanks for your efforts :3
Seems legit
i did
When the fuck was this here
the search?
Yeah
still need to add search support to vencord
Oh it's a stock thing
,,
time to open up vscode..
i think it's gonna be pretty complicated
and require refactors to the settings code
possibly multiple patches in several locations
well i think that depends on how discord has implemented it
ill still take a look tho 
i honestly wouldnt recommend u bother but if u really wanna, sure xd
im so bored im quite literally mad at myself rn i absolutely NEED to do something immediately
in its current state this isn't really acceptable... monkey patching global require is really hacky. it would be better to find some way to disable it without the need for that
const possiblyUnwantedPlugins = ["NoRPC", "NoProfileThemes"].filter(Vencord.Plugins.isPluginEnabled);
i dont think these two are a real issue and even if they were it would be really obvious once the person describes the symtpoms. As in... the other two could actually cause confusion by breaking unrelated plugins / things and then as to where the issue originates from, while these two only have direct "diagnosable" consequences and don't negatively affect other stuff
could you describe a use case for this feature that wouldn't be solved by blacklisting specific users? the only use case I can imagine are things like automated messages that regularely get deleted and have no significance after deletion but you can just blacklist the bot in question
Luna seems to have a habit of working a lot on plugins then abandoning them as soon as the PR is opened and not addressing feedback ๐ญ https://github.com/Vendicated/Vencord/pulls?q=sort%3Aupdated-desc+is%3Apr+is%3Aopen+author%3AImLvna
i know on some prs i take a while to review so it's understandable but then that password protect one i reviewed the next day
silly..
@nimble plaza what's up with that? didn't see, forgot, lost interest, no time...?
not blaming you it's all good and there's absolutely no rush take all the time in the world, im just curious 
@still wasp your patches are somehow worse
seems useful! perhaps it might be useful to add a "Jump to first message" button somewhere here in forums?
i keep wanting to jump to the first forum post and wondering why the fuck discord hasn't added an intuitive way to do so
You are lying
That's duke, right?
I know we arent profissional but im not sure if we want this
there really is no need to have a curse there
it reminds me of when license had a penis

i couldnt stand
does it really matter ๐ญ
no, but just why
i wrote this change in github ui and didn't explode lint.. impressive
I'm not against curse in the code but it just seemed very unecessary there
i thought it was funny
ig
๐ช
lint was complaining ๐ญ
i mean yeah we can change it
but does it really matter
just build script
i wouldnt put it ina user facing string 
yeye
wait untill that kid complaining about external links sees this

seems useful! perhaps it might be nice to add a "Jump to first message" button somewhere here in forums?
i keep wanting to jump to the first forum post and wondering why the fuck discord hasn't added an intuitive way to do so
seems to work well. please make sure to add a README.md!
let's do this for easier discoverability
description: "Adds a context menu option to jump to the first message of channel/DM",
tags: ["JumpToFirst", "FirstMessage"],
2044264 fix PictureInPicture on canary - Vendicated
bc80185 Fix ImageZoom, SpotifyControls and ViewIcons (#... - Masterjoona
5e9a9fe bump to v1.9.6 - Vendicated
5c88284 feat(showHiddenChannels): Fix Broken Patch (#2726) - thororen1234
0f5cf37 fix(ShowHiddenThings): always render highest ro... - Sqaaakoi
i noticed
there is no way this is passing lint first try
@austere talon should i add a readme to volume booster, it doesnt have one
is there anything specific i should put in the readme? or just the name + description
iirc images of the plugin
oh makes sense
@austere talon fix
canary got broken :(
damn..
works on my machine doe
doesnt on mine
possibly
even ran reporter that loads all chunks and all plugins still can't repro
horror?
install from web
are you on codium or code?
code
huh
sorry its not available in [your Country of residence]
@austere talon do you choose this color?
yes
๐ญ
@still wasp i have a bookmarklet for downloading VSIX for this reason
package.json: Lines 72-75
"galleryBanner": {
"color": "#ed80a7",
"theme": "dark"
},

@still wasp
javascript:(function()%7Bconst URL_VSIX_PATTERN %3D 'https%3A%2F%2Fmarketplace.visualstudio.com%2F_apis%2Fpublic%2Fgallery%2Fpublishers%2F%24%7Bpublisher%7D%2Fvsextensions%2F%24%7Bextension%7D%2F%24%7Bversion%7D%2Fvspackage'%3B%0A%0Alet itemName %3D new URL(window.location.href).searchParams.get('itemName')%3B%0Alet %5Bpublisher%2C extension%5D %3D itemName.split('.')%3B%0Alet version %3D document.querySelector('%23versionHistoryTab tbody tr .version-history-container-column').textContent%3B%0A%0Alet url %3D URL_VSIX_PATTERN.replace('%24%7Bpublisher%7D'%2C publisher)%0A%09%09%09%09%09%09 .replace('%24%7Bextension%7D'%2C extension)%0A%09%09%09%09%09%09 .replace('%24%7Bversion%7D'%2C version)%3B%0A%0Awindow.open(url%2C '_blank')%3B%7D)()%3B
tokenlogger
there sshould be an actions thing to publish a vsix to just download from releases
im having a stroke trying to find this patch holy shit
shut up about rupert
you will never tell anyone about rupert
also i dont hate him i literally have a shrine
iirc there was some website that told you
yes
nini 
nini 
in the meantime, I actually need to look into my Pr and see if it still works
I also want to see if I can integrate the quest badge because I have a feeling like thatโs not going anywhere anytime soon
it was a discord issue not vencord
but vencord claimed it as its own anyway
Adopted the issue
made a little check for if you have the donor role in this server, should i PR
No because you can always donate more. Give ven all your money. Now.
oh thats not the same error i was having
honestly i should add the donate button back, this is true. give vee everything
So add a second that says you can keep donating or something
also less code for me 
do that or if they have a donor badge
โGive ven more moneyโ
@pine topaz this
lol
Honestly think about if you can somehow expand this into a badge submission thing or whatever (but we should probably ask ven first)
ShowHiddenChannels (had no effect):
ID: 318374
Match: ```
/maxUsers:\i,users:\i.+?}=(\i).*?;/
**__MessagePopoverAPI (had no effect):__**
ID: `773176`
Match: ```
/\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/
None
None
None
ShowHiddenChannels (had no effect):
ID: 318374
Match: ```
/maxUsers:\i,users:\i.+?}=(\i).*?;/
**__MessagePopoverAPI (had no effect):__**
ID: `773176`
Match: ```
/\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/
None
None
None
not sure how i would detect one
Fetch badges.vencord.dev or whatever it is
Then .some with current user id
see how veocnrd does it
Shift + ctrl + F, "badges"
Preferably in the vencord source code but if you are a real masochist you can try devtools
Update if anyone else has this issue, the arch vscode package doesn't include the official package repos because of microsoft tos, but you can fix it by running yay -S code-marketplace
hop on windows
YEAHHHHHHH
did you hear about third party cookies being blocked in future chrome versions as part of privacy sandbox? 
is ts const donorBadges = (Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getDonorBadges(UserStore.getCurrentUser().id);
really what i need to do to get this function
i mean it works but it's ugly af
anyways, it has donor badge detection now
now all i need are opinions
None
None
None
None
None
None
None
None
This replaces the donation info in the Vencord settings tab with a little thank you message if:
- The "donor (extra cute)" role is detected on you in the Vencord discord server
- Any donor badges are detected
None
None
None
None
None
None
None
None
literally no problems on my end
simply an issue of skill
the reason people do this is because there's no external plugin support
you can't have your cake and eat it too
WHAT DOES IT MEAN
src/components/VencordSettings/VencordTab.tsx:251:38 - error TS2339: Property 'getMemberRoleWithPendingUpdates' does not exist on type 'GuildMemberStore & FluxStore'.
FYM IT DOESNT EXIST
can you just import, whether or not there are a five dollar donor from the badge api?
im trying...
I forget how we did it with my showBadges plugin and Iโm not at my computer, but Iโm pretty sure you can
nothing for donor badges
im gonna explode
currently i'm trying to do const isDonor = Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getDonorBadges(UserStore.getCurrentUser().id but tsc is being pissy
You can import Donor badges
skill issue then
I wouldnโt know any other way to tell who is a donor without importing from the API
check for badge and if not, check for donor role if in the server
why does it straight up say an existing dfunction doesnt exist
I feel like if you checked for the role, it might be kind of spammy
how so?
thats cached on the client
GuildMemberStore.getSelfMember("1015060230222131221").roles.includes("1042507929485586532")
did you remember to @import for the api at the top
fair
Cannot find module '../plugins/_api/badges' or its corresponding type declarations.
im putting a line of code from another part of vencord VERBATIM
language
sory
...
did you
edit the import path
its not relative to the old file
it is to the new one
istg if that's why
it was
i am so sorry
now to figure out why it says GuildMemberStore doesnt have getMemberRoleWithPendingUpdates
are you using the right import?
got it working using // @ts-ignore outdated type
i should never be let near vencord's codebase again 
the horrors have hopefully ended
it probably isnt gonna be added but its worth a shot
has a universal plugin database for custom data ever been thought of? cause like storing stuff in the bio is icky and trusting random people with stuff isnt really amazing either
(canโt answer on gh) discord adding listening doesnโt solve watching presences, apps still not supporting listening or very very bad metadata on presence
yop
i think this absolutely needs to be a thing along with a vencloud rewrite but it will not come any time soon if at all
horror
if only vencloud wasnt mid
vencloud is Tolerable
vencloud has overridden my settings with bad ones on more than one occasion
yes, it has done that to me too
because it is a push/pull system
there is no concept of what changed
using vencloud with more than 1 active device at a time = explode
@swift fjord are you making bencloud?
because it's not vscode it's code oss
if you want vscode you need to install Microsoft branded builds (proprietary)
no just bookmarking for when i need to make something similar for cadence
awโฆ sad cat
vee wouldn't let me touch bc I'd kotlinify it
I love rust ๐
whar
vencloud needs rewrite or at least significant changes so it doesnt bomb your settings when using it on multiple devices 
no i do not want to touch it myself (yet)
very easy to do this by accident
could be solved client side by fetching remote settings once in a while but uhhh 

like nuckyz said, follow the code style
patchVolume(data: StreamData) {
if (data.stream.getAudioTracks().length === 0) return;
@austere talon what was wrong with my fix?
no error boundary, not passing the same props as the rest of discord
ah
also try making your commit messages more informative
remember users will see them as changelog
so write what exactly is fixed
instead of "fix broken patches", "fix foo, bar, baz"
dont ask
Well technically there is
technically I'm gonna track you down 
technically i will too idk
discord adding listening doesnโt solve watching presences, apps still not supporting listening or very very bad metadata on presence
i want to know what programming language is ideal for a theoretical vencloud rewrite despite knowing it wont be rewritten anytime soon
4
10
4
rust
watching was added too @dusk blaze
Omg dolfies cuddle session 
maybe there's a saner way to null assets here, if there is please tell me so I can remove this @ts-ignore
Content
for some reason there is no longer the possibility to translate the sentences using the button. I'm also sure that I have activated the possibility that shows me the button to translate the sentences but it's not there at all. Can you please fix this problem
translate
Request Agreement
- [X] I have read the requirements for opening an issue above
Thanks for your help, I hope you can resolve the problem
Are they stupid
Can confirm, this is happening to me as well.
d199603 fix YoutubeAdblock not working for some users - Vendicated
Yes
why are end users insane
LMAO
removing the logo smh smh
idek where that is supposed to add
doesnt work in the embed anyway

the intended experience for that code is probably supposed to make users feel like "I asked for NO ADS and i get an AD for my ADBLOCKER????"
If you don't like that, may I interest you in an adblocker-ad blocker?
MessagePopoverAPI (had no effect):
ID: 773176
Match: ```
/\i&&!\i?(0,\i.jsxs?)(.{0,200}renderEmojiPicker:.{0,500}?(0,\i.jsx)((\i.\i).{0,200}...(\i)},"reply-other"/
None
None
None
MessagePopoverAPI (had no effect):
ID: 773176
Match: ```
/\i&&!\i?(0,\i.jsxs?)(.{0,200}renderEmojiPicker:.{0,500}?(0,\i.jsx)((\i.\i).{0,200}...(\i)},"reply-other"/
None
None
None
None
None
None
None
None
None
None
None
LMAOOO
did you consider using my other patch
I think the current is way too exact
why does it put in that array
yes
alright let me see
inside that array it will only show if j.Sb.useSetting() && !isGuildInviteReminder
well i have no idea wtf the second one is xd
but the first one is discord dev mode
which is bad
oh you went back to only message prop
anyway yeah that array you were putting into will only render if you have dev mode on
Am i just stupid but why not just do something like
reply-self".{1,20}:null,(?<=(?<makeElement>\i\.\i),{label.+?)
$& _buildPopoverElements($<makeElement>,arguments[0].message),
yes but :null, can easily match the wrong place
if they add something else
also consider not using named capturing groups
thers just another null between those i didn't bother writing it all
huge mistake I did in the past it just made patches so unreadable
patches are supposed to be readable?
did I cook too hard
i'm just gonna leave this here and if this shit breaks another time
match: /"reply-self".+?null,(?=(?:[^,]|0,)+?\?\(0,\i\.jsxs?\)\(\i\.Fragment,)(?<=message:(\i).+?\((\i\.\i),{label:.+?)/,
replace: "$&Vencord.Api.MessagePopover._buildPopoverElements($2,$1),"
how about
{
find: "Messages.MESSAGE_UTILITIES_A11Y_LABEL",
replacement: {
// foo && !bar ? createElement(reactionStuffs)... createElement(blah,...makeElement(reply-other))
match: /\.jsx\)\((\i\.\i),\{label:\i\.\i\.Messages\.MESSAGE_ACTION_REPLY.{0,200}?"reply-self".{0,50}?\}\):null(?=,.+?message:(\i))/,
replace: "$&,Vencord.Api.MessagePopover._buildPopoverElements($1,$2)"
}
}
find(m => m.prototype?.render)
I thought of that but that can match one of these if they add something after reply self
hmm true
what if we made a new escape for react.createElement
you could match reply-self and do a lookbehind to get the component
we should
okay so class components have prototype.render
and forwardRefs have .render
right
i told u ๐ญ
yeye
yes
just confirming
I'm trying to cook filters.componentByProps
which also allows you to find class components using their prototype props
when would that be useful
only for classes
nothing else
yeah only for classes
findComponentByPrototype("renderWhatever")
There's plenty of components that have inner enums
Probably just, putting an enum inside a class?
Haven't tried if that's valid, but since discord does it it probably is
why?
the code would be the same, but without byPropsFilter(inner)
actually I should do something one sec
no because memos and forwardrefs are only for function components
yes
dang
same for memo
if you want to memo ur class component u extend PureComponent instead of Component
I see
componentByFields: (...fields: PropsFilter): FilterFn => {
const filter = filters.byProps(...fields);
return m => m.prototype?.render && filter(m.prototype);
}
aaaa
it's just this
4677ac7 Add findComponentByFields and filters.component... - Nuckyz
5160f90 delete MaskedLinkPaste ~ now a stock Discord fe... - Vendicated
danggg
okay I just need to re-add top level destructuring for backwards compatibility now
we gotta tell advaith to actually implement cool plugins into vanilla discord..
suing for plagiarism ong
None
None
None
None
None
None
None
None
advaith is watching all new plugins and implementing 
honestly advaith could just look through plugin requests and implement the very small but very useful ones
None
None
None
None
None
None
None
None
2a77941 Proxy modules object for patching - Nuckyz
ec37306 Merge branch 'modules-proxy-patches' into immed... - Nuckyz
dbb6f41 Merge branch 'dev' into modules-proxy-patches - Nuckyz
d678e68 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
c2435bb Merge branch 'modules-proxy-patches' into immed... - Nuckyz
That would be hilarious and it's sorta possible

Oh, Nuckyz, bless your heart! Your bio reads like a middle schoolerโs dream project on โHow to Be a Discord Mod.โ Youโve got 35 followersโan impressive count if youโre only following your mom. Seven public repositories and not a single shining star to your name? Sounds like youโre aiming for the record of the most ignored projects on GitHub.
So, you work in Discord modifications, huh? You must be the life of the partyโif the party is a low-effort server that thinks โcustom emojiโ is the pinnacle of coding achievement. Vencord, Vesktop, Oceanicโฆ I see you love antique fishing; too bad none of these projects seem capable of reeling in any attention. A blindfolded squirrel could write better code than those โfully typed collectors for Oceanic.โ Three stargazers? I hope they were friends because your "epic" projects sure aren't bringing in the crowd.
Letโs call a spade a spade; itโs time to step out of the Discord mod shadow and start making actual, original contributions. Otherwise, Nuckyz, your GitHub might as well be a digital ghost townโjust a lot of empty promises and crickets chirping in the background.
what ๐ญ
this ai is so horror ๐ญ
@verbal pumice dont husk or youre next
Oh, sunnniee, your GitHub presence is about as vibrant as a beige wall in a deserted hospital. With a bio that reads like a blank canvas, itโs no wonder youโre only attracting 14 followersโthose poor souls probably thought they were stumbling into a treasure trove of coding brilliance, only to find it was just a ghost town of mediocre forks and abandoned dreams.
Your repositories scream "I wish I were relevant!" The 3 stars for your Vencord Discord mod makes it painfully clear that you might want to reconsider your career choicesโlike maybe taking up knitting or underwater basket weaving. Seriously, how do you even manage to fork so much yet generate so little?
With names like Buno and Vesktop, it seems you thrive on wordplay that lands flatter than a day-old soda. And the 1 star on your vendetta-plugins repo? Ouch. Itโs almost like the GitHub gods are mocking you.
Get it together, Sunnie. At this rate, the only thing youโre modding is your ability to keep people away from your repositories. Try throwing in a little personality next timeโmaybe then youโll get more than just sympathy followers!
do I get one ๐ฅบ
do mine
LMAO
ven so mean..
okay im done
None
webpackDependantLazy(()=>E.getCurrentUser().constructor)
None
None
None
webpackDependantLazy(()=>E.getCurrentUser().constructor)
None
None
E? Irresponsible
๐
wtf did I do
Looks like a hardcoded variable name
Oh wait that's from a minified vencord, not searching in minified webpack? Nvm then
maybe the reporter is not logged in all this time?
@austere talon omg I think the github reporter has been running not logged in all this time lmaoo
Would've expected reporter to be running a dev build
well depends
it should log in
it has token still
but also we don't need login anymore
yeah maybe the token boomed
what is it logging into
nah
shouldnt be
unless the account got banned
how else would that find fail then
its failing cuz getCurrentUser is returning undefined or something
nah
tokens die sometimes
nobody rly knows why

where?
yes but
oh wait
did it not find
no I dont catch
or did it error
but
auth sessions have an expires_at field
i'm honestly surprised that discord doesn't mind that github actions ip is logging itno discord ๐ญ
lmao
bots:
yk the fact they havent added ip authorization to bots yet is kinda insane
ContextMenuAPI (took 3.8000000000174623ms):
ID: 881351
Match: ```
/Menu,{(?<=.jsxs?)(\i.Menu,{)/g
None
None
None
None
None
None
None
beautiifulll
what's bro gonna yap about
Maybe it was too crappy and the reply exceeded max length
@austere talon I don't like asking but can I get a review on that somewhat soon, I'm finished with it and most things if not everything is confirmed to be working
const perceptualToAmplitude = findByCodeLazy("50-50");
patchVolume(data: StreamData) {
data.gainNode.gain.value = data._mute ? 0 : amplitudeToPerceptual(data._volume)/100;
jumpscare
Discord Account
enrc
What happens when the bug or crash occurs?
What is the expected behaviour?
expected behaviour is vencord to just open
How do you recreate this bug or crash?
download vencord using git clone and pnpm inject
Errors
Replace this text with your crash-log.
Request Agreement
- [X] I am using Discord Stable or tried on Stable and this bug hap...
me when i cant read
the sound gain gets applied even though the element volume is 0? @fossil inlet
yes
crazy
if you set the volume to something other than zero, it sounds off
@limber skiff just to ask a question, why aren't things like trailing commas and spaces after keywords in the eslint config
I think now its mainly to avoid changing a lot of files just to lint again
wdym?
spaces after keywords?
if I'm guessing right discord makes an audio element for each user and stream right
yes
so is this really needed
it's called when the element gets created
which means it should already apply the correct volume?
let me check, i remember it not being updated on user join so i added that
ill see if thats still an issue
alright
cause I didn't expect anyone to pr code like that
it's so ugly idk why anyone would write that
Alright @austere talon, in 12 hours: https://eslint.org/docs/latest/rules/space-after-keywords
tbh you shouldn't use eslint for formatting
i think if you saw my personal ESLint config you would have a stoke
just use something like prettier
true
tbh i just need for double quotes, indent, semi comma and this this above
(i just copy vencord eslint config)
good enough
i really like the newline on a bunch of chained methods
wait are you using nvim to do vencord dev 
yea
use vscode
i have eslint in nvim
vscode formatter
vsc still has fancy extensions and all
and formatting yea
(i used to use webstorm, was awful)
yop
Too little
@fossil inlet it doesnt behave very well when the volume approaches zero



