#πŸ–₯-vesktop-development

1 messages Β· Page 29 of 1

hot juniper
#

its not too late but my brain is Cooked

simple groveBOT
#

Discord Account

No response

Operating System

Arch Linux

Linux Only ~ Desktop Environment

Hyprland

Package Type

AUR Package: vesktop-bin

What happens when the bug or crash occurs?

Since last update, Vesktop has been having low and unstable framerates, in which effects can be observed when viewing gifs (stuttering), on ui animations (unsmooth & stuttering, some animations such as entering/exiting settings are completely gone), and by rapidly flicking cursor throug...

simple groveBOT
small lionBOT
#

@grizzled hemlock, <t:1739324293:R>: get @cookie to fix this

grizzled hemlock
humble mortar
#

cope

woeful current
carmine drum
#

thanks for the auto streamer mode :3

vernal lintel
#

it doesn't even work yet 😭

humble mortar
#

i gave u the right hash 😭

vernal lintel
#

not in production 😭

humble mortar
#

it woudlnt stay forked 😭😭😭

#

and it was like 2 line filter change

azure verge
#

best notification to get from this channel is "sister we're not depending on a fork" ( i didnt see what channel so i thought of the utensil, not programming )

humble mortar
#

i depend on forks to eat

#

omnimbkm

azure verge
#

lame

humble mortar
#

ok hand eater

#

stay hating at my civilized composure

hot juniper
azure verge
#

anyways i eat pizza with the discord fork of electron

hot juniper
#

Double unpleasant

azure verge
#

anyways carry on good developer people i shall go back to my organic chemistry work 😭

vernal lintel
humble mortar
#

???????

#

stop I dont want that

vernal lintel
#

fork in your heart

#

Quick death

#

you won't feel a thing

azure verge
#

oh that's what you meant

humble mortar
#

quick death to save me from this cold

humble mortar
azure verge
#

you disturb me

humble mortar
#

😭😭😭😭

vernal lintel
#

if it's too thin to hold it properly just slightly fold it

azure verge
#

can we shame this user /t

vernal lintel
#

___ -> \_/

humble mortar
#

i woke up from a cold sweat in the middle of the day yesterday and there was food next to me and then I passed out right after

vernal lintel
#

hold it like that

humble mortar
hot juniper
#

,..,,.,.,.,.,

humble mortar
humble mortar
#

@vernal lintel cure me

cyan flame
#

This channel is the weirdest of all the development channels

azure verge
#

good

cyan flame
#

how y’all just so quickly start talking about pizza?

azure verge
#

me, its always me

simple groveBOT
#

Discord Account

iivv_y

Operating System

Debian Trixie

Linux Only ~ Desktop Environment

KDE Plasma on Wayland

Package Type

DEB

What happens when the bug or crash occurs?

Upon getting a ping (either from a DM or a server), Vesktop will hang. New messages will still load, but you can't click on anything or type until you terminate Vesktop and restart it, the menu button in the taskbar is also unresponsive. After clicking on the app a few times, Plasma will give you ...

sudden trout
#

you love missing/fucked notif daemon

simple groveBOT
simple groveBOT
#

Discord Account

No response

Operating System

CachyOS x86_64 (Linux 6.13.3-2-cachyos kernel)

Linux Only ~ Desktop Environment

KDE Wayland

Package Type

Flatpak

What happens when the bug or crash occurs?

Weird colors when screensharing, like screen artifacts and this only affects who watches the stream and not my preview.

What is the expected behaviour?

"Normal colors", 60FPS, any resolution and hardware acceleration working as it should.

How do you re...

velvet mica
#

hi, for consideration: I generated a Vesktop icon based on the original source that better scales to lower resolutions.
the original only has a 256x256 image, although Windows recommends having 16x16, 24x24, 32x32, 48x48 and 256x256 options.

#

think I can PR it later but it's here if anyone can try

humble mortar
#

the Vesktop icon stuff is kinda in weird state rn

velvet mica
#

ok, that works

#

original

humble mortar
#

the hell happened to the tray

humble mortar
velvet mica
#

when you only supply a 256x256 icon, Windows downscales to the lower resolution icons it needs with nearest-neighbour or whatever and destroys quality

#

if you manually downscale properly and include them in the .ico it'll use them

velvet mica
#
diff --git a/package.json b/package.json
index d516ba0..54db29d 100644
--- a/package.json
+++ b/package.json
@@ -183,7 +183,8 @@
                         "arm64"
                     ]
                 }
