#🖥-vesktop-development

1 messages · Page 37 of 1

vernal lintel
#

probably wait for discord to fix

#

this is also broken

viscid pier
#

🤷‍♂️

#

kaboom the pr then

#

i mean i can do

#
[class*="submenu"] [class*="scroller"] {
vernal lintel
#

this is bugged because it's not defined

#

just define custom-floating-layer-max-height to fix

viscid pier
#

thats fixes it yeah

vernal lintel
#
#textarea-context-vcd-spellcheck-settings {
    --custom-floating-layer-max-height: 50vh;
}
viscid pier
#

why not root

#

nevermind

vernal lintel
viscid pier
#

done

vernal lintel
#

it makes little sense to fix it in vesktop tho

#

vesktop is slow moving

#

this is just a discord bug that also affects vencord

#

we should either just wait for discord to fix it or if you really want to fix it, it should be fixed in vencord because vencord is also affected by it

#

this for example

#

and this

viscid pier
#

should be moved to vencord then, is there even a long enough dropdown in regular discord for them to actually fix it

vernal lintel
#

yes

vernal lintel
#

clearly they are working on this because it was working a few days ago

#

they borked it with one of their changes

viscid pier
#

oh i thought this was broken for a while

#

might aswell wait to see if they fix it then

vernal lintel
#

well i dont mind fixing it ourselves

#

but not in vesktop xD

#

vesktop wont get a new release for another month at least

viscid pier
#

do you want me to pr vencord crybaby

vernal lintel
sour muralBOT
# vernal lintel we already fix a similar issue in vencord for BetterSettings but now they broke ...

fullHeightContext.css: Lines 1-10

/*
 * Discord has dumb max height logic for their context menus.
 * If a context menu is at the bottom of the screen, its submenus are capped to its max height and can't even grow upwards
 * We unset the variable they use to cap height. This allows submenus to grow as tall as they want
 */

#user-settings-cog,
[aria-activedescendant^="user-settings-cog"] {
    --reference-position-layer-max-height: initial !important;
}
vernal lintel
#

discord things classic

viscid pier
#

idrk where i would add it to vencord tbh

simple groveBOT
vernal lintel
simple groveBOT
compact fjord
#

> saw electron patch note about colors
> immediately upgrades it on main

vernal lintel
#

unrelated

#

i already had tested it

#

i was just checking changelog

simple groveBOT
simple groveBOT
simple groveBOT
quasi spear
#

Probably won't break other deps. Making it 39.2.7 fixes the issue, as it uses an older version of Chromium (142.0.7444.265)

compact fjord
#

vesktop settings missing from settings context menu ☹️

rotund pantherBOT
humble mortar
#

chud spotted

#

@vernal lintel

humble mortar
compact fjord
#

it's been updated fr

#

22e9730 & 1.6.4!

next sundial
#

@vernal lintel yo not sure if this is relevant in any way but

#

I was checking journalctl logs to diagonose a crash of another app

#

and found this in yellow color:

#

fev 05 13:41:31 archlinux plasmashell[1135]: Trying to replace notification with id 1216 which doesn't exist, creating a new one. This is a bug in the application "vesktop"

simple groveBOT
vernal lintel
#

DEPENDABOT YOU FUCKING PIECE OF SHIT I DO NOT GIVE SHIT ABOUT NODE TAR VULNERABILITIES

#

WHO CARESSSSSSS

#

it keeps spamming me with these irrelevant vulnerabilities

next sundial
#

you suck!!

#

that reminds me of shellcheck warnings

next sundial
#

titlebar is cursed again

#

X is not at the top-rightmost corner, it has an unneeded spacing there

dark quarry
#

yeah the .bar_c38106 has padding-right 12px but can't even determine where it comes from because devtools break

vernal lintel
#

i didnt even notice

#

how do u guys notice this stuff

#
.bar_c38106 {
  padding-right: 0;
}
#

this vesktop patch broke

next sundial
#

xd

#

it's always at the top-rightmost corner

#

funny part is that this also happens on the official discord client

#

vesktop is actually the app that does it correctly by patching it

vernal lintel
simple groveBOT
humble mortar
simple groveBOT
next sundial
#

are you guys the mantainers of the vesktop packages on the AUR?

#

if so, I believe vesktop-bin (and maybe vesktop too) should be installed on /opt instead of /usr

#

as a reference, I have localsend-bin and github-desktop-bin from the AUR and they are both installed to /opt

#

hmm...

#

ah I see

#

since vesktop-bin depends on electron40-bin, I think it makes sense not to be on /opt

#

whereas localsend-bin and github-desktop-bin probably bundle Electron

#

also, maybe only recommend vesktop-bin in the website for a better user experience

old juniper
#

we do have comaintainer on vesktop-git

simple groveBOT
random nebula
#

@humble mortar

random nebula
#

@humble mortar fix

simple groveBOT
simple groveBOT
#
[Vencord/Vesktop] New tag created: v1.6.5
digital hare
#

content time to update

random nebula
#

any MacOs users in chat where the app never quits after using the updater

#

the main window closes but the app stays open

#

and i need to manually quit for the app to restart

#

@humble mortar fix

#

how can i even test updater without always downgrading to 1.6.4

simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

Content

Firstly, I'm sorry to open an issue here but I asked several times on the Discord and never got an answer.

I currently have an issue with idling in Vesktop (Linux): when in a audio channel, Vesktop will prevent swayidle from triggering completely.
This means that if I want to use my screensaver when going AFK, I have to disconnect from the channel.

You can test this easily by setting something like this in your sway config:

exec swayidle \
       timeout 5 'ddcutil -d 1 s...
humble mortar
# simple grove

pretty sure this would have to be a vencord patch to block discord from getting wakelock

#

dont think theres a flag that disables it

#

or u can drop the request on the systemd side maybe

random nebula
humble mortar
#

im gonna assume chromium uses the xdg portal

simple groveBOT
next sundial
#

I have a question about the Arch package: vesktop-bin has electron40-bin (both packages from the AUR) as dependency. Isn't it a problem to update Electron separately from the main Vesktop client?

For example, official RPM packages bundle the client and Electron updates, whereas on Arch Electron can be updated independently.

random nebula
#

@humble mortar

humble mortar
random nebula
#

@humble mortar COOKIE

random nebula
simple groveBOT
#

