#๐Ÿ‘พ-core-development

1 messages ยท Page 96 of 1

limber skiff
#

I had no idea you could search in all files of a website

umbral hedge
#

lmao

#

i still have an old version of mcord somewhere

#

which used string patching

#

but it was really overengineered compared to vencord

woeful sable
#

ven talked a lot about that in replugged iirc

umbral hedge
#

because i had never done it before

limber skiff
#

yeah I wasn't in replugged

woeful sable
#

you were saved

umbral hedge
#

i've never been active in replugged

limber skiff
#

I read a lot of the powercord server

woeful sable
#

I was active in replugged the first month it was created

umbral hedge
#

i only do the bi-yearly message in the contributor channel like i did in powercord

limber skiff
#

but not replugged

umbral hedge
#

because the contrib channels are always dead

woeful sable
#

dude powercord dev channel was dead asl ๐Ÿ’€

umbral hedge
#

so is the replugged one

woeful sable
#

had king fish and asport in there being nerds

limber skiff
#

my first attempt to make a plugin was using powercord

umbral hedge
#

powercord v3 when

limber skiff
#

and I could not understand monkey patch

#

I tried reading the source code

umbral hedge
#

i remember hating how inefficient making plugins felt like in powercord

limber skiff
#

and it only got worse

lime stone
limber skiff
#

yeah lmao

woeful sable
umbral hedge
#

i made a plugin that added context menu buttons for a server iwas in

woeful sable
#

after 3 years of development

umbral hedge
#

like this but this didn't exist back then

limber skiff
#

a friend of mine made the plugin I wanted in like 1 hour without ever touching powercord plugins before

lime stone
#

i just wanted to fix the scrolling speed on disctop

limber skiff
#

they used injector and I was like?? how did you know you needed that

austere talon
#

HAHAHA REMEMBER MY POWERCORD MODULE FINDER PLUGIN

umbral hedge
#

whats that

woeful sable
#

I remember

limber skiff
#

If I only knew monkey patch was so simple

umbral hedge
#

nvm i googled it

limber skiff
umbral hedge
austere talon
#

bro this was literally me when I realised you can just search all files

๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ

umbral hedge
#

proto jumpscare

woeful sable
limber skiff
#

my first plugin was made using it ๐Ÿ˜ญ๐Ÿ˜ญ

austere talon
umbral hedge
#

lmao

limber skiff
#

what even was my first contribution to vencord

austere talon
#

anyway like all the fucking devs used it cause noone knew you could just search all sources

limber skiff
#

I think Spotify crack patch

umbral hedge
#

mfw i use this for searching code

woeful sable
umbral hedge
#

dpacker my beloved

#

ironically it doesn't work properly with jsx-reconstructor even though i made both

#

jsx reconstructor is complicated tho

#

read source and cry

woeful sable
#

megu is complicated

limber skiff
austere talon
umbral hedge
#

i dont ever use the debugger trolley

umbral hedge
austere talon
#

you really should use the debugger

limber skiff
#

I barely use debugger lol

austere talon
#

I use it so often

limber skiff
#

only when needed

umbral hedge
#

it splits the discord <hash>.js files into their individual modules

limber skiff
#

most of the time I just read the code

austere talon
#

I use it both to check local variables / functions called and also to step the stacktrace to find the caller

umbral hedge
#

14,044 items...

limber skiff
#

I scroll up to find the variables

umbral hedge
#

it takes vscode a bit to index it for the first time you search, but after that its fast

#

its nice for being able to ctrl-click to follow references and stuff

#

and it fixes the imports so that import references work properly

limber skiff
umbral hedge
woeful sable
#

require("megu")

austere talon
umbral hedge
#

could not resolve module "megu"

woeful sable
umbral hedge
#

wdym extracted

limber skiff
#

I also use search for the var name

umbral hedge
#

oh right yea i get it nvm

austere talon
limber skiff
#

I just got used to finding stuff lol

umbral hedge
#

being able to do this is Pray

limber skiff
#

but either way using debugger to find the variables is good

austere talon
#

idk i just put breakpoint cause then you can jump to variables referenced

umbral hedge
austere talon
#

similar to ctrl click in vscode

limber skiff
#

I have used it before

limber skiff
#

tbh

#

the worst thing you can encounter is react components being rendered

umbral hedge
#

i just console.log and store as global if need be

limber skiff
#

because putting breakpoints and looking at the stack will most of the time just get you to react internals

