#👾-core-development

1 messages · Page 211 of 1

limber skiff
scenic brook
#

I was thinking of making something like that the other day lol, I hate not being able to see my profile in a big server I don't talk in

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
gritty canyon
#

🔥

charred monolithBOT
nimble plaza
charred monolithBOT
glass jasper
#

(denied because “can be done with CSS”)

charred monolithBOT
charred monolithBOT
turbid hatch
#

it doesnt matter

#

its a badge

#

no one cares

#

contribute because you want to add something useful, not for a badge

fossil inlet
#

I contribute because I have nothing better to do lol

charred monolithBOT
frail skyBOT
#
Bad Patches

TimeBarAllActivities (had no effect):
ID: 994746
Match: ```
/(0,.{0,30}activity:(\i),className:\i.badges})/g


**__TimeBarAllActivities (had no effect):__**
ID: `994746`
Match: ```
/(\i).type===(\i\.\i)\.WATCHING/
Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

TimeBarAllActivities (had no effect):
ID: 994746
Match: ```
/(0,.{0,30}activity:(\i),className:\i.badges})/g


**__TimeBarAllActivities (had no effect):__**
ID: `994746`
Match: ```
/(\i).type===(\i\.\i)\.WATCHING/
Bad Webpack Finds
findByProps("activity", "buttonColor")
Bad Starts

None

Discord Errors

None

charred monolithBOT
#

Discord Account

Wolfshards (Handle)

What happens when the bug or crash occurs?

Firefox ne peut établir de connexion avec le serveur à l’adresse ws://Redacted/?client=Vencord.

What is the expected behaviour?

Vencord should be able to run plugins and themes without issue but since my browser return with Connection lost, it's just strange that nothing is running except the setting tab.

How do you recreate this bug or crash?

  1. Install script from Vencord website troug...
limber skiff
fossil inlet
austere talon
charred monolithBOT
vivid garden
limber skiff
#

lol

#

don't worry about it I will fix

#

oh

#

dang I'm so blind the pr is right there

charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
#

ngl that plugin is actually neat

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds
findByProps("activity", "buttonColor")
Bad Starts

None

Discord Errors

None

charred monolithBOT
quaint sapphire
charred monolithBOT
limber skiff
#

done

charred monolithBOT
quaint sapphire
#

Arigato

charred monolithBOT
limber skiff
#

no way

#

I just ran test patches

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
#

huh

#

I think I broke testing patches with predicates long ago

#

and im just noticing now

#

wrong order lmaoo

#

that condition should be above

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

@balmy perch thanks for the original idea and sorry for ending up re-doing it all lol

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

I really appreciate your fix and the initial contribution regardless

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

definitely keeping this on hehe

charred monolithBOT
limber skiff
#

@glass jasper 🤓

glass jasper
limber skiff
#

I have looked at that Api so many times

#

and everytime it hurt me

glass jasper
#

dictatorship

#

acting like @shell shuttle

shell shuttle
#

go on, join a vc

brazen bone
limber skiff
#

do yall really not like that

glass jasper
shell shuttle
limber skiff
#

is there a part in specific

#

there's so much inconsistency between Api and API in the project

shell shuttle
#

i also instinctively type API

limber skiff
#

everywhere it looks worse

#

ContextMenuApi looks so shit

fossil inlet
glass jasper
glass jasper
limber skiff
#

I disagree

brazen bone
#

Context, menu, and api are three words

fossil inlet
#

Its like userId

swift fjord
#

why not do a poll

limber skiff
#

yes I know how camel case works

swift fjord
#

pick a style and use that everywhere

glass jasper
limber skiff
#

but well

#

I guess on ContextMenuApi

fossil inlet
limber skiff
#

I can back port it

shell shuttle
#

API for the win

austere talon
#

this should be undone

glass jasper
#

fr

limber skiff
brazen bone
austere talon
#

acronyms are not to be capitalised in code

glass jasper
limber skiff
#

yet ContextMenuApi

austere talon
#

in strings yes

#

but not names

brazen bone
#

Will vote when I get home I guess

limber skiff
#

well then we should pick one and use everywhere

austere talon
#

it doesn't matter

limber skiff
limber skiff
#

code is messy

fossil inlet
limber skiff
#

that's literally it

#

I didnt push that to dev

fossil inlet
#

Oh, I'm.blind

limber skiff
#

either way it's gonna have breaking changes because the code is inconsistency

glass jasper
#

