#๐Ÿ‘พ-core-development

1 messages ยท Page 289 of 1

gritty iris
#

hey they dont need to know that

austere talon
gritty iris
#

it works for me randomly Joe_Shrug

austere talon
#

r u enjoying ur highlight function

limber skiff
#

I just moved this locally to shiki

gritty iris
#

only shiki uses it

#

even for us

#

we love shiki

austere talon
#

what even is the point of shiki tbh

limber skiff
fossil inlet
austere talon
#

normal codeblocks are good

gritty iris
fossil inlet
#

shiki so good

austere talon
gritty iris
#

tells me what lang thats why I like it

austere talon
#

whats better in it

fossil inlet
#

you have better syntax highlighting

#

and better coloring

#

and you can make it match your theme

#

hljs kinda sucks compared to textmate

gritty iris
#

I dont use hljs

fossil inlet
#

same

gritty iris
#

just remove hljs

#

simple

fossil inlet
#

eh

austere talon
#

port shiki to the extension @fossil inlet

limber skiff
#

@fossil inlet did you fix the paginator

fossil inlet
#

whoops

limber skiff
#

It's just that left

fossil inlet
#

got distracted

limber skiff
#

what plugin causes this

fossil inlet
#

rdb

limber skiff
#

works for me ๐Ÿค”

austere talon
#

I think in the reviewdb modal

fossil inlet
#

yop

limber skiff
austere talon
#

did you open search or smth before

limber skiff
#

nope

austere talon
#

anything that could load the paginator

#

do a refresh and try that way

fossil inlet
#

why is this even lazy loaded they use it in so many places

limber skiff
#

restarted my discord and still works lol

fossil inlet
#

how

#

are you running reporter?

limber skiff
#

nope

#

is that the chunk it loads

fossil inlet
#

the chunk that has the paginator is 30501

limber skiff
austere talon
#

lmaooo

#

bettersettings preload

limber skiff
#

๐Ÿ˜ญ

austere talon
#

so good

limber skiff
#

does it even still make a difference

fossil inlet
#

pink css glow really fitting the vencord branding

limber skiff
#

settings don't even load slow anymore

austere talon
#

I feel like paginator will be difficult to load without loading an entire page

gritty iris
#

Today has made me realize that discord might just be shitcode sometimes why did half my guild icons just get up and leave ๐Ÿ˜ญ

fossil inlet
#

this one is kinda small

limber skiff
#

that one is fine

#

you can do something like this

fossil inlet
limber skiff
#

read the function description

#
export const requirePaginator = extractAndLoadChunksLazy(['name:"SearchResults"'], new RegExp(`${DefaultExtractAndLoadChunksRegex.source}.{0,50}?name:"SearchResults"`));
fossil inlet
#

ah ok

limber skiff
#

see if it works

#

just import what's needed

#

tho you are going to need to await that one

#

do something like that but for the review db modal

fossil inlet
#

why is nothing working clueless

limber skiff
#

๐Ÿ˜‚

#

ehh

#

move the paginator locally to review db too

fossil inlet
#

already did that

#

alr

#

works

limber skiff
#

nice

fossil inlet
#

can you pull to dev3 and run reporter

limber skiff
#

name it requirePaginator

#

you can also use findComponentByCodeLazy instead

charred monolithBOT
limber skiff
#

vtest dev3

nimble pendantBOT
nimble pendantBOT
# limber skiff vtest dev3
Slow Patches

BetterFolders (took 11.8ms):
ID: 43201
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/


