#π₯-vesktop-development
1 messages Β· Page 29 of 1
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...
issue with either your gpu or electron / chromium. nothing we can do, it will probably fix itself in the future
you can downgrade vesktop for now or build from source with an older electron version
@grizzled hemlock, <t:1739324293:R>: get @cookie to fix this
@humble mortar fix this
its intended anti tamper to stop debugging
cope
explode
thanks for the auto streamer mode :3
it doesn't even work yet π
AND WHOSE FAULT IS THAT
i gave u the right hash π
sister we're not depending on a fork
not in production π
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 )
lame
do you eat pizza with a fork
chicken nuggets and pizza and wraps is my diet and if you eat any of those with forks just... 
anyways i eat pizza with the discord fork of electron
Double unpleasant
anyways carry on good developer people i shall go back to my organic chemistry work π
I'm about to fork YOU
oh that's what you meant
quick death to save me from this cold
thin pizza with a fork is a joy you could never comprehend
you disturb me
ππππ
bro
if it's too thin to hold it properly just slightly fold it
can we shame this user /t
___ -> \_/
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
hold it like that
it felt like a dream but the plate was there when I woke up later so it wasnt
,..,,.,.,.,.,
monster
This channel is the weirdest of all the development channels
good
how yβall just so quickly start talking about pizza?
me, its always me
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 ...
you love missing/fucked notif daemon
can you not manually bind your mouse through the cli with the latest commit?
I'm going to be honest. Even after looking at the source code, I could not figure out how I would be able to do that through the CLI.
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...
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
the Vesktop icon stuff is kinda in weird state rn
the hell happened to the tray
@vernal lintel can u make a decision about this..,., its annoying that the platform inconsistentcies have existed for so long and that vesktop has no real branding
it's been like that
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
sure
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
ok
pretty sure other platforms can also consume ico
yea electron passes it as an image bytemap on linux for instance
mm nice
so its internal logic should handle that
no idea how it'd pick the size tho
kk
without the win32 check, right?
electron builder turns it into pixmap dir pngs
so it strips out the 256px image into pixmaps/256/vesktop.png
ye,
electron-builder takes the png and makes a really bad .ico
storing the desktop icon in static is a bit annoying
why
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
you need to speficy icon path for the tray icon
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
just have electron builder reference static/icon.ico and remove build/icon.ico
can make it a symlink if youre feeling fun
i have an idea, sec
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
well it is necessary if youre not dynamically accessing the icons
like the icns and background belong there
you can add static/icons to the extraResources
just checked
and then it'd look like this
well yeah,.
thats what I was saying π
also dont do an icon subdir
fine as is
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
bruh arrpc leaks memory on windows
lmfao
likely the process scanning code
it shells out like crazy
it leaks processes
there was a convo in here a bit ago about how to process scan better
after a while you can see like 1000 wmic.exe and cmd.exe in rammap
sob
ducko forgor to clean them up
they're completely invisible in anything else
and u can't clean them up in rammap so the only solution is to restart
afaik
idk
maybe something's up with the exec
either way it still sucks to bomb wmic with queries like that
try to swap the spawning method
hm?
the what
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
the doc u linked in review is from 2016..,, silly to even mention its 'undocumented' as that makes it sound like its unstable and not good to rely on
yeah i mean i doubt they're gonna remove it
the spiteful microsoft engineer in question:

