#πŸ‘Ύ-core-development

1 messages Β· Page 150 of 1

shy veldt
#

one day it will happen

austere talon
#

did they actually revert it

#

so fire

shy veldt
tame escarp
#

by god theyre actually here

austere talon
#

maybe it was really just oopsie

austere talon
shy veldt
#

sooo could be

austere talon
#

im kinda tempted to dm him and ask why he's here cause im really curious

tame escarp
#

yes i also know how javascript works
its just weird for discord to do when they dont really care about supporting old browsers that much

mortal fractal
#

what if he reverted it because he was like "damn, i broke vencord"

austere talon
#

he was like aww shucks my custom plugins broke ://

tame escarp
#

PLEASE that would be so funny

austere talon
#

aweary is an avid fan of show hidden channels

shy veldt
austere talon
#

it's true

austere talon
#

he better

shy veldt
austere talon
#

BASED

shy veldt
#

at least he did

#

idk about now

austere talon
#

i love discord staff they're so cool

#

aweary and andgy and maybe more idk

shy veldt
#

naw

tame escarp
#

ANDGY

#

terrible

shy veldt
#

he doesnt have it now

austere talon
#

NOT TERRIBLE

tame escarp
#

we will ping

austere talon
#

AndyG is our bestie

#

but he's not here I think

shy veldt
#

actually did he ever have the deco

tame escarp
#

not andgy though

shy veldt
#

am i trippin

tame escarp
#

who is ANDGY

shy veldt
#

nop

#

he never had it

austere talon
#

fake andgy

mortal fractal
shy veldt
#

here

#

have the real andy

#

@teal tulip

#

the real andy

tame escarp
#

they will switch from rspack to vite

austere talon
#

FORMER CHILD

#

legend

junior olive
mortal fractal
#

i love when i get suggested a hidden channel

mortal fractal
shy veldt
#

i only have 1 mutual

verbal pumice
austere talon
#

is there valid user for vendetter

shy veldt
#

nop

mortal fractal
#

i will make /profile for vendetta

shy veldt
#

virus

shy birch
#

​/profile my beloved

shy veldt
limber skiff
#

of course they reverted it, their app actually broke

shy veldt
limber skiff
#

resetSocketOnError TypeError: e.isStaff is not a function

moment

shy veldt
#

took them some time tho

#

they have checks

limber skiff
#

now we wait for them to unbreak it and break some patches again

shy veldt
#

who up to go on staffs standup

austere talon
#

instead you will make valid user

#

way better

#

make it so that clicking on invalid mentions will fetch that user then open their profile

shy veldt
#

pov: discord

austere talon
#

yop

tame escarp
#

@ aweary confirm or deny

verbal pumice
#

one of yall is gonna accidentally ping him

shy veldt
#

(it wont be by accident)

limber skiff
#

I dont even know who is aweary

shy veldt
limber skiff
#

okay I see

tame escarp
shy veldt
#

was leading a11y team before

mortal fractal
tame escarp
#

first one to accidentally ping gets a free cookie

shy veldt
mortal fractal
mortal fractal
#

i almost misclicked the wave button

tame escarp
#

lmao

shy veldt
tame escarp
#

@austere talon make aweary a cute people

shy veldt
#

yup

#

make a special role for him (real)

#

i have one mutual friend with him

#

πŸ˜”

lime stone
#

@keen blaze never sorry

arctic mesa
shy veldt
#

:3

arctic mesa
#

or is it a old thing

shy veldt
#

clearly staff πŸ₯±

#

nop

#

brand new

lime stone
#

:bee_movie:

shy veldt
lime stone
#

maybe

austere talon
#

NO WAY

shy veldt
shy veldt
arctic mesa
shy veldt
#

shrugged

tame escarp
arctic mesa
#

actually no isnt that the /commands format

lime stone
shy veldt
shy veldt
#

crying rn

#

☹️

austere talon
#

it makes my phone lag

arctic mesa
shy veldt
shy veldt
austere talon
shy veldt
#

this is from discord staff's server

arctic mesa
#

fucking what 😭

shy veldt
austere talon
#

does that not work with nitter

arctic mesa
austere talon
#

bro i just typed nitter and my auto correct almost made me a gamer

tame escarp
#

WHAT

austere talon
#

i noticed right before sending it

austere talon
austere talon
#

actually i think i typod one t for g and that's why

#

ohh it's net

#

fire

shy veldt
austere talon
#

NO

shy veldt
lime stone
shy veldt
#

is monnor exploding servers again

#

or is it discord this time

#

prob monnor

tame escarp
#

@austere talon cancellation coming soon

charred monolithBOT
shy veldt
#

@austere talon

#

its here.

austere talon
#

hi

#

what is

shy veldt
#

the build from earlier

#

got pushed again

austere talon
#

nuh uh

shy veldt
#

😊

lime stone
half notch
#

its joever

