#🧩-plugin-development
1 messages · Page 3 of 1
fix it urself
thx
today is coding day
today is shut the fuckchfodjdksjsskdkfndkrbfjfjorfkg
im not sure,
but i notice, ever since the update
it felt like slow sluggish?
idk how to explain
looking from the resources it seems fine
it got cropped (?)
what's "it"
the vencord
autobuild?
pnpm watch you mean?
ye that thx
like, when switching to another server and then theres gif or else to load
wish i can record it when thats happen
that's Discord's update if anything
idk how to debug it, cause i see the memory seems fine
yeah, might be
i just felt this today,
cause I didn't change anything that could cause this
it's like <FormText variant="text-xs/medium" />
btw there's already an open pr by afn for the Spotify controls
what do u wanna change?
wait no i could use that
i wanna redo the slider
and sizing of stuff so it better fits
i coudl use his pr
how do i checkout there
do i make a pr to his pr or how does it work
horror
@lilac cipher fight to death
@lilac cipher wake up what do you think
i will use some of them
you wanna reimplement the seekbar?
it's literally just discords component so maybe you should make a theme that changes all of them instead

no i want only this one
basically you only glance at it anyway most of the time
and scrub occasionally
visual info can be clearly given in a form of a progress bar type thingy
and on hover you can scrub
I think time being down there would be kinda weird, if anything it should be directly under the scroller
or perhaps pop time up left any right of seekbar on hover?
idk I'd have to see to properly judge
Also I kinda suck at design 
so you're the boss
its ok vendy ily you did good
how would you do rounded icons
just different svgs?
could also make it like Spotifys design maybe
yes
to give you more of a Spotify feel
ehh
too big
this is discord, not spotify
spotify elements, sure
discord design language tho
ye but the player is Spotify 
Also discords design kinda poopie
also i'll fix this
Why's that
by adding marquee?
that was a goal but I haven't done it cause lazy
Also kinda pain to implement cause how tf do u detect if text is too big
cause u don't want text that fits to scroll
pick afn
get client bounding rect
ye ik but
look
it's one of
git pull afn/main
git pull afn main
Can't it be done via css?
no?
css doesn't have conditions
a
stop vscode git
technically does
use cli not gui
type
container queries
woman
- gui confi
you are
It does tho
Depends on how you use it
you can't do conditional animations in css
dw
sorry
dw about it @near aurora
to do marquee u have to calculate if its too big in js somehow then add marquee class
You can
You check if an attribute is equal to a value
I don't think there's any better way
it works
yw
literally getClientBoundingRect
on update
vendy
smart
sure now do
And with js you can update the attributes