-            ]
+            ],
+            "icon": "icon.ico"
         },
         "publish": {
             "provider": "github"
diff --git a/src/shared/paths.ts b/src/shared/paths.ts
index a935d82..074938f 100644
--- a/src/shared/paths.ts
+++ b/src/shared/paths.ts
@@ -9,4 +9,4 @@ import { join } from "path";
 export const STATIC_DIR = /* @__PURE__ */ join(__dirname, "..", "..", "static");
 export const VIEW_DIR = /* @__PURE__ */ join(STATIC_DIR, "views");
 export const BADGE_DIR = /* @__PURE__ */ join(STATIC_DIR, "badges");
-export const ICON_PATH = /* @__PURE__ */ join(STATIC_DIR, "icon.png");
+export const ICON_PATH = /* @__PURE__ */ join(STATIC_DIR, process.platform === "win32" ? "icon.ico" : "icon.png");
diff --git a/static/icon.ico b/static/icon.ico
index 1dc9894..3ee9bfb 100644
Binary files a/static/icon.ico and b/static/icon.ico differ
velvet mica
vernal lintel
#

pretty sure other platforms can also consume ico

humble mortar
#

yea electron passes it as an image bytemap on linux for instance

velvet mica
#

mm nice

humble mortar
#

no idea how it'd pick the size tho

velvet mica
#

so just changing to icon.ico is fine?

#

how about on mac

humble mortar
#

actually

#

just make the png smaller

#

no need for it to be an ico

vernal lintel
#

just do ico and we can try

velvet mica
#

kk

velvet mica
vernal lintel
#

yes

#

pretty sure we even use icns on linux and it somehow works

humble mortar
humble mortar
#

so it strips out the 256px image into pixmaps/256/vesktop.png

velvet mica
#

ye,

#

electron-builder takes the png and makes a really bad .ico

vernal lintel
#

the tray icon is good for me on gnome btw

velvet mica
#

windows skill issue

humble mortar
#

storing the desktop icon in static is a bit annoying

vernal lintel
#

why

humble mortar
#

you shouldn't even need the icon when creating the window as electron builder bundles it into the exe as you can see in my icon change pr

vernal lintel
#

you need to speficy icon path for the tray icon

humble mortar
#

yes but then doubling icon stuff is guh

#

wait hold on

#

and the static/icon.png is then useless and should be removed. build/icon.png is also useless but can be left as a reference or smth

humble mortar
#

can make it a symlink if youre feeling fun

velvet mica
#

i have an idea, sec

vernal lintel
#

yeah the build directory isn't super necessary

#

it's just that electron builder automatically picks up files from there

#

and it's the convention

humble mortar
#

well it is necessary if youre not dynamically accessing the icons

#

like the icns and background belong there

velvet mica
#

you can add static/icons to the extraResources

#

just checked

#

and then it'd look like this

humble mortar
#

well yeah,.

#

thats what I was saying 😭

#

also dont do an icon subdir

#

fine as is

velvet mica
#

ye, but then it'll copy everything in static to resources

#

hm, wonder if I can speecify a filename

#

instead of a directory

#

yeah that works, nice

#

committed

austere wolf
#

bruh arrpc leaks memory on windows

humble mortar
#

lmfao

humble mortar
#

it shells out like crazy

austere wolf
#

it leaks processes

humble mortar
#

there was a convo in here a bit ago about how to process scan better

austere wolf
#

after a while you can see like 1000 wmic.exe and cmd.exe in rammap

humble mortar
#

LMAO

#

ok thats hilarious

austere wolf
#

sob

humble mortar
#

ducko forgor to clean them up

austere wolf
#

they're completely invisible in anything else

#

and u can't clean them up in rammap so the only solution is to restart

#

afaik

humble mortar
#

oh insane

#

garbage collector isnt doing its job?

austere wolf
#

idk

#

maybe something's up with the exec

#

either way it still sucks to bomb wmic with queries like that

humble mortar
#

try to swap the spawning method

austere wolf
#

hm?

humble mortar
#

query wmic another way

#

powershell spawning maybe

austere wolf
#

mmmmehhh

#

i should just build and test the funky native one

humble mortar
#

the what

austere wolf
humble mortar
#

ohh

#

i have dementia we've LITERALLY talked about this

austere wolf
#

yes lol

#

at first i was just concerned about cpu usage but now i found it's leaking memory sob

#

neither of which are immediately visible to be vesktop's or arrpc's fault

humble mortar
austere wolf
#

yeah i mean i doubt they're gonna remove it

humble mortar
#

the spiteful microsoft engineer in question:

austere wolf
velvet mica
#

how does the current scanning work

#

wmic process get ProcessID,ExecutablePath /format:csv

#

oh god wtf

austere wolf
#

yep

humble mortar
#

also youll likely want to comment that that pr also fixes a memory leak

austere wolf
#

yea, i do wanna see if it like works tho first lmao

#

it's being a pain

velvet mica
#

ok but why do you need an undocumented api to do this

austere wolf
#

because koffi has natives obviously

velvet mica
#

most people don't use them

austere wolf
#

it's two birds with one stone, it also can't currently detect games that run as admin

#

im not super well-versed so maybe there's a better documented solution, but i trust pr guy

velvet mica
#

oh, the existing APIs only detect Administrator apps when you run as Administrator, right?

austere wolf
#

ye

austere wolf
#

where do i put esbuild arguments

#

or how do i fix the dam

#

No loader is configured for ".node" files

#

i see venmic is manually copied but how does it not explode esbuild

austere wolf
#

man i hate learning build setups

#

literally so lame

#

yap

#

we could and almost make your lives a lot easier, but we don't

#

very cool

velvet mica
#

of course it is perfectly reasonable to dump the pnpm folder on the root of my disk :^)

#

that's really weird

austere wolf
#

lol you need admin to build vesktop on windows

#

so silly

#

im going to fry

#

it's due to my changes wahhh

austere wolf
#

it was upset about like symbolic link or something

#

maybe it was still my changes lmao

#

man i did not know native deps were gonna be this annoying

simple groveBOT
hot juniper
#

windows doesnt let you make relative links without admin

#

by default

simple groveBOT
velvet mica
simple groveBOT
simple groveBOT
#

Discord Account

.hueeey.

Operating System

Windows 11

Linux Only ~ Desktop Environment

No response

Package Type

Exe

What happens when the bug or crash occurs?

I'm not very sure how this happen, but if I open Vesktop for a period (not very long, about 2 hours,) it becomes super laggy, with a half-second interaction delay, even when just typing text.

Restarting the app immediately fix the issue, but it's quite annoying to constantly restarting tho...

What i...

simple groveBOT
humble mortar
#

KDEs shortcut system can't handle mouse buttons

#

but it can detect them just fine so likkeee πŸ’€

#

(there is a mouse button rebind menu)

simple groveBOT
simple groveBOT
#

seems like a gpu issue. try disabling hardware acceleration in vesktop settings

I have the same issue, disabling hardware acceleration did not change anything. I'm on Arch Linux and have tried reinstalling vesktop multiple times, both through the AUR and the official AppImage. I also tried resetting vesktop, which did nothing to fix the bug. I'm not sure if it is actually a hardware issue, but I am using integrated Intel Arc graphics, on a Dell Inspiron 16 Plus. I also noticed that this bu...

grizzled hemlock
#

@humble mortar my vesktop is freezing randomly

#

fix

humble mortar
#

i have no control over that 😭😭😭

#

chromium def had a regression tho

#

(showing and hiding the window was delayed)

#

try bumping your electron version

simple groveBOT
#