**__VencordToolbox (took 11.1ms):__**
ID: `601117`
Match: ```
/(?<=trailing:.{0,50})\i\.Fragment,(?=\{children:\[)/
Bad Webpack Finds
findComponentByCode("discriminatorClass:", ".isMobileOnline", "getAvatarURL")
nimble pendantBOT
# limber skiff vtest dev3
Slow Patches

BetterFolders (took 12.7ms):
ID: 43201
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/


**__BetterSessions (took 14.9ms):__**
ID: `74612`
Match: ```
/(?<=Icon:(\i).{0,250}className:\i\.\i,children:\[)/
Bad Webpack Finds
findComponentByCode("discriminatorClass:", ".isMobileOnline", "getAvatarURL")
limber skiff
#

are reviews loading for you

fossil inlet
#

@limber skiff you love

fossil inlet
limber skiff
#

I broke it ๐Ÿ˜‚

gritty iris
#

I think

limber skiff
fossil inlet
#

i should test that

limber skiff
fossil inlet
#

wait how

#

i thought i merged dev

limber skiff
#

wait

fossil inlet
limber skiff
#

I forgot to push

charred monolithBOT
limber skiff
#

it was in dev2

charred monolithBOT
limber skiff
#

vtest dev3

nimble pendantBOT
fossil inlet
#

?remind 3d make vtest work on prs

shut vineBOT
#

Alright @fossil inlet, in 3 days: make vtest work on prs

gritty iris
nimble pendantBOT
nimble pendantBOT
fossil inlet
fossil inlet
gritty iris
#

ended up making it clone the branch and running it

fossil inlet
#

๐Ÿ˜ญ

#

insane

#

just use actions checkout with a parameter

gritty iris
#

it wouldnt let me just use their branch

fossil inlet
#

i've done this before

#

just never upstreamed it

gritty iris
#

got any smart pills

gritty iris
charred monolithBOT
gritty iris
#

add an aiapi

fossil inlet
limber skiff
#

vtest dev

nimble pendantBOT
limber skiff
#

one last test

gritty iris
#

I need gemini to end my friendships on discord

grave mangoBOT
# fossil inlet https://github.com/sadan4/Vencord/blob/personal/.github/workflows/reportBrokenPl...

reportBrokenPlugins.yml: Lines 4-29

inputs:
    repo:
        type: choice
        required: true
        description: the repo to run in
        options:
            - Vendicated/Vencord
            - sadan4/vencord
        default: Vendicated/Vencord
    branch:
        type: string
        required: true
        description: the branch to run the reporter on
        default: dev
    discord_branch:
        type: choice
        description: "Discord Branch to test patches on"
        options:
            - both
            - stable
            - canary
        default: both
    webhook_url:
        type: string
        description: "Webhook URL that the report will be posted to. This will be visible for everyone, so DO NOT pass sensitive webhooks like discord webhook. This is meant to be used by Venbot."
        required: false
nimble pendantBOT
# limber skiff vtest dev
Slow Patches

BetterFolders (took 10.9ms):
ID: 43201
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/


**__VencordToolbox (took 20.3ms):__**
ID: `601117`
Match: ```
/(?<=trailing:.{0,50})\i\.Fragment,(?=\{children:\[)/
nimble pendantBOT
# limber skiff vtest dev
Slow Patches

MessageLogger (took 10.9ms):
ID: 186168
Match: ```
/(\i).type===\i.\i.MESSAGE_GROUP_BLOCKED||/


**__BetterFolders (took 12.8ms):__**
ID: `43201`
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/
charred monolithBOT
limber skiff
#

the commit messages are so consistent ๐Ÿ”ฅ

fossil inlet
#

yop

#

should we push tag @austere talon

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

already did

austere talon
#

vext

nimble pendantBOT
austere talon
#

watch them approve in 1hour again

limber skiff
#

It's so cooked if they revert

fossil inlet
#

eh it's on stable now, i doubt they'll revert

austere talon
#

bro removed my funny comment but didnt fix the shitcode

#
genId: () => crypto.randomUUID()
limber skiff
#

smh

austere talon
#

anyway just leave it now trolley

fossil inlet
#

crash with supre reaction tweaks

#

settings:

austere talon
#

, [eC,eR] = a.useState(Vencord.Plugins.plugins["SuperReactionTweaks"].shouldSuperReactByDefault && intention === ef.EmojiIntention.REACTION)

#

how did this happen lol

fossil inlet
#

INSANE MATCH

#

what moron wrote that clueless

austere talon
#

oh god its matching this in nirvana

fossil inlet
#

it used to be this

fossil inlet
austere talon
#

yeah its just matching in nirvana because of merged modules

#

reason why i avoid .+

fossil inlet
#

@limber skiff does this even do anything anymore

austere talon
#

holy shit @limber skiff

#

vext

nimble pendantBOT
fossil inlet
#

LOVE

austere talon
grizzled halo
#

hell yeah

austere talon
#

they are so fast nowadays

#

they really did start using ai

#

can u update ur message in known issues satan

fossil inlet
austere talon
#

nction

limber skiff
#

It was a very good match

fossil inlet
#

@limber skiff guess what

limber skiff
#

๐Ÿ˜‚

austere talon
#

well its not crash loop so it doesnt matter

#

only crash when opening a specific menu

fossil inlet
#

crash when viewing forum channel post

#

discord will navigate you back to it on reload

#

crash again

limber skiff
limber skiff
#

but it causes the duplicate module error from yesterday

austere talon
fossil inlet
austere talon
#

its not OverrideForumDefaults

limber skiff
#

in fact... I like it shouldnt cause it, ill double check at some point

limber skiff
austere talon
#

SHC was a mistake

#

doesnt happen

#

do u mean hidden forum

limber skiff
fossil inlet
#

yeah

#

its shc

austere talon
#

is this supposed to be this big

fossil inlet
#

i can reproduce in the server the original reporter linked me

austere talon
#

this is so out of place lmao

austere talon
#

works fine blobcatcozy

fossil inlet
#

in .gg/gJnyF4Aw

fossil inlet
#

try joining?

austere talon
#

we should add acronym search

fossil inlet
austere talon
#

btw i think the crash loop is because of the remember channel plugin lol

limber skiff
#

the big part isnt supposed to be visible

austere talon
#

figured

limber skiff
#

that plugin IS a mistake

austere talon
#

well we can just bump browser extension again trolley

#

they are so fast now

limber skiff
#

yeah

austere talon
#

just check if search matches all uppercase letters of the plugin name

fossil inlet
#

love

#

how is it even getting h

limber skiff
#

lets add fuzzy search

austere talon
#

so it doesnt navigate back

limber skiff
#

It's a setting

#

disabled by default

fossil inlet
austere talon
limber skiff
#

seemed a bit inconvenient

austere talon
#

if it succeeds then dont

limber skiff
fossil inlet
austere talon
#

and make it always clean the settings of the KeepCurrentChannel plugin

austere talon
#

when you ctrl r discord already doesnt remember

#

discord puts you at home

#

but the keepcurrentchannel plugin will navigate back to the problematic channel

#

CrashHandler needs to just reset the KeepCurrentChannel plugin

limber skiff
#

does it still navigate back even if you transition

#

unsure

fossil inlet
#

a shc patch is mega busted

#

nukes a massive part of code

limber skiff
#

I wonder who we can we blame

fossil inlet
#

let me find out which one it is

austere talon
#
diff --git a/src/plugins/crashHandler/index.ts b/src/plugins/crashHandler/index.ts
index 04786132e..976b29865 100644
--- a/src/plugins/crashHandler/index.ts
+++ b/src/plugins/crashHandler/index.ts
@@ -16,6 +16,7 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
 
+import { DataStore } from "@api/index";
 import { showNotification } from "@api/Notifications";
 import { definePluginSettings } from "@api/Settings";
 import { Devs } from "@utils/constants";
@@ -76,6 +77,8 @@ export default definePlugin({
     ],
 
     handleCrash(_this: any, errorState: any) {
+        DataStore.del("KeepCurrentChannel_previousData");
+
         if (IS_DEV) {
             try {
                 if (errorState?.info && "componentStack" in errorState.info) {
#

done

limber skiff
# fossil inlet

yeah the person that made this plugin needs to be blocked from working on this project

austere talon
fossil inlet
#

โค๏ธ

austere talon
#

it's the root of all evil..

grave mangoBOT
# fossil inlet https://github.com/Vendicated/Vencord/blob/dev/src/plugins/showHiddenChannels/in...

index.tsx: Lines 303-307

{
    // Patch the header to only return allowed users and roles if it's a hidden channel or locked channel (Like when it's used on the HiddenChannelLockScreen)
    match: /return\(0,\i\.jsxs?\)\(\i\.\i,{channelId:(\i)\.id(?=.+?(\(0,\i\.jsxs?\)\("div",{className:\i\.\i,children:\[.{0,100}\i\.length>0.+?\]}\)),)/,
    replace: (m, channel, allowedUsersAndRolesComponent) => `if($self.isHiddenChannel(${channel},true)){return${allowedUsersAndRolesComponent};}${m}`
},
fossil inlet
#

it doesnt nuke a massive part of code

#

but allowedUsersAndRolesComponent is wrong

#

allowedUsersAndRolesComponent matches all the way in narnia

austere talon
#

.+?

#

the root of all evil

#

you shall limit length

fossil inlet
#

well first i'm going to see what it looked like before

limber skiff
#

are u sure its that

fossil inlet
limber skiff
#

that's the code which makes that icon not appear etc

#

and if vee showed it doesnt error

#

๐Ÿคท

fossil inlet
limber skiff
#

oops

#

I moved a channel in accident while cleaning my mouse

fossil inlet
#

@austere talon did you do the super reaction tweaks fix

limber skiff
#

do yk what the patch does?

fossil inlet
#

not really, just going by feel and looking at the old version before this hit

limber skiff
#

it just sets the default state of a boolean to $self.superReactionByDefault or whatever it's called

#

the patch is weird looking because it used to look ahead to find the variable name before matching the state definition

fossil inlet
limber skiff
#

oh

fossil inlet
#

idk why it needs to be limited there

#

it should already be lazy

#

oh wait

#

im dumb

#

it would match earlier in the module

#

the match part should also be narrowed then

limber skiff
#

the issue is probably the start

#

this return\(0,\i\.jsxs?\)\(\i\.\i,{channelId:(\i)\.id

limber skiff
#

if this matches the right thing, then even the non limited would wildcard would still stop at the right time

#

unless they inlined stuff and the "stop" now fails

fossil inlet
limber skiff
#

yeah that makes total sense

fossil inlet
#

it was matching at the first, and grabbing the component from way later in the file

limber skiff
#

oh

#

so it was adding code to the forum post part

fossil inlet
#

something like that

limber skiff
#

code which belonged to the usual header of a channel

#

funny

fossil inlet
#

some css classes aren't finding

limber skiff
#

more lazy loaded things...

austere talon
#

how do these not get caught

#

we really need to fix this in reporter somehow guh

fossil inlet
austere talon
#

maybe it does

#

nah it should

#

i think its just lazyloaded

fossil inlet
#

oh yeah

#

checks out

#

also a bunch of people report not hearing ping sounds

austere talon
#

it does test

#

just lazy loaded stuff

austere talon
fossil inlet
#

love

#

discord cooked

austere talon
#

maybe we should make two step reporter

#

first it only loads natural chunks

#

but for that we need to login i think

#

well it's kind of difficult to solve tbh

fossil inlet
#

eg the classes could be loaded by opening the user profile

austere talon
fossil inlet
#

which you need for the perm viewer popout anyway

austere talon
#

we would have to make reporter open menus etc to test an organic discord load

fossil inlet
#

too much work

austere talon
#

not realistic

limber skiff
#

It would give so many false positives

fossil inlet
#

yeah

limber skiff
#

even things from opening channels are lazy loaded

#

we just have to deal with this once

#

they arent going to change the bundler everyday

austere talon
#

yeah but it could randomly happen in the future

fossil inlet
#

discord moves to vite soon

#

vencord dies

limber skiff
#

realistically we can patch any bundler

fossil inlet
#

how would you do that

limber skiff
#

oh

#

still

#

It's possible to patch script files

fossil inlet
#

vite output โค๏ธ

limber skiff
#

I did that in the past

limber skiff
austere talon
limber skiff
#

remember my patching of the webpack src script @austere talon

austere talon
#

first idea would be intercepting network requests and rewriting modules before theyre even loaded

#

can do that with electron apis or even a service worker

fossil inlet
#

oh yeah

#

forgot about service workers

austere talon
#

but esm makes monkey patching impossible

#

BD would die

limber skiff
#

there's also another trick for patching script files without intercepting http

#

I wont say here tho ๐Ÿ˜‚

fossil inlet
#

have to go do something for a while

#

ill fix the rest of the bugs when i get back if nobody else fixes them first

gritty iris
#

its matching pickerintention now just not sure if thats the right spot lol

limber skiff
#

the issue is probably the openPopoutType:void 0

gritty iris
#

what intent is it supposed to be matching?

limber skiff
#

It's an anchor

gritty iris
limber skiff
#

It's where the match starts, and then it proceeds to lookahead until it finds isBurstReaction: \i

#

the var name is captured into a group, then the engine rollsback to openPopoutType:void 0 where it starts going forward again until that var is defined

gritty iris
#

what is the reaction intention supposed to be?

#

like which intent

#

also that css class is fine for me?

fossil inlet
limber skiff
gritty iris
#

with or without anchor?

limber skiff
#

the current

gritty iris
limber skiff
#

the patch

#

not the code

gritty iris
#

only removed the openPopoutType:void 0

limber skiff
#

I dont remember exactly the reason now but the picker is used in more places with different intentions

gritty iris
#

this bundler is so wonky

austere talon
#

just delete the plugin its useless anyway

gritty iris
#

I agree ngl

austere talon
gritty iris
#

the css find idk anything abt because it works for me

austere talon
#

its just lazy loaded

gritty iris
#

I see

#

this new discord loading ui sucks why does it think every server im in just doesnt exist ๐Ÿ˜ญ

fossil inlet
#

I'd rather see it stay but it wouldn't be a big deal if it got removed

fossil inlet
#

@gritty iris did you ever fix suprereactiontweaks

fossil inlet
#

ty

#

stealing

gritty iris
#

All I did was add a ; lol

#

sooo

#

round 3?

fossil inlet
gritty iris
#

its a timeout issue according to puppeteer

fossil inlet
#

feels like it's hanging

#

yeah it's just hanging

austere talon
#

horror

#

i think it mighjt be github issue

fossil inlet
#

i paused the code and it's stuck in this massive module

austere talon
austere talon
#

how lmao

austere talon
limber skiff
#

HORROR

fossil inlet
fossil inlet
# fossil inlet

@limber skiff how bad of a regex is this for a module with 220k chars

limber skiff
#

I did that regex

#

and it worked fine

fossil inlet
#

it's hanging on my pc

limber skiff
austere talon
fossil inlet
#

maybe discord changed something and the module got bigger

limber skiff
austere talon
limber skiff
#

at most you can put an anchor of something that appears before the one we want

#

but besides that ๐Ÿคท

austere talon
fossil inlet
austere talon
#

it's literal REDOS if there's a random anything.e

limber skiff
austere talon
#

it will try to make it match the regex and because there's nested anything but ) + and then group also +

#

it will try every possible permutation

limber skiff
#

but what changed? it wasn't hanging before

limber skiff
#

It's so complicated but it's needed

fossil inlet
limber skiff
#

It matches any lazy loading chunk code

austere talon
#

it can be fixed

limber skiff
#

how

austere talon
#

can be fixed by limiting length instead of using +?

#

or dont nest +

fossil inlet
limber skiff
austere talon
#

it can

limber skiff
#

the one for the string makes no difference, it will continue the string until it finishes it

#

which wont take long at all

austere talon
#

no

#

wrong

limber skiff
#

how?

austere talon
#

because quotes are optional

#

it will happily match anything but )

limber skiff
#

well you can try fixing it

#

but goodluck

#

it's done that way because it matches any amount of lazy loaded chunks in all the combinations possible over the years

#

it can match Promise.all([n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), and so on])

#

with no limit which is what we want

#

and the capturing group is all of those n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...), n.e(...) together

limber skiff
#

they concatenated more or what?

#

why is it only hanging now

fossil inlet
#

i'm trying an anchor now

austere talon
#

well tbh looking at that regex more it shouldnt hang

austere talon
fossil inlet
#

anchor fixed it

austere talon
#

you will send as text NOW

grave mangoBOT
fossil inlet
limber skiff
#

the lazy chunk loader executes the same regex

#

for all modules

grave mangoBOT
limber skiff
#

well, similar

austere talon
#

so the reason it hangs now is because it uses different regex now

limber skiff
#

wdym?

austere talon
limber skiff
#

It didnt change tho

#

here it works

fossil inlet
#

idk what they did, but it worked fine on stable before (module is still massive)

limber skiff
#

here it doesnt

#

same regex

#

old module is pretty much the same size

#

very weird

austere talon
#

btw am i going insane or did they change syntax highlighting

fossil inlet
#

hop on

#

vp shiki

nimble pendantBOT
austere talon
#

nope

limber skiff
#

on shiki it stays the same ๐Ÿ”ฅ

austere talon
#

this part can match (ANYTHING)

fossil inlet
austere talon
#

it will keep doing this until the last ) in the file

limber skiff
#

let me check

austere talon
#

it has so many permutations

#

exponential amount

#

you can try it with a much simpler example

#
"a".repeat(1000).match(/(a+)+b/)
#

run this

#

it runs for a loooong time

#

reason is because of the nested + in (a+)+, if you remove the outer + it finishes instantly

limber skiff
#

everywhere where .e( appears it's instantly closed after the id

gritty iris
fossil inlet
limber skiff
austere talon
#

actually no hmm

limber skiff
#

everywhere it's like this

#

it starts the wildcard after the " and matches until the next " or ) is found

#

strange..

fossil inlet
#

not just reporter that was affected

#

but idk why it was hanging in reporter

limber skiff
#

can you send the regex

#

parsed

#

so I can put inside of regex101

fossil inlet
#

before or after

limber skiff
#

any

fossil inlet
#

/name:"StageChannelCall",renderLoader:.+?(?:(?:Promise\.all\(\[)?((?:(?:[A-Za-z_$][\w$]*)\.e\("?[^)]+?"?\),?)+?)(?:\]\))?|Promise\.resolve\(\))\.then\((?:[A-Za-z_$][\w$]*)\.bind\((?:[A-Za-z_$][\w$]*),"?([^)]+?)"?\)\).{0,30}?name:"SearchResults"/

austere talon
#

wait

#

is the catastrophic backtracking because of \i

#

it becomes [A-Za-z_$][\w$]*

#

it also shouldnt be ThinkPika

limber skiff
#

bruh why is it not lazy

fossil inlet
#

wouldn't that stop as soon as it hits a non identifier token

austere talon
#

it needs to be greedy

fossil inlet
#

yeah

austere talon
#

if its lazy it wont match the full identifier xD

limber skiff
#

ah

austere talon
#

are u sure its that regex

#

it runs instantly

austere talon
fossil inlet
austere talon
limber skiff
#

wait

#

I found it

#

its stuck in a loop

austere talon
#

where

fossil inlet
limber skiff
#

put it inside of regex101

austere talon
limber skiff
#

choose php

#

and jump to the end

#

use this

fossil inlet
#

send r101 link

limber skiff
#

and this

#

(?:(?:Promise\.all\(\[)?((?:(?:[A-Za-z_$][\w$]*)\.e\("?[^)]+?"?\),?)+?)(?:\]\))?|Promise\.resolve\(\))\.then\((?:[A-Za-z_$][\w$]*)\.bind\((?:[A-Za-z_$][\w$]*),"?([^)]+?)"?\)\).{0,30}?name:"SearchResults"

#

click to debug and jump to the end

fossil inlet
#

i mean the share link ๐Ÿ˜ญ

limber skiff
#

smh just patte it

#

paste

fossil inlet
austere talon
#

yeah this is it

limber skiff
#

what part

austere talon
#

its this probably

limber skiff
#

and it jumps back

#

infinitely

austere talon
#

wait no

#

thats fine

#

io misread

limber skiff
#

wtf

austere talon
#

its the part i thought it was afterall

austere talon
limber skiff
#

I dont understand what is happening

#

I dont understand why the engine is going back lol

gritty iris
austere talon
gritty iris
#

stables been posting fine Joe_Shrug

austere talon
#

bro why are u completely ignoring all the other discussion that took place ๐Ÿ˜ญ

gritty iris
#

I was scrolled up gulp

#

regex noted

limber skiff
#

regex is not behaving how I thought it did

#

It keeps on rolling back and trying the same things multiple times

austere talon
#

lol nookies

#

it really is \i

limber skiff
#

have you looked at it on regex101?

austere talon
#

change \i\.e to .{0,3}\.e

#

it fixes

#

so this is the problem

#

which does make sense

#

it's catastrophic backtracking

fossil inlet
#

still doesnt explain why stable is posting fine but hrug

limber skiff
#

It's because it's not infinite

#

but if there's one that's too big it takes wayy too long

#

and dies

#

new canary added some more lazy chunks

austere talon
limber skiff
#

this is the one that dies

austere talon
#

nested quantifier = exponential complexity

austere talon
limber skiff
#

that's not ideal tho

austere talon
#

we could do

/[A-Za-z_$][\w$]{0,3}/
#

should work too

#

wtf that lags too

limber skiff
#

doesnt seem to work

austere talon
#

wait what

limber skiff
#

take a look at it

#

on the debug

#

increase on the plus and jump to the end

#

I cant make sense of what is happening

austere talon
#

in the debugger you can see exactly what i just said happening

#

for every single character, it matches until end of identifier

austere talon
#

i fixed it by changing [^)]+? to \d+

fossil inlet
#

why sob @austere talon

limber skiff
#

๐Ÿ’€

fossil inlet
limber skiff
#

no but the fix should take that into consideration

austere talon
limber skiff
#

I've seen them being a string

fossil inlet
limber skiff
#

non numeric

fossil inlet
austere talon
#

how

limber skiff
#

years ago tho

#

they had like 3 chunks written with name

austere talon
#

we could lowkey hardcode the name n.e

#

it's been n for years

fossil inlet
#

Not often

#

But often enough that we should not hard code it

austere talon
#

all numeric

limber skiff
#

as of now yes

#

but not in the past as I said

#

either way, how does that fix it

austere talon
#

bro they really did change codeblocks

limber skiff
#

they did

#

the background is this weird blue now

charred monolithBOT
austere talon
#

is the regex freeze a reporter only issue?

charred monolithBOT
fossil inlet
#

how

austere talon
#

how what

austere talon
fossil inlet
#

nop

austere talon
#

btw should fix this too

fossil inlet
#

i fixed that already

#

how is it showing up again

fossil inlet
#

i need to do that

austere talon
#

maybe old build or wrong branch

austere talon
fossil inlet
#

my build should be up to date

austere talon
#

what even loads those classes lmao

fossil inlet
#

idfk

fossil inlet
austere talon
fossil inlet
#

love

limber skiff
#

im confused

#

๐Ÿ˜ญ

austere talon
#

lol what did discord cook

#

duplicate css

fossil inlet
limber skiff
#

omg duplicate css

austere talon
#

looks like all their css is duplicated??? ๐Ÿ˜ญ

#

inspect any random element

#

okay not everything

#

but a lot

fossil inlet
#

most competent discord bundler change

austere talon
#

i pushed to ur pr

fossil inlet
#

love

#

was just about to ask for that

austere talon
#

this is important

#

have a look at DefaultExtractAndLoadChunksRegex

fossil inlet
#

there is a ., we're not repeating the extraction regex

limber skiff
#

I wouldnt be surprised if all this concatenation is a new rspack feature

#

they had a new release 3 days ago

austere talon
# fossil inlet still idgi

ve ```js
const defaultRe = /hey|hi/
console.log("hi".match(new RegExp(anchor - ${defaultRe.source})))
console.log("hi".match(new RegExp(anchor - (?:${defaultRe.source}))))

nimble pendantBOT
fossil inlet
#

oh

#

makes sense

austere talon
#

without the group, your left anchor will only be in the left half of the default regex, while the right anchor will only be in the right half

limber skiff
#

nvm

fossil inlet
limber skiff
#

I was thinking of something else

austere talon
fossil inlet
# austere talon

already inside another non-capturing group so it doesnt matter in this case, but still good practice

austere talon
#

the group is only the left half of the regex

limber skiff
#

that regex is the definition of what everyone says about regex

fossil inlet
#

am i missing something?

austere talon
#

idk

#

anyway you should still always a group if embedding regex into another regex

#

just to be safe

fossil inlet
#

yop

austere talon
#

even chrome devtools are confused

fossil inlet
#

do chrome devtools even do regex

austere talon
#

its showing that these two groups match

fossil inlet
#

oh i think it has dumb brace matching

#

same issue as vim

austere talon
#

better than vscode

#

doesnt have it at all

fossil inlet
#

vscode-neovim โค๏ธ

#

evil setting

#

takes all character out of messages

austere talon
#

actually can we look for a different module that requires the paginator maybe?

#

so we dont have to mess with this gigamodule at all

fossil inlet
#

that one was chosen because it loaded the least ammount of code

#

and was available at the start

charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
austere talon
#

irrelevant patch

fossil inlet
limber skiff
#

help me

#

I'm getting dmed about Cannot read properties of undefined (reading 'call')

limber skiff
jagged cloak
#

seems u need to make a call now

#

then put it down

#

useless piece of shit patch

fossil inlet
stone willow
#

Helloo!

I noticed that the emoji picker in the ReviewDB pluginโ€™s reviews modal was not working as intended

#

I tried to recreate the issue on multiple devices with Vencord / Vesktop, and I can confirm that this is reproducible

#

I have a PR ready that fixes the issue, but I am not sure if it's just me

#

Can anyone try opening a userโ€™s ReviewDB reviews modal, clicking the emoji button in the review text box, then clicking outside the emoji picker?

#

The bug is that the picker stays open until you press esc or select an emoji. If you can reproduce it too, is it okay if I make a PR for it?

stone willow
#

Aw

#

๐Ÿ™

#

that's okay, thank you for your contribution!

fossil inlet
stone willow
#

Cause I am not sure if it's the same issue

fossil inlet
stone willow
#

oops

#

hold on

fossil inlet
stone willow
#

Cause I did encounter SuperReactionTweaks crashing

fossil inlet
#

i can repro that

#

feel free to pr

#

don't think it's related

#

i also found another rdb bug while trying to repro that one

#

@crude hearth mantiware

fossil inlet
#

NOOOOOO

#

IDB BUG IS BACK AGAIN

#

EVIL

#

god forbid electron/chromium has working code

nimble pendantBOT
fossil inlet
#

watch video

stone willow
#

is it ok for me to add my name to the Devs object in constants

#

or it's too small

fossil inlet
#

normally not for something like this

stone willow
#

I see I see

#

Thank you :D

fossil inlet
fossil inlet
#

love

#

ty

austere talon
#

are selects borked

fossil inlet
charred monolithBOT
#

Hii

I noticed that I couldn't exit the emoji picker in the ReviewDB modal by clicking outside of the frame

ReviewDB uses Discord's user profile reply text area inside a modal. Discord's native user profile reply input passes emojiPickerCloseOnModalOuterClick, so this PR mirrors that behavior for ReviewDB's review input.

Repro:

  1. Open a user's ReviewDB reviews modal.
  2. Click the emoji button in the review text box.
  3. Click outside the emoji picker.

Before this change, the p...

stone willow
charred monolithBOT
charred monolithBOT
fossil inlet
#

account panel server profile

odd heath
#

how is it broken inconsistently

fossil inlet
odd heath
#

ohg

charred monolithBOT
twilit vector
#

they're on latest desktop

#

server/channel/user perm popouts dont crash me

#

huh

charred monolithBOT
limber skiff
twilit vector
#

me neither lol

limber skiff
#

Cannot read properties of undefined (reading 'call')

icy quest
#

SHC Hidden Channel Lock Screen

charred monolithBOT
fossil inlet
#

Cannot read properties of undefined (reading 'call')

twilit vector
#

[insert some random error from someone in support that no one can reproduce]

gritty iris
#

Cannot read properties of undefined (reading 'call')

willow garden
#

Cannot read properties of undefined (reading 'call')

limber skiff
#

Cannot read properties of undefined (reading 'call')

charred monolithBOT
#

Adds an improved file viewer to Discord.

Features

  • Removes Discordโ€™s line limit to view large files directly inside Discord
  • Edit mode to modify a file directly from Discord and send it back
  • Advanced customization options
  • Supports multiple languages

Edit Mode

Edit files directly inside Discord and send the modified version instantly.

https://github.com/user-attachments/assets/174d483f-122e-4dec-bbb3-51d02fd2dc07

Customization

The viewer ...

fossil inlet
#

insane

#

slop

charred monolithBOT
#

Thanks for your contribution! However, this plugin doesn't follow our guidelines in multiple ways:

  • No raw DOM manipulation. Use proper patches and React
  • Use modules instead of having one single 2000 lines long file
  • Don't add random localisation

There are also multiple patterns which suggest that this is AI generated. If it is, please do not send AI code.

idle fossil
#

someone should do this but without completely vibecoding it

fossil inlet
#

insane

#

just use copy file contents

#

and then run something like paste | code -

idle fossil
#

i mostly just want the first one lol, constantly downloading minecraft logs from users is annoying

#

copy pasting them into an external program would be equally annoying

fossil inlet
#

vp copyfilecontents

nimble pendantBOT
idle fossil
#

wait it doesn't even work with large text files ๐Ÿ˜ญ

#

what's even the point

fossil inlet
#

?remind 8.2d can it work on large files

shut vineBOT
#

Alright @fossil inlet, in 1 week and 2 days: can it work on large files

idle fossil
#

cozy

idle fossil
#

hold up i might be the best developer ever

#

this genuinely just works it's just one hardcoded request header

fossil inlet
idle fossil
#

o

#

what for?

fossil inlet
#

so you don't match something else on accident

#

(tbh probably wouldn't happen because minifier would minify that to something like 5e10 but good practice anyway)

idle fossil
#

lemme un forget how lookbehinds work

fossil inlet
#

/(?<=bytes=0-)50000/

idle fossil
#

oh right makes sense

#

ty

charred monolithBOT
still maple
grizzled halo
#

people having errors with permission viewer still on latest update

#

here is another person

charred monolithBOT
charred monolithBOT
#

What happens when the bug or crash occurs?

Whenever I try viewing the permissions this pops up

What is the expected behaviour?

I expect viewing the permissions when I open the permissions tab

How do you recreate this bug or crash?

  1. Click on permissions in the server tab

Errors

Replace this text with your crash-log.

Request Agreement

  • [x] I am using Discord Stable or tried on Stable and this bug happens there as well
  • [x] I am a Vencord Developer
twilit vector
#

you'd think a self-proclaimed vencord developer would fix it

idle fossil
#

disaster

charred monolithBOT
charred monolithBOT
#
q6r

hey, took a stab at this. before opening a PR wanted to sanity check the design with you:

{
    type: OptionType.LIST,
    elementType: OptionType.STRING, // or OptionType.NUMBER
    description: "...",
    default: ["foo"],
    placeholder: "bar",
    minLength: 1,
    maxLength: 10,
    elementValidate: v => /^[a-z]+$/.test(v) || "lowercase only",
    multiline: false, // string lists only
}

UI is the layout you described โ€” stacked inputs each with an X button, "Add Entry" butto...

twilit vector
#

thank you for realizizng your idea was creepy

austere talon
twilit vector
twilit vector
#

chuddy is just spamming

errant nacelle
#

what are they cooking

#

oh wait is badge a real thing

#

never seen that in the devs array tbh

austere talon
#

yes

fossil inlet
twilit vector
#

it's very limited though no?

fossil inlet
#

Although it is an experiment and it stopped happening to me recently

versed fern
#

in one server im in it sends messages in the chat

austere talon
charred monolithBOT
twilit vector
#

does it just take the capitalized letters into account?

austere talon
#

ye

twilit vector
#

ASPS for account server profile panel

#

incredible

austere talon
#

u dont need to type the whole acronym

fossil inlet
#

vencord RCE real

austere talon
#

your font looks like theres dirt on my screen

twilit vector
#

comic sans perfection

fossil inlet
#

Cannot read properties of undefined (reading 'call')
Cannot read properties of undefined (reading 'call')

weak thistle
#

Cannot read properties of undefined (reading 'salad')

median rapids
median rapids
#

ppl husk and dont even know what that is...

#

go check out new userdoccers search

steel night
#

but i think too much for something like this

charred monolithBOT
fossil inlet
true grove
#

its true, i am clueless

#

at first i made the change in equicord cuz thats what i used, and it was merged there, but they said to PR it here, but idk how to have two forks for vencord+equicord at the same time

#

so to re-pr to them to adjust the fix, i had to delete this fork

#

which deleted the pr

#

so yah

signal sundial
median rapids
#

its called branches

fossil inlet
#

@limber skiff remember the cursed wreq.u function

limber skiff
#

usual Firefox L

austere talon
fossil inlet
#

Discord uses two different types of chunk hashes right now, so my guess is that the two different settings go through separate code paths for code generation

austere talon
#

"problematic code was part of a chunk id to filename map"

#

have they heard of objects / maps?

#

or even switch case if you're insane

fossil inlet
#

Take a look lol

austere talon
#

why do they do that with a deep ternary ๐Ÿ˜ญ

austere talon
#

more or less

#

which is the most sensible way to implement it

fossil inlet
#

yeah

austere talon
#

is it not that anymore

fossil inlet
#

With the new discord bundler update, they added like a massive amount of terrenares before it

austere talon
#

horror

#

I'll have a look

#

later

fossil inlet
austere talon
#

yeah lol

#

reporter just regex matched and evaled it to get the object

fossil inlet
#

The new version not so much

#

I still haven't started working on it because I'm not looking forward to it

limber skiff
charred monolithBOT
charred monolithBOT
#

Content

Description
For the past 2โ€“3 days, Vencord has stopped working completely. It does not show up in Discord settings anymore, and none of its features seem to be active.
Also, I asked some of my friends, and Vencord does not work for them either, so this does not seem to be isolated to my setup.

Environment

(unsta...
twilit vector
#

nixor doesnt use support channel

#

tracks

shut vineBOT
#

@fossil inlet, <t:1777053047:R>: make vtest work on prs