#πŸ–₯-vesktop-development

1 messages Β· Page 27 of 1

simple groveBOT
vernal lintel
#

someone figure out new electron 34 flags

#

chromium 132

#

but theres more flags

simple groveBOT
grand swift
#

It does do pipewire streaming actually

#

It just doesn't have the portal

#

The portal isn't that hard to recreate technically

#

I might have a go at it

#

since you could just return a handle to the gamescope pipewire stream

#

yop

#

I'll look into it in like a week

simple groveBOT
#

Is this still being considered? This is a very important feature for me.
I'd also note that middle-click pasting is still happening even though I have disabled it at OS-level. Webcord and all my other applications respect this, Vesktop is the only one still pasting.

for now you can add --enable-blink-features=MiddleClickAutoscroll in the launch options, and it works

on gnome, i'm still having it pasting even with middle click paste disabled via dconf settings and and this f...

simple groveBOT
#

Discord Account

No response

Operating System

Windows 10

Linux Only ~ Desktop Environment

No response

Package Type

Setup exe

What happens when the bug or crash occurs?

90% of the time the PC restarts, the account simply logs out, and you need to log in again.

Image

What is the expected behaviour?

Show log in every time I restart my pc

How do you recreate this bug or...

vernal lintel
#

just open new pr @humble mortar

humble mortar
#

THEN WHYD YOU LEAVE AS DRAFT

#

im gonna explode

humble mortar
#

we had a convo but i forgor

vernal lintel
#

FIX LINTTT NERDDDD

vernal lintel
#

tomorrow is another day i think

#

i will check tmrw

humble mortar
#

you will cope and have long single line

vernal lintel
humble mortar
#

SCARY

hot juniper
# simple grove

INSANE WHY HAVENT YOU FORCE ENABLED IT YET

or at the minimum just patch out the hide token in vesktop itself

simple groveBOT
#

Is this still being considered? This is a very important feature for me.
I'd also note that middle-click pasting is still happening even though I have disabled it at OS-level. Webcord and all my other applications respect this, Vesktop is the only one still pasting.

for now you can add --enable-blink-features=MiddleClickAutoscroll in the launch options, and it works

on gnome, i'm still having it pasting even with middle click paste disabled via dconf setti...

simple groveBOT
#

Discord Account

mazeymoos0022

Operating System

Windows 11

Linux Only ~ Desktop Environment

No response

Package Type

Setup EXE (Custom)

What happens when the bug or crash occurs?

Hi,

I have been having my friends tell me that my audio echoes their voices into my stream when I stream anything with audio. I have to turn audio off when streaming so they can actually be able to watch the stream and help me out. Issue occurs if I share my whole screen (ie Screen 1) o...

humble mortar
#

one day curve will take adderal and bang out venmic windows in 2 days

grand swift
#

@vernal lintel i will make xdg screencast portal decky plugin

#

soon

humble mortar
#

can decky plugins even interact with dbus like that

simple groveBOT
#

I'm working on adding this feature and have completed the UI, including the "Remember sharing settings" toggle, and the logic for retrieving saved values. I'm currently deciding on the persistence strategy. I'm considering two options:

  • Adding a SharingSettings field to the current Settings Store, which would save these settings within settings.json.
  • Creating a new store and a separate file specifically for sharing settings.

I'd appreciate feedback on which approach is preferred, or if t...

simple groveBOT
vernal lintel
#

im checking rn which of these electron supports

#

it doesnt support chrome://dino :(

#

these are the only things it supports

vernal lintel
#

adding this

#

(ignore that it says Notification Settings)

simple groveBOT
hot juniper
simple groveBOT
#

this markup is very messy and not semantic (using a plain div as a checkbox is very bad. at the very least it should have aria attributes like role that tell user agents that this is a checkbox for visually impaired people and other users of screenreaders). have a look at the rest of Vesktop (& Vencord) Settings UI and see how those implement things like Switches, Checkboxes. Vencord exports a bunch of Discord Components you can use instead of implementing stuff yourself

#

I see, that's fair yeah! Switch is likely not the right Component, but Discord also has a Checkbox component that should be exactly what you want

image

Vencord doesn't export it for some reason, but you can manually find it via const CheckBox = findExportedComponentLazy("Checkbox", "Switch");. Search (Ctrl + Shift + F) for .Checkbox in sources in chrome devtools to find how Discord uses it & which ar...

vernal lintel
#

crazy how we never used that component in Vencord

heady merlin
#

normally it's just used in context menus

#

and that's a different find

vernal lintel
#

technically we alr export it

#

cause it's in that mega module and the Forms export is the whole module xD

#

Forms.Checkbox works but obv u shouldnt use that

simple groveBOT
simple groveBOT
#

That UI lies sometimes. Try streaming and use nvtop and watch the encode bar

Vaapi on amd is only fully supported with vulkan so you might need to enable that. https://wiki.archlinux.org/title/Chromium#Hardware_video_acceleration (Encode seems to work fine with GL for me so ymmv)

Nvidia drivers do not support vaapi so anyone on pure nvidia is out of luck there.

Anyway beyond these generic flags we can't really do more as that may break other setups. Youll have to find flags that ...

humble mortar
#

@vernal lintel did you make me open a useless PR

#

insane

vernal lintel
#

which

humble mortar
#

the vaapi flag thinf

vernal lintel
#

idk is it the same as that pr

humble mortar
#

yes 😭

humble mortar
vernal lintel
#

no but i checked your other pr, thoughts?

vernal lintel
#

worse than getting waterboarded for 2 hours straight

humble mortar
#

oki dont test and trust my word and the guy that said it worked

#

smile

humble mortar
#

I have two billion

#

if ur talking about the link event one

#

switching to real IPC seems like a good choice

#

less insane

vernal lintel
#

yeah im gonna do that

#

I was lazy so I didn't lol

vernal lintel
#

classic chrome moment

#

what gpu do u have @humble mortar @humble mortar @humble mortar

#

I can test on my gpu I have amd 6700xt

#

I also have a Vega 10 (integrated ryzen graphics) (shit gpu) πŸ”₯

humble mortar
#

I'll share the flags I use for full hardware accel later

#

but tldr I enable vulkan and override the available vulkan interfaces to just be my igpu since chromium is SHIT and kills itself if nvidia is present

