#๐Ÿ‘พ-core-development

1 messages ยท Page 17 of 1

austere talon
#

he has three million packages like this

#

10 lines of code and imports 5 other packages

crude hearth
#

wth are these

hot pecan
#

bro what the FUCK!!

#

that .slice is just

austere talon
#

but he also has some cool packages so a lot of packages depend on them and that way you are basically forced to install all his garbage packages

crude hearth
#

I am going to become devilbro of pypi

hot pecan
#

if you are worried about regex ddos then just dont use regex

crude hearth
#

330 SPONSORS HOLY SHIT

#

he is also creator of this awesome repo

#

228k stars hhhhh

spark cove
#

THE SLICE

#

OH MY GO

#

D

crude hearth
#

it wont work if string is more than 1000 chars

austere talon
#

that slice is so funny cause it's probably not documented so if you ever pass html that has invalid html after 1k chars you will be really confused why it doesnt work even though it is apparently valid html

crude hearth
#

he could just check <html> at start

austere talon
#

not really lmao

spark cove
#

its just a

#

hasAlmostHtml

crude hearth
#

big update

spark cove
#

im hoping thats just a version bump commit

#

also how can it be breaking

crude hearth
austere talon
#

how much would u hate me if i introduced merge conflicts for shiki pr

crude hearth
spark cove
#

not much they are easy to resolve usually

hot pecan
austere talon
#

soon sindresorhus will make library to parse html with regex

hot pecan
#

html is a lenient spec, so anything you throw at html should be some valid html

austere talon
hot pecan
#

no, they made a library to check if a string contains <body> or <html> or <!DOCTYPE HTML>

#
  • a few other variations
austere talon
#

this doesn't work

#

you need the "> ending

hot pecan
#

thats not what i meant

#

that is valid html, it just doesnt do what you want it to do

spark cove
#

unfair use of the word valid

#

u kinda remove the whole point of validity with every markup language

hot pecan
#

not really

crude hearth
#

I also wanna know why do we need to know if html is valid

spark cove
#

it doesnt "crash" or "throw" but i cant think of any markup language that throws

hot pecan
#

like XHTML doesnt work like that, neither does css, or PDF, or most other formats

austere talon
#

basically thisis the change i wanna make

crude hearth
austere talon
#

(excluding the syntax error)

crude hearth
#

code editors ?

crude hearth
spark cove
#

most of those arent markup languages

#

but i get ur point

austere talon
crude hearth
#

do this

spark cove
austere talon
#

is the world gonna explode if i remove this legacy check

hot pecan
hot pecan
#

idk there just arent a lot of markup languages

spark cove
#

latex

austere talon
hot pecan
austere talon
#

not sure but this definitely is

spark cove
#

how is that a conflict

#

i dont think i touched that part of that file

austere talon
#

cause it changes indent of the rest of the file

spark cove
#

FUUUUUUUUUUUUUUUU

#

wait why not

#

nvm

#

top level weirdness

austere talon
#

idea totally not stolen from BetterDiscord

spark cove
#

noooooooooooooooooooooooooooooooooooooooooooooooo oo o oo o

austere talon
#

mainly adding that flag so I can more easily tell people to try vanilla discord

charred monolithBOT
spark cove
#

resolved

austere talon
#

cool thanks

#

ughhhh firefox build

#

i think i will move firefox build to tag

#

and just make tags every so often

spark cove
#

workflow has a cron

austere talon
#

oh my god mozilla still hasn't reviewed my extension

spark cove
#

trigger

#

lol 2 hours

charred monolithBOT
austere talon
#

okay hope build passes now

spark cove
#

build will pass

austere talon
#

was i not supposed to upload source code

spark cove
#

lol what

#

punished for open source

austere talon
#

EXPLODE

charred monolithBOT
austere talon
#

please work now

#

gonna move proper publish to tag based workflow soonโ„ข๏ธ

#

once stupid firefox approves my extension

spark cove
#

lets go tag based workflow

austere talon
#

otherwise mozilla team will explode when i push twenty versions a day

#

they probably review fully on first publish then just quickly skim diff in subsequent releases

#

does esbuild have reproducible builds?

spark cove
#

yea but idk how the tersing really works

austere talon
#

okay time to test shiki again

spark cove
#

yes yes yes

austere talon
#

