#๐Ÿ–ฅ-vesktop-development

1 messages ยท Page 4 of 1

azure verge
#

it works great

#

interesting

#

ill retest later

#

hmm
I streamed for a few hours the other day

#

it was fine

#

the only annoying part was my stream couldn't fold 60fps because of 4696 bitrate cap

hybrid fjord
#

okay, lmk
bc at night when i was trying to fix starting stream i did some changes in conn finding, maybe this fixed some problems

azure verge
#

oooh

#

do share

hybrid fjord
#

something like that

azure verge
#

interesting

#

instead of a for loop

#

I did the same thing

#

using find

hybrid fjord
#

yeah, i believe there must be better way xd

azure verge
#

const conn = connections.find(conn => conn.streamUserId === UserStore.getCurrentUser().id)

hybrid fjord
azure verge
#

wacky

#

I'll test some more

#

I may have fixed it and forgot to check the box

hybrid fjord
#

i started stream 1080p60 -> got it
Changed to 480p15 -> got it
changed back to 1080->60 got it

azure verge
#

interesting

hybrid fjord
azure verge
#

yeah definitely

#

getting [1] doesn't work if another stream is running

#

if I can fix input.stream to stop being undefined

#

it'll be great

hybrid fjord
#

now nothing work because of discord bug ๐Ÿ˜„

azure verge
#

lmao

hybrid fjord
azure verge
#

true

hybrid fjord
#

or we need more investigation, maybe discord do have somewhere stream

azure verge
#

I'll test more when i get home

#

while I'm at school I'm gonna work on the modal css and another vencord project

simple groveBOT
hybrid fjord
#

I have an idea of temporarily workaround about this dc bug. We can after 1 second find new connection, call again getDisplayMedia function for getting stream object and assign it to connection. I tried it but without success. Looks like we need to change something else too and/or call some functions
But this approach will again call system display picker :c

simple groveBOT
real glade
#

yeah it is

azure verge
#

omfg

simple groveBOT
azure verge
#

fakenitor

hybrid fjord
#

xd

azure verge
#

also it just doesn't?????

#

lmao

#

afaik discord has never supported over 60fps

simple groveBOT
azure verge
#

I really wanna get in vc, say I found the plugin, and stream at 30fps

#

and see the reaction

hybrid fjord
#

xD

azure verge
#

LMAO

hybrid fjord
#

tf with bitrate

#

i applied 120 fps and 480

azure verge
#

it's still locked at 59 LMAO

hybrid fjord
#

yeap

azure verge
#

wtf is the bitrate though

#

I'm going to bump the bitrate limit up later to test like

#

1440p144

hybrid fjord
#

lets do 4k

#

whyno

azure verge
#

lmao

#

I just wanna test lmao

simple groveBOT
hybrid fjord
#

we need 4k display for it ๐Ÿ˜ฆ

azure verge
#

oh yeah....

#

uhh

hybrid fjord
#

we can emulate it i think

azure verge
#

I have a 4k tv but it's not near my pc

hybrid fjord
#

creat virtual 4k display somehow, in x11 we 100% can do it

#

i believe in wayland there must be a way to do it too

runic inlet
azure verge
#

whar

#

h o w

hybrid fjord
#

i can't get even 75 fps working

#

i think it is really hardcapped by discord servers

iron cedar
#

it would be

azure verge
#

interesting

hybrid fjord
#

1 year old
I believe discord changed many things by this time and fixed this

runic inlet
#

do desktop plugins work in vesktop too?

azure verge
#

afaik no

#

also that plugin may depend on discord_voice

#

and not webrtc

hallow trail
#

Gave the setup a go last night

#

Mouse movement in the discord window or the captured window would bring the stream framerate to it's knees

#

On KDE plasma 6

#

But so long as the mouse did not move it was quite heavenly

#

Which was surprisingly not so much of a problem streaming VRChat on monado in HMD

simple groveBOT
broken solstice
#

Well I'm back

azure verge
#

what we've seen is quite the opposite

#

and damnit

broken solstice
azure verge
#

i forgot to commit stuff i did last night

broken solstice
#

on Gnome 46 Nvidia

azure verge
#

welp guess ill just do my vencord plugin instead

broken solstice
#

I'm going to test stock 46 on Fedora 40 instead of Rawhide btw

#

Just in case

azure verge
#

omg i just found my favorite vencord theme ever

hybrid fjord
#

wow

azure verge
#

mhm

#

anywayssss

#

hm

#

welp guess its time to figure out how to do volume stuff

#

vencord patches yayyy

hallow trail
#

Godspeed, I am immeasurably happy I can stream vr to everyone in chat even if its a little funny right now ๐Ÿฅฐ

hallow trail
broken solstice
#

oddly enough, the secondary monitor seems unaffected

#

Even more oddly, rn the stream is simply broken

#

AAND

#

I'm back on 40 and can reset my custom Pipewire because there are conflicts that had to pop up rn

#

AHAHAH

hallow trail
#

iirc there's a book to include the mouse cursor in the pipewire api

Might be worth testing with/ without it

azure verge
#

do lmk if you find anything

#

i cant test rn and yall cant test on the latest update because i forgot to push my commits

#

๐Ÿ˜ญ

#

i fixed a lot of issues

hallow trail
#

Ooh, wen push?

azure verge
#

the 2 biggest problems imo are the weird 4696 bitrate cap and the uh
conn.input.stream being undefined

azure verge
#

im on my laptop rn

hallow trail
#

All good I'm outta work in 5h

