#πŸ‘Ύ-core-development

1 messages Β· Page 137 of 1

turbid hatch
#

wait no it has to

limber skiff
#

but ik discord sends the global voice channel time when you join it on mobile

wet trellis
#

i know, i just didn't want to make my own extension (firefox is no longer supported as an extension 😦 )

turbid hatch
#

hm see if you can find the timeout stuff

limber skiff
#

I'm pretty sure it sends it to desktop but doesnt use it

turbid hatch
#

the 'bandwidth patrol' system

turbid hatch
#

cause itd be used there

wet trellis
limber skiff
dire trench
#

yeah i dont see the problem then

#

everything u want to do is already possible

limber skiff
#

does ctrl alt O hard crash anyone else discord

#

I think they broke their own devtools

livid heath
#

yes they did

#

they fucked their color picker thingy

limber skiff
#

ugh

livid heath
#

in local storage

limber skiff
#

ya got it

#

I just found that lol

livid heath
dire trench
#

is there no way to disable/enable a settings component based on the state of a boolean setting component without requiring the user to save settings and reopen the settings modal?

spark pivot
#

I believe there’s a parameter for that

#

Look at customrpc

jagged cloak
#

in case anyone else asks

#

brueuuhoioguhh

#

actually that doesnt fix it for me but maybe others

dire trench
#

customrpc sets disable to the value from settings.store, which is only updated when settings are saved

#

also the onchange on the settings components only fires when settings are saved

#

cuz they are not the actual onchanges of the react components

spark pivot
#

Hm

charred monolithBOT
austere talon
dire trench
#

i dont know of a single css linter that supports any new features

#

they all suck

austere talon
#

it's not a linter.

dire trench
#

u know what i mean tho

#

stuff like csslint, stylelint

#

which are implemented into editors

austere talon
#

no correlation

dire trench
#

????

#

they alll check for correct css, do they not?

austere talon
#

no???

dire trench
#

???

austere talon
#

wtf are you yapping about

dire trench
#

no what tf u talking about

#

they all check for correct css syntax

dapper crest
#

Highlighter !== linter

dire trench
#

monaco doesnt just highlight tho

austere talon
#

linters have nothing to do with syntax. they catch programmatic (logic) errors and things that are considered poor style

the monaco css editor has a language server that checks syntax, highlights syntax, and has auto complete. it supports new css syntax

they have no correlation.

dire trench
#

and stylelint and csslint call themselves linters

austere talon
#

you're making no sense just stop talking

charred monolithBOT
jagged cloak
dire trench
#

is there a way to allow numbers with fractional digits to be typed in OptionType.NUMBER?

pine topaz
#

the entire fate of vencord rests in the hands of pr #2002

dire trench
#

it tries to convert what i input to a bigint, resulting in a syntax error

#

that is why i cannot input numbers with fractional digits

charred monolithBOT
dire trench
ebon frigate
#

sadge

#

okay

charred monolithBOT
#

This is a plugin that was made for BetterDiscord to allow auto scrolling on non-Windows OSs (e.g. GNU/Linux), modified by me to work with Vencord. It was originally licensed with MIT license, which is compatible with GNU. The original source code can be found here. I have updated the code to use APIs provided by Vencord, transformed it from JavaScript to TypeScript and made sure it's type-safe and follows the project's code style rules.

dire trench
#

and why are they hosting the svgs?

#

most unoptimized svgs ever too
this what happens when u export raw from inkscape

charred monolithBOT
#

this is a native chromium feature that can be enabled in electron with a single command line flag

I know, but the problem is that the feature is quite incomplete, as it doesn't stop event propagation and therefore still pastes the clipboard into the message bar as GNU/Linux does by default, which is extremely annoying and makes the flag kinda pointless. I did some real work on this and so did the original creators of course, I've made it to work well with Vencord as quality is my top pri...

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

Bad Starts

None

Discord Errors

None

lime stone
dire trench
#

they dont have to host it somewhere

#

its just xml

lime stone
#

i present to you

dire trench
#

also why is it themed by default?

lime stone
#

qhar

dire trench
#

red

lime stone
#

nice pink colour

#

what's not to like

#

no reason you'd want to change it!!

#

lol firefox's graphic is the best imo

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

Bad Starts

None

Discord Errors

None

dire trench
charred monolithBOT
lime stone
#

but ye

dire trench
#

they literally just copy and pasted the bd plugin into the vencord plugin template btw

lime stone
#

oh lol

#

low effort, but more effort than needed

dire trench
# charred monolith

"made sure it's type-safe and follows the project's code style rules" "quality is my top priority"

#

me when i lie

olive aurora
#

doesnt work

charred monolithBOT
#

you can really easily stop the middle click pasting behaviour, either by adding a global keydown listener or by disabling it on a system level

Alright you got me, close this PR if you wish. You know more than me about this, I just found this plugin and wanted it to work with Vencord, but sure if it doesn't meet your standards I understand that what I did was a waste of time probably.

spare frost
#

hello, i'm sorry about this PR, if you don't want it sure just close, what I should've said was minimal code style rules, ik the code is terrible, but I didn't make the original and made this port kinda quick ik ik. just wanted to apologize for this, if you accepted it as long as i've made real refinement to actually fit into the project's codebase I can do it, otherwise it can stay as third party plugin ig

#

i'm not a professional developer, just a student so i'm still learning this sort of stuff, but wanted to do something somewhat useful as you can't just mix discord client mods and didn't find an alternative way to make this work in linux, sorry again guys i feel real embarrassed

spare frost
#

alright

dire trench
#