hm
how does the current scanning work
wmic process get ProcessID,ExecutablePath /format:csv
oh god wtf
also youll likely want to comment that that pr also fixes a memory leak
ok but why do you need an undocumented api to do this
because koffi has natives obviously
most people don't use them
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
oh, the existing APIs only detect Administrator apps when you run as Administrator, right?
ye
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
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
of course it is perfectly reasonable to dump the pnpm folder on the root of my disk :^)
that's really weird
ahh
lol you need admin to build vesktop on windows
so silly
im going to fry
it's due to my changes wahhh
no?
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
windows moment
windows doesnt let you make relative links without admin
by default
I am also running into this issue on KDE/Wayland while using the flatpak. Vesktop goes completely blank, and I have to manually restart it and rejoin the call. It's inconsistent, but it usually happens around 30 minutes into streaming.
just the first time
This is fixed now, if you have the flag as a workaround for this like I did, you can now remove it.
The current version of vesktop has electron with chromium 132, and the patch for this was merged in 131.
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...
I'm going to be honest. Even after looking at the source code, I could not figure out how I would be able to do that through the CLI.
you have to bind your mouse key's up/down events to (vesktop) -- --keybind (id) (keyup/keydown)
note the two sets of dashes
i probably will change the cli at some point so be wary of that i guess
KDEs shortcut system can't handle mouse buttons
but it can detect them just fine so likkeee π
(there is a mouse button rebind menu)
Was having this issue as well with the flatpak. Opting out of Wayland fixed it.
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...
i have no control over that πππ
chromium def had a regression tho
(showing and hiding the window was delayed)
try bumping your electron version
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:
- Open Vencord
- β― hyprctl globalshortcuts
none - Open keybind settings in Vencord
- β― 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...
hey do you develop the Vencord client for linux?
elon husk
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.
This also happens on Windows 11 LTSC, and it causes my webcam to appear stretched vertically since im using a capture card for a camera and its picks the 480p option which is limited to 3:2.
Sounds like old af issue with bitrate
nah vesktop resolution code expects 16:9
i dont know about camera, but streaming doesn't have an expected res, no?
unless i completely forgot the code we wrote
(though, i have been having unstable bitrate issues again π )
ScreenSharePicker.tsx: Line 85
const width = Math.round(height * (16 / 9));
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
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 
ive experimented with the glitchy/non loading and it seems that sending hardware encoded video is the cause
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 π
video standards are video standards so i'd assume hw encoded or not it'd still be the same codec
THIS
YES
omg
let me test without hw accel
discord has their own flavour of webrtc on their clients and thats what ive been assuming is the cause
of fucking course they do
but still i mean
isnt h264, well, h264
maybe it encodes in a different container or smthn?
idk ππ
that's really weird and honestly
kinda piques my interest
my theory is chromium made or pulled a change from webrtc that discord hasn't pulled in and explod
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
y u p
smile
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
ive been meaning to for ages but I dont wanna deal with discords support ticket system ππ
oh god yeah
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
if only i knew how to read the fucking googlesource pages
BSD-3-Clause
o
foiled
can they say no to an icbm (intercontinental blahaj missile)
yup
can confirm
turning off hw accel
fixed it
it stayed quite stable lmao
dont even turn off hw accel just pass the disable accelerated video encode flag
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
electron regression. nothing we can fix, will just be fixed in future version
Can't you just add if statements? /j (Hopefully this get's fixed by them!)
literally exists in vencord
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 ?
uhh dont have conflicting binds??
like be fr all software is like that
I'm gonna crash out in github comments one of these days
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...
@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
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...
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...
what the FUCK discord (this isnt an issue for anyone else, right???)
I'm also having this problem on Arch Linux on two different computers.
yeah i noticed that but also looking at the code for the hyprland portal it seemingly doesn't actually save anything
For me sometimes

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
thats an impl bug on their end then I think
discord throttling web clients to troll 
Can confirm. As of before morning's yesterday, my Vesktop has been more than usually laggy on everything, including starting it up and taking more seconds than usual to load up. Switching channels, typing, everything.
Am on Arch Linux too, tried clean-building it myself, tried vesktop-git and other offered AUR packages, no dice. Most likely a Discord update or something.
The most common cause of lag are custom css and themes. disable all of them and it will very likely be fixed. Also make sure you didn't disable hardware acceleration.
Have the same issue. The icon is correct in the menu, but its showing wayland icon in the overview and the panel. This fixed it: https://www.reddit.com/r/kde/comments/tzw738/comment/i424ces/
The issue magically went away for me
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...
vp crashhandler
Utility plugin for handling and possibly recovering from crashes without a restart
Nuckyz
enabled by default
peak
Respectfully, ive been using CTRL+W for a bit with Vesktop. Its the shortcut i use to close Vesktop! Please dont remove it, or atleast make its functionality toggable..
lc.xkcd workflow
i love this gif
it's real asf
i can confirm. i've been having lag even whenever i first load vesktop. turning off my css theme does fix the lag, but it would be cool to have a fix that doesn't involve removing my theme
impossible... use a different theme that doesn't lag
This is not correct, this issue persists with or without a theme.
I have the same exact issue running CachyOS via Flatpak so this is not a system issue this is a bug.
Global shortcuts have just been merged to GNOME
https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/issues/47
woah more implmentation bugs to find
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:
(sometimes 2 times, sometimes more)
and then th...
But this approach still does not disable pasting with the middle-click button! If anybody has a solution for that
KDE on Wayland now has an option to disable middle-click paste!
Go to System Settings > General Behaviour > Middle Click > De-select "Pastes selected text"
finally
thats an option to enable it on the de level
its always been chromium doing the pasting
theres been zero movement on the kde impl bugs 
i didn't say fix (also we fixed the session token thing
)
true :3
File Explorer did respond to CTRL W long before Windows 11. I think as far back as Windows 7 even.
And also as a reminder, CMD W to close a window has been a thing in macOS for decades. This is not a new thing.
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
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...
Couldn't recover a useful debug log, I've added it regardless.
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...
please open an issue in https://github.com/Vencord/venmic instead
βοΈ 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...
you did not properly fill out the issue template, see https://github.com/Vencord/venmic#-debugging
you did not properly fill out the issue template, see https://github.com/Vencord/venmic#-debugging
Just so I don't make any mistakes, I added "export VENMIC_ENABLE_LOG=1" to my .bash_profile and sourced it, restarted Vesktop but there is no .local/state/venmic nor a .var/app/dev.vencord.Vesktop/.local/venmic.
what kernel version are you on? there was a recent regression in fuse. also does kdenlive have permissions to access files you pick (out of picker/flatpak permissions)?
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
ive been using fedora for a few weeks now at least and never noticed it
so i doubt it
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:
i- what
fedora is on 6.12 though???
APPARENTLY NOT AS OF TODAY π
nnnot doing that π
oh, fedora should really push the new kernel version
oh, fedora should really push the new kernel version
if that's the issue, just give the vesktop flatpak access to your files (e.g. with flatseal) to fix it
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
guys when will canadahonk come back 
you have nitro though..,
oh
wait for short burst of activity
yeah, i wonder if they do server-side resolution checks now??
but not framerate apparently
or maybe i should join some electron server and ask how to bundle natives
and SOMETIMES the 1080p60 streams are fine??
im very confused lol
ill keep documenting what i find tho
what if your isp is kneecapping you
has nothing to do with my isp
do u do constant uploads any other time?
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
oka oka fair enough
so i assume they changed something on their servers for stream handling
i could be very wrong tho
maybe theyre finally doing server side checks
this
partial rollout on their servers?
possibly?
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
Does it work without flatpak? Maybe this is related to some sort of sandboxing?
Either way, not something I can solve - this is a system or pipewire issue
i may be stupid
flatpak will not inherit environment variables, you need to explicitly pass them.
flatpak run --env=VENMIC_ENABLE_LOG=1 dev.vencord.Vesktop
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
just start it
there are sourcemaps
even release builds have sourcemaps iirc
just make sure that javascript sourcemaps are enabled
hmm
it does throw during load, idk if that makes a difference
but where would sourcemaps be enabled
worked?
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
it doesn't, that's why we patch it out
oh my god
the patch didn't apply for you which means you didn't build properly
you likely installed with npm instead of pnpm or smth

