#👾-core-development

1 messages · Page 174 of 1

limber skiff
#

we are proxying our target

austere talon
#

i know but

#
const { foo } = findLazy(...);
#

if foo is a string

#

how do you make this work while still being lazy

limber skiff
#

foo will become a proxy

austere talon
#

then it doesnt work

limber skiff
#

well the type will be wrong I guess but

austere talon
#

you're passing a proxy as string that makes no sense

limber skiff
#

you should rarely use this anyways

#

before it would throw errors, now it doesnt at least

#

it's not perfect but it's the closest we can get

radiant reef
#

uhm

#

It would be better to listen to vee

limber skiff
#

I am listening to vee

#

we can revert this if it's better to not have

austere talon
#

it seems really bad because you end up with not strings

#

how does passing that to className even work

limber skiff
#

in the old state it would error, now it doesnt error, but may cause an issue in the future depending on how you use

austere talon
#

are you sure its not turning into [object Object]

limber skiff
#

nop

#

it's not

austere talon
#

if it somehow works then you're doing something wrong i think

#

it shouldnt work

radiant reef
#

Maybe the IDE is bugged

limber skiff
#

what do you mean the IDE is bugged

radiant reef
#

Uhm

limber skiff
#

I'm literally running on discord with it

radiant reef
#

a

#

Chrome devtools moment

limber skiff
#

but will it cause issues besides with typeof, I don't know

austere talon
#

and how tf does it get converted to a string

#

???

limber skiff
#

I guess it calls toString internally always lmao

austere talon
#

and how would toString() turn it into a string

limber skiff
#

and toString is accessing the inner toString

austere talon
#

right

limber skiff
#

the actual string value

austere talon
#

or it might be valueOf

limber skiff
#

also works

#

funny

austere talon
#

anyway i dont like this tbh

#

its weird

#

you rely on it doing some string operation or toString

#

its really hacky imo

limber skiff
#

do you want to throw error instead

austere talon
#

idk what a good default behaviour is tbh

limber skiff
limber skiff
limber skiff
charred monolithBOT
heavy cedar
#

when i tried it out it was like:
the target was 12321321123 and the prop was Symbol.toPrimitive

and i wanted to return obj without the reflect.get
but the return type was supposed to be a function (i think) so i just wrapped it in ()=>

#

oh yeah that makes more sense
i noticed it would proxylazy the primitive as well but i thought it was normal behaviour so i just only looked at primitives

#

mb

#

i made ur change

#

thanks for helping me

limber skiff
#

though idk if we are gonna merge it cuz as ven said it's weird for the primitives to become a proxied function

heavy cedar
limber skiff
#

yeah but for primitives it doesnt work well

heavy cedar
#

so is the ideal move to disallow this like u said (throw error) and fix startuptimings using the same tick thing instead

#

do u want me to try fixing startuptimings still?

limber skiff
#

okay throw the error

#

and let me show you how to fix startup timings super easy

#

that should fix it prob

charred monolithBOT
limber skiff
charred monolithBOT
heavy cedar
#

nice

#

u should prob make the pr since i didn't rly do anything lol

rugged spire
#

@austere talon you should set server icon to the rainbow vencord icon

limber skiff
#

do it

#

and put in the same pr

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

limber skiff
#

good

charred monolithBOT
charred monolithBOT
wary dew
#

account finally got unbanned

#

the pull request is live again

charred monolithBOT
#

Discord Account

No response

What happens when the bug or crash occurs?

Using git bash to inject vencord into discord, it's blocked by windows defender

What is the expected behaviour?

Inject vencord

How do you recreate this bug or crash?

  1. $ pnpm inject
  2. file: C:\Users\Chay\Vencord\dist\Installer\VencordInstallerCli.exe detected as trojan

Errors

$ pnpm inject

> vencord@1.7.4 inject C:\Users\Chay\Vencord
> node scripts/runInstaller.mjs

Downloa...
quick isle
#

what's the "correct" way to dev vencord? i've just been using vesktop and running pnpm run watch

shell shuttle
#

every time i update i do pnpm build and pmpn inject

charred monolithBOT
quick isle
austere talon
#

docs are getting overhauled soon

quick isle
#

oh nice

limber skiff
austere talon
#

uhhh ill check tomorrow!

#

but also why not use regex instead of array

limber skiff
#

why tho

#

regex is not efficient

#

strings are more than enough

#

this is like the first case a module only has generic strings which need more than one to match properly

#

and it's still efficient

#

let me show you the module lmao