im just shocked by what the original author did

spare frost
#

i mean yea even i noticed that the quality was questionable but still wanted to do something to make it at least lil better, i also noticed you considered the svg setup quite bad, yea embedding an optimised version directly into the plugin's code sounds much better, I didn't quite think of that really

olive aurora
#

or use cursor: all-scroll

#

in css

#

uses your native cursor

spare frost
#

didn't even know that existed

dire trench
#

i dont think the original bd plugin does that either

olive aurora
#

oh wait its supposed to be a fixed icon

#

is it

dire trench
#

ok they do but they put it on a new position absolute element with some crazy high z index instead of just doing document.documentElement.style.cursor =

spare frost
#

yea its basically used as fixed position image while the actual cursor changes depending on the position relative to that image

pine topaz
#

it seems they just blatantly ignored my pr

#

this will drastically affect the popularity of vencord, it will fall without /slap

#

you'll see

#

you'll all see!

#

you'll all fucking see the downfall for this one little mistake

charred monolithBOT
jagged cloak
#

nuh uh

dire trench
charred monolithBOT
elder garnet
pine topaz
#

dont worry, i already have another pr ready

carmine wyvern
#

yall what was that css snippet in which where if you hovered your mouse over the settings button all the other button like the mute and deafen button would come out of it

#

if that makes sense

pine topaz
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
lime stone
charred monolithBOT
charred monolithBOT
#

I've been having the problem shown in the video above, basically regardless of which client I use for discord.

The theory I have is that the video isn't being properly compressed. When someone screenshares from Windows and there's a lot of movement then the video quickly tends to become heavily compressed. Looking like 144p or even worse in darker footage. Meanwhile; even though the framerate sucks, the frames themselves seem to be of much higher quality regardless of movement on Linux....

#

I've been having the problem shown in the video above, basically regardless of which client I use for discord.

The theory I have is that the video isn't being properly compressed. When someone screenshares from Windows and there's a lot of movement then the video quickly tends to become heavily compressed. Looking like 144p or even worse in darker footage. Meanwhile; even though the framerate sucks, the frames themselves seem to be of much higher quality regardless of movement on L...

slender helm
#

Is there a way for hidden channels to also show hidden threads

#

Or does the discord api not return those

verbal pumice
#

nope

lime stone
#

that's a good thing

#

:P means you have some way to hide things

slender helm
#

:P

#

True

#

Why do they even send all channels to the frontend

verbal pumice
#

probably so things go smooth when you are given a role with extra perms

void echo
turbid hatch
#

yeah its a bit funny when people dont realise that channel topics, names, and permissions are public info

#

the client just hides the stuff it doesnt have permission to access but sunnie is right, its so that it doesnt have to reload the entire list when your permissions update

charred monolithBOT
lime stone
#

i love to see #uninstall-better-discord

fiery torrent
#

hey!!

#

is there a guide on how to contribute to vencord? or like any rules/things to keep in mind before a pull request is made?

verbal pumice
fiery torrent
#

thank you!!

verbal pumice
#

there's no rules set in stone

fiery torrent
#

i'm mainly just hoping to fix this one tiny thing (clear urls for x.com as well)

dusky sonnet
#

can it not be fixed with text-replace rules?

#

or is it for incoming messages

fiery torrent
#

i think it could be fixed with text-replace, yeah, but i just want to add x.com to the clear urls plugin

tame escarp
#

you do not deserve clearurls if you use x.com

lime stone
#

#vencord-dev >:(

dire trench
lime stone
#

no

soft ginkgo
#

I've successfully finished a Vesktop Flatpak

lime stone
#

aren't there four by now

soft ginkgo
#

i found a total of zero

real zenith
#

thanks! cat_heart
are there docs for the webpack binds? Is an input modal possible?

real zenith
#

oh wait

#

I just realized how stupid I am

limber skiff
charred monolithBOT
dire trench
pine topaz
limber skiff
#

I mean you just copied the other person work

charred monolithBOT
dire trench
#

i smell unoptimized png

limber skiff
#

same paths

pine topaz
limber skiff
#

yes, I'm talking about adding yourself to author though

#

might as well add the other person instead lol

pine topaz
#

yeah i should do that lmao

limber skiff
#

RuukuLada

dire trench
#

idk about adding urself to authors for a change like that
i wouldnt

austere talon
#

don't change the authors

#

only if you make a major change

pine topaz
#

aight

austere talon
#

otherwise many plugin would have dozens of authors and every single plugin would have me as author

pine topaz
#

it would be quite hard to find the actual creator of the plugin

dire trench
#

and its hard to tell who did what

#

if u needed to ask questions

verbal pumice
austere talon
#

it's funny when the plugin is is completely remade from scratch but the original author left in

#

like fakenitro xd

limber skiff
#

SHC too lol

pine topaz
#

i mean, they are the reason that plugin exists, so they do deserve a place there

verbal pumice
#

shc my beloved

dire trench
#

all plugins should have you in authors since u made the plugin api

verbal pumice
#

with its 50 patches

limber skiff
#

yes

pine topaz
#

alright, author array reverted

misty raptor
limber skiff
#

so true

pine topaz
#

might as well also add Charles Babbage, wouldnt be possible without him

little wing
#

maybe even Alan Turing

pine topaz
#

is everything ok with the pr now

#

looks fine to me

dire trench
#

im optimizing the svg rn

real zenith
pine topaz
#

nice

dire trench
#

silent typing uses var(--red-500)

#

and you use var(--red-400) (same as var(--status-danger))

#

who is wrong

pine topaz
#