i will call mozilla later

#

to review faster

spark cove
#

hello mozilla hq please review my discord mods

austere talon
#

they probably won't be too happy about me yeeting csp will they

umbral hedge
#

you will not yeet csp husk

austere talon
#

i have to

umbral hedge
spark cove
#

technically

#

u might be able to ipc

#

extension has its own context right

austere talon
#

doesnt work that way

#

how am i gonna add script and style tags

#

i dont think they'll care about me yeeting csp, i assume a lot of extensions do it

muted mural
#

Ven will merge copy raw and popover api right now

austere talon
#

did you add modal

muted mural
#

No

#

Merge

austere talon
#

laaaazy

muted mural
#

Known

spark cove
#

i barely know about extensions

muted mural
#

Besides I'm working on rce now, no more copy raw

spark cove
#

i just imagine theres a host context thats not specific to a tab

#

and theres child frame contexts

austere talon
spark cove
#

my favorite theme

austere talon
spark cove
#

csp why

austere talon
#

makes sense

spark cove
#

does it

austere talon
spark cove
#

oh

#

true

austere talon
#

my discord got very laggy and i was about to blame shiki

#

but i realised it's cause i added a theme

#

themes make my discord so laggy

#

idk why

spark cove
#

WORKERS

muted mural
#

Merge

spark cove
#

I USE WORKERS

#

WORKER

#

WORKERS

austere talon
#

can u stop using caps it makes my eyes bleed

#

caps look so ugly on gg sans it's crazy

spark cove
#

whats wrong with R

#

also K

austere talon
charred monolithBOT
spark cove
#

if i stare long enough the legs become straight

umbral hedge
#

still no gg sans on stabl

charred monolithBOT
austere talon
umbral hedge
#

i guess so

#

I'm still on whitney xd

austere talon
spark cove
#

this font is actually triggering my hppd

austere talon
#

it's using some old cached version??

spark cove
#

does aur have a core cli

spark cove
#

i forgot im using an older version of armcord on my laptop too

#

frick

brave geyser
spark cove
#

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

austere talon
#

okay shiki works well

spark cove
#

supwer nice

#

u wont have to heap snapshot anymore to check mem usage either since shiki is in a worker

#

specifically for shiki

austere talon
spark cove
#

no just that its more visible

austere talon
#

oh

spark cove
#

i think electron as a whole still dies

#

if mem leaks get too bad in one worker

austere talon
#

can u somehow name workers

spark cove
#

i looked it up

austere talon
#

yes you can

spark cove
#

i think its just filenames

austere talon
#
new Worker(url, { name: "shiki-worker" });
#

this supposedly works

spark cove
#

what

austere talon
spark cove
#

how

#

@vap/core update time

austere talon
#

cool u can also use esm

#

i hate content type including the encoding

#
headers["content-type"] === "text/plain" // false
headers["content-type"]?.startsWith("text/plain") // true
#

so pain

austere talon
#

or another time

#

both is fine

spark cove
#

rn is fine

austere talon
#

@muted mural do u want me to push modal to ur pr

#

or are u gonna do it

muted mural
#

If it works go for it

austere talon
#

uh i havent made it

#

but i would rn

#

also that svg is still insane lmao

#

where tf did juby even find that

#

or did he make it himself

muted mural
#

No idea

austere talon
#

btw lets rename plugin to viewraw?

#

since it will do both copy and view

#

gonna do that

spark cove
austere talon
#

neat

spark cove
#

is the name fine

solemn spoke
#

btw, will you check if my pr needs changes? @austere talon

austere talon
#

in a sec

spark cove
#

kk

#

pushed

#

goodbye branch

#

i will not miss u

austere talon
#

what in the world is transitionState @umbral hedge

#

oh wait i need to pass the openModal props

umbral hedge
#

it lets the ModalRoot whether to render or not

#

yeah

#

<ModalRoot {...modalProps}>

#

xd

austere talon
#

i sure hope you can stringify messages

#

oh i should probably remove some things from the message

muted mural
#

Do what juby did

austere talon
#

amazing

muted mural
#

Oh lmfao

austere talon
#

yeah i definitely need to remove that

umbral hedge
#

wha

austere talon
#

your own messages will contain very sensitive info

#

like ur phone number and email

#

so i need to clean messages before copy

