#πŸ–₯-vesktop-development

1 messages Β· Page 13 of 1

simple groveBOT
upper pine
vernal lintel
#

wdym

#

i dont understand

#

oh do you mean the app.commandLine.appendSwitch("disable-renderer-backgrounding");

#

they do have it

#
if (process.platform === 'win32') {
  disabledFeatures.push('CalculateNativeWinOcclusion');
  app.commandLine.appendArgument('--disable-renderer-backgrounding');
  app.commandLine.appendArgument('--disable-backgrounding-occluded-windows');
  app.commandLine.appendArgument('--disable-background-timer-throttling');
}
#

they didnt have it a while ago when i checked lol

#

so that means they added it recently xd

hybrid fjord
vernal lintel
#

you can check discords natvie code easily, its not even minified

#

DiscordDir/resources/app.asar ~ main entry point which does bootstrapping
~/.config/discord/0.0.x/**/*.asar ~ other native modules

for me (with flatpak), the locations are /var/lib/flatpak/app/com.discordapp.Discord/current/active/files/discord/resources and /home/vee/.var/app/com.discordapp.Discord/config/discord

you can extract the files via ```sh
pnpx @electron/asar extract app.asar app-extracted

and after making changes repack them with ```sh
pnpx @electron/asar pack app-extracted app.asar
simple groveBOT
upper pine
vernal lintel
#

to vencord

#

idk why they only add them on windows

#

it happens on linux as well

upper pine
vernal lintel
#

already been doing that xd

upper pine
#

oh nvm then xd

sour muralBOT
# vernal lintel https://github.com/Vencord/Vesktop/blob/main/src/main/index.ts#L47-L58

index.ts: Lines 47-58

// work around chrome 66 disabling autoplay by default
app.commandLine.appendSwitch("autoplay-policy", "no-user-gesture-required");
// WinRetrieveSuggestionsOnlyOnDemand: Work around electron 13 bug w/ async spellchecking on Windows.
// HardwareMediaKeyHandling,MediaSessionService: Prevent Discord from registering as a media service.
//
// WidgetLayering (Vencord Added): Fix DevTools context menus https://github.com/electron/electron/issues/38790
disabledFeatures.push(
    "WinRetrieveSuggestionsOnlyOnDemand",
    "HardwareMediaKeyHandling",
    "MediaSessionService",
    "WidgetLayering"
);
vernal lintel
#

this is copy pasted from discord xd

#

well minus the WidgetLayering

simple groveBOT
vernal lintel
#

how well is the venmic pr coming along?

#

i wanna make a release soon

#

no rush, just wanna know if i should release with or without it :p

upper pine
#

But if possible I'd like to include it into the release

#

If that's ok ^^

simple groveBOT
simple groveBOT
hybrid fjord
#

@azure verge chromium fix for dropping corrupted buffers is merged

azure verge
#

OOOOH

#

cant wait for it to finally get to us in 100 years

upper pine
hybrid fjord
#

On Gecko xd

upper pine
#

Lmao

azure verge
#

that just sounds like a huge pain

upper pine
#

Just need to make that work lmao

#

How hard can it be :P

upper pine
azure verge
#

real

upper pine
#

bro

#

why does updating rust packages

#

take a bazillion years

#

fuck rust

#

seriously

#

faster compile times my ass

azure verge
#

i fucking love rust i just want them to ACTUALLY IMPLEMENT THE FUCKING GODDAMN IDFK

#

just

#

i hate that it compiles every library statically

#

instead of using system libs

upper pine
#

yeah thats so stupid as well

#

That should be opt in

#

Instead of opt out / impossible?

azure verge
#

iirc the whole

#

dynamic lib thing is still being worked on?

#

idk for sure

vernal lintel
#

takes like half an hour to compile but we just used github actions so it was like whatever

azure verge
#

github when it

#

uhh

#

it

#

uhh

#

microsoft

vernal lintel
#

also same with vencord installer blobcatcozy

to compile for windows / mac i just use actions

brave tendon
#

Well that's good to know

#

I used a separate Mac and Windows computer for that husk

simple groveBOT
#

Discord Account

No response

Operating System

EndeavourOS (Wayland)

Linux Only ~ Desktop Environment

KDE

What happens when the bug or crash occurs?

When screensharing, the quality is not ideal, but the biggest issue is the framerate is horrible. ~2-10 FPS.

What is the expected behaviour?

The frame rate selected is respected.

How do you recreate this bug or crash?

  1. Start Screensharing

Debug Logs

[p@p-pc ~]$ vesktop
[arRPC > ipc] listening at /r...
hybrid fjord
#

V, what do you think about printing Vesktop version to console when program starts?

#

for seeing actual version in debug logs in issues

simple groveBOT
#

Hmm, I guess its not in vesktop at the moment?
Where can I check the status? Can I apply that fix manually to check on my pc?

No it's not in Vesktop yet, you can however clone the vesktop repository and bump Venmic in the package.json to 3.3.3.

Thanks for mentioning, I still need to submit a PR for the update ^^

Hey, could you inform me where that json file is to "bump" it? I only just switched to Linux Mint yesterday and I've been trying to fix this issue for ho...

#

Hmm, I guess its not in vesktop at the moment?
Where can I check the status? Can I apply that fix manually to check on my pc?

No it's not in Vesktop yet, you can however clone the vesktop repository and bump Venmic in the package.json to 3.3.3.

Thanks for mentioning, I still need to submit a PR for the update ^^

Hey, could you inform me where that json file is to "bump" it? I only just switched to Linux Mint yesterday and I've been trying to fix this iss...

#

Can you please send screenshot of stream debug? You can get it by:

1. Enabling Developer mode in Discord settings

2. Starting Stream

3. Clicking on "Voice connected" green text and "Debug" upper screenshare button in bottom left corner

4. Picking "Output" under "Debug RTC: Stream"

Also, please specify which content type you are using (smoothness or clarity).