austere talon
#

when you walk the stacktrace and land in react code

limber skiff
#

EXACTLY

#

it's so bad

austere talon
#

I get react jumpscared so often

umbral hedge
#

who needs debugger when i can have temp1

austere talon
#

walking stack is only useful for non react functions

limber skiff
#

I spent 2 days to find how discord was changing the route when I clicked on a hidden stage channel

#

because it used a component to change the route

austere talon
#

also another thing about me heavily using the debugger is that most of the time i open devtools my discord immediately freezes cause i still have old breakpoints

#

always such a jumpscare

limber skiff
#

It just rendered a component that had a to: prop which changed the route

umbral hedge
#

hop on jsx reconstructor

frail skyBOT
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

MoreUserTags (had no effect):
ID: 742224
Match: /this.props.user;return null!=(\i)&&.{0,10}\?(.{0,50})\.botTag/

IgnoreActivities (had no effect):
ID: 660859
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access '_pe' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
austere talon
#

reporter jumpscare

limber skiff
#

jumpscare

umbral hedge
#

fear

#

we should ban vencord reporter for spam

austere talon
umbral hedge
#

ye

#

support was added a while ago

frail skyBOT
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

MoreUserTags (had no effect):
ID: 742224
Match: /this.props.user;return null!=(\i)&&.{0,10}\?(.{0,50})\.botTag/

IgnoreActivities (had no effect):
ID: 660859
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore] 
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
umbral hedge
#

HORROR

limber skiff
#

I find it pretty surprising I've never seen voice call internals inside the source

#

like the stuff that controls bitrate etc

umbral hedge
#

rust

austere talon
#

I mean there's also js code

#

I read most of it

limber skiff
#

yeah

#

no idea how those look like lol

austere talon
#

the code is so hard to follow

limber skiff
#

๐Ÿ˜”

umbral hedge
#

funny canUseStreamSetting function

austere talon
#

nuh uh

#

on web

#

the web code for streaming is very different

umbral hedge
#

ah

austere talon
#

720p is hardcoded

umbral hedge
austere talon
shy veldt
#

virus

austere talon
#

the patch works only for the initial stream, the hacky code works only for when you change source

umbral hedge
charred monolithBOT
charred monolithBOT
nocturne haven
#

That's what discord considers it like, also normal clients can't do it

#

I wouldn't recommend doing so because it does have a pretty noticeable impact

charred monolithBOT
median rapids
#

manage roles, kick, ban, or admin

limber skiff
#

makes sense

nocturne haven
#

Also the fact that this flag is made for mods kinda proves that

#

It's pretty much the same story with embeds honestly

charred monolithBOT
charred monolithBOT
charred monolithBOT
woeful sable
#

yall why doesnt the experiments extension work

tawny cipher
#

vns

nimble pendantBOT
austere talon
charred monolithBOT
nocturne haven
# austere talon ?

It's kinda sus when you ping someone on public chat but it doesn't go through

nocturne haven
austere talon
#

no lol

charred monolithBOT
austere talon
#

what do you think how reply ping toggle works part 2

median rapids
shy veldt
median rapids
#

exactly

charred monolithBOT
lime stone
#

hey wait

#

this person is familiar blbctscrd

median rapids
#

cryptic ๐Ÿ˜Ÿ

charred monolithBOT
lime stone
#

at least somebody with a similar name and same avatar

median rapids
#

lmao

charred monolithBOT
nocturne haven
# austere talon no lol

That's what I was told when I also tried making a similar plugin. I mean it makes sense too.

austere talon
#

who told you that

#

the BD guidelines are overly strict

nocturne haven
#

Back in the day the powercord folks, BD folks (ofc)

#

I mean I never bothered to read their guidelines etc, it made a lot sense to me (and still does tbh)

nocturne haven
charred monolithBOT
nocturne haven
#

But ofc, it's discord so always expect the unexpected to happen

#

But yeah, giving it another thought, it might not be directly selfbotting but rather just suspicious in general and could raise some sleeping dogs I think.

#

You're basically even more exposing yourself that you're abusing the api imo

tawny cipher
#

mimimimi

#

who cares

charred monolithBOT
lime stone
#

oh my god

#

my enter key

lime stone
nocturne haven
#

Not malicious

#

There's not many bots and neither users that use this feature. If suddenly this appears, it's gonna be kinda suspicious to others and possibly report the client mod user is what I'm thinking