still tho Rip every userplugin ever

limber skiff
#

in some places we use API, in others Api

fossil inlet
brazen bone
#

I love apis 🐝

glass jasper
#

It’s an acronym, anyways acronyms shouldn’t be capitalised

#

it’s just weird

limber skiff
#

it's preference honestly

#

same thing for userId and userID as said earlier

brazen bone
glass jasper
#

ok so we wait the revert of this commit

limber skiff
swift fjord
#

erm actually its an initialism

opaque silo
austere talon
#

just change nothing

#

it really does not matter

shell shuttle
#

what if instead

#

there's no code changes

#

but there are visual changes

#

like

charred monolithBOT
limber skiff
#

fine

charred monolithBOT
shell shuttle
#

this is krystal's fault

limber skiff
#

I still think at some point stuff needs to be changed

glass jasper
limber skiff
#

it's an active project and the more code quality the better

limber skiff
austere talon
#

casing of variable names is not code quality wires

#

only if the name is awful

limber skiff
#

for example a more strict eslint rule set too

limber skiff
austere talon
#

not really

#

it really doesn't matter

limber skiff
#

yes we have intellisense but even then

shell shuttle
#

#bringbackAPI

dapper crest
charred monolithBOT
shell shuttle
fossil inlet
dusk blaze
fossil inlet
dusk blaze
#

97670e12

fossil inlet
#

guhh

#

Vencord: v1.10.1 • f48bfd59 (Dev) - 6 Sept 2024
Client: stable ~ Vesktop v1.5.3
Platform: Linux x86_64
⚠️ Vencord DevBuild
⚠️ Has UserPlugins

dusk blaze
#

Vencord: v1.9.8 • 97670e12 (Dev) - 2 Sept 2024
Client: stable ~ Vesktop v1.5.3
Platform: Win32
⚠️ Activity Sharing disabled
⚠️ Vencord DevBuild
⚠️ Has UserPlugins

fossil inlet
#

Vencord: v1.10.1 • 56459bdc (Dev) - 6 Sept 2024
Client: stable ~ Vesktop v1.5.3
Platform: Linux x86_64
⚠️ Vencord DevBuild
⚠️ Has UserPlugins

fossil inlet
#

with the new profile plugin does anyone think it would be a good idea to move the buttons on the normal profile to the guild one

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

glass jasper
#

w

grizzled stream
#

where is the vesktop local copy of vencord located? vesktop is currently set to load vencord from the default location but apparently it has "more recent commits" somehow

#

update: ended up nuking ~/Library/Application Support/vesktop/vencordDist and it fixed itself

dusk blaze
grizzled stream
fossil inlet
#

how do you type native functions

#

and how do you call them

limber skiff
#

I'm sure you can look at any plugins that use them and ur gonna understand

fossil inlet
#

i missed the one line i needed to see 😭

rugged spire
#

i didnt know plugin requests were closed now 🙏

limber skiff
#

they are?

rugged spire
#

yes

#

vee archived the repo

limber skiff
#

I see

crude raptor
#

god bless

fallen vale
#

at last, im free

limber skiff
#

this plugin

#

is neat

rugged spire
#

oh

#

is that profile banners?

limber skiff
#

yeah

grizzled halo
#

Thats actually pretty cool

crude raptor
#

definitely interesting

#

feel like people going online/offline would absolutely fuck with its brain tho LOL

limber skiff
# limber skiff
poll_question_text

which

victor_answer_votes

8

total_votes

12

victor_answer_id

1

victor_answer_text

API

wary relic
charred monolithBOT
charred monolithBOT
charred monolithBOT
jagged cloak
#

literal skill issue

#

i want to reply skill issue so badly but thats pretty rude lol

charred monolithBOT
charred monolithBOT
charred monolithBOT
jagged cloak
#

I FUCKING FORGOT

austere talon
austere talon
jagged cloak
#

me when i try to painstakingly give support over github issues because i have the support channel muted and forgot it existed

shell shuttle
shell shuttle
#

they declined almost everyone a few months ago

jagged cloak
#

ive neen in it for months

shell shuttle
#

be a guild owner
advertise to guild-joining server
decline literally everyone
get clan removed from guild-joining server because 99% of the comments were "i was declined" or "hope i'm accepted" and get donowalled

shell shuttle
jagged cloak
#

its just a genshin/gacha server lol she prob declined all the guild badge goblins

#

iirc it wasnt even added there by the owner so Shrug

shell shuttle
#