![image](https://github.com/Vencord/Vesktop/assets/140283647/2e28d167-c992-4...

vernal lintel
#

actually wait

#

nvm

#

no issue

#

false alarm

simple groveBOT
simple groveBOT
hybrid fjord
#

most informative comment

gentle hatch
#

the fuck is cachyos

simple groveBOT
#

Discord Account

Solyphonous

Operating System

EndeavorOS

Linux Only ~ Desktop Environment

KDE Plasma 6.0.5 Wayland

What happens when the bug or crash occurs?

When trying to drag and drop a file from dolphin into discord, the file will appear in the little attachments box, but all buttons within the app will become unclickable until a restart of the app. Voice calls and typing still work, everything just becomes unclickable. Hovering over buttons also does not trigger the...

upper pine
#

@vernal lintel I'll try to finish my PR tomorrow

#

I need a break today πŸ˜…

#

Just spent 7+ hours on group project

#

Fuck Javas Generics

#

They're so ass, why do they even exist when they are always type-erased?? They literally have almost no benefit at all

vernal lintel
#

lmaoo

#

kotlin generics

upper pine
#

Are they better?

simple groveBOT
simple groveBOT
#

Been having the same issue for a couple months, every time I try and screenshare I need to stop it and start it with every different combination of settings until it randomly decides to work. Bitrate (Target) will frequently be stuck at double digits.

interesting, do you mind sharing your system specs? (and if on AMD refer to my latest comment to see what may be a possible culprit)

azure verge
#

sleeby

azure verge
#

I know nothing about it

simple groveBOT
#

Been having the same issue for a couple months, every time I try and screenshare I need to stop it and start it with every different combination of settings until it randomly decides to work. Bitrate (Target) will frequently be stuck at double digits.

interesting, do you mind sharing your system specs? (and if on AMD refer to my latest comment to see what may be a possible culprit)

Not on AMD unfortunately.

CPU: Ryzen 7 5700X
GPU: RTX 3060 Ti
Running EndeavourOS with Nvidia...

#

Been having the same issue for a couple months, every time I try and screenshare I need to stop it and start it with every different combination of settings until it randomly decides to work. Bitrate (Target) will frequently be stuck at double digits.

interesting, do you mind sharing your system specs? (and if on AMD refer to my latest comment to see what may be a possible culprit)

Not on AMD unfortunately.

CPU: Ryzen 7 5700X
GPU: RTX 3060 Ti
Running EndeavourOS w...

#

Gotcha. It's just confusing because like I said, I have to try over and over and EVENTUALLY it stabilizes, seemingly independent of the settings I pick.

that is a bit odd, but I may have an idea
try running the latest commit, as a few commits back, background throttling was disabled, and it helps with bitrate throttling in the background
it may be that yours is dropping to the background a lot
I highly doubt it, but it's worth a try, as that is a bit odd.

simple groveBOT
simple groveBOT
#

FYI, it would be nice to keep the chatter to a minimum because this has a lot of participants that get CC'd for debugging which should be done in IM / on another issue.

For what it's worth, maybe the user should be warned in the streaming dialog that performance may be worse if Electron is going to use a software encoder (either because of VA-API encoding being unavailable or just using Nvidia)?

simple groveBOT
simple groveBOT
#

That's dependent on KGlobalAccel, correct?

Looks like it is. I'm not sure that we can use it directly it TS code, so for implementing this behavior we can write some C++ helper code (?). But here is the question of why if we can use just default custom keybinds and do not complicate the project structure.
discord-screenaudio is already on C++ so using KGlobalAccel is way easier for them.

#

That's dependent on KGlobalAccel, correct?

Looks like it is. I'm not sure that we can use it directly it TS code, so for implementing this behavior we can write some C++ helper code (?). But here is the question of why if we can use just default custom keybinds and do not complicate the project structure.
discord-screenaudio is already on C++ so using KGlobalAccel is way easier for them.

https://github.com/Vencord/Vesktop/issues/18#issuecomment-1880985299

hybrid fjord
simple groveBOT
#

I am not sure if KGlobalAccel supports sending separate key up/down events, either, which are pretty much a requirement for PTT. I would absolutely second the XDG Global Shortcuts module idea, depending on how difficult you think it'd be. Unless bolting on C++ is unacceptably messy and a blocker in its own right. Or unless there's a TS API I'm not aware of, for udev or XDG shortcuts. I have not seen any relevant activity, lately, in upstream Electron.

I can confirm Plasma's global shortcut...

upper pine
simple groveBOT
#

Unless bolting on C++ is unacceptably messy and a blocker in its own right

Not sure what you mean here, venmic is already written entirely in C++

That does answer my question (whether the developers are okay with features that would require C++ helpers.) Sorry if it was poorly phrased. I had not seen that there was a separate repo for Pipewire screenshare, so at a glance, it looked like the project could've been aiming for as much pure TypeScript as possible.

upper pine
#

@vernal lintel Is that alright?

upper pine
#

depending on how granular I want to make the selection I'll probably have to update venmic as well as it currently only supports selecting a target by a single property, which I should probably expand to multiple properties, this would also solve the issue in #619 without making the exclude logic super fucked

#

But the whole ScreensharePicker logic is now super complex which I strongly dislike

#

I'll try to come up with a clean(er) solution throughout the day

simple groveBOT
hot juniper
#

aka no pulseaudio compat?

upper pine
#

Pulse setups are not supported yet (i.e. where apps run under normal pulseaudio, not pipewire-pulse)

hot juniper
#

is there any reason to support them (almost certainly no)

upper pine
#

Well it would be nice if we had native pulse support as well, but that is a little fucked so it's not a priority

hot juniper
upper pine
#

Yes

hot juniper
#

okay

#

i'm getting a tiny bit confused

upper pine
#

Venmic does the following:

  • Query currently running pulse-server
    • Is Pipewire-Pulse?
      • => Everything good
    • Else:
      • Show warning
hot juniper
#

also what does that guide link go to

upper pine
#

Shows how to install pipewire

hot juniper
#

link?

upper pine
hot juniper
#

idk how to say this kindly but

#

this is an awful resource for stupid vencord users

#

dont assume all of them run ubuntu

#

or debian

upper pine
#

Was vees suggestion

#

Β―_(ツ)_/Β―

upper pine
#

Maybe we should make a site that shows how to switch to pipewire for multiple distros

#

A simple github pages site would prob do the job

#

Should be fairly simple to setup

#

When Vencord Docs

upper pine
hot juniper
upper pine
#

Oh nice

#

Did not know that was thing

#

We should add a pipewire guide there I guess

hot juniper
#

You are insane (or have this hidden)

upper pine
#

First screenshot is new

#

Why didn't I think of that earlier what the fuck

#

That's infinetly more flexible

hybrid fjord
#

xd

vernal lintel
#

LMAO

#

at that point does it even need to be array

upper pine
#

Yes because you may want multiple nodes

vernal lintel
#

oh

#

fair

upper pine
#

okay this makes everything much easier

#

holy fuck lmao

upper pine
#

What the fuck the node test script is crashing for me but GDB crashes as well when attaching to it??

upper pine
#

Bruh

#

Pipewire may've fucked everything multi-threading

#

I hope it's either a bug or I'm doing smth really stupid

#

Ok nvm looks good

#

Bro what the fuck is it then

#

Why the fuck does the node addon in my testing have some threading issues when the server does not

#

and the thread is the fucking same

#

what the fuck

tulip quiver
#

environment mirrors? nodejs version, addon, option, maybe os diff too?
nodejs addon is thread safe?

hybrid fjord
#

it looks like brainrot xd

tulip quiver
#

XD

upper pine
#

Is this a fucking node issue

#

What was the other thing called

#

bun?

gentle hatch
#

yourself -> yourself again -> yourself again -> maybe it's a library bug? -> nope, yourself again -> maybe I'll check the library again -> environment -> editor -> standard library -> compiler

- Fox#0001

upper pine
#

I've blamed my self for 30 minutes, then my library, then venmic, then the STL, then the env and now node

#

It's failing due to thread-related issues but everything is happening on the same thread??????

#

WHAT THE FUCK

#

Ok I found it

gentle hatch
#

soo what was it

upper pine
#

Lol how does that even happen

#

Destructur is called mid pipewire update even though that's literally impossible

gentle hatch
#

Β―_(ツ)_/Β―

tulip quiver
#

bunJS

gentle hatch
tulip quiver
#

and this is

#

why i so fucking hate this

upper pine
#

HAHAHAHHA

gentle hatch
#

lmaowhat

tulip quiver
#

kinda often happens

#

like

#

5/10

gentle hatch
#

okay I'm just gonna keep using nodejs :3

tulip quiver
#

nah

#

bun still better

#

maybe pc issue XD

gentle hatch
#

too lazy

tulip quiver
#

never happend this on server

#

only local machine

hybrid fjord
tulip quiver
#

sounds good

upper pine
#

That is possible????

hybrid fjord
#

WHAT

#

ahahahaha

tulip quiver
#

lol

#

virtual void method

#

extremely hot

#

bruh, i think u should rest XD

#

idk how u can handle this amount of debugging pain

upper pine
#

Fixed it blobcatcozy

tulip quiver
#

πŸ₯‚ 🀝

simple groveBOT
simple groveBOT
#
[Vencord/venmic] New tag created: v4.0.0
slow sky
#

i broke it :3

#

time to open a gh issue

upper pine
#

Lol

hot juniper
simple groveBOT
#

Discord Account

Lenni_builder

Operating System

macOS 14 (Sonoma)

Linux Only ~ Desktop Environment

No response

What happens when the bug or crash occurs?

There's both the macOS traffic light overlaying the "Discord" text and the and the Windows-like controls on the right.
image

What is the expected behaviour?

That option shoukd be removed entirely on macOS or it should ...

upper pine
#

Wow that was really fast for the arm build

#

I fucked up the TS Typings

#

fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuck

#

Can I change that without a new release

#

@vernal lintel Can we force update the module typings?

hot juniper
#

NPM is a fuck

upper pine
#

Fuck

hot juniper
#

push 4.0.1 trolley

upper pine
#

fuck

hybrid fjord
#

it's venmic 4.0.1 time

#

yeah

vernal lintel
#

nop

#

4.0.1 your beloved

hybrid fjord
#

xd

upper pine
#

45min compile again

#

Fuck it I'll push manually

#

Not through the actions

#

Or I'll add a rescue action thingy that doesn't rebuild

#

I hope this is right now

#

Generics in TS are so cursed lol

simple groveBOT
upper pine
#

Let's fucking go

#

I love this CI setup so much lmao

#

It's cursed yet so beautiful

simple groveBOT
#

Discord Account

rashadgasimli#2005

Operating System

Arch Linux

Linux Only ~ Desktop Environment

KDE and Wayland

What happens when the bug or crash occurs?

When I open the app, it takes long time before starts

What is the expected behaviour?

Normally starts

How do you recreate this bug or crash?

  1. I open the app
  2. Takes long time before starts
  3. Is opened

Debug Logs

Using NVIDIA on Wayland, disabling gpu sandbox
Passing the following argument...
upper pine
#

aye it works

simple groveBOT
simple groveBOT
upper pine
#

I can't tell you how much I hate the code that makes this work

#

The Vesktop code for this is so fucked

#

And I can't even extract some of the stuff into helper functions because typescript throws a tantrum then

#

(due to the fucked types lmao)

#

Ok nvm Type Guards save the day

simple groveBOT
#
[Vencord/venmic] New tag created: v4.0.2
hybrid fjord
#

xdddd

vernal lintel
#

😭

upper pine
#

Last one i swear

#

Also isn't that much of a bug

#

Just something that might be useful

hybrid fjord
upper pine
#

I just drank massives amount of black tea

#

I can't rest now

heady merlin
# upper pine

@vernal lintel do you want me to host a arm runner for venmic?

tulip quiver
upper pine
#

Let's go

heady merlin
#

I can use my oracle server for it

vernal lintel
#

what's this access token about @upper pine

heady merlin
#

I have one already for a personal organization, can just make a new onefor venmic

vernal lintel
#

venmic-reuse

upper pine
vernal lintel
#

i don't remember what it was

upper pine
#

You can now select by:

  • Name
  • Name/Binary & PID
  • Name/Binary & Current Media
#

I guess that should suffice for most

heady merlin
upper pine
#

And you can also select multiple ofc

heady merlin
#

we could try, it's super easy

vernal lintel
#

do u remember what it was noah?

upper pine
#

no idea

heady merlin
#

I just need access to manage the runners in venmic

upper pine
#

I think it was too fucked to setup?

#

Or I made the QEMU thingy and we just went with it

#

I think it was the latter lmao

vernal lintel
#

i mean sure u can nuckyz but let me check first why we scratched it

heady merlin
#

actually

#

give me access to the vencord repo

#

I will make an organization level runner

upper pine
#

(Selecting only firefox obviously selects all of the below)

vernal lintel
heady merlin
#

lmao

upper pine
#

haha

vernal lintel
#

or is it somehow possible to have dividers in the select menu

upper pine
#

You need to enable this:

vernal lintel
#

oh

upper pine
#

Will push now

upper pine
vernal lintel
#

it would be better having it in vesktop

#

the instructions are pretty small

#

you could open a separate modal with instructions

upper pine
#

Oh that would be cool

#

But I was thinking about instructions for multiple Distros

vernal lintel
#

what other distro

#

it's just ubuntu / mint

#

arch users will figure it out themselves

upper pine
#

True, does fedora use pipewire by default now?

vernal lintel
#

yes

#

has done that for ages

upper pine
#

Alright

#

Then debian will def suffice

vernal lintel
#

and even ubuntu already has pipewire server running cause it needs it for wayland capturer

#

pipewire screencapture

#

so it's just two commands (install wireplumber instead of pulseaudio media session and enable it)

#

so i would say just make a modal with these two ubuntu commands and also link to the relevant arch wiki and it should suffice?

upper pine
#

I'll push what I have rn, would you mind adding the modal? Not sure how you'd want it to be, just a second modal ontop of the screenshare modal?

vernal lintel
#

yep basically

#

but sure i can add it

vernal lintel
#

but first i need to cook some tea

upper pine
#

Which one

vernal lintel
#

TBD

upper pine
#

Is that sweetened?

vernal lintel
#

what 😭

upper pine
#

I'll bump venmic again in #621 to 4.0.2 once it's finished

vernal lintel
#

to be discussed / decided

upper pine
#

Ohhh

#

There's some TBD ice tea brand as well lmao

#

What kinds of teas do you drink?

tulip quiver
#

cocoa boba πŸ•Ί

vernal lintel
#

but i like a lot of teas

upper pine
#

I'm more into the earthy/smokey ones

vernal lintel
#

i still live with my mum and she has a cupboard of teas

upper pine
#

Nice, I have two compartments in my cupboard dedicated to tea as well xd

#

But I think the best I drank is still Dragon Pearl Jasmine

vernal lintel
#

omg wasserkocher ist mega verkalkt

heady merlin
tulip quiver
heady merlin
#

I can deploy this from my phone blobcatcozy

upper pine
tulip quiver
#

ahh i see, sadge

upper pine
vernal lintel
#

yep

upper pine
#

Lol I restarted pipewire and now Electron Screenshare is fucked

#

time to reboot ig

tulip quiver
#

i havent really ordered tea online, one of my friends deals with it and gets it for me so 🫴 but if u want to buy, i recommend trying osmanthus green, lily jasmine, and jasmine silver needle if available in the stop, these are all special 🀀

tulip quiver
upper pine
tulip quiver
upper pine
#

Alr PR is now ready, I hope the changes are alright, they're a tiny bit messy but I couldn't think of a nicer way

simple groveBOT
simple groveBOT
#

OP's method of handling audio is what's known as "mix bussing". I do the same, and you'll probably find it common among those recording or streaming or performing live. Thought I'd leave a keyword here for search engines in case anyone wants to read into it. Hope that's helpful, and big thanks to everyone who helped add this to vencord!

should give you enough free-room to select the specific node you want to stream from :)