Hey! Great patch. Works (almost) flawlessly on Arch Linux using Hyprland.
One issue. The global keybinds aren't exposed until you open the keybind settings window in Vencord.
To reproduce:

  1. Open Vencord
  2. ❯ hyprctl globalshortcuts
    none
  3. Open keybind settings in Vencord
  4. ❯ hyprctl globalshortcuts
    :1 -> Push To Talk
    :2 -> Push To Talk (Priority)
    :3 -> Push To Mute
    :4 -> Toggle Mute
    :5 -> Toggle Deafen
    :6 -> Toggle Voice Activity Mode
    :7 -> Toggle Streamer Mode
    :8 -> Naviga...
humble mortar
#

'Open Vencord'
'in Vencord'

#

gonna snap

woeful current
humble mortar
#

elon husk

simple groveBOT
#

The global keybinds aren't exposed until you open the keybind settings window in Vencord.

that's intentional. i only tested this on kde which actually opens the keybinds settings page when the register function is called. so i figured it would be better in terms of UX to do it like that.

i'm curious tho do you have to open the keybinds page every time on hyprland for it to work? or is it just the first time? on kde it saves them after the first time.

hybrid fjord
humble mortar
#

nah vesktop resolution code expects 16:9

azure verge
#

i dont know about camera, but streaming doesn't have an expected res, no?

#

unless i completely forgot the code we wrote

azure verge
sour muralBOT
azure verge
#

ohhhh

#

yk that's not good practice ngl

#

😭

#

(my webcam isnt even 16/9, and i stream non-widescreen stuff sometimes)

#

though solving that seems like a headache and a half

humble mortar
#

hm

#

i stream in 21:9 sometimes and it works

azure verge
#

yeah i haven't had issues with that, though i cant really tell because my bitrate doesn't increase much as of recently, and for the past few months every stream has been a glitchy black mess

#

ive been waiting until spring break when i have more time to try to debug that and open an issue lmao

#

i assumed it was arch but it also happens on fedora kde so shrug

humble mortar
#

ive experimented with the glitchy/non loading and it seems that sending hardware encoded video is the cause

azure verge
#

REALLY???

#

W O A

#

that's a WILD reason

humble mortar
#

like last I tried I could stream, not have it load for my friend on macos then restart with the disable encoding flag and it'd load πŸ˜ƒ

azure verge
#

that's really weird

#

i wonder what could be causing that?

humble mortar
#

it always loads locally with no glitiness though

#

super strange

azure verge
#

video standards are video standards so i'd assume hw encoded or not it'd still be the same codec

azure verge
#

YES

#

omg

#

let me test without hw accel

humble mortar
azure verge
#

of fucking course they do
but still i mean

#

isnt h264, well, h264

#

maybe it encodes in a different container or smthn?

humble mortar
#

idk 😭😭

azure verge
#

that's really weird and honestly
kinda piques my interest

humble mortar
#

oh and this is all reproducible in pure chromium

#

soooooo

azure verge
#

id say chromium bug but
what if its a discord webrtc bug 😭

humble mortar
#

my theory is chromium made or pulled a change from webrtc that discord hasn't pulled in and explod

azure verge
#

oh my god that makes a lot of sense

#

welppppppp software encoded streams for me it is

#

i wonder if that fixes my bitrate issues

humble mortar
#

smile

azure verge
#

my client wasn't LOCKED at low bitrate
it just... didnt ever wanna jump much higher than a few hundred for a few seconds at a time

#

was weird as hell

#

i was gonna open an issue soon but huh wacky

humble mortar
azure verge
#

oh god yeah

humble mortar
#

wait what liscence is webrtc

#

can we make them release their patches on webrtc

azure verge
#

well i didn't expect this to become the support channel for me just now but im glad it did LMFAO
in all honesty tho i am curious as to what caused this fuckery

azure verge
humble mortar
#

BSD-3-Clause

azure verge
#

o

humble mortar
#

foiled

azure verge
#

can they say no to an icbm (intercontinental blahaj missile)

#

yup

#

can confirm

#

turning off hw accel

#

fixed it

#

it stayed quite stable lmao

humble mortar
#

dont even turn off hw accel just pass the disable accelerated video encode flag

azure verge
#

well i can

#

turn off stream hw accel without turning off uhh
client hw accel

#

voice & video > hw accel

#

that's all that option does anyways

#

it just changes the flag

#

iirc

simple groveBOT
oblique egret
hot juniper
simple groveBOT
#

A potential bug is that the bindings are registered even when not in a call as long as vesktop is open.
This interacts poorly with, for example, mumble, which will no longer have those keys working for its own binds as long as vesktop is open, then works again once vesktop is closed.
Is it possible to only trigger/register (not sure on the exact mechanism here) them while in a call, or potentially allow them to bubble up ?

humble mortar
#

like be fr all software is like that

#

I'm gonna crash out in github comments one of these days

simple groveBOT
#

The global keybinds aren't exposed until you open the keybind settings window in Vencord.

that's intentional. i only tested this on kde which actually opens the keybinds settings page when the register function is called. so i figured it would be better in terms of UX to do it like that.

i'm curious tho do you have to open the keybinds page every time on hyprland for it to work? or is it just the first time? on kde it saves them after the first time.

Yes, I have to open i...

humble mortar
# simple grove

@floral ledge isnt that cause theyre not launching with the scope wrapper

#

@scenic hollow in the comment where they listed the shortcuts you can see theres no id on the leading side of the colons

simple groveBOT
#

Discord Account

rad0stin

Operating System

Windows 11

Linux Only ~ Desktop Environment

No response

Package Type

Setup exe

What happens when the bug or crash occurs?

When someone sends me an invite to a game of osu! (or probably any other game that supports invites on Discord), the expected button is simply not there and says I need to 'download Discord'. When clicking it I think it sent me to https://support.discord.com/hc/en-us/articles/115001557452-Game-Invites...

next sundial
#

any news regarding h265 flags?

#

btw, could I have a color in my name pls? :D

simple groveBOT
#

Discord Account

khatharsis

Operating System

Manjaro Linux 6.12

Linux Only ~ Desktop Environment

KDE Plasma

Package Type

AUR

What happens when the bug or crash occurs?

When I want to screen share, I click on the button, then cancel (by clicking the cross on the menu that pops up), Vesktop crashes. I've tried all the AUR packages.

Not only that, but the screen sharing is also buggy: according to my friends, it's all green and messy, and not working properly.

W...

azure verge
#

