#๐พ-core-development
1 messages ยท Page 187 of 1
ah, makes sense
added a README and improved/minified the code
๐
why is this happening ๐ญ
I bet this won't be their last time, as they are probably trolling
okay I found the issue but it should still be working
fucking shit
IM STUPIDDDDDDDDDDD
I changed the regex and forgot to change the code which uses it in the reporter

892de53 Fix extractAndLoadChunks issue with 2 match gro... - Nuckyz
892de53 Fix extractAndLoadChunks issue with 2 match gro... - Nuckyz
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
everything working
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
okay now I can start working in the reporter
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
horror
@austere talon btw, in buildWeb, isnt these supposed to be ~plugins and ~git-hash?
I also added a function which vesktop can use to addPatches now
9a9c1b0 Reporter: Properly implement reporter build of ... - Nuckyz
c0984db Merge branch 'dev' into immediate-finds - Nuckyz
e225758 Merge branch 'dev' into modules-proxy-patches - Nuckyz
479a406 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
eb5fb0d Merge branch 'modules-proxy-patches' into immed... - Nuckyz
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
what is /users/@me/survey?disable_auto_seen=true and why am I rate limited from it for 21 hours
does this look about right
i hate typescript
This should definitely be merged with MessageClickActions
yeah understandable and thus logical, if i do it, should i add myself to the authors in the MessageClickAction or?
"yeah understandable and thus logical, will i still get the badge?"
do not ask what the actually fuck happend here, okay? morning coffee, watching a movie, i added myself to authors, and somehow i managed to conjure myself here too
happens
just read my last comment, and try to handle what the fuck i did 
also, ofc, i understand what u mean by 'badge.' logically, if you contribute to work, you become a 'participant.' i'll remove myself from the authors if requested, it changes nothing. the badge concept is understandable: you support users and help with something, so naturally, you want to see some 'results' for it. i assume thats why badges exist ๐คทโโ๏ธ
Im not talking about you specifically, but there are many plugins that seem to be made just for badge
well, i assume there are a lot of badge addicts 
mmghfm badges,,,
๐โโ๏ธ
i dont make plugins for badge purposes
proof: many many many plugins without PRs (and I already have badge)
- average ntts viewer
Yop
i agree
this week (+- some day), i started working with ts and js in general. i havent really used them much before
Vencord taught me regex