Looks good! I worry I might break the UI if there's a few doze...

upper pine
upper pine
hybrid fjord
#

maybe create this in Vesktop settings menu?

#

excluding is like one-time setting for user so probably defining it in Vekstop settings instead of stream picker would be better

upper pine
#

Yeah I think so too

#

Or we could open another modal in the screen share picker

upper pine
#

We would have more space but it would also be easily accessible from the screen share modal

#

And stream settings should be persistent

#

I'll look into it

brave tendon
#

Are stream settings currently supposed to be persistent?

upper pine
#

no

#

But it would make sense if they were

brave tendon
#

Agreed

simple groveBOT
#

OP's method of handling audio is what's known as "mix bussing". I do the same, and you'll probably find it common among those recording or streaming or performing live. Thought I'd leave a keyword here for search engines in case anyone wants to read into it. Hope that's helpful, and big thanks to everyone who helped add this to vencord!

Thanks for the keyword! This will definitely be useful for a new settings description :)

Looks good! I worry I might break the UI if there's a f...

simple groveBOT
#
[Vencord/venmic] New tag created: v5.0.0
upper pine
#

Which one looks better?

#

I'm also not quite sure how I can handle the settings, because currently changing the settings is fucked in the modal because it's props aren't updated due to it being a modal

#

Ah that will probably not matter I can just give it it's own state and then persist the settings I guess?