shy veldt
#

it sure is

austere talon
# shy veldt

DIGITAL SINGLEγ€ŒγŠε…ˆγ«ε€±η€Όγ—γΎγ™γ€‚γ€(Pardon Me, I Have To Go Now)
DL & STREAMING : https://hanabie.lnk.to/osakini

Lyrics : Yukina, Matsuri
Music : Matsuri, Yukina
Arrangement : YUYOYUPPE, Matsuri
Mixing : MEG

<Music Video>
Director : Takuya Oyama (VANLI)
Producer : Mao Suzuki (P.I.C.S)
Hair & Make-up : Erika Yoshida
Hair & Make-up Assistant : Hitomi Mi...

β–Ά Play video
shy veldt
#

only took them

#

about exactly 1h

#

6 mins off

#

21:39 reverted
22:32 pushed again

half notch
shy veldt
#

real

austere talon
#

im busy playing clash of clans

half notch
#

discord without vencord how will i ever survive

shy veldt
#

yeah sure sure

#

say whatever you want clyde

half notch
#

opening the stable client for the first time in like 4 months starecat

austere talon
#

how or why people daily drive canary is beyond me

half notch
#

living on the edge

#

(i dont turn my pc off)

austere talon
#

fucking natan

shy veldt
#

get rekt

shy veldt
#

discords

half notch
#

canary fun

#

early access to annoying changes

somber ginkgo
shy veldt
junior olive
half notch
#

also canary has x64

#

so

shy veldt
junior olive
#

imagine needing a specific client for x64,,,

shy veldt
somber ginkgo
#

discord development
canary, but with free electron security vulnerabilities

half notch
#

x86 crashes so often that its genuinely annoying

#

leave discord open for more than an hour and it crashes

charred monolithBOT
austere talon
#

or not using vesktop

austere talon
#

install vesktop now

half notch
#

the other half of my entire internet presence revolves around a game that uses EAC

#

could never use linux if i wanted to lol

somber ginkgo
half notch
#

true

#

i use ptt

somber ginkgo
half notch
#

i forget that vencords install is isolated so it can be used across diff clients

#

just reinstalled it on stable for the time being lol

shy veldt
somber ginkgo
#

yearly reminder that keyboard mode fucking SUCKS

#

plugin to disable it entirely instead of fucking overriding keybinds when

half notch
#

textreplace filters didnt transfer back to stable πŸ’”

austere talon
#

ye they don't

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

half notch
austere talon
#

exploded again ol

limber skiff
#

they unexploded I think

#

nvm

#

I mean it doesnt seem to be vencor issue

half notch
#

discord got their employees working the week before the holidays lort 😭

limber skiff
#

nvm it is

#

idk how though

half notch
#

canary?

#

let me try again

#

still dead

limber skiff
#

oh wait I think I know

austere talon
#

okay i fixed the crashing

charred monolithBOT
half notch
austere talon
#

still a bunch of errors

#

but most broken patches seem trivial to fix

austere talon
#

how does the e.isStaff error still happen

limber skiff
#

I'm debugging it

#

it's caused by vencord somehow

austere talon
#

im just gonna merge dev into main rn

#

cause it fixes the crashing

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

HEH

#

HELLO?

austere talon
#

wdym

limber skiff
#

look at how many patches

half notch
#

do i dare open canary

austere talon
#

we're going back to stoneage

limber skiff
#

not again

austere talon
#

most fixes are easy tho

half notch
limber skiff
#

I'm gonna cry

half notch
#

themes seem to be broken

#

canary vs stable

austere talon
#

theme issue

half notch
austere talon
#

vencord theme still works flawlessly

#

vencord theme literally survived both rspack and what they did just now

#

its cause the themes hardcode classes

half notch
#

guess ill have to wait for the creator of the theme to fix it

limber skiff
#

brb will continue to debug reporter after

austere talon
#

im gonna shower now, u guys have fun

half notch
#

gonna stick to stable for the time being

austere talon
#

jumpscare

hallow kestrel
#

profile decorations getting scary nowadays ^

austere talon
#

LOL

#

im kinda tempted to dm aweary about this update

#

cause it confuses me a lot

limber skiff
#

that's funny

limber skiff
austere talon
#

makes no sense

#

why polyfill es6 again

#

its pointless

#

cause they literally use es6 features in other places

limber skiff
#

true

austere talon
#

@shy veldt

#

do u think he will bite my head off

shy veldt
#

insane

shy veldt
austere talon
#

i asked him if the change was intended and showed him that discord still uses es6 in many places

tame escarp
#

bro ur fucked

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
#

oh hell nah

austere talon
#

HAHAHAHA

#

real

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

just to make sure that plugin doesnt explode vencord

#

LOL

#

possibly vencord

#

I forgot a word πŸ˜‚

austere talon
#

possibly Vencord

somber ginkgo
#

a distinct chance

austere talon
#