.
You imagined it
good job
really
but i will add more shit
is this true
?
wait til you find out about gtk css
GTK css is so cursed lmao
If I go and implement python with cursed features, it doesn't mean that python was made with cursed features just bc I made my own version
(I'm not debating if python is cursed)
is this true
What?
I feel like I'm talking to a wall
Anyways, just bc gtk and QT support css, doesn't mean that css was made for them
Make it async
all buttons take a bit to update
?
make it client side update and debounce request to prevent api abooz
I could do optimistic updates before the request finished but then it'd be confusing if it for some reason failed
I prefer it this way tbh
Yee
rollback netcode 
I already debounce requests also
horror
I feel sad that the next generation won't know of the good old memes
when u click a button it waits for 200ms for more actions then sends request then waits for request to finish then updates ui

anyway Spotify app does it the same way
so I just copied their behaviour
I really don't think optimistic updates are good in this case cause they're potentially confusing
doesn't discord have the same thing here
that seems like personal taste
horror
lolz
i downloaded svgs for 24p and afn used 48p ones. not that it matters, since its svg anyway
SO GOOD
@dull magnet @dull magnet
resized now don't worry
btw would also be cool to add ways to copy the song and artist link
copy not open, sorry
maybe left click open, right click copy?
it already does left click open now
hmm okay
can i steal this somehow
for the spotify controls
like can i steal these components
or re-implement better?
tbh since you already implemented pretty much working stuff im just gona copy styles ig
i mean
itd be cool if u used discords somehow
Vencord.Webpack.extract(379923) in console
and u can look at its js
nop
right click > view function location
don't get intimidated by the start of it, just scroll down
it seems semi reusable with some hacks
i think if u wrap it in a container and call the whole component then add some css like
#vc-spotify-container .undesired-discord-thingy {
display: none
}```
it will be usable
the filers.byCode
ohh so i would like render as if i was in a userpopout
- add buttons & shit
yeah
render the whole thing, hide the join button and stuff
ur so smart ven
yeah
fully restart
restart ur pc 
inst it kinda bad that this would rely on discord then
it handles long names decently ig
funnily enough discord's design isn't much different from mine
yeah that's the thing, but you use cusotm class names and stuff
so much for apparently being inconsistent with Discord
if discord changes this component it also affects this
idk why i never thought of it lol
const Activity = LazyComponent(() => find(m => m.prototype?.isStreamerOnTypeActivityFeed))
<Activity idkWhatPropsItTakes />
wdym
i only got this far
.
how
ye they wanted it to be rounded
discord react is confusion
love the icons
like u mean how did i come up with that filter?
yeah
okay so o.render = function() always means it's a class component
and .prototype refers to the class prototype aka the holder of all methods
not really. im gonna reuse the userPopoout spotify thing, + use vens buttons
okay yeah
so if u scroll up a bit u see that the class u want also has isStreamerOnTypeActivityFeed
it would maybe be slightly useful if i knew how react works to begin with
why cant shit just be in svelte ffs
what is a venbutton
green = keep
red = replace with discords own component
this one
obviously only the middle part
yes
but
when you make a plugin
i wanna try creating a crappy platform indicators for the browser
because because
trollage
maybe just use my component for now then
idk ur call
text-overflow: ellipsis
ye ok but
text-overflow: balls
I'm in school
ill use ur component

it looks meh tbh lmao
better than the previous thing but still ugly
marquee would be cool
i can try
but the delay on buttons is so bad
and it glitches to previous state for 1s
cursed marquee
its not glitching
whats scrubbing
changing song time
:shocked_YE:
wtf are u doing
this exists
works fine for me
(dragging dn across ur face)
discord moment
wdym
idk the docs said it will find thing and replace thing
yes
we know
like this uses regex to insert own function call into discord code and then uses discord's modules to make the ui elements
why
hop on pnpm
get off yarn
ven does build not run on css changes?
what do i need to do then
just rebuild manually
terror
btw marquee on the title is really fucking annoying
so if anything it should be only on hover of the text
wtf is grid-template-areas
you dont know
info info seekbar seekbar seekbar seekbar
thats so cursed
you name layout areas
how does it work 
and just assign grid-area to anything
i'll show u
secd
you can have a layout like this right
(my site btw ^^)
then assign names to each grid area
and only thing left
is give each element where they need to go
@dull magnet
it's really powerful
i like it a lot
this layout could arguably be achieved in a million different ways but grid is easy & predictable
i guess so yeah
but is that actually better than just using flexbox and doing the layout in html?
i know flexbox the best so i just use it everywhere xd
flexbox good, but this is betteer for a lot of stuff imo
this can be responsive how you won
want
you just change the grid area names in a media query
look
https://kraxen72.github.io/imdb-fetch/ is the site ^^
vendy i am crazy and sexy ang goated
using discords component? or reimplemented from scratch
reimp
simp
just styling 
polyphia good
second guy from the right on their pic looks hot
yes thats tim we stan
he is also so so so fucking good at guitar
ven pls fix the icons blinking and seekbar glitching idkkk how
ok it's good
im happy
how to pr to afns thing
fork add remote and push?
@dull magnet one last ping, do you love?
or match grabber color on slider to icon color?
hot
no
already matched. loooks good
bad
are you open for suggestions
yes
shuffle and loop buttons seem too square
i didn't make them
but i can make them 4px smaller
do we need the tooltips guys
like
isn't a title attribute enough
API for patching css and then unpatching?
the tooltip is there for titles that are too long
maybe make it only show when title doesn't fit
for what use case
discord does just this
and im at a point where its a wrapper in a wrapper in a wrapper in a warpper
literally just
idk frontend well 
title="whatever"
oh okay do that then
im trying to port that thing i ported
what does that do
add css and then remove css afterwards
for crappy goosemod message logger
??
there's an open message logger pr
just finish that
or bug @granite wharf to finish
show how it looks with really long texts
@granite wharf ??????
need 2 fix lmao
LOL
i love
u love hyperpop
the preview is the worst part of the song lmfao
i do love underscores tho
who
even spoiled little brat
imo previews suck
who
he has a song called kiss my own dick
lmao
that song would be good if it didn't have the earrape at the end
be honest do u like the earrape at the end
that always bugs me in hyperpop when artists put that shit and it ruins the entire song lmfao
but i was once really drunk and tired and i listened to it and it wasnt that bad
how 2 fixx plz
added all the shit
oh width 100%
it looks fine
it literally dumps lke 2000LOC minified in there
horror
https://open.spotify.com/track/6XQavp1Qj1pFZkkHH079m1 this is a banger
also i think i got it
can you add an id to a react fragment lmao
yes
but u can't select with css
crinj
ye
deleted attachments not saved
cause why would it be
it's mainly used for top level stuffs where u cant use await
if youre using it on a level where u have async you're likely doing smth wrong
also it's based on an old canary build by now
something broke haven't tested
who cares attachments
me
btw where do u store data
oh yeah that makes sense
just memory?
yeah
thats okay
also i havent commited once yet
i just prevent it from being deleted from message store
its all just local
horror
because idk where to commit
my fork is not up to date with afns
waitFor only makes sense at the top level way before webpack is ready, but in 90% of cases u likely should use lazyWebpack
is there like a bulk wait for?
const UserStore = lazyWebpack(filters.byProps("getUser"))
// later
UserStore.getUser("aaa")
just call multiple times
its a bit goofeball
looks ugly
shrug
do i suckit up and implement marquee
there is bulk find
const [UserStore, GuildStore, ChannelStore, FluxDispatcher] = ["getUser", "getGuild", "hasChannel", "dispatch"].map(s => lazyWebpack(filters.byProps(s));

i kinda want to like wait for all the stuff to be present before running the code
what are u trying to do
bettermessageindicators clone
someone probably doing it already
i just wanna play with typescript
function waitForAsync(filter) {
return new Promise(res => {
waitFor(filter, res)
})
}
const modules = Promise.all([waitForAsync("blah"), waitForAsync("bleh")])
modules.then(([thing1, thing2]) => {
doStuffs
})```
how to make marquee help
i am losing my ming
d
damn html marquee is fast & annoying af
it does not stop at the start and there is a bunch of empty space
function waitForBulk(...filters) {
return Promise.all(
filters.map(f =>
new Promise(r =>
waitFor(f, r)
)
)
);
}
yes its garbo lmao
u can customise it
but just reimplement with css animations lol
never
rust wont be any faster lmao
if u want faster time run it directly with node instead of pnpm
the biggest overhead is pnpm funnily enough
i am running it with good old npm 
thx
npm doodoo
hes a npc
in what world is 200ms slow
instant ig
its fine
node added another 500ms it wasnt counting, next to 100
it looked fine but was longer
2022
adding random sleeps into the build script to mess with u
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 1000)
put this at random points in the build script
revision 1.million
it's good
ok?
i added this on hover
@lilac cipher can i commit to ur repo or whatever
or can i just like
uhh
merge this to my fork, afns commits will still b there
and then open a new pr
or how
werent u gonna stay consistent with discord
i have gashlighted myself
theyre just inconsistent as fuck
success
oh yeah
sure I can merge it
on my school Chromebook
you love
okay dont mind me
you cant stay consistent with something thatts inconsiettns
im indifferent
alsoi cant type apparently
Wtf is atomics.wait
Just await new Promise(r => setTimeout(r, 1000))
i would have to create another fork under my organization
click this button xen
Atomics.wait is synchronous tyman
where is it
const start = Date.now()
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 1000)
console.log(Date.now() - start) // roughly 1000
ok
and then click that button and for base select his fork
it's meant for thread safety when using workers
it's safe to block in workers so thats why that exists
but u can abuse it in main too xd
oh
i will sneakily pr that into vencord in my next pr 
u cant lmao
@near aurora sorry I can't help much in class rn
check

