#๐Ÿ‘พ-core-development

1 messages ยท Page 179 of 1

golden gulch
#

so I would be on servers and set up the initial scaffolding then stay around for a bit after they were set up

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
#

that's surprising

#

all the changes on that branch and apparently everything still works

#

(my-testing-branch)

charred monolithBOT
limber skiff
#

anyways I need some help here

I made a new find implementation which uses waitFor under the hood for better performance
basically everytime a module is loaded it checks if that module has one the things we are looking for. the old implementation used to loop through all the webpack cache when it needed to find something for us to use (how lazy worked)

however, I need to know what we should keep

find####Lazy can likely be deprecated and removed as a whole, but what about normal finds that loop the cache? we want to keep those or not?

#

also what naming route should I take, should I call the new finds that use waitFor without any suffix, like how it's done right now?

#

or do we want a suffix and keep the one without the suffix the find that uses the cache

#

I would say the main implementation is already done, this just needs finishing touches now

charred monolithBOT
cunning canyon
#

i just gave up snailcat

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

:(

#

im sorry

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

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
#

okay so this is how it is currently:

old find -> cacheFind
new find: wrapper around waitFor and cacheFind
findLazy -> find (the wrapper)
findByProps, findByPropsLazy -> findByProps
findByCode, findByCodeLazy -> findByCode
findStore, findStoreLazy -> findStore
findComponent, findComponentLazy -> findComponent
findExportedComponent, findExportedComponentLazy -> findExportedComponent
findComponentByCode, findComponentByCodeLazy -> findComponentByCode

findAll -> cacheFindAll
findBulk -> cacheFindBulk
findModuleId preserved
findModuleFactory preserved

proxyLazyWebpack -> webpackDependantLazy
LazyComponentWebpack -> webpackDependantLazyComponent

ConsoleShortcuts preserved the same because it uses cacheFindAll and filters internally, so it doesn't depend on the old methods

#

thoughts about it?

austere talon
#

idk

#

is the performance actually considerably better?

limber skiff
#

this is how a common looks like with the new stuff

limber skiff
#

a single method instead of two for most things

limber skiff
austere talon
#

wdym two methods

limber skiff
#

before: findByProps and findByPropsLazy

#

now only one

#

also the new find (which all of the other methods use) is smart enough to return the non proxied value if it can already find it

#

so even if you use directly in the console it still gives the true value

#

and if it fails:

#

^ that is also the error shown if an actual webpack search fails in production

austere talon
#

well that's a bad error xd

#

make sure it prints useful errors with the actual filter

#

"GuildStoreeee"

limber skiff
#

I can do it probably

#

now we have this

#

filter functions have the underlying props accessible

#

let me see what I can do here :)

austere talon
#

i see

limber skiff
#

oh this is easy

austere talon
rugged spire
#

blehhhhh

#

it is time

#

to implement changes to my PR

limber skiff
#

I can make this better wait

austere talon
#

make sure to include the find type

rugged spire
#

i should set new vscode keyboard shortcuts

limber skiff
#

yep

#

doing it

rugged spire
#

WAIT

#

i feel stupid knowing I had good keyboard shortcuts when I used to use atom

limber skiff
charred monolithBOT
limber skiff
rugged spire
#

vee did not see my cursed the other day

median rapids
limber skiff
#

which ones?

charred monolithBOT
limber skiff
#

uhh bad

#

I should not modify that array

charred monolithBOT
limber skiff
#

oops

#

branch name leaked...

charred monolithBOT
rugged spire
#

what is going on

spark pivot
rugged spire
#

@limber skiff can i please force push to your branch for fun trolley

#

(joking)

rugged spire
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

charred monolithBOT
shell shuttle
#

eeeeeeee

median rapids
limber skiff
#

cacheFindAll yes

#

ConsoleShortcuts preserved the same because it uses cacheFindAll and filters internally, so it doesn't depend on the old methods

#

findBulk is not used by anything rn actually

#

so maybe

charred monolithBOT
limber skiff
#

better name

mortal fractal
#

o7 "a rock at ben shapiro"

austere talon
#

๐Ÿ˜ญ

limber skiff
#

I need to undo.