i love undefined.js

#

@limber skiff maybe we could make reporter run more than once a day

#

so we catch issues faster

#

have it run every few hours or smth

slim marsh
#

or post here only if it errors or something

austere talon
#

its still gonna spam the same error hourly then xd

#

the editing seems way better

mortal fractal
#

did they ununrevert again

#

i swear to god if we're having another moment where the ci keeps building using mobile's config for web

austere talon
#

oh wait

#

do u mean push again

#

nah doesnt seem so

mortal fractal
#

i mean everything is working normally rn

austere talon
#

not for me anyway

#

i dmed brandon and he said it was unintentional

#

and now its reverted

#

soo

austere talon
#

pog ig its gonna stay reverted?

olive aurora
#

reporter should run every 30 seconds but using a random token from vencord_tokens.csv

austere talon
#

TRUE

nimble plaza
#

should i run

austere talon
#

yes

nimble plaza
#

wha

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

half notch
#

canary seems to be working fine again, for now

#

unless i wasnt paying attention and you guys fixed it already lol

#

nvm i see they reverted it lol

rapid walrus
#

<@&1026509424686284924> is this plugin broken ?

spark pivot
#

Don’t ping mods for support

#

Vns

nimble pendantBOT
limber skiff
verbal pumice
#

it isn't needed

#

pretty sure

#

cause it was for the es rollback pushed yesterday

limber skiff
#

I see

charred monolithBOT
limber skiff
charred monolithBOT
woeful sable
#

how does one make vencord plugins

charred monolithBOT
lone charm
#

how can I read/write to the vesktop config file?

still wasp
charred monolithBOT
crude hearth
#

INSANE

shy veldt
crude hearth
lime stone
#

LMAO

charred monolithBOT
charred monolithBOT
charred monolithBOT
placid wave
#

https://github.com/Vencord/Vesktop/pull/283 @turbid hatch are you able to give this a look sometime? ven seems busy and i'd love for vesktop's flatpak to not be a janky experience for everyone installing it on a deck

GitHub

needs --filesystem=~/.steam on the flatpak side

Refactors SteamOS support to use steam.pipe instead
Adds support for opening URLs in the steam browser in game mode
Opens the Vesktop app page in st...

#

i've tested it on my deck and it works both under flatpak and as an appinmage

turbid hatch
#

i was waiting on feedback for the fp

placid wave
turbid hatch
#

but if it works ill merge both

#

yes

placid wave
#

is there any way I can help with that?

turbid hatch
#

compile it and run it under the flatpak using the finstructions

#

uhh

#

ask ven on how to do it

placid wave
#

i did that on a deck

#

it works

turbid hatch
#

ah ok

#

ill merge both then

placid wave
#

im unsure if it works with current changes, but it works on the version at the time that pr was made

#

but there's nothing that should have broken

turbid hatch
#

you will have to note that it wont be in the flatpak for a while

placid wave
#

I can retest today though if needed

turbid hatch
#

a new version of vesktop will need to be published first

placid wave
#

yeah

turbid hatch
#

actually

placid wave
#

the Nvidia one I would hold off on

#

until it's more tested

#

but the steam one should work

charred monolithBOT
turbid hatch
#

@ me when a new vesktop release occurs

placid wave
#

big thanks

#

yeah sure

#

I assume cuz the flatpak permission stuff?

turbid hatch
#

yep

#

uhh @still surge just double checking with your fp pr

#

is that all that's needed for it to build?

charred monolithBOT
turbid hatch
#

if so ill merge it as is

turbid hatch
#

just double checking if that's actually it cause thats just a src archive

still surge
#

Oh, I forgot to explain the issue with it

#

It solves the issue with git not being available, but when you change the location, the flatpak can't access the root of the repo

#

Because we give it access to Vencord/dist and not Vencord/

charred monolithBOT
austere talon
#

this is gonna be pointless for 99% of users

charred monolithBOT
turbid hatch
#

im unsure, it would provide a feature thats supported by the app but its expensive so

turbid hatch
# charred monolith

also ^ this is correct, my assumption due to the name is that this is a fifo

charred monolithBOT
turbid hatch
#

it should be fine

#

its not a real file

placid wave
#

yeah it's a pipe that's why flatpak can't sanely mount it

placid wave
#

would be super nice if there's any way to mount just the pipe without mounting the entire steam client directory in

still surge
#

I'm not sure tbh

turbid hatch
#

fairly certain its a fp limit

#

cause theyre not real files

placid wave
#

yeah it just sucks since you have to give it write access to all of steam

#

since it's the same directory

still surge
#

Yeah Flatpak's --filesystem is only for directories

placid wave
#

I assume there's no option for pipes yet?

still surge
#

I don't know what pipes are, so I can't comment on it

placid wave
#

it's a named pipe

#

fifo or some shit

#

not a socket

turbid hatch
#

just bytes