OHHHH

jagged cloak
#

average coredev conversation

shell shuttle
#

shiit that makes sense

#

i dont play enough genshin prob

#

ar 33 and i do less than 1k damage

glass jasper
shell shuttle
jagged cloak
#

meanwhile i got donowalled from funny datamining guild

#

hug when

shell shuttle
#

did u apply

jagged cloak
glass jasper
shell shuttle
jagged cloak
glass jasper
austere talon
jagged cloak
#

i didnt say they had to chekc it now lool

#

they should be eating more famichiki instead

umbral hedge
# jagged cloak

there are hundreds of requests and the UI for viewing them is unintuitive

#

you just gotta ask me

charred monolithBOT
gritty canyon
#

As I am Vees alt account, and thus can decide over PRs on GitHub, I shall strike this PR down due to begging for merge.

jagged cloak
shut vineBOT
#

@fossil inlet, <t:1725320656:R>: fix

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
#

is the webpack instance always the thrid argument in webpack modules

charred monolithBOT
frail skyBOT
#
Bad Patches

TimeBarAllActivities (had no effect):
ID: 994746
Match: ```
/(0,.{0,30}activity:(\i),className:\i.badges})/g


**__TimeBarAllActivities (had no effect):__**
ID: `994746`
Match: ```
/(\i).type===(\i\.\i)\.WATCHING/
Bad Webpack Finds
findByProps("activity", "buttonColor")
Bad Starts

None

Discord Errors

None

#
Bad Patches

TimeBarAllActivities (had no effect):
ID: 994746
Match: ```
/(0,.{0,30}activity:(\i),className:\i.badges})/g


**__TimeBarAllActivities (had no effect):__**
ID: `994746`
Match: ```
/(\i).type===(\i\.\i)\.WATCHING/
Bad Webpack Finds
findByProps("activity", "buttonColor")
Bad Starts

None

Discord Errors

None

charred monolithBOT
#

This PR adds a plugin that provides options regarding the configuration of the GIF picker visibility/send behavior.

These behaviors are: (configurable via plugin options)

Gif Visibility Behavior

  • Close after sending: The picker will close immediately after sending a GIF. (Default)
  • Always keep open: The picker will always remain open after selecting a GIF.
  • Keep open when SHIFT is held: Keeps the GIF picker open if the SHIFT key is held down.

GIF Send Be...

charred monolithBOT
charred monolithBOT
charred monolithBOT
crude hearth
#

We need

opaque silo
#

someone should make a plugin to make discord not slow

gritty canyon
fallen vale
austere talon
torpid vessel
#

my bad

austere talon
#

no one will read all that

#

try to make it more concise

torpid vessel
#

got it owo

#

i've updated it

hybrid blaze
austere talon
#

you completely broke the plugin

hybrid blaze
#

damn thats op

austere talon
hybrid blaze
#

aham

#

i see

#

make sense

#

💀

#

ya mb

fallen vale
#

didnt ya just randomly invert the case for no reason?/genq

charred monolithBOT
fallen vale
#

<already existing plugin>+ my beloved

charred monolithBOT
gritty canyon
#

sanest plugin

charred monolithBOT
dusk blaze
#

dum

#

just contribute to original plugin

charred monolithBOT
gritty canyon
#

why does GitHub hide the "<Plugin>"..

fallen vale
#

oh-

#

thats weird

gritty canyon
#

the badge pr

hybrid blaze
#

this more than 2line SH_cat_angry

charred monolithBOT
#

done, tysm <3

Still, why?

The nature of Vencord allows anyone to contribute to any plugin, if you really want your changes in Vencord I suggest just adding the options to the original BlurNSFW. (Plugin)+ is very stupid.

My idea was making a different plugin because i dont saw any update in BlurNSFW, at the start i made the changes in the original plugin, but i made it different when saw the last update is 9 months ago and i wanted to make it like an "BlurNSFW plugin with ...

gritty canyon
#

imo at least

#
  • dont add to devs constant for such minor changes
charred monolithBOT
opaque silo
hybrid blaze
#

i mean okay, i understand, but still

#

obv, if you have a better idea for the key combo, im all ears. for me its a quick option, but sure, it can vary

gritty canyon
# hybrid blaze then by that logic, replying is pointless too. right-click, reply, done. with pi...