umbral hedge
#

ah xd

austere talon
spark cove
#

omg discord mobile mode

umbral hedge
#

?

spark cove
#

its an armcord setting

umbral hedge
#

oh does it just enable mobile web stuff

spark cove
#

yea

#

i didnt know discord web mobile was this usable

umbral hedge
spark cove
#

vencord on my phone???

umbral hedge
#

nice start message

austere talon
spark cove
#

why app

austere talon
#

Well idk if u use android lmao

spark cove
#

i do ya

austere talon
#

anyway it just loads discord in a webview, loads vencord and allows some native features you usually wouldn't have

#

it makes back gesture / press close modals and go back in history

spark cove
#

oh cool

austere talon
#

i plan to add more features eventually

spark cove
#

i think webviews already have history

austere talon
#

its pretty funny how android webview ipc is so similar to electron ipc

spark cove
#

lol tahts interesting

austere talon
#
GitHub

WebviewCord is real. Contribute to Vencord/Android development by creating an account on GitHub.

GitHub

WebviewCord is real. Contribute to Vencord/Android development by creating an account on GitHub.

grave mangoBOT
austere talon
#
contextbridge.exposeinmainworld("VencordMobileNative", new VencordNative());
grave mangoBOT
austere talon
#

then u just call like this

spark cove
#

llolol

austere talon
umbral hedge
#

horror

austere talon
#

i need to escape backticks

spark cove
#

getactionbar?

spark cove
umbral hedge
#

I wanna set up gestures for mobile_web

#

like swipe to open menus and stuff

spark cove
#

u could hljs it yourself

austere talon
#

should work?

spark cove
#

i think it will show the backslashes

muted mural
#

Why do you need to escape them

austere talon
#

it does

#

hmm

spark cove
#

its just an unstyled pre

muted mural
#

Are you coding in mobile rn

spark cove
#

pre code boom

muted mural
#

Use codeblocks, it's fine

spark cove
#

hljs dangerouslysetinnerhtml boom

austere talon
#

NO

spark cove
#

love hljs dangerouslysetinnerhtml

austere talon
#

i shall steal from juby

spark cove
#

or

#

a dirty hack

#

zero width spaces

austere talon
spark cove
#

and then when u ctrl+c with modal focused

#

preventdefault

#

and copy selection without zero width spaces

spark cove
#

THIS

#

THIS IS BETTER

#

SHIKI INTEGRATION

muted mural
#

You didnt do it that way?!

austere talon
#

yeah works

#

now time to make modal less ugly

#

i dont like the large modal

umbral hedge
#

VencordNative.java

#

love

spark cove
#

does shiki wrap i forgor