#

Learned me well, always have the pub key ssh box on the home net, always

broken solstice
#

OKAY... looks like I can rebase from testing to stable just fine

#

So i'll do that ๐Ÿ™‚

hybrid fjord
#

outputVolume: 100

#

let me test it xd

vernal lintel
hybrid fjord
#

hm

broken solstice
#

Huh

#

broken even with stock stuff

#

Well, funnily enough it looks like Rawhide is the only stable ground I have

broken solstice
#

doesn't work even in Rawhide now?

#

Okay

#

i was using Canary

#

Okay

#

So, Stream's broken on Canary, not stable. Good

#

and bad

#

huh, the bug is gone

#

Interesting, prepare for when the current canary merges into stable, I guess

azure verge
#

what about it doesnt work on canary

simple groveBOT
#

โœ๏ธ Bug Description

When I screen share with the 'Entire System' option, the audio in the transmission only works if I select, for example, Brave as the option.

๐Ÿ” Steps to reproduce

Click "Screenshare"
Select "Full Screen"
Select "Entire System" option

๐Ÿ—’๏ธ Debug Output

arRPC > ipc] listening at /run/user/1000/discord-ipc-0
[arRPC > websocket] listening on 6463
[arRPC > process] started
[Vencord] Installed React Developer Tools
(node:16782) ExtensionLoadWarning: Warnings l...

simple groveBOT
#

