#๐Ÿ‘พ-core-development

1 messages ยท Page 187 of 1

sterile oak
#

ah, makes sense

austere talon
#

note how i removed it 15th may

#

and then had to add it back 23th may

charred monolithBOT
austere talon
#

๐Ÿ˜Ÿ

limber skiff
#

why is this happening ๐Ÿ˜ญ

sterile oak
limber skiff
#

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

charred monolithBOT
frail skyBOT
#
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

limber skiff
#

everything working

frail skyBOT
#
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

charred monolithBOT
limber skiff
#

okay now I can start working in the reporter

frail skyBOT
#
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

limber skiff
#

okay esbuild is smart

#

if !IS_REPORTER it completely removes the if

charred monolithBOT
frail skyBOT
#
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

charred monolithBOT
rugged spire
#

horror

limber skiff
#

@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

charred monolithBOT
rugged spire
#

im so bad at git

#

i hate committing unfinished shit

charred monolithBOT
frail skyBOT
#
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

rugged spire
#

what is /users/@me/survey?disable_auto_seen=true and why am I rate limited from it for 21 hours

rugged spire
#

does this look about right

rugged spire
#

i hate typescript

charred monolithBOT
rugged flume
#

"yeah understandable and thus logical, will i still get the badge?"

charred monolithBOT
hybrid blaze
#

just read my last comment, and try to handle what the fuck i did catwhaaa

#

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 ๐Ÿคทโ€โ™‚๏ธ

rugged flume
#

Im not talking about you specifically, but there are many plugins that seem to be made just for badge

hybrid blaze
#

well, i assume there are a lot of badge addicts shiggy

fringe basalt
#

mmghfm badges,,,

hybrid blaze
#

๐Ÿ™†โ€โ™‚๏ธ

rugged spire
#

i dont make plugins for badge purposes

#

proof: many many many plugins without PRs (and I already have badge)

verbal pumice
shell shuttle
#

i make plugins because it's cool and i learn typescript

rugged spire
#

Yop

hybrid blaze
#

this week (+- some day), i started working with ts and js in general. i havent really used them much before

rugged spire
#

Vencord taught me regex

hybrid blaze
hybrid blaze
rugged spire
#

nop

#

and i dont care

#

probably some crash reporter shit trolley

charred monolithBOT
#

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...

shell shuttle
#

before extra patches

rugged spire
charred monolithBOT
#

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.

charred monolithBOT
crude hearth
#

I hate this

#

I hate coming back from watching video and wait 10 seconds for discord to unfreeze

austere talon
#

what?

rugged spire
#

insane

crude hearth
austere talon
#

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

crude hearth
#

I was not talking about flags g

#

did they remove flags or smthn

austere talon
#

they added

crude hearth
#

terrible

#

I bet commit for that is like
"fix discord using 90gb of ram when being in background"

charred monolithBOT
austere talon
#

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

charred monolithBOT
charred monolithBOT
limber skiff
#

I personally did it in some of my refactors for webpack cuz I wanted more clarification that I worked in that

hybrid blaze
grave mangoBOT
# limber skiff https://github.com/Vendicated/Vencord/blob/immediate-finds-modules-proxy/src/web...

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 ".";
austere talon
charred monolithBOT
sterile oak
#

my ADHD.. I can not stop thinking about Vencord...

jagged cloak
rugged spire
#

why the fuck does github analytics exist

austere talon
#

and it's funny when it's some random ass sites

rugged spire
#

you cant see for other peoples repos ๐Ÿ˜ญ

rugged spire
#

i want to laugh for 2 minutes

austere talon
#

vencord.app jumpscare

umbral hillBOT
# austere talon 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.

sinful leaf
#

sorry :3

rugged spire
sinful leaf
spice python
# sinful leaf sorry :3

โš ๏ธ 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.

rugged spire
#

who even are you

somber thorn
rugged spire
#

is it you

somber thorn
#

perchance

hushed spindle
#

perchance

sinful leaf
#

perchance

shell shuttle
#

wowza!

somber thorn
#

I love this image

fringe basalt
rancid dragon
#

people love starring random shit

charred monolithBOT
austere talon
#

horror

limber skiff
#

oh hi