Vencord is globally beneficial, cool/useful features and teaches you how to be cool
did you find out?
Would it be considered a security risk to add a 'Delete webhook with token' function? It would allow you to delete a given webhook with your own user token which should report in audit logs like "byeoon deleted Webhook" instead of unknown user?
Would it be considered a security risk to add a 'Delete webhook with token' function? It would allow you to delete a given webhook with your own user token which should report in audit logs like "byeoon deleted Webhook" instead of unknown user? (If I recall there's a token function that gets it automatically)
You should be using the regular deletion endpoint (through RestAPI) / method for this. Don't try to do this manually as the user from native space; it will be sending invalid header...
I might have found a potential link to this. Unloads were occuring more frequently due to lack of disk space (< 20GB) and after cleaning up my computer it seemed to have stopped. Is it possible that this is a factor?
I might have found a potential link to this. Unloads were occuring more frequently due to lack of disk space (< 20GB) and after cleaning up my computer it seemed to have stopped. Is it possible that this is a factor?
almost certainly a coincidence with some workaround added to vencord being implemented around the same time?

Unloads were occuring more frequently due to lack of disk space (< 20GB)
I'm... also curious of this, as I'm in a similar situation on my main machine (~20-30gb free atm) where I was experiencing issues, but on my laptop with hundreds of gigs of free space it seemed to work a lot more reliably.
Now, like @Sqaaakoi saiid, it sounds too stupid not to be just a coincidence, but the issue itself seems to be not well enough understood, enough to make me consider even stuff like this.
discord recently added a bunch of command line flags that disable backgrounding
so did vencord
https://github.com/Vendicated/Vencord/commit/a0778f6a2e786889d11f2b627f2ac03f7696c2e5
https://github.com/Vendicated/Vencord/commit/86aabe73eb4987d4fd9a96bc528f891d1998e876
if it was fixed in the past two weeks, that's likely why. i highly doubt free space has anything to do with this
why did they do that
I hate this
I hate coming back from watching video and wait 10 seconds for discord to unfreeze
what?
I experience that lots of times
i know
but the flags fix it not cause it
it's just chromium optimisation where it hibernates to save battery / limit ram usage
the flags disable that behaviour
they added
terrible
I bet commit for that is like
"fix discord using 90gb of ram when being in background"
That is totally fine actually
That space is meant for plugin authors as well but no one does it lol
no need to accuse people of anything
if it's an actually good contribution then it's always welcome
and as long as the change is non minor, adding yourself to authors is alright
if you make a small bug fix or change only a few lines, then adding yourself isn't appropriate
but if you make substantial changes, like adding a new non minor feature or such, then adding yourself to authors is oki
logically, this is correct as well yeah, but i noticed that license information wasnt extended anywhere(i checked some plugin), so i decided to remove it ^^
editing the header to include your own name is allowed, but only very few people do it
but there's also no reason to do that, since you own the copyright to the code you wrote either way and are already included in the "and contributors"
I personally did it in some of my refactors for webpack cuz I wanted more clarification that I worked in that


patchWebpack.ts: Lines 1-15
/*
* Vencord, a Discord client mod
* Copyright (c) 2024 Vendicated, Nuckyz, and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import { Settings } from "@api/Settings";
import { Logger } from "@utils/Logger";
import { interpolateIfDefined } from "@utils/misc";
import { canonicalizeReplacement } from "@utils/patches";
import { PatchReplacement } from "@utils/types";
import { traceFunction } from "../debug/Tracer";
import { patches } from "../plugins";
import { _initWebpack, factoryListeners, ModuleFactory, moduleListeners, waitForSubscriptions, WebpackRequire, wreq } from ".";
i really need to finish plugin guide and clarify this
my ADHD.. I can not stop thinking about Vencord...
real
why the fuck does github analytics exist
there is also top referrer
and it's funny when it's some random ass sites
you cant see for other peoples repos ๐ญ
leak them
i want to laugh for 2 minutes
vencord.app jumpscare
โ ๏ธ vencord.app is a fake malicious site! The only real website is https://vencord.dev! If you have downloaded anything from vencord.app, remove everything you have downloaded immediately, run a malware scan and change your Discord password.
sorry :3
why does this gimmick account exist ๐ญ
because I made it
โ ๏ธ You are a fake malicious site! The only real website is https://vencord.dev/! If you have downloaded anything from yourself, remove everything you have downloaded immediately, run a malware scan and change your Discord password.
who even are you
:3
is it you
perchance
perchance
perchance
wowza!
I love this image
LMAO why did this get 20 stars ๐ญ
people love starring random shit
horror
@austere talon bumping cuz idk if it's a bug, I dont see issues but in other places it's how I said
oh hi
lmao kinda cursed
idk how it doesnt cause issues
also I'm super curious on how natives work
I tried to understand the plugin but it's complicated
do you mean the native.ts
well the basic gist is that it globs all plugins/*/native.ts files and builds one big module with them
its very similar to how glob-plugins works
it just creates a module like
import natives1 from "./plugins/fooBar/native.ts"
import natives2 from "./plugins/meowMeow.desktop/native.ts"
export default {
FooBar: natives1,
MeowMeow: natives2
}
then src/main/ipcPlugins imports that map and uses a loop over the exports to auto generate ipc bindings for each plugin, like
ipcMain.handle(`VencordPluginNative_FooBar_methodName`, method);
at the same time it creates an object like
const PluginIpcMappings = {
FooBar: {
"methodName": "VencordPluginNative_FooBar_methodName"
}
}
then the preload script fetches PluginIpcMappings from the main process, and converts it into bindings, like: ```js
VencordNative.pluginNatives = {
FooBar: {
methodName: (...args) => ipcRenderer.invoke("VencordPluginNative_FooBar_methodName", ...args);
}
}
I changed and it still works sooo
ohh I see
it's all done in that one plugin?
the plugin just auto generates this code
esbuild is a bit confusing but it's super powerful
a1e72e7 cya webpackChunkdiscord_app part 2 - Nuckyz
3a25da5 Fix wrong external files and clean up build scr... - Nuckyz
a838d58 Merge branch 'dev' into immediate-finds - Nuckyz
79849fd Merge branch 'dev' into modules-proxy-patches - Nuckyz
8d362fc Merge branch 'immediate-finds' into immediate-f... - Nuckyz
// import-natives:~pluginNatives
var pluginNatives_default = {
"ConsoleShortcuts": native_exports,
"FixSpotifyEmbeds": native_exports2,
"FixYoutubeEmbeds": native_exports3,
"OpenInApp": native_exports4,
"VoiceMessages": native_exports5,
"WatchTogetherAdblock": native_exports6,
"XsOverlay": native_exports7
};
// src/main/ipcPlugins.ts
var PluginIpcMappings = {};
for (const [plugin, methods] of Object.entries(pluginNatives_default)) {
const entries = Object.entries(methods);
if (!entries.length)
continue;
const mappings = PluginIpcMappings[plugin] = {};
for (const [methodName, method] of entries) {
const key = `VencordPluginNative_${plugin}_${methodName}`;
import_electron9.ipcMain.handle(key, method);
mappings[methodName] = key;
}
}
import_electron9.ipcMain.on("VencordGetPluginIpcMethodMap" /* GET_PLUGIN_IPC_METHOD_MAP */, (e) => {
e.returnValue = PluginIpcMappings;
});
// src/VencordNative.ts
var PluginHelpers = {};
var pluginIpcMap = sendSync("VencordGetPluginIpcMethodMap" /* GET_PLUGIN_IPC_METHOD_MAP */);
for (const [plugin, methods] of Object.entries(pluginIpcMap)) {
const map = PluginHelpers[plugin] = {};
for (const [methodName, method] of Object.entries(methods)) {
map[methodName] = (...args) => invoke(method, ...args);
}
}
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
yeah that's true
jumpscare
jumpscare
why not always also compile reporter as dev ?
I have a question. There's a command called /vencord-debug that's only available in the support channel. I've made a plugin that expands this list, making the new commands usable everywhere (except for vencord-debug). I'm wondering if it's worth creating a separate plugin for this, or if you should just implement these commands where the /vencord-debug command is, if needed ofc
what would one need these commands for
oki
like this is faster than typing the command
Maybe the sharesettings could be a bit useful(if u wanna share ur settings to som1 else), and the exportsettings command directly inserts the file into the current chat. This way, if you want to share it with someone, you can do it immediately. You don't need to go into settings, export the file somewhere, and then upload it.
we do not want to encourage sharing settings
settings should never be shared with other people
ah i see
okay
what happened?
i squashed ur commits 
oh
cause theyre irrelevant to users
thanks
and all change reporter / build scripts
yep
anyway it looks good
meh it's okay like this
i feel like this would be nicer?
yeah
05a4044 refactor: improve build scripts & automatic tes... - Nuckyz
2b565fe Make vencord-debug usable everywhere if user is... - Nuckyz
46710bf Merge branch 'dev' into immediate-finds - Nuckyz
111a4f2 Merge branch 'dev' into modules-proxy-patches - Nuckyz
0c4e265 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
the horror
just so you know in the future for immediate finds I really recommend to follow this at first 
what's that lmao?
what u guys think, should i add a bot system message confirming successful unpinning? When you pin a message, you see a default message by discord, but theres no notification for unpinning so can be confusing, idk
On 29 March 2024, software developer Andres Freund reported that he had found a maliciously introduced backdoor in the Linux utility xz within the liblzma library in versions 5.6.0 and 5.6.1 released by an account using the name "Jia Tan" in February 2024.
While xz is commonly present in most Linux distributions, at the time of discovery the bac...
the recent backdoor that affected a bunch of linux distros
its killing me
discord-screenaudio has the same thing but they fixed it by putting global hotkeys for it
It's the only problem i'm facing with vesktop
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
no fucking idea
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
but its back to normal again
that cant be my fault
i changed nothing related to the chunk loading
hmmm
well if this happens again then yeah maybe something is broken
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
oh-
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
what
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
kind of blackmagic
if I manually run on dev it fails
if I re-run the one with false positive it doesnt fail
???
they are running on the same branch what do you mean
OH
@austere talon Scheduled runs the workflow file of the main branch, which is building a normal web build instead of the reporter version
but the generateReport of the dev branch needs a reporter build, not a normal
so it's running the reporter with no plugins enabled
lmaooo
most useful workflow
Let's just say someone typed this out:
Ur short
Ur short
Ur short
Ur short
It would be replaced with:
Ur short x4
Thats it ill add a readme.md later!

I did not mean to do this bruh ๐ญ

whats horror? its okay:
- direct dom man
- weirdo content filtering logic
- getModule, pardon?
- u should use type anno
Don't specify the class names like that, the latter parts change with every discord update. Even if they didn't and you use optimised selectors, there are still more efficient ways to do it other than dom manipulation. Patch the message component maybe? (There might be better ways, i'm not sure)
I love how both of those messages sent at the exact same time
if I understand this correctly, in the past the code used to have \\n?
did you use AI to write this? it smells a lot like it
multiple things you use don't even exist
this plugin also just doesn't seem very useful. Just block spammers?
display names have been gone for ages
this is either not a real class or very outdated. also never hardcode classes
discord limits line length of chunks and inserts newlines to keep it below that length
idk why the hell but they do
idk if they still do
they used to back when that code was written
im pretty sure this is ai
also clearly untested cause it wouldn't even compile
๐
aight ill fix it
I wouldn't be suprised
aight jst wait
and more
there's no point fixing it
return ("undefined" == typeof __SENTRY_DEBUG__ || __SENTRY_DEBUG__) && !n && console.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':
Sentry.addTracingExtensions();
Sentry.init({...});
`),
the reason I'm looking into this is because if we just remove the newline the log will be wrong
i just dont understand like
runny regex
enter a prompt to ai
generate a plugin based some template, and then just commit it
why won't it?
I see
I'm gonna run the reporter on this change and see if anything errors
why are you asking this here
it makes no sense
don't do that
either leave unchanged or remove the replace entirely
why does it not make sense on strings like this
because there's no reason to replace that
but why
makes no sense to do that
the reason for that code is because discord has / used to have random newlines in the bundle
because it's actual newlines
the issue of new lines is because of the regex right
like in random parts of the code and the location of newlines would change
it needs a flag to walk new lines
so some patches might break cause of newlines
yeah I think those dont exist anymore
only the ones in strings
which can still cause an issue
but removing them completely is also wrong
how would they
noone is ever gonna match random strings
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
FriendsSince (had no effect):
ID: 123579
Match: /\i.default,\{userId:(\i)}\)/
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
ShowConnections (found no module):
ID: -
Match: "Profile Panel: user cannot be undefined"
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
okay good that's not my fault
anyways they don't do this anymore
it's always related to interpolation now
so technically replacing with \\n works
but also we can probably just remove this
it's like 10 modules at max that have this
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
7ccd073 Fix ShowConnections & FriendsSince patches - Nuckyz
e2f9365 Merge branch 'dev' into immediate-finds - Nuckyz
022a049 Merge branch 'dev' into modules-proxy-patches - Nuckyz
47eec04 Not needed anymore and breaks interpolated stri... - Nuckyz
5197170 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
[Vencord] Branch immediate-finds-modules-proxy was force-pushed to `b323fbb`
I knew it haha
7ccd073 Fix ShowConnections & FriendsSince patches - Nuckyz
e2f9365 Merge branch 'dev' into immediate-finds - Nuckyz
022a049 Merge branch 'dev' into modules-proxy-patches - Nuckyz
47eec04 Not needed anymore and breaks interpolated stri... - Nuckyz
5197170 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
yeah it's almost never used
just disable codeberg in general 
nop
I can't install this could someone tell me how real quick?
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
good optimization
I fucking hate matrix and I'm addicted to discord and I also have to discuss government secrets - thank you for the plugin!
I fucking hate matrix and I'm addicted to discord and I also have to discuss government secrets - thank you for the plugin!