charred monolithBOT
austere talon
#

change to elon musk maybe

rugged spire
#

@austere talon vencord for tesla when

austere talon
#

honestly idk why i made it ben shapiro i don't really mind him

#

used to watch some of his stuff cause he's entertaining

#

change it to elon musk or some other annoying person maybe

#

but who's more annoying than elon

rugged spire
#

ben shapiro is stupid but elon def more stupid

rugged spire
mortal fractal
#

zuck's chill ignoring the fact he owns facebook

median rapids
charred monolithBOT
median rapids
#

does it actually hollow

rugged spire
median rapids
#
.sortBy(e=>e.comparator).sortBy((row)=>Vencord.Plugins.plugins["SortFriendRequests"].sortList(row)).sortBy((row)=>Vencord.Plugins.plugins["ImplicitRelationships"].sortList(row)).value()
#

i don't see the issue

#

both sortBys are called

#

lemme see

#

hmm

#

it's cuz it defaults to calling the row comparator

#

idk how to cleanly fix this

austere talon
#

do u also sort the other tabs by affinity?

#

or only the implicit tab

median rapids
#

only implicit

#

the issue is they both fallback to row.comparator

austere talon
#

that will make the patches compatible with one single sortBy()

#

basically nesting the sorters

median rapids
#

oh my god

#

oke

#

wait

#

how tf would that work

austere talon
#

idk blud

#

it's 5am

#

im gonna sleep alien

median rapids
#

gn bestie

#

i'll try to figure it out

median rapids
#

untested cuz i have no frs

charred monolithBOT
desert cosmos
glass jasper
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

repair ur vencord via the installer, also u should ask this in support channel. This bug often happens if your discord is outdated, (iirc) but im not entirely sure since it happens to me only when discord is outdated. If you are in the latest version of discord and it still happens then try asking in support, if they ask u to come here again then u probably just have to wait until someone who knows better than me (almost everyone) respond to this thread.

#

repair ur vencord via the installer, also u should ask this in support channel. This bug often happens if your discord is outdated, (iirc) but im not entirely sure since it happens to me only when discord is outdated. If you are in the latest version of discord and it still happens then try asking in support, if they ask u to come here again then u probably just have to wait until someone who knows better than me (almost everyone) respond to this thread.

Just because i update my disc...

charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
#

another small pr ๐Ÿ˜„

charred monolithBOT
desert cosmos
#

horror

limber skiff
#

very clean in my opinion

#

(but sorry for the very big and complicated prs vee)

charred monolithBOT
limber skiff
#

dont wanna explode vesktop ๐Ÿ™

#

can someone that uses Vesktop test if everything works with that branch?

grave mangoBOT
limber skiff
#

call this function and see if InviteActions is okay

#

you need to call the vesktop one

#

it still uses findByPropsLazy but the backwards compatibility I did should keep it working

#

or call Vesktop.openInviteModal

#

put a breaking and look at the value of InviteActions

#

it's a proxy but it should have an inner value inside with the actual invite actions

#

okay if it works then it's enough

#

thanks

limber skiff
#

nice

#

it's funny cuz it's not even lazy anymore

#

the lazy methods just foward you to the new ones lmao

median rapids
real flower
#

and

#

all i see is this

#

im fucking losing it

austere talon
#

thats been in vencord for ages xd

charred monolithBOT
austere talon
#

that plugin hardcodes UserFlags

#

we should really just put Constants into webpack commons at this point

median rapids
#

u told me to make it an object

austere talon
#

wait wdym

median rapids
#

the discord constant is like
{staff: 1, 1: staff}

austere talon
#

is that an issue?

#

oh i see

#

is it related to Object.entries() later on

charred monolithBOT
austere talon
median rapids
#

I think it was more hacky tho

austere talon
#

xd

#

the isNaN filter is the best way

#

feel free to justadd the entire Constants module into webpack commons

#

would definitgely be useful to have

charred monolithBOT
austere talon
charred monolithBOT
austere talon
#

oh neat

charred monolithBOT
crude hearth
crude hearth
#

dont worry guys I got this

#

it will get merged

#

eventually

glass jasper
#

i hope

shell shuttle
#