austere talon
lime stone
nocturne haven
# tawny cipher who cares

This is exactly why we at BD are so strict with this. We've been confronted by users crying "why didn't you warn me that [...] causes my account at risk. Remove this plugin immediately"

austere talon
#

that's simply not a thing

#

you don't get banned for things like allowed mentions

nocturne haven
austere talon
#

you only are at risk if the plugin actually does something malicious /abusive like spamming

#

animated status for example

nocturne haven
woeful sable
#

does any one know where did VSC Cord went?

crude hearth
#

unusual requests are always bad imo

austere talon
crude hearth
#

we didnt had any issues but it doesnt mean we wont ever have

nocturne haven
#

We don't disallow 3rd party plugins to implement this and neither the usage of those plugins, we just advertise them to be careful and use at own risk, so we are out of scope for when something happens

austere talon
#

bd also has many plugins with potentially unusual requests

lime stone
#

like i said maybe just have a warning icon on the plugin (or maybe that's stupid)

crude hearth
#

@austere talon review

nocturne haven
austere talon
austere talon
nocturne haven
#

BD user peak was at a couple million different clients when, back when we used to load BD from remote

austere talon
#

both aliucord and vencord have a shit ton of users

crude hearth
tawny cipher
#

bd is pretty shit anyway

crude hearth
#

there is 65k reviewdb users from vencord guess from there

austere talon
#

vencord has at least 100k active users, aliucord at its peak had even more

nocturne haven
crude hearth
austere talon
#

probably but i can't know for sure since we don't really have such statistics

crude hearth
#

add

lime stone
crude hearth
#

๐Ÿ™‚

nocturne haven
nocturne haven
woeful sable
nocturne haven
#

If only we could go back to BBD days ๐Ÿ˜”

tawny cipher
woeful sable
#

such an interesting philosophy

crude hearth
#

adrian very rude

#

bd is kinda horrible but that doesnt change the fact still thausands of people use it

lime stone
#

it's also subjective and not helpful

crude hearth
#

what I am saying is

#

it still matters

#

as long as people use it it matters

lime stone
#

ye

nocturne haven
#

yeah, it's just a matter of respect to the people

tawny cipher
nocturne haven
#

many people quit modding because it's very time consuming and stressful, nowadays bd's the oldest clientmod with 8years of existence

lime stone
woeful sable
#

crazy to see people's true colors

radiant reef
woeful sable
austere talon
#

I don't find it stressful at all

#

time consuming sure

mortal fractal
#

the only stressful part is other people than anything

austere talon
#

don't TRUE me you have it so good

#

vencord will go private soon

austere talon
crude hearth
mortal fractal
crude hearth
#

if you dont get a income you slowly lose motivation to work on

mortal fractal
#

shits fracturing atm because of infra being offline ms_slight_smile

crude hearth
#

at the end you become powercord

#

also vendetta is kinda dead too trolley

crude hearth
#

yeah that would fit more

#

they dont improve api or smthn

#

only fixes

mortal fractal
crude hearth
#

if you know enough people that kinda works somehow

#

isnt that how vencord started

mortal fractal
austere talon
#

vencord was mostly just me at the start

#

then megu made settings ui and a few other people contributed

#

and then it got very popular cause of ntts and then contributions exploded

mortal fractal
#

yeah thats the thing, you need people willing to contribute

crude hearth
#

powercords death contributed too but yeah

austere talon
#

honestly at this point vencord has too many contributions to a point where I can't possibly review everything timely

mortal fractal
#

yep

austere talon
#

gonna become thanos and just close half of the prs

crude hearth
#

dont review

austere talon
mortal fractal
#

need more reviewers fr

austere talon
#

as soon as I merge the code becomes my responsibility

crude hearth
#

anyway merge my pr when

crude hearth
crude hearth
#

but doing that now would trigger double notifications for some users

charred monolithBOT
mortal fractal
#

im still waiting on further review on highlight but im not going to be pushy about it

austere talon
austere talon
#

change it to 20x notification

#

Banned users deserve to be spammed

crude hearth
#

I will implement it once I get back to hoem

woeful sable
austere talon
#

real ones remember when vencord had no settings ui

#

plugins just didn't support settings

woeful sable
#

With fake nitro plugin do I get more messgae limit
?

woeful sable
#

that's all we really needed

woeful sable
#

back in my day we ain't have no fake nitro

woeful sable
#

xd

mortal fractal
woeful sable
#

:wires:

radiant reef
teal halo
#

no

#

not shiggy enough

charred monolithBOT
verbal pumice
#

shrimple

charred monolithBOT
radiant reef
#

๐Ÿคจ

mortal fractal
radiant reef
#

Wtf

olive aurora
#

penis search

mortal fractal
radiant reef
rancid dragon
olive aurora
#

i will port tracking parameters to piped

limber skiff
austere talon
mortal fractal
austere talon
# charred monolith

this is terrible, people will find out I searched for spongebob gaming moments montage

woeful sable
#

now too many gah dayum files in vencord

olive aurora
#

we should remove all plugins except for moyai

charred monolithBOT
austere talon
pine topaz
#

inb4 my PR becomes obsolete in a month or two because the feature gets added by someone else because everyone forgot about my PR

charred monolithBOT
pine topaz
#

time to make the other oneko PR obsolete

#

i should give the person credit for trying to get the feature in, and giving me the idea

mortal fractal
#

can i use .+? here just because of the fact that this number would need to keep being updated when discord adds new rules

austere talon
#

why do you even need to match so much

#

can't u instead just match the variable name

mortal fractal
#

i guess

#

er

#

not really

#

id still have to get to the end somehow

#

so i can make the function call

#

i guess i can call it here

south raven
#

could anyone please link me that guide to developing plugins?

marsh quarry
charred monolithBOT
charred monolithBOT
pine topaz
#

istfg this PR will never get merged

woeful sable
#

what skins have been added

pine topaz
#

there are some out there already

woeful sable
#

i have them all saved

pine topaz
woeful sable
#

oh?

pine topaz
#

no way in hell am i finding a way to let you upload, that sounds like emotional suicide to code

olive aurora
#

you can save the image in datastore and then create blob urls

#

troll

median rapids
#

eel

austere talon
#

but also the entire pr doesn't seem that useful

#

you can just do the skin with css

#

as for speed I feel it kinda goes against the spirit of oneko

#

okay so

#

firefox store doesn't allow remote scripts, but would they allow an iframe?

#

bundling monaco with the extension seems like a massive headache

#

it would probably be easier to frame something like monaco.vencord.dev

#

for the quick css editor that is

pine topaz
#

even far back to just neko

#

there has been a speed setting

#

so, by your logic, oneko goes against it's own spirit

austere talon
#

i see

charred monolithBOT
austere talon
#

have to do some shitty workaround that monkey patches workers

turbid hatch
#

u love

austere talon
#

(it only monkey patches inside the monaco popout, discord is unaffected)

austere talon
#

@spark cove we have to somehow make rnnoise work on browser without external import

spark cove
#

is this cus extension or smth

austere talon
#

yes

#

how many files does the bundle use

spark cove
#

whats the external import the wasm thing?

austere talon
#

idk

spark cove
#

i think its the wasm part

#

oh and the worklet

austere talon
#

oh its just two files i think?

#

wasm and simdWasm?

spark cove
#

and the worklet

austere talon
#

are u sure

#

isnt that bundled

spark cove
#

no

austere talon
#

well i cant find where its loaded

spark cove
#

190

#

await audioCtx.audioWorklet.addModule(rnnoiseWorkletSrc);

austere talon
#

oh right

#

so its three files

#

we can just include those in the extension

#

how big are they

#

extension size will explode lmao

spark cove
#

yea it will lollol

#

unpkg is taking forever to load

#

the wasm files are 153kB each

#

worklet is 64kB

austere talon
#

ohh thats nothing

#

okay

spark cove
#

are u gonna like

austere talon
#

i will just include the file in extension

#

wait it uses a worker right

spark cove
#

prefetch deps

#

on extension build

austere talon
#

no lol

#

just include files manually

#

and i will exclude shiki and stegcloak from web build

spark cove
#

real real

spark cove
olive aurora
#

compress it to hell

#

trol

austere talon
#

okay i think i got it working

#

@spark cove can u join voice

#

can u hear me @spark cove

charred monolithBOT
austere talon
#

horror

charred monolithBOT
radiant reef
charred monolithBOT
frail skyBOT
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

MoreUserTags (had no effect):
ID: 742224
Match: /this.props.user;return null!=(\i)&&.{0,10}\?(.{0,50})\.botTag/

IgnoreActivities (had no effect):
ID: 660859
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access '_pe' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
charred monolithBOT
frail skyBOT
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

MoreUserTags (had no effect):
ID: 742224
Match: /this.props.user;return null!=(\i)&&.{0,10}\?(.{0,50})\.botTag/

IgnoreActivities (had no effect):
ID: 660859
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore] 
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
austere talon
#