#
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""```
#
console.log(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)
#
console.log(false, false, false, false, false, false, false, false, FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALSE)
austere talon
#

mmh large one is honestly better than this xd

#

also is it just me or is the title off center

#

my beloved

umbral hedge
austere talon
#

oh yeah i should also delete the message logger pollution from the msg

spark cove
muted mural
austere talon
#

ye

#

i will simply not center it

muted mural
#

Also put a space between the json and content

spark cove
#

nvm it might be involved

austere talon
#

e.preventDefault();
e.stopPropagation();

#

do i need the second

spark cove
#

uh probably

#

future proof

muted mural
#

What is stop propogration

#

And prevent default

spark cove
#

prevents the event from travelling up the dom

#

and prevents anything the browser would have done by default because of that event

#

like this can be preventDefaulted

austere talon
#

if u dont add that it will do both your action and the default action (browser context menu)

spark cove
#

when u right click something like that button

muted mural
#

Oh

spark cove
#

it starts with the deepest element u clicked (like a span or smth)

#

and then it fires the event for that el

#

goes up a parent

#

fires

#

etc til the document root

muted mural
#

Ah

#

Interesting

#

Never knew that happened

spark cove
#

but if any of those elements stop propegation it will not propegate

#

i think another term for that is event bubbling

#

ok what if

#

discord activities skia plugin

#

that might be the coffee that said that

austere talon
#

ok done

#

lemme add toasts

spark cove
#

im ready to be unshackled

austere talon
#

actually i should just make a copyWithToast util

#

so many plugins do it

#

okay pushed

#

oh yeah should i sort the json keys?

spark cove
#

insane lint

austere talon
#

alphabetically

umbral hedge
#

sorting json blobcatfearful

austere talon
#

imo yes

umbral hedge
#

but also yeah

austere talon
#

i like my json sorted

umbral hedge
#

i think you should

#

for consistency

austere talon
#

it makes it easier to look for things

spark cove
#

nah sort by key length

austere talon
#

setting time

umbral hedge
#

I think i prefer alphabetical bleh

spark cove
#

NO

austere talon
#

i usually also sort my package.json and tsconfig xd

spark cove
#

JOKE

umbral hedge
#

I sort my package.json by "priority"

spark cove
#

i used to sort my css

umbral hedge
#

name/author/ver/etc at top

lament nimbus
#

That's dumb

umbral hedge
#

then scripts
then deps/devdeps

lament nimbus
#

Yeah same

spark cove
#

i do the same but i think its just npm init indoctrination

umbral hedge
#

i think it just makes sense

spark cove
#

i think the scalars at top objects at bottom makes sense

austere talon
#

trollage

umbral hedge
#

xd

austere talon
#

inb4 circular dep

spark cove
#

stringify and parse beforehand mayb

austere talon
#

stringify doesnt support circular dep either

#

so there is none anyway

#

i hate javascript

umbral hedge
#

:>

austere talon
#

Object.isObject() when

#

that returns false for arrays and null

spark cove
#

false for arrays

#

that would be a hot topic i think

crude hearth
umbral hedge
#

you love Object.isObject = obj => typeof obj === "object" && !Array.isArray(obj)

crude hearth
#

soon

austere talon
#

i made

umbral hedge
#

love

spark cove
#

is dictionary

umbral hedge
spark cove
#

hehe

umbral hedge
#

this is one of the more bizarre js quirks

austere talon
#

node util.isObject returns true for array

#

wtf did i do

umbral hedge
#

moment moment

spark cove
#

what in the world

swift fjord
#

you are french

solemn spoke
#

@austere talon it has passed an hour wheres my review

spark cove
#

why did timestamp get momented

austere talon
#

cause i no longer use its custom toJSON method

umbral hedge
#

xd

austere talon
#

probably

spark cove
#

json6 with date when

umbral hedge
#

I know what JSON5 is but I have never heard of JSON6

austere talon
#

yeah ok unmomented

spark cove
#

as in json6 would be json5 but with date

umbral hedge
#

a

spark cove
#

a a a

austere talon
#

looks like its not properly rerendering

#

this makes no sense

#

it worked before, now its broken

#

but nothing changed

umbral hedge
austere talon
#

it doesnt rerender anymore

umbral hedge
#

weird

charred monolithBOT
woeful sable
#

Love

austere talon
#

oh lol i was just about to fix conflicts

spark cove
#

L

umbral hedge
#

guh

austere talon
#

i fixed then it went "this page is out of date. Refresh to update"

#

lmao

umbral hedge
#

you didn't add it to the right click menu

#

explod

spark cove
#

i put a trailing comma

austere talon
#

pr context menu api immediately

umbral hedge
#

I actually want to

spark cove
austere talon
#

did u do all changes

#

or anything else

#

in shiki

spark cove
#

yea all is good afaik

#

just named the worker

austere talon
#

oh my god mozilla still hasnt reviewed

#

i bet they are still busy reviewing ReviewDB

spark cove
#

ring ring irng irng irng irgn rgni

#

banana phone

charred monolithBOT
spark cove
#

yes

muted mural
austere talon
#

tonguecat very cool plugins thanks u two

umbral hedge
#

i love

austere talon
#

love

umbral hedge
#

i ran it again and it just started working again

#

git moment???

spark cove
#

is ur default pull strategy rebase

umbral hedge
#

its whatever the default is

#

but also i have no changes

#

so lol

spark cove
#

yea lol

#

idk default i put mine on ff only

umbral hedge
#
amogus
spark cove
#

that the hell

umbral hedge
#

other than this not working

#

it looks aight

spark cove
#

WHAT

umbral hedge
#

not coloured

spark cove
#

its not even there

#

how

umbral hedge
#

lol

#
if (true) {
  console.log("ven cute")
}
spark cove
#

wait maybe

umbral hedge
#

yeah no icon

spark cove
#

devicon csp

#

maybe ?? !! ?!? ?

umbral hedge
austere talon
#

full restart

spark cove
#

oh yea that would also explain if it wasnt highlighting for u either

austere talon
#

no i just had outdated armcord lmao

spark cove
#

i meant megu

#

but i think they put prefer hljs

#

because hljs didnt capitalize the S in javascript

austere talon
#

oh

umbral hedge
#

i just used default

spark cove
#

oh yea if worker doesnt start langs dont load

#

true

umbral hedge
#

also yeah full restart

#

fixed

spark cove
#

wow is it so seamless actually tho im surprised no weird edge cases from the csp stuff

umbral hedge
#

mm shiki i love

spark cove
#

@austere talon u should this but catspcucien

#

capaccino

austere talon
#

manually and build?

umbral hedge
#

ya

austere talon
#

ah

#

cause the in app updater already does the proper restart

umbral hedge
#

ah

austere talon
#

if there are changes to main/preload you need full restart

umbral hedge
#

I just git pull pnpm watch ctrl+r trolley

austere talon
#

the updater already checks for that

#

it just checks if main or preload had changes and if so it does hard restart tonguecat

umbral hedge
#

because i already had vencord open in vscode

#

if i dont have it open i use gui

austere talon
#

so the csp won't be an issue for normal users

umbral hedge
#

yea

austere talon
#

@solemn spoke

solemn spoke
#

thanks

charred monolithBOT
charred monolithBOT
verbal pumice
#

does it look better with or without the background

austere talon
#

make it a setting

verbal pumice
#

that's the embed/message component

#

cant do anything about it

charred monolithBOT
verbal pumice
#

the padding is better if i display info in the author instead of footer tbh

lament nimbus
#

I just don't like the message inside an embed style
it just doesn't fit there

#

a quick, normal looking preview is all you need, if you want to see the entire message just click on the link

verbal pumice
#

the automod embed could be kept as a "minimal embed" or something like that

charred monolithBOT
#

I installed it via the pnpm method

It shows "build errors" on restart after updates

I'll try to see if it's a plugin issue.

I don't see any errors in console that are related to vencord or anything else, I can take a screenshot the next time I see anything though.

It might also be just an issue with openasar aswell (although I doubt it is)
(I will run a clean discord + vencord and wait for an update to see if there's issues).

Ok, green circle issue resolved,
It was a theme ...

verbal pumice
#
const Nothing = null as unknown as JSX.Element

how many years in jail am i getting for trying this

verbal pumice
#

no need i found a way simpler solution

solemn spoke
verbal pumice
#

ty

charred monolithBOT
charred monolithBOT
austere talon
verbal pumice
#

yeah i realized thats stupid and found a better way

#

anyway i committed the message component embed

charred monolithBOT
charred monolithBOT
golden sand
#

any chance of seeing a "PinDMs" get done for this?

austere talon
#

use favouritechannels

charred monolithBOT
golden sand
umbral hedge
#

I'm assuming they're referring to this

#

you can do this with DMs as well

golden sand
solemn spoke
#

why would you close a DM

golden sand
#

i see your point

umbral hedge
#

I close DMs

#

I only keep a few open

charred monolithBOT
golden sand
charred monolithBOT
austere talon
#

periods are ugly tbh

#

and I like the capitalisation to put more focus on key words

warped prism
#

Why can I type here

verbal pumice
#

why not

umbral hedge
#

why would you not be able to

#

this is a place of discussion

warped prism
#

Good point

lost raptor
#

could go all non-periods maybe

#

i left Component etc in there

umbral hedge
#

existence of periods very much depends on context

lost raptor
#

yeah

#

i only removed the capitalisations where it was a little weird (e.g updates makes sense but Updates makes it seem the updates are different) but Toast and Development could be reverted as per personal preference

lost raptor
#

vencord

muted mural
#

@austere talon now i'm just confused

umbral hedge
#

red = removed
green = added
grey = stayed the same

#

yos

muted mural
#

but the after part doesn't have anything extra

umbral hedge
#

guh discord just crashed

#

send the patch code here

muted mural
#

nvm finally patched corectly

umbral hedge
#

xd

#

congrat

muted mural
#

only problem now

#

is it doesn't run

#

lol

umbral hedge
muted mural
#

nothing comes in console

umbral hedge
#

uhh

#

i dont know specifics of the code, but try prefixing it with ()=>

#

so like children:[() => Vencord......

#

just a blind debug attempt bleh

muted mural
#

shouldn't do anything tho

#

hm

umbral hedge
#

i mean

#

you're taking ...args (turning it into an array)
and then returning an array

#

so maybe you want

#

children:[...Vencord.Plugins...

#

xd

muted mural
#

rip this might not be the correct spot

#

fuck

umbral hedge
muted mural
#

finally

austere talon
#

yeee

muted mural
#

for some very forbidden reason, this regex doesn't match the function argument e and instead matches t which is later defined as e.id

#

any i have no idea why

#

where can i get the "rolestore" thing

#

@austere talon why

#

@spark cove

#

this is also causing nothing to be built now

spark cove
#

pnpm i

muted mural
#

oh

austere talon
#

and it was causing a conflict

muted mural
austere talon
#

yes

#

PR immediately

muted mural
#

on monday

austere talon
#

that svg made bundle size triple in size

muted mural
#

when I get my chromebook

austere talon
#

what did u do

#

did u just optimise it

#

or different one

muted mural
#

I just shortened the decimals

#

to one decimal point

austere talon
#

lmao

charred monolithBOT
crude hearth
#

@austere talon MERGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

#

MERGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

#

AAAAAAAAAAKลžLSFDAOPฤžDKBDGOPLADฤžCAลžLFVร–FฤฐลžVลžฤฐW

#

merge now or explode

woeful sable
#

Thank You,

limber skiff
#

hmmm yess

austere talon
#

finally no more deranged code

#

holy

austere talon
#

why are those icons not square

#

google has good icons

#

material icons

limber skiff
#

eh does it really matter

#

(the icons)

austere talon
#

i mean if theyre square then no

#

but otherwise someone is gonna cry

limber skiff
#

how so

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 404 () ```
limber skiff
#