new file: src/userplugins/autoSender/index.ts
It's a simple plugin that automates message sending. Provide the channel id, desired delay and the message in plugin's settings and enable it
there is a reason src/userplugins is in gitignore so ppl don't accidently upload their userplugins. and automate? isn't that the main definition of a botting (aka selfbotting)
there is a reason src/userplugins is in gitignore so ppl don't accidently upload their userplugins. and automate? isn't that the main definition of a botting (aka selfbotting)
That makes sense but I don't know if this is a problem when as stated in README.md in disclaimer section that even vencord is against tos of discord
For the sake of it I reviewed but don't expect this to be merged, that will likely get you terminated.
That's just a glorified selfbot
Put yourself in the constants.ts file
Since I forgot some other comments here they are, take that as general advice if you ever want to make other plugins
May want to name it "AutoSender", to match casing of other vencord plugins
The fluxDispatcher import is useless, remove it
That makes sense but I don't know if this is a problem when as stated in README.md in disclaimer section that even vencord is against tos of discord
Discord doesnt care about mods, but selfbots are bannable
That makes sense but I don't know if this is a problem when as stated in README.md in disclaimer section that even vencord is against tos of discord
Discord doesnt care about mods, but selfbots are bannable
In that case I think I'm closing this
I used React where I could, and you can use both a YouTube URL and a WebP link. I added 80% more theme compatibility, and it is now a really quick way to set an animatedย background.
I don't wanna make another if check
it's not pretty but it does exactly what I want
(and a function is more expensive too likely)
if you keep profile popout open, it will have same value forever
if you are a person like ven who opens someones profile and stares at banner for 15 minutes it will display wrong content
(I actually have no proof thats the case but I assume he does)
i mean why use indexOf over includes()
always use semantic functions
dont do weird microoptimisations
it's not getting you termed lol
I mean it kinda makes sense in webpack patching
it does a lot of work
and it's an easy optimization
optimization is optimization
did you benchmark it
I did not, but it's obviously at least a little faster because of the comment I explained above
undo it then
what if you wrote webpack stuff in wasm
aight
microoptimisations are just bad and if there even is any difference its negligible
the main bottleneck is that the strings are sometimes very long
not calling the function itself
I will attempt to benchmark and if it's not good then I will undo
no
dont even benchmark
undo it
https://github.com/nodejs/node/issues/26568#issuecomment-471316543
https://github.com/nodejs/node/issues/26568#issuecomment-471317528
https://github.com/nodejs/node/issues/26568#issuecomment-471318390
"indexOf is faster than includes" way maybe true many years ago
but the difference, if any at all, is negligible and microoptimisations are bad. always write code to clearly express intent and be readable
the ops/sec are in the millions for both, its irrelevant
it's the same as using [class^="banana_"] vs .banana_fh98al
if you need the index use indexOf, if you need a boolean use includes
anyone who tells you otherwise is a fool
I am a fool
A small plugin that adds a button to attachments, allowing users to scan files via Hybrid Analysis.
shouldnt this be marked as a desktop only plugin since it uses native
thank you for your pr!
this is not very useful, especially considering users have to manually enter an api key. if you're downloading exes off discord, you're doing it wrong anyway so there's really no reason one should need this
as such i'll be rejecting this, sorry
as long as it doesn't spam api ig it's fine but still doesn't discord have a proper component for live updating timestamp
yes, it's used by ShowTimeoutDuration plugin
Can you make the symbol (e.g. the plant) a cutout instead of white? Itโd probably look better and more polished
actually im stupid that's for countdown
but yeah timestamp too, you can just Parser.parse(":t:")
If virustotal has api this could've be useful
It has but also reqs api key
So bad

