#👾-core-development

1 messages · Page 222 of 1

fossil inlet
#

GUHHHHHHHHHH

charred monolithBOT
jolly egret
#

oh my god thats... horrible

fossil inlet
jolly egret
#

nah you're on your own i'm going bed

#

have fun!

fossil inlet
#

tbh the best way is prob to just remove it

#

and keep it in its content menu

rugged spire
#

this is cursed

fossil inlet
rugged spire
#

nop

#

idk whats even going on there

charred monolithBOT
dusk blaze
jolly egret
#

have y'all not fixed the fake nitro emojis not animating yet?

fossil inlet
#

that was fixed on canary at the time

jolly egret
#

ah

fossil inlet
#

is it still an issue on canary/stable?

jolly egret
#

user just mentioned it

carmine wave
charred monolithBOT
fossil inlet
#

@limber skiff discord seems to have pushed webp links for animated emojis to stable and canary

limber skiff
#

wdym

#

again?

fossil inlet
fossil inlet
#

tested on stable + canary and they render as webp

rugged spire
cunning spade
#

I cant build vencord it return
You can mark the path "@vencord/patcher" as external to exclude it from the
bundle, which will remove this error.

fossil inlet
cunning spade
jolly egret
charred monolithBOT
jagged cloak
#

animated webp

#

the only person i hear talk about animated webp

fossil inlet
#

a while back i made a plugin for embed support for animated webp, avif and other things

i think it would be funny to add SVG to it

charred monolithBOT
austere talon
scenic brook
#

webp in general is sick, just needs more support suffoPrayge

charred monolithBOT
limber skiff
#

@fossil inlet I think I messed up the character in this patch when I first made it

#

I'm pretty sure it's supposed to be a negative lookbehind

#

but I made it a negative lookahead because I typed the < after

#

it was supposed to be this

#

yep

#

it was completely wrong lmao

#

@fossil inlet can you check if just this fixes your issue?

#

seems to be working for me

charred monolithBOT
fossil inlet
#

this patch

        {
            find: '["aria-hidden"],"aria-label":',
            replacement: {
                match: /null==\i\.icon\?.+?src:(\(0,\i\.\i\).+?\))(?=[,}])/,
                replace: (m, iconUrl) => `${m},onClick:()=>$self.openAvatar(${iconUrl})`
            }
        },

doesnt work

limber skiff
#

what's the issue?

fossil inlet
#

that patch has the same effect as my current PR

#

but without the check

#

for the icon in the server list when you have unread messages

#

discord uses the same component

limber skiff
#

I marked unread messages in group dms

#

and it wasnt opening the icon when clicking it

fossil inlet
limber skiff
#

NOOO

#

THE BANGER MUSIC

#

huhh thats so weird

#

it doesn't happen to me?

fossil inlet
#

@limber skiff i think i might know why

#

let me test something

limber skiff
#

alright

somber ginkgo
fossil inlet
fossil inlet
#

anyway

#

after some testing, neither fixing the negative lookbehind or the just changing the find works

#

discord still uses the component there

somber ginkgo
#

reasonable, just thought id mention in case it crops up

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