#

you lovee

humble mortar
simple groveBOT
#

Yeah... looks like it's not using my GPU encoder at all.

If I pass --enable-features=Vulkan, I get this error on startup (with Wayland enabled):

[82043:0124/014124.666709:ERROR:wayland_surface_factory.cc(237)] '--ozone-platform=wayland' is not compatible with Vulkan. Consider switching to '--ozone-platform=x11' or disabling Vulkan

Ignoring the error above, it seems to use about 10-20% of my encoder when I screen share, but my friend tells me there's a lot of datamoshed/"bla...

humble mortar
#

either way all of this is useless because of the Discord stroking out and not loading vaapi encoded streams on some peoples ends issue

simple groveBOT
simple groveBOT
#

Discord Account

No response

Operating System

Fedora Linux 41 (Workstation Edition) (Kernel: 6.12.9-200.fc41.x86_64)

Linux Only ~ Desktop Environment

Gnome on Wayland

Package Type

Flatpak

What happens when the bug or crash occurs?

The rich presence has been broken on some apps since the last update. Some applications show its presence successfully, like the [Discord Rich Presence for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=LeonardS...

simple groveBOT
humble mortar
#

discord broke rpc????

vernal lintel
#

ye

#

fixed again

simple groveBOT
#

Discord Account

keqwerty

Operating System

Arch Linux (6.6 LTS Kernel)

Linux Only ~ Desktop Environment

Gnome on Xorg

Package Type

Flatpak (also tried AUR)

What happens when the bug or crash occurs?

The bug happens when I play a game on Proton and start screen sharing. It doesn't matter if the window or the whole screen is captured, if the audio is on or not, and the quality of the screen sharing doesn't matter either. I don't know if this only happens on Proton ga...

simple groveBOT
#

I wouldn't bet on Vulkan too much. First Chromium build to support AMD VA-API few months back required Vulkan, but lately they added missing OpenGL support and balanced that out by breaking Vulkan-Wayland integration again symbolized by that ugly warning

[82043:0124/014124.666709:ERROR:wayland_surface_factory.cc(237)] '--ozone-platform=wayland' is not compatible with Vulkan. Consider switching to '--ozone-platform=x11' or disabling Vulkan

but if I force Vulkan, everything continues to...

simple groveBOT
simple groveBOT
humble mortar
#

electron apps are notoriously bad at performance management when the CPU is under load

#

youre kinda cooked either way

#

especially if youre limited and can't hardware offload

hot juniper
#

discord just decided that instead of making a native app they will write native code as a workaround for chromium being a mess

#

is there hope for chromium?

humble mortar
#

wayland plasma

#

these people are all insane

simple groveBOT
hot juniper
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

Discord Account

No response

Motivation

everytime I launch the app the loading gif causes me to lose braincells. I dont want to see some animal chick shaking her ass every time I launch the app. Please add the ability to change the gif as a user, or change the gif completely.

Solution

Please add the ability to change the gif as a user, or change the gif completely.

Alternatives

changing the gif.

Additional context

No response

Request Agreement

  • [x] I hav...
humble mortar
#

scrubblynuggets

woeful current
#

@humble mortar will be eaten alive

simple groveBOT
rotund pantherBOT
#

An error is present when compiling the package "vesktop-git" from the AUR. A log of the problem is attached.

==> Starting build()...
Lockfile is up to date, resolution step is skipped
Packages: +665
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 0, reused 641, downloaded 0, added 665, done

> vesktop@1.5.4 post...
humble mortar
#

VEEEEEEEE

#

@vernal lintel VEEEEEE

vernal lintel
#

what

humble mortar
#

the pkgbuilds use corepack pnpm and that postInstall script somehow escapes and tries to use system

vernal lintel
#

you love

humble mortar
#

NO

#

revert that commit rn

#

its bad and stupid and bad

#

@wet cove will merge arrpc/130

rotund pantherBOT
humble mortar
woeful current
#

or replace package.json on fly

vernal lintel
#

it's normal

humble mortar
#

ok but the more sane change is in a PR coming soon ℒ️

#

its horrible too youre just slightly updating the thingy with no updates after its compiled

simple groveBOT
scenic hollow
#

@floral ledge @humble mortar i've made a bunch of changes for preregistering keybinds on globalkeybinds do yall have any comments so far blobcatcozy

simple groveBOT
#

Discord Account

No response

Operating System

Linux

Linux Only ~ Desktop Environment

KDE Wayland

Package Type

AppImage

What happens when the bug or crash occurs?

I noticed that when you resize the window, and rendering is catching up - there's a white background in the new area.
It doesn't happen on the original Discord client.
I know that Chrome allows using a custom color to make the transition almost invisible, so in this case the correct color would be gr...

simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
small lionBOT
#

Alright @humble mortar, in 1 day and 6 hours: take a look

floral ledge
#

the xdg pr got merged

#

finally.. app id scourge eliminated

simple groveBOT
simple groveBOT
simple groveBOT
#

Discord Account

xd_sk7str1p3_4d

Operating System

NixOS 25.05 Warbler

Linux Only ~ Desktop Environment

Gnome on Wayland

Package Type

Nixpkg

What happens when the bug or crash occurs?

Trying to set RPC up. Found some info, enabled RPC in vencord settings and installed arRPC package (with home-manager if matters). So I launch my games (MindWave if matters) and vesktop see nothing. Working with original discord client

What is the expected behaviour?

Working RPC
...

simple groveBOT
simple groveBOT
small lionBOT
#

@humble mortar, <t:1737996360:R>: take a look

next sundial
small lionBOT
#

Alright @next sundial, in 3 days: could it?

humble mortar
#

its still same old insane x11 keybinds

next sundial
#

it seems chromium added support for the wayland global keybinds protocol

#

not in electron yet, however

humble mortar
humble mortar
next sundial
humble mortar
next sundial
#

like in the windows app where the audio capture mechanism is proprietary

humble mortar
next sundial
next sundial
humble mortar
#

discord has their own system

humble mortar
#

patch the js and css

next sundial
#

if the code that makes wayland sharing work is proprietary

#

it will introduce more difficult into the vencord developers' lives to be able to bring the feature to vesktop

#

I guess their solution only applies to the official discord app and is not present in the web client

#

which makes it harder to reverse-engineer

humble mortar
#

no

#

the css and js is there it just isnt run

oblique egret
#

peak.

#

ah nvm ic

next sundial
#

I believe Vesktop will adopt Wayland keybindings ASAP

oblique egret
#

from experience, electron isnt so much 1:1 chromium as people would like it to be

next sundial
#

I think many of the problems from Electron are due to the Chromium sandbox, so the fault is on Chromium maybe

simple groveBOT
#

Discord Account

No response

Motivation

Flathub release is still stuck to 1.5.3, while the latest 1.5.4 has been out for almost two months, when is it getting updated?

Solution

update the flathub release

Alternatives

none

Additional context

No response

Request Agreement

  • [x] I have searched the existing issues and found no similar issue
  • [x] This is not a plugin request
  • [x] This is not a Vencord feature request
vernal lintel
#

huh why didn't it update

carmine drum
#

moment

#

theres literally a commit for it on the manifest though lmao

simple groveBOT
simple groveBOT
simple groveBOT
humble mortar
#

chatgpt code fr

simple groveBOT
simple groveBOT
simple groveBOT
#

Discord Account

No response

Operating System

Fedora 41

Linux Only ~ Desktop Environment

Gnome On Wayland

Package Type

Flatpak

What happens when the bug or crash occurs?

I have Minecraft installed as a flatpak and is located in .var folder. Minecraft has it's own folder for storing sceenshots inside the where the game launcher is located. Using FlatSeal I've given Vesktop access to the whole filesystem, yet it still can't see the hidden .var folder. Copying the s...

next sundial
vernal lintel
#

maybe, maybe not. does it matter?

#

test it and see :P I doubt those perms allow you to overwrite files of those things

#

probably not cause those are special perms

#

writing might be required to create config files and similar

next sundial
next sundial
#

but I remember seeing those same perms with read-only in other apps IIRC

next sundial
#

is the pipewire perm. used for screensharing?

#

if so, may be the same cause of that chromium issue and can also be removed

vernal lintel
#

no

simple groveBOT
humble mortar
#

literally ai 😭 😭

woeful current
fallow quail
simple groveBOT
humble mortar
#

@vernal lintel are you going to revert the update arrpc detectable post install script commit

vernal lintel
#

no?

humble mortar
#

guhhh

#

why not?

vernal lintel
#

why?

humble mortar
#

its a pretty bad solution to the problem & if its left i have to patch it for the pkgbuilds

vernal lintel
#

how is it bad solution and no you dont

humble mortar
#

it only updates the detectable at build time so its pushing the issue farther away unless youre rebuilding constantly & i do need to patch the pkgbuilds because they use corepack pnpm so the build will fail if they dont have system pnpm

vernal lintel
#

so dont use corepack pnpm

humble mortar
#

using system pnpm adds an extra dep :p

vernal lintel
#

makedependency

#

building electron app takes like 500mb of shit, the few mb of pnpm won't hurt

humble mortar
#

still needs to be downloaded and installed then the user will have to remove it after which leaves files behind

vernal lintel
#

also corepack pnpm literally downloads pnpm

humble mortar
#

makedeps still download and install

humble mortar
#

not to the system

#

either way the pkgbuilds arent the main issue

vernal lintel
#

just add pnpm as makedep

#

youre creating a problem that isnt real

humble mortar
#

im not attached to corepack!!! im just saying the post install thingy is a bandaid that isnt a very good solution

vernal lintel
#

better than nothing

humble mortar
#

you coulddd do the runtime updating pr

worn harness
#

pnpm had issues which is why i switched to corepack

humble mortar
#

zootie spatootie

worn harness
#

@humble mortar hiii

#

ERR_PNPM_BAD_PM_VERSION  This project is configured to use v9.1.0 of
pnpm. Your current pnpm is v9.1.1

#

this

vernal lintel
#

pnpm install --config.package-manager-strict=false

worn harness
#

husk

#

what was wrong with corepack though

#

its always worked reliably for me

rotund pantherBOT
simple groveBOT
#

Discord Account

byronius

Operating System

Nobara 41 (Fedora fork)

Linux Only ~ Desktop Environment

KDE Plasma on Wayland

Package Type

AppImage

What happens when the bug or crash occurs?

My game framerate drops to an unplayable level (unstable 5-15 fps regardless of game) while streaming unless watching someone else's stream. Using an Nvidia system of 565 drivers.

What is the expected behaviour?

I expect streaming through Vesktop to affect my framerate the sa...

humble mortar
#

im going to lose my mind

simple groveBOT
simple groveBOT
next sundial
#

IDK if this has any impact on Electron, but I hope it does

simple groveBOT
humble mortar
#

it does mean that steam and spotify might work properly under pure wayland though

hot juniper
simple groveBOT
simple groveBOT
simple groveBOT
simple groveBOT
#

Discord Account

No response

Motivation

I think it would be great if Vesktop allowed users to customize the app’s icons (desktop & taskbar) and the loading screen (shiggy.gif) without having to modify core files manually. Right now, changing these requires extracting and repacking the ASAR archive, which is tedious and gets reset with updates.

Solution

A built-in option in the settings to change the app icons and loading screen would make customization much easier. This way,...

cyan flame
small lionBOT
#

@next sundial, <t:1738156505:R>: could it?

simple groveBOT
sudden trout
#

😭

simple groveBOT
simple groveBOT
simple groveBOT
#

I made a simple D-Bus interface to interact with Discord. Currently, it has 2 methods (ToggleMute and ToggleDeafen) and 2 properties (Muted, Deafened).

https://github.com/user-attachments/assets/9a177d8b-c07d-4a6c-afe8-7386f987df9d

I'm aware there's a PR in the works for global shortcuts, which makes use of the xdg-desktop-portal GlobalShortcuts API (#326). Personally, I don't care much for the GlobalShortcuts API, as it doesn't work well with declaratively configured compositor...

simple groveBOT
vernal lintel
#

mean 😭

humble mortar
#

those other ones should be closed too πŸ—£οΈ

vernal lintel
#

i will just let them brawl it out

#

whoever wins has their PR win

#

and the others are closed

humble mortar
#

326 is the most comprehensive solution

#

all others will get one tapped

simple groveBOT
#

Discord Account

No response

Operating System

Fedora 41

Linux Only ~ Desktop Environment

Gnome on wayland

Package Type

Flatpak

What happens when the bug or crash occurs?

the vesktop windows always opens maximized (on the monitor where my mouse cursor is, but this is not the issue although I don't know if it's normal behaviour the fact that it opens maximized always) and for a while now the window when unmaximized has been stuck unable to be resized. Also when I l...

#

A D-Bus API isn't a replacement for global shortcuts, it's orthogonal. It would allow for your desktop shell (or VR overlay) to display the muted/deafened status (and could be expanded to expose even more information, such as the current voice channel, number of users in VC, etc... you can use your imagination).

While #326 has a way to invoke shortcuts via CLI, it requires booting up an entire instance of electron just to do IPC... not to mention that vesktop --keybind 2 isn't exactly ve...

simple groveBOT
humble mortar
#

speaking of

#

@scenic hollow I think the CLI stuff should function similarly to XDP. all options are available from the get go

#

i actually had a local branch that made that change but I think I nuked it silly

hot juniper
#

i would rather see dbus support than rpc

humble mortar
#

id kms before Vesktop reimplemented discord RPC but worse and linux only

hot juniper
humble mortar
#

dbus is a horror show

hot juniper
#

i never said it wasnt

humble mortar
#

insane

hot juniper
#

i dont think websockets are sane

#

yes it might be better for stock client compatibility

#

but at that point just make dbus plugin for vencord

#

vencord needs dbus itself so bad

#

so many good ideas could come from having a sane dbus api in vencord

humble mortar
#

youre delulu

#

comment and tell the guy to implement it as a userplugin TROLLEDCRAZY

hot juniper
#

userplugin

#

the functionality that is supported by userplugins is absolutely lacking for something like this

#

that uses node native bindings

#

implementing that as a userplugin would probably involve something insane like including it as a file import and writing it as a temp file at runtime

#

trust me d-bus is more sane for something like shell widgets

#

even though d-bus is horror

simple groveBOT
#

I feel like D-Bus would be a better solution for desktop shells in particular. I've actually tried (probably about a year and a half ago) to make something like this, and failed because of how bad Discord's own RPC protocol is. I actually tried to make my own protocol through a plugin that listened for connections on a unix socket as a result of that.

I don't think brushing off D-Bus because it's overcomplicated is the right solution, especially not considering that there is currently no a...

hot juniper
#

trol

vernal lintel
simple groveBOT
#

I agree with @Covkie that arrpc would be the right way to implement more advanced features (like muted/deafened status, etc). Though, on Linux, D-Bus is ubiquitous, making it the natural choice for IPC.
Reimplementing all of discord's RPC and exposing it via D-Bus doesn't seem like the right way to go, but surely there's a middle ground somewhere.

I can give userplugins a try, but I don't really fancy the idea of maintaining a fork just for this... if only there was a way to dynamically l...

simple groveBOT
simple groveBOT
vernal lintel
#

it says that "we can setup a virtual cable"

#

but it doesn't do that anywhere

#

it just queries devices with pwsh

#

and randomly changes lint for some reason frcoal

simple groveBOT
vernal lintel
#

@humble mortar this is what I was talking about

#

u can change ur PR to that

#

main: ```js
const languages = await sendRendererCommand(IpcCommands.GET_LANGUAGES);

renderer: ```js
onIpcCommand(IpcCommands.GET_LANGUAGES, () => navigator.languages);
humble mortar
humble mortar
humble mortar
#

Oh that obs streamer mode pr I have

#

i just realized a much less insane way to do it

sour muralBOT
# vernal lintel https://github.com/Vencord/Vesktop/blob/main/src/main/arrpc.ts#L27 https://githu...

arrpc.ts: Line 27

await sendRendererCommand(IpcCommands.RPC_INVITE, invite).then(callback);

arrpc.ts: Lines 26-40

onIpcCommand(IpcCommands.RPC_INVITE, async code => {
    const { invite } = await InviteActions.resolveInvite(code, "Desktop Modal");
    if (!invite) return false;

    VesktopNative.win.focus();

    FluxDispatcher.dispatch({
        type: "INVITE_MODAL_OPEN",
        invite,
        code,
        context: "APP"
    });

    return true;
});
humble mortar
#

vencord standard invite parser??

#

oh wait thats from webpack

scenic hollow
simple groveBOT
woeful current
simple groveBOT
humble mortar
#

can we get tauri vesktop rewrite

cyan flame
humble mortar
#

why the hell is the lint doing this

vernal lintel
#

it doesn't

#

you're insane

humble mortar
#

😭

#

IT KEEPS PUTTING IMPORTS ABOVEE THEN ADDING A NEW HEADER

#

also

#

vesktop is horribly laggy

#

like

#

normally you can hold a key and see each letter appear in the text box

#

now its in chunks and horrible

#

latest dev vencor

humble mortar
#

what the hell

sudden trout
#

I'm on the latest git commit for vesktop and it's fine for me even with my pile of scuffed css and themes

humble mortar
#

all plugins off too

#

😭

vernal lintel
#

skill issue

#

look at online themes / quickcss

#

and update vencord too

humble mortar
#

??? i had quickcss toggled off but it was still importing

#

insane

#

toggle state was desynced??

sudden trout
humble mortar
#

yea

#

hide nitro upselling is cooked

#

lovee

sudden trout
#

insane

humble mortar
vernal lintel
#

had to optimise a lot of Vencord's and Vesktop's css

humble mortar
#

how do they even accomplish that 😭

#

anti theme tactics fr

#

if i have the IPCCommands import above the let server it freaks out and fucks up the prettier

#

??

#

WHAT IS HAPPENING

vernal lintel
#

you are insane

#

restart vscode

humble mortar
#

I HAVEE

vernal lintel
#

I cursed your pc as a punishment

#

maybe that's why

#

let me uncurse

vernal lintel
#

and push

humble mortar
#

WHO INSTALLED THIS MALWARE

vernal lintel
#

meeeee

#

horror how did you find my email @humble mortar

humble mortar
#

oops

#

sorriee

#

can NavigationRouter.transitionTo fail

#

all checks passed tyuppeee

vernal lintel
#

so how do i test ur pr

humble mortar
humble mortar
vernal lintel
#

look in console

vernal lintel
#

fire it works

humble mortar
vernal lintel
#

NavigationRouter

#

well it's a proxy but

#

either {...NavigationRouter} or look at [[Target]].[vencord.lazy.cached]

#

that module has way more functions too

#

but Vencord only exports these

humble mortar
#

buh it says its undefined

vernal lintel
#

fwiw

#
[Z.Etm.DEEP_LINK]: {
                scope: S.cE,
                handler(e) {
                    let {args: {type: t, params: n}} = e;
                    switch (N.ZP.focus(),
                    t) {
                    case S.jE.USER_SETTINGS:
                        null != n && ((0,
                        g.dL)(Z.Z5c.SETTINGS(n.section, n.subsection)),
                        x(n.fingerprint, "settings"));
                        break;
                    case S.jE.CHANGELOG:
                        null != n && ((0,
                        g.dL)(v.Z.formatPathWithQuery(Z.Z5c.CHANGELOGS(n.date), n.query)),
                        x(n.fingerprint, "changelog"));
                        break;
                    case S.jE.LIBRARY:
                        (0,
                        g.dL)(Z.Z5c.APPLICATION_LIBRARY),
                        null != n && x(n.fingerprint, "library");
                        break;
                    case S.jE.STORE_HOME:
                        (0,
                        g.dL)(Z.Z5c.APPLICATION_STORE),
                        null != n && x(n.fingerprint, "store");
                        break;
                    case S.jE.STORE_LISTING:
                        null != n && ((0,
                        g.dL)(Z.Z5c.APPLICATION_STORE_LISTING_SKU(n.skuId, n.slug)),
                        x(n.fingerprint, "store"));
                        break;
                    case S.jE.PICK_GUILD_SETTINGS:
                        null != n && ((0,
                        g.dL)({
                            pathname: Z.Z5c.PICK_GUILD_SETTINGS(n.section, n.subsection),
                            search: n.search
                        }),
                        x(n.fingerprint, "guild_settings"));
                        break;
                    case S.jE.CHANNEL:
                        null != n && ((0,
                        g.dL)({
                            pathname: Z.Z5c.CHANNEL(n.guildId, n.channelId, n.messageId),
                            search: n.search
                        }),
                        x(n.fingerprint, "channel"));
                        break;
                    case S.jE.QUEST_HOME:
                        null != n ? ((0,
                        g.dL)({
                            pathname: Z.Z5c.QUEST_HOME,
                            hash: n.questId
                        }),
                        x(n.fingerprint, "quest_home")) : (0,
                        g.dL)(Z.Z5c.QUEST_HOME);
                        break;
                    case S.jE.DISCOVERY_GAME_RESULTS:
                        null != n && ((0,
                        g.dL)({
                            pathname: Z.Z5c.GLOBAL_DISCOVERY_SERVERS,
                            search: "?game=".concat(n.gameId)
                        }),
                        x(n.fingerprint, "discovery_game"));
                        break;
                    case S.jE.OAUTH2:
                        let i = new URL(Z.Z5c.OAUTH2_AUTHORIZE,window.location.origin);
                        i.search = n.search;
                        let l = (0,
                        p.getOAuth2AuthorizeProps)(i.toString());
                        if (null != l)
                            return (0,
                            p.openOAuth2ModalWithCreateGuildModal)(l),
                            !0;
                        return !1
                    }
                }
            },
#

you should just call this handler

#
const { DeepLink } = findLazy(m => m.DEEP_LINK?.handler);

DeepLink.handler({ args: data });
humble mortar
#

womp so theres more fingerprints

#

gurrggg

vernal lintel
#

but i'm pretty sure this is DiscordNative

#

so it will error on vesktop

#

yes it is

#

you either have to patch this function to remove the desktop only call(s) or rewrite it

humble mortar
#

or just patch that native focus thing

vernal lintel
#

no

#

you can't

#

you have to patch that function and replace it with VesktopNative.win.focus or remove it

humble mortar
#

mh

humble mortar
humble mortar
#

NO

vernal lintel
#

or do u want help

humble mortar
#

i havent tried

#

i got sidetracked by the connections thing

vernal lintel
humble mortar
#

ok ready to try

#

uhhhh

humble mortar
vernal lintel
#

uh

#

findLazy

#

sorry

humble mortar
#

ok so

#

findLazy wasnt working

#

but if i findAll i can destructure to the right function and call it and it works

vernal lintel
#

no

#

you're doing something wrong

#

do not use findAll

#

findLazy is what you need

humble mortar
#

nothing from Lazy

vernal lintel
#

the lazy is correct bestie..

humble mortar
#

IDK HOW IT WORKS 😭

#

help

humble mortar
#

that gives proxyLazy called on a primitive value

vernal lintel
#

show code and error

humble mortar
#

literally exactly what you have

vernal lintel
humble mortar
#

is that a youre dumb stare or a what thje hell stare

vernal lintel
#

me for giving you wrong code, you for not noticing the error

humble mortar
#

IDK HOW FINDLAZY WORKS

vernal lintel
#
- const { DeepLink } = findLazy(m => m.DEEP_LINK?.handler);
+ const { DEEP_LINK } = findLazy(m => m.DEEP_LINK?.handler);

- DeepLink.handler({ args: data });
+ DEEP_LINK.handler({ args: data });
humble mortar
#

ok i literally tried that and got the same result

humble mortar
#

IT WORKED

#

../,..,

#

.,,.,

vernal lintel
#

ofc it works 😭

humble mortar
#

i am so sure i tried that

vernal lintel
humble mortar
vernal lintel
#

there is no difference between find and findLazy other than that findLazy is .... lazy

#

under the hood there is a big difference but you don't need to know that

#

normal = finds immediately, won't work because top level code runs way too early (before discord code is available)
lazy = finds on first use

humble mortar
#

gah

vernal lintel
humble mortar
#

"you fucked up your shit"

vernal lintel
#

Property 'DeepLink' is undefined. You probably tried to access a property that simply doesn't exist

#

better error

humble mortar
#

youre no fun

vernal lintel
#

just ignore that it says proxy

#

the proxy looks confusing tho yeah

humble mortar
#

where in the proxy structure does the actual matched thingy live

vernal lintel
#

Symbol(vencord.lazy.cached)

#

it will be undefined if the lazy hasn't been used yet

humble mortar
#

ohhHHH

vernal lintel
humble mortar
#

oki doki pushed

vernal lintel
#

js Proxy allows you to intercept all object accesses. we have a handler ("trap") for get that gets called whenever you access a property on the proxy.

then it checks if the cache (Symbol(vencord.lazy.cached)) is populated already. If not, it calls Symbol(vencord.lazy.get) which is the function you pass to the lazy (with findLazy, this is just find()) and stores it in cache. then it redirects your property access to that object instead

#

it's just syntax sugar for something like this:

let DEEP_LINK;
function getDEEP_LINK() {
  if (!DEEP_LINK) {
    DEEP_LINK = find(m => m.DEEP_LINK?.handler).DEEP_LINK;
  }
  return DEEP_LINK;
}

getDEEP_LINK().handler();
humble mortar
#

oh i just realized now that the the arrpc stuff is split up it can be threaded easily now

#

the #1053 pr

humble mortar
#

WHAT

#

i renamed it not deleted whyd it do that 😭

humble mortar
#

studipid

simple groveBOT
hot juniper
#

i might go install that at some point trolley

real glade
#

yall are evil webpack geniuses

simple groveBOT
next sundial
#

for me, the app crashes if I don't select any screen/window when clicking to screenshare (and instead close the KDE pop-up window). is it a known bug?

simple groveBOT
vernal lintel
#

try again in latest main branch

next sundial
humble mortar
vernal lintel
#

we should add an option to enable this in vesktop

#

might come in handy

#

Also why do they need a crash dump for something that's so easy to reproduce

#

do they have 0 devs who use linux or smth

#

isn't electron github

#

oh no it isn't

#

it's openjs which is a lot of companies
fire

humble mortar
#

the actual data is generated anyway

#

i dont think ive ever had vesktop crash that was actually Vesktops fault

#

peak

humble mortar
vernal lintel
#

tbf that's just the bot

#

it does that to every issue

humble mortar
#

nop a real human tagged it as needing the gist

vernal lintel
#

real

#

tbh we should copy the tag > bot posts comment thing

#

I'm tired of explaining the same thing 2 billion times

humble mortar
#

Tessie tags

#

tag as dupe and it finds all dupes

#

real

simple groveBOT
#

Discord Account

euphoric.cat

Operating System

Arch Linux

Linux Only ~ Desktop Environment

KDE Plasma 6

Package Type

AppImage

What happens when the bug or crash occurs?

When you turn on a webcam with Vesktop, the camera resolution is automatically lowered to 432x240 at 30fps, I've witnessed it happening in real time from 1080p30 -> 240p using cameractrls when i enable my webcam in a voice call.

-Using the official Discord client, the webcam also stays at 1080p.
-U...

azure verge
simple groveBOT
humble mortar
#

veeeeeee 😭😭

simple groveBOT
#

Discord Account

keqwerty

Motivation

So Discord just released a new UI without any choice. There are no window control buttons on Linux when I use Discord's title bar (I can't disable it because the default frame window system on Wayland works weird)
https://i.imgur.com/q7A4EJn.png

Solution

Just add new window control buttons to Discord Title Bar

Alternatives

N/A

Additional context

No response

Request Agreement

  • [x] I have searched the existing issues and ...
humble mortar
#

i assume the patch for visual refresh is different

#

what the hell is this

#

why does web have the bar πŸ’€πŸ’€πŸ’€πŸ’€

#

thats insane

#

like genuinely

#

what does discord desktop do on linux then

#

as it does native title bar

#

dont tell me it just has the massive empty space

simple groveBOT
simple groveBOT
vernal lintel
simple groveBOT
humble mortar
simple groveBOT
#

This will likely not be fixed until this redesign gets fully rolled out and becomes stable. right now it's only an in development experiment Discord is doing, so it is still subject to frequent change

Would it be a good idea to migrate to patching the module containing the wrappers for the buttons? I'm willing to do this, in addition to adding support for the windowKey argument that these methods consume (so window buttons in popouts work properly)

hot juniper
vernal lintel
#

@humble mortar are u gonna fix rn

#

if no i will

#

okay im fixing

simple groveBOT
humble mortar
#

@vernal lintel VEEE the obs pr arrpc hash doesnt have the link changes!!!

#

4ad8add175158b676b4936c1292775704595a4b5

#

change to that hash

vernal lintel
#

see that comment

humble mortar
vernal lintel
#

but discord seems to change the database very often lol

#

so it might be useless

#

anyway that header is still better than hardcoding 24h

#

we can just always send the request using that header and if it hasn't changed, it will only transfer a few hundred bytes

humble mortar
#

truee

#

i will do next time I'm on my laptop

humble mortar
vernal lintel
#

yess

#

chilleee

#

oh my god what is it doing

#

scary

humble mortar
#

virus

#

you cannot stop it

vernal lintel
#

when you alt tab, sometimes it spams two billion tab inputs to the now focused app

#

it makes discord lag so hard

humble mortar
#

lmao???

vernal lintel
#

i couldnt find anything about it

#

maybe it's just me

humble mortar
#

are you holding tab or something

simple groveBOT
vernal lintel
humble mortar
# simple grove

VEEE THAT HASH DOESNT HAVE THE NEEDED CHANGE FOR OBS DETECTION ON LINUX

#

i gave you the right one guuhhhggg

vernal lintel
#

bestie it's latest main branch snackstare

humble mortar
#

bestie the needed change is pr 129 not merged into arrpc yet

vernal lintel
#

force ducko to merge rn (right now)

simple groveBOT
humble mortar
humble mortar
#

realistically Electron should be doing this shit themselves

#

I'd pr it to them but I'm scared of the codebase

#

love

vernal lintel
#

electron should expose a raw dbus method

oblique egret
#

i've been merging a simple docs improvement for over 2 months now

vernal lintel
humble mortar
#

obs spawns itself with the path as just 'obs' so arrpc falsely filters that out resulting in no detection

#

bwrapped processes also spawn themselves like that so theres other cases for that patch

simple groveBOT
vernal lintel
#

my grandma always said: If the description includes "Enhance" it's probably AI

#

nvm we found the one person who actually says enhance

vernal lintel
#

horror commit message

humble mortar
#

new record for fastest pr merge

#

(real)

humble mortar
#

kys

#

will github ban me for saying kys in discussions

#

oh wrong one

#

there

vernal lintel
humble mortar
#

i can't tell if thats genuine or a joke cause I accidentally linked that 😭😭😭

vernal lintel
#

@humble mortar can you apply either what ducko proposed or what you proposed to ur PR

simple groveBOT
vernal lintel
#

actually i canj ust make those changes

simple groveBOT
simple groveBOT
#
[Vencord/Vesktop] New tag created: v1.5.5
#
[Vencord/Vesktop] branch deleted: ci/meta-update
vernal lintel
#

cookie is gonna kill me once she realises this release doesn't include OBS auto streamer mode support

#

@humble mortar can u update the PKGBUILD .desktop files to add discord scheme whenever u have time please

humble mortar
#

yuob

vernal lintel
#

instant reply scary

humble mortar
#

did u remember for the flatpaj

vernal lintel
humble mortar
vernal lintel
#

BASED

#

banger game

humble mortar
vernal lintel
#

ohhh

humble mortar
#

i told u in the github comments 😭😭

vernal lintel
#

true

humble mortar
#

guhb

vernal lintel
#

how fix

#

bro expects me to read github comments

humble mortar
#

i told u in the github comments 😭😭

#

i told u in the github comments 😭😭

#

i told u in the github comments 😭😭

vernal lintel
#

vban spam

silk elkBOT
humble mortar
#

or did u revert

vernal lintel
#

nah the commit is still there just targetting arrpc main

#

we'll add it next release there's no rush

humble mortar
#

no I mean the patch that enables the toggle in the client

vernal lintel
#

oh yeah it's there

#

but it's okay no one will notice

humble mortar
#

SURELY

#

ok I go pass out

vernal lintel
#

thanks for all the PRs btw

humble mortar
#

yopyop

vernal lintel
#

we will have to wait 3 billion years for flathub bot to build

rotund pantherBOT
vernal lintel
#

now that we have autoupdater so it doesn't show the updater view anymore we need some way to view vesktop changelogs in app

#

maybe we should just open an inapp changelog on first launch

humble mortar
#

make the about page not ass first

vernal lintel
#

why

humble mortar
#

it needs a shiggy

vernal lintel
#

😭

#

btw you clearly didn't test that commit u pushed to the hide splash or

humble mortar
#

its vesktoping time

vernal lintel
#

either that or you only tested with splash theming disabled

humble mortar
#

i have no memory of that commit im so real

vernal lintel
#

cause splash theming was broken and stored oklab instead of rgb

humble mortar
#

LOVEEE

vernal lintel
#

which electron doesn't support as backgroundColor

#

so instead of your theme colour it was just a flashbang

humble mortar
#

ohh i bet that was a change in recent electron

#

it def worked b4

#

or your theme does oklab

#

or something

vernal lintel
sour muralBOT
# vernal lintel fixed it with this atrocity https://github.com/Vencord/Vesktop/blob/main/src/ren...

themedSplash.ts: Lines 17-37

const linearToGamma = (c: number) => (c >= 0.0031308 ? 1.055 * Math.pow(c, 1 / 2.4) - 0.055 : 12.92 * c);

function oklabToSRGB({ L, a, b }: { L: number; a: number; b: number }) {
    let l = L + a * +0.3963377774 + b * +0.2158037573;
    let m = L + a * -0.1055613458 + b * -0.0638541728;
    let s = L + a * -0.0894841775 + b * -1.291485548;
    l **= 3;
    m **= 3;
    s **= 3;
    let R = l * +4.0767416621 + m * -3.3077115913 + s * +0.2309699292;
    let G = l * -1.2684380046 + m * +2.6097574011 + s * -0.3413193965;
    let B = l * -0.0041960863 + m * -0.7034186147 + s * +1.707614701;
    R = 255 * linearToGamma(R);
    G = 255 * linearToGamma(G);
    B = 255 * linearToGamma(B);
    R = Math.round(clamp(R, 0, 255));
    G = Math.round(clamp(G, 0, 255));
    B = Math.round(clamp(B, 0, 255));

    return `rgb(${R}, ${G}, ${B})`;
}
humble mortar
#

does electron not have built in colour shit 😭

vernal lintel
vernal lintel
humble mortar
#

crazy

vernal lintel
#

you can't really convert between the colourspaces with 100% accuracy I think

vernal lintel
humble mortar
#

oh would it break if the theme set the var as oklab

rotund pantherBOT
vernal lintel
#

wtf is an /a\ \ \ \ \ \ \ \

humble mortar
#

@vernal lintel before i eep whats happening with #865

humble mortar
vernal lintel
humble mortar
#

failure

vernal lintel
#

ohhh

#

idk tbh

#

some people might not like it and instead want the vencord icon

#

is it somehow possible to give the user the choice between a few icons

#

while also having it apply to their shortcuts and stuff

#

how is there no good solution to this

humble mortar
#

seems fine

vernal lintel
#

that's not very representative lmaoo

#

there are so many vesktop users

humble mortar
#

people who care about the icon will have found the issue

#

could also post a non pinging announcement maybe

vernal lintel
#

we should probably allow the user to choose between a few preset icons and also their own icon

it wouldn't apply to the shortcut and stuff but at runtime

#

good enoughish

#

anyway not rn

vernal lintel
#

why

humble mortar
#

app needs identity

#

99% of people wont care to change past the default

vernal lintel
#

acting like it would let them choose between 3 million icons

humble mortar
#

such a feature also wont be possible on wayland

vernal lintel
#

just vc logo
vc logo faggy version
yours
and then they can upload a custom icon (so they can use the normal discord icon)

#

I would add the discord icon natively but we can't cause of copyright / trademark

humble mortar
#

also it not matching the launcher shortcut is even more horrifying

vernal lintel
#

shrug

#

they can change the launcher icon themselves

humble mortar
#

they can do that right now 😭

vernal lintel
#

I think if we want to change it for everyone it should be more neutral and not something a lot of people wouldn't like aka no anime

humble mortar
#

vennie isnt anime 😭

vernal lintel
#

yes she is

#

it's about the style

humble mortar
#

maybe just an outline of her head then

#

sorta like discords

vernal lintel
#

maybe

humble mortar
#

ill whip something up tmrw

vernal lintel
#

or come up with something completely new, like armcord

vernal lintel
humble mortar
vernal lintel
#

sorry legcord

humble mortar
#

im ok with anything but a dynamic icon

#

being dynamic is horror

vernal lintel
vernal lintel
humble mortar
#

its not 😭 😭

vernal lintel
#

you can still have identity while allowing the user to choose between a few variations

#

why

humble mortar
#

i dont know a single desktop app that has dynamic icons

#

purely because its not feasable cleanly

vernal lintel
#

open proposal to xdg spec o algo

#

they will add

humble mortar
#

xdg-top-level

vernal lintel
bright rivet
#

cookie, your sed regex didn't worked, this one does:

sed -i 's/"postinstall": "pnpm updateArrpcDB"/"postinstall": "corepack pnpm updateArrpcDB"/' package.json

vernal lintel
#

its more robust

vernal lintel
#

bribe someone at xdg so they accept it rn

humble mortar
#

i dont understand

#

its the exact same sed format as the afterPack

humble mortar
#

it literally does work

#

what

#

why isnt it in the pkgbuild

bright rivet
#

bash vs ... ?

humble mortar
#

im using bash

bright rivet
#

idk, but I tried the command directly and didn't worked too

#

Mmm

#
└──╼ $ wget https://raw.githubusercontent.com/Vencord/Vesktop/refs/heads/main/package.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6197  100  6197    0     0  49841      0 --:--:-- --:--:-- --:--:-- 49975
β”Œβ”€[ Behemoth /tmp/tmp.Cv6CEEZLFt ]
└──╼ $ grep -i updateArrpcDB package.json 
        "updateArrpcDB": "node ./node_modules/arrpc/update_db.js",
        "postinstall": "pnpm updateArrpcDB"
β”Œβ”€[ Behemoth /tmp/tmp.Cv6CEEZLFt ]
└──╼ $ sed -i '/"postinstall": "pnpm updateArrpcDB",/a\ \ \ \ \ \ \ \ "postinstall": "corepack pnpm updateArrpcDB"' package.json
β”Œβ”€[ Behemoth /tmp/tmp.Cv6CEEZLFt ]
└──╼ $ grep -i updateArrpcDB package.json 
        "updateArrpcDB": "node ./node_modules/arrpc/update_db.js",
        "postinstall": "pnpm updateArrpcDB"
humble mortar
#

oh im so stupid

#

lmaooo

bright rivet
#

sends coffee to cookie

humble mortar
#

its 1am

#

im like

#

i was supposed to sleep over an hour ago

rotund pantherBOT
bright rivet
#

It's 1am here too lol, but I sleep 1.5h between 22:00 and 23:30 :p

humble mortar
#

???

bright rivet
humble mortar
#

my glorp shitto life

bright rivet
#

I still go to sleep at 3/4 am every day tho

#

Doing things on night is cool

vernal lintel
#

guh the flatpak repo doesn't update metainfo hash automatically for some reason

#

so annoying

#

need to fix but idk how flathub updater config works

#

it works fine for the binaries but not the metainfo file

#

maybe we need to put it into github releases

simple groveBOT
next sundial
#

not sure if I'm going crazy but I noticed a slower start-up time right after upgrading to 1.5.5

#

seems the application is "heavier" to start now

simple groveBOT
next sundial
#

scrolling also feels very snappy now

simple groveBOT
#

Discord Account

malix_labs (395165536545275905)

Motivation

Discord updates currently only show up after Vesktop has been opened, and when there is one, Vesktop needs to be relaunched

Solution

Enabling to trigger discord updates externally (API/CLI, etc...) would make it so Vesktop wouldn't need to be relaunched for updates

And also be managed by other tools such as topgrade

Alternatives

NA

Additional context

_No response...

next sundial
#

has anyone else also noticed start-up being slower and scrolling feeling snappier after the upgrade to 1.5.5?

#

btw

#

discord is showing the button to download the app on vesktop

#

duh

#

could you guys patch it, please?

vernal lintel
#

why do people care so much about this button 😭

#

vesktop used to hide it with css but I removed the css cause it caused lag

humble mortar
humble mortar
next sundial
#

last button, bottom

humble mortar
#

hide it yourself in quickcss 😭

next sundial
humble mortar
#

oh I replied to the wrong one

next sundial
humble mortar
next sundial
#

but IDK how would that be useful

humble mortar
#

???

#

use your package manager or vesktop auto updater

#

bro is cooked

next sundial
#

package manager does not exist

#

only exists for Nix

#

everything else is auto-updater

humble mortar
#

what

#

??

next sundial
#

vesktop is not packaged in distros' repos

humble mortar
#

uhh

next sundial
#

at least not officially

humble mortar
#

aur

#

nix

#

fedora copr

next sundial
#

vee said he doesn't care enough to package via standard means

#

so he just threw the auto-updater and said it's going to be fine

#

and, yeah, it works

next sundial
humble mortar
#

aur isnt

#

anyway

#

DOESNT matter

#

auto updater handles it

humble mortar
#

completely forgor

simple groveBOT
#

Discord Account

plasticshaman

Operating System

Kubuntu 24.04

Linux Only ~ Desktop Environment

KDE Xorg by default, but I have Wayland support

Package Type

Deb

What happens when the bug or crash occurs?

I think its only ubuntu/kubuntu problem, but every time Vesktop updates, the file /opt/Vesktop/chrome-sandbox loses its required permissions. This causes the following error when trying to launch the application:

The SUID sandbox helper binary was found, but i...
#

Do you mean Vesktop Updates, not Discord updates? Aka the notification that says `Vesktop has been updated to 1.5.5. Update will be installed when the app is closed"

If yes, these are managed by Vesktop itself and just fetched from GitHub releases via https://www.npmjs.com/package/electron-updater

Having external updating would require us to set up an Apt & RPM repo and integrate with the package manager, which we have no interest in at the moment. You can however just do the update manuall...