anyways migrated to map

muted mural
austere talon
#

github workflow that tests whether any patches are broken

muted mural
#

How the hell

austere talon
#

i just open discord.com and login with my alt via puppeteer

solemn spoke
austere talon
solemn spoke
#

lol

austere talon
solemn spoke
#

hah

#

btw, imagine jest on vencord

austere talon
#

it's not really testable

austere talon
solemn spoke
austere talon
#

there's basically nothing you could test

#

some utils like logger and debounce and so on but what's the point

#

if they work in plugins there's no reason to test imo

#

cause they won't magically break

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

the horror

dawn coyote
#

lol

austere talon
#

i forcepushed devbuild tag

#

to latest main

woeful sable
austere talon
#

soon

woeful sable
#

i hate that i have to merge everytime u change sth

austere talon
#

why

#

as long as there's no conflicts I'll do that before merging

woeful sable
#

idk it doesnt happen anywhere else

austere talon
#

it's a github branch protection rule

woeful sable
#

๐Ÿ’€

austere talon
#

I enabled it because its important to make sure the code still works after merge

#

imagine you import debounce in your pr but a different pr deletes the debounce file

#

you only imported it, didn't touch it. so there's no merge conflict

#

your branch tests fine

#

merge and boom everything explodes because that file no longer exists