same

charred monolithBOT
real flower
#

idk what i broke but vscode isnt showing any eslint errors anymore LMAO i think my install is fucked

austere talon
real flower
#

||yes||

#

it usually complains about no plugin header

#

but nahhh

#

its fineeeee

#

/j

#

it is not fine

#

reinstalled extensions, recloned, etc

#

no errors stare

#

time to be annoyed at vscodium for ages now

charred monolithBOT
topaz thistle
jagged cloak
#

i last used codium when extension support just didnt work lmao

real flower
#

it works fine on my desktop so

#

idk lol

#

I use vscodium-bin-marketplace vscodium-bin-features vscodium-bin

charred monolithBOT
crude hearth
#

one wife is enougj

charred monolithBOT
#

One day, when this will get merged, Vencord will already have been discontinued in favor of Cumcord v2, Manti kafasi will be a grown man with 4 wives and 10 children, and will no longer have time to code in Java. Windows 10 will have been discontinued, the inflation rate will have gone up by 300%, and DevilBro will have taken over the Electron development space.

so true

#

Discord Account

soulivan71

What happens when the bug or crash occurs?

When Im typing in message bar its displaying unknown user but when I send it its not displaying as unknown user (in dm too)
image

What is the expected behaviour?

Display bug

How do you recreate this bug or crash?

Write an userid
Send message

Errors

Im using >
canary 290415 (c496312) Host 1.0.340 ...

charred monolithBOT
charred monolithBOT
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

charred monolithBOT
austere talon
#

i need something on github that hides prs that i already reviewed entirely until the author of it makes changes

real flower
#

real

#

oh btw does my pr look good pleadingtaco

limber skiff
#

gotta keep up to date ๐Ÿ™

austere talon
# charred monolith

should i add this workflow

name: check pr maintainer perms
on:
  pull_request:
    types:
      - opened

jobs:
  check:
    runs-on: ubuntu-latest
    if: ${{ github.event.pull_request.head.repo.fork && !github.event.pull_request.maintainer_can_modify }}
    steps:
      - uses: actions/github-script@v6
        with:
          script: |
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: "Please make sure you always keep 'Allow edits by maintainers' enabled! This allows us to easily make small adjustments or merge the latest changes into your branch."
            })
limber skiff
#

yes

austere talon
#

the thing is idk if it works xd

#

testing workflows is so painful

limber skiff
#

oh I I found about something

#

I havent tested though

real flower
#

YAY

#

:3

austere talon
#

could u change the title to something that will actually be a good commit message

real flower
#

fair enough lol
will do

austere talon
#

ig we can merge it now cause it wont cause conflicts with vesktop

median rapids
median rapids
austere talon
#

i knowww

#

but

median rapids
real flower
charred monolithBOT
limber skiff
#

lets see how this goes :)

#

exploded

median rapids
#

love typescript

real flower
austere talon
#

what did u type Constants as

median rapids
#

i just realized i sent half the message ๐Ÿ˜ญ

austere talon
#

it

median rapids
#

it

#

but that's what not i was pointing out

#

i meant the horrid syntax

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

holyy shit

frail skyBOT
#
Bad Patches

SecretRingToneEnabler (had no effect):
ID: 556766
Match: /500===\i\(\)\.random\(1,1e3\)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

@austere talon

#

this shit doesnt actually cache but it's still super fast

austere talon
austere talon
#

snow halation

#

๐ŸŒจ๏ธ

charred monolithBOT
limber skiff
#

wdym bro

#

your docs say it

median rapids
#

that i need to use destructuring

austere talon
#

oh really even if you cast?

median rapids
#

oh i didnt try casting

#

casting works

#

horreif

austere talon
#

but it'd be better to cast it at the core

#

is Constants json stringifiable?

median rapids
#

u want me to type all of this ๐Ÿ˜ญ

austere talon
#

noooo

#

im saying

#

since its just gonna be plain objects you can easily autogenerate a type for it

#

i might do that soon

median rapids
#

ill just leave it untyped for now

austere talon
#

yeah :P

#

why is this a Map

#

so random

#

yeah okay this is easy peasy to auto generate a type for

median rapids
#