When venmic is active, if there's no input detected, does it automatically shut down the pipewire input? I noticed that it often cuts out the beginning of my sentences and i'm wondering if it's because it's taking time to create a new input when i'm very quiet. I am running easyeffects noise suppression so when i'm quiet, there's no audio at all. I don't have this issue with discord though.

humble mortar
# simple grove

is it bad to assume this is cause of the discord noise gate

simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

Really small change that makes it so if the Vesktop window is maximized it doesn't update windowBounds with it's new bounds, thus preserving the windowed state if the app is closed (restarted) while in fullscreen, making it work pretty much exactly like the official discord client.

Also noticed the minimized state wasn't being updated when "unminimized", fixed that aswell.

simple groveBOT
compact fjord
#

not even thanked :///

lucid bridge
vernal lintel
#

because people post way too many replies with little relevance

lucid bridge
#

i noticed you removed the license update, you have that on an eslint rule, is that only meant for new files ?

also ran into issues related to that due to most files being saved with CRLF

compact fjord
vernal lintel
#

if you have crlf, it's on your end and you need to configure your git right

lucid bridge
#

hmmm, let me check again on my end, the repo is missing .gitattributes enforcing it though

vernal lintel
#
[core]
  autocrlf = false
  eol = lf
#

add to ur gitconfig

sour muralBOT
lucid bridge
#

anyways, there isn't a problem after all, thank you

vernal lintel
#

it might not be what you want if you work with a lot of windows projects

#

but imo every git project should use exclusively LF so it's a good thing to set

lucid bridge
#

you still have 2 files that are CRLF, but they aren't very important at all, but they managed to sneak in because there isn't a .gitattributes

.github\workflows\meta.yml
.vscode\settings.json
vernal lintel
#

evil lewi

lucid bridge
#

i made a little program to scan a given directory recursively for things i don't like seeing in my projects , for example the EOL being CRLF, EOF isn't a new line, and such, that's how OCD i am about it 🤣

simple groveBOT
vernal lintel
#

sure man

#

just show me 30 irrelevant "vulnerabilities" in code that's not even used

lucid bridge
# simple grove

why is arrpc being pulled from a specific commit, instead of npmjs registry ? I'm guessing because at some point in time there was a change to their code that was needed for Vesktop, but they have since released a new version 3.6.0

electron-updater is also outdated

vernal lintel
#

ok

lucid bridge
#

😅 i could do a PR for just that, but seems a bit pointless

lucid bridge
sour muralBOT
vernal lintel
#

there is 0 reason to update

lucid bridge
#

i'd say getting rid of a patched dependency is a pretty good reason, but if you don't want to, then it is what it is 🤷‍♂️

simple groveBOT
#