woeful sable
#

ok explod

austere talon
#

that's why that rule exists

#

anyway u don't have to merge 20 times

woeful sable
#

allr then

austere talon
#

I'll do that when it's time

#

unless there's merge conflicts blobcatfearful

#

bleh also I will look at it later thanks

#

what exactly does that fix

woeful sable
austere talon
#

quick css and co are still borked aren't they

austere talon
#

as long as I have perms to push to the pring branch (which I have unless you purposely disable it) I can do it

woeful sable
austere talon
#

wait those also break?

woeful sable
#

yes ofc

#

why wouldnt they

#

the use fetch

austere talon
#

do u monkey patch window.fetch

woeful sable
#

no xD

austere talon
#

inject with define?

woeful sable
#

ye

austere talon
#

cool

woeful sable
#

and i added cors test

charred monolithBOT
crude hearth
#

@austere talon

#

@austere talon @austere talon

woeful sable
#

ven will review

crude hearth
#

VEN WILL MERGE

woeful sable
#

true

austere talon
austere talon
crude hearth
austere talon
#

soon

#

I have to go to store now

crude hearth
#

NOWWWW

#

what are you gonne buy from store

austere talon
#

76

woeful sable
austere talon
#

now run lint

#

on cod

woeful sable
#

cod?

woeful sable
austere talon
#