#
// [EXTRACTED] WebpackModule434479
// WARNING: This module was extracted to be more easily readable.
//          This module is NOT ACTUALLY USED! This means putting breakpoints will have NO EFFECT!!

0,
function(e, t, n) {
    "use strict";
    n.r(t);
    var l = n("735250")
      , a = n("470079")
      , s = n("803997")
      , i = n.n(s)
      , r = n("481060")
      , o = n("858752")
      , u = n("294639")
      , d = n("697908");
    t.default = a.forwardRef(function(e, t) {
        let {renderIcon: n, text: a, selected: s, badge: c, showUnread: f=!1, ...h} = e;
        return (0,
        l.jsxs)(r.Clickable, {
            ...h,
            innerRef: t,
            tag: "li",
            className: i()(u.containerDefault, d.wrapper, {
                [d.modeSelected]: s
            }),
            children: [f ? (0,
            l.jsx)("div", {
                className: i()(d.unread, d.unreadImportant)
            }) : null, (0,
            l.jsx)("div", {
                className: d.link,
                children: (0,
                l.jsxs)("div", {
                    className: o.content,
                    children: [(0,
                    l.jsx)("div", {
                        className: d.iconContainer,
                        children: n(d.icon)
                    }), (0,
                    l.jsx)("div", {
                        className: d.name,
                        children: a
                    }), c]
                })
            })]
        })
    })
}
//# sourceURL=ExtractedWebpackModule434479
#

it's what does this

#

and for obvious reasons the classes it uses are the same as the normal channels do

#

so this ends up only having generic stuff which all other modules have

#

but having find as an array let me match 2 strings which only this module has both

austere talon
#

honestly it doesn't seem like u need to actually patch this module

#

you add your own component after , c right

#

c is passed via badge prop

limber skiff
#

yep

austere talon
#

you can patch the parent and change badge to an array with your element

limber skiff
#

hmm I see

#

but at the same time, it doesn't hurt to allow find to be an array

#

and we can still enforce a single find always

#

I think this is something in the future will have to be done either way

#

for a case

#

so why not now

#

very minimal changes, the hardest part was the patch helper lmao (to interpret the array)

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
median rapids
#

referenced message is only provided over gw iirc

#

so if you're going back through msg history unless it's cached it's gonna be unavailable

charred monolithBOT
heavy cedar
#

lol

charred monolithBOT
#

since this is gonna be a very rare occurence, i don't think having the hover requirement is necessary

In one of the servers I'm in, ctrl+F'ing for a certain term guarantees all the replies in the search results to be unloaded (maybe bc the results are spaced apart in terms of timestamp)

So I'm worried if not having a hover check would send like 10 requests at once if the user starts scrolling through the search results (or I could just use a queue)

heavy cedar
#

i had the comment loaded up

median rapids
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

I would love to if I just had the time for it. I might have some spare time
next week, I'll have to see.

On Mon, Apr 8, 2024, 9:34 PM TheCuteOwl @.***> wrote:

Pleaaase make it exist


Reply to this email directly, view it on GitHub
https://github.com/Vendicated/Vencord/pull/2123#issuecomment-2043417888,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AT6L3QK633QPMTSXTCOW4UTY4LPKPAVCNFSM6AAAAABCEDX4L2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZ...

charred monolithBOT
median rapids
#

whar

#

@heavy cedar afk: true is required for mobile notifications to be sent if you have an active session elsewhere

heavy cedar
#

i rly hope mobile notifs don't check for the status to see if it's idle

rugged spire
#

i am making many husk why tf u want this comments in plugin requests

#

real github users

heavy cedar
#

yeah i think a lot of these are like a "this is cool" thing instead of being useful

#

like the streampreview one

rugged spire
#

yes

median rapids
#

also afk != idle

#

if you're only affecting the auto idle change that's fine

#

notifications are determined by the afk parameter

heavy cedar
#

or did i underestand it wrong

heavy cedar
#

hm maybe i should've tested with my phone first before editing stuff

#

ok i'm just gonna revert to what i had before and then test it with my phone later

median rapids
#

as long as this is still dispatched

#

and set to true

#

after the afk timeout

#

you're fine

heavy cedar
#

surely the latest one overrides the previous one

#

fun fact: i did not know about dev mode until now

#

🥲

median rapids
#

yes

heavy cedar
#

i'll still check with my phone tho

#

i don't wanna mess up again

charred monolithBOT
jagged reef
#

Vee, c'mon

rugged spire
#

vee is merging PRs

charred monolithBOT
glass jasper
rugged spire
#

which one

glass jasper
#