OKAY DONE

#

NOW I JUST NEED TO FIGURE OUT CHROME STUPIDITY

fringe eagle
#

figured it out yet?

austere talon
#

yeajh

#

i figured out that chrome is stupid

charred monolithBOT
olive aurora
#

@austere talon embed nvim when

austere talon
#

NEVER

rancid dragon
#

embed emacs when

austere talon
#

theres some incompatibility between chrome and fflate zip

#

idk why

#

yeah

#

switched lib and it works

austere talon
#

someone test quick css, fake nitro and rnnoise in firefox

olive aurora
#

wontโค๏ธ

marsh cave
#

works

rustic copper
#

can vencord interact with the discord api or does it count as self botting?

#

i just need it to notify me when certain phrases are said in certain channels

charred monolithBOT
austere talon
#

update pushed to stores

#

if mozilla isnt stupid they should now approve this one

charred monolithBOT
charred monolithBOT
foggy sphinx
#

Guys fix ur mobile version please

fringe eagle
#

so uhhhhhh

charred monolithBOT
charred monolithBOT
radiant reef
#

@mortal fractal

#

๐Ÿ’€

radiant reef
charred monolithBOT
teal halo
royal bane
#

husk

charred monolithBOT
charred monolithBOT
austere talon
#

whar

radiant reef
#