what the FUCK discord (this isnt an issue for anyone else, right???)

simple groveBOT
scenic hollow
azure verge
hybrid fjord
#

Discord web moment

#

I don't really believe we can do something about that bitrate issue as long as it's reproducible even in browsers

humble mortar
humble mortar
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
austere wolf
#

wait so where do the natives go

#

resources.pak? or directly in the executable?

simple groveBOT
#

Discord Account

meliodas_w338

Operating System

Linux

Linux Only ~ Desktop Environment

Hyprland kde

Package Type

AUR

What happens when the bug or crash occurs?

when ever i copy a link from a web or message and try to paste it in vesktop it doesn't paste iv'e updated it and rebooted but nothing works

What is the expected behaviour?

I'm supposed to paste links from a web into vesktop and send it

How do you recreate this bug or crash?

Just opening the app...

simple groveBOT
grizzled hemlock
silk elkBOT
vernal lintel
#

peak

austere wolf
#

should have sent this gif instead

simple groveBOT
austere wolf
#

that’s what alt+f4 is for

woeful current
vocal fernBOT
hot juniper
austere wolf
#

it's real asf

simple groveBOT
simple groveBOT
simple groveBOT
scenic hollow
#

woah more implmentation bugs to find

simple groveBOT
#

Discord Account

No response

Operating System

Nobara 41

Linux Only ~ Desktop Environment

KDE/Wayland

Package Type

AppImage

What happens when the bug or crash occurs?

When I click on the vencord has been updated notification to restart or when I right click on the vesktop tray icon and choose restart, it will throw this error:

Image
(sometimes 2 times, sometimes more)

and then th...

simple groveBOT
woeful current
#

finally

humble mortar
#

thats an option to enable it on the de level

#

its always been chromium doing the pasting

humble mortar
scenic hollow
#

i didn't say fix (also we fixed the session token thing blobcatcozy )

humble mortar
#

true :3

simple groveBOT
humble mortar
#

i think I found an xdg-desktop-portal bug

#

chromium spawns itself in a systemd scope (doesntly rely on the desktop to do it)

#

but the portal doesnt pull that for the app_id

#

πŸ˜ƒ

#

seems to only pull .service for it

#

despite the spec saying .scope is valid too

simple groveBOT
#

Discord Account

No response

Operating System

Fedora 41

Linux Only ~ Desktop Environment

KDE Plasma 6.3.1 on Wayland

Package Type

Flatpak

What happens when the bug or crash occurs?

When uploading a file through the desktop portal, the entire DE freezes and a restart is required. This issue is exclusive to Vesktop, tested the file picker on de Kdenlive Flatpak and it works fine.

What is the expected behaviour?

I expect Vesktop's file upload to not crash my D...

grizzled hemlock
#

ctrl-w should not close as its not a tab

simple groveBOT
#

Discord Account

No response

Operating System

Void Linux

Linux Only ~ Desktop Environment

River

Package Type

Flatpak

What happens when the bug or crash occurs?

When I go to screenshare I can stream my screen but can't stream my audio as there are no audio sources to pick from. I tested it on multiple distros, Alpine, Void and Artix. All of them don't use systemd. I think that it most likely related to elogind. When I use it on Artix (with elogind) it works, witho...

#

✍️ Bug Description

When I go to screenshare I can stream my screen but can't stream my audio from the Vesktop flatpak as there are no audio sources to pick from. I tested it on multiple distros, Alpine, Void and Artix. All of them don't use systemd. I think that it most likely related to elogind. When I use it on Artix (with elogind) it works, without it it simply refuses to show any sources. But like systemd/elogind should theoretically have nothing to do with audio. And yes, I have Pip...

simple groveBOT
simple groveBOT
humble mortar
# simple grove

i'd be surprised if the regression ever made its way to fedora

#

it was found and patched pretty quick on arch

#

but the freezing of the entire system fits it pretty well

azure verge
#

so i doubt it

simple groveBOT
#

This is very probably not related to Vesktop nor KDE Plasma, but FUSE on Kernel 6.13 (recently released on Fedora), used by Flatpak. I also use Fedora, this can also happen in other Flatpak apps. I suggest you to use Kernel 6.12 while we wait this to be fixed (you can select an older version of the Kernel on GRUB).

Additional info:

azure verge
#

i- what

#

fedora is on 6.12 though???

#

APPARENTLY NOT AS OF TODAY 😭

#

nnnot doing that 😭

humble mortar
#

fordora pushed a known bugged kernel..,,

#

fedora so stable..,,

azure verge
#

oml

#

hmm.. ive also found out that my bitrate issues only occur when streaming above 720p60
if i stream @ 720p60 it stays around 6k kbps
but 1080p60 drops to ~30 kbps

austere wolf
#

guys when will canadahonk come back prayge

azure verge
#

yes

#

basic tho

humble mortar
#

oh

humble mortar
azure verge
#

but not framerate apparently

austere wolf
#

or maybe i should join some electron server and ask how to bundle natives

azure verge
#

and SOMETIMES the 1080p60 streams are fine??

#

im very confused lol

#

ill keep documenting what i find tho

austere wolf
#

what if your isp is kneecapping you

azure verge
#

has nothing to do with my isp

austere wolf
#

do u do constant uploads any other time?

azure verge
#

sigh yes

#

also i can quite easily tell the difference between my isp chokeholding me and discord fuckery

#

for example, i can be uploading at quite a good speed while streaming and both are good
then the stream will randomly die
so i stop uploading
nothing changes
so i upload again
same high speed

#
  • im on uni wifi rn but this didn't start until a few weeks ago
#

same-ish time as discord fixed linux streaming

austere wolf
#

oka oka fair enough

azure verge
#

so i assume they changed something on their servers for stream handling

#

i could be very wrong tho

humble mortar
#

maybe theyre finally doing server side checks

azure verge
#

yeah that was my initial guess

#

but uhh

azure verge
humble mortar
#

partial rollout on their servers?

azure verge
#

possibly?

austere wolf
#

i still have truly no idea how vesktop's build works

#

is it using electron-builder THROUGH esbuild?

#

if so like how

#

ohh wait i see

#

so pnpm build is build.mts and it's just doing a simple electron-builder . for packaging