oh the plugin is broken

#

i love

austere talon
charred monolithBOT
austere talon
#

what is it with discord and breaking ur plugins as soon as they get merged / are about to be merged

#

actually whats broken about it

median rapids
#

it just doesnt work lol

#

badges arent added etc

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
median rapids
#

oh nvm

#

it's cuz i broke vencord lol

#

constants is undefined when the plugin tries to import it

limber skiff
#

self merging cuz it's all good

charred monolithBOT
austere talon
#

do you use waitFor or findByPropsLazy

#

in the latter case you can destructure

#

former case u cant

median rapids
#

i used waitFor

#

fixed now

austere talon
#

how did u not notice that u broke the entirety of vencord

#

lmaoo

median rapids
#

i didnt build

#

:p

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

@austere talon bro

#

is it me or puppeteer is downloading chrome already

frail skyBOT
#
Bad Patches

SecretRingToneEnabler (had no effect):
ID: 556766
Match: /500===\i\(\)\.random\(1,1e3\)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

median rapids
austere talon
#

if you use puppeteerthen yes

#

but i switzched it to -core ages ago

#

LMAOO

grave mangoBOT
austere talon
#

remove this line ๐Ÿ˜ญ

#

i added that ages ago before changing it to install chromium from apt

limber skiff
#

๐Ÿ˜ญ

#

it should be puppeteer-core right

austere talon
#

yes

#

no just remove that line

#

-core already is a dep

limber skiff
#

lmaoo

austere talon
#

and uhh try changing it back to use apt

limber skiff
#

why?

#

it's sooo slow

austere talon
#

oh is it

limber skiff
#

yes it takes 1:30 of the workflow

#

this one takes like 8 seconds

charred monolithBOT
limber skiff
#

oops

charred monolithBOT
austere talon
#

oki

#

i thought the puppeeeter install was slow

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

nah it's the apt lol

#

SHEESH

#

this is speedy now

frail skyBOT
#
Bad Patches

SecretRingToneEnabler (had no effect):
ID: 556766
Match: /500===\i\(\)\.random\(1,1e3\)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

damn

limber skiff
charred monolithBOT
#