pp is not real

#

revert that

charred monolithBOT
crude hearth
#

well plugin you want is keywordAlerts but its not made still afaik

#

theres a pr tho

tawny cipher
#

at least summoning her works

mortal fractal
#

its used in more than just search but search is where it actually started being privacy invasive

tawny cipher
#

see

radiant reef
#

husk

#

proof when

teal halo
#

2030

pine topaz
pine topaz
#

right

lime stone
spark cove
#

@granite otter that PR is waiting on someone to add components for the settings modal

#

for the each type

#

the problem is that its kinda painful because the plugin modal system is messy

granite otter
#

Oh ok thanks!

spark cove
#

maybe one day i will pr a overhaul on that part of the codebase

#

so that it's easier to do

olive aurora
#

i love mistypin ctrl+k and sending just "k" randomly

austere talon
#

yeah plugins settings code is hard to maintain

#

it honestly needs a rewrite

#

cause everyone just kept adding features on top of it

olive aurora
#

make it so you have to write jq filters to update settings and thats the only ui

tawny cipher
#

raw sql settings ahaewonthumbsup

austere talon
#

bad

crude hearth
austere talon
#

very good thing

crude hearth
austere talon
#

vscode extension

crude hearth
austere talon
#

check pins

crude hearth
#

oh

#

make live reload when

#

its kinda annoying to reload discord everytime you make a change

lime stone
#

rewrite in java

olive aurora
#

you can actually do that with esbuild

#

reloading the whole page though

charred monolithBOT
austere talon
#

I mean it could be possible for most things

#

but overcomplicated

#

get used to it

lime stone
#

is this good, or should the components be enabled even if the switch is off

#

hmm

crude hearth
#

if we ignore the patches

austere talon
#

because they're modular

#

vencord isn't modular

crude hearth
#

wouldnt restarting plugin be enough

austere talon
#

how do you replace code

#

you can't

crude hearth
#

DISCORD SEND MY MESSAGE

#

IDOIT

crude hearth
#

maybe add some modular components

#

like get a plugin through websocket

#

and replace it

#

thiking we can patch discords code

#

we should able to patch plugins functions and stuff too

#

only need to load changed plugin files dynamically which can be maybe done if you build plugin seperatedly

#

but also yeah for that to work you would need to use global Vencord api

spark cove
#

IVE DONE THIS TOO MUCH

#

ive been meaning to switch to ctrl+t

#

so that i dont end up feeling bad when i dm someone "t" instead of "k"

#

i should disable ctrl + k somehow

austere talon
#

do

spark cove
#

i didit

austere talon
#

rebind ctrl k to quit app

spark cove
#

i think they finally fixed the keybinds settings

#

LMAO

#

OMG

#

THEY DID FIX IT

#

thank fuck i can add ctrl + ' too

#

fuck that keybind

#