#

best comparison i can give you

still surge
#

Yeah... I'm still clueless about it πŸ˜…

placid wave
#

maybe I should open an issue on flatpak

still surge
#

Go for it

austere talon
#

i would still change the fifo write to writeFileSync or use a queue to make sure its synchronised

placid wave
#

It should already be sync...?

austere talon
#

how

#

you use async writeFile

placid wave
#

I don't think async writes to a special file are allowed in nodejs

#

like I think you can only do that with a normal file

livid heath
#

better safe than sorry

austere talon
#

^ "i think" isn't enough

placid wave
#

the steam protocol does get called instantly then so I don't really think it's a problem?

#

I mean sure change it I just don't realistically see how it could be an issue

placid wave
austere talon
#

async writeFiles can race. i googled and apparently writes to pipes up to 4k are atomic

what if an attacker feeds a longer than 4k string into your function, then immediately calls it again in a way that makes the two writes race and somehow creates a malicious command

#

it's very unlikely but still better be safe than sorry and end up with a sandbox escape somehow

livid heath
#

gl with overlapping writes

placid wave
#

there really isn't anything malicious you can do with the steam url protocol tmk but sure change it

austere talon
#

wdym

#

you write a command with arguments to the file

placid wave
#

it's not a command

#

it's just idiotic

#

they make the syntax like a command

#

it doesn't run that

austere talon
#
// replace ' to prevent argument injection
        `'${process.env.HOME}/.local/share/Steam/ubuntu12_32/steam' '-ifrunning' '${url.replaceAll("'", "%27")}'\n`,
#

then why do you talk about "argument injection"

placid wave
#

you can pass some normal steam arguments there and it will parse them as if you're running steam with those arguments

#

however you aren't

#

this does not start a new process

#

it parses them in the current steam process they just reuse the deranged syntax

#

If you pass in a binary path other than steam nothing happebs

#

and it doesn't have the same delay you always get when running the steam binary to execute a uri

#

since it never calls into the updater

livid heath
placid wave
#

doesn't work

livid heath
#

oh it ignores other paths

placid wave
#

it's not a shell, it's not running a process

livid heath
#

i see

placid wave
#

steam parses this as if it's steam's command line options but it does it in the already running process

hexed nova
#

How to i install it

placid wave
#

oh my god

placid wave
#

vns

nimble pendantBOT
placid wave
#

for the open url one

#

if ur url has quotes

#

it breaks the url

austere talon
placid wave
#

it's not your fault i got no response for two weeks after pinging you multiple times for any kind of response even if it's a delay

turbid hatch
#

O_NONBLOCK has to be set for the underlying calls to be async

#

but from my understanding of how the steam pipe is set up it doesnt have this flag

placid wave
#

if you have steam installed on your pc just run it and that file shows up and you can poke around with it using echo -n iirc

placid wave
#

when you run that as a normal command

#

the steam binary starts

#

sees thst there's another instance

#

and writes it's own entire commandline into that pipe

#

to let the already existing process handle parsing it

turbid hatch
#

the way this system works is a bit strange

placid wave
#

it's definitely very Valve

#

they love their insane bullshit

turbid hatch
#

but yes, my understanding is you cant cause a race condition because unix itself will block the engine from making the write call

#

until it is read by steam

#

hence it is safe to merge in its current state and i see no issue in doing so

#

i did do my review

#

:p

thick kestrel
#

in technical terms, it's a byte queue in form of a file

austere talon
turbid hatch
#

i do not see this 4k limit in the manual, where did you read it?

austere talon
#

and why even speculate on things we don't know if we could just write it safely by using writeFileSync

placid wave
#

then change it

austere talon
#

don't rush merges, you already also rushed the start minimised pr BataanCry

placid wave
#

BECAUSE YOU DONT FUCKING RESPOND

#

IF YOU TELL ME TO WAIT ILL WAIT

turbid hatch
#

ConfusedThinking the way that is worded is strange because the actual manual page is described as "if the pipe is full, then a write(2) will block or fail, depending on whether the o_nonblock flag is set"

placid wave
#

IF YOU PURPOSELY IGNORE ME FOR TWO WEEKS I HAVE NO IDEA WHAT TO DO

turbid hatch
#

but here it's saying if you hit the pipe_buf then it'll just let you write more but it wont be atomic? so.. what?

#

that sounds like it violates unix spec if it does that...

#

what is rms smoking

austere talon
#

i also have other things to do

placid wave
#

then you could have said that

#

instead of changing the topic

turbid hatch
placid wave
#

i do as well and when someone asks about a pr i tell them I'm busy with other stuff and I'll get to it when I can, sometimes an approximate eta

#

i don't just completely ignore their question for weeks

turbid hatch
#

hu7h

#

wait

turbid hatch
turbid hatch
#

in which case, fuck me that's stupid if the libc does that

thick kestrel
turbid hatch
#