Fixes vencord taking over the nested desktop session, as described in [this discord message](#🖥-vesktop-support-🖥 message).

when running npm test, the linter requested the statement be split into multiple lines, so I have done so.

While testing, I noticed that the XDG_CURRENT_DESKTOP variable is actually also set by gamescope, so I changed the discussed check to pass on XDG_CURRENT_DESKTOP === "gamescope". Any desktop env...

simple groveBOT
simple groveBOT
#
[Vencord/Vesktop] New branch created: dependabot/npm_and_yarn/electron-41.1.0
#

Bumps electron from 41.0.4 to 41.1.0.

Release notes
Sourced from electron's releases.

electron v41.1.0
Release Notes for v41.1.0
Features

Added nativeTheme.shouldDifferentiateWithoutColor on macOS. #50408 (Also in 42)
Notes: Added support for the urgency option in Notifications on Windows. #50382 (Also in 42)

Fixes

Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. #50483 ...

vernal lintel
#

shush

simple groveBOT
#
[Vencord/Vesktop] branch deleted: dependabot/npm_and_yarn/electron-41.1.0
simple groveBOT
#
[Vencord/Vesktop] New branch created: global-shortcuts
vernal lintel
#

works on kde but doesnt work on gnome

#

it should work on gnome but electron doesn't even send the portal call shrug

#

i blame electron/chromium

#

it just returns success=false and no error, very useful

sudden trout
#

insane

#

how does electron even handle it does it check if the portal supports or is it hardcoded to work on kde and not gnome or smth

vernal lintel
#

I think it checks if wayland or x11

sudden trout
#

yeah I can't find anything useful on how it determines that and I don't exactly feel like grepping the entire chromium source for that but if it works on kde not on gnome I'm gonna guess it just has a list of working portals and doesn't even try if one of them isn't detected

vernal lintel
#

I'll just add a way to invoke shortcuts manually

#

eg via vesktop --shortcut toggleMute

#

then people can add desktop shortcuts that run that command

sudden trout
#

sure

vernal lintel
#

every desktop has a way to register custom keybinds that run commands

sudden trout
#

yop

#

oki I did some testing it's def electron being shit

#

love

random nebula
#

wasn’t there a pr for global shortcuts @vernal lintel

vernal lintel
#

sucks ass

sudden trout
#

insane

#

add to libvesktop or smth

#

already full of malware why not add more

simple groveBOT
vernal lintel
vernal lintel
#

it wont solve the issue

#

i will probably use a unix socket server

#
echo "toggleMute" | nc -U $XDG_RUNTIME_DIR/vesktop.socket
#

smth like that

random nebula
#

how do u plan to handle x11/bindows

#

or does the electron api do that

vernal lintel
#

I thought about it and it's not feasible for me to add such a large library + maintain it long term in a language I am not proficient at

vernal lintel
vernal lintel
#

doesnt support push to talk and mouse buttons but so be it

#

thats why I'm adding an alternative way to trigger shortcuts so people can do their own shortcuts via desktop

simple groveBOT
vernal lintel
simple groveBOT
#

This adds global shortcuts for the following actions: toggle mute, toggle deaf, toggle streamer mode, disconnect from vc


Limitations:

  • No push to talk, use toggle mute instead
  • No mouse keys
  • On Linux Wayland, only works on some compositors (KDE confirmed working, GNOME confirmed not working)

As a workaround for the third limitation, you can also trigger shortcuts via a unix socket or vesktop cli flag. However, the cli flag has a delay of ~2 seconds so the socket is rec...

simple groveBOT
#

This optimizes SOME of the files here, overall with lossless optimization.
The exception is to build/icon.svg and the webp
The webp has had timing of it slightly adjusted, though the frames themself have no lossy changes otherwise.

The png use https://github.com/oxipng/oxipng via https://ezgif.com/optipng and the other content is optimized through similar means
The svg though is instead optimized via https://svgomg.net

loud finch
#

some new electron builder version somehow messed up the dmg

simple groveBOT
#

Content

Bug Description

Window transparency stops working after rebooting the system. It only works during the session where it was first configured, never again after a reboot.

Steps to Reproduce

  1. Install Vesktop 1.6.5 (.deb) on KDE Neon
  2. Enable Transparency in Vesktop Settings
  3. Confirm transparency works
  4. Reboot the system
  5. Open Vesktop again

Expected Behavior

Transparency should persist across reboots since transparent: true is correctly saved in settings.json

...

simple groveBOT
loud finch
#

vesktop fixed finally

random nebula
#

vibesktop fixed, it is now fully human

simple groveBOT
#

Summary

  • keep the selected Linux screenshare profile aligned across capture constraints, videoStreamParameters, and RTP sender parameters
  • resync the active screenshare path after stream start, profile changes, and replaceTrack()
  • add a guarded recovery path for viewer attach/rejoin when the outbound sender still appears stalled after the normal resync path

Context

This started from Linux NVIDIA VAAPI/NVENC validation, especially Prefer Clarity sessions.

Before this patch, th...

vernal lintel
#

what

#

I don't understand this pull request

#

code and description seems very ai

random nebula
#

no human is making a 1k long file and pring it without at least discussing here or mentioning some issue

viscid pier
#

holy yap

vernal lintel
sudden trout
simple groveBOT
simple groveBOT
#

✍️ Bug Description

No Audio Sources show up when I go to Stream in Vesktop.
I open up a video in VLC Player, go to stream it and there is no option to select an Audio Source.

It doesn't matter if I pick Screen or Window, nothing changes.

I've tried (I think) every combination of audio settings and nothing seems to appear.

I've tried reinstalling everything from scratch and it hasn't helped. (Including themes/plugins etc.)

Let me know if you need any more info, thanks!

🔁 Ste...

upper pine
# simple grove

@vernal lintel i'm not at my pc rn, i can check the next few days (will also update venmic to latest rohrkabel), but according to the logs this looks more like a vesktop issue

vernal lintel
#

not venmic issue

upper pine
#

Nice

#

Btw, Ive recently experimented with zig (as a compiler) again for saucer and actually got it working (had some issues before due to outdated libc++ and llvm backend) but it now works quite well and I could properly target older libc

#

Not sure if thats still a concern but I'll probably also include the necessary setup in the repo so that we can technically target older libc for those that might need it

simple groveBOT
deep thicket
#

why not js leave it open

loud finch
deep thicket
#

aaaa

simple groveBOT
simple groveBOT
#

This commit improves code quality and maintainability through several refactoring changes.

Key improvements:

  • Extract shared buildLinkData helper function from duplicate VIRT_MIC_START and VIRT_MIC_START_SYSTEM handlers
  • Replace unsafe catch (e: any) blocks with proper TypeScript error handling using type narrowing
  • Remove untyped as any cast on GitHub Authorization header in githubGet()
  • Tighten once() generic type signature for improved type inference on Paramet...
compact fjord
#

well atleast they were honest

loud finch
#

AI’s append their description with that I think

simple groveBOT
vernal lintel
#

insane likely overengineered ai PR but apparently it improves things

simple groveBOT
simple groveBOT
simple groveBOT
#

Is there any specific reason why that wouldn't be satisfactory?

While toggle mute does meet my use case, I simply prefer using push-to-talk. I like to appear unmuted if I'm available to talk. The sound when you mute and unmute is longer and different. I think it would be best to offer as close to a vanilla experience as possible, so I think that some people would prefer the option to push-to-talk (with some kind of external setup) rather than just toggle mute.

simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
compact fjord
#

ai

sudden trout
#

pai

simple groveBOT
#

Content

with 1.6.4

PPIMAGE env is not defined, current application is not an AppImage
Vesktop v1.6.4
Disabled Chromium features: WinRetrieveSuggestionsOnlyOnDemand, HardwareMediaKeyHandling, MediaSessionService
Gtk-Message: 21:01:38.248: Failed to load module "appmenu-gtk-module"
[13933:0424/210138.321026:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.systemd1.Manager.StartTransientUnit: object_path= /org/freedesktop/systemd1: org.freedesktop.systemd1.UnitExists:...

simple groveBOT
simple groveBOT
#

Summary

When Vesktop's renderer process dies (commonly during long screen-share sessions, see #792), the main Electron process keeps running but the window appears frozen because there's no UI to update. The existing render-process-gone handler only logs the event:

mainWin.webContents.on("render-process-gone", (event, details) => console.log(details));

This PR makes that handler reload the renderer when the failure looks recoverable, so the user gets a brief interruption ins...

#

Opened #1249 as a partial mitigation: when the renderer dies during a screen-share, auto-reload it instead of leaving the window frozen.

It does not fix the underlying cause (the renderer being overwhelmed on NVIDIA + Wayland during high-resolution capture is upstream Electron/driver territory), but it converts "stream silently turns into a dead window after 20–30 minutes" into "stream blips for a couple of seconds and recovers."

Skips auto-reload on clean-exit / killed / launch-failed / in...

simple groveBOT
#

I've been having this issue when sharing my entire system audio, other users in the call can hear themselves in my stream. I've been having this issue in both vesktop/equibop but also fluxer (which recently integrated venmic for sound sharing).

I'm not sure it's a bug so im not opening a bug issue but i don't know how to fix this. What's also weird is that it suddenly starting doing this, it wasn't doing it before

simple groveBOT
simple groveBOT
#

Venmic has an exclude option where clients should include themselves as to not share theirselves during entire system screenshare. Perhaps the clients are setting their exclusion improperly?

Are u talking abt this exclude source dropdown ?

<img width="593" height="436" alt="Image" src="https://github.com/user-attachments/assets/e2f81238-7926-4f8f-bce5-6808bac03c30" />

No - I'm refering to the API, clients are supposed to find their own node and then add it to the exclude list d...

simple groveBOT
simple groveBOT
#

This PR introduces token protection to mitigate common token grabbers that extract credentials directly from disk (e.g. LevelDB or Cookies SQLite).

Overview

When Electron's safeStorage is available, Discord tokens are no longer stored in plaintext. Instead:

  • localStorage (token)

    • Intercepted via a proxy
    • Stored as an encrypted blob under a separate key
    • Decrypted transparently at runtime
  • Cookies (tokens)

    • Intercepted via a document.cookie proxy
      ...
quasi junco
#

peak

simple groveBOT
#

I've done this, because I am a server mod and one of our mods got hacked by this. So I wanted to prevent that easy way of token grabbing. My test code is the following. Executed inside ~/.config/vesktop/sessionData/Local Storage/leveldb

import plyvel

db = plyvel.DB(".")
for key, value in db.iterator():
    if "_https://discordapp.com\x00\x01token" == key.decode("UTF-8"):
        print(value.decode("utf-8"))
        ```
boreal dust
#

Is anyone else having a problem with spell check not working after deps bump commit?

#

Pre it works no prob

quasi junco
simple groveBOT
vernal lintel
#

it works fine for me

simple groveBOT
#

@zspher I think I found a solution (at least for Vesktop) that might be interesting to both https://github.com/Legcord/Legcord/issues/1011 and https://github.com/tailscale/tailscale/issues/10396 too.
I think it works anyway.
Basically if you add a call to win.webContents.setWebRTCIPHandlingPolicy("default_public_and_private_interfaces");, it seems to resolve the issue.
It no longer checks the tailscale0 interface, but should still support internet VPNs like Mullvad, Surfshark or whatever el...

simple groveBOT
#

This changes the WebRTC IP handling policy to ignore non-default routes.

When running Tailscale, WebRTC can sometimes get confused and bind to that private VPN interface, hanging forever on DTLS Connecting.
This change, from my understanding, makes WebRTC only bind to the default route interface which is likely the intended behaviour anyway, avoiding weird issues with tailscale.

fixes https://github.com/Vencord/Vesktop/issues/876

simple groveBOT
simple groveBOT
#

I think the issue is that when you have tailscale, ICE tries to make a connection over it, but the response comes back on the normal network, which confuses ICE and gets it into a broken state. Just stopping it from using non-default routes seems to fix it.

how could i stop it from using non-default routes?
i've been having this issue of "DTLS Connecting" since i started using vesktop and could never figure it out
my pc is connected to a zerotier network with my partner

simple groveBOT
#

Running CachyOS and KDE 6.6.4 I did try it on my system and I noticed an odd behavior when I set both toggleMute and toggleDeafen:

After registering both shortcuts toggle mute only allows me to undeafen (does not toggle). But after I trigger that action by clicking the button at least once it starts working (but it still undeafens as well). That problem reappears every time I restart vesktop. Seems to happen no matter if I use KDE shortcuts or run a script through the terminal.

simple groveBOT
simple groveBOT
#

Summary

On non-GNOME Wayland compositors (niri, hyprland, sway, labwc) Vesktop currently shows the xdg-desktop-portal chooser dialog twice in a row when a user clicks "Share Screen":

  1. First chooser: triggered by desktopCapturer.getSources() enumerating sources for Vesktop's preview thumbnails
  2. Second chooser: triggered by Chromium's WebRTCPipeWireCapturer.Start() when setDisplayMediaRequestHandler's callback fires — this opens a fresh portal session independent from the fir...
simple groveBOT
simple groveBOT
compact fjord
#

when did vee unmute comments for vesktop repo

simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

@MatthewCash not sure if you're still interested in this, but I've started working on this again and I've pulled your commit into my fork, hopefully that's okay with you. I haven't fully tested/recompiled your implementation yet as I've been busy reconstructing the powerMonitor events and basically remaking the plugin from scratch but I thought I should probably keep you updated on this.

simple groveBOT
#

That can be true on native apps but Vesktop is based on electron which uses a chromium browser. So the OS specific attributes are not considered here.
Currently I don't have the ability to test on a linux system so I can currently not further investigate this.

Does the flashing setting not work at linux which is under "Vesktop Settings"?
<img width="765" height="91" alt="Image" src="https://github.com/user-attachments/assets/eb89bee1-a66c-44d5-944d-9baf30a87b83" />

compact fjord
#

it's off by default..?

simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

Well, it was disabled by default, it would only hurt people that: enabled it; didn't like it; disabled it again.

However, we can't differentiate those people from the people that didn't ever enable it in the first place. There's no code that stores how many times you toggled the setting or anything like that, as far as I am aware.

So it's a bit of a necessary evil in this case. It would be communicated in the changelog, of course, so people would know about it.

I am worried if this works o...

simple groveBOT
vernal lintel
#

@next sundial Sorry, but I'm blocking you from leaving further comments. You're regularely leaving excessive, overly opinionated, demanding comments where you act like you're a maintainer and your opinions carry weight

It's annoying

next sundial
# vernal lintel <@678334090704846858> Sorry, but I'm blocking you from leaving further comments...

I did not ask LucaHDR to make a PR. He decided to join the issue and discuss about it with me. If he wants to make a PR and make changes voluntarily, that is his choice. The issue has been up since 17 March; you or any other maintainer could have closed it beforehand. It is also possible to see that I do not have the "Member" tag when I comment, meaning that I am not a maintainer.

The fact that I am using correct English grammar to express my ideas/intentions clearly does not mean I am demanding something or that I do not think other opinions are valid. In fact, I am completely fine with the request being rejected.

I believe it is an over-reaction from your side, considering I do not frequently make issues/comments in the projects' repositories. But that is your choice and I respect it.

vernal lintel
#

just two recent examples

next sundial
#

well, the first one is because I was mentioned in the PR, and I really don't like to read things that seem to be vibecoded. the description of that PR is very non-natural and seems like an AI wrote it

#

so I just commented that I don't want to talk in order not to appear that I am ignoring it, and that's it

#

the second one is just what I said about using correct English grammar

#

but, again, I am fine with your decision, even though I believe it is an over-reaction

#

drink water and be happy 👍

#

hum, I just saw that the first PR was closed without discussion

#

welp, poor contributor

#

works both on taskbar and tray for me

#

my setup is on Arch Linux, with vesktop from the AUR on KDE Plasma 6.6.4

loud finch
#

I’m testing electron updater with different identities rn

simple groveBOT
loud finch
#

IzzyDead I’ll make a pr soon with these changes

#

I just need to quadruple check everything so nothing goes wrong

#

If it does go wrong then Mac users will need to manually update

simple groveBOT
compact fjord
simple groveBOT
#
zw5

Repro

  1. Open Vesktop on macOS.
  2. Use Vesktop > Force Update Vencord.
  3. Hit a Vencord asset download failure.
  4. Relaunch Vesktop.

On my machine, this left ~/Library/Application Support/vesktop/sessionData/vencordFiles with only package.json. Startup logs then retried vencordDesktop*.map and .LEGAL.txt downloads, and Vesktop stayed alive with no main window.

Change

downloadVencordFiles() now maps release assets by exact filename and downloads only the four files `isVal...

compact fjord
#

oh my god

simple groveBOT
humble mortar
#

girl im bored lets delete the vesktop repo

simple groveBOT
#

Today I learned that I am not built for c++. I am a spoiled child and I need my cargo and my compiler and my docs.rs. 4 hours of headaches and I still can't get a destructor working for IdleNotifier. I'm probably just going to put back my rust implementation with proper integration into the buildsystem (with docker and build scripts for prebuilts and the likes), unless somebody else who is actually capable and has free time can patch things up.

I'll wait till the end of the week before doi...

compact fjord
simple groveBOT
#

Related: https://github.com/Squirrel/Squirrel.Mac/issues/160

This will whitelist a new signing certificate that will be used for signing Vesktop, so there's no issue with electron builders auto-updater (Squirrel.Mac).

Since https://github.com/Vencord/Vesktop/releases/tag/v1.6.5 only allows updating to versions signed with the same identity, we will need to create a new release with that same identity for it to update to (with the whitelist), t...

loud finch
#

I made an image bc im bad at explaining

loud finch
#

@sly cairn the cert change can’t happen immediately because it breaks the updater (users would need to manually update to the new version) but the release after the next release it can be changed

sly cairn
#

okie dokie

#

im actually getting a mac soon so i can help with mac development in some capacity

#

though cuz its a business machine i can only do a small amount

loud finch
#

huge honestly

#

I don't really know much typescript to help that much with vesktop for macIzzyDead

vernal lintel
#

dw Claude can do it

random nebula
#

what did you use for the img @loud finch

#

looks cute

loud finch
#

pixelmator pro

simple groveBOT
simple groveBOT
loud finch
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

I'm going to be completely honest, I've never seen that before. I was talking about the prior package I made (you can see it here) which Matthew replaced with a direct libvesktop addition due to concerns about reproducibility and lack of proper integration. I'm pretty sure I can set up something like another dockerfile build script to pin rustc/cargo properly for reproducibility on p...

simple groveBOT
simple groveBOT
simple groveBOT
#

If you want to force this to happen, though it's a bit involved.

On Windows OBS allows you to isolate individual program audio, as well as create a virtual camera.

On linux you need to install the linux-pipewire-audio plugin (to isolate audio) as well as the v4l2loopback kernel module and enable it with the exclusive_caps=1 option (to create the virtual camera).

Once you've done that, you can just select the camera option in discord, select the virtual camera, and stream with whateve...

simple groveBOT
#

Are you using the discord desktop client or the discord web client? Afaik Vesktop is a wrapper for the web client, so the desktop version, a native electron app, is not comparable to Vesktop.

On Fri, May 8, 2026, at 04:42, Eliott wrote:

Yot360 left a comment (Vencord/Vesktop#528) https://github.com/Vencord/Vesktop/issues/528#issuecomment-4405396342
Vesktop is still broken, but discord canary looks like it has been working for me.


Reply to this email directly, view it ...

simple groveBOT
#

@SlyCedix I think that the main issue currently is about maintainability. A solution has been proposed via a PR from @quadrinex but the code for it is a bit much. The code is primarily in C++ while most of Vesktop is written in TS / JS. It also doesn't help that @Vendicated looks to be primarily on Linux, making it harder or more annoying of an issue to test and maintain if / when bugs relating to the C++ code from the PR gets submitted.

While sure, the virtual camera workaround looks to...

#

Oh certainly, having everything work out of the box is ideal. I just had already found a bandaid for the problem so I wanted to share it. I was actually here to look at a different issue.

May 8, 2026 11:59:58 arion @.***>:

 [Image]*JustArion* left a comment (Vencord/Vesktop#569)[https://github.com/Vencord/Vesktop/issues/569#issuecomment-4407845536]

@SlyCedix[https://github.com/SlyCedix] I think that the main issue currently is about maintainability. A solu...

simple groveBOT
#

I didn't find any way to make it lighter because electron doesn't support capturing an app audio natively, the solution I used is actually (I think) the same that obs uses to capture an app audio. I may search on making it lighter but i'm pretty sure its not possible to make it in TS / JS for now.

@SlyCedix A solution has been proposed via a PR from @quadrinex but the code for it is a bit much. The code is primarily in C++ ...

#

I wonder if using something like deno's FFI would allow implementing this feature in JS/TS. If that's built as a standalone app, then there is not much issue with running separate runtimes.

https://docs.deno.com/runtime/fundamentals/ffi/

May 8, 2026 17:38:30 Quadrinex @.***>:

 [Image]*quadrinex* left a comment (Vencord/Vesktop#569)[https://github.com/Vencord/Vesktop/issues/569#issuecomment-4410059060]

I didn't find any way to make it lighter because ele...

simple groveBOT
#

The issue isn't language or whatever. It's the fact that this adds additional complexity and something I will have to maintain (I don't even use Windows), for very little gain.

Screenshare on the official Discord app is great on Windows, Vesktop won't ever come close to it. Considering this fact, it'd be a wasted effort just to have an inferior alternative to an already existing solution. I consider this out of scope.

We provide the most basic Windows implementation for people who are okay ...

simple groveBOT
#

Not really. FFI is fine for tiny WinAPI calls, but not for the actual WASAPI process-loopback capture.

That part needs async COM objects, callbacks, native audio buffers, event handles, and careful lifetime/thread handling. Doing it through JS FFI would be fragile and crash-prone, and you’d probably end up writing a native wrapper anyway.

I wonder if using something like deno's FFI would allow implementing this feature in JS/TS. If that's built as a standalone app, then there is not much ...

#

Would a way to pick a camera as a source for the stream from a camera be a good compromise?

If someone from the community wants to make a nice easy companion app for it, that's great. If not, people can use the OBS workaround if they want.

Eventually, maybe a way to launch the application from vesktop later down the line, once it's matured.

May 8, 2026 18:38:09 V @.***>:

 [Image]*Vendicated* left a comment (Vencord/Vesktop#569)[https://github.com/Vencord/Vesktop/is...
sudden trout
#

just close as not planned tbh

simple groveBOT
#

For OBS you can right click on the canvas and click "Open Preview Projector" > "New Window"
Tho a good thing would be to change the audio source to a virtual mic

Would a way to pick a camera as a source for the stream from a camera be a good compromise?

If someone from the community wants to make a nice easy companion app for it, that's great. If not, people can use the OBS workaround if they want.

Eventually, maybe a way to launch the application from vesktop later down the line...

loud finch
#

I like the idea of using obs camera

simple groveBOT
simple groveBOT
#

I gave up on Vesktop ever having this properly fixed, this issue should have been reopened 5 months ago.

Since I've never had issues with the official Flatpak, I now make my own Flatpak from the official manifest, and I add a build step that runs the Vencord CLI before packaging. Badges work and everything. If the official Flatpak is broken for you then there must be something wrong with your KDE configuration somehow 🤔

simple groveBOT
simple groveBOT
#

Pull request overview

This PR updates the macOS build/signing configuration to “pivot” the app’s designated code signing requirement so Squirrel.Mac-based auto-updates can transition from the old signing identity to a new one by allowing both during an interim release.

Changes:

  • Configure electron-builder mac signing to use a custom requirements file.
  • Add a designated requirement expression intended to allow both the old leaf certificate (by SHA-1 hash) and the new Team ID / Dev...
#

The designated requirement here does not constrain the app identifier (bundle ID). When Squirrel.Mac compares designated requirements for updates, a requirement that only checks the signing cert/team can become overly broad and may allow an update payload signed by the allowed identity but with a different identifier. Consider including identifier "dev.vencord.vesktop" (matching build.appId) as part of the designated requirement, and keep the cert allowlist logic inside that identifier/an...

simple groveBOT
compact fjord
#

i bet they added themselves into devs

#

wow they didnt

random nebula
#

@compact fjord you have lost it...

simple groveBOT
simple groveBOT
simple groveBOT
#

Okay I added push to talk in two ways: toggle and start/stop. You can either use it as normal keybind in app and use toggle/two buttons, or you can run it from an external process if you want proper push to talk

<img width="748" height="680" alt="image" src="https://github.com/user-attachments/assets/685e1a2e-d2d2-4de2-9f11-9e3b58dcb2a7" />

I also added decoupled mute/unmute options

Let me know if these work well for you. Also @Malix-Labs please see if the priority PTT works for you

simple groveBOT
#

I tried testing it using

nix run --impure --expr '
 let
   pkgs = import <nixpkgs> {};
   src = pkgs.fetchFromGitHub {
     owner = "Vencord";
     repo = "Vesktop";
     rev = "797c02bdd0d35063ac76d75cffa77b0790f3a657";
     hash = "sha256-xeeg1U0+1lfJxTZQsY5Y49aM66Qp/1zqVkKSiewSxJk=";
   };
 in
   (pkgs.vesktop.override { electron_40 = pkgs.electron_41; }).overrideAttrs (_: {
     inherit src;
     pnpmDeps = pkgs.fetchPnpmDeps {
       pname = "vesktop";
      ...
simple groveBOT
#

Update:

It does trigger the global shortcut portal but only after I closed and relaunched the app, and only for a single shortcut

<img width="1795" height="1052" alt="image" src="https://github.com/user-attachments/assets/bcd05de0-df39-4e36-884c-fd7fc5bd4004" />

And after accepting the prompt, it globally works

However, when I did go into KDE Plasma's settings and deleted the global shortcut, they still were showcased as if they were registered in Vesktop.

Also, it's not possib...

simple groveBOT
simple groveBOT
simple groveBOT
#

Rust binaries are usually reproducible OOTB, although there are some edge cases. I don't have experience with napi, but chances are it might be reproducible already. Making it easier to build for non-Rust people might be sensible though.

Given that Gnome's Mutter is probably the only popular compositor missing ext_idle_notifier_v1, it sounds like we should probably handle it when already considering zbus for KDE's lockscreen.
I won't be able to look into it before the next week.

I mi...

simple groveBOT
#

I'm wondering how relevant all of this is now, considering Discord's latest announcement video regarding Linux:

https://youtu.be/BwNfmazmU4o?t=184

We also fixed a bunch of smaller issues. [...] Wayland idle protocol support, which means you can step away from your desktop, and still get notifications to your phone. [...]

And indeed, I've heard from some friends who don't use Vencord/Vesktop (and by extension don't use my plugin) that they've noticed their idle detection has started...

simple groveBOT
#

Well that's great news for people who use the official client and are willing to switch to it, but I personally don't use the official client and probably won't as long as Vesktop's an option for me, regardless of how good its linux support becomes in the future. Idle detection only works on the official client itself regardless, so Vesktop is completely unaffected by this anyways.

I just wanted feature parity with the official client, and if this is a recent update that means this PR was ...

simple groveBOT
#

Summary

discord:// invite links are dropped on the floor when Vesktop is already running — the window focuses but no join modal appears. This fixes that for both Linux/Windows (via second-instance) and macOS (via post-startup open-url).

Background

#813 added discord:// URL handling, but only at first launch:

  • createMainWindow() reads process.argv / darwinURL and calls loadUrl() once.
  • The second-instance handler in src/main/index.ts ignored cmdLine entirely (...
random nebula
#

vchars —

silk elkBOT
loud finch
#

u didnt even need to check that to see if it were ai btw

random nebula
#

oh yk

loud finch
#

im experienced with ai i would know yk

simple groveBOT
#

Idle detection only works on the official client itself regardless, so Vesktop is completely unaffected by this anyways.

Ah yeah, true. Disregard my previous comment...

4 hours of headaches and I still can't get a destructor working for IdleNotifier.

I wasn't familiar with Napi before reading through the drafts here, but Napi's ObjectWrap API immediately caught my eye. It seems as though the lifetime for objects created through that API are fully controlled by V8, so for the dest...

simple groveBOT
#

I’m completely out of my element with C and C++, so unless someone is willing to fix and extend libvesktop to encompass everything everyone has spoken about, I’d still prefer to put the rust module back in place since it’s something I can at least work on myself. Regarding destructors and the IdleNotifier objects, It’s pretty sure on wayland it’s always there once loaded by the plugin, but only one is loaded per Vesktop instance. Basically, I don’t see a point in a dedicated stop/start system...

digital hare
simple groveBOT
simple groveBOT
simple groveBOT
#

This fixes the main Discord window, but it misses Discord pop-out windows. Electron exposes setWebRTCIPHandlingPolicy on WebContents, and Vesktop creates Discord popouts as separate BrowserWindows, so those popouts get their own webContents.

An idea is that this be centralized in a small helper and applied both to mainWin.webContents and to Discord popouts in setupPopout? Otherwise voice/stream popouts will still hit the DTLS Connecting issue when a VPN interface like Tailscale...

simple groveBOT
deep thicket
#

have there been thoughts of using capacitor?

#

so that vesktop, since its electro, will run on ios and android

vernal lintel
#

you are losing it

deep thicket
#

i am curious as to why it wont work tho

#

ik from a frnd that forked hayase that its possible

#

he doesnt have it working fully yet but it runs

#

i mean, it could work as web app, with ofc tweaks to the site that would make it look/work as the actual app

#

ah fuck it lemme js fork and try and see

narrow pulsar
deep thicket
#

(im going to fail, i barely know javascript)

digital hare
#

Well like, if we wanted this then we would just use our browsers
There’s a reason discord desktop is for desktop

simple groveBOT
#

Review written with ChatGPT.

This sets the application menu globally, but I don't see any matching restoration of the default menu when the popup closes or when the popup URL is no longer relevant. After opening one popup, the app can keep an "Open in browser" item pointing at a stale URL until another menu update or restart. Please restore the default menu when the popup closes, or avoid modifying the global application menu for popup-specific state.

#

Review written with ChatGPT.

"initBrowserPopupMenuBar(win, url)" runs before the URL is parsed/validated and before this popup is confirmed to be the in-app browser popup case. Since "Menu.setApplicationMenu()" mutates the global application menu, denied/invalid/non-browser popup URLs can still replace the app menu. This should probably only run after the handler has confirmed that the popup is allowed and handled as the browser popup.

old juniper
#

wtf 😭

simple groveBOT
#

When sharing audio from an app whose audio plays through a child process (e.g. Rhythia's FMOD subprocess), only the directly selected node was linked, so the actual audio never made it into the stream. Walk PPid via /proc//status to group sibling audio nodes under their topmost audio-owning ancestor and expand include/exclude filters to cover the whole group. Skipped when granular selection is on.

vernal lintel
#

thanks bluesky

#

thats giga ai no?

simple groveBOT
simple groveBOT
#
[Vencord/Vesktop] New branch created: dependabot/npm_and_yarn/axios-1.16.1
#

Bumps axios from 1.7.9 to 1.16.1.

Release notes
Sourced from axios's releases.

v1.16.1 — May 13, 2026
This release ships a defence-in-depth fix for prototype pollution in formDataToJSON, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.
🔒 Security Fixes

Prototype Pollution Defence-in-Depth: Hardened formDataToJSON against already-polluted Object.prototy...

#
[Vencord/Vesktop] branch deleted: dependabot/npm_and_yarn/axios-1.16.1
compact fjord
#

1.7 to 1.16 😭

deep thicket
#

cant be a bump if its a downgade

simple groveBOT
#

Summary

  • Fix screenshare timeout: Reduced thumbnail sizes in the screen picker flow to prevent Discord from timing out while waiting for the Electron media handler callback. Wayland picker thumbnails reduced from 1920x1080 to 320x180 (auto-selected source doesn't need a high-res preview). Large preview thumbnails reduced from 1920x1080 to 1280x720.
  • Fix audio stream memory leak: Audio tracks from getUserMedia were removed from the stream without calling .stop(), leaving nativ...
simple groveBOT
#
[Vencord/Vesktop] New branch created: dependabot/npm_and_yarn/brace-expansion-5.0.6
#

Bumps brace-expansion from 1.1.12 to 5.0.6.

Release notes
Sourced from brace-expansion's releases.

v4.0.1

fmt 5a5cc17
Fix potential ReDoS Vulnerability or Inefficient Regular Expression (#65) 0b6a978

https://github.com/juliangruber/brace-expansion/compare/v4.0.0...v4.0.1
v4.0.0

feat: use string replaces instead of splits (#64) 278132b
fmt dd72a59
add tea.yaml 70e4c1b

https://github.com/juliangruber/brace-expansion/compare/v3.0.0.....

#
[Vencord/Vesktop] branch deleted: dependabot/npm_and_yarn/brace-expansion-5.0.6
compact fjord
#

DONT LET THE HATERS BRING YOU DOWN DEPENDABOT

simple groveBOT
simple groveBOT
#

Flatpak Screenshare Fix — Configuration Side

In addition to the code fixes in this PR, there is a Flatpak configuration issue that independently breaks screen
sharing on Wayland. Documenting here for anyone hitting screenshare problems on the Flatpak build.

Problem

The Flatpak wrapper script startvesktop does not read ~/.var/app/dev.vencord.Vesktop/config/electron-flags.conf.
Any Chromium flags placed in that file (e.g. WebRTCPipeWireCapturer) are silently ignored. ...

simple groveBOT
#

Content

your a actual fucking retard you know that spam a cause ai your a literately retard the discord screensharing is a issue cause ecltron and the picker causes a session to expire because of how ecltron works you litterly get cancer and actually die im trying to help you and you act retarded i apy for this its not 2021 !!!!!!!!!!!!!!!!!!!!

compact fjord
#

LMFAOOOOOOOOOO

#

@vernal lintel

simple groveBOT
compact fjord
#

chuddy gonna zeroday discord

simple groveBOT
#

Symptom

In a flatpak install, toggling "Start With System" succeeds and writes ~/.config/autostart/dev.vencord.Vesktop.desktop, but the autostart unit crashes Chromium on next login:

FATAL:sandbox/linux/suid/client/setuid_sandbox_host.cc:166
The SUID sandbox helper binary was found, but is not configured correctly.
Rather than run without sandboxing I'm aborting now. You need to make sure
that /app/bin/vesktop/chrome-sandbox is owned by root and has mode 4755.

`systemd-xdg-aut...

digital hare
# simple grove

Perfect example of someone (immature) blindly trusting anything ChatGPT says

simple groveBOT
simple groveBOT
#

Perhaps I should give a status update. I'm struggling to reliably detect when the screen is locked in my DE that is COSMIC.

org.freedesktop.ScreenSaver.GetActive API is a nonstandard extension implemented at least by KDE: https://github.com/pop-os/cosmic-idle/issues/5
Based on a quick query through the code it's not implemented by Sway/wlroots, Niri, Jay and Hyprland.

I've also tried to listen on org.freedesktop.login1.Session interface but on COSMIC only lock events appear there: ...

simple groveBOT
#

Oh I completely forgot I had planned to work on this over the weekend T-T. Maybe I do have commitment issues. Anyways, as far as I’m aware it’s by design that lockscreens can’t be detected on wayland so I’m still not sure if it’s something worth pursuing. If you do get it to work that’d be great though! I’m also curious how you’re implementing the lockscreen detection into the powerMonitor api if you’ve done anything on that front yet. I want to slightly tweak the current isIdle api but I kee...

simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

Hey, void linux user here. I have had this issue on my hardware as well and I have found that after extensive testing, only the rpm official package works properly, which also appears to be what the vesktop-bin AUR package sources.

I have had no luck with the flatpak, tarball, deb package, or building from source on multiple different systems (only amd gpus and igpus seem to be affected from my tests). Simply unpacking the rpm and running the binary out of opt however works great even ...

simple groveBOT
#

screen sharing not working on Plasma.

I'm using the AUR package of Vesktop on CachyOS 7.0.9 and screensharing technically "works" for me on KDE Plasma 6.6.5, but the stream very often corrupts and appears extremely distorted:

<img width="1401" height="708" alt="Corrupted stream" src="https://github.com/user-attachments/assets/b015c27b-865a-4f9f-b8b0-fe70b46c9fa3" />

This is a direct screenshot of what the source looks like without any corruption:
<img width="1920" height="1080" alt="Scre...

simple groveBOT
#

What I mainly need is testing on different desktop environments, so you can help with this and report back.

Just thought I'd add here that I was able to successfully get this working for me

Built the global shortcuts branch and tested on my machine (CachyOS + KDE Plasma)

Went into Settings in Vesktop and added keybind there. (Accepted Global shortcut requested prompt)
Then had to go into KDE Settings > Keyboard > Shortcuts, and add keybind there to match with what I entered insid...

simple groveBOT
deep thicket
simple groveBOT
simple groveBOT
#

Also, it's not possible to register a keybind from KDE Plasma's keybind settings, which makes me think they have not been declared and registered properly and are currently implemented as imperatively asking for permissions with a persisting state in vesktop

Instead, they should be declared in some way so that the permission prompt is not required, and to make it possible to register the keybind from the DE settings directly
The state then becomes the DE instead of in Vesktop
I guess...

simple groveBOT
humble mortar
#

wayland global shortcuts are completely different from every other platform

#

you register them all at launch

#

you cant register shortcuts one at a time

humble mortar
vernal lintel
#

the pr impl works fine on kde

#

which is the only backend that has a sane impl

#

the portal is just atrocious and not user friendly

#

also if I installed an app and immediately got prompted to add global keybinds on first launch i would uninstall it again

#

hella annoying

humble mortar
humble mortar
vernal lintel
#

nope

humble mortar
humble mortar
#

all your issues are from the gnome experience and being used to apps owning global keybinds

humble mortar
#

yeah cause electron is bad

vernal lintel
humble mortar
#

vee pay me money and ill finish my pr that makes electron global shortcuts actually work properly

vernal lintel
#

I dont understand why wayland insists on doing everything differently

#

it just hurts user friendliness

humble mortar
#

security or whatever

vernal lintel
#

it will never be the year of the linux desktop with the bullshit wayland is doing

vernal lintel
humble mortar
#

honestly I like waylands shortcut impl cause then all the configurations are in one place

vernal lintel
#

99% of people dont care

vernal lintel
humble mortar
#

the user friendliness is fine if the app dev does Ir correctly

humble mortar
humble mortar
#

genuinely insane that u need to compile and download all of chromium to make like a two like change

#

seven billion gigs

vernal lintel
#

build an electron alternative @humble mortar

#

you cant say tauri etc they're even worse

humble mortar
#

actually horror

#

I dont even think tauri has a wayland global shortcuts impl

#

and the fact that they rely on gtkwebview is so terrible

simple groveBOT
#

Also, push to mute is usful when dealing with a in-game voicechat and being in a unrelated discord voicechat

I also am looking for push to mute, not just toggle mute or push to talk, for this exact reason. Open mic in Discord, and momentarily mute Discord throughout the duration of talking in-game. For the official client, my push to mute keybind in Discord is the same keybind as push to talk in games.

simple groveBOT
simple groveBOT
mellow pelican
#

the global keybinds pr is similar to the thing i did to get global keybinds to work

#

just adding a socket and using something else to send messages to it

#

thats amazing lmao

#

stupid question / probably been considered already but if electron's implementation of keybinds sucks so bad then why not make some lightweight process to run alongside vesktop and handle all the keybinds itself?

sudden trout
mellow pelican
#

ahh

#

right

#

the official discord app supports global keybinds right?

sudden trout
#

it supports keybinds I'm not sure if it supports global correctly instead of being a keylogger

#

it's a keylogger

vernal lintel
#

or if it does its very new

#

but doubt they do

sudden trout
#

I just tested they don't

vernal lintel
mellow pelican
vernal lintel
#

one of the main reasons i rejected the pr

mellow pelican
#

you could always just yell at someone else to maintain it

#

🧠

vernal lintel
#

the responsibility would still be mine gulp

sudden trout
#

I might try some bs tomorrow just to see how much effort it'd be to add to libvesktop

simple groveBOT
simple groveBOT
oblique egret
#

does vesktop run its own electron?

sudden trout
#

nop

simple groveBOT
simple groveBOT
simple groveBOT
#

Just tested this PR in Fedora 44 with KDE Plasma 6.6.

It does trigger the global shortcut portal but only after I closed and relaunched the app, and only for a single shortcut (the other one seems to be ignored)

I got all of my shortcuts to be registered. But removing some of shortcut on Vesktop wouldn't remove them from system shortcuts as @Malix-Labs stated before.

<img width="1929" height="450" alt="изображение" src="https://github.com/user-attachments/assets/91731c48-43e6-435f...

simple groveBOT
simple groveBOT
humble mortar
#

god I hate dbus

#

being spec compliant is sooo annoying