NoMosaic (had no effect):
ID: 499376
Match: ```
/=>"IMAGE"===\i||"VIDEO"===\i;/


**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] `context` will be removed in a future version. Instead use `import { createStore, useStore } from 'zustand'`. See: https://github.com/pmndrs/zustand/discussions/1180.
Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

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

did we push browser already?

limber skiff
#

nop

fossil inlet
#

Wait @limber skiff are patches broken or not

limber skiff
#

wdym

charred monolithBOT
limber skiff
#

right as I push my app turns pink

fossil inlet
#

There were like 20 different reporters and I'm confused

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
#
[Vendicated/Vencord] New tag created: v1.10.7
limber skiff
#

@austere talon done blobwob

fossil inlet
limber skiff
#

yes it's a chunk that loads a css file

brazen bone
#

I believe the purpose of the pink is to find things that are not using css variables as it should

fossil inlet
brazen bone
#

No idea

fossil inlet
#

(I could be hallucinating that.)

brazen bone
#

Pink is older than visual refresh anyway

opaque silo
#

most of the normal ui is var based now too

junior olive
#

why tf is it broke

limber skiff
#

in extension

limber skiff
junior olive
#

wtf does the try catch actually end up catching

#

thats weird

limber skiff
#

wdym

#

it's a hook inside a patch which errors and explodes discord

fossil inlet
#

so on use it crashed

junior olive
#

ah that makes sense

junior olive
fossil inlet
#

discord is two versions behind on the store lib they're using

junior olive
#

but ofc if zustand is missing it all goes to shit

limber skiff
#

oh ya

#

don't worry tho it's all fixed already blobcatcozystars

junior olive
junior olive
#

i will rewrite decor api one day

limber skiff
#

I hope discord doesnt remove zustand one day

junior olive
#

if they do im cooked

#

but they use it in like a few places so it's fine

#

(just bundle zustand in)

fossil inlet
#

@limber skiff do you know what wreq.j is

limber skiff
#

ya

#

I lied

#

it's

#

/** The runtime id of the current runtime */

#

and what does that mean? no idea

austere talon
#

it's you dont need this

fossil inlet
#

im not using, im trying to figure out why its used

limber skiff
#

search for it in rspack

fossil inlet
#

god i love github search

brazen bone
#

I'm kinda surprised the wreq keys are stable

fossil inlet
#

makes no sense to change them

#

not controlled by discord

brazen bone
#

If they wanted to sabotage mods, that'd be a fairly effective means I think

fossil inlet
#

if they wanted to do that, there would be other, better ways to

brazen bone
#

I guess

austere talon
#

by webpack (actually rspack but it follows webpack names)

#

as in they are minified in source code

#

you can't safely minify object names in js so it is very rare for websites to do this

#
const object = {
  youReallyDontWannaMinifyThis: "hi"
}

console.log(object["youReally" + "DontWannaMinifyThis"])
austere talon
#

which is just way too much effort for negligible returns

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

note to self: EmoteCloner has the same issue with animated emojis as FakeNitro had

jolly egret
#

RevealAllSpoilers doesn't seem to work correctly (at least with mine and another users limited testing)

fossil inlet
#

||asd||

fossil inlet
jolly egret
#

it adds a keybind

fossil inlet
#

||asd||

||ASDASD ||

jolly egret
#

do they? I can't get it to

fossil inlet
jolly egret
#

oh you have to click on a spoiler yourself? Thats ambiguous

#

at least in the case for every message, it doesn't really say that it has to be on a spoiler then

#

it just says "in the chat"

fossil inlet
#

i read it as

jolly egret
#

well thats confused me and a user so it is a fault with the description of the plugin really

fossil inlet
#

reveal all the spoilers in a message by ctrl+click'ing the spoiler, or reveal all the spoilers in the chat by ctrl+clicking the spoiler

#

but yea, it is poorly worded

#

tbh i did the same thing at first, then read it again

fossil inlet
#

WHY IS MY CLIENT SPAMMING THE IDLE ICON

dusk blaze
fossil inlet
limber skiff
scenic brook
#

Your formatting stage is much quicker than mine depending how long I've had the IDE open lol

#

Do you use the IDE's formatter or just something like prettier?

scenic brook
#

Nice

#

I considered it but figured it'd be cool if the formatting followed whatever the user had in their js project settings

fossil inlet
#

I couldnt find a vscode api to format a string

scenic brook
#

It's a bit of a pain in intellij as well, I have to make them psi files first and then run write operations on them all to format the file

grizzled halo
#

all reports are on latest version which has this fix

#

supposedly those with the plugin can see it but some (stock) others cant see it animate

fossil inlet
rugged spire
#

@limber skiff Thank you

scenic brook
# fossil inlet

I keep forgetting to mention, the extract method for findByX is kinda broken. Like if you're doing findByProps and it returns an object with the props, you pass that into the Set and it counts the multiple props as being multiple matches and responds saying the find has multiple matches when it doesn't

#

I think it'd be better to just have our own version of findAll that returns both the stringified contents and the module ID rather than the whole foundFind thing it does right now

rugged spire
scenic brook
#

I did fix it a while back on my own branch but I overwrote it for some reason

scenic brook
limber skiff
#

I forgot

limber skiff
#

run in the console

Vencord.Util.getEmojiURL("id", true, 48)

#

make sure id belongs to an animated emoji

rugged spire
limber skiff
#

well that's a gif

rugged spire
#

yes

#

it is

limber skiff
#

so it should animate

rugged spire
#

funny thing is that discord renders that as an emoji

limber skiff
#

fake nitro does

rugged spire
#

yop

#

sorry

#

wtf was i saying

#

i mean

limber skiff
rugged spire
#

it is rendering as webp

carmine wave
#

works for me

rugged spire
#

thats why

limber skiff
#

lol

rugged spire
#

even though nobody is really using that module

limber skiff
#

thanks for pointing out I didnt set that variable tho

limber skiff
#

but because loadLazyChunks makes it load

#

and turns the app pink

rugged spire
#

yes i worded that badly

limber skiff
#

which is quite annoying

rugged spire
#

nobody wants that to load

limber skiff
#

yeah

carmine wave
#

@grizzled halo can you ping me in support when someone has the fake nitro issue and is up to date

#

(my main account)

charred monolithBOT
fossil inlet
scenic brook
#

Will do later

scenic brook
#

PinDMs line 30
The findAll in the extract case returns an object containing the exports which makes the findModuleById fail because it's finding [Object object] instead of the actual module contents

#

The way I fixed it previously on my branch was just to have our own findAll that stringifies the module contents there and then and returns it with the ID instead of doing a separate find for it

#

@fossil inlet forgot ping

fossil inlet
#

alr

#

ill check it later

#

working on module indexing rn

#

i love parsing ASTs

charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

^ @spark cove since u wrote that plugin, does that pr look alright?

charred monolithBOT
#

Discord Account

sirpigari

What happens when the bug or crash occurs?

it crash on start after i install it

What is the expected behaviour?

it should open noramlly but it crash instead

How do you recreate this bug or crash?

download vencord
install it
open discord
crash

Errors

Replace this text with your crash-log.

Vencord PluginManager Starting plugins (stage Init)
Logger.ts:40 Vencord PluginManager Starting plugin NoTrack
Logger.ts:40 Venc...

spark cove
#

Looks good

glass jasper
limber skiff
#

probably not

#

they already have something else for that

glass jasper
#

true

fossil inlet
#

you can now see all the uses for a webpack module

#

integration with the vscode UI will come soon™️

austere talon
limber skiff
#

the music is part of the show

charred monolithBOT
jolly egret
#

guess i'll update my PR in hopes it gets looked at in the next century :P

#

silly intl breaking my shit

limber skiff
#

what's your pr lol

jolly egret
#

well... i have 4

#

this one is the only that got broken

#

yeah actually it was just a conflict i don't have to do anything but a git merge

limber skiff
#

test if that works for me

jolly egret
#

you're a wizard if it does

#

actual wizard

limber skiff
#

lol this plugin has so many methods

#

that just end up doing the same thing

jolly egret
#

i tried to avoid adding a new one but i just idk couldn't figure it out

#

well, changes applied

charred monolithBOT
limber skiff
#

yeah

#

it needs proper handling

#

and removal of the duplicate methods

#

I'm just busy rn

jolly egret
#

wdym by pass the raw arguments here

austere talon
#

pass arguments[0] to the function

#

and let the function handle it

jolly egret
#

yeah but its used in more than one place i'm not sure what I can do

jolly egret
#

I'll just commit the suggestion and somebody in the future can go ahead and dedupe/handle it better if thats fine, if not I can see what I can do now but I'd rather not accidentally break something

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
#

Discord Account

No response

What happens when the bug or crash occurs?

Everytime I start sharing my screen, my microphone audio drops.

What is the expected behaviour?

System microhpone volume no change

How do you recreate this bug or crash?

  1. Install Linux
  2. Install Pipewire (Pipewire-pulse, wireplumber and maybe of other pipewire libraries??)
  3. Join vc
  4. Share screen and notice that your systems microphone volume drops

Errors

[UnifiedConnection(stre...
charred monolithBOT
charred monolithBOT
#

Resolves #1466.

This PR implemented an online theme CSS override feature, which allows user to configure their online theme using CSS override.

Limitation

  • When there's an @import CSS at-rule in the remote stylesheet, those imported stylesheets' CSS rules won't be visible. It will make things more complex if we want to fetch and parse those stylesheets recursively.

Screenshots

desert cosmos
opaque silo
desert cosmos
#

true

long stream
#

having more user friendly ui will always be better

charred monolithBOT
dusk blaze
#

yop

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
#

I think it'd be better as a modal rather than an inline, inline (at least, from my experience) has always been a lot more messy and hard to use

I agree with this. Change to modal component.

<img width="1035" alt="Screenshot 2024-11-16 at 8 28 26 AM" src="https://github.com/user-attachments/assets/2ea3947f-f289-4381-9509-86eb29761a7a">
<img width="1008" alt="Screenshot 2024-11-16 at 8 28 41 AM" src="https://github.com/user-attachments/assets/06c9c09e-9e4c-439d-bcac-9560cfb31344">

charred monolithBOT
desert cosmos
#

5 morbillion options

fossil inlet
#

me when i dont know how to use the datastore

charred monolithBOT
rugged spire
charred monolithBOT
glass jasper
charred monolithBOT
haughty valley
dusk blaze
astral bone
#

vee will review

jolly egret
#

she'll review now or we are getting the pitchforks

rugged spire
#

LOOOOOL Discord Video Quests are busted as fuck

#

you can just open devtools and set playback rate to 15

#

lol whats the fucking point

crude raptor
#

wtf is a video quest

rugged spire
crude raptor
#

lol lmao

rugged spire
rugged spire
scenic brook
#

Bump once an hour until it's done

rugged spire
#

latta ai will come to Vencord Plugin Requests one day

charred monolithBOT
astral bone
#

💀

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
charred monolithBOT
fossil inlet
charred monolithBOT
charred monolithBOT
scenic brook
#

Maybe I'm missing something obvious but I feel like I covered everything I could think of

rugged spire
#

how did we get here

long stream
charred monolithBOT
#

what a kind act for the people, appreciating your neverending love for aliucord; your benevolence and warmth shown by such a poetic sentence.

torvalds was here uwu

speaks volumes. truly inspirational and life changing. thank you torvalds for your kind contribution to society. your words are by the heart of the people and will never be forgotten.

whats linux btw

still maple
#

lmao

charred monolithBOT
charred monolithBOT
charred monolithBOT
dusk blaze
charred monolithBOT
limber skiff
#

Resuts

scenic brook
#

Resuts

limber skiff
#

cool where did my branches list go

#

this extension loves to make my buttons disappear

charred monolithBOT
dusk blaze
#

okay so

#

i was a little hungry

#

which led to me eating it

brazen bone
#

What did you eat

#

Did you eat nucky's branches

jolly egret
dusk blaze
fossil inlet
#

unrelated but vscode over ssh loves to hide the secondary sidebar

brazen bone
#

Spit them out

charred monolithBOT
limber skiff
#

cuz I cant seem to be able to enable it again

limber skiff
#

😭

charred monolithBOT
fossil inlet
#

i really dont like git lens

#

every time ive tried to use i just go back to lazygit

charred monolithBOT
#

76df29f Actually stop searching for CSS debugging chunk - Nuckyz
8558b1a ShikiCodeblocks: Updated codeblocks themes (#3013) - ItsFrocat
c4f6f15 PictureInPicture: Fix button not showing up (#3... - lumap
99458da ViewRaw: Add support for Group DMs (#3010) - verticalsync
ea27724 RoleColorEverywhere: Poll Results & Cleanup - Nuckyz

jolly egret
#

lets go

austere talon
#

horror

fossil inlet
#

why are people starring vendriod

#

who is even using it

jolly egret
#

surprisingly a decent chunk

fossil inlet
scenic brook
#

Important

charred monolithBOT
glass jasper
charred monolithBOT
jolly egret
#

gg

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
#
  1. I think the button in the context menu is useless
  2. What are the lags when enabling the plugin and blocking users?

Lags? What Lags? Can you tell me what to do to reproduce that? And The button in what context menu? Like I like the insta one to "block and mute" because that also skips the extra step of "are you sure you want to block personXY?"

When I block someone using this plugin, it takes half a second before I can browse channels or do anything else
Also, I realize...

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

OpenInApp (had no effect):
ID: 49012
Match: ```
/function (\i(\i,\i){)(?=.{0,100}trusted:)/


**__ShowHiddenThings (had no effect):__**
ID: `726115`
Match: ```
/\i\.\i\.get\(\{url:\i\.\i\.GUILD_DISCOVERY_VALID_TERM,query:\{term:\i\},oldFormErrors:!0\}\)/g
Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

gritty iris
#

atleast for me

fossil inlet
gritty iris
charred monolithBOT
jolly egret
#

useless error but yea

austere talon
#

yop

#

error is useless indeed but can repro

#

message right click

jolly egret
fossil inlet
#

Wait isn't react error decoder supposed to decode those

#

vp reacterror

nimble pendantBOT
jolly egret
#

i didn't have that enabled maybe i can get something good

fossil inlet
#

You can also just google the error number lol

austere talon
#

the stack is still useless

jolly egret
#

incredible

austere talon
#

need to look at plugins that patch message context and figure it out

fossil inlet
#

I only keep it enabled because it extracts rreact into its own module

austere talon
fossil inlet
#

Its nice for stack traces

#

@austere talon are you fixing this rn, because if not I can

austere talon
#

nop

#

im eating

fossil inlet
#

Alr

#

I'll take a crack at it

austere talon
#

its probably webcontextmenus if i had to guess

jolly egret
#

well its been deployed for an hour or so who knows if they'll revert

fossil inlet
#

decor fixed

charred monolithBOT
limber skiff
#

unless discord update their code to use the newest method and now the bundler removes the deprecated one

#

which in that case yes that makes sense

fossil inlet
#

also the right-click crashing isnt webcontextmenus

limber skiff
#

iirc that second parameter is like a filter or something

#

and now zustand has a separate function for that

#

but it discord was still using the old then it was still being included in the bundle

fossil inlet
#

i have no idea how zustand works, do we need to use a different patch because of that

limber skiff
#

nono

#

for decor it should work fine

#

it never used the second parameter

fossil inlet
#

i love when the tool i spend an hour making to save five minutes becomes useful

#

@austere talon @jolly egret i think the context menu crashing is a discord issue

jolly egret
#

incredible

#

though we really should try something if this hits stable

fossil inlet
#

wait

#

no

#

its a vencord issue

#

it somehow happens with all plguins disabled

austere talon
#

horror

jolly egret
#

oh great!

fossil inlet
#

found the issue

#

no track

#

this patch

#
        // {
        //     find: "AnalyticsActionHandlers.handle",
        //     predicate: () => settings.store.disableAnalytics,
        //     replacement: {
        //         match: /^.+$/,
        //         replace: "()=>{}",
        //     },
        // },
#

@limber skiff you love

#

hope im wrong

#

okay it just started working

#

yea

#

i think discord did an oopsie

#

@jolly egret can you try on canary and see if you can repro now

fossil inlet
#

whar?

surreal fiber
#

spelling errors

fossil inlet
#

ah

#

i kinda suck at spelling

austere talon
#

it fixed

jolly egret
#

reverted?

austere talon
#

ye

jolly egret
#

aight

frail skyBOT
#
Bad Patches

OpenInApp (had no effect):
ID: 49012
Match: ```
/function (\i(\i,\i){)(?=.{0,100}trusted:)/


**__ShowHiddenThings (had no effect):__**
ID: `726115`
Match: ```
/\i\.\i\.get\(\{url:\i\.\i\.GUILD_DISCOVERY_VALID_TERM,query:\{term:\i\},oldFormErrors:!0\}\)/g
Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

OpenInApp (had no effect):
ID: 49012
Match: ```
/function (\i(\i,\i){)(?=.{0,100}trusted:)/


**__ShowHiddenThings (had no effect):__**
ID: `726115`
Match: ```
/\i\.\i\.get\(\{url:\i\.\i\.GUILD_DISCOVERY_VALID_TERM,query:\{term:\i\},oldFormErrors:!0\}\)/g
Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

@fossil inlet zustand create find works again

#

I dont understand how it even broke in the first place tho

#

your fix now targets createWithEqualityFn

#

which is from traditional

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
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
charred monolithBOT
charred monolithBOT
glass jasper
jolly egret
#

it looks about the same size as the other icons but maybe a little bit

glass jasper
#

agreed it’s just a personal opinion that it should just be a tad bit smaller

fossil inlet
surreal fiber
#

I think it shouldn't be shrinked, it roughly aligns with the other icons

charred monolithBOT
glass jasper
austere talon
#

@limber skiff i wanna turn more stuff that has subscribe & unsubscribe into fields on your plugin

#

like preSend, preEdit etc

#

what do you think

#

this could become

styles: [style]
#
start() {
  addClickListener(myHandler);
},
stop() {
  removeClickListener(myHandler);
}

could just become

onMessageClick() {
}
#

same for message accessories, and all other apis that have add & remove

brazen bone
#

Making start() return a closure like useEffect() rather than a separate stop() function would also be nice

limber skiff
#

I wonder if we can generate that dynamically

austere talon
#

the only benefit would be ability to use variables from that closure

#

if we just add these auto-managed lifecycle events in favour of add/remove functions, stop wont be needed at all

dusk blaze
#

i was thinking of that at some point

jolly egret
#

y'all wanna do the fix for emote cloner at some point

#

might just need a replacement from webp to gif for animated stuff

rugged spire
#

what broke

fossil inlet
#

whats the issue

jolly egret
#

animated emotes cloned with emote cloner are apparently not animated anymore

#

haven't tested it myself but its apparent its an issue

jolly egret
fossil inlet
#

so when you clone an animated emote, its loses its ainmation

jolly egret
#

apparently

fossil inlet
#

yop, its a bug

#

@jolly egret you love

austere talon
#

that seems wrong

#

won't that incorrectly recognise ?animated=false as gif

fossil inlet
austere talon
#

lmao

fossil inlet
dusk blaze
#

sadanic

fossil inlet
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
#

@fossil inlet true || "false" blobwob

austere talon
# limber skiff

easy fix

return u.pathname.endsWith("gif") || eval(u.searchParams.get("animated"));
limber skiff
#

LMAOOO

jolly egret
#

crazy idea

fossil inlet
#

someone could send an emoji link with animated=tokenlog()

fossil inlet
austere talon
#

basically you just define any of these functions on your plugin definition and it does everything for you

charred monolithBOT
#
[Vendicated/Vencord] New branch created: plugin-apis-sugar
austere talon
#

before & after

#

you also won't need to specify dependency anymore (i forgot to remove it in screenshot 2)

fossil inlet
#

i have forgotten to add the dep quite a few times

austere talon
#

the horror

fossil inlet
austere talon
#

this is so horror lmao

austere talon
#

and the disable half

charred monolithBOT
austere talon
charred monolithBOT
austere talon
#

like wtf is going on here lol

charred monolithBOT
austere talon
#

wtf it works first try

#

i tested for the first time now and everything works

charred monolithBOT
austere talon
#

okay it's ready i think

charred monolithBOT
dusk blaze
#

horro

#

time to fix all of my userpluggers

fossil inlet
austere talon
#

don't husk it's a good change

#

old names were so bad

#

i think it's better to just make this breaking change than to add deprecated legacy aliases

#

if we deprecate it no one is gonna update so shit will still break just when we remove it 2 months later

glass jasper
charred monolithBOT
austere talon
fossil inlet
#

when is this planning to get merged @austere talon

limber skiff
#

each of those functions should just return a closure

#

to remove them

fossil inlet
#

how would that look like

#

isnt the point to make removal transparent to the plugin

limber skiff
#

yes I'm not talking about that

#

I mean the usage deep down

fossil inlet
#

ah

limber skiff
#

they should all just take the function object as parameter

#

and return a closure to remove

#

but also have a way to remove using the same function object

#

instead of having a name parameter in some of them

#

stuff has to start being more consistency 😭

#

or else the code base gets more and more messy

fossil inlet
#

yea, i personally dont care how they're removed, but i do think they should be consistent

limber skiff
#

the APIs are super inconsistent

austere talon
austere talon
limber skiff
austere talon
#

uhh kinda i think

limber skiff
#

in what cases is it used as react key

grave mangoBOT
austere talon
#

it's used as react key and for useful error message

limber skiff
#

alright I understand that but it's still weird how some accept name and others don't

austere talon
#

that's true yeah

#

well all the component based ones use names

#

the message events don't

#

it's somewhat consistent xd

#

anyway it doesn't really matter if it's abstracted away like now

limber skiff
#

okay

#

if all the component based ones are using it then sure

#

but if not then it needs to be added to the missing ones

#

I havent looked deep but I suppose now "name" is the plugin name right?

austere talon
#

yea

limber skiff
#

aight

fossil inlet
#

@austere talon what if a plugin wants to register more than one handler, can it be passed an array as well?

austere talon
#

that's not a real use case

#

but no

#

if you need that you can use the api manually

fossil inlet
#

alr

austere talon
#

Badge: already possible
ChatButtons, MemberListDecors, MessageDecoration, MessageEvents, MessagePopover: you should only add 1
MessageAccesories: reasonable but you can technically just render multiple things in your accessory

limber skiff
#

MemberListDecorators

shouldn't this be MemberListDecorations

austere talon
#

i didn't rename it

#

it used to always be named that

limber skiff
#

ya

#

this would be a good time to rename tho

austere talon
#

indeed

#

actually that's avatar decors nvm

limber skiff
#

we already have MessageDecorations

#

Decorations seems to be used everywhere else

austere talon
#

nah discord calls it decorator

limber skiff
#

o

austere talon
limber skiff
#

not even discord is consistent

austere talon
#

whereas for messages it's decorations

limber skiff
#

lmao

austere talon
#

i think it's best to follow discord's names

#

xD

limber skiff
#

in this case yeah

#

member list decorators doesnt use key

#

and should maybe be wrapped in error boundary to

austere talon
#

yep

limber skiff
#

same with message accessories

#

and message decorations too

#

lol

austere talon
#

feel free to make these changes

#

I turned off my pc

limber skiff
#

okay let me review the rest first

austere talon
limber skiff
#

that is true too

#

I didn't even realize

austere talon
#

everything that returns jsx elements should be converted to use proper react

#

a few apis make you return an object, for obvious reasons those can't

limber skiff
#

should we rename addPreSendListener to add addMessagePreSendListener

#

or too big

austere talon
#

I thought about that yeah

#

I didnt because I figured it would be self explanatory enough

limber skiff
#

to be consistent with addMessageClickListener

austere talon
#

but we could

fossil inlet
#

is there anything else thats sent that it could be confused with

austere talon
#

but migration is easy, shouldn't take you more than 2 minutes

#

and it won't cause any crashes, just for your plugin to break

#

not that big of a deal

fossil inlet
limber skiff
#

uhh

#

@austere talon I suppose that's needed

fossil inlet
#

ehhhh who cares about the rules

austere talon
#

good catch lol

#

yes indeed

#

I accidentally ate that

limber skiff
#

it's so much easier to catch mistakes when it's not your code

austere talon
#

I even tested ClearURLs and it worked lol

#

how even

limber skiff
#

all this time and we were using the wrong remove function

austere talon
#

see now why I renamed the functions

#

removeButton is such a bad name

fossil inlet
#

what button does that remove

austere talon
#

SEE now why I renamed the functions

#

idek

#

I think the chat bar button

limber skiff
#

but instead both are the same

limber skiff
#

the other requests are here on discord

austere talon
#

that specifies position

limber skiff
#

horror

austere talon
#

so it can't be changed

limber skiff
#

I hate that.

austere talon
#

unless we wanna somehow specify position via definition?

#

there's also FakeNitro which could be migrated but I didn't wanna work with the 1000 lines file

limber skiff
#

how does it specify position

limber skiff
#

oh

#

second parameter

austere talon
charred monolithBOT
granite wharf
#

fixed vendor with thi s pr

glass jasper
#

Also, I do like to GitHub one not being so bright

granite wharf
#

discord uses that updated one everywhere

glass jasper
granite wharf
jagged reef
#

Finally refactored my janky solution to storing arrays 👍

#

yippee it actually worked

fossil inlet
granite wharf
#

theres a minor difference

charred monolithBOT
#

the reason I had used a bigger size (36 x 28) was because I thought it looked more odd if it WASN'T scaled up to fit the height of other buttons, it also made it bigger in width, which looking back wasn't really the best move

I sized it back down to 24x24 like all the other chatbar buttons and I think now it does look better.

image
![image](https://github.com/user-attachments/assets/74bdfcf7-47d3-48bf-8...

fossil inlet
#

That's all I see

dusk blaze
jolly egret
#

lmao

#

it wasn't even their fork either

pine topaz
#

im gonna melt

opaque silo
#

theres no pr from her yet tho 😭😭

pine topaz
charred monolithBOT
#

Discord Account

No response

What happens when the bug or crash occurs?

not working

What is the expected behaviour?

it work

How do you recreate this bug or crash?

get a user nitro then enable no work

Errors

not can

Request Agreement

  • [X] I am using Discord Stable or tried on Stable and this bug happens there as well
  • [X] I have read the requirements for opening an issue above
pine topaz
#

not can

odd heath
#

ill make it

#

soontm

fossil inlet
glass jasper
fossil inlet
#

guhh

#

looks like it is its own plugin

odd heath
#

yea i also thought that when i saw it first

granite wharf
#

how would we feel about cards showing you've contributed/donated

#

(inspired by the hypesquad card)

rugged spire
granite wharf
rugged spire
#

9 times out of 10 I'd question why a component is being recreated but in this case it's totally logical

#

What about the original card that was there?

#

Is that being updated?

granite wharf
#

I don't really know myself

opaque silo
#

looks vvry pretty tho

granite wharf
granite wharf
#

before I attempt to pr I'm gonna get svgs for the backgrounds first

#

loading from url doesn't seem too optimal xd

glass jasper
granite wharf
#
const user = UserStore.getCurrentUser();
isPluginDev(user?.id)
glass jasper
#

makes sense

#

how are you grabbing donor info?

granite wharf
glass jasper
granite wharf
#

oh good idea

prime dew
#

Could they be made into collapsible sections that open on hover? Currently they take quite a bunch of space up and might be a hindrance to people who want to use the settings below

granite wharf
#

that would probably need me to rewrite the entire thing just for that

glass jasper
granite wharf
#

well I don't wanna overcomplicate the card

limber skiff
#

I think it's fine without them being collapsible

#

they should be very visible

#

and no one gonna open that section too many times honestly

granite wharf
#

people only open it frequently for quick actions

limber skiff
#

they are still visible without scrolling

granite wharf
#

yesyes

#

also I've been wanting to change some design in vencord settings,,

#

but thats another topic for later xd

limber skiff
#

yeah

#

settings page and plugins page need a new design

glass jasper
granite wharf
limber skiff
limber skiff
#

I saw you pred it

granite wharf
#

xd

#

just making sure

glass jasper
#

I still don’t see the difference in the settings cog but I’m taking a word for it that there’s a difference

fossil inlet
limber skiff
#

why would you be working at something in that section

desert cosmos
#

also cute blobcatcozy

granite wharf
#

good question

#

let me get some images

limber skiff
#

I think that card needs to re-done

#

to match with the others

granite wharf
#

sure why not

limber skiff
#

it's super underwhelming lol

granite wharf
#

xD

glass jasper
# granite wharf

So if you’re a donor, it replaces the one that’s normally there?

granite wharf
#

yes

glass jasper
#

ok 👌

granite wharf
#

but I will add a donate button like you suggested

fossil inlet
desert cosmos
#

toolbox in shambles

fossil inlet
#

toolbox is mid

granite wharf
#

when it doubt

#

quick css to remove the cards

prime dew
#

I might do the hover thingy

granite wharf
#

I encourage

frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/


**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.

ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] getStorage, serialize and deserialize options are deprecated. Use storage option instead.

Bad Webpack Finds
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
	zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
Bad Starts

None

Discord Errors

None

#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/


**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.

ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] getStorage, serialize and deserialize options are deprecated. Use storage option instead.

Bad Webpack Finds
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
	zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
Bad Starts

None

Discord Errors

None

fossil inlet
#

zustand my beloved

glass jasper
fossil inlet
#

well

#

its broken because zustand is

glass jasper
jolly egret
#

why is it always a problem

fossil inlet
limber skiff
#

I really dont understand how the module that find targets is gone

#

ill see later

junior olive
#

til depending on dependencies you can't control the version of is not very safe

#

personally I'd just bundle in the zustand pieces it uses at this point but I understand that's not desired

limber skiff
#

I dont know what they are doing though

#

they may have just reverted the update again

odd heath
#

does it make sense to add an option to exclude your own replies from hiding when hiding replies to blocked messages

#

or is that dumb

#

actually yea i think its dumb lmao

prime dew
#

How would you even reply to them if they're hidden?

odd heath
#

that was the thought

#

for example in some old dms or smth but like you can just turn the plugin off

charred monolithBOT
prime dew
granite wharf
#

I'm now waiting for the svgs

granite wharf
#

let me copypaste 3 lines

grizzled halo
#

"Thank you for being a support helper!"

"Here is a link for therapy"

crude raptor
jagged cloak
# granite wharf

the you're wording reads very weird in a card like this but it looks nice blobcatcozy

#

maybe i'm weird lol

granite wharf
#

give me suggestions on what to change it to

granite wharf
#

mikuheart u will need it

#

therapy button

jagged cloak
#

about the same actually h

jagged cloak
#

troll

charred monolithBOT
granite wharf
#

i really like that

#

but the code 😭

brazen bone
#

I'm not sure if changing how name color is computed should be part of RCE, feels more like it should be a separate plugin

fossil inlet
#

@odd heath ypu

odd heath
#

me

#

i need to be more active here xd

#

easiest pr ever just copy a bunch of code and battle regex for a bit Clueless

charred monolithBOT
glass jasper
jolly egret
#

or people could stop shortening thinks into the names of massive security issues

odd heath
long stream
fossil inlet
#

the first fix is really annoying as you need to patch here

woeful sable
#

needs more arrows

charred monolithBOT
fossil inlet
#

GUHHHH

desert cosmos
#

does your pr fix that

charred monolithBOT
fossil inlet
charred monolithBOT
desert cosmos
sterile oak
#

vencord uses its own bundler right?

fossil inlet
#

nope

#

esbuild

sterile oak
#

is this intended? WHAT

fossil inlet
#

typescript doesnt build vencord

#

that is just used for tsserver

#

so it knows about the project

#

trace the build commands in package.json to learn more

frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/


**__BetterFolders (had no effect):__**
ID: `416568`
Match: ```
/lastTargetNode:\i\[\i\.length-1\].+?Fragment.+?\]}\)\]/

ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use import { useStore } from 'zustand'.