i used pnpm
the only thing i did differently was not use frozen lockfile because im changing out arrpc
when does it apply?
because i'm changing out arrpc
there's your problem
you likely need to update the patch or are installing it wrong
this sure is a solution
you can use esbuild's inject instead of patching it manually
supposedly
no
that readFileSync straight up cannot work because there is no such file at runtime when it's bundled
you mean this wouldn't work? https://github.com/evanw/esbuild/issues/1492#issuecomment-893144483
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
)
what patch
the arrpc patch
which
are you applying it on mainline
whar?
is the patch failing
yeah that just has the normal file, no change
otherwise it wouldn't have crashed on me lol
im not touching index.js :(
uhh im on liek a few commits back i think
nvm it is up to date
try to manually git apply
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
oh wait it works
ohh pnpm has a utility for generating the patches
i thought the patch was manually generated sob
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
IT DOES???
wild shit
yeah lol
IVE BEEN MANHALLY DIFFING
lmao
all the prs where I make changes to it ..,,
insane
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
hey any news regarding h.265 playback support on linux?
yes but
the intention is to make the necessary flags the default for everyone on linux
maybe upstream could take a look at this?
itβs time for rust in vesktop (arrpc) https://napi.rs/
(mostly because i donβt want to make a c++ platform agnostic build system for a windows binary)
i feel like someone tried to do this in the past
not confident about that though
doesnt it already
yup
are either of you on a dev build?
was finding my ss
nope
i wonder if its overwritten by a vencord dev build
maybe
it is
i just checked
love
settings.tsx: Lines 224-230
get additionalInfo() {
if (IS_DEV) return " (Dev)";
if (IS_WEB) return " (Web)";
if (IS_VESKTOP) return ` (Vesktop v${VesktopNative.app.getVersion()})`;
if (IS_STANDALONE) return " (Standalone)";
return "";
},
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?
she reacts while i have 14 open prs
You donβt make it an array because then it canβt be optimized out by the bundled
Husk
No, not really. That entire function is evaluated at build time
insane
yeah I have a partial rust implementation
didnt bother finishing it
is it @late ridge
mainly because we can literally just reimplement the discord RPC native module and it'd be 200x better
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
if that's the issue, just give the vesktop flatpak access to your files (e.g. with flatseal) to fix it
cheers, so far it's working. I'll have to watch out for a kernel update soon, hope they pull it through testing soon
then why wasnβt that done in the first place 
nobody has bothered
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
youll have to read the native modules and asar
i may be stupid but how do i find those things 
this is based
NAPI is based
its hell to work with, but its mega based
no android support
ggz
actually nah im just gonna improve arrpc without discord's rpc module
that makes the most sense
right now at least
already there with venbind 
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
what are you trying to do
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
what are you writing in rust for arrpc...
windows process detection
fixing wmic leaks and detecting admin games
possible using koffi but koffi is like 60mb
isnt there a pr that does that already
why are you rewriting it in rust
so pointless
..,
because koffi is 60mb buh
if we're fine with vesktop gaining 60mb in a single push then whatever i guess
there are def alternatives to koffi
are they not going to be the same size
no?
where did you get the 60mb number
https://www.npmjs.com/package/ffi-rs just found this
40kb vs 70mb unpacked
70mb is koffi ofc
oh it was literally published 9 days ago
lol
yeah I doubt ducko would accept an in tree native module
overhead and all
let dedicated libs do that
(they want to rewrite arrpc at some point to so arrpc is kinda maintenance mode)
/home/kylie/.config/discord/0.0.85/modules/ discord_rpc and discord_game_utils
game utils is a native module which I guess does process scanning. rpc does IPC and Websockets
client then imports these modules and does things.
yea it is. prob better to focus on doing rpc as arrpc process scanning is good enough
right
iβll look for funsies
how would vesktop get this module?
i assume we canβt rehost it?
rewrite it or fetch from whichever endpoint the discord desktop client does
discord desktop fetches it at runtime in the startup check
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
using discord native modules defeats the entire point of vesktop
and we likely can't do that for legal reasons

rewite in rust 
i am curious if thatβs legal tho
it probably is but i agree that it defeats part of the purpose
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
ok what's rpc
i just refer to discord detecting game running = rpc
which is the only part i'd be writing in rust
entirely on the discord side
apps communicate with the discord app
apps can report game presence status which sorta looks like process detection
doing this isnt a priority as arrpc handles it
(not entirely well but..)
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
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
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?
well so is koffi..
yes
I'm talking about an in tree module that would be maintained as part of arrpc
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)