showBadgesInChat#2302

shell shuttle
#

i'm really glad this was merged

#

because now i can finally add more emotes to my server with ease

glass jasper
#

we sit here waiting for mine to be merged #2302

limber skiff
#

lol

shell shuttle
#

i rpomise

jagged reef
rugged spire
#

thank you vee very cool

#

no more blue name now yellow name

shell shuttle
#

i have pinnk name cuz im cool blehhhhhh

jagged reef
glass jasper
charred monolithBOT
glass jasper
jagged reef
#

we had a deal

rugged spire
#

i will merge into my fork soon maybe idk

jagged reef
#

in all seriousness, it's a great plugin

glass jasper
charred monolithBOT
#

thank you for the contribution!

this has a loot of issues such as

  • dom manipulation instead of using discord module
  • hardcoded colour instead of using discord css variable
  • wrong size (should be 16px, not 18px)
  • bad formatting

as such, i have fixed these issues myself and commited it (with you as co-author) via https://github.com/Vendicated/Vencord/commit/38ffdd7d9457858c6a79a5705f4c7746047f7561

rugged spire
#

i love finally not having to cherry pick the dev contant commit into new branches

charred monolithBOT
austere talon
shell shuttle
#

OH

#

OMG

#

I DIDNT SE THAT BUTTON

#

LMAO

#

wait

rugged spire
#

github pr UI is stupid

shell shuttle
#

ohhh

rugged spire
#

there are 2 edit buttons

#

the body of your first message

#

and the title and other information

#

i have worried "ono i cant rename this PR" today due to this shit UX

#

i mean

#

it also applies to issues

#

it was an issue I had the problem with

charred monolithBOT
shell shuttle
#

hold on ill try to figure this one out

austere talon
#

huh refinedgithub?

charred monolithBOT
shell shuttle
austere talon
#

what does it have to do with it

shell shuttle
#

got it a few days ago

#

everytime i try to discard changes to a file

#

it gives me that error

#

i didnt know it was related to refinedgithunb

austere talon
#

ohhhhh

#

the discard button

#

i thought u were getting that on the edit button

#

yeah discard changes is a refinedgithub feature

#

just fix ur token

shell shuttle
#

alr

#

think i fixed it

rugged spire
#

how often is dev merged into main

jagged reef
#

defo

rugged spire
glass jasper
charred monolithBOT
#

sooo this pr seems to patch the Guild thingie row component and check if props.text is GuildHome, then renders its own component

you could just directly patch the parent instead. the component takes a badge property that renders exactly in the position you want. you could just use that property and have a much cleaner patch without the hacky find for the super tiny generic module

image

limber skiff
#

@austere talon should I change the patch but keep the array find stuff

charred monolithBOT
austere talon
#

otherwise someone might see it during refactor and remove it thinking its a "bug"

limber skiff
#

aight

austere talon
# charred monolith

it seems whoever wrote this ui code has no idea how react works, so i recommend learning basic react first with the official react guide

glass jasper
austere talon
#

github doesnt support avif what

#

awful

#

but it can embed from links

shell shuttle
charred monolithBOT
spark pivot
rugged spire
charred monolithBOT
median rapids
charred monolithBOT
charred monolithBOT
austere talon
#
flux: {
    SOME_EVENT(event) {
    }
}
#

auto managed for you

jagged reef
#

a

charred monolithBOT
glass jasper
#

^ I fucked up an accident closed this and now it’s not letting me reopen it so I’m gonna have to just open up a whole new one

brazen bone
austere talon
#

did i give u suggestion to change it to that

#

past me is stupid in the head ignore them

#

what a stupid idiot caturtle

#

sorry lmao

brazen bone
#

But it's the non-Webpack version that should be done there, since it doesn't do any webpack stuff (but does access another webpack-lazy object)?

austere talon
#

yes non webpack version

#

i mean it doesn't matter really

#

but yeah xd

#

the outside lazy is already tracked on its own

brazen bone
#

Also is rebase+force-push supposed to mess up the commit list in the pr timeline?

austere talon
#

yes

#

don't do it

#

use merge only

brazen bone
#

Oh okay

#

Hard to keep track of which projects prefer rebase vs merge :/

charred monolithBOT
austere talon
#

why

#

it makes code review inconvenient

rugged spire
austere talon
#

doubt

#

if u force push it messes up app the review comments and makes it hard to figure out what changes you made after review

austere talon
#

like usually i review then check the later commit to only review the changes

#

if u rebase and force push it forces me to read the entire code again

rugged spire
#