[
{
"id": 30,
"type": "PipeWire:Interface:Metadata",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"props": {
"object.serial": 30,
"metadata.name": "settings"
},
"metadata": [
{ "subject": 0, "key": "log.level", "type": "", "value": 2 },
{ "subject": 0, "key": "clock.rate", "type": "", "value": 48000 },
{ "subject": 0, "key": "clock.allowed-rates", "type": "", "value": "[ 48000 ]" },
{ "subject": 0, "key": ...

broken solstice
#

Not in stable, as of my testing

simple groveBOT
broken solstice
#

Huh, interestingly enough, I did some more testing.
So, stream is totally broken for me on anything but Rawhide it seems... probably GStreamer 1.24 related.

#

Okayyy... now it's broken in Rawhide too?
Well, let's just say it's EXTREMELY inconsistent

azure verge
#

oh my

upper pine
#

Is GitHub struggeling right now?

#

Oh

#

There it goes

broken solstice
#

To push the stuff you didn?

#
    at Function.assign (<anonymous>)
    at Object.patchStreamQuality (VCDRenderer:1:5071)
    at new o (WebpackModule701597:2:908)
    at u.getDesktopQuality (WebpackModule701597:2:3583)
    at u.getQuality (WebpackModule701597:2:1683)
    at f.initializeStreamParameters (65573.bdec86aโ€ฆ.js:1:7139992)
    at new h (65573.bdec86aโ€ฆ.js:1:7261261)
    at new f (65573.bdec86aโ€ฆ.js:1:7302145)
    at h (65573.bdec86aโ€ฆ.js:1:7265458)
    at C.connect (65573.bdec86aโ€ฆ.js:1:7315059)```
azure verge
#

almos

#

getting food rn

broken solstice
#

Looks like some of the parameters for patchStreamQuality are undefined in some cases

#

I'd like to print them to test, but I can't build as Rawhide has broken containers

#

Time to reboot

broken solstice
simple groveBOT
broken solstice
#

There is a chance this issue trickled down from canary btw

upper pine
#

Rip GitHub lol

simple groveBOT
heady merlin
#

only merge when dev gets merged to main

#

perhaps I should make the change on vencord non breaking, you will me vee

azure verge
#

its less than i thought

#

i was eepy

broken solstice
#

Thanks

#

I'll soon test

hybrid fjord
#

you know what xD

#

latest commit broke stream starting for me

#

even when no one else streaming

azure verge
#

whaAA

#

lemme test

#

had to add to my aliases rq

azure verge
#

same thing here

#

ughhhh

#

okay that's gonna take more work

hybrid fjord
#

i believe these if statements we can write simply as "if (conn)"

#

bc conn object will be only when ids same

azure verge
#

true

#

yeah

#

it can

#

i wrote this while i was basically falling asleep

#

im not gonna be super active development tonight

#

im fixing a chromebook

hybrid fjord
#

i'll try to fix this problem and will commit if i find solution

#

or i do not have write access..

#

anyway i will let you know

azure verge
#

here uhhh

hybrid fjord
#

i cant start watching stream too

#

looks like it tries to patch stream quality for not our stream

broken solstice
#

It broke on Canary, worked on stable, now not even there, at least for me

hybrid fjord
#

lol

#

looks like discord fixed their bug that we fixed tommorow

broken solstice
#

๐Ÿ’€

#

Well, good luck, I'll be watching dune, I've been postponing it too much

hybrid fjord
#

i pushed fix xD, pull it

azure verge
#

ill be spending tonight fixing a chromebook and then experimenting with linux on it if i get it working

#

oki LMAO

#

i think itll be way better with all of us able to push and pull

hybrid fjord
#

fps and res setting not even broke after it

azure verge
#

nice

hybrid fjord
#

but changing window broke..

azure verge
#

idk about changing windows + res

hybrid fjord
#

for me it setups back to fullhd 30 fps

azure verge
#

for me res works

#

but not fps

hybrid fjord
#

hm

azure verge
#

oh

#

odd

#

nvm

#

now both broke

#

yeah

hybrid fjord
#

wtf is that when i change window

azure verge
#

we need to fix that

#

stream previews arent working and idk

#

why

hybrid fjord
#

encode object is undefined now in opts

#

we previously used it to set framerate

azure verge
#

why did you comment it

hybrid fjord
#

bc it drops error while starting stream or watching

#

because encode is undefined now in some reason

ionic gust
#

no null checking

hybrid fjord
#

by this

#

we submit only when there are no connection for stream already

#

okay it looks for me good now

hybrid fjord
#

here we have ressurection of github api

simple groveBOT
ionic gust
#

cant mark your own reviews as resolved
shithub at its finest

#

theres so many features that just arent there that really should be

hybrid fjord
#

i just commented it(

ionic gust
#

yeah and i want to resolve it myself but i cant

#

its so stupid

broken solstice
#

Funny thing btw

ionic gust
#

and i doubt you can as well cause you're not the pr author

broken solstice
#

It works now, but the cursor bug is back

ionic gust
broken solstice
#

I'll test Rawhide ONE LAST TIME

hybrid fjord
# simple grove

about commenting i agree, your approach is better for future discord changes

broken solstice
ionic gust
#

gstreamer then

broken solstice
#

When using Rawhide it was perfect. the major difference was GStreamer 1.24

ionic gust
#

pipewire is purely audio and is not relevant

broken solstice
#

I mean, pipewire provides the pipeline right?

#

For sending the video

ionic gust
#

no

#

its purely audio

#

guh when did it start supporting video wtf

hybrid fjord
#

Pipewire have Gstreamer plugin
i believe in future video support will be more extended

ionic gust
#

if its older then oh well, welcome to stable release distros

#

if its newer then its a regression

broken solstice
ionic gust
#

so its already fixed, no use caring

broken solstice
#

Yeah but now it's back

azure verge
broken solstice
#

I just got lucky?

#

Interesting

#

I was probably just lucky tbh

ionic gust
broken solstice
#

I can't find a consistent reproducer for the working scenario

#

The only conclusive thing is that the secondary monitor doesn't present this issue

azure verge
#

gsync?

hybrid fjord
#

hmmm

#

what if really it was gsync issue

broken solstice
#

GSync? I'm using Freesync

#

let me test it

azure verge
#

i have major issues with freesync

#

i had to turn it off

#

it makes my monitor flicker

#

(implicit sync kinda vibes)

hybrid fjord
#

can we add #191 and #463 here? screenshot from our PR

humble mortar
broken solstice
humble mortar
#

encode works

broken solstice
#

Btw, streaming the window is still much more performant than monitor, even mouse issues aside...

#

I wonder if you can reproduce this

hybrid fjord
broken solstice
#

It's probably just the window vs monitor issue that @hybrid fjord opened yesterday

#

Any news on that btw?

hybrid fjord
#

only added labels xD

#

looks like they added this to project, so i have hope that they will fix it

broken solstice
#

Welp

#

No one can reproduce this issue yet, right?

#

We only have the inverse, on KDE

hybrid fjord
#

can you again write what exactly issue is?

broken solstice
#

So, sharing a window works very well, sharing a monitor works but with a much lower framerate; Sharing the primary monitor, on GNOME 46 (Nvidia Wayland) leads to an avg fps or 4-5 with drops to 1 UNLESS the cursor is moving.

#

We theorised that it was due to Window/Monitor not being set properly by chromium, for which we opened a bug

hybrid fjord
#

oh, these one

broken solstice
#

Yep

hybrid fjord
#

i can't reproduce it on kde

#

i can download gnome xD

broken solstice
#

I wonder if you have the framerate drop compared to window streaming in your setup as well

#

Like, from 60 locked to 40-45hish

#

That's what I've been seeying

hybrid fjord
#

it is display streaming

broken solstice
#

Ah interesting

simple groveBOT
broken solstice
#

Let me try something

hybrid fjord
#

in final commits we need to do not forget to remove all these console.logs

broken solstice
#

Huh

#

Looks like even the window screen sharing is very bad now... the hell

#

rarely crashes on starting a new stream with ```terminate called after throwing an instance of 'std::future_error'
what(): std::future_error: Promise already satisfied

azure verge
#

thats

#

not typescript

hybrid fjord
#

c++

broken solstice
#

Yeah, strange stuff

#

Well, I'm going back to 40

#

and cleaning up Rawhide

#

it's broken on both, mostly in a similar manner by the looks of it

#

I will try to test the differnece between app and screen streaming even while moving the cursor soon

hybrid fjord
#

can you try to install kde?

broken solstice
#

Window

#

Screen While Moving the Cursor

#

Screen without moving the cursor

hybrid fjord
#

lol

hybrid fjord
broken solstice
hybrid fjord
#

yeap

broken solstice
#

Okay

hybrid fjord
#

it might be encoder issue or smth like that

broken solstice
#

Which is why I'm somewhat tempted to build GStreamer 1.24.2 before Fedora

#

that + custom pipewire with explicit modifiers

torn hedge
#

Wait are you guys talking about this issue

broken solstice
#

Basically window streaming is much better than screen

#

And I have a bug where not moving the cursor while streaming the screen tanks the framerate significatnly

#

seems to be multimonitor related

#

I'll now test my secondary monitor

hybrid fjord
#

but we are not using anything that can do this frame drops

broken solstice
#

Also there is some work to make use of explicit sync for Pipewire screen sharing

#

Interesting stuff

#

Let me test the secondary monitor

hybrid fjord
#

For window streaming i have the same fps drops when mouse moving

broken solstice
#

I don't have drops when the mouse moves

hybrid fjord
#

and you do have updates only when mouse moves

broken solstice
#

Window is mostly perfect for me

#

Yep

#

Looks like on KDE it's the literal inverse

hybrid fjord
#

i have same behavior like screen sharing

#

i do not think that we in vesktop code can and must do anything to fix this

broken solstice
#

Yeah, I agree

#

We definitely improved what we could but this all looks like upstream issues

#

The problem is that I would have to prove they are upstream

#

Test this

#

I think i can reproduce it

#

Btw, when the stream framerate increases due to mouse movement the underlaying primary plane doesn't update

#

I.e. it still gets dropped

#

Window is perfect

hybrid fjord
#

like this

broken solstice
#

AHAHAH

#

OBS seems fine but direct scanout in fullscreen seems to cause it to drop some frames

hybrid fjord
#

Screen to window changing seems broken

azure verge
broken solstice
#

jokes aside, other than reporting, the only real thing I can do rn is to find a way to record Wine Wayland windows AHAHAH

#

To sidestep the real issue just a bit

hybrid fjord
#

Start Stream display -> change stream to window -> not changing with any permutations
start stream window -> change stream to display without changing res and fps -> not changing
start stream window -> change stream to display with another settings -> changing

#

this is for me

#

can anyone recheck?

azure verge
#

top one works i think

#

second one works

#

bottom one doesnt work at all

hybrid fjord
#

xD

#

wtf

azure verge
#

it did 1440p30

#

i chose 720p60

#

i didnt check fps and res on the first 2

#

just the last one

#

still trying to solder

hybrid fjord
#

i just checked whether stream is changing image

azure verge
#

it did all 3 times for me

#

res and fps didnt work well though

#

btw nobody was watching me

hybrid fjord
#

i now have infinite loading T_T

#

what's going on

azure verge
#

wtf lmao

hybrid fjord
#

propably smth on my end

hybrid fjord
azure verge
#

hmm

#

oh

#

odd

#

im not on the latest commit

#

its a regression

#

this should always submit

hybrid fjord
#

okay

azure verge
#

the code after handles reapplying so that it doesnt matter if the track is changed

#

i really should comment what i do

#

itd be better to put the entire block in this try in if conn

#

instead of just the latter

hybrid fjord
#

how then it changed if i change settings

azure verge
#

idk

#

i have an idea but im half focused

hybrid fjord
#

oh

#

when we submit then it applies default res and 30 fps

#

but submitting only when there is no connection (starting stream) i fixed problem when reverting to 30 fps

#

but this changing window problem added

#

what if we after submitting just wait in code for like 100 msecs and then apply new constraints?

#

bc it looks like we apply but then discord applies default ones back

#

i will try

humble mortar
#

Im getting infinite loading on the latest commit of #489

#

Xwayland

#

the screen capture portal seems to remane open even after i end the stream

#

and if i exit the portal the stream remains open

#

theyre not hooking correctly or smth?

hybrid fjord
#

i had strange behavior that screen capture portal opens again even if we already chose desktop
But for now i just ignore it as we trying to fix streaming

humble mortar
#

hm well streaming isnt even starting for me

hybrid fjord
#

i will reclone repo and retest it

hybrid fjord
humble mortar
#

@hybrid fjord is your stream working on your end?

hybrid fjord
#

not when you started

#

now i recloned branch and it started

humble mortar
#

i think theres something scuffed on my system

#

I'm getting near constant system freezes

#

mouse still works and apps still work but anything that requires loading just freezes

#

what tf is happening

#

screenshots are just blank

hybrid fjord
#

@broken solstice when i start stream display -> change to window then i do have the same behavior with fps as you.

hybrid fjord
azure verge
#

its not perfect but the main thing rn imo is making something work

hybrid fjord
#

okay i'll do some more tests and will commit it

#

pushed, so if can anyone pull and test it, it will be great
and i believe we can check it finally:
"Fix bug where changing windows allows you to lower the fps but not raise it"

#

as for now we also have issue when we can't start stream while viewing someone else's stream. But it is also reproducing in discord web, so i believe discord's devs will fix it soon

ionic gust
#

are you sure submit isnt async?

simple groveBOT
ionic gust
#

actually it should be

hybrid fjord
#

submit maybe, but it seems that discord still doing something with track. I do not really sure whether it is while submit works or after

ionic gust
#

yes but its async

hybrid fjord
#

i will try make this better, but for now it just works for me

hybrid fjord
#

yeap yeap

#

okay, i tried to use then but discord makes stream 30 fps

#

so its most propably doing it after then()

ionic gust
#

how the actual fuck does this even work if submit is just a call to venmic and not to actually start screensharing what

azure verge
#

submit calls VENMIC?????

sour muralBOT
azure verge
#

I THOUGHT IT WAS A CALLBACK TO THE SCREENSHAREHANDLER FUNCTION

ionic gust
#

so did i

azure verge
#

whatr

#

the hell

#

wait

#

why does it expect

#

audiosource

#

and audiosource

hybrid fjord
#

lol ahahahahahha

#

okay at least it works xD

ionic gust
#

its all handled natively.

#

what the actual fuck.

#

how the actual fuck.

azure verge
#

i wrote half this file lmao

ionic gust
#

time to see if theres a flux event then

azure verge
#

gl

ionic gust
simple groveBOT
azure verge
hybrid fjord
#

So in theory we can just apply constraints after flux event done? I do not know how to work with them

simple groveBOT
#
[Vencord/venmic] New tag created: v3.3.4
upper pine
#

@humble mortar In case it is the issue I was suspecting, it should be fixed with v3.3.4, if not, I'd like to debug this further (would probably require input from you as I can't reprod)

humble mortar
# humble mortar Im getting infinite loading on the latest commit of #489

journal

Apr 10 19:40:07 bakery rtkit-daemon[982]: Supervising 7 threads of 5 processes of 1 users.
Apr 10 19:40:07 bakery rtkit-daemon[982]: Supervising 7 threads of 5 processes of 1 users.
Apr 10 19:40:11 bakery rtkit-daemon[982]: Supervising 7 threads of 5 processes of 1 users.
Apr 10 19:40:11 bakery rtkit-daemon[982]: Supervising 7 threads of 5 processes of 1 users.
Apr 10 19:40:28 bakery kded6[1308]: Registering ":1.89/StatusNotifierItem" to system tray
Apr 10 19:40:28 bakery xdg-desktop-portal-kde[1424]: qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/TextFieldContextMenu.qml" and "qrc:/qt/qml/org/kde/desktop/MenuItem.qml"
Apr 10 19:40:36 bakery kded6[1308]: Service  ":1.89" unregistered
Apr 10 19:40:43 bakery kded6[1308]: Registering ":1.91/StatusNotifierItem" to system tray
Apr 10 19:40:43 bakery kded6[1308]: Service  ":1.91" unregistered
Apr 10 19:40:43 bakery kded6[1308]: Registering ":1.93/StatusNotifierItem" to system tray
Apr 10 19:40:59 bakery kded6[1308]: Service  ":1.93" unregistered
Apr 10 19:40:59 bakery wireplumber[1177]: <WpAsyncEventHook:0x5999f423d780> failed: <WpSiStandardLink:0x5999f45c7770> link failed: 1 of 1 PipeWire links failed to activate```
#

something is broken

#

let me try the latest stable of vesktop

#

latest stable works

#

ill try latest git build without the patches from #489

humble mortar
#

latest git works

#

let me try #489 one more time

#

and now it works

#

my system is haunted

azure verge
#

oop

simple groveBOT
#

lms5413@LM ~/vesktop (main)> vesktop
[arRPC > ipc] listening at /run/user/1000/discord-ipc-0
[arRPC > websocket] listening on 6463
[arRPC > process] started
[Vencord] Installed React Developer Tools
(node:224965) ExtensionLoadWarning: Warnings loading extension at /home/lms5413/.config/vesktop/ExtensionCache/fmkadmapgofadopljbjfkapdkoienihi:
Manifest version 2 is deprecated, and support will be removed in 2024. See https://developer.chrome.com/docs/extensions/develop/migrate/mv2-depre...

azure verge
#

this doesnt

#

update

#

hmm

#

im streaming at 480p15 rn but i started the stream at 1080p60

#

omg so close to merge checklist completion

azure verge
#

btw

#

if anything breaks on xorg only

#

we could pull this into the renderer process

#

and use it to define 2 sets of behavior

azure verge
#

@vernal lintel not styled yet but i think this is an improvement

#

and then ill make content type a dropdown

azure verge
#

getting better

hot juniper
#

why don't you use a proper button component

azure verge
#

tHERES A BUTTON COMPONENT?????????

#

I WAS JUST USING THE HTML <button> TAG

#

WHAT

hot juniper
azure verge
hot juniper
azure verge
hot juniper
azure verge
#

noted

azure verge
hot juniper
#

oh

#

i mean

azure verge
#

im not gonna go digging around in vencord source code rn

hot juniper
#

for vencord

azure verge
#

yeah i mean itll still work here too lol

hot juniper
#

yeah ofc

azure verge
#

i just dont wanna dig for it

sour muralBOT
# hot juniper https://github.com/Vendicated/Vencord/blob/main/src/webpack/common/components.ts...

**components.ts: **Lines 25-50

export let Forms = {} as {
    FormTitle: t.FormTitle,
    FormSection: t.FormSection,
    FormDivider: t.FormDivider,
    FormText: t.FormText,
};

export let Card: t.Card;
export let Button: t.Button;
export let Switch: t.Switch;
export let Tooltip: t.Tooltip;
export let TextInput: t.TextInput;
export let TextArea: t.TextArea;
export let Text: t.Text;
export let Select: t.Select;
export let SearchableSelect: t.SearchableSelect;
export let Slider: t.Slider;
export let ButtonLooks: t.ButtonLooks;
export let Popout: t.Popout;
export let Dialog: t.Dialog;
export let TabBar: any;
export let Paginator: t.Paginator;
export let ScrollerThin: t.ScrollerThin;
export let Clickable: t.Clickable;
export let Avatar: t.Avatar;
export let FocusLock: t.FocusLock;
simple groveBOT
vernal lintel
#

seems way better imo

#

when you hover it shows the preview in tooltip

simple groveBOT
simple groveBOT
simple groveBOT
#
[Vencord/venmic] New tag created: v3.3.5
upper pine
simple groveBOT
azure verge
broken solstice
#

Huh, it's randomly working perfectly rn

#

Even the stream

#

Like, without the mouse issue

hybrid fjord
#

insteresting thing that i had mouse issue only when i changed stream to window
But if i start with window that it's okay

broken solstice
#

Interesting yeah

#

I'm trying to find reproduction steps btw

#

It works fine for now, somehow

broken solstice
#

I updated to the latest versoin and it regressed

#

huh

#

Or maybe I just got lucky again

#

But did I get lucky twice?

#

Because I tested the previous version multiple times

#

now it jumps between 50 and 5

#

huh

upper pine
#

Framerate edging lmao

azure verge
#

LMAO

azure verge
hybrid fjord
azure verge
#

true

upper pine
#

hahahahahaha

broken solstice
#

Yeah

#

I'm trying to bisect the commit that regressed, if there is one

upper pine
#

You're trying to fix the screenshare right?

azure verge
#

mhm

#

we're mostly there

upper pine
#

Is the screenshare issue a chromium one or is it actually discords code that's bad some where?

azure verge
#

discord mostly

#

originally it was because it was limited to 2.5mbps bitrate + contenthint = text

#

so resolution settings weren't applying

#

and it was 5fps

#

and it could barely hold that because of how low the bitrate was

#

that's all fixed mostly

broken solstice
#

OKAY

#

It works at commit 83d4164eacd79718ff97a7257ff0fead4cdf92e2

#

I'm going to move forward by one commit

#

Until it breaks

azure verge
#

okay

simple groveBOT
#

Describe the bug

when i uninstall vesktop the screenshare portal stays active on normal discord

To Reproduce

uninstall and screenshare still installed

Expected behavior

normal discord sharing window

Screenshots

Screenshot_20240411_213622

Desktop (please complete the following information):

  • OS/Distro: Linux
  • Desktop Environment (linux only): kde
broken solstice
#

broken with commit 006f4e96dea21fee018e446e84a19a92ddabbd1e

#

Let me rollback and double check

azure verge
#

what changed

simple groveBOT
broken solstice
#

I'm double checking the previous version to make sure it's not luck

simple groveBOT
simple groveBOT
broken solstice
#

Although it does, when FULLSCREENED, rarely drop to 1 fps for a second

#

See the three central dips? those

azure verge
#

so

#

what changed

#

sorry

#

I'm on my phone I cant dig through commits

broken solstice
#

Some logs from the working commit

65573.71e278ef7f5773eb2c7b.js:1 [UnifiedConnection(stream)] updateVideoQuality: {
    "remoteSinkWantsPixelCount": 0,
    "encodingVideoMinBitRate": 500000,
    "encodingVideoMaxBitRate": 8000000,
    "encodingVideoBitRate": 600000,
    "streamParameters": [
        {
            "type": "video",
            "active": true,
            "rid": "100",
            "ssrc": 3432307713,
            "rtxSsrc": 3493598720,
            "quality": 100,
            "maxBitrate": 8000000,
            "maxFrameRate": 60,
            "maxResolution": {
                "type": "fixed",
                "width": 1920,
                "height": 1080
            }
        }
    ]
}
65573.71e278ef7f5773eb2c7b.js:1 [UnifiedConnection(stream)] BaseWebRTCConnection.updateVideoQuality: resolutionScaleFactor: undefined, encodingVideoWidth: undefined, remoteSinkWantsMaxFramerate: undefined, encodingVideoMaxBitRate: 8000000, localWant: 100```
#

I'll now check the broke one

azure verge
#

what code changed lol

broken solstice
upper pine
broken solstice
azure verge
#

knew it

#

hm

broken solstice
#

I can see if the logs are any different on the broken commits to nail it further

#

I could test the individual code changes if you want

azure verge
#

I'll test with it in an hour or two too

broken solstice
#

So, adding the opts check

#

then trying the submit, ok?

azure verge
#

oki

broken solstice
#

I can test myself

#

I can reproduce it, might as well

hybrid fjord
#

did i broke something? ๐Ÿ˜„

azure verge
#

I didn't fully reread it all

#

but one thing I will note

#

make sure you have prettier and eslint active lol

#

the project has pretty strict styling rules

hybrid fjord
#

okay, sorry for this

azure verge
#

you're good

#

I did the same thing a while back

broken solstice
#

Okay, testing out the Object.assign change

#

Okay, a couple of dips at the start, good otherwise

#

Even in fullscreen

#

Now i'll add the second change

hybrid fjord
#

strange thing that i have this with latest commit

#

like normal +-

broken solstice
#

Even screen is good for you?

hybrid fjord
#

window even better bc no mouse issue

broken solstice
#

Now it's working just fine?

#

It's so inconsistent... maybe it's some race condition with some timeout? I have no idea

hybrid fjord
#

window, streaming browser which playing yt video

broken solstice
#

Let me retest latest

broken solstice
hybrid fjord
#

yeap

azure verge
#

wait so

#

we didn't cause a regression?

#

or did we

hybrid fjord
#

idk xd

#

for me latest commit works good

broken solstice
#

last commit is working except for some drops at the start

hybrid fjord
#

and changing windows works and it applies settings

broken solstice
#

Well, I guess it might really be some sort of race

azure verge
#

hmm

#

bump the timeout higher?

hybrid fjord
#

might help

azure verge
#

give it 1 second

#

see what happens

#

instead of 100ms

#

@broken solstice test that rq

broken solstice
#

I'm not sure

#

Yes, let's test it

hybrid fjord
#

1 sec just for test, in future i think we need to setup something like 200-500. We need to find proper number

broken solstice
#

One error that's quite consistent that sometimes seems correlated is a spotify integration error btw

simple groveBOT
broken solstice
#

Okay, testing without spotify integration real quic

#

Couple of drops but it stabilises

#

Okay, time to increase the timeout

upper pine
#

I hate clangd ๐Ÿ˜ญ

broken solstice
#

looks similar, at this point it might just be internet related tbh

#

Well, still, the only contentious points for me are probably just upstream

#

BUT, the UX is still not there imho

#

SHOW PREVIEW shouldn't be all caps and it doesn't have enough contrast between text and container. the container itself also doesn't use the correct color. What's the change button for?

#

Show Preview would be better

#

I'm trying to think about which color specifically as, abstrantion wise, it is meant to be a button

#

Hmmm

#

At this point wouldn't it be better to have something similar to the Microphone Workaround thing

#

Because it's still a toggle, not a button

#

That would also fix the contrast issue and be consistent

#

At the same time, i'm still unsure about having it at all but, I guess, if we have to have it might as well make it similar to the Microphone Workaround

simple groveBOT
#
[Vencord/Vesktop] New branch created: dependabot/npm_and_yarn/tar-6.2.1
azure verge
#

lol

#

i havent had time to sit down and finish the css

#

im just making something functional

#

and the change button will cancel and reopen the portal so you can pick a new window

#

incase you misclicked and dont want to close it and reclick screenshare

hybrid fjord
#

fixed changing of discord quality description

#

but i will install eslint and prettier before committing

#

also i think then setTimeout() we need to set inside another if (conn) checkiing. Because otherwise it will try to set conn variables even if there are no conn

#

like this

#

okay i believe that i didn't broke anything

#

If someone could retest quality description changing when changing settings for already created stream it would be great
And also if someone have any recommendations to code it also be great

vast bane
#

Hi! I have an idea, I don't know where to post it. The idea is to maybe have a variable for OS is using a dark or a light theme OR even better, an option to apply a chosen light color when the OS changes to a light mode and a chosen dark color scheme when the os changes to a dark color. And make it optional.

hybrid fjord
#

I believe this can be realized as some type of plugin

simple groveBOT
#
[Vencord/Vesktop] branch deleted: dependabot/npm_and_yarn/tar-6.2.1
upper pine
azure verge
#

yeah I think that's plugin territory

vast bane
#

Ah thanks

upper pine
hot juniper
#

if you NEED the nitro colour scheme below

vernal lintel
#

this only allows default light

#

if you want to switch between a dark and a light nitro theme that's not a thing

hot juniper
#

i am aware

#

i was just about to say

vernal lintel
#

or switch between two custom vencord themes

#

but it should be really easy to add

#

i sent a code sample recently to detect changes to the theme

hot juniper
#

@media (prefers-color-scheme: dark) {}

#

this could help

azure verge
hot juniper
simple groveBOT
vernal lintel
#

bros name is elFarto

simple groveBOT
azure verge
#

to answer the โ”

#

it's a joke about people saying bro a lot

vernal lintel
#

my bad bro

upper current
#

bro posted a comic SKULL_SKELETON

azure verge
upper current
#

yeah but its the skyrim one so its ok

azure verge
#

lmao

azure verge
#

makes it feel like 10x higher quality

hybrid fjord
#

Lol, I didn't tested for it

#

It's very good then

simple groveBOT
azure verge
#

it may remove the need for the timeout

hybrid fjord
#

Also for now I have bug when you change stream to window then system portal picker shows twice
Can anyone reproduce?

azure verge
#

it should happen anytime you stream a window in general

#

ive been meaning to look into it

#

@vernal lintel 2 things

  1. what the hell is your sleep schedule
  2. i cannot for the life of me find anything on tooltips in order to learn how to use them
vernal lintel
#
  1. tooltip component from webpack commons
azure verge
#

i know

#

it forces me to add children and text to it and i dont know how they work

#

i tried looking it up

#

there is N O T H I N G

vernal lintel
#

wdym looking it up

#

like googling? ๐Ÿ˜ญ

#

ofc u won't find anything, it's discords component

azure verge
#

e x a c t l y

vernal lintel
#

search for tooltip in vencord source code

azure verge
#

what the hell is the children field

vernal lintel
#

many examples

azure verge
#

shhh

#

im not smart

vernal lintel
#

there is no children field

#
<div>
   these are the <p>children</p>
</div>
azure verge
#

it automatically adds these

#

wait WAIT

#

im really dumb

#

do i just fucking

#

put the image

#

in children

vernal lintel
#

not like that girl

#

yes

azure verge
#

omfg

vernal lintel
#

but not like that

azure verge
#

i just let vscode create the missing fields

vernal lintel
#

well no actually

azure verge
#

and then was gonna go off of it

vernal lintel
#

text is the tooltip value

azure verge
#

yeah

vernal lintel
#

children is what's gonna have the tooltip

azure verge
#

OH

#

so image in text and children would be the shit the user sees?

vernal lintel
#

so you put the show tooltip in children and the preview img in text

azure verge
#

ooo

#

okay ima get to work

vernal lintel
#

like i said look vencord code for examples

azure verge
simple groveBOT
upper pine
#

FUCK

#

I'm about to kill myself

#

I've made so many fucking changes and didn't pull

vernal lintel
#

huh

#

changes to what

#

vesktop?

#

or do u mean you worked on venmic code from multiple computers and didn't pull

upper pine
#

Holy fuck

#

I love git

#

It fucking magically fixed it

upper pine
#

Problem was that I moved a lot of files

#

And I was afraid it's gonna be really fucked

broken solstice
azure verge
#

LMAO

#

i did it backwards

#

better

#

i vote leave it like this /j

upper pine
#

but only 5% of the time

#

Also, what's your theme? Looks nice :D

#

Another idea: Can you move the Change button left to Go Live?

vernal lintel
#

midnight with "vencord" color scheme i think

azure verge
#

mhm

#

it is

upper pine
#

thanks :D

azure verge
#

maybe

upper pine
#

yeah that sounds good

azure verge
#

i am struggling way too much to style this fuckin tooltip

upper pine
#

Most of the time I click outside of the modal to cancel anyways

azure verge
#

its just nice to not have to cancel

#

and then reclick

upper pine
#

yeah I hate that too

#

why does Vesktop / Discord always feel so sluggish with themes

azure verge
#

really?

upper pine
#

Yeah

#

It's slightly worse than stock

azure verge
#

interesting

upper pine
#

And that's really noticable

azure verge
#

i dont have any noticeable change with vesktop with this theme

upper pine
#

because stock isn't too smooth either xd

azure verge
#

TRUE

azure verge
#

then again im on my laptop rn so

#

its not exactly the most perfect experience anyways

#

you'd think itd be smoother

upper pine
#

It actually feels smoother without Hardware Accel

#

maybe it's just fucking nvidia

azure verge
#

probably

#

wayland?

upper pine
#

yep

azure verge
#

ahhh

#

wait for explicit sync

upper pine
#

yeah ik

#

fucking may

#

that's so long

azure verge
#

ikr

#

but at the same time

#

its gonna be so nice

upper pine
#

but it's ok with <= 535

#

true

#

might buy an amd until then tho xD

vernal lintel
#

no lag

azure verge
#

i have that plugin on iirc

upper pine
#

Just bgs

azure verge
#

how the hell do I style a tooltip

boreal warren
#

What I don't understand is why themes lag
Like, they're (usually) not a thousandth of the css discord already has
Is it all the [class*=] selectors piling up after all?

upper pine
#

probs

#

a class map might help there

simple groveBOT
vernal lintel
#

it doesn't matter if it uses attr selectors or not

boreal warren
#

I honestly don't see how that can be true, checking substrings has to be more expensive than classes

#

It is a more complex operation, and also less common and therefore probably less optimized

azure verge
#

im losing it

#

i cannot style this fucker

#

@vernal lintel waaaaah im stupid and cant figure it out waaah solve all my problems for me (pls dont i just cannot get any styles to apply to the tooltip component itself and i dont want to be annoying by complaining or pinging you but im confuseddd)

vernal lintel
vernal lintel
#

xy problem

upper pine
#

surely someone has done that before

vernal lintel
#

what actually matters are poorly written compound selectors

#

one single line of poorly written css can cause 100% cpu usage

upper pine
#

oh truee

#

๐Ÿ…ฑ๏ธig venmic update incoming

vernal lintel
#

a poorly written compound selector (wildcards, :has, etc) can cause exponential complexity

#

like walking the entire body for every node in the body

upper pine
#

yeah ik

vernal lintel
#

something like
body:has(.foo) *

azure verge
#

although i thought it was obvious

#

you shouldnt have text that you hover over

#

that is just black and default font size

vernal lintel
#

girl you control the children

#

put whatever you want there

azure verge
#

the show preview text should be

#

pretty

vernal lintel
#

and stop using vanilla html elements

azure verge
#

oh my fucking god

vernal lintel
#

use discord components

azure verge
#

im an idiot

#

THE SHOW PREVIEW TEXT IS LITERALLY IN A DIV IM AN IDIOT

#

I CANNOT BRAIN

azure verge
#

im just

#

used to html

#

so first habit is

#

"there's an element for this!!!"

upper pine
#

Is someone here using pipewire < 0.3.68?

azure verge
upper pine
#

thats > 0.3.68

azure verge
#

this is definitely less than 0.3.68

#

LMAO

#

ik

#

im messing with ya

upper pine
#

xd

azure verge
#

im in a mood rn lmao

upper pine
#

haha

azure verge
#

gimme like 20 minutes and ill be normal

#

god said i should make an operating system

#

LMAO

upper pine
#

I'm about to finish a fairly big update and it'll have a lot of logic changes, just want to make sure everything still works properly before bumping in vesktop

azure verge
#

nice

upper pine
azure verge
#

possibly

upper pine
#

watch out for glowies

azure verge
#

for whaT

upper pine
#

feds

azure verge
#

ignoring the show preview button

#

the change button looks so nice now !!!

#

why didnt i use discord's own components earlier lmao

upper pine
#

gib preview

azure verge
#

i still have to move it

upper pine
#

You could probs also rename it to "Go Back" or smth

#

Not sure if that's better tho

azure verge
#

i probably will

#

that's easy to change though

azure verge
#

oooooh

upper pine
#

Sexy

azure verge
#

im just gonna make change

#

call close

#

and then call openscreensharepicker

#

so it closes and restarts

upper pine
#

๐Ÿ‘Œ

azure verge
#

oh uhm hmmm

#

openscreensharepicker takes data from the other file

#

hmm

upper pine
azure verge
#

wait

#

can i just call navigator.mediaDevices.getDisplayMedia

#

hm

azure verge
upper pine
#

ah

#

holy fuck my second monitors color profile is so fucked

#

The reply isn't even yellow there

azure verge
#

yes i can

#

it hooks the main process's openscreensharepicker call

#

change works!!!!

upper pine
#

nice :D

azure verge
#

augh tooltip positioning is weird

hybrid fjord
#

Okay so what did I miss

#

You're working on UI/UX for picker?

azure verge
#

yeah

#

everything except the tooltip is done