nevermind fuck its kinda broken

#

why are they so bad dude please discord pleaseee

austere talon
#

owned

spark cove
#

why is it doing NaN

#

im gonna kill

#

ok baseding

austere talon
#

realest

sour drum
#

Hmm my discord now reloads every time I tab into it after being tabbed out for a few minutes

austere talon
crude hearth
#

ven

austere talon
#

hi

crude hearth
#

hello how are you

austere talon
#

IM WELL

crude hearth
#

get better

rustic copper
rustic copper
crude hearth
rustic copper
#

you mean installing it without using the installer?

#

im not very good at this stuff, sry

worldly oracle
crude hearth
#

Yes

worldly oracle
#

i have no problem with doing it, just curious why

crude hearth
#

Basically

austere talon
#

so convoluted

nimble plaza
#

does the vencord userscript use any greasemonkey apis or would it work fine being loaded another way

#

waaaa unsafewindow moment

austere talon
#

it uses userscript specific apis

#

you can use browser.js & browser.css

#

they are pure browser build

mortal fractal
austere talon
#

posting this was very painful

#

cause for some reason discord thinks its a good idea to parse urls inside code blocks

#

and it messes up the regex???

#
https://github/.com/(/w+//w+)/(?:issues|pull)/(\d+)
mortal fractal
#

yeah i had that issue the other day with my bot and trying to eval shit

austere talon
#

fucking discord

nimble plaza
austere talon
#

no

#

what issues

#

those are entirely self contained

#

they use localStorage

austere talon
#

discord deletes localStorage so you need to load the extension before discord

nimble plaza
#

ohhhhh

#

tyty

#

im a bit stupid

austere talon
nimble plaza
austere talon
#

what r u even doing

nimble plaza
#

sometimes i have to be on a chromebook so im making a proxy that injects vencord into discord web

mortal fractal
#

as i said, if you base64 decode the search results one you get the search query string in plain text after all the extra bytes

#

notification ones are just "random" bytes

austere talon
#

even turned off all my extensions and still

mortal fractal
#

regional thing maybe? if not just rollout

austere talon
nimble plaza
#

not on a managed chromebook

austere talon
#

the way you do it a lot of things wont work due to csp

#

like quick css

nimble plaza
#

i overwrite discord's csp header to allow all trolley

#
import { Router, createCors, html } from "itty-router";

const router = Router();
const { preflight, corsify } = createCors({
  methods: ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"],
  maxAge: 86400,
});

router.all("*", preflight);

router.all("*", async (req: Request) => {
  const config: any = {
    method: req.method,
    headers: {},
  };

  if (req.method === "POST") {
    const body = await req.text();
    config.body = body;
    config.headers["Content-Type"] = req.headers.get("Content-Type");
  }
  if (req.headers.get("Authorization")) {
    config.headers["Authorization"] = req.headers.get("Authorization");
  }
  const response = await fetch(
    `https://canary.discord.com${new URL(req.url).pathname}`,
    {
      ...config,
    }
  );

  let body = await response.text();

  body = body.replaceAll("//canary.discord.com", "");

  if (response.headers.get("Content-Type")?.includes("text/html")) {
    const rewriter = new HTMLRewriter().on("head", {
      async element(element) {
        element.prepend(
          `<script src="https://github.com/Vendicated/Vencord/releases/download/devbuild/browser.js"></script>`,
          {
            html: true,
          }
        );
        const cssResponse = await fetch(
          "https://github.com/Vendicated/Vencord/releases/download/devbuild/browser.css"
        ).then((res) => res.text());
        element.prepend(`<style>${cssResponse}</style>`, {
          html: true,
        });
      },
    });

    body = await rewriter.transform(new Response(body)).text();
  }

  return new Response(body, {
    status: response.status,
    statusText: response.statusText,
    headers: {
      "Content-Type": response.headers.get("Content-Type") || "text/plain",
    },
  });
});

export default {
  fetch: (req: Request) => router.handle(req).then(corsify),
  port: 8080,
};
austere talon
#

cursed

austere talon
nimble plaza
#