hybrid fjord
upper pine
#

I like it better as well πŸ‘

upper pine
#

Do I even need an additional state then?
I'll just handle it all globally

#

Which one?

#

First one

vernal lintel
#

second one is vencord settings

upper pine
#

And the first?

#

Ohh

#

nvm haha

#

Yeah got it

vernal lintel
#

the first one is what you want

upper pine
#

If I add the audio settings in the Settings Store they will also show up in the Vesktop Settings automatically right?

upper pine
# upper pine

Should I even add a new audio settings modal like this then? Or should I simply open the Vesktop settings?

upper pine
#

Okay that's good

vernal lintel
#

you need to write component

#

just have it in the modal, settings are already cluttered enough

upper pine
#

Alright, was just judging by some code I saw for a second

upper pine
#

How can I set some settings to be default true?

vernal lintel
#

.setting !== false

cloud graniteBOT
#
.fmbot user settings - β›§ maiglΓΆckchen

Connected with Last.fm account ungfella. Use /login to change.

Click the dropdown below to change your user settings.

marsh hinge
#

el fembot

upper pine
#

I need the settings in here too, should I just pass them from the parent?

#

(in openScreenSharePicker)

#

Or can I even get the settings in the venmic.ts? Then we wouldn't have to send workaround over the IPC