u need shared array buffers which are only available in super safe contexts
alr
aka not discord
arent shared array buffers only available to webContainers
ven u can merge afns thing
theyre only available if this is true
Xen, the progress bar changes size when the numbers change
@cinder wigeon 

chromium big mad
Meh you can just make a long loop it's fine
my procrastinating ass could never
there are conflicts
guhh
4gb memoryy
cant really time this properly and 100% cpu usage 
Atomics.wait 0% cpu usage
i set position: absolute & right: 0 it's gonna b fine
Even better
isn't it supposed to be a fixed with
because then text will shift the progress bar
^
message accessories api doesn't have when a new message is rendered thing?
i made it fixed width cause of that
what
message event hmm wait
If you want to mess with rendering use a patch
On the component
where are those svgs from btw
its absolutely positioned
ok afn wait with mergin then
i changed it to absolute, top: 10px, and left and right
goated
thank you afn
so in love with your website btw
I love kraxen
The whole point of regex patches is to get around the minification problem
this hover thing is so good
Just wrote good enough regex and you can patch literally whatever you want
yes i don't want to do that uwu
afn art very good yes
whats https://lanyard.rest/
exposes my discord rich prescence
so it shows up on the website
cant show it rn tho not on pc
fruity banner
husk banner
damn imma need that shit
lanyard lmao
just search by image
takes 5 seconds
tineye is hot garbage
i found it
use saucenao, IQDB and yandex
insane people