maybe learning more about git is a bad thing

#

i only pretend to know what i do

austere talon
#

if u do prs right (aka one single feature per pr), then you want it as only one commit anyway, so you should squash

as such rebasing during the pr is pointless cause it will be rebased in the end anyway

#

i always squash + rebase prs so it doesn't matter whether you have clean commits or not

#

a lot of the time i commit shit as random keyboard smash or other stuff cause it's gonna get squashed anyway blobcatcozy

brazen bone
#

Makes sense

#

Will keep that in mind next time

charred monolithBOT
odd heath
lyric comet
#

where does PinDMs look inside the vesktop dir to get currently pinned dms?

before the category update it would look for channel ids inside settings/settings.json under json "plugins": { "PinDMs":{ "pinnedDMs": "ids-here" }, },
but now the json file is unaffected by pinning dms or creating categories

#

sorry if this considered a stupid question, im not really good at reading js/ts :(

brazen bone
#

Why would that be in vesktop dir? Somewhere in localstorage would make more sense (probably via DataStore)

charred monolithBOT
rugged spire
#

horror

#

using datastore for that

#

WHY

#

yop it uses datastore

#

devs will make DataStore sync list api

charred monolithBOT
charred monolithBOT
shell shuttle
#

grrrrr

charred monolithBOT
glass jasper
# charred monolith

correct if i’m wrong and i’m slightly sleep deprived so i might be, But won’t discord notice activity on an api that shouldn’t have activity on it and get very suspicious

shell shuttle
#

they still have party mode enabled

#

but that's not an api

mortal fractal
#

trying to verify your email while already having a verified email used to do that but it wasnt meant to and was fixed

charred monolithBOT
#

It adds a blank space to the end of the messages sent by the user, so that the height of the emojis (if the message only contains emojis) is reduced as if there was text in the message.

  • The character can be changed in the settings.
  • The character isn't added if the message doesn't contain any content (e.g. only an attachment) or if it has any links.

Enabled:
Screenshot_2

Disabled:
![S...

charred monolithBOT
charred monolithBOT
austere talon
#

likely would need to inject into overlay too to fix that

charred monolithBOT
lime stone
#

sick

#

must merge now

#

do i have the mantika curse where my plugins never get merged blobcatcozy

tepid knoll
limber skiff
#

I just never tried to fix it yet

#

(primarily because first I need to find how to inject in the overlay)

austere talon
#

its a different process and diffferent browser window

#

need to edit src/main/patcher.ts

#

inside the BrowserWindow constructor you need to detect overlay from the properties and override the preload with ours

#

then inside preload you need to add special handling for overlay

or maybe create a second vencord preload script (now have to update the updater, the horror)

#

its a lot of effort

tepid knoll
#

i dont think its a big deal for like the custom sounds one cuz i can simply just disable the overlay i was mostly just curious about it

limber skiff
#

does it actually need special handling for overlay

austere talon
#

oh thats u

tepid knoll
#

ye

austere talon
limber skiff
#

it's the same discord browser window, but with __OVERLAY__ set to true

#

patching everything wouldn't make a difference honestly

austere talon
#

lol are they adding toads plugin natively

#

funny

shell shuttle
tepid knoll
#

nitro only tho

#

i might be gaslighting myself but didnt they do some sort of custom sound thing before but it forced u to use server soundboard stuff

lime stone
#

considerthis fakenitro

tepid knoll
#

apparently its per guild only atm

#

so individual servers can have their own custom notification sound i guess?

#

which is probably why its also nitro only cuz u dont set anything really client side oh well

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

It's not much but it will help a bit with the type signatures and create a more obvious place for things to go in the future if applicable.

It might be better to use the mergeDefaults in misc.tsx but it crashes due to the isMobile definition in there (ReferenceError: navigator is not defined) and I don't want to move around exports that might be used by e.g. vesktop.

shell shuttle
#

bruh

austere talon
#

tbf it does suck lmao

#

but u can just change it with ur launcher

shell shuttle
#

wgats the icon look like

magic agate
#

this one? or this one

austere talon
#

no

#

its

jagged reef
shell shuttle
glass jasper
shell shuttle
dawn plover
#

who would want to replace this..

shell shuttle
magic agate
#

idk its fine it took me a bit to get used to not being the original discord icon but honestly i like gay vc better

charred monolithBOT
wary dew
charred monolithBOT
jagged reef
#

I can feel that my pr is abouta be merged

#

The force is deep inside me

charred monolithBOT
glass jasper
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

supersedes the abandoned #1980 (Is also just complete rewrite of it

Shows the message author's badges beside their name in chat.
The badges include all built-in Discord badges.
It also proudly displays your Vencord donor/contributor badges.


The settings editor lets you:

  • Drag to reorder
  • Click to enable/disable a specific badge type
  • Hover over a badge for the tool-tip about what badges it represents

An example of what the menu looks like ↓
![Exampl...

glass jasper
jagged reef
#

W

magic agate
#

do i have to do something to pass the test workflow or do i just have to wait on someone maintainer tagged to doo it

jagged reef
magic agate
#

oh, is that to save resources

#

so someone just has to press the button?

limber skiff
#

which one do you want

verbal pumice
#

but yeah just ask someone like ^^ to run it for you

magic agate
glass jasper
#

@shell shuttle what does “LGTM” mean?

charred monolithBOT
shell shuttle
shell shuttle
# charred monolith

am i allowed to make reviews and comments like this cuz i don't wanna sound like a nerd or minimod

glass jasper
shell shuttle
charred monolithBOT
glass jasper
# charred monolith

@jagged reef Yeah the two devs that made it seem too be quite good at this and they made a really good plugin

austere talon
charred monolithBOT
magic agate
#

"LGTM" also stands for 'let's get this money' if you are cool

charred monolithBOT
spark pivot
#

😭

magic agate
#

hahaha my coworkers would have liked that

charred monolithBOT
charred monolithBOT
charred monolithBOT
heavy cedar
charred monolithBOT
#

it could be, yes, but at the same time I don't want noReplyMention enabled,
I just want to be able to quickly toggle the mention on my reply and the
current name of noReplyMention doesn't reflect that functionality. If
there's a desire to merge this into that plugin and we can figure out a
better name for it as well then I don't see an issue with merging them.

On Tue, Apr 9, 2024 at 12:18 PM KraXen72 @.***> wrote:

couldn't this be merged with noReplyPing?


Reply to...

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

i have an idea

#

what if we enabled third party plugins by default

#

so you don't have to always first enable plugins when you're making them

verbal pumice
#

is it really worth saving the at most 30 seconds it takes to enable a plugin

austere talon
#

yes

verbal pumice
#

don't you only need to do that once and you're done assuming you aren't renaming the plugin

#

what if it enables a broken plugin and then you have to disable like 10 plugins through console cause you dont know which one is the broken one

shell shuttle
brazen bone
austere talon
#

do you just make people install all of them

#

that seems like a bad idea tbh xd

brazen bone
#

But I do hacky stuff to get the folder to work at all, I can workaround that too

#

You can clone the whole repo into userplugins, or you can grab individual subfolders

austere talon
#

imo that feature would be good overall

#

so ill probably still add it 🤔

magic agate
#

maybe as a persistent setting?

#

that you can turn on with devtools or something idk

charred monolithBOT
crude hearth
#

Merge

charred monolithBOT
#

Depends on #2346

Addresses plugin request https://github.com/Vencord/plugin-requests/issues/188

Many TODOs still but it's working pretty well for what it is so I figured I could put it in the review queue and if I get more time to work on it I'll just keep adding on.

Features (each can be enabled/disabled individually):

  • (background) A 'safe' native interface that allows the user to select their media download folder without exposing direct file writing capabilities to the renderer...
charred monolithBOT
rugged spire
#

check if it's a dev install trolley

lime stone
#

does the settings contain that key

#

3rd party? just add some flag for things in userplugins ig

rugged spire
#

what if it's a new plugin just in regular plugins that was just created

odd heath
#

where is reporter

charred monolithBOT
charred monolithBOT
#

On VirusTotal: https://www.virustotal.com/gui/file/466d2a0be1f380ddffed052df3cc132125fa34dc1af29312e14f13f358c8d2a2

Defender isn't the only thing flagging this, but I have also never heard of the other two AV solutions (Jiangmin & BitDefenderTheta) that are detecting.

EDIT: Also reported as a false positive to Microsoft, submission ID 3fe767c7-aedc-403e-b842-48212228c949.

Still false positives. Just ignore them

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
odd heath
#

Why are they using query selectors husk

rancid dragon
#

well at least they didnt use nested if statements checking if the query selectors returned an element right

charred monolithBOT
rancid dragon
#

the (multiple?) empty patches 🔥

charred monolithBOT
charred monolithBOT
#

This plugin will not be added as it's an invasion of privacy as users won't know that you can see if you read them. Either way I'm going to leave this review in case you want to make a different plugin

Lol yeah, First time working with Typescript, and plugins so, Don't expect much good,
Thanks for giving feedback, Sorry if my code has made you loose brain cells

charred monolithBOT
long stream
#

they beat you to it

median rapids
#

oh it's terrible though

charred monolithBOT
woeful sable
#

Thats me :)

still wasp
#

I'm not sure if this is the right channel but how could i export/build an installer for a vencord fork?

austere talon
#

?

still wasp
#

I don't really know how i can be more specific

#

I made a fork of vencord and id like to send it to my friend in installer format (cli or visual idrm)

still wasp
#

My brin cannot handle this

charred monolithBOT
charred monolithBOT
charred monolithBOT
rugged spire
#

how did this make it into dev

#

Ah.

#

It's all Vesktop psuedo-plugin stuff

charred monolithBOT
grave mangoBOT
charred monolithBOT
rugged spire
#

you are assuming that patch.find did get patched

#

It is not patched in the case that custom clients like Vesktop try to inject their own patches

#

You should patch it here if it isn't patched

charred monolithBOT
rugged spire
#
            if ((Array.isArray(patch.find) ? patch.find : (patch.find = [patch.find])).every(f => code.includes(f))) {
#

code I am using

#

or similar

woeful sable
rugged spire
#

your CSS fix is appreciated

#

my first contribution was a CSS fix

woeful sable
#

Im happy i can serve

#

It just annoyed me honestly

woeful sable
#

lmfao

charred monolithBOT
woeful sable
#

💕

charred monolithBOT
#

This actually fixes my issue with that button right now, but the color is too vibrant, maybe change the color of the button to the normal discord color #7785cc is just an suggestion anyway. also another thing, i should make this in plugin request but what if users can custom pick the color.

i have it the dark blue color so it's easy to see.
to make the color customizable i think i would need to change the index.ts and idk typescript lol

woeful sable
charred monolithBOT
#

This actually fixes my issue with that button right now, but the color is too vibrant, maybe change the color of the button to the normal discord color #7785cc is just an suggestion anyway. also another thing, i should make this in plugin request but what if users can custom pick the color.

i have it the dark blue color so it's easy to see. to make the color customizable i think i would need to change the index.ts and idk typescript lol

tbh we dont really need a color picker...

livid heath
#

must merge asap

shy veldt
#

pissbot on top

topaz spoke
livid heath
#

i wonder what it is

#

almost as if there are comments and code written

#

its basically when the nonce is higher than than the message id

#

which is usually the case when your system clock is ahead of the actual time

#

i say usually cause nonce can be manually controlled

#

the plugin is not foolproof

topaz spoke
#

no

#

I was just talking about the comment

#

I get how it works

#

💀

livid heath
#

dziurwa helped me discover the bug

#

his ass was 5 seconds ahead

topaz spoke
#

time traveler moment tr

livid heath
#

this exists too

#

thanks dziurwa

topaz spoke
#

🍞

austere talon
#

i will partially revert it

#

and add a dedicated function for registering patches maybe

limber skiff
#

I tested a lot before merging, I just don't use vesktop and forget about it

median rapids
charred monolithBOT
odd heath
#

reporter fix when blobcatcozy

#

theres at least 4 broken plugins/patches on canary

charred monolithBOT
odd heath
#

time to have a look at stable (theres 3 broken)

charred monolithBOT
limber skiff
odd heath
#

oh ic

frail skyBOT
#
Bad Patches

PronounDB (had no effect):
ID: 530
Match: /{user:(\i),[^}]*,pronouns:(\i),[^}]*}=\i;/

PronounDB (had no effect):
ID: 530
Match: /text:(.{0,10}.Messages\.USER_PROFILE_PRONOUNS)(?=,)/

ViewIcons (had no effect):
ID: 735336
Match: /style:\{(?=backgroundImage:(\i)\?"url\("\.concat\((\i),)/

Bad Webpack Finds

extractAndLoadChunks(["openAvatarDecorationModal:"], /Promise\.all\((\[\i\.\i\(".+?"\).+?\])\).then\(\i\.bind\(\i,"(.+?)"\)\)/)

Bad Starts

None

Discord Errors

None

#
Bad Patches

PronounDB (had no effect):
ID: 530
Match: /{user:(\i),[^}]*,pronouns:(\i),[^}]*}=\i;/

PronounDB (had no effect):
ID: 530
Match: /text:(.{0,10}.Messages\.USER_PROFILE_PRONOUNS)(?=,)/

ViewIcons (had no effect):
ID: 735336
Match: /style:\{(?=backgroundImage:(\i)\?"url\("\.concat\((\i),)/

ShowMeYourName (errored):
ID: 750858
Match: /(?<=onContextMenu:\i,children:).*?\}/
Error: Unexpected token ')'

SpotifyControls (had no effect):
ID: 720734
Match: /return ?(.{0,30}\(.{1,3},\{[^}]+?,showTaglessAccountPanel:.+?\}\))/

Bad Webpack Finds

extractAndLoadChunks(["openAvatarDecorationModal:"], /Promise\.all\((\[\i\.\i\(".+?"\).+?\])\).then\(\i\.bind\(\i,"(.+?)"\)\)/)

Bad Starts

None

Discord Errors

None

austere talon
#

discord really has a vendetta

charred monolithBOT
verbal pumice
#

ba dum tss

charred monolithBOT
charred monolithBOT
glass jasper
charred monolithBOT
odd heath
#

i think canary and stable are now equally broken

#

anyway imma look into fixing spotifycommands and showmeyourname

still wasp
#

Is blocking discord updates a bad idea?

#

Or atleast prompting people if they want to update before continuing

#

That way people could stay on the last working version while things get fixed

charred monolithBOT
odd heath
#

btw should there be a PR for each plugin or is it fine to just fix multiple patches in the same PR?

spark pivot
odd heath
#

Feels like I'm an annoyance if I open multiple one line prs but sure blobcatcozy

austere talon
#

you can pr as one

#

but also there's alr a diff autumn pr

odd heath
#

didnt see that one ty

limber skiff
charred monolithBOT
limber skiff
#

A

#

what a fucking timing

#

how do you plan to resolve the conflict

charred monolithBOT
#

i deliberatyle made it transparent via https://github.com/Vendicated/Vencord/commit/8ab56f5bcfe720b8e6d03f85b5f4ada1a18bfc37 to be less obtrusive

if you think this is now too unnoticeable, you can propose an alternative solution but your current pr is very ugly. it would probably be ideal to make it in a similar style as these. as in, use the same colour and stuff
image

this pr also hardcod...

austere talon
#

which pr

limber skiff
#

webpack changes

lime stone
#

not great for history

austere talon
#

why

#

we do it all the time

lime stone
#

ig if it's just small changes it's fine

austere talon
#

"fix broken patches"

lime stone
#

i think it's generally best pratice to limit scope of commits

austere talon
#

if u actually make changes to plugins then yeah one change per pr

#

but these minor fixes that are essentially just a chore irrelevant to history

#

can be one pr

limber skiff
#

can't now cuz not home

#

but then I can make it more backwards compatible

austere talon
#

well

#

i kinda wouldnt

#

there's no rush to add this feature

#

like u added it when it's not even used yet xd

#

what i propose is to export a function to register patches/entire plugins at runtime

#

then use that from vesktop

#

this way we won't ever have backwards compat issues again

#

so add that and when enough time passed we can start making these breaking changes

limber skiff
#

but its also in the scope of the other pr

#

it shouldn't cause any issues if I do it together

#

and the pr is needed anyways cause reporter

#

I don't see a reason not to do it now correctly, so someone in the future doesn't have issues with it

jagged cloak
austere talon
#

why not just regex

#

array seems weird

#

regex more powerful

limber skiff
#

I don't see a reason why to risk regex

#

It's easy to find a module with more than one string of it

austere talon
#

as long as u keep the regex simple it shouldnt cause performance issues
and might even be faster than checking the entire string twice or more

limber skiff
#

the small ones are hard for a single string

austere talon
#

but perf doesnt matter that much, im mainly thinking convenience

limber skiff
#

regex seems overkill and a potential cause of performance

limber skiff
odd heath
austere talon
#

i fucking hate discord bundler config

#

holy shit dude

odd heath
#

Yeah

#

Horror

limber skiff
#

you won me with the second point

austere talon
limber skiff
#

regex is prob faster than checking 2 times

austere talon
#

whats way easier is changing eK to our own component

#

and passing eK as a prop

#

let me do that

odd heath
#

ok sure

limber skiff
austere talon
#

i learned a lot since writing that patch and wouldn't write it the same nowadays xd

charred monolithBOT
odd heath
#

can you fix pronoundb too i lack the knowledge for that too blobcatcozy

#

ill pr showmeyourname

austere talon
#

thats why i just reverted

austere talon
#

maybe i can patch eK component instead

limber skiff
#

I can't do any work on it anyways because I don't have my computer

austere talon
limber skiff
#

remove the escaping on {

#

its not needed

#

and helps little

#

also change +? to *?

#

in case for some reason that prop is the first one in the future

austere talon
#

we are so back

limber skiff
#

if you want to bullet proof too do "jsxs?"

austere talon
#

i had that but

austere talon
#

that makes the patch even more unreadable

#

cause u need another group xd

limber skiff
#

I mean its okayy

austere talon
#

and its not necessary cause jsxs means it is a .map()

#

why would they ever map the profile panel

limber skiff
#

oh

#

wait really?

austere talon
#

yes

limber skiff
#

I didn't know

austere talon
#

it's jsx runtime stuff

limber skiff
#

what difference does it even make

austere talon
#

nothing, its only for development

#

at runtime they're the same

limber skiff
#

you could put the .jsxs?) in a look behind

limber skiff
austere talon
#

its related to giving errors for missing keys

limber skiff
#

I see

austere talon
#

actually ig that's semi plausible

#

ignore that it should be props: { children: ... }

charred monolithBOT
limber skiff
#

you also wrote jsx when you should have wrote jsxs lol

charred monolithBOT
austere talon
odd heath
#

Yeah it's crazy

#

That's why I wanted to do multiple fixes originally 😭

charred monolithBOT
limber skiff
#

just pr the other fixes in one honestly

#

or vee can just do it for the rest

odd heath
#

My skill issue turned out too big for Spotifycontrols and pronoundb

#

And the other one had a pr already

charred monolithBOT
limber skiff
#

oh yikes

charred monolithBOT
austere talon
#

is it just pronoundb left now

odd heath
#

Ye

austere talon
#

tbh i wanted to rework pronoundb anyway

odd heath
#

Also pronoundb has some cors error not sure if that's fixable but you might want to look into that (it's pretty annoying because it comes up a lot)