im pretty sure i kept the strikethrough itself the same

dire trench
#

ok i checked the discord mute channel icon and var(--status-danger) is correct

pine topaz
#

interesting

dire trench
#

@pine topaz this is what i got:

<svg width="24" height="24" viewBox="0 0 24 24">
    <path fill="currentColor" d="M18 10.7101C15.1085 9.84957 13 7.17102 13 4C13 3.69264 13.0198 3.3899 13.0582 3.093C12.7147 3.03189 12.3611 3 12 3C8.686 3 6 5.686 6 9V14C6 15.657 4.656 17 3 17V18H21V17C19.344 17 18 15.657 18 14V10.7101ZM8.55493 19C9.24793 20.19 10.5239 21 11.9999 21C13.4759 21 14.7519 20.19 15.4449 19H8.55493ZM18.2624 5.50209L21 2.5V1H16.0349V2.49791H18.476L16 5.61088V7H21V5.50209H18.2624Z" />
    {!enabled && <path fill="var(--status-danger)" d="M23 2.27 21.73 1 1 21.73 2.27 23 23 2.27Z" />}
</svg>
#

the mask did nothing so i deleted it

#

it was just a square filling the entire viewbox

pine topaz
#

no it definitely does something

#

because when i look at it in the browser, the gap is no longer there

dire trench
#

u right

pine topaz
#

what are you using to optimize the svg

dire trench
#

manually optimizing plus svgo to optimize the paths

#

this is what it looks like no changes made

#

didnt see the mask cuz chrome auto dark mode flag

pine topaz
#

odd, the Z is further down on mine

misty raptor
#

all plugins should have me as author cuz i’m so awesome

dire trench
#

this is what discord does:

#

unmuted

#

strange design choice

pine topaz
#

quite strange

dire trench
#

maybe its like that to show that its the mute button

#

and not just some bell

#

taco bell button

pine topaz
#

so apparently ryan died

dire trench
#

im manually editing the paths

#

discords bell is split into 2 parts

#

doesnt use a mask

#

im gonna recreate the mask using the coordinates in the paths of the 2 bell parts

pine topaz
#

ah ok

soft ginkgo
#

@austere talon is it okay to submit a vesktop flatpak to flathub under my ID (com.github.astenix.vesktop)? (i'll label it as unofficial)
||(and yes, i pinged the owner, preparing to die)||

dire trench
charred monolithBOT
crude raptor
#

what the hell is that bell icon

#

why would it have a crossthrough by default

charred monolithBOT
fiery torrent
lime stone
#

awesomekling uses it... but he calls it X husk

#

if you don't deadname twitter you are transphobic

olive aurora
#

if you use twitter you are transphobic

charred monolithBOT
deep glade
#

Is there some quickstart guide for creating vencord plugins?
I dont plan on doing anything massive, and if I ever actually make something more than just me messing around, itll probably only ever be relevant to me

austere talon
#

docs folder on github

#

and there are some others floating around

austere talon
#

ive just been busy lately and now super sick the past week

soft ginkgo
#

it's pretty much finished

#

notifications work, tray works, supports both amd64 and arm64

#

it's CC0 so use it if you want lol

austere talon
#

cool good work!

soft ginkgo
#

:3

austere talon
#

how about rich presence? venmic?

soft ginkgo
#

oh fu- rich presence

austere talon
#

i know the former needs workarounds to work with flatpak

#

you can likely just yoink it from the official discord flatpak or maybe armcord

soft ginkgo
#

i think there is a certain path for it

#

yeah

#

i hate the fact that you need to allow all devices to allow access to mic

#

wait no

#

what

#

all device access is off and i can still talk in vcs just fine

austere talon
#

i wonder what permission venmic would need

soft ginkgo
#

what even is venmic

austere talon
#

screenshare audio

#

it needs access to pipewire (system wide sound) and pulseaudio

soft ginkgo
#

well screensharing uses pipewire

#

not sure how that will work

austere talon
#

likely some portal stuff

#

we need raw pipewire access

#

probably

#

just see if it works

soft ginkgo
#

silly xdg portals

austere talon
#

play audio in some app, then start screensharing and try to pick your app as audio source

soft ginkgo
#

okay it doesn't work with portals

#

expected

austere talon
#

ping edit doesn't ping btw

soft ginkgo
#

yeah, i saw that in other apps

austere talon
#

like check #πŸ€–-bot-commands

soft ginkgo
#

the answer is no

#

:D

#

oh i was muted

native sinew
#

how can i patch flux before discord receives it

#

right now i receive the event after discord

dapper crest
soft ginkgo
#

because you choose the app

#

well and when sharing the whole screen it probably just merges the sound of all apps except vencord

spark pivot
dapper crest
#

No because it is system wide

People hear my minecraft when I'm sharing my browser

soft ginkgo
#

it can be system wide or not system wide

topaz thistle
#

No idea what it was

#

Do you want to expose the pipewire server to Flatpak?

dapper crest
#

It's always system wide excluding discord for me

soft ginkgo
#

it works

#

i think

#

it gets some audio?

topaz thistle
#

No idea but we just need access to the running nodes / creating nodes I don't think there are granular permissions so that should probably suffice?

soft ginkgo
#

there aren't granular permissions for that

#

you can still remove it with flatseal/flatpak cli if you really want to harden vesktop

dire trench
#

@pine topaz try this:

<svg width="24" height="24" viewBox="0 0 24 24">
    <path fill="currentColor" mask="url(#_)" d="M18 10.7101C15.1085 9.84957 13 7.17102 13 4c0-.30736.0198-.6101.0582-.907C12.7147 3.03189 12.3611 3 12 3 8.686 3 6 5.686 6 9v5c0 1.657-1.344 3-3 3v1h18v-1c-1.656 0-3-1.343-3-3v-3.2899ZM8.55493 19c.693 1.19 1.96897 2 3.44497 2s2.752-.81 3.445-2H8.55493ZM18.2624 5.50209 21 2.5V1h-4.9651v1.49791h2.4411L16 5.61088V7h5V5.50209h-2.7376Z" />
    {!enabled && <>
        <mask id="_">
            <path fill="#fff" d="M0 0h24v24H0Z" />
            <path stroke="#000" stroke-width="5.99068" d="M0 24 24 0" />
        </mask>
        <path fill="var(--status-danger)" d="m21.178 1.70703 1.414 1.414L4.12103 21.593l-1.414-1.415L21.178 1.70703Z" />
    </>}
</svg>
dire trench
charred monolithBOT
austere talon
hushed hawk
#

how make plugin

#

I plugin want to make

lime stone
#

what's your idea

#

might as well make sure it's possible :P

dapper crest
hushed hawk
#

I made it before

#

callsniper

#

I made it on betterdiscord

lime stone
#

hmm that sounds a bit malicious

junior olive
#

what does it do

hushed hawk
#

automatically answer every incoming call

junior olive
#

..why

lime stone
#

lol

#

maybe malicious for you then

hushed hawk
#

I used to use it when my friends would call me

#

I would insantly pick up and it would scare the crap out of them

charred monolithBOT
lime stone
#

lol

spark pivot
#

Use patches like a normal person

#

Literally what me and ant0n’s pr does

topaz thistle
#

@soft ginkgo make sure to also expose pulseaudio

#

I check the pulse server name to check if it's actually running under pipewire-pulse

soft ginkgo
topaz thistle
#

πŸ‘

pine topaz
#

i have changed it to yours

charred monolithBOT
frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Starts

None

Discord Errors

None

#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?=!1===\i.\i\.hasRelevantUnread\(this\.record\))/

ShowHiddenChannels (had no effect):
ID: 493334
Match: /(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?hasRelevantUnread\(\i\))/

ShowHiddenChannels (had no effect):
ID: 120817
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i\.record)\))/