they dont seem to have any technical information on how the steam pipe works, beyond that steam itself uses it if you run a duplicate instance to forward the command to the original instance (which is actually quite smart im going to steal that idea)

#

if multiple applications write to the pipe, assuming libc's explanation holds true, then it will simply just wait until each program finishes writing before allowing another to do so

#

in 4096 byte chunks

#

if an app goes over that limit, it means another app might be able to inject data into the pipe at the same time

#

in which case, you're fucked anyway

#

if not, then your app just carries on with its write call

austere talon
#

i also tried 100k

turbid hatch
#

yeah

austere talon
#

lolw rong video

turbid hatch
#

there doesnt seem to be an attack vector here, just a data corruption vector if steam itself decides to try and write something

austere talon
#

STILL WRONG

#

wait

turbid hatch
#

like even taking the worst case scenario into account there isnt anything really particularly bad that can happen

austere talon
#

fucking file picker

placid wave
#

seems ok to me

turbid hatch
#

yip

#

so honestly, its fine

#

my research paid off

austere talon
#

actually nvm?

turbid hatch
#

hm?

austere talon
lime stone
#

set your prompt to have read if cute

turbid hatch
#

it means another write call can go through

#

in which case this is still a data corruption thing, since itll just fuck up the order of writes non-deterministically

austere talon
placid wave
#

feel free to change it

#

don't blame lewi for not knowing very obscure unix stuff

turbid hatch
#

since it wont run the write calls on the thread pool

#

itll run them on the main thread

#

so the order becomes deterministic

#

that does make sense but what happens during that? does the entire app pause until the writes go through?

charred monolithBOT
austere talon
#

yes

turbid hatch
#

in which case

#

what if something isnt on the other end

#

you just crash?

#

since fifos need to be read

austere talon
#

the app likely freezes yeah

#

but that shouldnt happen

turbid hatch
#

mm..

#

hmm

austere talon
#

or just use a promise queue

placid wave
#

if steam goes down your app goes down

#

that's how the gamescope session works

#

impossible condition

turbid hatch
#

steam doesnt have to die for it to stop reading

#

hm

austere talon
#
import { writeFile } from "fs/promises"

let p = Promise.resolve();
function writePipe(content) {
    p = p.then(() => writeFile("/tmp/pipe", content));
}

writePipe("a".repeat(100_000))
writePipe("b".repeat(100_000))
writePipe("c".repeat(100_000))
writePipe("d".repeat(100_000))
writePipe("e".repeat(100_000))
placid wave
#

ig

austere talon
#

heres how to do it with promises

turbid hatch
#

promise queue is probs the best way

placid wave
#

horror

#

but ok

turbid hatch
#

lets patch

placid wave
#

you will do

turbid hatch
#

i will

#

i merged it after all

placid wave
#

lmk when done and I can test

turbid hatch
#

let me get food forst

austere talon
placid wave
#

you have hours im at school

#

it's fine

grave mangoBOT
turbid hatch
#

hungy

#

what make

#

vodka sandwich

#

shower first

#

then i fix

austere talon
#

WTF IS A VODKA SANDWICH

real zenith
#

does the vencord injector script thingy available in the dev env have some support layer for vesktop?

keen blaze
#

hai dev peoplee

#

@austere talon haiii vee

real zenith
keen blaze
#

WHAT

#

HETGFDJGHJRTDFX

austere talon
#

LMAO WHAT IS THAT

austere talon
keen blaze
stoic echo
#

sorry wrong repo

charred monolithBOT
#
[Vencord/Vesktop] New branch created: fix/steamos-pipe-security
turbid hatch
#

@placid wave test when free

austere talon
#

that's not right

#

you need to assign the promise variable

turbid hatch
#

wot

#

oh

#

derp

real zenith
turbid hatch
#

yes!

charred monolithBOT
real zenith
#

welp, that should make things easier, right?

turbid hatch
#

yes

real zenith
#

les go

lime stone
real zenith
#

rickblock AINTNOWAY

wet trellis
# lime stone

I was testing that and I clicked the wrong button πŸ˜‚

charred monolithBOT
spark pivot
wet trellis
long stream
charred monolithBOT
dapper crest
dapper crest
charred monolithBOT
real zenith
#

does the userplugins dir accept tsx components just like normal plugins?

charred monolithBOT
real zenith
austere talon
#

nothing

real zenith
#

oh

verbal pumice
#

like custom badges i'd somewhat understand

#

but this is just useless

livid heath
charred monolithBOT
real zenith
#

I'm assuming when pnpm injecting vencord

  • the updater is not gonna be available
    or
  • updating vencord through the in-app updater is gonna void local changes,
    correct?
#

didn't have time to test yet, forgive me plsz

nimble plaza
#

nope

#

updater runs git pull and pnpm build

real zenith
#

wait what happens if the user doesn't have git installed-

nimble plaza
#