austere talon
#

its wrong yes

#

but it doesnt cause issues sooo...

limber skiff
#

lmao kinda cursed

austere talon
#

idk how it doesnt cause issues

limber skiff
#

also I'm super curious on how natives work

#

I tried to understand the plugin but it's complicated

austere talon
#

do you mean the native.ts

limber skiff
#

yeah

#

what's happening here blobcatcozy

austere talon
#

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);
}
}

charred monolithBOT
limber skiff
#

I changed and it still works sooo

limber skiff
#

it's all done in that one plugin?

austere talon
#

no

#

check the links :p

limber skiff
#

oh yeah

#

me dumb

austere talon
limber skiff
#

I get it now

#

super cool

charred monolithBOT
limber skiff
#

esbuild is a bit confusing but it's super powerful

charred monolithBOT
austere talon
#
// 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);
  }
}
frail skyBOT
#
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

limber skiff
#

yep

#

I get it now

#

thanks for explaining blobcatcozy

frail skyBOT
#
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

austere talon
#

its crazy how readable esbuild output is when you dont minify

#

much unlike webpack

limber skiff
#

yeah that's true

austere talon
#

jumpscare

limber skiff
#

jumpscare

austere talon
#

lets see what u cooked

#

just make sure u properly define the variables everywhere

limber skiff
#

I did lots of testing because I renamed some stuff

#

it seems to all be working

austere talon
#

why not always also compile reporter as dev ?

limber skiff
#

no need to

#

it's gonna add like the patch helper tab and that's it

hybrid blaze
# austere talon 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

austere talon
#

what would one need these commands for

hybrid blaze
#

for easy and fast usage

#

idk just askin ofc, if there is no point then no

austere talon
#

i dont think any of these are really useful tbh

#

can just be done via the ui

hybrid blaze
#

oki

austere talon
hybrid blaze
#

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.

austere talon
#

settings should never be shared with other people

hybrid blaze
#

ah i see

charred monolithBOT
austere talon
#

wait

#

dont push to dev

limber skiff
#

okay

charred monolithBOT
limber skiff
#

what happened?

austere talon
#

i squashed ur commits bleh

limber skiff
#

oh

austere talon
#

cause theyre irrelevant to users

limber skiff
#

thanks

austere talon
#

and all change reporter / build scripts

limber skiff
#

yep

charred monolithBOT
austere talon
#

anyway it looks good

limber skiff
#

I really hate how many IS_XXXX we have

#

but it's needed

austere talon
#

yeah xd

#

we could merge them into an object

limber skiff
#

meh it's okay like this

austere talon
#

like

if (BuildInfo.DEBUG)
#

maybe that would be nicer

charred monolithBOT
limber skiff
#

btw feel free to review immediate finds or module proxy patches

#

they are ready blobcatcozy

austere talon
limber skiff
#

yeah

charred monolithBOT
austere talon
#

the horror

#

๐Ÿ˜ญ

limber skiff
#

lmao

#

merge commits are so lovely

jagged cloak
#

the horror

limber skiff
#

just so you know in the future for immediate finds I really recommend to follow this at first blobcatcozy

austere talon
#

nuckyz trying to pull an xz-utils

limber skiff
#

what's that lmao?

charred monolithBOT
austere talon
#

the recent backdoor that affected a bunch of linux distros

limber skiff
#

oh lmao

#

opening up access for the machine of every vencord user :)

charred monolithBOT
delicate sluice
#

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

frail skyBOT
#
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

limber skiff
#

AYO

#

@austere talon

#

no fucking way they reverted settings again?

austere talon
#

wdym

#

did they actually

frail skyBOT
#
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

limber skiff
#

no fucking idea

frail skyBOT
#
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

limber skiff
#

but its back to normal again

austere talon
#

wtf did u cook

#

somehow false positive

limber skiff
#

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

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

oh-

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

it is my fault

#

horror how does one branch work and not the other

frail skyBOT
#
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

limber skiff
#

what

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

hybrid blaze
#

kind of blackmagic

limber skiff
#

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

austere talon
#

lmaooo

median rapids
#

most useful workflow

charred monolithBOT
timid reef
still wasp
timid reef
#

i ws scared for a second

