#๐พ-core-development
1 messages ยท Page 186 of 1
4f2c2b8 new plugin Summaries: show Discords AI-generate... - mantikafasi
c836270 fix minor bugs in various plugins - Vendicated
9ec6718 build: improve fileInclude plugin - Vendicated
41c5bbd new plugin WatchTogetherAdblock: block ads in y... - ImLvna
58d9619 Summaries: Fix start error with no summaries-da... - Nuckyz
how did I confuse "if" with "with"
6b48998 Summaries: Fix start error if no summaries-data... - Nuckyz
6b48998 Summaries: Fix start error if no summaries-data... - Nuckyz
00d71fb Merge branch 'dev' into immediate-finds - Nuckyz
6d59a94 Merge branch 'dev' into modules-proxy-patches - Nuckyz
9ceb0ae Merge branch 'immediate-finds' into immediate-f... - Nuckyz
490e913 Merge branch 'modules-proxy-patches' into immed... - Nuckyz
this is funny
This fixes bug where Markdown headers from deleted logged messages don't show as red text (if option is enabled)
without fix:
with fix:
.messagelogger-deleted [class*="contents"] :is(h1, h2, h3) {
PR Code Suggestions โจ
<table><thead><tr><td>Category</td><td align=left>Suggestionย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  ...
+1 on this. I use this feature all the time and it's kinda baffling that it's not supported at all when I can use other clients like Armcord, load Vencord into them as a client mod and have this feature just work. It's a real pain in the backside
Why arent you just splitting it at spaces? whats the point of making the enduser type out a parsable array?
I still think a system similar to that of TextReplace would work better.
Why define this if its just.. nothing?
This doesnt seem useful in the slightest; what's the usecase?
If anything this can just be an addition to the NoF1 plugin
insane
LMAO i do a lot
trying to open emote picker (ctrl + e)
You should get rid of all this dom manipulation (which u shouldn't be using anyways) and replace it with a simple toast or modal (in webpack commons)
github ate the lines i selected
tbf there was unresolved feedback for a long time
(but its completely understandable that you'd lose interest in resolving it considering the feedback was only sent months later)
i havent got any github notifications in a while wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ill fix my notifications
speaking of which you still have another pr with unresolved feedback (banners everywhere) if u wanna finish that
oh these are months ago :p
and yeah i'm trying to get old stuff merged but its a veeeeery long backlog

its pain cause every time i merge 10 prs, 10 new ones get made ๐ญ
i did like 40prs on one day fairly recently, dropping prs to 140, then later even more getting them down to like 120 but now we're at 132 again
and me doing refactors doesn't make it easier lol
wowowoooaaahhh
this is not the first person claiming that having quickcss + theme somehow causes lag
inb4 this is some really cursed css thing
DOM manipulation is bad when you have patches and react components at your disposal. Have a look at some other plugins for reference
hmmm, get nuckyz to help in merging?
This plugin allow you to modify messages without "edited" mark, also bypass bots, enjoy!!!!
some ppl rlly just want a contrib badge or sm
bruh, the bug is still not fixed?
Do not do manual fetch requests, use RestAPI
Just findByProps for this lol
why do i bother
(i am bored)
also zero effort went into making that its literally one glance to tell everytime 
They don't anymore. I updated the argument parser to essentially split at spaces, with some additional logic to ensure it wouldn't split in the middle of a quoted string. E.g.
-a x -b "multi word argument" 'quote\'s escape\'s'
turn into
["-a", "x", "multi word argument", "quote's escape's"]
So now you can just use a string as if you were giving arguments directly in the cli.
Are you referring to the outfile variable or something more? I've removed outfile in 0e96e9300df1a0b0841ae73d09fe0881347c931e, but let me know if there's something else.
well, yeah. its my first plugin ever, also im kinda junior in this topic, but dw, i'll fix everything XD
the "video" case, unless im missunderstanding whats going on, as im not the best typescript coder out there, it looks like literally nothing will happen if its a video?
Ah, that's a JavaScript feature called Fall-Through. You can basically name multiple cases right after each other, and all of them will execute the same code.
switch (variable) {
case "a":
case "b":
// do stuff - get's executed both in case "a" and case "b"
break; // important to prevent fall-through down to case "c"
case "c":
default...
ahhh, okay, makes sense.
im used to java where the syntax is
switch (variable) {
case "a", "b":
// stuff for both "a" & "b"
}
java reference
Duke the Java mascot Java is here Java is there Java is everywhere

I've tried for a very long time now. I searched the modules with appMount and attempted to patch it there, but it didn't work. Additionally, I couldn't find any plugin that does something similar, such as patching or appending elements to existing Discord elements.
tbf dom manipulation is fine for that
^ tested, works fine
and the only blocker was the js -> txt
wuh oh
why did that fail to compile
wtf
literally compiled it on my machine fine
i think the patches could use some improvement tbh
oh was it the rebase dev
i think for the purposes of what the PR does, its fine as is
we can rework the patches separately
wdym
the PR accomplishes the whole custom quotes thing
Use our import shorthands (@utils/...)
If you aren't already using vscode please do as it will import stuff automatically with the correct path
Don't put finds here, put them on the top level so they only run once
Also pretty sure there's a Webpack.Common thing for this
Please run eslint to add our license header and format your plugin consistently
This component should be a Modal, then you can just use the open modal function instead of dom manip
woah hello
we should try and avoid lumping things like patch changes into the same PR when the patches work fine, yes it reduces the amount of PRs but it increases the scope from what the original contributor wanted to work on
oh i thought you were fine with it because it wasnt pointed out in review
:p
i need to fix the filecontent stuff anytway
ah i see it was changed quite literally 24 hours ago
i see
btw are we using codium now as like
a proper thing
or just on one offs
it sucks ass it was just as a joke lmao
actually
why were the patches changed like that
im confused
they seem way more complicated than they need to be
am i silly for thinking that or
oh >enableDiscordPresetQuotes
i see
okay lets see what i can do here
im fixing them rn :p
use only on mantika prs

fat fingered buttons count
this is also safer cause it doesnt reassign the variable
so if they ever change it to const it wont error
xd
the patches were kinda bad for the following reasons, thus I changed them:
- reliant on the current easter egg that might get removed at any time
- reassigning the variable which might be made a
constin the future. the plugin now mutates the array in place - just generally using fixed length anything matchers is best avoided
but the rest is good now so I'll go ahead and merge this, thank you for your work!!
8bda3a1 LoadingQuotes: more customization & custom quot... - UlyssesZh
(no)
really no.
Pasting a link while you have text selected will paste your link as a masked link at that location
STOP OPENING PRS
TextReplace can do this if you really want it. But it's also just not very useful and bad for accessibility
So I'll be rejecting this, sorry
Nop
need somebody to make a "STOP DOING PRS" meme
you know those graphics
I have at least 5 finished plugins that I just never ended up submitting
i can't wait to submit a PR and get a reply saying "FUCK OFF"
Yop
Please choose your preferred method of harrassment
lol why do i still have this branch
i should bomb it
feature exists in upstream since i made it
fuck off devs list merge conflict
this is why i put my addition to devs one above the last one
too late to fix for all my legacy branches 
will just merge dev branch
You forgot adding files through upload
TextReplace can do this if you really want it. But it's also just not very useful and bad for accessibility
So I'll be rejecting this, sorry
ok ๐
im sorry, i dont understand? this uses dom to see what userlist elements are in the viewport and fetches them, i dont think thats possible from just react side
i was suggesting that instead of doing this, you just patch the memberlist row component to insert your own hook call that subscribes to the user profile store and fetches profile if missing
this will then automatically rerender the component when the user profile has eventually been fetched, and Discord's lazy scroller already makes it so that only visible users will be rendered
like
"$self.useFetchMemberProfile($1)"
useFetchMemberProfile(userId: string) {
const profile = ...
you also don't seem to be handling guild profiles at all, so probably should try to add that
i don't see a utility function to fetch member profiles, only users. how would i go about that?
idk xd
.GUILD_PROFILE(
oh its just profile update
i would assume guild profile is always cached or smth
actually idk

await (0,
r.fetchProfile)(e, {
withMutualGuilds: T,
withMutualFriends: S,
withMutualFriendsCount: f,
friendToken: h,
guildId: N,
connectionsRoleId: c,
abortSignal: O
}, U)
it seems to be because of the dispatch under
but I guess it doesnt account for the cache when requesting
so you need to check the store, and cache if empty
oh
yall moved o #๐งฉ-plugin-development
oops
It works but I saw you removed Userbg support
this is like almost impossible to happen but why not
Yeah, shoving โmade by โฆโ down peopleโs throats feels icky. Also, tbh the whole title for that modal could be removed.
i don't see a use case for this plugin that isn't malicious
sorry but i will be rejecting this
this is actually a rare case where dom manipulation is acceptable
hi thanks for your pr!
i don't really understand the purpose of it however.. why not just download the youtube video, convert it to an animated webp/avif (for minimal file size) and use that from css?
if (content && linkRegex.test(content) && editor.operations?.[0]?.type === "remove_text") {
c431b7d fix(MessageLogger): correctly mark markdown hea... - nin0-dev
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
5b35d7c fix occasional errors in Dearrow & ImageZoom - Vendicated
hi, thansk for your pr! we don't vendor plugins like this, every plugin should be first party
out of respect i would also not merge it unless the original author desires it
thus i'll be rejecting this, sorry!
alt is redundant if you already have a title
this should be on the top level
unless you're just making a super small adjustment, always prefer css over inline styles

iirc, having buttons set to an empty array breaks the rich presence
const buttons: ActivityButton[] = [];
if (settings.store.enableButtons) {
if (trackData.appleMusicLink)
buttons.push({
label: "Listen on Apple Music",
url: trackData.appleMusicLink,
});
if (trackData.songLink)
buttons.push({
label: "View on SongLink",
url: trackData.songLink,
});
}
al...
const source = type === AssetImageType.Album
? data.albumArtwork
: data.artistArtwork;
how so fast
xd [] || undefined is still []
did u test that it still works
i cant exactly test it cause u know...
thanks for the swift fixes btw 
thanks for the pr!
this seems like something that should be done on the server instead to avoid the unnecessary request, so I suggest opening an issue [there](https://github.com/Vencord/Vencloud] instead to discuss making this change
i think it would be a lot better to use song.link instead of your api, since it supports a lot more platforms both ways (source and destination)
for spotify urls it's https://song.link/s/:track-id, eg https://song.link/s/1wdK548KKmN40wxH051bSy
Running Vesktop on Fedora Linux 40 KDE on X11 with the command-line option --disable-renderer-backgrounding seems to fix my issues regarding messages "hibernating"/having a delay (only sending when Vesktop is focused). I don't use Disable Call Idle.
(By the way: https://github.com/Vencord/Vesktop/commit/d3b94fc4df6eec3f93a0689309760e2bb3e96249#commitcomment-142196978)
8131ca8 USRBG: support new simplified profile (#2501) - AutumnVN
superseded by #2347, thanks for your work!
b9e83d9 new plugin DontRoundMyTimestamps: round 7.6y ->... - KontrollFreek
email jumpscare
@placid hinge 
why do it so strange xd
I'm not on their fork lol
so I can't commit to the PR
Too much work fr ;3
new longest username in chat lmao
e96458f fixes for if we use prototype proxy in the future - Nuckyz
the CF worker does use song.link, I think I made it because song.link had CORS problems
either way, the code is garbage. I'll look into using the song.link API when I rewrite the entire plugin
ah i see! well you can bypass CORS via native.ts now
fitting for vee
hmm yes foo.includes(foo) 
while (true) {run(git push -f)}
i think everything is fixed @Vendicated
My computer is hard-core bugging right now so I donโt know what is happening
fr
for better maintainability and catching bugs before they occur, try to avoid using the any type. here you already have strong types on everything so there's no reason to use all these anys
function CheckBadge({ badge, author }: { badge: string; author: User; }): JSX.Element | null {
{badges.getDonorBadges(author.id)?.map(badge => (
you use optional chaining here, which could potentially result in author being undefined, however the above functions expect a non null user and don't do any null safety
that makes very little sense! you should either remove this optional chaining if you're sure the author always exists
addDecoration("vc-show-badges-in-chat", props => <ChatBadges author={props.message.author} />);
or, safer, make sure it always exists
addDecoration(...
all fixed
indeed
misclicked, didnt mean to do that
ok bug fix, thx @Inbestigator for spotting that
Adds badges showcasing how long you have been friends with a user for (if this is too niche/useless then fair enough)
@Inbestigator is a meanie whom keeps waking me up*(joke)*, forgot the style import earlier
@still wasp
Ay my bad
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
8bda3a1 LoadingQuotes: more customization & custom quot... - UlyssesZh
c431b7d fix(MessageLogger): correctly mark markdown hea... - nin0-dev
c2f8837 new plugin: MaskedLinkPaste (#2514) - sunnniee
5b35d7c fix occasional errors in Dearrow & ImageZoom - Vendicated
8131ca8 USRBG: support new simplified profile (#2501) - AutumnVN
8bda3a1 LoadingQuotes: more customization & custom quot... - UlyssesZh
c431b7d fix(MessageLogger): correctly mark markdown hea... - nin0-dev
c2f8837 new plugin: MaskedLinkPaste (#2514) - sunnniee
5b35d7c fix occasional errors in Dearrow & ImageZoom - Vendicated
8131ca8 USRBG: support new simplified profile (#2501) - AutumnVN
8bda3a1 LoadingQuotes: more customization & custom quot... - UlyssesZh
c431b7d fix(MessageLogger): correctly mark markdown hea... - nin0-dev
c2f8837 new plugin: MaskedLinkPaste (#2514) - sunnniee
5b35d7c fix occasional errors in Dearrow & ImageZoom - Vendicated
8131ca8 USRBG: support new simplified profile (#2501) - AutumnVN
513d9f4 I knew I was forgetting something - Nuckyz
Because it works quite well and is significantly easier. Additionally, it should prevent looping issues. Also, 10-hour loops wouldn't be easy to download, and this method saves many steps. Anyway, do you think I should still convert it, or add it as an additional option?
Do I still need to include the start function in patches?
It adds the /uwuify command that just makes your message more "cute" based off of a long word and letter replacement list and some suffixes.
It does not have any super special characters in the suffixes or replacements so it shouldn't get automodded in some servers with those "English only" automods.
What it looks like:
Some options for it:
(sorry for it bei...
Vencord already had a uwuify plugin in the past and it was removed, see https://github.com/Vendicated/Vencord/pull/1414. This will not be accepted.
Sorry!
Vencord already had a uwuify plugin in the past and it was removed, see #1414. This will not be accepted.
Sorry!
No, I'm sorry, I should've looked to see if there was something and if there was, why it was removed. I just saw the lack of the plugin and thought I could just make something rq.
no problem! thanks for the efforts either way!
I updated the PR description to explain what changed
I'm really thinking my two prs are in a very final stage
can't see much changing now
are you up to date?
oh. nvm, I didn't update...
"relationship is sprouting
(1 month)"
imagine the images disappearing and the whole plugin exploding 
afaik catbox images are permanent
what if you get removed and added again
should add something for that
Its just a simple way to calculate stuff via Discord Commands. If this gets accepted, I'll add a lot more calculations.
"Relationship is rocky"
don't use external file hosts in plugins

also did vee again forget about #plugin-news
This plugin has multiple security issues with its math implementation (which is basically just eval) and is very niche. I don't think this is a good idea to be included in the mod. Thank you, though!
^ you'd have to include a separate math interpreter for this to be secure and at that point it would just bloat the mod considering how niche it is
id rather not have a hidden eval command
- you can sandbox break out of that in many different ways and get access to the client
This plugin has multiple security issues with its math implementation (which is basically just
eval) and is very niche. I don't think this is a good idea to be included in the mod. Thank you, though!
aight
๐ค
you don't need a client mod for slash commands. you can use user installabe apps, they work anywhere on discord (including mobile)
i will start just rejecting any slash command thing that can also be done with a user app
ok i was kinda inspired by morecommands but ill try to make a more useful plugin
Removes channel icons to give discord a more simple look. Will add customization and a readme.md soon, this is just to see if this will get added.
This can be done with css
Please rename the filename to index.tsx for the lint to be fixed :pray:
CopyEmojiAsFormattedString.tsx -> index.tsx
@still wasp (I didn't make plugin)
you will either use svg or data url
you may want to avoid using external hosts. use base64 data links
b7bd5a7 ConsoleShortcuts: fix autocomplete on lazies - Vendicated
but this has one issue @limber skiff
it won't work the first time cause it's not loaded, need to load first
don't use external file hosts in plugins
I am sure I can find too many instances of that. I'm sure I've raised the issue we should migrate the existing cases of this to being built in and you said it isnt an issue
maybe we could force load all commons when you open devtools?
also let me know if the code looks good if you would do anything differently
reasonable
i should add more consoleshortcuts
i want to add ones for current channelId, guildId, userId, etc
tired of having to manually copy channel or guild id
YES
wait
You will add Vencord.Util as Util too 
i hate writing out Vencord.Util.getCurrentChannel().id
yeah i know Selected{Guild,Channel}Store exists
this is what i mean btw
you need to execute it once to load it
husk
because chrome devtools wont call it
you could instead just the set the value instead of getter if when you call the getter the value is defined
but yeah the issue is that chrome only eager evaluates stuff that has no sideeffects
it's okay tbh
I mainly did this change to get reference to wreq as soon as possible
tired of having to wait for connection open lmao
you don't

your change isnt the issue
it's that just than when connection open is triggered you can be sure pretty much everything loaded
i also do this here
ik ik
but basically nothing will be loaded at that point
yeah
these arent loaded
wreq and some vencord stuff, mainly
what we could do is eager load all modules when console is opened
i know this sounds stupid but is there any way of actually detecting that on web clients
technically yes
but its not robust
there are many ways to do it
this works but only if you have them docked
not if u have popout
well web users will shrimply cope
the horror
horror
cursed xd
it's really cool how that code gets stripped out if it's web
yeaa
the diff is so horror cause i moved the shortcuts function to top level
hmmm
this has some issues still
yeah ik how that is
if you open devtools very early
(me)
easy fix
lmaooo
wtf
do writable true when you define a value too
might wanna change for whatever reason
71a6b17 force load fix & writable - Vendicated
bd341ec also work if devtools alr opened - Vendicated
there we go
what's the reason for setTimeout 1000

basically just to let plugins start and stuff
cause they might load some more modules
like
the point of that func is to unproxy already cached modules
if we do it immediately at webpack start it wont be any
but after 1s some might have gotten accessed
yeah
and it does make sense for it to be connection open
because plugins may want to do gateway things in the start
if you want me to change let me know
it's better for me to do in my pr which already changes so much stuff
naaah
the more changes u tuck into one pr the harder it gets to properly test & review xd
this wont work
yeah but that's almost no changes honestly
just a few renaming
what now
and it's better because that pr already touched most files, so why not change a little more of them haha
cant*
you can
I know for sure one of them you can't have at the same time as a writable

yeah its both
lmao the message
yeah I saw that
it's so funny
okay give me a second I'm gonna make coffee and then I review/merge your pr
and fix my conflicts
it's a little more sane
and doesn't throw an error
anything else that could be useful?
put Vencord.Util on Util
^^
yop
I guess that's it
bleh
also unrelated but should I export this
it's a set with wreq.m and sentryWreq.m
or I could change that to contain all the wreqs instead
i guess that can be useful
i do this so often xd
so i save 1 restart when testing plugins
what else could we add thats useful
that's smart
yo can someone close this and tell me why or add it
๐ญ
we need something for pronoundb where it hides this shit automatically
i dont feel like its worth making a pr for it tho
let me just clean this up and I review
BRO WHAT IS THIS EXAMPLE CODE
class B extends class A {
set a(v) {
console.log("Setter called");
}
} {
a = 1; // Nothing logged
}
๐ญ
i was so confused and thinking it was invalid syntax
until i ran it and realised...
class B extends
(class A {
set a(v) {
console.log("Setter called");
}
})
{
a = 1; // Nothing logged
}
this should make it a bit more obvious
๐
wait that if is wrong
oh fuck
btw im surprised we never had this
https://github.com/Vendicated/Vencord/pull/2519/files#diff-9de81098f70afeebbe6eba8df217008ac039d73e6979e5fdf8aa145720facd7dR109-R110
Incomplete URL substring sanitization
'discord.com' can be anywhere in the URL, and arbitrary hosts may come before or after it.
Incomplete URL substring sanitization
'discordapp.com' can be anywhere in the URL, and arbitrary hosts may come before or after it.
๐ญ
๐ญ it looks so scary too
yeah lmao
github is dying I can't dismiss it lmao
btw I finally used tagged templates again lmao
basically if any of the variables inside is == null it returns "" instead
any reason this is not camelCase
okay seems good
btw i noticed that fakeRender doesnt work on discord desktop
but its not that easy to fix
what's the issue on desktop
thats mainly what i use it for
like
fakeRender(() => console.log(useThing()))
I see
oh thats cool
okay lets hope for the best
its the issue with how the code opens the popup
currently it does
window.open("about:blank", "Fake Render", ...);
but it has to be
window.open("/popout", "DISCORD_...")
oh
with that change and a small adjustment to how we initialise the html it works in discord desktop
but then it doesnt work in vesktop anymore
so we first need to fix popouts in vesktop

if you want to close a pr just click here:
this likely won't be merged since it can be done using a CSS snippet, which doesn't require any plugin. general "policy" with vencord plugins are that they shouldn't be made if you can do it with CSS
you may want to avoid using external hosts for the friendship ranks
my bad, i'll switch everything over soon ish
such as?
it's because these properties are dictated by spec so proxy enforces them to properly correspond to the proxied element, so you can't break js spec
okay I hope nothing else got messed up
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
i cant remember but its often ones where user input is possible 
?????? so useless these aren't mandatory to have at all
also yes like others said just use CSS
hate github UI
wtf?
so insane
you may want to avoid using external hosts for the friendship ranks
my bad, i'll switch everything over soon ish
while doing so I'd also recommend migrating to SVG icons
idk whats going on but looks like git hell
don't be rude
it was for the start/stop being console.log also yes that was a bit rude of me
i have
it
i should start writing another plugin that nobody will use
if you want to close a pr you can do it yourself. just click here:
I don't quite get it
did you see what I said about the research I did another time
that they're memoed?
why not
MESSAGE_UPDATE event
ik i just need a response from the admins or janitors
If bet they're going to say the same thing as we did
I'll take a deeper look into it
basically the entire reason we cant use MESSAGE_UPDATE is cause it fucks up embed
but now after looking into it, it's just sanitizeEmbed as described in those messages that does that
so if we noop that for the MESSAGE_UPDATE call, it should work fine
ideally we want something which doesn't depend on patching a single parsing
that's why I'm gonna take a deeper look
to see if that's doable
deep clone message obj, set prototype to the class, and then update message store with it?
just an idea idk
as others have stated, this can easily be achieved with css, so a plugin is not necessary for this
thank you for your contribution nevertheless!
I'd also recommend migrating to SVG icons
is there a big benefit to doing that? i already have the whole system set up with images and i don't think the badge maker i used supports svg, if its that good though then alright
I don't think the badge maker i used supports svg
Discotools (what you used) uses svgs in the background
looks good now, thank you!! :3
actually please add a README for your plugin, optimally with a screenshot!
86aabe7 add more flags for preventing background unloading - Vendicated
me when new plugins and no #plugin-news
Error: Execution context was destroyed, most likely because of a navigation.
at rewriteError
reprter explosion
somehow
its consistent broken somehow
but why
it broke rn?
yes
but its not cause vncord broke
puppeteer error
its redirecting and that somehow breaks stuff
maybe issue with new chrome version
uhh I have news
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
my branch works
what..
๐ญ
how
idk
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
I ran on immediate-finds-modules-proxy
did u make any major changes
it may be related to this https://github.com/Vendicated/Vencord/commit/f469060ccfbf4c585802d7ebf20e0edcc7cea963
but my branch has that too
but the error is so confusing
nah
odd
idk why my other branches work though
well its not a big deal for now
but we need to fix it sooon
why wuld it randomly break
it worked earlier
no the thing is
it wasnt updated in a week
it worked a few days ago
so literally we didnt change any code and it broke
well we did change some webpack code
maybe its consoleshortcuts change?
maybe ur branch doesnt have it yet
it does
it has everything but the last 2 commits
maybe its the eager loading somehow
unsure
I can try the reporter on dev later
i'm trying so hard to make the fucking message re-render
yeah but
your branch has immediate finds
my guess is that it's about the eager loading
lol that branch has two things, a option for eager patching and immediate finds
it's a combination of my two others with conflicts resolved
is your reporter exploding during finds checking?
anyways it's crazy, I got the main channel component that subscribes to the message store to update
but the single message is still not
hmm so it is a find
i dont understand whats wrong here
nothing technically
Is this supposed to work on Vesktop?
Discotools (what you used) uses svgs in the background
so it does lmao, i'll switch to svg then
yes. make sure you fully close and restart discord
we should just make the updater force restart once update applied
instead of levaing you the choice
why
it should be clear that discord will restart after you update
@austere talon how is window even being there if we mark it as not enumerable
if its a property
we only check module.exports = window
but if its like module.exports.window = window
actually
no we dont check exports anymore
then its defualt export maybe
we should not put these fixes in the finds
these are gone cause not enumerable
yeah true
I will fix it dont worry
rip
i mean i know the issue, i know the exact line of code that causes the issue xd
but idk why it does
who would guess message update api is so fucking easy
right this should support updating with no changes
pretty sure you can just MessageStore.markChanged()
you cant
you need to commit the new cache and update the message reference too
the first makes the useStateFromStores trigger
store.emitChange()
right
this doesnt need to be an api
it can be an util
isnt it lovely
it doesnt update the message while the app is starting
why.
accessories are not getting re-rendered ๐ฅ
A simple plugin that allows you to send cute messages and 'rizz' lines in the chat. It's easy to use and can be fun and entertaining in many situations
https://github.com/Vendicated/Vencord/assets/69634294/5e710b12-ae0e-409a-a749-7a6fe1b7a158
manti alt
8bda3a1 LoadingQuotes: more customization & custom quot... - UlyssesZh
c431b7d fix(MessageLogger): correctly mark markdown hea... - nin0-dev
c2f8837 new plugin: MaskedLinkPaste (#2514) - sunnniee
5b35d7c fix occasional errors in Dearrow & ImageZoom - Vendicated
8131ca8 USRBG: support new simplified profile (#2501) - AutumnVN
a7d5e9c feat(API): updateMessage API for forcing re-ren... - Nuckyz
force push time
86aabe7 add more flags for preventing background unloading - Vendicated
da01237 Summaries: update README - Vendicated
9b9a532 webpack: make window exports non enumerable - Vendicated
537fc5e feat(API): updateMessage API for forcing re-ren... - Nuckyz
6e1094a Merge branch 'dev' into immediate-finds - Nuckyz
86aabe7 add more flags for preventing background unloading - Vendicated
da01237 Summaries: update README - Vendicated
9b9a532 webpack: make window exports non enumerable - Vendicated
537fc5e feat(API): updateMessage API for forcing re-ren... - Nuckyz
4db6c4b Merge branch 'dev' into modules-proxy-patches - Nuckyz
86aabe7 add more flags for preventing background unloading - Vendicated
da01237 Summaries: update README - Vendicated
9b9a532 webpack: make window exports non enumerable - Vendicated
537fc5e feat(API): updateMessage API for forcing re-ren... - Nuckyz
6e1094a Merge branch 'dev' into immediate-finds - Nuckyz
puppeteer is weird
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
works :)
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
4a87223 Fix reporter breaking because of ConsoleShortcuts - Nuckyz
17b5750 Merge branch 'dev' into immediate-finds - Nuckyz
7509f20 Merge branch 'dev' into modules-proxy-patches - Nuckyz
d0e4ec0 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
ac1423f Merge branch 'modules-proxy-patches' into immed... - Nuckyz
oops should have not add that one

Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
c8602ef Fix reporter breaking because of ConsoleShortcuts - Nuckyz
896b897 Merge branch 'dev' into immediate-finds - Nuckyz
b745819 Merge branch 'dev' into modules-proxy-patches - Nuckyz
8322263 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
01ba87c Merge branch 'modules-proxy-patches' into immed... - Nuckyz
please fix lint part 2
I hope now everything is fine... btw not sure about license header. it was auto-changed by lint, in other recently plugins I saw previous one but lint said it's incorrect ยฏ_(ใ)_/ยฏ
welp i guess i dont have to talk via github commits anymore
aye good job @limber skiff
this never worked before
like the icon didnt update
speaking of which that plugin is written like shit
what was i cooking
dynamically builds css to hide ๐ญ
sticking out your vencord for the rizzler
sticking out that venyat for the shiggler
anyway this plugin is not really useful... you should consider just turning this into a user installable discord app!
thank you for your effort regardless

thanks haha
that took so much reverse engineer to get working
and it's so simple lmaoo
added back usrbg support! only fetches the user profile if usrbg.getImageUrl returns null
seems like the "animate" option is broken, returns a gif regardless of setting, unless im tripping
OHH i forgot to reimpliment that
thanks!!!
wait
it should work
oh wait im dumb
i was returning https://cdn.discordapp.com/banners/id/anotherid, not https://cdn.discordapp.com/banners/id/anotherid.gif
@austere talon would this ternerary be too cursed
const extension = settings.store.animate ? profile.banner.startsWith("a_") ? ".gif" : ".png" : ".png";
return `https://cdn.discordapp.com/banners/${userId}/${profile.banner}${extension}`;```
bestie
const extension = settings.store.animate && profile.banner.startsWith("a_")
? ".gif"
: ".png";
ohhhhhh
ty
@cunning canyon does the usrbg api have a way to specify png or gif? or is there any way to tell if a user's banner is animated?
not using usrbg banners if the user does not want animated banners, as there is no way of knowing if a usrbg banner is animated or not
u can fetch the first few bytes for GIF magic
surely gifs have magic right
is usrbg limited to gifs or can it also be apng/webp/avif...
oh it gives content-type
oki
how would i handle async in a react component
state?
or yeah content type
useAwaiter
funny hook fail
Displays hex/rgb/hsl colors in messages with a tiny-colored box nearby :3
I might have made some bad code especially with dynamic element creation, so I would be glad to get roasted
moving to #๐งฉ-plugin-development
Enables you to pin a message by clicking on it while holding down Ctrl+Shift
https://github.com/Vendicated/Vencord/assets/69634294/0109eb14-1e92-48ee-89a2-fdbe7c3c6103
maybe make this unpin if it is already pinned?
I am thinking that this is better off being merged with MessageClickActions
pindms's module loader for the modal to edit a group is failing on stable btw
real or fake
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
does reporter test for extractandloadchunks tho
yeah i realised
because it is matching something
let N = (0,
_.makeLazy)({
createPromise: ()=>Promise.all([n.e("49237"), n.e("99387"), n.e("96427"), n.e("40326"), n.e("23357"), n.e("28020"), n.e("15972"), n.e("6416"), n.e("38674"), n.e("43906"), n.e("33053"), n.e("49146"), n.e("17938"), n.e("76540"), n.e("65866"), n.e("93521"), n.e("80603"), n.e("18824"), n.e("5528"), n.e("73427"), n.e("79618")]).then(n.bind(n, "989804")),
webpackId: "989804",
name: "UserSettings",
_: Promise.all([n.e("49237"), n.e("99387"), n.e("96427"), n.e("40326"), n.e("23357"), n.e("28020"), n.e("15972"), n.e("6416"), n.e("38674"), n.e("43906"), n.e("33053"), n.e("49146"), n.e("17938"), n.e("76540"), n.e("65866"), n.e("93521"), n.e("80603"), n.e("18824"), n.e("5528"), n.e("73427"), n.e("79618")]).then(n.bind(n, "989804"))
})
but it's not capturing what it should be
๐ตโ๐ซ
entryPointId seems to be NaN
is entry point not n.bind(n, "989804")
ye
what is it matching?
idk
fuck I know
I added another case
there are 3 groups now
chunks when its promise all
Just initialize this when you make the variable
Please put types anywhere where there isn't
chunks when its single promise
and entry point id
the regex for better settings only has 2 groups
so the entryPoint is getting treated as the second group instead of the 3rd
yea
extractAndLoad needs to account for when it's only 2 groups
just check group count
yeah
yeah that should work probably
are you gonna fix it or you want me to fix later
actually leave it for me
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
8de1ca8 I only understood today the reason for the Obje... - Nuckyz
This should definitely be merged with MessageClickActions
wha xd
oh yeah
today I realized why
for funny properties
yeah
๐ฆฆ
I had changed more user tags and said it was not possible to access those
because I was assigning to the wrong thing
instead of the wrapper i was doing the inner component
so of course it didnt work
(even though 1 line above I had InnerComponent = find)
/(?:(?:Promise\.all\(\[)?(\i\.e\("[^)]+?"\)[^\]]*?)(?:\]\))?|Promise\.resolve\(\))\.then\(\i\.bind\(\i,"([^)]+?)"\)\)/
most sane vencord regex
in operator is kinda bad
mimimi cannot use in operator in boolean
๐คจ
is this true, it just had happened
probably just me messing up
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
None
None
None
old settings patch
not needed anymore
we removed it but then discord decided to revert to a 10 days old build which required it again
and now we're just leaving it in for now for safety
heh