ShowHiddenChannels (had no effect):
ID: 268760
Match: /(?<=if\(null==(\i))(?=.{0,160}?hasRelevantUnread\(\i\))/g

ShowHiddenChannels (had no effect):
ID: 283848
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i)\))/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

TypingIndicator (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

Bad Starts

None

Discord Errors

None

charred monolithBOT
austere talon
#

rip UNREAD_HIGHLIGHT

junior olive
#

it should still b a problem???

limber skiff
#

that's my channel list had hidden channels showing as normal

limber skiff
junior olive
#

ah

#

ok

limber skiff
#

they targetted show hidden channels this time

#

so many broken patches

junior olive
#

time to see if decor got fucked (probably not)

limber skiff
#

😒

junior olive
#

yeah no decor is fine

#

gl w showhidden

limber skiff
#

OH wait

#

it's all changes related to unreads

#

should be easy fix very likely

junior olive
#

o

tame escarp
#

probably a dumb question (and answered by a plugin that i just cant find), but does anyone know exactly how the client determines the role color and where i can patch that

misty raptor
#

have u tried searching something like β€œroleColor”

#

what exactly are u trying to do

turbid hatch
#

guild members will have it as a colorString prop

grave mangoBOT
tame escarp
#

well yeah i know, i'm asking how the client determines that and displays it

#

ah

dire thicket
#

is hiddenchannels a bit funky rn? i'm seeing unreads for hidden channels

limber skiff
#

yes it is

charred monolithBOT
tight flicker
#

anybody know how to reverse engineer react components on any website

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?=!1===\i.\i\.hasRelevantUnread\(this\.record\))/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 493334
Match: /(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?hasRelevantUnread\(\i\))/

ShowHiddenChannels (had no effect):
ID: 120817
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i\.record)\))/

ShowHiddenChannels (had no effect):
ID: 268760
Match: /(?<=if\(null==(\i))(?=.{0,160}?hasRelevantUnread\(\i\))/g

ShowHiddenChannels (had no effect):
ID: 283848
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i)\))/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

TypingIndicator (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

Bad Starts

None

Discord Errors

None

dire thicket
frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?=!1===\i.\i\.hasRelevantUnread\(this\.record\))/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 493334
Match: /(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?hasRelevantUnread\(\i\))/

ShowHiddenChannels (had no effect):
ID: 120817
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i\.record)\))/

ShowHiddenChannels (had no effect):
ID: 268760
Match: /(?<=if\(null==(\i))(?=.{0,160}?hasRelevantUnread\(\i\))/g

ShowHiddenChannels (had no effect):
ID: 283848
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i)\))/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