#

I could also remove the grid now

#

Is no longer needed :)

#

Lol why is the preview so massive

vernal lintel
# upper pine

how in the world do you customise venmic stuff now

upper pine
#

There is a button further down to open the settings

#

The preview is too massive

#

How do I make it smaller lol

#

Was it always that massive before #499???

vernal lintel
#

yes

#

that's why we added the grid

upper pine
#

I will change the "Open Audio Settings" button to look a little nicer

vernal lintel
#

you can make the preview smaller but then you have to add horizontal padding

upper pine
vernal lintel
#

might look weird

upper pine
#

Ok so what do we do now

#

How would it look best

upper pine
#

Or should it be Back

#

I guess back would be better

#

I guess I'll just shrink the preview?

#

I think that's the only sane way

#

Because the grid is too massive now

#

Something like this?

#

Idk

#

The buttons looks weird

#

How do I make it look better 😭

brave tendon
#

i preferred the look of the full-width audio source select with the small link to open venmic settings personally

upper pine
#

But that's too high

#

It will cause scroll

#

Unless I shrink the Preview even further

#

Maybe add the button down here?

#

Or is that too weird?

brave tendon
#

feels out of place there

upper pine
#

Why is design so fucking hard

#

I also though about making it an <a> but that feels too out of place for a settings link

#

Oh

#

Nvm

#

I think I got something

brave tendon
# upper pine

also this doesn't look bad to me except the repetition in the heading and button for audio settings sticks out a little bit

upper pine
#

Not sure where the extra height came from

#

But that works?

simple groveBOT
brave tendon
#

you cooked

upper pine
#

@vernal lintel design approved?

upper pine
brave tendon
#

are those the defaults and are they persistent?

#

actually nvm youre using settings store so yeah they are

upper pine
#

Last one is default off, but yes, they are persistent

upper pine
#

Fuck can I even get the Settings in the venmic.ts

hybrid fjord
upper pine
#

arrpc does it but when I do it in the venmic ts it breaks the build

vernal lintel
#