"2 more functions"..?
Also the difference between pinning and replying is that replying is an action you do often and pinning is an action you do once a month
pins is also a place to put important message (at least intended to by discord) so having a shortcut to it might make you pin unnecessary messages
i doubt anyone is going to really use this, but i mean there are a couple of features that barely anyone uses so my largest problem is that this seems more like a band aid patch for the contributor badge instead of something more thought out
something more thought out wouldve not had the typo, the inconsistencies in the settings description (random capitalisation) and allow for more customisation instead of hardcoded binds
stuff like this is ofc fine on a smaller plugin, but once it gets expanded it should be addressed (reason for openinapp rewrite) but that is just my opinion on it

hybrid blaze
# gritty canyon "2 more functions"..? Also the difference between pinning and replying is that r...

u're partly right, but i actually did this a long time ago, before the plugins were refactored. at that time, pull requests were also paused for some reason, and it was mentioned in the pull request that it would be merged. but as i said, after that, there was a pause on pull requests, and nothing happened for a long time. a few months later, i redid it, basically, thats it.

as for the typo, thats something that can happen to anyone. i dont think its that big of a deal, i just modified the code and i accidentally left the description unfinished, but ofc i understand what are you talking about, and its fine EG_blob_heart

#

Also, i understand the point about wanting a "more creative and unique idea," and its valid obv. but there are already tons of plugins, some of which would make more sense to merge because they're very similar. most useful plugins already exist so.
u might not use it, but u know how it is, different ppl, different habits. it could be useful for some, and some might use it often

austere talon
#

😭

#

yapping champions

fossil inlet
hybrid blaze
pine topaz
gritty canyon
charred monolithBOT
turbid hatch
#

eh, why not

#

it seems simple enough

charred monolithBOT
#
[Vencord/Vencloud] New branch created: dependabot/go_modules/go_modules-b9ac453758
#

Bumps the go_modules group with 1 update in the / directory: golang.org/x/net.

Updates golang.org/x/net from 0.7.0 to 0.23.0

Commits

c48da13 http2: fix TestServerContinuationFlood flakes
762b58d http2: fix tipos in comment
ba87210 http2: close connections when receiving too many headers
ebc8168 all: fix some typos
3678185 http2: make TestCanonicalHeaderCacheGrowth faster
448c44f http2: remove clientTester
c7877ac http2: convert the remaining clientTester ...

#
[Vencord/Vencloud] New branch created: dependabot/go_modules/go_modules-0ea2499fc9
#
[Vencord/Vencloud] New branch created: dependabot/go_modules/go_modules-a71fc8c078
#
[Vencord/Vencloud] New branch created: dependabot/go_modules/go_modules-c775a3108c
turbid hatch
#

jesus christ okay

charred monolithBOT
#

Bumps the go_modules group with 1 update in the / directory: golang.org/x/crypto.

Updates golang.org/x/crypto from 0.4.0 to 0.17.0

Commits

9d2ee97 ssh: implement strict KEX protocol changes
4e5a261 ssh: close net.Conn on all NewServerConn errors
152cdb1 x509roots/fallback: update bundle
fdfe1f8 ssh: defer channel window adjustment
b8ffc16 blake2b: drop Go 1.6, Go 1.8 compatibility
7e6fbd8 ssh: wrap errors from client handshake
bda2f3f argon2: avoid clo...

#
[Vencord/Vencloud] New branch created: dependabot/go_modules/go_modules-7b0c521a28
prime dew
turbid hatch
#

what the hell?

#

i didnt configure dependabot to do that though

#

like i explicitly turned that off

prime dew
#

Is everything okay?

turbid hatch
glass jasper
#

erm... chat spam much

turbid hatch
#

its literally turned off

#

idk why it did that

#

but whatever

#

thanks dependabot

glass jasper
#

vban 96269247411400704 chat spam /joke

charred monolithBOT
turbid hatch
#

jesus christ

#

why is vencloud so NOISY

#

SHUT UP

charred monolithBOT
turbid hatch
#

ok

#

shut up

#

okay

#

it should be

#

quiet now

fallen vale
#

what the fuck

charred monolithBOT
turbid hatch
#

yeah im not having a good time lol

#

im going to purge all of this once its over

charred monolithBOT
#

Bumps the go_modules group with 1 update in the / directory: golang.org/x/crypto.

Updates golang.org/x/crypto from 0.21.0 to 0.27.0

Commits