austere talon
#

instead of the pronoun source, it could have better tooltips

#

like if u hover it shows both sources

#

i think pronoundb might just be bad find

odd heath
#

It probably is

#

But without knowing what exactly it patched before I couldn't find anything really blobcatcozy

charred monolithBOT
limber skiff
#

you know what

austere talon
#

yeah its bad find lol

limber skiff
#

we should start putting other strings of the mod in every patch

#

so we can try searching for them and finding what used to be patched

odd heath
#

Yeah

charred monolithBOT
austere talon
#

it was easy to fix

#

the rest of the diff is just refactor

#

can u run reporter @limber skiff

#

and remind me tmrw to merge webpack changes so we can get automatic reporter again xd

limber skiff
#

uh nop

austere talon
#

what branch is it

limber skiff
#

need to merge into webpack changes

austere talon
#

oh fun

limber skiff
#

I don't have my pc

austere talon
#

okay wait

limber skiff
#

but just checkout it

#

merge with no rebase

#

and push origin

austere talon
#

conflicts yayy

charred monolithBOT
limber skiff
#

easy fix anyway

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

extractAndLoadChunks(["openAvatarDecorationModal:"], /Promise\.all\((\[\i\.\i\(".+?"\).+?\])\).then\(\i\.bind\(\i,"(.+?)"\)\)/)