false

#

Well you need to run lint manually on your file

#

cause its not included in the command

#

need to fix that bleh

charred monolithBOT
shadow mango
#

whos that

woeful sable
charred monolithBOT
woeful sable
#

@austere talon will merge my pr

crude hearth
woeful sable
#

nop

#

i pinged first

austere talon
#

@high oracle you will tell me more about chrome extension releasing

high oracle
#

You do have to configure some additional publishing info though

#

Also don't ask for permissions in manifest that you're not (yet) using

#

My first iteration got rejected because they don't like future proofed extensions

#

Also it takes nearly 2 days for the review tk finish

crude hearth
charred monolithBOT
austere talon
#

@woeful sable you will stop denying write permission in pr

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 404 () ```
charred monolithBOT
fiery jungle
#

@austere talon MERGE ALIURN PR

#

NOW

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Having progress indicators would be nice, although not currently supported by the fetch API, for progress callbacks you might want to use the xmlhttprequest API (although this would not work for the userscript build, you will have to use the fetch polyfill there, it has progress callbacks)

@Vendicated I think we should make the fetch polyfill accessible on other builds (as a util, not a polyfill)
(but it would use xmlhttprequest instead of GM_xmlhttpRequest when its not a usersc...

charred monolithBOT
umbral hedge
solemn spoke
#

yea

#

going to suggest a change on the plugin settings ui

umbral hedge
#

o?

solemn spoke
#

a.k.a. remove the description section and devs and put it on the plugin card

umbral hedge
#

fwiw I'm slowly doing a rewrite of the plugin section

solemn spoke
#

oh?

#

may i see how it looks like? and will you remove this BS?

umbral hedge
#

what bs

#

it wont use modals

#

it'll be a full page for the plugin

#

think vaguely along the lines of the app directory ig

solemn spoke
#

hah

umbral hedge
#

this sort of thing

solemn spoke
#

seriously, this looks like the prototype of the settings UI

umbral hedge
#

ok

solemn spoke
grave mangoBOT
umbral hedge
#

using a memo there is basically useless

#

the users are already cached and there's basically zero overhead of fetchUser after the first run

#

also im pretty sure the most that'll ever load is like 5 or 6

solemn spoke
#

its not for expensive operations, its for better code

umbral hedge
#

wait til you see some of the crap discord does

solemn spoke
#

we don't need to be discord ยฏ_(ใƒ„)_/ยฏ

umbral hedge
#

ok

tawny cipher
# umbral hedge this sort of thing

That would also work really well for a 3rd party plugin store, like pluck in a GitHub repo url and it parses out all the plugins n stuff, bobs your uncle

umbral hedge
#

mm

#

I think we have the idea that we have a global api Vencord.* and people bundle their plugin (github workflow or whatever) and load that into client via url or downloading into a folder or whatever

tawny cipher
#

url loading is one of the nicest approaches at stuff, makes a lazy dev very content

umbral hedge
#

insecure tho

tawny cipher
#

Yeah true, most end users won't care if it's drag n drop or pasting a url

charred monolithBOT
solemn spoke
charred monolithBOT
solemn spoke
charred monolithBOT
#

Ok so scratch what I said before, you do need ShareX config. I implemented a pretty basic system for now, but there are a few issues that I will fix later tonight:

  • No way to auth implemented yet
  • Getting the final url for the file works on one json layer, but not more (stupid JSON in TS....)
  • Generally janky with some uploading services (notably, uguu.se. I have been wrestling with this service since yesterday)

These issues should all be easily fixable, just gotta do it. Buuuut fo...

quick ibex
#

Obligatory @vendy merge when?

charred monolithBOT
#

Well, the only field of description that is used is the description object, so if you meant that plugins have a small description and a full description then that's false. Other than that, descriptions aren't cut midhalf, because I've removed the height limit, and well, it is more of a issue with the plugin developer if they put too big descriptions, plus descriptions cut in half aren't that great

charred monolithBOT
charred monolithBOT
woeful sable
#

i messed that up twice

#

dont talk about it

charred monolithBOT
#

As much as I appreciate the effort, I just don't see how this is beneficial.

You're now sending API requests for tons of user profiles en-masse when you load the plugin page - this is not the kind of change I will accept.

You've also removed the ability to see a full description for plugins with longer or more detailed descriptions.

I can't accept this PR until these fundamental issues are resolved.

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 404 () ```
jagged cloak
swift fjord
austere talon
#