c9da6b9 all: fix printf(var) mistakes detected by latest printf checker
b35ab4f go.mod: update golang.org/x dependencies
bcb0f91 internal/poly1305: Port sum_amd64.s to Avo
7eace71 chacha20poly1305: Avo port of chacha20poly1305_amd64.s
620dfbc salsa20/salsa: Port salsa20_amd64.s to Avo
82942cf blake2b: port blake2b_...

turbid hatch
#

oh wait

#

all of these PRs are security updates

#

lol

#

i just saw the dependabot dashboard

wary relic
#

nah who needs security

turbid hatch
#

there's like 15 security issues

turbid hatch
#

this is painfully annoying

charred monolithBOT
turbid hatch
#

i need to do this before i make it base on dev though

#

so

turbid hatch
#

so i need to update to go 1.21

#

okay

#

because there's a vulnerability in a library on go 1.20 and its kinda bust

#

ed

fossil inlet
#

Average cord dev spam

turbid hatch
#

god i made a mess of this

#

lol

fallen vale
#

?purge 150

austere talon
turbid hatch
#

yeah i worked it out after

#

i didnt realise there were like

#

so many

#

lol

austere talon
#

jesus christ the spam

turbid hatch
#

yeah

#

im not done, yet

#

im going to blitz it in a bit

austere talon
#

just ignore dependabot lol

#

all these are irrelevant

turbid hatch
#

tbf i did actually read the security advisory

#

and they were very relevant

#

and very bad

#

like there were a few attacks that the software was vulnerable to like a http/2 cancellation attach, http/2 rapid reset ddos, CORS configuration error, QUIC memory exhaustion attack, denial of service

#

actually i just listed off all the advisories lol

#

so its probably not great to have that in a live image

charred monolithBOT
austere talon
#

why didn't later go work previously

#

I forgot

turbid hatch
#

the version of the quic library

#

versions after that required 1.21

#

but the current version needed 1.20

#

i dont know why poi_shrug

#

weird funny stuff

#

hey dependabot

#

why are you still upset

charred monolithBOT
turbid hatch
#

?????????????

fallen vale
#

lmfao

charred monolithBOT
turbid hatch
#

okay

#

yes

#

so can i have a new one now

fallen vale
#

lewi pro

turbid hatch
#

its just linking me the old PR

#

that doesnt work

#

ffs

charred monolithBOT
turbid hatch
#

i have

#

no idea

#

how i missed that

#

yeah no wonder dependabot cant reopen the PR

#

it doesnt know where to put it

charred monolithBOT
#

Bumps github.com/ansrivas/fiberprometheus/v2 from 2.6.0 to 2.7.0.

Release notes
Sourced from github.com/ansrivas/fiberprometheus/v2's releases.

v2.7.0
What's Changed

build(deps): bump github.com/gofiber/fiber/v2 from 2.48.0 to 2.49.0 by @​dependabot in ansrivas/fiberprometheus#177
build(deps): bump github.com/gofiber/fiber/v2 from 2.49.0 to 2.49.2 by @​dependabot in ansrivas/fiberprometheus#180
build(deps): bump github.com/prometheus/client_go...

turbid hatch
#

there we go

charred monolithBOT
#

Bumps github.com/redis/go-redis/v9 from 9.0.2 to 9.6.1.

Release notes
Sourced from github.com/redis/go-redis/v9's releases.

9.6.1
Changes
9.6
This release contains all new features from version 9.6.
🚀 New Features