03d7e0f fix sort conflict of ImplicitRelationships & So... - dolfies
315f4f4 ReviewDB: add more context menu shortcuts to vi... - Sqaaakoi
1af44b2 feat(USRBG): update to new API (#2388) - katlyn
78183eb MsgClickActions: control ping via shift & NoRep... - sunnniee
520e915 fix badges with custom component - Vendicated

limber skiff
#

fixing SecretRingToneEnabler real quick

austere talon
#

is this a discord error

limber skiff
#

yeah

austere talon
#

its from rendering some tooltip

#

timestampTooltip

limber skiff
#

hmmm this patch isnt backwards compatible

#

annoying

charred monolithBOT
shell shuttle
charred monolithBOT
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

austere talon
#

what did discord cook

charred monolithBOT
limber skiff
#

here I go again

austere talon
#

fastest feedback resolve ever??

#

any% WR

median rapids
median rapids
#

the default should be the guild's default

austere talon
#

cant really do that with vencord settings

median rapids
#

sure you can

#

make new option

#

"Server default"

median rapids
shell shuttle
#

i am shitting pissiong and sobbing they patched RCE again

shell shuttle
median rapids
#

rce??

median rapids
shell shuttle
shell shuttle
median rapids
shell shuttle
limber skiff
#

look at the pr haha

#

but it's needed to not vesktop immediately

median rapids
#

oh real

limber skiff
#

(and also userplugins but idc about them)

shell shuttle
#

have people been asking for the status of their PR's lately or am i going crazy

median rapids
#

just ignore vesktop cozy

limber skiff
#

can't

#

vee will be angry

shell shuttle
limber skiff
#

but yes I did migrate everything

mortal fractal
limber skiff
shell shuttle
#

there is yes fucking way

mortal fractal
#

where are yall even patching it

limber skiff
#

you are wrong now

#

it is not broken

shell shuttle
#

ermmmm what the flip

limber skiff
#

dev version has it fixed

shell shuttle
#

oh thank god

#

should switch to dev but everytime i reboot it unpatches my discordf

median rapids
limber skiff
#

dev version of vencord

#

not discord

shell shuttle
# median rapids huh how

idk it doesnt load vencord and i have to install / patch it twice the last 2 times i used dev vencord

limber skiff
#

I main my dev branches and they work fine lmao

shell shuttle
#

alr brb

limber skiff
#

rn i'm using immediate-finds

mortal fractal
#

oh thats why vencords keeps breaking

#

grabbing props instead of directly modifying the wrapper div

shell shuttle
limber skiff
#

the patch was just bad

shell shuttle
#

this badge keeps showing up is it showing for anyone else?

#

this one

mortal fractal
#

probably a cdn url and no logic to refetch them for custom badges

shell shuttle
#

even when i refetch it doesnt go away

#

also i dont have a custom badge

#

and it shows up for EVERY profile

limber skiff
#

that doesn happen for me lol

#

it's prob a userplugin

shell shuttle
#

nope

spark pivot
#

happens for me on stable blobcatcozy

shell shuttle
#

was showing up on non-dev

limber skiff
#

for who uses a dev install here

#

I really appreciate if you can main immediate-finds instead

#

I will keep it updated but I need to be sure nothing broke on it

shell shuttle
#

me when my plugin doesnt use that vennieblep

limber skiff
#

wdym?

shell shuttle
#

well

#

PR

#

my (wip) plugin doesnt need finds or patches

limber skiff
#

oh lol

#

but yeah I just need some people to use it, it changes a lot of files so I can't be sure I didn't do an oopsie

shell shuttle
#

oopsie daisy

charred monolithBOT
limber skiff
#

are you planning to bump today vee?

austere talon
#

maybee

charred monolithBOT
austere talon
#

decided to fix the badge overflow bug in vencord

#

silly discord css

shell shuttle
#

aaaand

#

yea

#

i think it is

austere talon
#

it's alr fixed

austere talon
shell shuttle
#

yay

#

pog omg it shows the new uhhh

#

prompt ui

#

same its so clean

#

huskWaddle custom branch

#

oh shit i dont have my theme on

#

for optimal explosions your PRs must be reviewed in this channel

austere talon
#

blobcatcozy โค๏ธ

limber skiff
#

should I add myself as lead dev on vencord in the wiki?

austere talon
#

wiki jumpscare venniecozycat

#

if u wanna

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

I guess it's fair if I do

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

should I link my user page or article page ([[Nuckyz]])

#

article doesnt exist but others are like that too and they dont exist

#

no but it's a single question

#

it's whatever

#

I will just do the article blobwob

real flower
jagged cloak
#

yop

median rapids
#

I main the last branch I made

austere talon
#

i just main dev

jagged cloak
#

i never really switch branch so i also main dev lol

golden gulch
#

i main whatever branch my last PR was on until it breaks and I realize I haven't updated it in forever

charred monolithBOT
charred monolithBOT
charred monolithBOT
rugged spire
#

husk my comment here was nuked because I got banned by venbot (somehow)

#

anyway

#

before i got rudely falsebanned by venbot recieving a message I said yesterday and banning me for a keyword

#

@brazen bone Your ImageLink plugin that was merged is patching a function used for 2 things

#

and it made images have the full embed around them

#

Here, have a screenshot

rugged spire
oak hull
charred monolithBOT
charred monolithBOT
rugged spire
#

Discord blobhuskcozy

#

i refuse to believe I actually said something that wasnt that

charred monolithBOT
#

Adds two new options to the Dearrow plugin.

  • Ability to hide the Dearrow Toggle Button
  • Ability to only replace certain elements
    • Titles, only replaces titles
    • Thumbnails, only replaces thumbnails
    • Everything, replaces everything (default)

Preview with each option enabled / disabled:

Original

Everything

Title

Thumbnail

Hidden Dearrow Button & Everything

Plugin Settings

desert cosmos
#

this embed makes me look like an idiot whos too stupid to use spaces blobcatcozy

rugged spire
#

it was what I said

#

but it's some random rule

rugged spire
#

nop it was related but im stupid and didnt read when it was announced

charred monolithBOT
charred monolithBOT
median rapids
#

who ponged me

mortal fractal
#

it was a ping of you and amia saying "stupit" with a screenshot of one of the plugins having "stupit" in the description

median rapids
austere talon
#

stupit

shell shuttle
woeful sable
#

I never knew

woeful sable
grizzled plaza
#

I'd like to make a plugin for me and my friends for now, to integrate with Lethal Compagny (but maybe I'll make it available to the Vencord community, but since it's pretty specific, I doubt it).
I'd like to detect when one of my friends is playing Letal Compagny and extract the information (specifically the lobby, that sort of thing).

Are there any events I can listen to for this sort of thing? Or do I need to do a setTimeout, and fetch the cache for example?
The best thing would be to rely on the request (or websocket, I'm not yet experienced with Vencord and how it works) that updates my friends list and activities.

I might also be able to use Discord game invitations, but I don't know if I can retrieve information about the lobby, my friends and myself.
Thanks in advance for any help

shell shuttle
median rapids
#

tho it isn't much of an issue

#

in a server you don't have manage roles in it shows this for users without roles instead of removing the section

limber skiff
median rapids
#

oops

#

would probs be better to fold this into here though

#

what other hidden thing should i show cozy

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
median rapids
#

star notifs in a thread when

charred monolithBOT
shell shuttle
#

damn lots of stars today

charred monolithBOT
austere talon
#

huh!?

limber skiff
#

they dont actually brick rn

#

but they can in the future if find breaks

austere talon
#

then don't name it that xd

limber skiff
#

I could have worded it better

#

lol

austere talon
#

future proof FakeNitro & experiments

limber skiff
#

yop

charred monolithBOT
limber skiff
#

I'm so stupid

#

this never worked

#

it's a Proxy of course it's not undefined

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

charred monolithBOT
median rapids
#

nut nut

limber skiff
#

benchmark of immediate finds

#

with immediate finds (see other image for calculation), tested with the reporter loading every module

#

with lazy finds (calculated by the reporter lazy finds test, only accounting for the same things as immediate finds)

median rapids
#

damnn

limber skiff
#

immediate finds does not improve proxyLazyWebpack, LazyComponentWebpack or extractAndLoadChunks, so those were not include in the lazy finds test

median rapids
#

nookies so smart blobcatcozy

limber skiff
#

@austere talon ^^

austere talon
#

that comparison doesn't make a lot of sense tho, does it?

#

considering a lot of those modules will never ever be used

limber skiff
#

well yeah

austere talon
#

and thus never searched

limber skiff
#

it's hard to benchmark it because immediate finds will have a higher value at the start of discord by default

#

(because it finds everything)

austere talon
#

yeah ofc

limber skiff
#

with lazy finds the time adds by the time

austere talon
#

but 200ms is good

limber skiff
#

but accounting for the time passed and the person lazy loading the stuff it will be more with lazy finds

#

200ms is pretty good for finding everything needed

#

let me try a benchmark with just the lazy finds when I start my discord

#

accounting for find, findAll, findBulk and waitFor, using lazy finds
loading discord and staying in the @me route

#

after routing to a server

#

gonna do with immediate finds now

#

loading discord and staying in the @me route

#

after routing to a server (of course nothing changed lmao)

#

us lazy loading vencord settings makes it do normal finds instead of using waitFor lol

charred monolithBOT
limber skiff
austere talon
#

does it?

limber skiff
#

nvm it doesnt

#

since we load the settings module we require those

#

why do we lazy load those anyways? @austere talon

austere talon
#

which

limber skiff
#

these

austere talon
#

because otherwise it bricks vencord

limber skiff
#

you are right lmao

#

I dont quite get why though

austere talon
#

because circular import

#

settings imports plugins

limber skiff
austere talon
#

settings plugin imports settings

#

circular import and it can't resolve it

#

the plugin manager imports all plugins

if a plugin imports the plugin manager, it leads to the plugin manager being forced to using uninitialised plugins

#

which causes errors

#

we can't really resolve it

limber skiff
#

yeah I'm seeing it

austere talon
#

that's also why you have to use Vencord.Plugins.isPluginEnabled() to check if a plugin is enabled

#

instead of importing that function

limber skiff
#

I fixed it

#

but idk about it

#

could also just Use Vencord.Plugins directly

austere talon
#

is this to load settings instantly so waitFor works?

limber skiff
#

yeah

#

no longer is using the normal find for webpack finds in the settings

#

@median rapids SMHHH

austere talon
#

tbh circular dependencies are so nasty

limber skiff
austere talon
#

and will cause random weird behaviour

#

vesktop has even nastier circular dependency issues

limber skiff
#

oh wait

#

we can remove this now right

#

no need to do lazy there anymore

austere talon
#

the second one could be solved by splitting the code into two files

#

but i don't really like that

limber skiff
#

yep I can do this now

austere talon
limber skiff
#

lmao wtf

#

UserStore.getCurrentUser() is returning undefined

#

because of how early that's executing

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

okay i will merge into main

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

okay?

charred monolithBOT
austere talon
#

MERGE?

#

im highj

limber skiff
#

lmao

limber skiff
#

I will push these changes to dev after you merge

austere talon
#

have to wait a minute now

austere talon
limber skiff
#

the lazy fixes

austere talon
#

huh

limber skiff
#

not the immediate-finds

austere talon
#

why

#

i wouldnt

#

no rush

limber skiff
#

yeah I'm not doing a rush

austere talon
#

needs proper testing first HuTaoDerp

limber skiff
#

that's why I'm gonna keep them in dev

charred monolithBOT
limber skiff
#

we are probably not doing a main merge veryy soon

#

also don't worry I'm testing it well

charred monolithBOT
austere talon
#

oh should have fixed ImageLinks

#

its broken

#

cc @brazen bone

#

it makes all gifs have this ugly embed

median rapids
limber skiff
#

the find in the start.

median rapids
#

do u want me to regex patch an enum

median rapids
limber skiff
#

yes

median rapids
#

so why does it matter

limber skiff
#

but it's not tested like that :)

median rapids
#

test it then :p

#

ast parsing for tests wen

limber skiff
#

also this

#

the only find using the cache lmao

median rapids
#

cuz i'm unique like that

austere talon
limber skiff
#

๐Ÿ˜ญ

#

because the start explodes?

austere talon
#

remember that tester starts all plugins

#

and start will fail blobcatcozy

limber skiff
#

horrible

#

lmao

charred monolithBOT
limber skiff
#

proxyLazy is too powerful

charred monolithBOT
limber skiff
#

nice

charred monolithBOT
limber skiff
#

I think now we longer lazy load any whole files (which is good)

mortal fractal
#

does proxyLazy not have issues with react components or is it never used for them

#

(specifically forwardRefs and classes)

austere talon
#

it does, we have a different lazy 'proxy' for that

grave mangoBOT
limber skiff
#

actually a lot of times we used proxyLazy for components and it worked fine

austere talon
#

yeah but that's only if they're plain functions or classes

#

actually idk about classes even

limber skiff
#

but either way immediate-finds makes every component use the proper method I think

austere talon
#

i think proxying classes works

limber skiff
#

even the wrong ones

mortal fractal
austere talon
#

well theres proxy.construct which is new()

#

and we just forward that to the underlying lazy

#

so yes it works

mortal fractal
#

i had a lot of issues with how mine is setup

#

and considering kasi wrote most of it, he doesnt even know why it doesnt work

limber skiff
#

just copy how we do lol

mortal fractal
grave mangoBOT
# limber skiff https://github.com/Vendicated/Vencord/blob/immediate-finds/src/webpack/webpack.t...

**webpack.tsx: **Lines 184-219

export function findComponent<T extends object = any>(filter: FilterFn, parse: (component: any) => React.ComponentType<T> = m => m, { isIndirect = false }: { isIndirect?: boolean; } = {}) {
    if (typeof filter !== "function")
        throw new Error("Invalid filter. Expected a function got " + typeof filter);
    if (typeof parse !== "function")
        throw new Error("Invalid component parse. Expected a function got " + typeof parse);

    if (IS_DEV && !isIndirect) webpackSearchHistory.push(["findComponent", [filter]]);

    let noMatchLogged = false;
    const NoopComponent = (() => {
        if (!noMatchLogged) {
            noMatchLogged = true;
            logger.error(`Webpack find matched no module. Filter: ${printFilter(filter)}`);
        }

        return null;
    }) as React.ComponentType<T>;

    let InnerComponent = NoopComponent;

    const WrapperComponent = (props: T) => {
        return <InnerComponent {...props} />;
    };

    WrapperComponent.$$vencordGetter = () => InnerComponent;

    waitFor(filter, (v: any) => {
        const parsedComponent = parse(v);
        InnerComponent = parsedComponent;
        Object.assign(InnerComponent, parsedComponent);
    }, { isIndirect: true });

    if (InnerComponent !== NoopComponent) return InnerComponent;

    return WrapperComponent;
}
limber skiff
#

not a lazy but yeah

mortal fractal
#

im just going to cope with what i have before i end up in a depressive hole of imposter syndrome again

austere talon
#

why impostor syndrome

#

you're really clever and talented

#

but yea we just don't use lazyProxy for react components

#

it's way easier to just make a wrapper component and it works reliably with everything

mortal fractal
# austere talon why impostor syndrome

i just feel like im wasting a lot of my efforts on stuff that doesnt matter in the long run or on things people do better because theres an actual team opposed to me as one person working on a project that a limited number of people use

austere talon
#

well if you're having fun that's all that matters :3

#

that's what it's all about afterall

mortal fractal
#

i guess, even though my motivation comes and goes very sparatically and it feels stressful from time to time opposed to fun

austere talon
#

aww

#

that a limited number of people use
ngl vencord being this popular is a blessing and a curse

mortal fractal
#

yeah but its still more than one or two people working on it though at any given time

austere talon
#

sometimes i miss the times when it was still super small with only a few hundred users

#

is this for moonlight?

mortal fractal
austere talon
#

aren't u guys a team as well

#

or is that hh

mortal fractal
austere talon
#

ohh i see

austere talon
mortal fractal
#

yeah

austere talon
#

you could still show it to them tbh

maybe with an alt or smth

austere talon
#

well idk if you even like moonlight that much

#

but if you're not enjoying it anymore maybe it's time to let go and move on to something new

mortal fractal
austere talon
#

force them to move to moonlight

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
#

Componet

charred monolithBOT
grave mangoBOT
grave mangoBOT
# limber skiff https://github.com/Vendicated/Vencord/blob/immediate-finds/src/utils/proxyInner....

**proxyInner.ts: **Lines 35-42

/**
 * A proxy which has an inner value that can be set later.
 * When a property is accessed, the proxy looks for the property value in its inner value, and errors if it's not set.
 * @param err The error message to throw when the inner value is not set
 * @param primitiveErr The error message to throw when the inner value is a primitive
 * @returns A proxy which will act like the inner value when accessed
 */
export function proxyInner<T = any>(
charred monolithBOT
rugged spire
#

I was just having a 5 hour "nap" so I didn't see your message

#

github bullying me for leaving tab open

charred monolithBOT
rugged spire
#

i am not good at this "Git" thing

odd heath
rugged spire
rugged spire
charred monolithBOT
#

repair ur vencord via the installer, also u should ask this in support channel. This bug often happens if your discord is outdated, (iirc) but im not entirely sure since it happens to me only when discord is outdated. If you are in the latest version of discord and it still happens then try asking in support, if they ask u to come here again then u probably just have to wait until someone who knows better than me (almost everyone) respond to this thread.

I was using Vesktop, and ther...

charred monolithBOT
charred monolithBOT
desert cosmos
# charred monolith

this is an easy fix, but should it show the current online members of the thread or follow the format of displaying the members of the guild

#

ill just do guild

austere talon
#

nah thread

desert cosmos
#

ok

austere talon
#

how so so many people have this

#

cant repro

#
const SwitchClasses = findByPropsLazy("slider", "input", "container");
#

fails

#

but how?

austere talon
#

even on canary it finds

cunning canyon
#

people who got that error also got a xmlhttp cors error right above somehow

austere talon
#

should i add this

#

i think this looks worse than full width

odd heath
#

Nobody ever dms me for support anyway but yed