#

fr

still wasp
charred monolithBOT
still wasp
#

I love how both of those messages sent at the exact same time

limber skiff
limber skiff
#

if I understand this correctly, in the past the code used to have \\n?

charred monolithBOT
austere talon
austere talon
#

idk why the hell but they do

#

idk if they still do

#

they used to back when that code was written

austere talon
#

also clearly untested cause it wouldn't even compile

#

๐Ÿ˜Ÿ

limber skiff
#

I'm debuging that and I found modules like this

#

a = `[actual newline]
(

timid reef
#

aight ill fix it

still wasp
timid reef
limber skiff
#

and more

austere talon
#

there's no point fixing it

limber skiff
#
            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

hybrid blaze
austere talon
hybrid blaze
#

enter a prompt to ai

#

generate a plugin based some template, and then just commit it

limber skiff
#

so I'm seeing if we can do this instead

#

replace actual newline with \\n

austere talon
#

nooo

#

that won't work lol

#

check if they still have newlines

limber skiff
austere talon
#

cause if they have newlines outside of strings

#

it will explode

limber skiff
#

I see

#

I'm gonna run the reporter on this change and see if anything errors

#

why are you asking this here

austere talon
#

don't do that

#

either leave unchanged or remove the replace entirely

limber skiff
austere talon
#

because there's no reason to replace that

limber skiff
#

before and after

austere talon
#

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

limber skiff
#

because it's actual newlines

#

the issue of new lines is because of the regex right

austere talon
limber skiff
#

it needs a flag to walk new lines

austere talon
#

so some patches might break cause of newlines

limber skiff
#

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

austere talon
#

noone is ever gonna match random strings

limber skiff
#

.+? wont walk a new line if you don't have the flag

#

hmm

frail skyBOT
#
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

limber skiff
#

okay good that's not my fault

limber skiff
#

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

charred monolithBOT
frail skyBOT
#
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

charred monolithBOT
limber skiff
#

I knew it haha

charred monolithBOT
frail skyBOT
#
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

austere talon
#

maybe i will disable the codeberg -> gh mirror

#

that will fix the force pushing

limber skiff
#

yeah it's almost never used

median rapids
#

just disable codeberg in general blobcatcozy

austere talon
#

nop

charred monolithBOT
charred monolithBOT
frail skyBOT
#
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

limber skiff
#

good optimization

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
somber thorn
#

me when userplugins and selfbot

#

at the same time

charred monolithBOT
charred monolithBOT
austere talon
#

use semantic functions

austere talon
#

force rusher to rewrite that pr

#

to not be manticode

limber skiff
#

it's not pretty but it does exactly what I want

#

(and a function is more expensive too likely)

crude hearth
#

(I actually have no proof thats the case but I assume he does)

austere talon
#

always use semantic functions

limber skiff
#

oh

#

it's faster

austere talon
#

dont do weird microoptimisations

median rapids
limber skiff
#

I mean it kinda makes sense in webpack patching

#

it does a lot of work

#

and it's an easy optimization

crude hearth
austere talon
#

did you benchmark it

limber skiff
#

I did not, but it's obviously at least a little faster because of the comment I explained above

austere talon
#

undo it then

crude hearth
#

what if you wrote webpack stuff in wasm

limber skiff
#

aight

austere talon
#

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

limber skiff
#

I will attempt to benchmark and if it's not good then I will undo

austere talon
#

no

#

dont even benchmark

#

undo it

#

"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

crude hearth
#

I am a fool

charred monolithBOT
crude hearth
#

It has but also reqs api key

#

So bad

austere talon
crude hearth
crude hearth
#

but would that be really okay

grave mangoBOT
# austere talon https://github.com/Vendicated/AliucordPlugins/blob/main/CheckLinks/src/main/java...

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
}
crude hearth
#

yes but idk about using internal api in vencord

austere talon
#

?

crude hearth
#

and vencord is somehow a big client mod

austere talon
#

we also use google translate internal api

#

how do u think translate works without api token

nimble plaza
#

doesnt vt captcha you

crude hearth
#

it uses recaptcha yes

nimble plaza
#

idk how recaptcha works, could we put the vt recaptcha token into discord's recaptcha runner?

austere talon
#

its still just not useful

#

why do u need to check files for malware in discord

jagged reef
#

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?

rugged spire
#

We will continue adding strings of IDs separated by commas to plugin settings for the forseeable future

crude hearth
#

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

night fossil
#

doesn't discord already run files through a virus scan before letting you send them

crude hearth
#

that scan is not really good though

#

it was identifying winrar setup as malware before

austere talon
#

its just virustotal

austere talon
#

so simple

crude hearth
crude hearth
#

there are lots of usacases

#

usecases*

austere talon
#

do you trust your friend?
Yes ~ Why run it through virustotal
Unsure ~ Dont run it
No ~ Dont run it

#

๐Ÿฆฆ

austere talon
#

dont run it

crude hearth
#

think about zt

#

it could be virus

#

but maybe its safe

#

how will I know

austere talon
#

zt will definitely send virus

#

dont run

dapper tiger
#

yes

crude hearth
#

bad

austere talon
#

zt would send virus that replaces every file on your system with minky pictures

dapper tiger
#

yop

#

Windows 10 will be replaced with minky

crude hearth
#

zt only uses linux he cant code windows virus

austere talon
crude hearth
#

okay deleted it

austere talon
#

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

dapper tiger
#

@austere talon I rewrote manti code in kotlin

crude hearth
#

you could think about better stuff

austere talon
dapper tiger
#

I should pr

dapper tiger
#

mango when will I die

crude hearth
#

@austere talon zt will soon rewrite vencord in kotlinjs

#

and cause 40mb js binary

dapper tiger
#

soon

rugged spire
#

what the fuck?

#

lol it does nothing.

#

discord is insane

crude hearth
rugged spire
#

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

crude hearth
#

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

rugged spire
crude hearth
rugged spire
#

i found while stealing for other stuff to recreate shit

crude hearth
#

but does DiscordNative even exist on web

#

it doesnt

rugged spire
#

i finally bombed friend invites uses argument

limber skiff
limber skiff
#

I will change it

#

I did search about the performance of indexOf vs includes

#

thats where I found out about the regexp check

charred monolithBOT
charred monolithBOT
turbid hatch
#

@topaz thistle whats ur access token for

topaz thistle
turbid hatch
#

approved

topaz thistle
#

Does not work without a token for some reason

turbid hatch
#

just wanted to doublecheck what it was

topaz thistle
#

Lot you had to approve it?

#

How was it working before then lmao

turbid hatch
#

no clue

topaz thistle
#

I already used it in the workflow haha

turbid hatch
#

it was in the access token approval list

#

who knows xd

topaz thistle
#

Weird xd

turbid hatch
#

maybe cuz venmic is a public repository

#

you added it specifically to the venmic repo but did you add any other scopes to it

topaz thistle
#

Nope

#

Fine grained to Venmic, and only has workflow asset read access

turbid hatch
#

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

topaz thistle
#

Maybe it wasn't needed but GitHub a download action requires a value to be set regardless?

turbid hatch
#

shrug

charred monolithBOT
#

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...
austere talon
#

if it's not needed then we should revoke it again

#

is it just for downloading artifact?

charred monolithBOT
topaz thistle
austere talon
#

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

austere talon
topaz thistle
#

Oh true

charred monolithBOT
charred monolithBOT
frail skyBOT
#
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

charred monolithBOT
charred monolithBOT
limber skiff
#

pnpm buildReporterDesktop and open your client to see everything enabled and Discord loading all chunks :)

austere talon
#

does it pollute ur settings

limber skiff
#

it does not

frail skyBOT
#
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

limber skiff
#

only the datastore (would be a pain to disable)

limber skiff
frail skyBOT
#
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

limber skiff
#

ยฏ_(ใƒ„)_/ยฏ

austere talon
#

oh you thought of this

limber skiff
#

yeah

#

I wouldnt want my settings polluted either

austere talon
#

i skimmed the code and found u just use a plain object

limber skiff
#

yeah I just use an empty object for settings and also disable the listener that updates them

austere talon
limber skiff
#

idk the datastore has a billion methods

grave mangoBOT
limber skiff
#

make a new store?

austere talon
#

just

limber skiff
#

okay that's smart

austere talon
#

if reporter rename to like VencordDataReporter

charred monolithBOT
limber skiff
#

it also loads wasm stuff in the desktop

austere talon
#

why disable updater?

limber skiff
#

no special reason

#

should I not?

austere talon
#

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

limber skiff
#

sure

austere talon
#

just make sure build is not standalone so it uses git instead of http updater

limber skiff
#

it's not standalone

austere talon
#

u think the same way as me

limber skiff
#

I've been here for so long I learned somewhat I need to do

charred monolithBOT
limber skiff
#

๐Ÿ˜ญ

#

I dont understand

#

nvm I do understand

#

I completely forgot we use .error to avoid that

charred monolithBOT
frail skyBOT
#
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

austere talon
limber skiff
#

yeye I will fix

austere talon
#

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

austere talon
#

can you somehow run electron headless

#

if yes we can do it

limber skiff
#

oh

#

no idea

austere talon
charred monolithBOT
limber skiff
#

now I got conflicts to fix

charred monolithBOT
limber skiff
#

lmao I commited this in the wrong branch

charred monolithBOT
limber skiff
#

oh dont do it vendicated

#

lets go codeberg sync is not working

#

๐Ÿ†

austere talon
#

btw feel free to push to main after checking that everything is okay

charred monolithBOT
austere talon
#

would be optimal to also test web since some build scripts were changed

limber skiff
#

oh dont worry

#

I already did the day I pushed those

austere talon
#

nice

#

im always so lazy to test web

#

minor inconvenience

#

have to install extension and shit

limber skiff
#

I did both extension and tampermonkey script

#

oh I see

charred monolithBOT
limber skiff
#

omg nooo

austere talon
#

yeah thats not allowed xd

limber skiff
austere talon
limber skiff
#

that's gonna make it a proper type

#

and I dont want that

austere talon
#

wdym proper type

limber skiff
#

you are gonna be able to import _initReporter from "@webpack

austere talon
#

that means u alr export it no?

limber skiff
#

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

charred monolithBOT
frail skyBOT
#
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

austere talon
limber skiff
#

smh

charred monolithBOT
glass jasper
frail skyBOT
#
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

charred monolithBOT
#

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
limber skiff
#

leaked

#

NO VENDICATEDDD

#

@austere talon uh....

#

it did publish shrug2

charred monolithBOT
#
[Vendicated/Vencord] New tag created: v1.8.8
limber skiff
#

okay I just aborted it

charred monolithBOT
austere talon
#

why did it delete the tag lmaooo ๐Ÿ˜ญ

hybrid blaze
#

u never rest?

limber skiff
#

fucking codeberg sync

hybrid blaze
#

all day commits for u

limber skiff
hybrid blaze
#

oof

austere talon
hybrid blaze
#

๐Ÿซด take this, green tea

charred monolithBOT
limber skiff
#

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

median rapids
#

@limber skiff hii webpack expert

#

what's the easiest way to force load all chunks

limber skiff
#

it depends

median rapids
#

I made a snippet a while back but it causes like a dozen errors and pretty sure it doesn't even work anymore

limber skiff
#

is it for discord?

median rapids
#

I just want to be able to easily search all files in devtools

median rapids
limber skiff
#

it doesnt need to actually run the code?

median rapids
#

I guess not?

#

maybe for some things

#

but for what I mainly load all chunks for no

limber skiff
#

nah if you just want to search files in devtools

#

it's easy

median rapids
#

howwe

limber skiff
#
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);
    }
}));
austere talon
#

does this not cause issues with wasm chunks

#

or is that only if u require them

limber skiff
#

unsure

#

oh wait yeah

austere talon
#

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

#

๐Ÿฆฆ

limber skiff
#

nah you are right

#

@median rapids I edited for fixed code

median rapids
#

I'll check it out tmrw

#

I had something similar iirc but I executed them so they broke shit

austere talon
#

your friend

#

your old old friend

charred monolithBOT
limber skiff
#

its okay say again

#

I think

charred monolithBOT
frail skyBOT
#
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

limber skiff
#

fuck discord if they ever have a webpack instance we care about without O

charred monolithBOT
charred monolithBOT
#
[Vendicated/Vencord] New branch created: feat/translation-old
#
[Vendicated/Vencord] branch deleted: feat/translation
charred monolithBOT
#
[Vendicated/Vencord] New branch created: feat/translation
turbid hatch
#

thanks git

hybrid blaze
#

๐Ÿ™†โ€โ™‚๏ธ

charred monolithBOT
gloomy atlas
austere talon
#

why do you need it to be exact

gloomy atlas
austere talon
#

i don't really think that addition is good

#

if anything you should change the settings slider component to have a number input too

gloomy atlas
#

can't we remove the slider instead?

austere talon
#

no

#

slider is good

gloomy atlas
#

oh mb

austere talon
#

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

jagged cloak
#

might i suggest

charred monolithBOT
charred monolithBOT
#

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

austere talon
#

@limber skiff LOL i just ran reporter in my desktop and ITS SO BAD HAHAHA

#

every plugin enabled ๐Ÿ˜ญ

#

awful

#

so much bloat

nimble plaza
verbal pumice
#

..wheres the bloat

#

minus party mode as thats not a plugin

#

wait

limber skiff
#

wait where are the chat buttons?

#

is that not working

austere talon
#

which

verbal pumice
#

cause the stock ones are gone too

limber skiff
#

oh

#

true

#

the date picker one is there nvm

austere talon
#

WAIT

#

i have non reporter build

#

but my plugins are still enabled

#

oh wait its only partymode

limber skiff
#

it's just party mode

austere talon
#

partymode stays on if the plugin's stop func is never called

limber skiff
#

disable it in the discord settings

austere talon
#

๐Ÿ˜”

limber skiff
#

yeah it's kinda dumb

verbal pumice
#

because THE PARTY NEVER STOPS

#

๐ŸŽ‰

austere talon
#

maybe we could include partymode from reporter

limber skiff
#

KFJFKDMDMS

limber skiff
#

actually it's easy

#

just add reporterTestable: ReporterTestable.None

#

to party mode

austere talon
#

yes

limber skiff
#

that's gonna make the start method never run

austere talon
#

do you mean where are the InvisibleTyping, InvisibleChat, etc buttons?

#

actually good question

limber skiff
#

yep

austere talon
#
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

limber skiff
#

odd

austere talon
limber skiff
#

wrong reply

#

btw if you dont know reporterTestable is a bit field

austere talon
#

idk what happened

limber skiff
#

put break points and see

#

maybe it's not working somehow

austere talon
#

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

limber skiff
#

yeah

austere talon
#

like i did it just now only to find out where the unfurlEmbeds function is used

limber skiff
#

epic

limber skiff
#

@austere talon silent typing default is to not have the button lol

austere talon
#

oh

charred monolithBOT
frail skyBOT
#
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

charred monolithBOT
#

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."); }
limber skiff
#

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

austere talon
#

as otherwise any top level code that could have side effects (such as const LazyChunkLoaderLogger = new Logger("LazyChunkLoader");) will be bundled anyway

limber skiff
#

๐Ÿ˜”

austere talon
#

search for LazyChunkLoader in the bundle :p

limber skiff
#

one sec I'm fixing conflicts

austere talon
#

in this case it hardly matters because it's just the unused logger

#

but there are potentially more extreme cases

limber skiff
#

yeah

austere talon
#

so its best practice to always lazy import

limber skiff
#

I tested whether loadLazyChunks was included to see if I needed to do inline or not

#

but I didnt think of the logger

charred monolithBOT
limber skiff
#

oh my god I hate trailing newlines

charred monolithBOT
limber skiff
#

the shortcut for loading chunks works super nice

charred monolithBOT
frail skyBOT
#
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

limber skiff
#

lmao why is it twice

#

tf did I do

#

of course I forgot to put a break

charred monolithBOT
limber skiff
#

@austere talon woah sentry webpack got more modules

#

(they are duplicates)

austere talon
charred monolithBOT
limber skiff
#

kinda complex logic (to understand) for that but it's okay

#

uh oh...

#

it's not loading chunks lmao

#

oh...

charred monolithBOT
frail skyBOT
#
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

limber skiff
#

works blobcatcozy

charred monolithBOT