TypingIndicator (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

Bad Starts

None

Discord Errors

None

misty raptor
tight flicker
#

bruh

#

im being fr dude

#

like i only know a little of how but

#

im still trying to figure out just cant

austere talon
#

and wrong channel

tight flicker
#

sorry about wrong channel but yeah i find react developer tools really useful but still cant figure out how to apply it in reverse engineering

spark pivot
#

Click the <> when you are selecting an element

#

Then it shows you the code for it

#

Not much more to it

limber skiff
charred monolithBOT
limber skiff
#

what is this grammar

#

do you know why their bundler does this @austere talon (the (0,...) thing

!(0, N.getHasImportantUnread)(this.record))

austere talon
#

i explained once

#
import { getHasImportantUnread } from "thing"
#

N.getHasImportantUnread() would have the wrong this context

#

(0, N.getHasImportantUnread) returns getHasImportantUnread as a value

#

so you lose the this

limber skiff
#

I see

austere talon
#
var getHasImportantUnread = n(17281).getHasImportantUnread;
#

would be wrong

#

because exports can be changed at any time

limber skiff
#

ye

glass cedar
charred monolithBOT
frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Starts

None

Discord Errors

None

#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Starts

None

Discord Errors

None

limber skiff
#

@austere talon do you think you can just git push dev main?

charred monolithBOT
charred monolithBOT
misty raptor
#

idk how to either

#

im not good like that

#

but others are

#

anyway

#

another day goes by without keyword notify in official vencord.,,. very sad moment for all

spark pivot
#

another day added to the time its gonna take for the pr to be merged

misty raptor
#

whar

oak hull
#

tl;dr plugin prs take long to be merged

misty raptor
#

need to think of ways to make keywordnotify even better

#

it must be the best

junior olive
oak hull
charred monolithBOT
charred monolithBOT
charred monolithBOT
livid heath
#

damn 1 pr off from my birth year

junior olive
#

in which direction

#

⁉️

livid heath
#

forward blobcatcozy

junior olive
#

wack..

livid heath
#

i love testing my patch with dev companion, not rloading cord and wondering why the patch doesn't work

#

is it considered bad practice to use this.argument[0] in patches to get props in react components defined using function

shy veldt
#

horror

livid heath
junior olive
#

just arguments works

#

I do it in a few places afaik it's fine

livid heath
livid heath
#

since discord switched from webpack to rspack vencord should totally rename Vencord.Wepack to Vencord.RSPack UmaruSmug

dusky sonnet
#

Agreed

oak hull
#

Vencord.Bundles

shy veldt
#

Vencord.Wepack real

olive aurora
#

Vencord.Esbuild

crude hearth
livid heath
#

i am well aware of that

olive aurora
#

yes it's still a webpack impl

charred monolithBOT
charred monolithBOT
cunning bobcat
#

Vencord.CMake

topaz thistle
charred monolithBOT
livid heath
#

Vencord.Rustc when

patent minnow
#

Guessing that you can check if server id that you are on is in list and apply CSS url

#

Or multiple CSS urls

#

Could add a new tab in themes (In vencord settings section)

charred monolithBOT
charred monolithBOT
charred monolithBOT
tidal lake
#

oh hey that's me

charred monolithBOT
livid heath
#

perhaps

#

vns

nimble pendantBOT
tidal lake
livid heath
charred monolithBOT
charred monolithBOT
tidal lake
#

i'm a noob on git, would creating a list of working themes be a thing for the wiki?

spark pivot
#

that would take many weeks

#

there are thousands of themes

tidal lake
#

true, but just testing the 100 most popular ones on BD may be possible

#

i mean if it's not worth it, it's not worth it, but it seems simple enough to me to warrant some testing

#

i can probs just use a spreasheet for the moment if I have the time

charred monolithBOT
olive aurora
#

STOP FORCE PUSHING DEV

#

who keeps doing that

limber skiff
#

me

pine topaz
limber skiff
#

I didnt do now though

patent minnow
#

Is there a port?

pine topaz
patent minnow
#

I was asking

dapper crest
#

If not, please can someone develop?
this sounds like asking for someone to make it, not asking for help

patent minnow
#

U make the best plugins btw

dapper crest
patent minnow
#

I don't think the classicclienttheme plugin works anymore and I am using the latest version

limber skiff
#

I literally just merged the official plugin on the dev version lol

#

no longer third party

dapper crest
limber skiff
#

16 commits lmao

jagged cloak
#

lmao

patent minnow
#

Just use github desktop

jagged cloak
#

it used to have some error in the checks

#

nop

#

guh desktop so bad

limber skiff
#

I force push cuz ven makes bump commits on main and we end up making new commits on dev before pulling the bump comit

#

so idk if I can fix that without force push

jagged cloak
#

learn to pull before pushing trolleyzoom

#

no but idk

jagged cloak
#

dw that's what i did on that one occasion

patent minnow
#

Did I get the brain rot role?

jagged cloak
#

anyway does that pr look good

patent minnow
#

Yay

dapper crest
patent minnow
#

Thororen told me to use it

jagged cloak
#

who tf is that

#

average vencord dev conversation

austere talon
#

github desktop is malware

patent minnow
limber skiff
#

@austere talon I'm getting scammed by github

austere talon
#

how

limber skiff
#

I havent received a single payout lmao

#

they are taking 4974535 years to send money

austere talon
#

lmaooo

#

check ur stripe

limber skiff
#

it's settled

austere talon
#

github scamming

#

they want ur money

limber skiff
#

😀

#

my estimated next payout is tomorrow

#

I had one last month but they didnt pay??

austere talon
austere talon
#

and use a plain find

#

otherwise it will break class components

#

because lazy proxies with a function, so react will call it as a function and then the proxy tries to call the class as function

#

maybe we could just have a dedicated findComponentLazy(filter) that does this for u

#

but mmm

limber skiff
#

yeye I know I need to use the normal one instead of lazy

charred coyote
#

how would i translate discord to another language? idk if i can do this using vencord
i have asked this before but i still feel confused

spark pivot
#

you don't even need vencord

#

if you mean translating vencord we don't have a system for that yet

#

and we probably never will sadly

charred monolithBOT
charred coyote
# spark pivot

nono, the language i am translating it to is not supported by discord, as in i want to translate discord to this language

#

i am not saying change the language i mean literally doing the translation myself because that language is not on discord

spark pivot
#

oh then no

charred coyote
#

a

jagged cloak
#

hijack their language moduel and do everything yourself

olive aurora
#

has been done before

#

I tried porting the translations to vencord (they died after swc), and someone else was also trying but both ended up breaking

jagged cloak
#

probably from porky cord

olive aurora
#

yop

#

was for toki pona

charred coyote
charred coyote
#

or the plugin stopped working?

olive aurora
#

yeah the plugins stopped working

olive aurora
#

should be easier now i think after rspack but im so lazy

charred coyote
#

we have the data but i don't really know how to code πŸ’€ so i guess goodluck

charred coyote
olive aurora
#

yeah the author split the data for us to use in vencord actually

#

i imagine a big chunk of that is outdated though

charred coyote
#

i hope not 😭

limber skiff
#

you have to reverse engineer how discord loads a language data and chooses to use it

#

and patch the language list on the settings and add a button for your language (but this is optional)

charred coyote
#

all you would really need to do is inject the strings if you really don't care about like, the whole "choose language" type thing and just having it being a plugin instead

#

unless if i'm wrong

limber skiff
#

I don't know exactly what you have to do

#

you gotta reverse engineer how it works lol

olive aurora
#

when i was doing that they we're basically just a map of lazy loaded modules

limber skiff
#

but I suppose there may be a single place you can patch and try to get a message in your language and return it instead of the original

olive aurora
#

but abstracted away by three other maps or something so it was annoying to patch

charred coyote
#

actually, they seemed to be working on something already

#

but i don't think it got done

#

"import definePlugin from "../utils/types";

export default definePlugin({
name: "Translations",
patches: [
// list of locales
{
find: '"name":"English, US"',
replacement: {
match: "')",
replace: "').concat(Vencord.Plugins.plugins.Translations.metadata())",
},"

#

this is part of the code that's in their server

olive aurora
#

im literally telling you

#

i worked on this

charred coyote
#

"Vencord"

limber skiff
#

so if you can find where it uses the selected language and gets the message you can instead return the one in the language you want to add

#

that's a janky way but should work

woeful sable
#

could someone make an attachment insertion plugin?

void echo
woeful sable
#

insert attachments like files or images in sent messages

#

when editing them

void echo
#

i still dont rlly get what u mean

spark pivot
#

edit attachments into previously sent messages

void echo
#

oh thats not possible

#

and if it is its like

austere talon
#

it is

void echo
#

very api abusive

woeful sable
#

if you already sent a message, there's no way to insert an image or a file inside

#

you need to resend the message for example

#

so a plugin allowing you to do it

spark pivot
#

i would totally make that

woeful sable
#

nice, would be very useful for a lot of people including me

lime stone
#

seems ok

spark pivot
#

def wouldn't be

#

just might be hard to patch in

lime stone
#

well... i heard an anecdote of receiving an email from discord after sending embeds as a regular user... was that even ever possible

austere talon
#

youd need to add some upload button to this ui and then optimally have upload progress indicator and such

austere talon
#

but thats entirely different tbh

lime stone
#

patched right? right?

#

i never know with discord trolley

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?=!1===\i.\i\.hasRelevantUnread\(this\.record\))/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 493334
Match: /(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?hasRelevantUnread\(\i\))/

ShowHiddenChannels (had no effect):
ID: 120817
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i\.record)\))/

ShowHiddenChannels (had no effect):
ID: 268760
Match: /(?<=if\(null==(\i))(?=.{0,160}?hasRelevantUnread\(\i\))/g

ShowHiddenChannels (had no effect):
ID: 283848
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i)\))/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