it doesnt like loading the style from a link for some reason :(

austere talon
#

yeah cause wrong content type

#

proxy it

nimble plaza
#

yeah

#

oki

austere talon
#

like just make a proxy route on ur server for the CSS file

#

that sends css content type

#

other than that pretty neat

nimble plaza
austere talon
#

show Error

#

or do you mean that it removes the /vencloud

nimble plaza
#

that it removes

#

trying to get past cors for the api

austere talon
#

new URL(path, baseUrl)

#

removes the existing path

nimble plaza
#

ah

austere talon
#

knda meh tbh

charred monolithBOT
shy veldt
#

๐Ÿ˜จ

turbid hatch
#

i didnt know it did that

#

that sucks

#

i thought it was similar to httpclient in c# lol

austere talon
#

honesly idk why it does

#

its dumb

turbid hatch
#

i assume its because its using basePath and then just overwriting the .path with whatever you pass

#

instead of appending

austere talon
turbid hatch
#

which is a really stupid way of doing it

#

c# does it by..

#

well

#

actually joining them together

#

xd

charred monolithBOT
olive aurora
#

epic idea to bypass content type: request the css text and add it to a <link rel="stylesheet"> with href being the data uri for the contents

charred monolithBOT
turbid hatch
#

xd

#

or a blob

olive aurora
#

inling has the risk of xss

#

blob would work but thats soooooooooooooooooooooooooooo complicated

spark cove
#

what part

austere talon
#

serialisaton or whatever

#

adding regex

spark cove
#

oh yea

turbid hatch
#

its 2 lines!

spark cove
#

i mean i was cooking OptionType.ARRAY and OptionType.REGEX

turbid hatch
#

one line even!

austere talon
#

everything can be one line if u have a minifier

turbid hatch
#
URL.createObjectUrl(new Blob([ css ], { type: "text/css" }));
olive aurora
#

memory leak

turbid hatch
#

we do this in vencord already

#

xd

#

for theme files

#

and usercss uses object URLs to serve the compiled output

charred monolithBOT
frail skyBOT
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

IgnoreActivities (had no effect):
ID: 660859
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Fpe' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

IgnoreActivities (had no effect):
ID: 157541
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

FixInbox (found no module):
ID: -
Match: INBOX_OPEN:function

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore] 
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
limber skiff
#

heh

#

someoe fixed more user tags broken patch?

#

oh

#

they did

olive aurora
#

formalise aka just remove contractions

#

lmao

pine topaz
#

at least they didn't add themeselves to Devs

rancid dragon
#

monkeypatching is actually one word now

#

its not sky-scraper its skyscraper

charred monolithBOT
fringe eagle
pine topaz
charred monolithBOT
limber skiff
# frail sky

@umbral hedge discord fixed the issue "FixInbox" was for by removing subscribing to all guilds, and instead only subscribe by the ones which appear in the unreads tab while you scroll down

charred monolithBOT
fringe eagle
#

so uhhh

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Does Vesktop support installing it with a custom path on Windows? I'm one of the people who prefer to install things to a different hard drive than the one Windows is installed in to prevent storage issues. I also need these to usually test the programs in case they do not have portable methods.

I'm aware that some people will just tell me to test the installer but i like to make sure first for reasons. Is this supported or not?

charred monolithBOT
charred monolithBOT
umbral hedge
#

impossible

limber skiff
#

test it for me tonguecat

umbral hedge
#

I'm in bed rnnn

limber skiff
#

I'm not on 200+ servers so couldnt test

#

yeye no worries

#

I just took quick look at code and got that conclusion

umbral hedge
#

the code is a bit of a mess

#

or waa

#

was

limber skiff
#

well I mainly compared the stable vs canary code

umbral hedge
#

a

umbral hedge
limber skiff
#

meanwhile

#

(I have not slept)

umbral hedge
#

1pm here

austere talon
#

go to sleep nookies ๐Ÿ˜ญ

limber skiff
#

soon :)

umbral hedge
#

stay up for 99 hours

#

trust

woeful sable
limber skiff
#

brt/utc-3

limber skiff
woeful sable
#

it says totally other time on google lol

limber skiff
woeful sable
limber skiff
#

wtf

umbral hedge
#

it's not 3am in utc

#

you've done a time convert

woeful sable
#

am in future

umbral hedge
#

rather than checking the time

limber skiff
woeful sable
#

i maybe did that by accident

austere talon
#

911

limber skiff
#

๐Ÿคฏ

austere talon
#

๐Ÿข ๐Ÿข

limber skiff
#

I just noticed that's the same as their police number

#

crazy

austere talon
#

yes lmao

#

the police number came before the attacks

charred monolithBOT
limber skiff
#

lmao

austere talon
#

here the numbers are 110 and 112