**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.
Bad Webpack Finds
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
	zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
Bad Starts

None

Discord Errors

None

#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 557135
Match: ```
/(?<=getBlockedUsersForVoiceChannel((\i).id);return()/


**__ConsoleJanitor (found no module):__**
ID: `-`
Match: ```
[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.

ConsoleJanitor (found no module):
ID: -
Match: ```
[DEPRECATED] getStorage, serialize and deserialize options are deprecated. Use storage option instead.

Bad Webpack Finds
mapMangledModule("useSyncExternalStoreWithSelector:,Object.assign,/(\i)\?(\i)\(\1\):\2/", {
	zustandCreate: t=>typeof t!="function"?!1:Ia(Function.prototype.toString.call(t),e)...
})
Bad Starts

None

Discord Errors

None

limber skiff
#

I'll work on fixes later

fossil inlet
#

i have prs for most

#

feel free to use

limber skiff
#

ya

fossil inlet
#

its non-functional

limber skiff
#

nop

fossil inlet
#

its another patch to fix blobcatcozy

fossil inlet
#

@rugged spire thoughts

#

it works

rugged spire
#

how

fossil inlet
#

black magic

#

im going to fixup the code a bit then share it

glass jasper
# fossil inlet

This is the fourth time I’ve watched a video you’ve sent near my parents and it says that word

fossil inlet
#

@rugged spire the horrorcode in question