it doesnt work then

real zenith
#

anyways, wouldn't git pull wipe local changes

nimble plaza
#

doesnt do anything

real zenith
#

oh wait yeah

#

it merges them ig?

#

idk I don't git

verbal pumice
real zenith
#

oh so that's why there's a userplugins folder thocc

austere talon
#

yes it's gitignored

#

so you can put files there and it won't mess with the updater

austere talon
#

you can't build vencord without git installed

lime stone
#

actually, i had an issue when using the devbuild with flatpak and it not being able to access git

charred monolithBOT
real zenith
nimble plaza
#

get this

#

its built with git installed

real zenith
#

oh

charred monolithBOT
charred monolithBOT
thick kestrel
#

(I also closed the other discussion, but the webhook doesn't show that it seems)

#

thanks for reviewing btw

#

you can take a look at my other MRs if you want

real zenith
#

can I somehow inject stuff into vesktop plsz

#

or rather, what do I provide here then

turbid hatch
#

you go into vesktop settings

#

and point it to your install

real zenith
#

ok right

#

but what install am I supposed to patch

#

I don't have a discord install

turbid hatch
#

nothing

#

lol

real zenith
#

wdym nothing

#

wait can I just leave that blank?

turbid hatch
#

you

#

dont use the installer

#

you just point your vesktop install to your custom vencord

real zenith
#

oh wait-

#

I'm dum

thick kestrel
turbid hatch
#

no

#

dev

#

we dont merge into main

charred monolithBOT
thick kestrel
#

oh

#

well then need to rebase again

#

and rebase all my MRs probably

#

I think I started all of them from main lol

lime stone
#

oops

#

i meant [class^="reaction_"]

#

basically to match the start for when the hash changes

thick kestrel
#

main and dev are currently at the same commit

#

good

#

but I will start from dev and rebase with dev from now on

#

I need to change the base branch in all MRs anyways

thick kestrel
#

I assumed it's generated but constant

#

I need to fix my theme as well then

#

wonders of being new to thing

#

(in this case Discord modding)

thick kestrel
austere talon
#

don't use rebase merge

#

use merge commit

thick kestrel
#

I just mostly use rebase instead of merge since it looks cleaner in the history

#

if it isn't a branch people would normally work on

charred monolithBOT
#

When trying to reply to a user anywhere I get this error in the console

    Uncaught TypeError: ll.store.userList.includes is not a function
    at Object.shouldMention (index.tsx:60:50)
    at N (WebpackModule363396:2:1944)
    at onClick (WebpackModule823674:2:1903)
    at Object.eN (72054.ccb12939fa7033320d60.js:1:753910)
    at eB (72054.ccb12939fa7033320d60.js:1:754064)
    at 72054.ccb12939fa7033320d60.js:1:772373
    at re (72054.ccb12939fa7033320d60.js:1:772472)
    at r...
austere talon
#

not pr branches

spark pivot
real zenith
#

Does Vencord have some fancy method that allows code injection into the electron backend (if available)

stoic echo
nimble pendantBOT
stoic echo
#

oh wait

spark pivot
#

i was posting the picture from the github convo

stoic echo
#

i’m stupid

real zenith
lime stone
#

you mean C++? fear

real zenith
#

welp, vencordnative it is ig pepeshrug

lime stone
#

what did you mean? there might be a way to do it but i probably wouldn't know lol i'm just curious what that cursed thing is

real zenith
#

I may be trying to run an external executable .. what could possibly go wrong

lime stone
#

ohhh

#

isn't that against the whole fancy sandboxing thing (i don't know the word adsjashdkjsajd)

real zenith
#

yeah, ig

lime stone
#

uh i mean like it's impossible to require("child_process") from the rendering process for security reasons right?

real zenith
#

so idea would be to use vencordnative to send an event from the frontend to the main process ig

#

.. event? idk what electron calls these

lime stone
#

<-- has zero idea what she is talking about

lime stone
#

hm yeah use ipc umuCool

#

that's the advice i've got from ven

real zenith
#

wait hol up

#

does vencordnative apply to vesktop or does that require some extra fancy cloned code ✨

real zenith
#

the vencordnative ipc thingy ig, right? heh

austere talon
#

native.ts file in ur plugin folder

real zenith
#

err what

grave mangoBOT
charred monolithBOT
real zenith
#

bet

#

lemme see if I'm smart enough to do this heh

charred monolithBOT
austere talon
real zenith
#

that seems way too simple

#

hol up

austere talon
turbid hatch
#

vencord is very compiler powered its fire

austere talon
#

there's more going on under the hood but you don't see any of it :p

real zenith
#

I was kinda suprised how easy adding a plugin was

austere talon
#

but the build script auto generates code that does that for you, all you gotta do is export a function from native.ts and done

real zenith
#

oh yeah.. I've used electron recently (haven't in years) and to this day I don't understand why the exposeInMainWorld is necessary flush