simple groveBOT
austere wolf
#

i may be stupid

simple groveBOT
austere wolf
#

can u run vesktop without compiling to a garbled mess

#

or like get dev symbols or whatnot

#

my stack trace be like

at fileURLToPath (node:internal/url:1487:11)
    at VCDMain:10:14946
    at VCDMain:1:225
    at VCDMain:10:16167
    at VCDMain:1:225
    at VCDMain:10:19212
    at VCDMain:1:225
    at VCDMain:14:5589
    at VCDMain:1:225
    at VCDMain:22:3000
vernal lintel
#

there are sourcemaps

#

even release builds have sourcemaps iirc

#

just make sure that javascript sourcemaps are enabled

austere wolf
#

hmm

#

it does throw during load, idk if that makes a difference

#

but where would sourcemaps be enabled

vernal lintel
#

oh you're in main

#

use pnpm start:dev

#

should give you sourcemaps in main too

austere wolf
#

oh okay

#

yay

vernal lintel
#

worked?

austere wolf
#

hmm no line numbers for the mapped sources, is that normal?

#

i can sorta find it but a lil more difficult

#

why is it building to this...

#

oh

#

how did this ever work

#

man __dirname already exists

#

oh it's wrong

#

so cool and chill

#

how does this work on main

#

it specifically uses iife which doesn't work

vernal lintel
austere wolf
#

oh my god

vernal lintel
#

the patch didn't apply for you which means you didn't build properly

#

you likely installed with npm instead of pnpm or smth

austere wolf
#

i used pnpm

#

the only thing i did differently was not use frozen lockfile because im changing out arrpc

#

when does it apply?

vernal lintel
#

because i'm changing out arrpc
there's your problem

#

you likely need to update the patch or are installing it wrong

austere wolf
#

this sure is a solution

#

you can use esbuild's inject instead of patching it manually

#

supposedly

vernal lintel
#

no

#

that readFileSync straight up cannot work because there is no such file at runtime when it's bundled

austere wolf
austere wolf
#

ok idk how to make the patch work but the arrpc PR works once you get over all the hurdles

#

it also may or may not bloat vesktop's size by 60mb butttttttt

#