nop

fiery jungle
median rapids
#

no

#

you can bulk query users of the guilds youre in but not discord-wide

austere talon
fiery jungle
#

h

austere talon
#

you love how discord kotlin has a bulk fetch method

#

but all it does is send one request per id husk

fiery jungle
#

LOVE

median rapids
#

lol does it use fetch user or fetch user profile

#

fetch user is basically never used in the client

swift fjord
#

i don't think fetching all plugin devs would be that bad as long as its only once

#

and cached

spark cove
#

@solemn spoke did u try to look at the PluginDef type

jagged cloak
#

sounds like a "change something just because i dont like it" moment

#

didnt even look at the usages diid ya

brave geyser
#

Horror

charred monolithBOT
solemn spoke
solemn spoke
spark cove
#

no??

#

oh you didnt actually remove settingsAboutComponent

solemn spoke
#

yea

spark cove
#

also when they say "full description" they mean the text being too large to show in the card

#

so it shows in modal as well

charred monolithBOT
solemn spoke
spark cove
#

no u broke it

#

ur creating issues

solemn spoke
#

๐Ÿ˜

#

eh

#

whatever

#

the issue is closed now

charred monolithBOT
umbral hedge
#

There is no rule that says descriptions must be <2 lines

#

in fact, it annoys me a lot how vague most descriptions are

#

I'm probably going to start enforcing that people actually explain how to use the plugin

solemn spoke
#

i mean, it would be at least great to make the description hideable on the "about the plugin" section, as well as putting some text before the dev faces (ex: Developers: *faces go here*)

#

it feels annoying by the fact that the about me disputes the sane space as the settings, plus it will be rly required if devs write big descriptions

#

i mean as big descriptions as the ones from play store for ex

tawny cipher
#

speaking of playstore, barely any dev there ever properly provides changelogs, so maybe a release notes/changelogs section for plugins wouldn't be too bad

solemn spoke
#

don't think that is much needed, but its up to ven

charred monolithBOT
#

When trying to use in-app updater or manual update.
Client can not resolve @vap path.

X [ERROR] Could not resolve "@vap/core/ipc"
    src/plugins/shikiCodeblocks/api/shiki.ts:21:29:
      21 โ”‚ import { WorkerClient } from "@vap/core/ipc";
         โ•ต                              ~~~~~~~~~~~~~~~
  You can mark the path "@vap/core/ipc" as external to exclude it from the bundle, which will remove this error.

P.S. If it is path to code, then is not exists in tsconfig.json

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
verbal pumice
#

pin of shame this

umbral hedge
#

There are so many things I could say but I won't dogsmirk

charred monolithBOT
#

@ArttX For the sake of politeness & supporting less experienced developers, if you're looking to develop with Vencord, I suggest learning how node.js and npm works.

The official Node.JS guide is good for getting an overview https://nodejs.dev/en/learn and also has a guide covering npm, which would cover the issue you are facing https://nodejs.dev/en/learn/an-introduction-to-the-npm-package-manager/

tsconfig.json is used for managing typescript configuration, and does not actually have a...

crude hearth
charred monolithBOT
umbral hedge
#

?????

#

If you've been using it for 4 years how do you not know how to run npm install

#

insan

charred monolithBOT
charred monolithBOT
fiery jungle
#

the error still tells you what's wrong

tawny cipher
#

Yeah but he's a dev with 4 years experience he ain't needing to read anything

umbral hedge
#

I was writing something before I was gonna lock the thread but ven beat me to it so I wont post it

tawny cipher
jagged cloak
#

@Vendicated
I am developer. I am developing Discord bots and websites. So I understand what I am doing. ๐Ÿ˜†
My concern was than I don't have idea where to look for missing dependencies.
But thanks for answer, now I am on right way.

woeful sable
#

inb4 they make another issue

brave geyser
#

insane

cerulean vector
#

crypto miner vencord plugin (real)

fiery jungle
cerulean vector
#

I will actually make one trol

#

it's gonna go to your address