i didn't really test it but i assume all the native modules present in koffi get copied to the build somehow
GUH
ππππππππππππππππππ€―ππππ€π€πͺπͺ
buh buh
it should only use the modules for the platform
that would be cool
it does π
lol
i have to like run pnpm i again and what if something explodes
or doesn't get cleaned up
om
it's all in tracked files i swear
it's just annoying asf because i have to reference a local arrpc
gorp just edit package.json
so basically
huh?ΒΏ
and packaging koffi was a pain
was all like
"no loader configured for .node files"
or will it
and when vesktop builds it'll bundle it
yes?
you have to be doing something so cooked
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
show me what you've done
uhmm not much
basically just using the pr https://github.com/OpenAsar/arrpc/pull/109 + my suggested changes
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
does that copy all .node files?
hm
awesome issue thread full of clueless people all with the same issue
i wish esbuild just did it for you
but the right approach would be to copy them manually with the build script the same way we copy venmic binaries
and also an awful solution I'm never gonna merge
can loader take globs
nu
just see how venmic is loaded
i tried
putting arrpc in optionalDeps didn't work
because why would u do that π
all solutions to the arrpc windows process scanning use a native module
venmic is in optional dependencies because it only supports linux
buh
so install is skipped on windows and mac without error
so i have to put koffi in optional deps in arrpc
no
well no because it'll still try to load .nodes
arrpc pulls in koffi
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
all solutions to the windows scanning go through a native module to call the windows api
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
theres other alternatives
oka but that's like a lot of setup
but getting the native module loading and working is the main issue
lot more stuff to maintain
just look how venmic is loaded 
nop
bop
arrpc pulls in the dep that has the native module then gets bundled
so stupid that esbuild cant handle that
do we really want another venmic anyway
except that it can
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
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
theres other libraries πππππππ
ig
ffi-rs is tiny and from the examples it seems like it supports all arrpc needs
ffi-rs seems confusing but i'll just do C to keep to their examples
using wsl to generate a windows binary 
i hate C
guh why
no why are u writing c
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
??
(i don't do ffi)
use its provided js bindings what are you doing πππ
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
just port the koffi arrpc pr to ffi-rs
horror
Adds a toggle for video hardware acceleration in the Vesktop Settings while keeping overall hardware acceleration turned on, since video hardware acceleration may cause screen-share issues in some systems.
Would add a workaround to issues like #1107, #1004, #851 and #797
does voice & video > hardware acceleration not already do this..?
@azure verge
hm
guess im reading the code for that stuff again
WAIT now im
huh
it DOESNT

it checks full app accel
no i dont think that switch does anything lol
well that should definitely be fixed at some point π (i might if i finish my current project)
??? did discord not desktop gate that switch??
its available in pure web
insane
ok yeah just tested
does nothing
gorbb...,,
this library sucks so much
wait
it exists
in pure web
and does
absolutely nothing????

ffi-rs is so tiny tho how did they do it fr
oh
because it's a bunch of different packages
ok just tested. seemingly does nothing.. I guess discord just didnt desktop gate that switch π..
Instead of adding a new switch to vesktop settings you might want to get the state of that switch and go from there. (look at the streamer mode patch for a similar thingy)
biscord forgor
welcome to discord lol
bro thinks they give a shit about web
did you forget that they make random context menus unavailable on web for no fucking reason?
visual refresh still looks like ass on web π₯
I had to make an entire plugin to patch them back in
gorp..
segfaulting the interpreter now 
you love
i dont even use discord much
why am I even here
idk
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..,,
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 :(
points at you.. @worn harness
hiii
hey vro
@humble mortar your pc will shut off and have to start indexing all over again
ITS ALMOST DONE
here it comes
does it? I've been using it just fine with no issues
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
Oh, that does seem like a better way to do it, I'll take a look. Thanks!
this is fine
https://github.com/Vencord/Vesktop/commit/66f5343662e18820ef9ec3da379e9506e0842773 is this unsubmitted thing relevant
i dont use this code anymore fyi
it is probably busted by discord updates
Turning on NoDevtoolsWarning fixes this (for some reason)
How do you do that?
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...
Addendum: I suspect that it is an issue in my Plasma desktop's part
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...
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...
Electron / Chromium issue. Nothing we can fix
Seems to have been fixed by https://github.com/electron/electron/pull/45571. Try building from source with an electron version that has the fix
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...
web looks different?
Not sure if this is still related to venmic, does the segfault happen only when sharing audio?
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...
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...
segfault = chromium/electron/system issue and not something under our control
you should really just use the support channel to not be sent back and forth lmao π
dont talk to me π€
vesktop so goated
ffi-rs shouldn't be merged in its current state
it's super confusing and inconsistent
windows users in shambles
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
everything is FUCKED everybody SUCKS
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
Set --js-flags="--no-decommit-pooled-pages"
@youwen5 did you read the issue through?
I am noting that this issue only happens when the window is maximised, and sometimes, clicking on the tray icon 2-3 times will unmaximise the window and allow it to actually show (though this issue is still rather bothersome)
yopppp
vesktop issues are horror
its all "i can't get screensharing to work" and its literally always a system issue
downside of linux unfortunely
two billion system configurations with over half being broken or misconfigured
yes
@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

I think that not having H.265 support out-of-the-box is bad :(
spoiler: it depends on your gpu so you do need every single flag to work on most gpus
but video is frozen
amd gpu here
it's fine for me it we only enable it for, say, amd gpus on linux
at least that's some progress
with amd you need vulkan and ChromeOSDirectVideoDecoder and probably PlatformHEVCDecoderSupport
(considering they're stable)
will try
this package is so awesome we should depend on it for windows streaming
tested here
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
orrrrrr i could add a windows binary to venmic coded in rust depending on this crate https://crates.io/crates/wasapi
CanvasOopRasterization,VaapiVideoDecoder,UseChromeOSDirectVideoDecoder,PlatformHEVCDecoderSupport
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
what the fuck is a canvas oop rasterization 