there u go
YOP
This should be obvious looking at that image

so basically you wanted that image 🤨
ven collects loli pictures
false
what
@dull magnet merge
why are there brs
THIS
so annoying when u find good art but it's loli garbage
just dont care? they're purely fictional so it doesn't matter what the canon age is, it matters more how old they look
exactly?
"1000yo dragon maid"
it looks like a loli
ye
artists drawing a 1000 year old girl that looks young so theyre not a pedo:
every japanese artist ever

i mean petite adults are a thing
its just sus when it's very clearly a child (like that girl from spy x family)

if its just petite/flat anime girl then who care
haram
insanity
lmfao
you just deleted some commit
its my fork i do not care
HORROR
i did read
i love squashing commits and force pushing
idk how to squash
skill
squash my balls
that'd hurt
fuck squashing i like my 9001 commits
btw is message link embeds ready sun
uh
tbh i think so
havent seen any funny bugs other than one which i literally just fixed
what in the world does this do
the fuck
ask arjix 
need
who's porting spotify controls to musicbee
noone
fawn you could do it
ya
dont do music bee integration thats really stupid
just for me
do mpris instead
no...
whats mpris
dbus media player protocol
idk what that is
@lilac cipher plox merg
media player standard that a lot of players implement
do it@dull magnet @dull magnet
so u can control chrome, spotify, discord etc
control discord, from discord
i think so
mpris poggers
anyone knows how to detect when url/route changes?
mutation observer?
it can fetch data and control browser (all websites), all electron apps, spotify app and many many other apps that implement it
what for
you're asking for so many weird hacks
yes but like i want a more simple way
there's no pr
whaqt
detecting if you are in dms channel
yop
Asking about your attempted solution rather than your actual problem
and for what?
why do you need to detect changes?
because i don't want to monkeypatch any react components
uwu
regex patch?
yes i don't want to read source code