Bad Starts

None

Discord Errors

None

austere talon
#

right

limber skiff
#

haha

frail skyBOT
#
Bad Patches

RoleColorEverywhere (had no effect):
ID: 805009
Match: /renderName\(\).{0,100}speaking:.{50,100}jsx.{5,10}{/

Bad Webpack Finds

extractAndLoadChunks(["openAvatarDecorationModal:"], /Promise\.all\((\[\i\.\i\(".+?"\).+?\])\).then\(\i\.bind\(\i,"(.+?)"\)\)/)

Bad Starts

None

Discord Errors

None

limber skiff
#

I do

#

the wrong character

#

fuck

#

continue:

austere talon
#

wait wdym

#

LOL

#

how did that happen

austere talon
charred monolithBOT
austere talon
#

it looks like it works anyway?

limber skiff
austere talon
#

false positive?

limber skiff
#

it's just a broken find prob

#

I really doubt it's a false positive

#

the reporter is working fine

limber skiff
#

unless something changed

austere talon
#

APIv1 of PronounDB is currently in brownout. Service will resume tomorrow at midnight (UTC), but please be advised APIv1 is deprecated and will be permanently discontinued June 1st, 2024.

Make sure to migrate to APIv2 to avoid further service disruptions. https://pronoundb.org/wiki/api-docs

limber skiff
#

does openAvatarDecorationModal: match a mod?

#

and does it have a single chunk loading

austere talon
#

yes

limber skiff
#

if it does screenshot it for me

austere talon