(there's probably a way to only copy the windows koffi natives)

#

(i could also potentially create a windows C++ native as part of venmic or something, but Despairge )

austere wolf
#

the arrpc patch

humble mortar
#

which

austere wolf
#

lowkey fucked up but it's chill

humble mortar
#

are you applying it on mainline

austere wolf
#

whar?

humble mortar
#

is the patch failing

austere wolf
#

maybe, idk

#

should it show an error?

#

im using the pnpm build commands

humble mortar
#

just check node_modules arrpc

#

see if the the change is there

austere wolf
#

yeah that just has the normal file, no change

#

otherwise it wouldn't have crashed on me lol

humble mortar
#

then whatever youre doing is fucking up the patch

#

are you on mainline arrpc

austere wolf
#

im not touching index.js :(

#

uhh im on liek a few commits back i think

#

nvm it is up to date

humble mortar
#

try to manually git apply

austere wolf
#

real

#

like unironic real

#

rejects it but idk why

humble mortar
#

apply with -3 to have it do the apply conflict thing

#

your shit is fucked up if youre on mainline commit and its not applying

austere wolf
#

oh wait it works

#

ohh pnpm has a utility for generating the patches

#

i thought the patch was manually generated sob

vernal lintel
#

yes 😭

#

you just run a command, it creates a folder, you edit the files you want in that folder, then run another command and done

humble mortar
#

IT DOES???

austere wolf
#

wild shit

vernal lintel
humble mortar
#

IVE BEEN MANHALLY DIFFING

austere wolf
#

lmao

humble mortar
#

all the prs where I make changes to it ..,,

austere wolf
humble mortar
#

insane

austere wolf
#

ok generating the patch doesn't work

#

very awesome

#

oh nvm ok

#

it patches on install, not build

#

huge, i can actually iterate on arrpc then

#

by the way i suspect that just removing the @x.y.z from the patch works, if you're using a local arrpc repo

#

just for anyone unfortunate enough to stumble on this too

next sundial
#

hey any news regarding h.265 playback support on linux?

vernal lintel
#

what news would there be

#

you pass the flags and it works

next sundial
#

yes but

#

the intention is to make the necessary flags the default for everyone on linux

#

maybe upstream could take a look at this?

austere wolf
#

(mostly because i don’t want to make a c++ platform agnostic build system for a windows binary)

hot juniper
#

not confident about that though

grizzled hemlock
#

i feel like vesktop should inject its version here

#

@humble mortar thoughts

cyan flame
iron cedar
cyan flame
grizzled hemlock
#

are either of you on a dev build?

cyan flame
iron cedar
#

nope

grizzled hemlock
#

i wonder if its overwritten by a vencord dev build

hot juniper
#

it is

#

i just checked

grizzled hemlock
#

love

sour muralBOT
grizzled hemlock
#

ill pr a fix for that sometime

#

not that important

hot juniper
#

maybe we could make this an array that's pushed to?

#

or vesktop should be made a distinct thing from vencord here

#

does supporthelper use this?

grizzled hemlock
grizzled hemlock
hot juniper
#

Husk

grizzled hemlock
hot juniper
#

insane

humble mortar
#

didnt bother finishing it

woeful current
humble mortar
#

all their native module does is expose process scanning and websockets and IPC

#

we do that and hook their module loader and we won't have to deal with the bazillion transport edge cases

simple groveBOT
austere wolf
austere wolf
#

hm oka

#

is there any like notes or documentation on it anywhere?

#

or would you like uhh look at disc desktop sources and try to figure it out

humble mortar
#

youll have to read the native modules and asar

austere wolf
#

i may be stupid but how do i find those things bombcatcozy

oblique egret
#

NAPI is based

#

its hell to work with, but its mega based

#

no android support
ggz

austere wolf
#

actually nah im just gonna improve arrpc without discord's rpc module

#

that makes the most sense

#

right now at least

scenic hollow
austere wolf
#

yay

#

lowkey why are subpackages so unbelievably annoying

#

i can probably do it without one but like it's gonna pollute the main source directory so much

humble mortar
#

what are you trying to do

austere wolf
#

use some rust code and have it compile into a binary as a dependency in the arrpc project

#

and use that binary from the arrpc without too much headache when you update the rust code

#

napi-rs looks decent but it depends on fucking yarn for some reason

#

oh it doesn't support windows arm, well fuck them anyway

#

i could prolly just use node-bindgen and do all the somewhat silly stuff myself

humble mortar
#

what are you writing in rust for arrpc...

austere wolf
#

windows process detection

#

fixing wmic leaks and detecting admin games

#

possible using koffi but koffi is like 60mb

humble mortar
#

isnt there a pr that does that already

#

why are you rewriting it in rust

#

so pointless

#

..,

austere wolf
#

because koffi is 60mb buh

#

if we're fine with vesktop gaining 60mb in a single push then whatever i guess

humble mortar
#

there are def alternatives to koffi

austere wolf
#

are they not going to be the same size

humble mortar
#

no?

austere wolf
#

hm

#

guess i didn't look into it too much

#

you have something in mind?

humble mortar
#

how do I view dep size on npm

#

gorb

austere wolf
#

idk

humble mortar
#

where did you get the 60mb number

humble mortar
#

40kb vs 70mb unpacked

#

70mb is koffi ofc

#

oh it was literally published 9 days ago

#

lol

austere wolf
#

i see

#

basically just doing it on the js side instead of the rust side

humble mortar
#

yeah I doubt ducko would accept an in tree native module

#

overhead and all

#

let dedicated libs do that

humble mortar
humble mortar
#

yea it is. prob better to focus on doing rpc as arrpc process scanning is good enough

austere wolf
#

right

#

i’ll look for funsies

#

how would vesktop get this module?

#

i assume we can’t rehost it?

humble mortar
#

rewrite it or fetch from whichever endpoint the discord desktop client does

austere wolf
#

oh right modern installers be like

#

0 megabytes (download everything later)

humble mortar
#

discord desktop fetches it at runtime in the startup check

austere wolf
#

oh wow

#

fair enough

humble mortar
#

thats what the entire modules dir is

#

rewriting and bundling into vesktop seems like the best option anyway

#

anyway this REALLY isnt high priority

#

you should prob look into the koffi->ffi-rs stuff for arrpc first

#

memory leak and all

vernal lintel
#

using discord native modules defeats the entire point of vesktop

#

and we likely can't do that for legal reasons

austere wolf
#

rewite in rust blobcatcozystars

#

i am curious if that’s legal tho

#

it probably is but i agree that it defeats part of the purpose

humble mortar
#

rewriting the module and patching the loader is completely fine

#

doing RPC as a native module/rust is entirely pointless though

#

as websockets and IPC are completely fine in js/ts

austere wolf
#

ok what's rpc

#

i just refer to discord detecting game running = rpc

#

which is the only part i'd be writing in rust

humble mortar
#

process detection is part of game utils

#

RPC is websockets and IPC

humble mortar
humble mortar
#

apps can report game presence status which sorta looks like process detection

humble mortar
#

(not entirely well but..)

austere wolf
#

ok but you want me to write the koffi stuff in rs tho

#

that's what i mean

#

idk what else there is to it lmao

#

i wouldn't be touching anything else

humble mortar
#

i said take a look at alternative libs to koffi as I assume ducko wouldn't accept a native module in tree

#

then I linked the ffi-rs lib as a place to start

#

porting the koffi pr to it should be easy peasy

austere wolf
#

im still so confused because im still generating a native module with ffi-rs

#

ig it's not a .node? is that what you mean?

austere wolf
#

yes

humble mortar
#

I'm talking about an in tree module that would be maintained as part of arrpc

austere wolf
#

ya

#

that's bad?

humble mortar
#

its sorta out of scope of what arrpc is at the moment

#

the koffi pr is fine and works(I assume) but as you said bloats the binary size (how did you test this?) so the first step is to try other libs (ffi-rs)

austere wolf
#

i didn't really test it but i assume all the native modules present in koffi get copied to the build somehow

humble mortar
#

GUH

#

πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ€―πŸ˜ƒπŸ˜ƒπŸ˜ƒπŸ€‘πŸ€‘πŸ˜ͺπŸ˜ͺ

austere wolf
#

it does work

#

i tested that it works

#

i didn't test the size stuff explicitly

humble mortar
#

GUHH

#

actually check 😭

austere wolf
#

buh buh

humble mortar
#

it should only use the modules for the platform

austere wolf
#

that would be cool

humble mortar
#

it does 😭

austere wolf
#

lol

humble mortar
#

omg just try

#

youre making your life so hard

austere wolf
#

cuz removing all my changes is hard tear emoji

#

i'll just reclone the repo

humble mortar
#

??

#

git stash

austere wolf
#

i have to like run pnpm i again and what if something explodes

#

or doesn't get cleaned up

humble mortar
#

where are you making your changes 😭

#

actually what ARE you doing

austere wolf
#

om

#

it's all in tracked files i swear

#

it's just annoying asf because i have to reference a local arrpc

humble mortar
#

gorp just edit package.json

austere wolf
#

so basically

humble mortar
#

??

#

why are you copying koffi into vesktop

#

its part of arrpc

austere wolf
#

arrpc doesn't build

#

it's just there

humble mortar
#

huh?ΒΏ

austere wolf
#

and packaging koffi was a pain

#

was all like

#

"no loader configured for .node files"

humble mortar
#

why are you doing all that

#

pnpm I will pull all of arrpcs deps

austere wolf
#

or will it

humble mortar
#

and when vesktop builds it'll bundle it

humble mortar
austere wolf
#

ok ima stash this file and see what hapen

#

it died :(

humble mortar
#

you have to be doing something so cooked

austere wolf
#

i'll try with just loader node copy

humble mortar
#

guhh

#

ok when clion is done indexing I'll take a look at thjs

austere wolf
#

ok loader node copy seems to work i think

#

the manual copies probably aren't necessary

#

silly me

#

false alarm guys, no need for rust

humble mortar
#

show me what you've done

austere wolf
#

uhmm not much

#

and doing this

#

the only other thing i really had to do was remove the @3.5.0 from the arrpc .patch file

#

i think

#

if that doesn't work then just re-generate the patch

humble mortar
#

does that copy all .node files?

austere wolf
#

i assume so

#

i think you can define a custom loader? idk

humble mortar
#

hm

austere wolf
#

awesome issue thread full of clueless people all with the same issue

#

i wish esbuild just did it for you

vernal lintel
#

we're not using that library 😭

#

that's awful man

austere wolf
#

koffi?

#

it's the quickest solution

vernal lintel
#

but the right approach would be to copy them manually with the build script the same way we copy venmic binaries

vernal lintel
austere wolf
#

how do u tell esbuild to ignore

#

and not freak out

humble mortar
#

can loader take globs

austere wolf
#

nu

vernal lintel
austere wolf
#

i tried

vernal lintel
#

clearly didn't try hard enough

austere wolf
#

putting arrpc in optionalDeps didn't work

vernal lintel
humble mortar
vernal lintel
#

venmic is in optional dependencies because it only supports linux

austere wolf
#

buh

vernal lintel
#

so install is skipped on windows and mac without error

austere wolf
#

so i have to put koffi in optional deps in arrpc

humble mortar
#

no

austere wolf
#

well no because it'll still try to load .nodes

vernal lintel
#

if it's windows only yes

#

otherwise no

#

anyway that thing is never getting merged

humble mortar
#

arrpc pulls in koffi

austere wolf
#

probably won't move out of windows only

#

what is a desireable solution

#

there's ps-list on npm

#

can't detect admin games tho

humble mortar
austere wolf
#

yes

#

and using wmic how it's currently being used causes a memory leak

vernal lintel
#

yes and adding an extremely bloated library that supports the entire api is stupid

#

if native is the desired approach, make a minimal native library that only has the necessary functionality

humble mortar
#

theres other alternatives

austere wolf
#

oka but that's like a lot of setup

humble mortar
#

but getting the native module loading and working is the main issue

austere wolf
#

lot more stuff to maintain

vernal lintel
austere wolf
#

bop

humble mortar
#

arrpc pulls in the dep that has the native module then gets bundled

#

so stupid that esbuild cant handle that

austere wolf
#

do we really want another venmic anyway

vernal lintel
#

you can make a simple esbuild plugin or use inject

#

vesktop already has an import alias plugin, that's how importing from @vencord/types/* works

austere wolf
#

yeah i did try the plugin thing but it's so annoying

#

whatever, if koffi isn't on the table then it's not really worth discussing

humble mortar
#

theres other libraries 😭😭😭😭😭😭😭

austere wolf
#

ig

humble mortar
#

ffi-rs is tiny and from the examples it seems like it supports all arrpc needs

austere wolf
#

ffi-rs seems confusing but i'll just do C to keep to their examples

#

using wsl to generate a windows binary blobhuskcozy

#

i hate C

humble mortar
#

guh why

austere wolf
#

idfk

#

because the other options are like

#

whatever

#

msvc and shit

#

idk whatever

humble mortar
#

no why are u writing c

austere wolf
#

ok ok ok i'll try rust but all their examples are in C

#

im predicting this is gonna be a massive pain to figure out

humble mortar
#

??

austere wolf
#

(i don't do ffi)

humble mortar
#

use its provided js bindings what are you doing πŸ’€πŸ’€πŸ’€

austere wolf
#

tfym

#

you need a dynamic library for it

#

it just skips the whole package.json stuff and .node file stuff

#

oh you mean like

#

load win api as a dynlib

#

im a little stupid

humble mortar
#

just port the koffi arrpc pr to ffi-rs

austere wolf
#

it doesn't support pointer-width number types blobhuskcozy

#

whatever screw 32-bit users

humble mortar
#

horror

austere wolf
#

btw this library kinda sucks lol

#

awesome invalid parameter

humble mortar
#

lmao

#

winapi so insane

austere wolf
#

this shit lets you just put in whatever

#

how does that even work

simple groveBOT
humble mortar
#

@azure verge

azure verge
#

hm

#

guess im reading the code for that stuff again

#

WAIT now im

#

huh

#

it DOESNT

#

it checks full app accel

vernal lintel
#

no i dont think that switch does anything lol

azure verge
#

well that should definitely be fixed at some point 😭 (i might if i finish my current project)

humble mortar
#

??? did discord not desktop gate that switch??

#

its available in pure web

#

insane

#

ok yeah just tested

#

does nothing

#

gorbb...,,

austere wolf
#

this library sucks so much

azure verge
#

it exists

#

in pure web

#

and does

#

absolutely nothing????

austere wolf
#

ffi-rs is so tiny tho how did they do it fr

#

oh

#

because it's a bunch of different packages

simple groveBOT
humble mortar
vernal lintel
#

bro thinks they give a shit about web

#

did you forget that they make random context menus unavailable on web for no fucking reason?

humble mortar
#

visual refresh still looks like ass on web πŸ”₯

vernal lintel
#

I had to make an entire plugin to patch them back in

humble mortar
#

gorp..

austere wolf
#

segfaulting the interpreter now blobcatcozy

vernal lintel
#

you love

humble mortar
#

i dont even use discord much

vernal lintel
humble mortar
#

why am I even here

austere wolf
#

idk

humble mortar
#

hellscape

#

@vernal lintel my computer has been running clion for like 6 hours indexing electron project so I can Pr linux accent and drop libunity dep requirements..,,,

#

indexing so slow..,,

austere wolf
#

ffi-napi seems better

#

pointers and such were an afterthought in ffi-rs

#

it's great if you don't have to use those

#

butttttti do

#

bwomp :(

humble mortar
#

points at you.. @worn harness

worn harness
#

hiii

austere wolf
#

hey vro

worn harness
#

@humble mortar your pc will shut off and have to start indexing all over again

humble mortar
#

ITS ALMOST DONE

worn harness
#

here it comes

oblique egret
austere wolf
#

wtf

#

ughhh

#

ffi-napi is goated but it was abandoned and it doesn't work anymore

#

it's so unbelievably smooth compared to the alternatives

#

frying rn

#

ffi-rs be like "No need to use ref to handle pointer 🀫" when that was literally WHY i tried out ffi-napi sob

simple groveBOT
hot juniper
hot juniper
#

i dont use this code anymore fyi

#

it is probably busted by discord updates

simple groveBOT
simple groveBOT
#

Discord Account

No response

Operating System

Debian 12

Linux Only ~ Desktop Environment

KDE Plasma on X11

Package Type

Flatpak

What happens when the bug or crash occurs?

Crashes when I start up and try to use Vesktop in KDE Plasma only; does not appear to affect any other desktop environment
Console launch does not seem to report any notable error; when this crash first appeared somewhere in 2024, a console launch reported a FD access violation when the crash oc...

simple groveBOT
#

Discord Account

Sinner#9703

Operating System

Arch Linux 6.13.4-arch1-1

Linux Only ~ Desktop Environment

KDE Plasma Wayland

Package Type

Flatpak 1:1.16.0-1

What happens when the bug or crash occurs?

The bug happen during the entire application runtime.

What is the expected behaviour?

I expect the discord sounds (voice enter, message notifications, screen share activations, ...) to sound normal. This bug happen only recently because sounds a week ago was norma...

simple groveBOT
#

Discord Account

No response

Operating System

Fedora Asahi Linux

Linux Only ~ Desktop Environment

KDE

Package Type

flatpak

What happens when the bug or crash occurs?

when launching without arguments (or with the --disable-gpu argument), the app will crash a few seconds after start. this is similar behaviour to https://github.com/signalflatpak/signal/issues/31 and https://github.com/signalapp/Signal-Desktop/issues/7166. an OS crash notification is also triggered...

simple groveBOT
#

Sorry for the delay, I had to fix some larger issues with my system but everything should be up and running by now.
So, I have kind of an interesting new issue, I had to disable the Wayland socket on the flatpak because it would only open up the first time and then crash on launch, I searched it up and supposedly that's due to GPU issues. Vee suggested in the DC that I disable the socket and it has been working great, except for when I try to click the screenshare button in a voice chat I get...

azure verge
simple groveBOT
#

Not sure if this is still related to venmic, does the segfault happen only when sharing audio?

The segfault happens as soon as I join a voice chat and press the "Share your screen" button in the bottom left dock, the one where I can mute the mic etc. I don't even reach the screen where I can select an audio source or video source before it segfaults. Shouldn't that be related to venmic? Please correct me if I am wrong

#

Not sure if this is still related to venmic, does the segfault happen only when sharing audio?

The segfault happens as soon as I join a voice chat and press the "Share your screen" button in the bottom left dock, the one where I can mute the mic etc. I don't even reach the screen where I can select an audio source or video source before it segfaults. Shouldn't that be related to venmic? Please correct me if I am wrong

This is not related to venmic. Venmic is only responsible f...

simple groveBOT
#

Discord Account

No response

Operating System

Alpine Linux

Linux Only ~ Desktop Environment

River on Wayland

Package Type

Flatpak

What happens when the bug or crash occurs?

Hey I am back at it again, I was redirected to this repo. Again lol.
So after Vee's hint to disable the wayland socket for the flatpak the app doesn't crash on launch anymore. The screenshare worked when running on wayland. But when I am in a voice channel and I press the "Share your Screen bu...

worn harness
#

husk

#

@humble mortar insane

humble mortar
austere wolf
#

vesktop so goated

#

ffi-rs shouldn't be merged in its current state

#

it's super confusing and inconsistent

humble mortar
#

windows users in shambles

austere wolf
#

i could rewrite the koffi pr since it's a little odd but koffi seems like a better replacement for ffi-napi

#

ffi-napi was super consistent and easy to understand and use but it's DEAD

#

mostly because they had a well-defined way to handle pointers

#

and a LOT of pre-defined types

#

ffi-rs and koffi both lack this unfortunately

#

koffi has wayyyy more documentation tho at least

humble mortar
#

its all insane

#

everything is crazy

austere wolf
#

everything is FUCKED everybody SUCKS

floral ledge
#

good news @humble mortar @scenic hollow global shortcuts are in gnome

#

looking like it will make it into gnome 48

#

its in the release candidate

#

they bypassed the freeze for it

simple groveBOT
carmine drum
#

vesktop issues are horror

#

its all "i can't get screensharing to work" and its literally always a system issue

humble mortar
#

downside of linux unfortunely

#

two billion system configurations with over half being broken or misconfigured

next sundial
#

@vernal lintel do you know which flags are needed for H.265

--enable-features=CanvasOopRasterization,VaapiVideoDecoder,UseChromeOSDirectVideoDecoder,VaapiIgnoreDriverChecks,PlatformHEVCDecoderSupport,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE

I believe only two or three of them are really needed

#

my idea is to check which ones are needed and then enable it by default and see if users report issues with them

austere wolf
next sundial
#

I think that not having H.265 support out-of-the-box is bad :(

next sundial
#

XD

#

doing it now

#

with only Vulkan audio works

vernal lintel
#

spoiler: it depends on your gpu so you do need every single flag to work on most gpus

next sundial
#

but video is frozen

next sundial
#

it's fine for me it we only enable it for, say, amd gpus on linux

#

at least that's some progress

vernal lintel
#

with amd you need vulkan and ChromeOSDirectVideoDecoder and probably PlatformHEVCDecoderSupport

next sundial
#

(considering they're stable)

austere wolf
#

this package is so awesome we should depend on it for windows streaming

next sundial
#

keywords: none

#

this package does not have a readme

next sundial
#

so, from my testing, you need at least those flags to make video+audio work correctly:

#
--enable-features=VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE
#

other flags are not necessary

#

Fedora 41, KDE, Wayland, AMD GPU with RADV driver

#

without VaapiIgnoreDriverChecks only audio works

austere wolf
next sundial
#

I believe VaapiVideoDecoder was superseded by a new flag in Vesktop if I'm not mistaken, so we already have it

#

even though UseChromeOSDirectVideoDecoder and PlatformHEVCDecoderSupport are not needed, maybe adding them would cover some edge case I am not aware of, and I didn't see any downside while using them

#

CanvasOopRasterization - IDK why someone would need this

austere wolf
#

what the fuck is a canvas oop rasterization blobhuskcozy