I mean ofc you can reverse the website and use it
but would that be really okay
CheckLinks.kt: Lines 66-111
private fun makeReq(url: String, method: String, contentType: String): Http.Request {
val chars = ('A'..'Z') + ('a'..'z') + ('0'..'9')
val s = CharArray(10) { chars.random() }.joinToString("")
return Http.Request(url, method).apply {
setHeader("Content-Type", contentType)
setHeader("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:83.0) Firefox")
setHeader("X-Tool", "vt-ui-main")
setHeader("X-VT-Anti-Abuse-Header", s) // Can be anything for some reason
setHeader("Accept-Ianguage", "en-US,en;q=0.9,es;q=0.8") // yes upper case i lol
}
}
private fun checkLink(url: String): Map<String, Entry> {
// Look up url in cache first
QueryBuilder("https://www.virustotal.com/ui/search").run {
append("limit", "20")
append("relationships[comment]", "author,item")
append("query", url)
makeReq(this.toString(), "GET", "application/json")
.execute()
.json(CachedUrlInfo::class.java)
.let { res ->
if (res.data.isNotEmpty()) return@checkLink res.data[0].attributes.last_analysis_results
}
}
// no cached data, make full request for url
// R.h.ster url to get an ID
val idInfo =
makeReq("https://www.virustotal.com/ui/urls", "POST", "application/x-www-form-urlencoded")
.executeWithUrlEncodedForm(mapOf("url" to url))
.json(UrlIdInfo::class.java)
// Request analysis with that ID
return makeReq(
"https://www.virustotal.com/ui/analyses/" + idInfo.data.id,
"GET",
"application/json"
)
.execute()
.json(NewUrlInfo::class.java)
.data.attributes.results
}
yes but idk about using internal api in vencord
?
its not supposed to be used normally
and vencord is somehow a big client mod
we also use google translate internal api
how do u think translate works without api token
doesnt vt captcha you
idk how recaptcha works, could we put the vt recaptcha token into discord's recaptcha runner?
F in the chat for Bypass DND (lost in the pile by now)
Did Vee ever implement that add to list api they were talking about?
No
We will continue adding strings of IDs separated by commas to plugin settings for the forseeable future
because someone (for example you) could send extremely suscpicious exe to me
now I could download and then send to virustotal
but I could accidently open the exe before it
and you would steal all my cookies
we dont want that to happen
doesn't discord already run files through a virus scan before letting you send them
Hm, it looks like that file might've been a virus. Instead of cooking up trouble, try cooking up a Veggie Tofu Stir Fry: https://minimalistbaker.com/tofu-that-tastes-good-stir-fry/
that scan is not really good though
it was identifying winrar setup as malware before
its just virustotal
DONT DOWNLOAD EXES ON DISCORD
so simple
which one does it trust tho
what if one of my friends made a game and wanted me to test it
there are lots of usacases
usecases*
do you trust your friend?
Yes ~ Why run it through virustotal
Unsure ~ Dont run it
No ~ Dont run it
๐ฆฆ
I am in middle
dont run it
yes
bad
zt would send virus that replaces every file on your system with minky pictures
zt only uses linux he cant code windows virus
and finds all .java files on ur pc and uses AI to rewrite them in kotlin and rename file to .kt
okay deleted it
WHY TELL ME TO DIE
i was just describing what zt would do
thats like telling me to die for telling u that turkey will explode in 2035
@austere talon I rewrote manti code in kotlin
bad imagination
you could think about better stuff
it will happen but its not my fault
I should pr
nopp
mango when will I die
soon
probably because of shared codebase
nop
this to me looks like for no reason randomly it wants to make all invite links discord.com/invite/ for no reason
on android
but it doesnt
they are insane
idk you try make sense of it
module 366980
isAndroid also looks at DiscordNative.process.platform
is native module shared too
I think that module is used in invites page (actually vanity component)
I think it just appends "/invite" to url if its android
if its not it just returns normally
this is "mobile" web
yes it is
I thought that too
i found while stealing for other stuff to recreate shit
i finally bombed friend invites uses argument
alright
that's probably right
yeah to be fair I normally prefer readable code it was just this single case
I will change it
I did search about the performance of indexOf vs includes
thats where I found out about the regexp check
when do you think this will be done
Sorry to bump this, but could someone review this? It's been kind of stuck in this state of limbo for a few months now
@topaz thistle whats ur access token for
To download previous workflow artifacts
approved
Does not work without a token for some reason
just wanted to doublecheck what it was
no clue
I already used it in the workflow haha
Weird xd
maybe cuz venmic is a public repository
you added it specifically to the venmic repo but did you add any other scopes to it