#

110 for police, 112 for fire fighters and medical services

limber skiff
#

190 is police, 192 is medical and 193 is fire fighters here

cunning canyon
#

here 113 114 115 blobcatcozy

median rapids
#

calling basically any of those anywhere will usually route you to the right place

olive aurora
#

omw to call 01189998819991197253

austere talon
#

so I can call 112 in the US?

olive aurora
#

jesus why do i remember that number

#

brainworm

median rapids
#

unless the carrier is rlly dumb ig

nimble plaza
#

what is the purpose of optionsCache in vcNarrator

austere talon
#

lazy initialised options

nimble plaza
#

why?

austere talon
#

because of the speech synthesis stuff

nimble plaza
#

ohhh

austere talon
#

iirc it caused issues on top level

nimble plaza
#

thank you, typescript

austere talon
#

you will install extension

charred monolithBOT
austere talon
#

jumpscare

nimble plaza
#

it just disappeared????

austere talon
#

try adding an as const

charred monolithBOT
nimble plaza
#

tried to fix macos screenshare issue but cant get it to work pureagony issue time

charred monolithBOT
nimble plaza
#

github issues dont have markdown inline code?

austere talon
olive aurora
#

to github?

#

lmao

olive aurora
#

github markdown doesnt work when u have html on same line

austere talon
#

i meant pr fix for their issue

crude hearth
#

Merge

mortal fractal
#

![alt text](url) for images in md

weary timber
#

YoutubeWatchTogetherAdblock Plugin if anyone wants to make a pull-request, don't have time to properly test it right now.

  • Place adGuardBlockScript.ts in "\src\main\utils"
  • Create "src\plugins\watchTogetherActivityAdblock.ts" (Snippet 1)
  • Modify "src\main\ipcPlugins.ts" (Snippet 2, Don't forget import)
  • Test it and feel free to claim credit ๐Ÿ™‚
/*
 * Vencord, a Discord client mod
 * Copyright (c) 2023 Vendicated and contributors
 * SPDX-License-Identifier: GPL-3.0-or-later
 */

import definePlugin from "@utils/types";

// The entire code of this plugin can be found in ipcPlugins
export default definePlugin({
    name: "WatchTogetherActivityAdblock",
    description: "Makes ads go away in the Youtube activity.",
    authors: [
        {
            id: 0n,
            name: "anon",
        },
    ],
    patches: [],
});
app.on("browser-window-created", (_, win) => {
    win.webContents.on("frame-created", (_, { frame }) => {
        frame.once("dom-ready", () => {
            // FixSpotifyEmbeds
            if (frame.url.startsWith("https://open.spotify.com/embed/")) {
                const settings = getSettings().plugins?.FixSpotifyEmbeds;

                if (settings?.enabled) {
                    frame.executeJavaScript(`
                        const original = Audio.prototype.play;
                        Audio.prototype.play = function() {
                            this.volume = ${(settings.volume / 100) || 0.1};
                            return original.apply(this, arguments);
                        }
                    `);
                }
            }

            // WatchTogetherActivityAdblock
            if (frame.url.startsWith("https://www.youtube.com/")) {
                const settings = getSettings().plugins?.WatchTogetherActivityAdblock;

                if (settings?.enabled) {
                    frame.executeJavaScript(AdGuardBlockScript);
                }
            }
        });
    });
});
nimble plaza
austere talon
#

that's a lie ๐Ÿ˜ญ

#

it wouldn't use an img tag ...

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

IgnoreActivities (had no effect):
ID: 49929
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

FixInbox (found no module):
ID: -
Match: INBOX_OPEN:function

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore] 
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
#
Bad Patches

FakeNitro (had no effect):
ID: 918124
Match: /((\i)=\i\.node,\i=\i\.expressionSourceGuild)(.+?return )(.{0,450}Messages\.EMOJI_POPOUT_PREMIUM_JOINED_GUILD_DESCRIPTION.+?}\))/

IgnoreActivities (had no effect):
ID: 49929
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

FixInbox (found no module):
ID: -
Match: INBOX_OPEN:function

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'ohe' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
jagged cloak
#

fixinbox gon

#

trolley

limber skiff
#

yes

charred monolithBOT
charred monolithBOT
tacit marten
nimble plaza
#

vinstaller is gone lmao

#

also is there any eta on when wailsinstaller will be used

tawny cipher
charred monolithBOT
charred monolithBOT