are you importing from renderer/* in main/*

upper pine
#

Fixed it

#

Yeah had the wrong import lmao

simple groveBOT
#

Discord Account

No response

Motivation

image

Spellcheck, when disabled, is only disabled in the chat window. It is not disabled in other parts of the app. This is an Electron feature.

Solution

https://www.electronjs.org/docs/latest/tutorial/spellchecker/

https://github.com/electron/electron/blob/main/docs/tutorial/spellchecker.md

The solutions seems to be a preference flip. ...

simple groveBOT
#
[Vencord/venmic] New tag created: v6.0.0
hybrid fjord
#

xdd what about 5.0

upper pine
#

I've split one setting up into two, which defies from the old behavior, thus new major version

hybrid fjord
#

ohh nvm i skipped that there was 5.0.0 already

simple groveBOT
#

I've now added a lot of settings that should hopefully improve the audio streaming for people leveraging "mix bussing".
See #621 for more information :)

I hope the new settings are as helpful as I hope them to be, as I could not test this on a real mix bussing setup, however, I tried to simulate to my best ability and took very helpful data from the provided pw-dump ^^

vernal lintel
#

mix bussing 😭

#

sounds gay

upper pine
#

hahahah

simple groveBOT
#

Discord Account

trog_troginson

Operating System

Fedora 40 Workstation

Linux Only ~ Desktop Environment

Gnome On Wayland

What happens when the bug or crash occurs?

Any time totally shutdown and reboot the app discord will state that I must log in again. I must go through the full email / password / 2 FA system every time I start the app. Doing the QR code does not work. I have tried both the flatpak and the RPM versions, currently running the RPM and they both have the s...

upper pine
# simple grove

Doing the QR code does not work.

What the fuck that does not sound related to Vesktop

upper pine
upper pine
simple groveBOT
azure verge
#

woah

#

today was a lot of cooking

upper pine
#

Yes

#

Meal is now done

simple groveBOT
vernal lintel
#

wait thats cool i didnt know that

simple groveBOT
simple groveBOT
upper pine
#

Aye new logo

simple groveBOT
simple groveBOT
simple groveBOT
azure verge
#

wtf happened to the button color

vernal lintel
#

funny discord update

#

brand-experiment -> brand-500

simple groveBOT
upper pine
#

🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸🐐 πŸ”ͺ 🩸 (Nothing to see here)

vernal lintel
#

WHAT

simple groveBOT
simple groveBOT
upper pine
#

🀫

hybrid fjord
vernal lintel
#

this will be fixed right

#

with latest changes

upper pine
#

The latest changes don't add explicit blacklist support but make it possible to select apps so granularly that you might not need an explicit blacklist

#

Shall I add an explicit additional exclude selection too?

hybrid fjord
upper pine
#

Exactly

#

But a blacklist would be useful too

hybrid fjord
#

Or blacklist or button in UI "Pick all" and let user unpick what he doesn't want
Or picking all when user picked "Whole system", dunno

vernal lintel
upper pine
#

True

#

I'll add it

#

Which component should I use for that

#

Should I Just make a Dropdown that lists the current ones and persits them? Or a proper key-value table?

hybrid fjord
vernal lintel
hybrid fjord
#

where then?

#

It's already just in variable

vernal lintel
#

we should introduce some state

#

maybe in localStorage

#

anyway i also wouldn't persist everything

#

like there's little point persisting audio / screen selection

#

but stuff like venmic switches & resolution would be good

hybrid fjord
#

Okay, I need to take a look at this after venmic update merging

hybrid fjord
vernal lintel
#

just the same as whitelist should work, no?

#

one dropdown for include, one for exclude

azure verge
upper pine
upper pine
hybrid fjord
upper pine
#

Idk, any node property that is not name/media.name/pid

#

I'll just keep it simple

hybrid fjord
#

Probably adding excluding by this props would be so complicated and not used by 99% users

upper pine
#

@vernal lintel should I only show exclude when entire desktop is selected?

vernal lintel
#

sounds reasonable

simple groveBOT
hybrid fjord
#

why😭

#

1080 more popular than 1440

simple groveBOT
hybrid fjord
#

best way is on first start propose max display resolution and then just memorize what user picked

simple groveBOT
#

Discord Account

destroyer47

Operating System

Manjaro Linux (KV: 6.6.32-1)

Linux Only ~ Desktop Environment

KDE (X11)

What happens when the bug or crash occurs?

While the share-screen feature works correctly (even better than vanilla client because of linux sound capture), for some odd reason, the stream settings GUI buttons aren't highlighting blue correctly (like the other GUI buttons in discord or vesktop). Instead, the buttons highlight themselves as the same color a...

upper pine
simple groveBOT
simple groveBOT
simple groveBOT
hybrid fjord
upper pine
simple groveBOT
simple groveBOT
#

Current screenshots are too large to be on top, making them a nuisance when trying to scroll down to read about Vesktop's features.

Resizing them doesn't help because they aren't the same size, so it looks a little out-of-place. That's why I put them at the bottom.

What do you think about screenshots on top but with something like "Click to expand"?

Put them in a table

simple groveBOT
#

Current screenshots are too large to be on top, making them a nuisance when trying to scroll down to read about Vesktop's features.
Resizing them doesn't help because they aren't the same size, so it looks a little out-of-place. That's why I put them at the bottom.
What do you think about screenshots on top but with something like "Click to expand"?

Put them in a table

I don't know how to do it. Feel free to contribute to https://github.com/Tiagoquix/Vesktop/tree/main.

simple groveBOT
#

Discord Account

No response

Motivation

Currently, "Audio source" doesn't have any option pre-selected.

Solution

It should be "None" or "Entire System" by default, and this option should be required to start the stream (currently, it is not).

Alternatives

Try to match the selected app for "Audio source", but that would require extra work which I don't think it's necessary. IIRC default Discord client doesn't let you select the audio source, and will stream only the sel...

simple groveBOT
simple groveBOT
upper pine
# hybrid fjord 20 sheeps time?)

🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸 🐐 πŸ”ͺ 🩸

hybrid fjord
#

xddd

upper pine
#

I'm not mixing them

#

I don't

#

They're meant to be goats

#

Both are common animals in ritual sacrifices :P

hybrid fjord
#

we mainly used sheeps

upper pine
#

But I think we already used goats earlier

#

What ever you have at hand

#

Β―_(ツ)_/Β―

azure verge
#

sacrifice!
sacrifice!

#

I need more sheep blood to complete the ritual

#

the ritual to summon....

#

george

upper pine
azure verge
#

:3

#

I'm excited for 621

simple groveBOT
upper pine
#

I think there was a discussion about this further up

#

Which settings explicitly?

#

Quality & FPS?

hybrid fjord
#

I will try to do it after 621 merge

upper pine
hybrid fjord
#

bc you are already working non stop xd

azure verge
#

I've been exhausted and sleeping like all day lmao but damn I wanna get working on volume boosting grr

hybrid fjord
azure verge
#

oh my god I forgot

#

I'll just

#

do that today ig lmao

azure verge
# hybrid fjord Did you take a look at VoiceStateStore?
function g(e) {
            var t, n, i;
            let {context: r, userId: s, volume: a} = e;
            if (s === c.default.getId() || !(0,
            T.shouldReadWriteAudioSettings)())
                return;
            let o = d.default.getRemoteSessionId();
            null != o && C(o, s, r, {
                muted: E.default.isLocalMute(s, r),
                volume: a
            }),
            t = r,
            n = s,
            i = a,
            (0,
            f.updatePendingSettings)(t, n, {
                volume: i
            }),
            O()
        }
#

omfg

#

so this function is weird

#

also

humble mortar
#

@upper pine did you change something about the audio source detection genshin is getting ignored 😒

upper pine
#

Nope

#

Changed nothing

#

Send pw-dump

#

With ignored you mean not shown in the dropdown right?

humble mortar
upper pine
#

then genshin is doing some weird shit

#

probably fixed with #621

#

try that actually

#

Clone my fork and try with Granular Selection

humble mortar
#

alr

#

gimme a second

#

still want the pw dump

vernal lintel
#

how do u run genshin on linux

#

wine?

humble mortar
#

mhy allows wine officially now

#

no risk of ban

rancid tartan
#

im surprised they even bothered

#

do they have more than 3 linux players for some reason

humble mortar
#

theres quite a lot

upper pine
#

I fucking hate CSS

#

Can someone please fucking burn down everything web

#

And rebuild it in a sane fucking way

#

Just take WPF and make it WebStandard

vernal lintel
#

no

#

css is the best

upper pine
#

css is bullshit

#

anchors is the only sane fucking choice

#

Hopefully they'll make it into all browsers soonish

humble mortar
upper pine
#

The Picker, Vesktop itself?

humble mortar
#

Vesktop itself

#

recovers tho

upper pine
#

Any logs?

#

Not sure how it would crash o.O

humble mortar
upper pine
#

Gimme a sec

humble mortar
upper pine
#

Do you get any console logs (not browser)

humble mortar
#

wait true im dumb

hybrid fjord
#

Good thing that you have this bug before sacrifice 20 sheeps and before merging

upper pine
#

Don't see how that's happening

#

Undefined is accepted by venmic

#

That's the issue lol

#

Did you pnpm install?

hybrid fjord
#

xdddd

humble mortar
upper pine
#

Remove node_modules and install again

#

You should have venmic 6.0.0

humble mortar
#

this is so cooked

#

running it again updated venmic

#

works now πŸ’€

#

I literally freshly cloned and pnpm i how was venmic not latest

upper pine
#

idk native deps are weird

#

Fuck my playlist is so ass

#

When you have granular enabled you prob want to pick wine

humble mortar
humble mortar
#

genshin exe shows up now

hybrid fjord
#

Because it's multiple choice

upper pine
humble mortar
#

this obviously means you changed something in other versions of venmic :3

upper pine
#

I'm actually just passing different params to venmic from vesktop :3

upper pine
#

I could actually make a switch to enable multiple apps

#

But that would be too much settings

hybrid fjord
#

Ideal way is actually to improve UX somehow 😭

upper pine
#

I mean it's pretty solid now imo

hybrid fjord
#

Bc if user want to pick one app he should manually close it and idk

upper pine
#

True but how would we satisfy both needs

#

without an addtional toggle?

#

Hold Shit for multiple?

hybrid fjord
#

xdd i dont really know

upper pine
#

but no ones gonna figure that out lmao

azure verge
hybrid fjord
#

xdd

upper pine
#

I meant shift hahahahahahha

#

Brain rot finally got me

hybrid fjord
#

i didn't even noticed ahahah

upper pine
#

hzahahahahahahaha

azure verge
#

i held shit and it didnt let me

#

can i go wash my hands now

upper pine
#

Shit is about to get real

azure verge
#

GHAHAHAHDASGDHASGHAA

#

I SET MY USERNAME AT LIKE 6AM

#

I DIDNT REMEMBER DOING THAT

hybrid fjord
azure verge
#

LMAO

azure verge
#

i was holding it

upper pine
#

REAL

humble mortar
#

ctrl for multiple specific selections and shift for a point to point group selection

azure verge
#

^

humble mortar
#

lmb

#

ctrl lmb

#

shift lmb

azure verge
#

that's standard behavior

humble mortar
#

yep

upper pine
#

Bruh

#

I don't want to implement that lmao

azure verge
#

i doubt its THAT hard smhhhhhhhhhhhh (im joking)

simple groveBOT
#

Discord Account

No response

Motivation

I'm running JACK because it provides better real-time audio performance than PipeWire, and PipeWire causes stability issues for some audio production software.

Solution

JACK support.

Alternatives

Finishing my custom voice engine.

Additional context

I don't know the specifics of the current screen sharing implementation, but maybe a modified version of Electron is requir...

simple groveBOT
#

Discord Account

No response

Motivation

I'm running JACK because it provides better real-time audio performance than PipeWire, and PipeWire causes stability issues for some audio production software.

Solution

JACK support.

Alternatives

Finishing my custom voice engine.

Additional context

I don't know the specifics of the current screen sharing implementation, but maybe a modified version of Electron is requir...

azure verge
#

@upper pine next thing you know someone is going to ask for OSS support

upper pine
#

They already did

azure verge
#

oh

#

my

#

fucking

#

god

#

why

#

just

#

why

vernal lintel
#

honestly if i were you i would just close as not planned xd

#

or tell them to implement it themselves and pr

azure verge
#

real

simple groveBOT
#

πŸ€” Hmmm... I came here because I almost punched my monitor in frustration due to Windows 11 Snap features not working. Hearing that it is working for @Vendicated just a couple weeks ago makes me hope that it might work for me too!

I've posted a lot here, hope it helps. Will try to keep updated and test but I am horrible at following up on the internetz.

Next Steps

  • [ ] Try Canary or PTB Discord Branch
  • [ ] ???
  • [ ] Profit.

πŸ‘‹ Hello

Hoping you can help me, @Vend...

hybrid fjord
#

29.17 bug returned to me😭

next sundial
#

about the widgetlayering (devtools context fix): it was removed from both vesktop and vencord, and now it has returned to vencord. shouldn't it be included back in vesktop then, or does this vencord code apply to vesktop as well?

vernal lintel
#

it is fixed in new chromium versions

azure verge
azure verge
hybrid fjord
azure verge
#

noted

#

ye ill test in a bit when a fren gets out of bed

next sundial
vernal lintel
#

yes

azure verge
#

nothing wrong for me

hybrid fjord
#

I'm unlucky xd

#

And receiving unknown.png from "ur mom" in push notif is funny xd

azure verge
#

HJASHKGJDHKJALHJA

simple groveBOT
#

I looked through the code and it looks like it just uses PulseAudio. PipeWire supports JACK so replacing Pulse with JACK would still support PipeWire. In fact, I suspect it would support it more natively since PipeWire replaces the JACK library, but only re-implements the PulseAudio server.

I can help if needed, I've written JACK applications in C before.

simple groveBOT
#

Discord Account

@CoinKillerL

Operating System

CachyOS Linux

Linux Only ~ Desktop Environment

KDE 6, xwayland

What happens when the bug or crash occurs?

When vesktop is in the system tray (The window is closed), sometimes clicking on vesktop's .desktop file will start a new instance of vesktop.

What is the expected behaviour?

Vesktop creates a new window of the already existing Vesktop instance that's present in the system tray.

How do you recreate this bug or...

azure verge
#

it might be a bit weird tho

#

this is not 60fps

#

i set it to 15

hybrid fjord
#

maybe bug with async changing

azure verge
#

it didnt update

#

yeah

#

most likely

#

you were the one who did that

#

so idk how it works

hybrid fjord
#

its changing in that one setTimeout

simple groveBOT
#

I looked through the code and it looks like it just uses PulseAudio. PipeWire supports JACK so replacing Pulse with JACK would still support PipeWire. In fact, I suspect it would support it more natively since PipeWire replaces the JACK library, but only re-implements the PulseAudio server.

I can help if needed, I've written JACK applications in C before.

PulseAudio is only used to check for the existenc of pipewire-pulse.

The core is completely written with the pipewire-api. S...

hybrid fjord
#

prob need to bigger timeout?

upper pine
azure verge
#

it is entirely pipewire

upper pine
#

Yeah lmao

hybrid fjord
upper pine
#

Yes

azure verge
#

ja

upper pine
#

Ja

#

Jawoll

#

Ich will so high sein wie er/sie/?

azure verge
#

real

simple groveBOT
azure verge
#

stupid question

#

is

#

arRPC

#

still broken

simple groveBOT
simple groveBOT
brave tendon
azure verge
#

idk

#

its rare that a game gets picked up

hybrid fjord
#

1.4 megabyte of fucking one line

marsh hinge
hybrid fjord
marsh hinge
#

beautified would be alot bigger

hybrid fjord
#

Ohh

#

Makes sense for some scenarios

marsh hinge
#

almost double

simple groveBOT
hybrid fjord
#

probably taking this list and adding games manually would be better

vernal lintel
#

i told ducko to do the same for arrpc but they refused

#

maybe we should just fork

azure verge
#

itd be nice to make it something you can add to

#

like desktop discord

#

yk

#

"select running process"

#

and then maybe save user overrides (any changes they made to the default list, not the entire list) to the user settings so they can be uploaded to the cloud if the user so wishes

simple groveBOT
simple groveBOT
simple groveBOT
upper pine
#

not sure which ones were kinda broken but I remember people complaining

#

it's probably due to non matching binaries, we would have to fetch /proc/.../cmdline to get the actual windows binary for wine for example, not sure if arrpc already does that, apologies if it already does

hybrid fjord
#

prob discord already updated it but arrpc not fetched

upper pine
#

maybe

#

if we fork let me write it in C++ lmao

hybrid fjord
#

xdd

#

easier would be just to rewrite

upper pine
hybrid fjord
#

ofc

vernal lintel
upper pine
#

lets fucking go

vernal lintel
#

the current one constantly spawns shell processes

#

well

#

on windows

#

on linux it reads /proc

upper pine
#

Oh that could def be improved

vernal lintel
#

it would be better to use a memory safe language like rust blobcatcozy

upper pine
vernal lintel
#

noppp

hybrid fjord
#

we can safely control memory in C++ too

upper pine
#

You just need to know all the ways to cause undefined behavior

#

Isn't that hard husk

vernal lintel
#

i will convert u to rust noah

upper pine
sly cairn
#

me when EnumProcesses

#
BOOL EnumProcesses(
  [out] DWORD   *lpidProcess,
  [in]  DWORD   cb,
  [out] LPDWORD lpcbNeeded
);

my beloved

upper pine
#

xD

hybrid fjord
vernal lintel
#

but yes make discord_rpc replacement in c++ real

#

well rust would be better

sly cairn
#

discord-rustpc

hybrid fjord
#

venpc

sly cairn
#

discord-r(s)pc

vernal lintel
#

have you ever tried rust noah

#

why dont you like it

upper pine
#

yes

vernal lintel
#

even linus likes it

#

the NSA and FBI want you to use rust over c++

hybrid fjord
#

let's rewrite venmic on rust😭

vernal lintel
upper pine
#

I hate the syntax, fuck unwrap on literally everything, I love C++ too much to switch, templates are ass in rust (they are literally ass in every language except c++), no way I'm going to wrap every single fucking C library to start using it, compiling takes ages, all tech bros love it - so I must hate it

sly cairn
#

you think i was joking

#
trait MyTrait {
   fn compute_value(&self, x : i32) -> i32;
}

cpp!{{
   struct TraitPtr { void *a,*b; };
   class MyClassImpl : public MyClass {
     public:
       TraitPtr m_trait;
       int computeValue(int x) const override {
           return rust!(MCI_computeValue [m_trait : &MyTrait as "TraitPtr", x : i32 as "int"]
               -> i32 as "int" {
               m_trait.compute_value(x)
           });
       }
   }
}}
#

i am not.

vernal lintel
#

what the fuck

upper pine
#

I actually knew this existed

sly cairn
#

very good

upper pine
#

Only sane way to write rust code

sly cairn
#

now please appreciate what my friend made

#
use lua_macro::{lua, lua_eval};

#[cfg(test)]
mod tests;

fn main() {
    println!("hi from rust");
    lua! {
        function say_hi()
            print("and hi from lua!")
        end

        say_hi()
    };

    let a: i32 = lua_eval! {
        2 + 2
    };
    
    println!("{a}");
}
upper pine
#

that's actually pretty cool

sly cairn
#

compile time lua

#

is very fun

#

it does have a couple of uses, buildscripts i can think of can benefit

#

since its a full lua interpreter you can require() stuff

upper pine
#

Alice in Cpp Land

hybrid fjord
upper pine
upper pine
vernal lintel
#

der Bundesnachrichtendienst will dass du c++ benutzt damit du einen memory bug hast und die glΓΌhies dich backdooren kΓΆnnen

upper pine
#

die meisten memory bugs sind in 30 Jahre altem C code, nicht C++ code πŸ‡©πŸ‡ͺ

upper pine
#

The company did not disclose further technical details about the flaw
Would like to know more technical infos

vernal lintel
#

using rust would have prebented this blobcatcozy

#

sorry im gonna stop shilling rust now

#

but i think making it use rust would be better cause i can more easily contribute to that

simple groveBOT
vernal lintel
# simple grove

this sounds like bogus

if anything the processes arnet terminating properly or smth

hybrid fjord
vernal lintel
#

nah thats outside of chromium

upper pine
#

But the whole C++ is bad spiel is prob also because C++ is simply used in so many places and rusts usage is miniscule compared to that, so I expect a lot of Rust related CVEs to popup once it's more widely used

vernal lintel
#

its just that it's spawning (& killing) wmic subprocesses constantly

vernal lintel
upper pine
vernal lintel
#

sure you can have logic errors in rust too but they usually won't be as severe

hybrid fjord
upper pine
vernal lintel
#

if you forget to check array bounds in rust (or any memory safe language, go, js, java, etc), the program will crash
if you forget to check array bounds in c(++), it's arbitary code execution

sour muralBOT
vernal lintel
#

it runs this every 5 seconds

upper pine
upper pine
upper pine
#

It's like driving a car, I could crash into a gas station and make the whole thing explode because I was in such a hurry to get gasoline, or I could be more relaxed and drive into the gas station slowly

#

Best analogy ever made, I know caturtle

upper pine
upper pine
vernal lintel
#

NOP

upper pine
#

why 😭