TypingIndicator (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

Bad Starts

None

Discord Errors

None

lime stone
#

yeah, you could use that for scams ig

austere talon
spark pivot
lime stone
#

it's java but rewritten in typescript

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?=!1===\i.\i\.hasRelevantUnread\(this\.record\))/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 493334
Match: /(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?hasRelevantUnread\(\i\))/

ShowHiddenChannels (had no effect):
ID: 120817
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i\.record)\))/

ShowHiddenChannels (had no effect):
ID: 268760
Match: /(?<=if\(null==(\i))(?=.{0,160}?hasRelevantUnread\(\i\))/g

ShowHiddenChannels (had no effect):
ID: 283848
Match: /(?=&&\i\.\i\.hasRelevantUnread\((\i)\))/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

ShowHiddenChannels (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

TypingIndicator (found no module):
ID: -
Match: .UNREAD_HIGHLIGHT

Bad Starts

None

Discord Errors

None

spark pivot
#

not with vencord

#

probably works with replugged

woeful sable
#

ah well i dunno about that

spark pivot
#

submit it

woeful sable
#

🐐

#

thx

austere talon
#

woah clienttheme is pretty cool

#

@dapper crest good job!!
and thanks for reviewing it nookies

#

maybe it would be good to add a thing in the appearance tab

#

so its more intuitive

#

like here right of the idk whatever that button is

#

also the plugin is missing a README

#

please what is this 😭

junior olive
crude raptor
#

lol

crude raptor
#

any of yall know why my vesktop install is using a different version of a plugin from the one in my local vencord clone from github? i have the option set in vesktop settings

junior olive
#

did u remember to rebuild

crude raptor
#

thats a- fair thing to question but it was definitely working at some point..

#

i'll give it a shot

#

well shit- thats nice to have back LMFAO

charred monolithBOT
onyx spruce
#

Is there a custom discord notfications plugin?

dapper crest
dapper crest
spark pivot
#

like months ago

austere talon
dapper crest
austere talon
#

i already added a readme for ClientTheme

dapper crest
junior olive
austere talon
#

note the .git in your link

crude raptor
#

before i try to make changes have textreplace changes been accepted yet i forgot that i wanted to make the "if contains" area function with regex

austere talon
junior olive
#

i mean like

austere talon
junior olive
#

idk where but a visualization of what your readme will look like on the site before it's merged

austere talon
#

i just took your screenshot and video from your pr

austere talon
dapper crest
junior olive
#

kindaaa

austere talon
dapper crest
#

ah

olive aurora
#

whar

#

isnt it normal to clone as .git

austere talon
#

kinda

#

but its not supported ig

#

lemme fix that xd

olive aurora
#

dumb ve

austere talon
#

uh

crude raptor
austere talon
#

that is strange

#

it shouldnt happen

#

note how we remove trailing .git

#

can you run this in ur console @dapper crest

#
await VencordNative.updater.getRepo()
dapper crest
#

I may have already changed my origin though, I had a leading / for some reason

olive aurora
#

then thats ur issue

dapper crest
#

with the leading dash it breaks, but that would make sense

austere talon
#

OHHH

#

trailing dash

#

ok

dapper crest
#

nothing else about git broke when I did it earlier

austere talon
#

why would you have a trailing dash tho thats insane

olive aurora
#

how is leading slash with .git even real

austere talon
#

i think they mean trailing

olive aurora
#

like index.html/

austere talon
#

like seen in their screenshot

olive aurora
#

yes

#

but how do you even

dapper crest
austere talon
#

u gotta have put that manually

olive aurora
#

i assume it was an accident

dapper crest
#

I don't understand git too well beyond commits and merges

austere talon
#

well i could fix it easily but i also kinda dont see the point because thats an insane edge case

dapper crest
#

fair

olive aurora
#

i remember seeing a website where index.php was a folder

junior olive
#

let vscode git extension take the wheel

#

πŸ™

dapper crest
austere talon
#

https://github.com/Vendicated/Vencord/ would be plausible, but you gotta have manually put a / to achieve https://github.com/Vendicated/Vencord.git/

olive aurora
#

true..

dapper crest
#

I may have just pressed left and added .git instead of deleting and adding .git

crude raptor
olive aurora
austere talon
#

WHY DO THEY ALLOW THAT

#

IUAuji9ofeouji9gejiefgjiojioef

junior olive
#

LMAO

olive aurora
#

TROLLED

austere talon
#

WE ARE INSANE

#

WHY DO WE ALLOW THAT

junior olive
#

IT WORKS

austere talon
olive aurora
spark pivot
austere talon
junior olive
#

i cant wait until i can go back to using regular build

austere talon
#

wait really

#

why

dapper crest
olive aurora
#

doesnt work πŸ˜‡

austere talon
#

like genuine question

olive aurora
#

i win

junior olive
austere talon
#

yes

#

ive been using dev install since vencord was first created

#

theres like no difference mostly

junior olive
#

keeping my branch in sync and having to cd to the directory and pnpm inject so lame

austere talon
#

wait inject

#

u dont have to inject often O.O

junior olive
#

i feel like i have to inject every other day on canary

austere talon
#

anyway ill continue reviewing soon

junior olive
austere talon
#

i got the rona rn so ive not been able to do any code stuff

junior olive
#

uh huh

austere talon
#

or get on vesktopppp

junior olive
junior olive
junior olive
#

i've commissioned artists for a winter preset so it's like

junior olive
#

i wonder how hellish it is

dapper crest
#

is there a way I could make clientTheme apply to the vesktop launch shiggy

austere talon
#

yes actually

#

i think it should work

junior olive
#

i will add swift to vesktop soon

charred monolithBOT
austere talon
#

yep works

junior olive
#

does curve have a mac

austere talon
#

big doubt lol

junior olive
#

sad

austere talon
#

@topaz thistle do u have a mac

dapper crest
austere talon
#

i wonder why even the patch

#

like whats the point

#

@limber skiff

junior olive
#

also vee get well soon

#

(threat)

austere talon
#

for the DOMContentLoaded

#

O.O

junior olive
#

(not threat but like threat joke)

crude raptor
#

does json allow comments or nah

austere talon
junior olive
austere talon
#

we could just add a property to definePluginSettings like

limber skiff
crude raptor
limber skiff
#

the module I'm patching is the webpack entry point

austere talon
#
startAt: StartAt.DocumentStart,

start() {
  document.addEventListener("DOMContentLoaded", listener);
}
crude raptor
#

(its fine i just wanted to tidy my exported text replace rules for if i have to modify them later but it shouldddd be self documenting)

austere talon
#

what do you think?

limber skiff
#

seems good

austere talon
#

cause tbh this isnt the first time ive run into that issue

#

that way the plugin wouldnt even need a restart

austere talon
#

cool

limber skiff
austere talon
#

i think we just need two types:

  • instantly
  • webpack ready (current, will be default)
crude raptor
#

second and probably last json question can it handle .. trailing commas? (idk what to call it- a comma at the end of a list)

crude raptor
junior olive
#

when is someone going to make profiledb with video pfp support

crude raptor
limber skiff
#

so we can avoid adding a lot of listeners

#

also for real client themes is so fire lmao

#

finally colored discord themes that dont slow your client

austere talon
#

true true

austere talon
junior olive
#

confused

austere talon
#

yes very lol

limber skiff
#

some discord themes have like 10k lines

austere talon
#

a lot of themes make discord super laggy

limber skiff
#

it makes your client soooooo slow

junior olive
#

oh ok

olive aurora
#

shrimply add if (Settings.EpicPlugin.enabled) at top-level

junior olive
#

mine is

probably fine

limber skiff
#

I have done that

austere talon
#

ITS SO BAD HAHHAHA

junior olive
austere talon
#

actually you cant even use settings on top level safely

#

so it'd have to be Settings.EpicPlugin?.enabled

limber skiff
austere talon
dapper crest
austere talon
limber skiff
junior olive
#

i need to redo my theme to match my code editor theme

austere talon
#

btw why the :root:root lol

#

does it boost specifity

#

horror

dapper crest
limber skiff
#

lmao

#

that's funny

austere talon
junior olive
#

why is the first var so indented

austere talon
#

ig the more idiomatic way would be to use !important

austere talon
olive aurora
#

:root:root:root:root

dapper crest
grave mangoBOT
# austere talon https://github.com/Vendicated/Vencord/blob/dev/src/plugins/clientTheme/index.tsx...

**index.tsx: **Lines 138-151

// Generate offsets
const lightnessOffsets = Object.entries(variableLightness)
    .map(([key, lightness]) => {
        const lightnessOffset = lightness - variableLightness["--primary-600-hsl"];
        const plusOrMinus = lightnessOffset >= 0 ? "+" : "-";
        return `${key}: var(--theme-h) var(--theme-s) calc(var(--theme-l) ${plusOrMinus} ${Math.abs(lightnessOffset).toFixed(2)}%);`;
    })
    .join("\n");

const style = document.createElement("style");
style.setAttribute("id", "clientThemeOffsets");
style.textContent = `:root:root {
    ${lightnessOffsets}
}`;
austere talon
#

ah makes sense

#

its this indent here

limber skiff
#

yeah

olive aurora
#

why do people use :root in css like who is out there styling xml

junior olive
#

yeah wack

olive aurora
#

its supposed to be agnostic for html/xml

dapper crest
austere talon
#

thats why i often write ` blocks like this:

function thing() {
  const thing = `
:root:root {
  ${lightnessOffsets}
}
  `.trim();
}
#

huh

#

why no codeblock

olive aurora
#

banger formatting

austere talon
#

DISCORD

junior olive
#

i love you, dbus-chan~!

dapper crest
limber skiff
#

this should be fine right

austere talon
junior olive
#

i wonder if this is applicable to any of my finds

limber skiff
#

maybe

dapper crest
austere talon
#

god i need to make a plugin that makes images in chat load the full resolution one

junior olive
#

all my component finds seem like findByCodeLazy so idk

austere talon
#

because come on wtf is this

junior olive
#

i lied

austere talon
#

even this sucks

austere talon
#

if you open in browser it looks so much better

junior olive
#

@austere talon should this get thrown in common maybe

austere talon
#

i absolutely hate the inline hints, very much not fine

junior olive
limber skiff
#

LOL

limber skiff
#

well fuck the attempts variable

junior olive
#

someone should write a script to determine if a find is used enough to be common

austere talon
#

i think its fine to just remove attempts

#

and use the default

#

if people want more control over attempts they should do it manually

limber skiff
#

yeah

austere talon
#

it will print warnings if the same module is searched multiple times

#

but it would only work if theyre actually all executed

olive aurora
#

add to ci

#

trolley

limber skiff
#

webpack api needs rewrite

#

it's messy

austere talon
#

yeah

#

we can drop the nested search

#

which will improve performance too

#

but its a lot of work

#

cause then we also need to check (and update) all webpack searches

limber skiff
#

we should just delete the file and write from scratch

austere talon
#

its mostly fine tbh

#

what would you change about it

limber skiff
#

nvm

#

you are right

#

though we could improve some jsdocs lol

#

should I make a function for searching this

#

the code of .type

#

well I did

austere talon
#

thats a terrible name

#

findMemoByCodeLazy

#

.type means its a react memo

limber skiff
#

oh lmao

#

I didnt know

austere talon
#

the one undefined is smth else

limber skiff
austere talon
#

malware

junior olive
#

i swear i have something that needs a find like this

austere talon
limber skiff
#

wdym?

austere talon
#

like

#

it will automatically check .type for you

#

it will find both memos and normal components

limber skiff
#

oh

#

it's cuz we dont have findComponent lol

junior olive
#

i have this shit

limber skiff
#

I'm using the normal find

#

and findByCode

austere talon
#
function findComponent(...strings: string[]) {
  const filter = filters.byCode(...strings);
  return find(m => {
    if (filter(m)) return true;
    if (!m.$$typeof) return false;
    if (m.type) return filter(m.type); // memos
    if (m.render) return filter(m.render); // forwardRefs
    return false;
  })
}
#

smth like this

limber skiff
#

wtf are forwardRefs

austere talon
#

so many

limber skiff
#

oh

austere talon
#

because it happened multiple times in the past that component finds failed because something was made a memo or made no longer a memo

#

so it'd be more robust to have one function that handles all

junior olive
#

wait vee i was running into a weird issue while developing decor

#

i wanted to memoize a component

#

but it just caused issues

limber skiff
austere talon
#

unsane

limber skiff
#

what does that mean lol

#

the screenshot

austere talon
#

theyre just react contexts

#

needless to check

limber skiff
#

ah

austere talon
#

theyre not really useful

#

its global state

junior olive
#

is this the same memoization issue just self-induced

austere talon
#

dont memo

#

why would u do that