#

like yeah security.. but then just don't define an ipc handler for something you don't want the frontend to call

#

idk I'm probably just dumb

turbid hatch
#

because there are other things than what we're doing that can expose stuff to the main world

real zenith
placid wave
#

contextbridge is a terrible horrible API that never should have existed

real zenith
#

^

austere talon
#

it's really good lol

shrewd crane
#

Is there something in the existing vencord api that lets me run code every time a user types a new character into the message input?

#

Or do I have to figure out a way to watch the state of the react component for changes in it's text value

spark pivot
#

Just get the input and add an event listener

#

Easy

#

If you want to modify it though then the react state would be best

thick kestrel
# austere talon not pr branches

I do it like this on my personal projects (which, keep in mind, I am the only developer for - I'm not experienced with collaborative git, though I heard people often use a similar approach):

  • create feature branch feature based off master branch master
  • work on the feature and commit stuff to feature
  • have some changes done to master that make feature be unable to be merged anymore
  • rebase feature off master and resolve conflicts
  • do further work on the feature
  • merge feature into master
#

that's why I just did the same thing here, unaware of that this project prefers master to be merged into feature instead of being rebased

turbid hatch
#

what

#

our branch flow is the same except you replace master with dev

#

all work happens on the dev branch

#

then when its done, dev gets merged into main

#

we very rarely push commits straight to main

thick kestrel
#

guess there's a misunderstanding somewhere then...

#

#πŸ‘Ύ-core-development message here Ven said that I should use a "merge commit" instead of "rebase merge" (which I think means merge and rebase, when translated from GitHub terminology to Git terminology, no?)

turbid hatch
#

we dont use rebases because they cause issues

#

when we merge prs

#

and also it dirties the commit history

#

we use squash and merge

#

but that shouldnt matter

thick kestrel
#

for feature -> master, yeah, that's what I do as well

turbid hatch
#

you need to base your PR off of dev

#

not main

#

usually we will fix it for you if its wrong since we can do that

thick kestrel
#

but for master -> feature I prefer rebase, while the project prefers merge as well (if I understand correctly), which I wasn't aware of

turbid hatch
#

just use git pull

#

it will create a merge commit

#

it'll get squashed down

#

dont rebase

thick kestrel
turbid hatch
#

yes, except we dont use release branches

#

nor do we use hotfix branches

#

main is preserved to the best of our ability to be the golden standard release branch containing the latest version of vencord

#

dev is the next version with new fixes and features

thick kestrel
turbid hatch
#

i mean i dont really see the point of them in the first place

#

maybe its just cause im not an enterprise developer

thick kestrel
#

that's for corporate/big projects where you support multiple versions at once

turbid hatch
#

true gitflow is an extremely complicated solution that i have never really seen used in the wild

#

i mean at work we use a single branch via svn and that works just fine for our dev workflow

#

but anyway

thick kestrel
# turbid hatch it will create a merge commit

if I use git pull while feature is checked out it'll just pull from origin/feature, not upstream/dev (where origin is my fork, upstream is the official repo) since that's what it tracks

#

to create a merge commit I'd need to git fetch upstream then git merge upstream/dev

turbid hatch
#

do git pull origin master

thick kestrel
#

you mean upstream?

turbid hatch
#

whatever you have it called

#

i dont know

#

git's default is origin, not upstream

thick kestrel
#

(where origin is my fork, upstream is the official repo)

turbid hatch
#

ah

#

well then upstream

thick kestrel
#

I don't know what it'd do without checking the docs but I guess it's just fetch-then-merge but shorter

turbid hatch
#

git pull is git fetch && git merge (there are rules internally for if it does a fast-forward, rebase or merge, but it basically boils down to this)

austere talon
#

feature prs are squashed into one single commit once they're merged into the main branch

#

so the history in prs is irrelevant

#

force pushing makes it harder to understand how the pr changed over time and messes up reviews

thick kestrel
#

okay, so the project does prefer merge here. understood, won't do it otherwise anymore.

thick kestrel
turbid hatch
#

i mean the first line of the docs gives it away

#

Fetch from and integrate with another repository or a local branch

thick kestrel
#

I never read the docs for git-pull lol

#

I did for git-fetch and git-merge though

turbid hatch
#

i do recommend reading all of the man pages for git - as boring as they are it gives good technical insight into why certain things happen or break

thick kestrel
#

I always just used git pull for one thing only - update the current branch from a remote. I didn't realize "update the current branch from a remote" actually means "fetch the local copy of the remote and rebase the local branch off it"...

#

the only parameter I ever used for git pull was a origin-http remote that's just the regular origin but over HTTP lol

#

for more complex stuff I always fetched then rebased/merged

thick kestrel
#

(they block TCP 22 for some reason jfkdlas)

#

also sorry if discussing with me is a pain, the language barrier hits me hard during technical discussions

#

well, honestly any discussions

#

mine english no good sory

tame escarp
#

always i swear

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

Does anyone know the flux event for when someone accepts your friend request?

austere talon
#

look through the list of flux events and you'll likely find it

bleak gyro
#

oh yeah i got it: RELATIONSHIP_ADD

austere talon
#

that contains blocks and stuff too

charred monolithBOT
charred monolithBOT
shadow mango
#

obama_stare how do i get past cors

#

specificallyl

#

other ones like wikisearch send requests to wikipedia fine

charred monolithBOT
shadow mango
#

figured it out (i added all the access control allow origin headers + the ones need for the options request)

livid heath
shadow mango
#

is pisscord vencor

livid heath
#

I mean it's in the stock discord cors list
so shouldn't really matter (it should work with Vencord)

shrewd crane
#

I am trying to create a charCounter plugin, that let's you see how many characters you wrote, so you see if you are over the limit, and by how much

olive aurora
#

patch the component that displays char count when you're near/over the limit to always display

livid heath
#

Ryan already made a chat counter plugin

olive aurora
#

wasnt it the evil ryan

livid heath
#

also instead of using input event patch the slate wrapper

livid heath
real zenith
#

is there some way to register custom settings tabs?

livid heath
#

there sure is

olive aurora
#

i think that completely replaced the char counter for no reason

real zenith
#

(inside the vencord category)

real zenith
#

the settings core plugin got a makeSettingsCategories(SectionTypes: Record<string, unknown>), but that doesn't seem to do anything on my end

#

not sure where/how I'm supposed to call that, doesn't seem to be doing anything by itself

livid heath
real zenith
#

I didn't see the patch

real zenith
#

ok err

#

super simple question, but I'm dumb thocc

#

how do I only replace the second match group of a patch regex

sweet night
#

copy paste

verbal pumice
#

can you show your patch

real zenith
#

tbh I got no clue what I'm doing, there's probably a better way to do this without modifying the core plugin
/onClick:.{0,20}=>{(await..{0,100}"Update Success!".{0,200}onCancel:\w}\)}\)\))}\)/
I'm basically trying to replace what the update button does, and this is probably the worst way to do it thocc