Support Hash-field expiration commands (#2991)
Support Hash-field expiration commands in Pipeline & Fix HExpire HExpireWithArgs expiration (#3038)
Support NOVALUES parameter for HSCAN (#2925)
Added test case for CLIENT KILL with MAXAGE opt...

#

Bumps github.com/prometheus/client_golang from 1.16.0 to 1.20.3.

Release notes
Sourced from github.com/prometheus/client_golang's releases.

v1.20.3

[BUGFIX] histograms: Fix possible data race when appending exemplars. #1608

v1.20.2

[BUGFIX] promhttp: Unset Content-Encoding header when data is uncompressed. #1596

v1.20.1
This release contains the critical fix for the issue. Thanks to @​geberl, @​CubicrootXYZ, @​zetaab and @​timofurrer for he...

turbid hatch
#

oh, horrifying

#

it's found a billion new security vulnerabilities

#

oh, no

#

these are just normal ones

#

its because i forgot to tell it "security only"

#

well this is annoying

#

so dependabot will only PR to the main branch unless you use a config file

#

but if you use a config file then it'll do version updates as well

#

this is literally not what i want

#

but there's no w

#

okay

#

whatever

#

its probably good to do it

charred monolithBOT
austere talon
#

horror

turbid hatch
#

dependabot

austere talon
#

just remove the dependabot config

turbid hatch
#

actually sucks

#

then it tries to PR to main

austere talon
#

I already disabled prs in repo settings

#

it won't pr anything anymore

turbid hatch
#

i want it to do it for security updates i just dont want it to do it for anything else!!

austere talon
#

you still get alerts

#

and can manually trigger a pr

charred monolithBOT
austere talon
turbid hatch
#

okay

#

dependabot

#

fix it

turbid hatch
#

yes

#

okay

#

you got that far

charred monolithBOT
turbid hatch
#

you

#

mother

#

okay

turbid hatch
#

so what it wants me to do

#

now

#

is close the PR

#

but if i close the PR

#

it doesnt do anything

turbid hatch
#

watch

charred monolithBOT
turbid hatch
#

it says that

#

and then thats it

#

it literally does nothing else

#

it wont recreate the PR

#

so now i have a bugged security advisory

#

good software

turbid hatch
#

i can only see published ones, as the repo owner you have exclusive access to the ones people have reported

#

send a screenshot

turbid hatch
austere talon
turbid hatch
#

nice

pine topaz
#

fgdg is a very powerful exploit

charred monolithBOT
fossil inlet
pine topaz
#

g

turbid hatch
#

this is the most

#

jank system

#

i have ever used

pine topaz
#
  1. open vencord
  2. g
  3. ???
  4. severe security vulnerability
charred monolithBOT
turbid hatch
#

okay

austere talon
#

someone reported a plugin bug via security advisories

turbid hatch
#

you know what

#

i give up with dependabot

austere talon
#

these are months old without me noticing

#

kinda bad tbh

turbid hatch
#

it should send an email

#

if oyu have it configured

austere talon
#

can i enable webhook notifications

#

like not the content but maybe like

#

New security report opened

turbid hatch
turbid hatch
#

repository advisories

charred monolithBOT
#

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

austere talon
#

don't make dependabot angry or it will open 200 prs

charred monolithBOT
glass jasper
turbid hatch
charred monolithBOT
austere talon
#

why not just

git fetch
git reset --hard dev
git push --force origin main
turbid hatch
#

too lazy

austere talon
#

too lazy
does 10 times more complicated thing 😭

turbid hatch
turbid hatch
#

tbh pushing to ghcr was actually

#

a lot easier than i anticipated

#

of course it'd be nice if the action actually

#

ran

#

oh its because i put skip ci

#

ffs

charred monolithBOT
turbid hatch
#

OKAY

#

IT IS DONE

fallen vale
#

WOOO

#

good job lewi

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

wops broke my textreplace

limber skiff
#

@austere talon they did something to discord spotify token permissions

#

shuffle and repeat

spark pivot
#

unless thats canary

limber skiff
#

stable

#

okay maybe I'm just stupid lol

#

nvm it works, I just wasnt in a playlist

fossil inlet
#

can you access settings in the start function of the plugin

#

its giving me an error

grave mangoBOT
#

index.tsx: Line 78

const source = regex.map(r => r.reg.source).join("|");
granite sky
#

Wrong line lmao

#

Also wrong ping

grave mangoBOT
fossil inlet
#

I'm stupod

#

Forgot to add settings to define plugin

limber skiff
#

I really hate how that works

#

settings in the plugin object is the only reason ur not able to use them at top level

fossil inlet
#

is there any need to use at top level

limber skiff
#

rare but yeah

#

either way

#

if we could somehow insert the plugin name without inserting something in the plugin object

#

things would be easier

#

and more possibilities

#

this is an use

#

would not need that start method

charred monolithBOT
turbid hatch
#

using it at the top level means that we'd have to initialise the settings for a plugin you might not even be running, which is kinda silly blobcatcozy

limber skiff
#

they already are

#

DSFDSFSDFSDFDSFDS

turbid hatch
#

in which case that's wrong and should be fixed

limber skiff
#

oh wait

#

nvm

#

my head forgot the if condition above it

#

but like

turbid hatch
limber skiff
#

at the same time

#

it doesn't matter much

turbid hatch
#

it's better to do it on start

#

if you want to access the settings

limber skiff
#

PlainSettings are still stored

#

which include all plugin settings

#

even those not enabled

#

initializing those settings are just some extra objects which really doesn't matter

turbid hatch
#

personally i think its a bad idea

limber skiff
#

though either way, doing what I said might be complicated

#

it would be some esbuild magic to somehow grab the plugin name and insert in place somewhere

turbid hatch
#

there is only one use case for doing it at the top level and it's easily worked around by just doing it in start anyway, where it is better suited

#

oh also you have to remember that if you use the settings before the plugin is initialised you will cause an error blobcatcozy

#

which i guess is what your esbuild magic is for

#

but that makes it really complicated so i rly dont think its a good idea

limber skiff
#

because we require the settings to be inside the plugin definition

#

for them to grab the plugin name

austere talon
#

also is used to resolve defaults with how it's used rn

limber skiff
#

and that ends up causing a circular dependency if you use them in top level

turbid hatch
#

not really a circular dependency

#

just a

#

"this prop isnt initialised, whoops!"

#

we have a dedicated error for it

limber skiff
#

I dont remember what's the error exactly

#

but I don't like how it's so dependant on that

grave mangoBOT
# turbid hatch https://github.com/Vendicated/Vencord/blob/main/src/api/Settings.ts#L229-L236

Settings.ts: Lines 229-236

get store() {
    if (!definedSettings.pluginName) throw new Error("Cannot access settings before plugin is initialized");
    return Settings.plugins[definedSettings.pluginName] as any;
},
get plain() {
    if (!definedSettings.pluginName) throw new Error("Cannot access settings before plugin is initialized");
    return PlainSettings.plugins[definedSettings.pluginName] as any;
},
limber skiff
#

right it's that one

turbid hatch
grave mangoBOT
limber skiff
#

yes I know

turbid hatch
#

regardless of the plugin being enabled or not

#

so yes you could use esbuild to inject it as an extra parameter to definePluginSettings

limber skiff
#

that wouldn't be only useful for definePluginSettings

turbid hatch
#

but that may also cause other issues down the line

limber skiff
#

we would be able to decouple other functions from the plugin object

#

and perhaps have some decorator like functions

#

for example addContextMenuPatch(contextMenuDefinition)

#

all at top level

turbid hatch
#

decorators are nice

limber skiff
#

however, not actual decorators

#

they are limited to class methods sadly

turbid hatch
#

eh?

#

no they're not

limber skiff
#

they are

#

I thought they were nice too

#

but you cant use them in normal functions

turbid hatch
#

wtf

#

i swear i've used them at top level before

limber skiff
#

fucking sucks

#

imagine this

#

neat as heck

turbid hatch
#

well damn

#

i must've thought of something else

#

time to move to class based plugins SilvervaleGiggle

limber skiff
#

xd

turbid hatch
#

thats a shame

#

although i guess i kinda understand why

limber skiff
#

so imagine this instead

limber skiff
turbid hatch
#

welcome back powercord

limber skiff
#

automatically

#

for handling enabling/disabling

austere talon
#

I think it's better in the plugin definition

limber skiff
#

hmm

austere talon
#

less confusing

austere talon
#

and it's just extra effort to couple that call to the right plugin

#

we could have some dynamic module via esbuild plugin that returns scoped methods whenever you import it but is it really worth it

#

would be confusing to use

quaint sapphire
#

I swear to god that I remember you had a custom regex shortcut to match variables, but I can't fucking find it

#

and I am starting to think that it was all in my mind

#

it was \i!

#

at last

#

ngl \i is weird, since $self also exists and uses a different style
(talking about the syntax, not what each does)

nimble plaza
#

$self doesnt match anything

brazen bone
#

$self is in the replacement

quaint sapphire
#

yeah I know

nimble plaza
#

its not a part of regex

gritty canyon
brazen bone
#

Replacement has different syntax from regex

quaint sapphire
#

yes

#

I knew that guys

gritty canyon
#

notice how matches and replaces are 2 different words

quaint sapphire
#

I ain't new to this

brazen bone
#

It is quite common for different things to have different syntax

quaint sapphire
#

I am commenting on the \ vs $

nimble plaza
#

\ is regex syntax

#

we just add our own thing

brazen bone
#

It is consistent with the contexts in which the two are used

quaint sapphire
#

it's just a personal opinion

gritty canyon
#

i.e. \b matches word boundries, $1 replaces with the first group

quaint sapphire
#

yes, we can agree on that, I did not mix them up

gritty canyon
#

this isnt vencord things

quaint sapphire
#

I am used to \1 for replacement groups

brazen bone
#

It would be way weirder if replace was \self even though replaces use $1 for capture groups

quaint sapphire
#

not all regex engines use $1 in replacements

brazen bone
#

Js does

gritty canyon
#

vscode, jetbrains does

#

and there you have 90% of all regex replaces covered

brazen bone
#

In most regex libraries if you specify \1 you get a nice SOH

gritty canyon
#

whats an soh

brazen bone
#

As in ascii 0x01

gritty canyon
#

ah

#

makes sense

spice python
quaint sapphire
#

shell regex has ruined me

gritty canyon
brazen bone
#

All modern text editors have regex replace, yes

#

Where "modern" means "everything in the last 30 years except ms notepad"

gritty canyon
spice python
#

They just use their languages regex thing tho probably

quaint sapphire
marsh spruce
#

Is there a more in depth guide on how patches work.

#

?

brazen bone
#

They're literally just regex replace (plus \i and $self)

spice python
quaint sapphire
#

you just have to get creative in ur replacements
a bad replacement can cause code to crash

gritty canyon
marsh spruce
#

So I need to grab the webpack value of the ui to essentially then allow me to create a new react element?

brazen bone
#

The component is made of code

quaint sapphire
#

I am making a patch rn, wanna hop on a VC so I call tell you and answer questions?

brazen bone
#

Code is text

#

Text can be regexed

marsh spruce
brazen bone
#

No, it's React

quaint sapphire
#

nah

marsh spruce
#

And switches the actual page

quaint sapphire
#

it is javascript that generates html

#

you should learn the basics of reactjs ig

#

to understand how the UI is rendered

spice python
#

what youre patching is the reactjs code this isnt betterdiscord

quaint sapphire
#

bd mentioned in 2024

marsh spruce
#

It's in a fact list

quaint sapphire
#

what fact list?

brazen bone
#

"FaCt LiSt"

marsh spruce
fossil inlet
marsh spruce
#

It's some form of ui list

quaint sapphire
brazen bone
#

Yes, react eventually renders it to DOM elements

#

Some 20 abstraction layers down

quaint sapphire
#

please learn how reactjs works

#

it ain't a lot in order to understand

marsh spruce
#

So the regex is the dom element version?

spice python
quaint sapphire
brazen bone
#

React code builds react elements

quaint sapphire
#

you use regex to edit the javascript code that is responsible for generating the html

brazen bone
#

Which are then somewhere, deep down converted to dom elements but you don't need to worry about that part

spice python
marsh spruce
#

I am not trolling why do you think I am?

austere talon
#

you guys are terrible at explaining 😭

#
  1. forget about any kind of DOM or html, that's not how vencord plugins work
quaint sapphire
spice python
austere talon
# austere talon 1. forget about any kind of DOM or html, that's not how vencord plugins work
  1. discord has many modules. each module represents one file, except that they are bundled together into one big file
  2. vencord patches work by string replacing discord's javascript code
  3. you need to find the module that contains the code for the ui element you want to patch
  4. then you use a regex replace to change the code in that file to add or remove code you need for your own functionality
quaint sapphire
#

maybe we should start there?

austere talon
#

discord's code will look something like this:

function a(e) {
  const { channels } = e;
  
  return (0, r.jsx)("ul", {
    children: channels.map(/* ... some code here */)
  })
}
marsh spruce
austere talon
#

you can add an ui element by adding your own code

quaint sapphire
#

let's make a thread

austere talon
quaint sapphire
#

patching discord's UI

spice python
#

cant talk in threads sad

dusk blaze
#

beg vee to give to you

fossil inlet
#

guhhh

#

how do i not have programming role

dusk blaze
#

@austere talon thread perms for contribs when

austere talon
#

there fixed

austere talon
nimble pendantBOT
frosty bronzeBOT
#

A tactical nuke will soon arrive on @austere talon’s location.\n-# Sehorgan Only aliens can see this

dusk blaze
#

DIE BOT DIE

#

duality of man

opaque silo
#

chat are gray blob badges a known issue

austere talon
#

if you don't update your vencord yes

opaque silo
#

i just did 😭

quaint sapphire
#

rate my code, how cursed is it?

#

(is it cursed at all?)

#

it reverts the shift key when starting a call
so it by default will not ring anyone, and when pressing shift it will ring the DM members

fossil inlet
#

is that webstorm husk husk husk

quaint sapphire
#

yes, my vscode on windows 11 stopped working out of nowhere

#

literally no LSP server would work on it

fossil inlet