odd
it shouldnt have worked then
the only explanation i could have for it working is it being allowed to access all public repository assets
and thats why it still worked
Maybe it wasn't needed but GitHub a download action requires a value to be set regardless?
shrug
Discord Account
jarvis09
What happens when the bug or crash occurs?
This bug occurs when a Discord Bot appends an image to a preexisting message.
Here is an example of code that would cause this type of issue:
// D#+
DiscordMessage msg = await ctx.RespondAsync("Loading...");
// logic
using (FileStream file = new(screenshotFilePath, FileMode.Open))
{
DiscordMessageBuilder messageFile = new();
messageFile.AddFile(file);
await msg.ModifyAsync(messageF...
if it's not needed then we should revoke it again
is it just for downloading artifact?
Hello, I am one of the developers of the bot shown.
The MessageLogger plugin doesn't take into account added files after a message is sent; it only reflects the content changed.
I'm not well-versed in JS/TS, but I think this snippet of code is to blame:
// plugins/messageLogger/index.tsx
// L105 - L120
renderEdit(edit: { timestamp: any, content: string; }) {
return (
...
It's for downloading old artifacts (which are public anyways) but the download actions requires the token (it's the official GitHub download action so I guess they know what they're doing)
ohhh
okay
you need to be logged in to download artifacts
but it doesn't require any special permissions
any logged in user can download
so it just needs any token that's valid, that's it
probably cause they don't want u to use artifacts as cdn
Oh true
Can you make the symbol (e.g. the plant) a cutout instead of white? Itโd probably look better and more polished
that's not a bad idea, i'll test it out and let you know
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
ShowHiddenChannels (errored):
ID: 540126
Match: /if\(!\i\.\i\.can\(\i\.\i\.VIEW_CHANNEL.+?{if\(this\.id===\i\).+?threadIds:\i}}/
Error: Unexpected identifier 'eo'
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
it stopped unloading a couple days ago and now its back to it since a new update?
pnpm buildReporterDesktop and open your client to see everything enabled and Discord loading all chunks :)
does it pollute ur settings
it does not
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
only the datastore (would be a pain to disable)
and also makes party mode run and enables that but
Bad Patches
ShowHiddenChannels (errored):
ID: 540126
Match: /if\(!\i\.\i\.can\(\i\.\i\.VIEW_CHANNEL.+?{if\(this\.id===\i\).+?threadIds:\i}}/
Error: Unexpected identifier 'eo'
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
ยฏ_(ใ)_/ยฏ
oh you thought of this
i skimmed the code and found u just use a plain object
yeah I just use an empty object for settings and also disable the listener that updates them
eh? shouldn't be that hard
idk the datastore has a billion methods
index.ts: Line 52
defaultGetStoreFunc = createStore("VencordData", "VencordStore");
make a new store?
just
okay that's smart
if reporter rename to like VencordDataReporter
it also loads wasm stuff in the desktop
why disable updater?
i mean it probably doesn't matter
but better to also check it
to make sure we didn't cause a bug in the updater
sure
just make sure build is not standalone so it uses git instead of http updater
it's not standalone
nuckyz two steps ahead of me

u think the same way as me
๐ญ
I dont understand
nvm I do understand
I completely forgot we use .error to avoid that
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
ShowHiddenChannels (errored):
ID: 540126
Match: /if\(!\i\.\i\.can\(\i\.\i\.VIEW_CHANNEL.+?{if\(this\.id===\i\).+?threadIds:\i}}/
Error: Unexpected identifier 'eo'
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
yeye I will fix

i can also fix dw
but if you're alr cooking anyway
i wonder if there's some way to automate running reporter inside electron in github workflow
how so?
Being based on Chromium, Electron requires a display driver to function. If Chromium can't find a display driver, Electron will fail to launch - and therefore not executing any of your tests, regardless of how you are running them. Testing Electron-based apps on Travis, CircleCI, Jenkins or similar Systems requires therefore a little bit of conf...
now I got conflicts to fix
01fdeb7 cya webpackChunkdiscord_app part 2 - Nuckyz
dd13b96 Revert "cya webpackChunkdiscord_app part 2" - Nuckyz
would be optimal to also test web since some build scripts were changed
nice

im always so lazy to test web
minor inconvenience
have to install extension and shit
omg nooo
yeah thats not allowed xd
the best you can do is
export let _initReporter = () => {}
export const _setInitReporter = (v: typeof _initReporter) => _initReporter = v;
wdym proper type
you are gonna be able to import _initReporter from "@webpack
since I remove beforeInitListeners I need a way to start chunk loading
so I added a patch for that
but I need to make the function accessible somewhere
[Vencord] Branch immediate-finds-modules-proxy was force-pushed to `eb38176`
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
get trolled 
smh
average Nuckyz commit
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
9b9a532 webpack: make window exports non enumerable - Vendicated
537fc5e feat(API): updateMessage API for forcing re-ren... - Nuckyz
05a4044 refactor: improve build scripts & automatic tes... - Nuckyz
2b565fe Make vencord-debug usable everywhere if user is... - Nuckyz
7ccd073 Fix ShowConnections & FriendsSince patches - Nuckyz
[Vendicated/Vencord] New tag created: v1.8.8
[Vendicated/Vencord] tag deleted: v1.8.8
okay I just aborted it
why did it delete the tag lmaooo ๐ญ
fucking codeberg sync
all day commits for u
oof
idk why that's so funny
๐ซด take this, green tea
you would think my work here is done
It is not, I have to make webpack patching proof if modules ever becomes an array
in fact, the whole reason I made reporter runnable on desktop is because I wanna see all the webpack instances we have on it
and for that I gotta force load everything
found two more which are internal of bundled libs
they both use factories as array and also have an entry point which doesnt use onChunksLoaded, but is instead just called directly
it is the wreq.s = 1
it depends
I made a snippet a while back but it causes like a dozen errors and pretty sure it doesn't even work anymore
is it for discord?
I just want to be able to easily search all files in devtools
ya
oh just this?
it doesnt need to actually run the code?
howwe
const allChunks = [];
// Matches "id" or id:
for (const currentMatch of String(wreq.u).matchAll(/(?:"(\d+?)")|(?:(\d+?):)/g)) {
const id = currentMatch[1] ?? currentMatch[2];
if (id == null) continue;
allChunks.push(id);
}
if (allChunks.length === 0) throw new Error("Failed to get all chunks");
await Promise.all(allChunks.map(async id => {
const isWasm = await fetch(wreq.p + wreq.u(id))
.then(r => r.text())
.then(t => t.includes(".module.wasm") || !t.includes("(this.webpackChunkdiscord_app=this.webpackChunkdiscord_app||[]).push"));
if (!isWasm) {
await wreq.e(id);
}
}));
when i wrote it ages ago it caused errors that's why i added the fetch to check for wasm
but tbh so much changed since then you probably know better than me now
๐ฆฆ
tysm
I'll check it out tmrw
I had something similar iirc but I executed them so they broke shit
4d8c566 Future proof against array modules - Nuckyz
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.
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.
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
fuck discord if they ever have a webpack instance we care about without O
So far for me it seems to no longer silently unload, fingers crossed it stays this way.
blitzing this PR to work on a different version with a different system
[Vendicated/Vencord] New branch created: feat/translation-old
[Vendicated/Vencord] branch deleted: feat/translation
[Vendicated/Vencord] New branch created: feat/translation
This is an updated version of the old translation system, now using JSON files instead of Fluent.
This also includes i18n Ally as a plugin recommendation to make it easier to translate Vencord.
why on earth does this include 42307cc??
thanks git
๐โโ๏ธ
Its hard to get the exact input value from slider so user can now input the exact number of minutes. a very small change so haven't added name in devs

why do you need it to be exact
pretty cool! please make sure this is compatible with the voice message download plugin
some people like perfection 
i don't really think that addition is good
if anything you should change the settings slider component to have a number input too
can't we remove the slider instead?
oh mb
not a bad idea, although maybe we could just have a reset button instead?
something like this but better looking
having it in the title is way easier cause it means we dont have to have special handling for each component :p
and less confusing to the user if its uniform imo
might i suggest
Added a whitelist feature to the ClearURLs plugin. Useful when some links have URL parameters that conflict with the default rules.
A good example is a Google Calendar links
- https://calendar.google.com/calendar/u/0?cid=veryimportantcalendarid.
- In this context, cid is a Calendar ID, and not a tracking parameter. But cid is also a common tracking parameter, so it's included in the default rules.
[Vendicated/Vencord] New comment on pull request #2531: feat(ClearURLs): Add whitelist functionality
I'm open to any criticism! This is my first contribution.
i dont think this includes makes sense
if you were to whitelist x.com, it might affect many other urls
@limber skiff LOL i just ran reporter in my desktop and ITS SO BAD HAHAHA
every plugin enabled ๐ญ
awful
so much bloat

lmaoo I know
wait where are the chat buttons?
is that not working
which
hidden w css prob
cause the stock ones are gone too
WAIT
i have non reporter build
but my plugins are still enabled
oh wait its only partymode
it's just party mode
partymode stays on if the plugin's stop func is never called
disable it in the discord settings
๐
yeah it's kinda dumb
maybe we could include partymode from reporter
KFJFKDMDMS
exclude?
actually it's easy
just add reporterTestable: ReporterTestable.None
to party mode
yes
that's gonna make the start method never run
do you mean where are the InvisibleTyping, InvisibleChat, etc buttons?
actually good question
yep
button:is(
[aria-label="Open sticker picker"],
[aria-label="Open GIF picker"],
[aria-label="Send a gift"]
) {
display: none;
}
i have this but it wouldnt hide them
odd
it doesn't have patches does it
wrong reply
btw if you dont know reporterTestable is a bit field

SilentTyping should have been shown here
idk what happened
do u think it would be possible to extract the logic just for loading all chunks
and put it on console via ConsoleShortcuts in IS_DEV builds
so you can force load all chunks without needing to run reporter
yeah
epic
@austere talon silent typing default is to not have the button lol
oh
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
it's always better to use inline requires for stuff like this as otherwise any top level code that could have side effects (such as const LazyChunkLoaderLogger = new Logger("LazyChunkLoader");) will be bundled anyway
loadLazyChunks: IS_DEV
? require("debug/loadLazyChunks").loadLazyChunks
: () => { throw new Error("loadLazyChunks is dev only."); }
are you sure
loadLazyChunks is not bundled I tested that
and I I'm pretty sure esbuild is smart enough to not include LazyChunkLoaderLogger either
as otherwise any top level code that could have side effects (such as const LazyChunkLoaderLogger = new Logger("LazyChunkLoader");) will be bundled anyway
๐
search for LazyChunkLoader in the bundle :p
one sec I'm fixing conflicts
in this case it hardly matters because it's just the unused logger
but there are potentially more extreme cases
yeah
so its best practice to always lazy import
I tested whether loadLazyChunks was included to see if I needed to do inline or not
but I didnt think of the logger
Can you make the symbol (e.g. the plant) a cutout instead of white? Itโd probably look better and more polished
its eh, i kinda prefer it the other way
oh my god I hate trailing newlines
the shortcut for loading chunks works super nice
What even is this branch and what does it do
I keep seeing it in #core-development but none of it makes sense to me
both of my working branches which contain major refactors, merged together
https://github.com/Vendicated/Vencord/pull/2409
https://github.com/Vendicated/Vencord/pull/2485
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
d8524b0 Add shortcut for lazy loading chunks - Nuckyz
b385be5 Merge branch 'dev' into immediate-finds - Nuckyz
ac6a213 Merge branch 'dev' into modules-proxy-patches - Nuckyz
d329d74 Merge branch 'immediate-finds' into immediate-f... - Nuckyz
85322f9 Merge branch 'modules-proxy-patches' into immed... - Nuckyz


kinda complex logic (to understand) for that but it's okay
uh oh...
it's not loading chunks lmao
oh...
4e14232 Fix patching pre-populated factories - Nuckyz
timezonedb ddos incident #15
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Settings (had no effect):
ID: 394644
Match: /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
works 
manti summoning all of hell itself to write his code