sweet night
#

not the worst

#

I've seen worse

real zenith
sweet night
#

indeee

#

have

#

tho not the code

real zenith
#

confused_dog_lex what

sweet night
#

whatwhatsup

real zenith
#

wait hol up what am I supposed to put into the "find" thingy

charred monolithBOT
real zenith
#
patches: [{
    find: 'Update Now', // This prepends the check button, so I thought I might as well use that for now
    replacement: {
        // match: /onClick:.{0,20}=>{(await..{0,100}"Update Success!".{0,200}onCancel:\w}\)}\)\))}\)/,
        match: /onClick:.{0,20}=>{await..{0,100}"No updates found!".{0,200}}/,
        replace: "onClick: () => (console.info('test :3'), $self.forceUpdate(), $self.reloadPlugins())"
    }
}],
```idek what I'm doing ![pepelaugh](https://cdn.discordapp.com/emojis/1153361144313020467.webp?size=128 "pepelaugh")
verbal pumice
#

you cant patch vencord's code lmao

real zenith
livid heath
#

I meant csp

#

I always mix up both words

lime stone
#

why would you modify vencord itself in a plugin

real zenith
#

I felt like overriding the files itself would break the entire thing if they ever get breaking changes heh

austere talon
#

what ...

#

wtf are u doing

keen blaze
#

in vencord

charred monolithBOT
limber skiff
#

can I use vencord alongside vencord?

#

asking for a friend

shy veldt
#

one day tho...

limber skiff
#

😞

thick kestrel
#

can you use Vencord plugins in Vencord tho

charred monolithBOT
shadow mango
#

does someone know how i can get the messages when you go into a channel

#

i wrote a voice message transcriber and im watching for message create but that means it doesnt work on old messages

charred monolithBOT
shadow mango
#

maybe i can hook into the voice message renderer or something?

shadow mango
#

is there another plugin that does something similar that i could look at

austere talon
#

use react devtools to inspect them and patch

shadow mango
#

alr will do

#

heres what it looks like if anyone cares

spark pivot
#

what do you use for the audio transcription

#

just curious

austere talon
#

there are services for that

spark pivot
#

ofc firefox has absolutely no support for it lol

austere talon
#

aka you're sending your audio to a remote server

#

ig mozilla either didn't like that for privacy reasons, or don't have the resources to do so

spark pivot
#

makes sense

quick bear
#

somewhat dumb question

is it possible for vencord to inject into Activities? if so, how difficult would that be?

I'm half tempted to see if I can modify the Watch Together activity since I don't wanna use it if youtube can track my watch habits and tie them to my discord account

#

I saw an invidious plugin in #1032200195582197831 but i dunno if that same functionality can be extended to that degree