#👾-core-development

1 messages · Page 160 of 1

fresh cloak
#

obs now has webrtc stream support apparently

#

perhaps one could beat discord into enough submission to use an obs stream instead of the browser's webrtc via vesktop. Audio support with a plugin too.

austere talon
#

what's the point of that?

#

you can't do it on desktop

#

you can do it on vesktop / web

fresh cloak
#

streaming sucks major ass rn, everyone tells me my streams are 2fps from web-based discord clueless

austere talon
#

oh

fresh cloak
#

That's apparently not happening on normal discord, but that has no audio

austere talon
#

cause its not hardware accelerated

#

figure out how to get hardware encoding

fresh cloak
#

Exactly.

#

Not happening

#

vaapi support is spotty in chrome to begin with, and there's no official Nvidia vaapi driver

austere talon
#

who gives a fuck about nvidia

fresh cloak
#

The community one only does decode

austere talon
#

stop buying crapware

fresh cloak
#

Haha that's awesome vee except i don't have the money to buy yet another amd gpu that doesn't even post

austere talon
#

apple fans 🤝 nvidia fans
complaining about how garbage the garbage they bought is

#

sorry

#

anyway i mean u could look into that, it'd definitely be doable on vesktop

still wasp
#

Is nvidia that bad?

austere talon
#

on linux yes

#

windows no

fresh cloak
#

No it's actually aggressively fine

still wasp
#

Oh fair

fresh cloak
#

It's just little things

#

No vaapi, Wayland is a bit spotty, and some weird crash I'm experiencing in monado

#

Other than that it's just fine, plus nvk will solve all of this in the next few years

fresh cloak
austere talon
#

it's actually really simple

fresh cloak
#

If discord/chrome were written by normal people it'd support nvenc/nvdec by now though

crude hearth
austere talon
#

just figure out how to get video stream of your obs

#

once you got that it's easy

fresh cloak
#

Well you can point it to a url

austere talon
#

then you can monkey patch whatever media api or regex patch discords call to getUserMedia or whatever

#

that part should be trivial

fresh cloak
#

There is a nice example called broadcast box

austere talon
#

many ways to go about it

fresh cloak
#

So i guess we run our own server for this and can feed what obs streams to it to chromium

austere talon
#

anyway some people got vaapi working apparently so investigating that might be a good investment

fresh cloak
#

But the Nvidia vaapi driver by the community only does decode, and even that isn't working in chrome last i checked

#

I could only get decode working in a custom Firefox build with vaapi enabled lol

#

Absolutely can't wait for nvk to murder Nvidia's proprietary drivers one day, it actually just reached vulkan 1.3 conformance

fresh cloak
#

There's gotta be a way we can just hijack the url discord would be streaming to and have obs do it instead

charred monolithBOT
fresh cloak
#

I think a much more sane solution is cramming obs' virtual camera into the stream instead

#

i.e. offer the ability to use webcams as vesktop streams

#

solves my hardware encoding issues, gives us the ability to do the obs funnies, and gets rid of the issue of "just use discord camera sharing then", because this can actually share audio

#

Someone smarter than me when it comes to web shit may get intrigued by this to do what i originally envisioned

charred monolithBOT
charred monolithBOT
topaz thistle
topaz thistle
#

That way you could frankenshare

fresh cloak
#

we're getting there

#

i didn't check any prs

topaz thistle
fresh cloak
#

well, getting a "Error starting capture", but that's about where i was standing as well.

#

i got the obs video feed in by manually specifying it in getUserMedia, i did not get it working with proper picking yet

#

i'll tinker with your PR to see if i can get that working.

charred monolithBOT
#

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS/Distro: [e.g. Windows / Fedora Linux / MacOs]
  • Des...
fresh cloak
#

Skull what

#

🔥 bug report

fresh cloak
#

stream fails the first time, and then you click the stream button again and it doesn't even prompt you with the screen picker, just starts a stream with the camera you selected the first time

charred monolithBOT
fresh cloak
#

HAHAHA

half shell
charred monolithBOT
topaz thistle
verbal pumice
#

now we just wait

charred monolithBOT
slim marsh
#

Taaho

charred monolithBOT
dusky sonnet
#

nubcord

#
  • rare codeburger moment
charred monolithBOT
charred monolithBOT
#

Describe the bug
On linux, ibus typing methods behave like the English US layout.

To Reproduce
Steps to reproduce the behavior:

  1. Go to a message box.
  2. Select an ibus typing method for a language other than English.
  3. Start typing.
  4. Instead of the characters of the target language, characters according to English US layout shows up.

Expected behavior
ibus should work normally. Appropiate characters should show up instead of the US layout characters.

**Deskt...

austere talon
#

wtf is ibus

charred monolithBOT
rancid dragon
topaz thistle
#

Holy fuck

#

How cursed is this lmaooo

#

(I pressed the link up top)

rancid dragon
charred monolithBOT
verbal pumice
#

im actually surprised about that

odd heath
#

i feel like gh mobile isnt too bad

charred monolithBOT
crude hearth
#

gh mobile is good enough imo

austere talon
#

it's awful

#

i use github web on phone

azure jay
#

i wish gloom was usable

odd heath
austere talon
#

it just is

#

app is terrible

#

web is just the web site

#

mobile experience sucks but it's still better than that horrible app

charred monolithBOT
odd heath
#

idk whats supposedly so bad about the app

#

ive barely had issues using it

topaz thistle
topaz thistle
#

@austere talon see this as my official vote to rebrand to taahocord

charred monolithBOT
charred monolithBOT
topaz thistle
rancid dragon
#

taaho :)

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
#

Yes it works with the normal Discord app. The flatpak version of the
Discord app works too.

মঙ্গল, ৩০ জানু, ২০২৪ ১:১৫ AM তারিখে V @.***> লিখেছেন:

does it work with the normal desktop app?


Reply to this email directly, view it on GitHub
https://github.com/Vencord/Vesktop/issues/368#issuecomment-1915394628,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AM7Y7SMUPENAV2QUSDL3LL3YQ7YOZAVCNFSM6AAAAABCP5IZNCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3T...

austere talon
median rapids
#

that used to work

#

😔

charred monolithBOT
charred monolithBOT
austere talon
#

inb4 i typed a terrible slur in arabic

#

holy shit i can use ibus to type norwegian letters on german keyboard

#

åøæ

#

awesome

jagged cloak
#

you typed taaho

charred monolithBOT
stoic echo
charred monolithBOT
stoic echo
#

why they using fancy speak!!!

fresh cloak
#

would you prefer i said "pretty unpredictable"??? word police?!

stoic echo
#

erm excuse me you’re supposed to be talking fancy!!!

fresh cloak
stoic echo
#

:3

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
verbal pumice
#

ITS OVER

austere talon
#

scary

weak thistle
#

ctt video about vesktop soontm ?

charred monolithBOT
patent flint
weak thistle
lime stone
charred monolithBOT
charred monolithBOT
stoic echo
#

new star added

charred monolithBOT
stoic echo
#

guys can you believe it

#

new star added

charred monolithBOT
spark pivot
#

Omg

#

New star added

charred monolithBOT
stoic echo
#

holy shit guys

#

new star added

austere talon
#

don't spam please

verbal pumice
#

old star added

topaz thistle
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
#

For icons, I suggest using icomoon for any icons that aren't on FA (a bit of work to get it on the site each time you change the icon set, but completely free and allows you to use any additional icons. also based on fonts so it works in a lot of browsers.)

As for an icon key, I think it makes more sense to show it on the top of the page. It doesn't require the user to scroll all the way down for it, and it can be short and sweet: ![image](https://user-images.g...

#
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
spark pivot
charred monolithBOT
charred monolithBOT
oblique hound
#

I know I'm very late, but why dont you use my API for the Badges? That already returns all the Badges in 1 request and you dont get ratelimited for it

#

And thats wrong. I use a Worklflow which runs every hour

cunning canyon
#

they arent in the server anymore

oblique hound
#

Oh Cry

signal rover
#

For vesktop, I want to add in the ability to set the zoom level like in the normal desktop client. If I where to add such a setting where should I place the slider?

stoic echo
#

you can still do it in vesktop AFAIK

#

ctrl + -/ctrl + +

signal rover
#

I know you can but the zoom levels are off compared to the normal desktop client

signal rover
#

So i was just going to add in a zoom slider like the normal client that uses the exact same values

#

I'm just going to put in in the Vesktop settings page

charred monolithBOT
#

Hello, I was working on a plugin that needed me to intercept HTTP requests so I decided to create a native way in vencord to do that.

The API allows you to change what requests are being sent to server and what responses are going to given back to the client, you can add listeners before the request is sent or after request is sent and we got response.

I tested it and everything seems to be working (unless you break your whole client yourself in a plugin)

If you have any questions, p...

charred monolithBOT
signal rover
#

There we go

#

It changes the zoom level when changed live, but also is saved and loaded when vesktop starts

#

Next I honestly think I should make it override ctrl+/- to use this instead to make it basically the same as the desktop app

stoic echo
#

wouldnt it be better to put it in the appearance tab?

#

or wherever the original zoom level thing is

signal rover
#

is there a way to add stuff in the normal settings tabs via vesktop?

verbal pumice
#

patch the check for showing the zoom toggle to always be true then patch the callback probably

signal rover
#

yah I was about to say

#

Anyway im already handling zooming via IPC so I just need to grab the keyboard inputs and handle them

verbal pumice
#

i cant read

#

surely electron provides some api for replacing built in keybinds

signal rover
#

Yah thats what Im looking into now

charred monolithBOT
#

i don't think this is a good idea. it seems kind of like an XY problem.

could you describe a use case for this?

in most cases you should just be able to patch the function that does your request to change whatever you need. patching it like this worsens performance and encourages less experienced devs to just patch requests instead of doing it properly and patching the correct code. it also seems kind of dangerous because it's very easy to mess up requests and possibly get your account...

charred monolithBOT
#

i don't think this is a good idea. it seems kind of like an XY problem.

could you describe a use case for this?

in most cases you should just be able to patch the function that does your request to change whatever you need. patching it like this worsens performance and encourages less experienced devs to just patch requests instead of doing it properly and patching the correct code. it also seems kind of dangerous because it's very easy to mess up requests and possibly get you...

signal rover
#

I got it working, the issue now is that the slider does not reflect the setting when changed

charred monolithBOT
austere talon
#

no way this guy posted "me too" without following my instructions

signal rover
#

ne too

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Same issue here, except for me I can reproduce it if I select the output audio on Windows as my headphones. Any other audio output works and I can stream with audio perfectly fine, but as soon as I select my headphones as the output audio it doesn't let me stream. It doesn't matter what the audio settings are in Vesktop, as soon as I change to audio that isn't the headphones it works fine.
![Vesktop Audio Problem](https://github.com/Vencord/Vesktop/assets/78714461/b8cefc91-698a-491b-b075-ce6...

charred monolithBOT
charred monolithBOT
signal rover
#

I love bodge code

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Content

https://github.com/Neodymium7/BetterDiscordStuff/tree/main/VoiceActivity/src
This shows an icon next to username when they're in a voice chat in a mutual server or group chat...
It shows more info on the right side of the screen in the user details fly-out... Allowing you to quickly join your friends.
Slightly similar to UserVoiceShow, except it shows it in the in the chat profile, rather than having to click into the full profile and shows an icon next to them so you don't ha...

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
charred monolithBOT
lime stone
#

kick?

stoic echo
#

this is just a knockoff twitch wtf

#

THIS IS LITERALLY JUST TWITCH WHAT

#

😭

spark pivot
austere talon
#

it's a twitch alternative owned by some gambling company

stoic echo
#

so it’s twitch but you can gamble

swift fjord
#

hop off kick

charred monolithBOT
swift fjord
stoic echo
#

only different thing is the gambling

#

twitch still has a lot of hate speech

swift fjord
#

at least twitch tries to hide it

#

kick champions it

#

their biggest creator is fucking adin ross

stoic echo
#

signing up to kick immediately

charred monolithBOT
dapper crest
charred monolithBOT
jagged cloak
#

as an observer of people flocking to kick and then 180ing because it sucks ass

#

kick dum

stoic echo
#

i’d actually be concerned if discord added kick rpc

jagged cloak
#

id already be concerned

#

ebay

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

ipc

#

what is this for exactly

#

vesktop?

charred monolithBOT
austere talon
#

yes you can't pass functions

#

you need to do more ipc

#

from inside your handlers, send ipc events back to the renderer

#

you can listen to events in renderer

#

instead of a function pass smth like an id

#

yeah i was about to say

#

also curve wanted to make a native library

#

because electron api doesn't support key down / up (necessary for push to talk) and doesn't work on wayland (might in the future maybe)

charred monolithBOT
lime stone
#

vencord keylogger 🔥

umbral hillBOT
# lime stone vencord keylogger 🔥

No, Vencord is not a keylogger. Its code is fully open source, and checked regularly by many of our hundreds of thousands of users. Use your brain

charred monolithBOT
charred monolithBOT
charred monolithBOT
verbal pumice
#

jumpscare

charred monolithBOT
#

Describe the bug

Screensharing with Vesktop has a couple of strange issues that I've encountered. First, it is impossible to stream fullscreen applications. Normally in Discord, it has some issues, but if you alt tab to the fullscreen application and back, it shows up for a bit, then disappears, and if you click it during that time, you can stream it. On Vesktop, there simply is no way to stream a fullscreen application. The best I've gotten is by making it windowed mode, streaming it,...

#

For the second issue, I've never had that happen on stock discord. I also can't exactly change my DE given that I'm on windows. I might be able to mess with some settings, but I wouldn't know where to start with that even. I'll check for a driver update, but I have my doubts that it will help, given that it worked fine yesterday when I first installed it, and I've never had the issue on Discord/Vencord with everything else otherwise being the same

For the first issue, that's the workaround...

charred monolithBOT
topaz thistle
#

Hm

#

How's push to talk even gonna work on x-d-p

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

im not sure how fixable this is. screenshare framework is provided by electron/chromium and the one calling it is discord, so both issues are out of our control. maybe there is some weird workaround for fullscreen windows but it seems like it's a chromium limitation

try opening discord.com/app in a chromium based browser (like edge or chrome) and see if you can share full screen apps in them. if not, there's likely not much we can do

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

im not sure how fixable this is. screenshare framework is provided by electron/chromium and the one calling it is discord, so both issues are out of our control. maybe there is some weird workaround for fullscreen windows but it seems like it's a chromium limitation

try opening discord.com/app in a chromium based browser (like edge or chrome) and see if you can share full screen apps in them. if not, there's likely not much we can do

^

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
charred monolithBOT
#

Describe the bug

Today, when trying to join a call, vesktop will be stuck on DTLS connecting. This doesn't happen with the official client.

To Reproduce

Steps to reproduce the behavior:

  1. Attempt to connect to a call on vesktop

Expected behavior

The call connecting properly, which it has done for me up until this point.

Desktop (please complete the following information):

  • OS/Distro: Arch Linux [Crystal Linux]
  • Desktop Environment: KDE 5.27.10
  • Ver...
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Is this just a side effect of Discord web? Can you also perform this experiment in Chromium itself, rather than Vesktop?

Tested in browser (chrome), as well as other discord packages like discord-screen-audio on arch linux, I checked the voice output in your Voice & Video settings:

Vesktop, Browser and Discord-Screen-Audio are delayed compared to the official discord package, so seems to be a web version issue?

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
verbal pumice
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

I know you shouldn't make it instant but for all people who want to instantly move or mute everyone

I just reverted some things to make it work without RestApi, there is probably an easier way, but it works.

/*
 * Vencord, a modification for Discord's desktop app
 * Copyright (c) 2022 Vendicated and contributors
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Softwar...
charred monolithBOT
#

dont wanna get into too much details about why, but i want my id/username to be removed from this project. ven, feel free to email me if u want more details (using the one on my github profile), else pls accept.
edits allowed in case empty array for a plugin contrib crashes in it's settings, somehow. idk im too lazy to test.

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

MoreUserTags (had no effect):
ID: 79798
Match: /(switch\((\i)\){.+?)case (\i(?:\.\i)?)\.BOT:default:(\i)=(\i\.\i\.Messages)\.BOT_TAG_BOT/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

olive aurora
glass jasper
charred monolithBOT
honest geyser
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#
  • This, to me, was the best way to convey the plugin's behavior of first closing the DM and then returning it to the Message Requests queue. Otherwise, it could be interpreted that the DM will just be moved to the Request queue and still be visible when this is not the case. I will instead elaborate on that in the description to clarify the plugin's behavior.
  • It does indeed work on any DM channel, Thanks for the suggestion. (Changed text to 'Move to Message Requests')
charred monolithBOT
#

Describe the bug

For some reason Vesktop is having a hard time maintaining my Discord account logged in. I'd say that probably 70%+ of times that I close the App, either closing it and opening it later, or restarting my computer, the session is lost and I have to log in again.

To Reproduce

Steps to reproduce the behavior:

  1. Close the App
  2. Open It
  3. Log in with Discord QR code
  4. Restart eh App and the session is lost

Expected behavior

The account should be ...

charred monolithBOT
olive aurora
#

does vesktop not use requestSingleInstanceLock

austere talon
#

but if you for example have two versions installed or smth

#

or scuffed system

austere talon
#

WHY IS THIS HERE

#

combust

charred monolithBOT
austere talon
odd heath
#

another ternary added right into what we are matching blobcatcozy

#

guh discord ate my reply to the reporter

austere talon
odd heath
#

is it better to match for the ternary or to just .{x,y} it

#

(im not a regex genius)

#

bleh ill just use the latter one

charred monolithBOT
charred monolithBOT
#

This plugin allows a user to perform certain actions through a command palette (accessible via Control + Shift + P). This plugin can be easily modified to add further functionality. The purpose of this plugin is to quickly be able to perform actions with ease instead of needing to go through multiple menus or click multiple buttons. Also, in the case that this is merged, it will allow for future plugins (or current ones) to implement some of their own commands related to their plugin into t...

austere talon
#

cool idea tbh

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
odd heath
odd heath
#

how

#

why

#

😭

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

MoreUserTags (had no effect):
ID: 79798
Match: /(switch\((\i)\){.+?)case (\i(?:\.\i)?)\.BOT:default:(\i)=(\i\.\i\.Messages)\.BOT_TAG_BOT/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
#

Describe the bug

The default Wayland logo appears in the title bar and in the task switcher when running Vesktop in KDE. The normal Vesktop logo appears in the taskbar as usual.

To Reproduces

Steps to reproduce the behavior:

  1. Install Vesktop from Flatpak (not sure if this issues exists with other install methods)
  2. Launch Vesktop on KDE
  3. Observe the Wayland icon in the title bar
  4. Press ALT + TAB and observe the same Wayland logo in the task switcher

**Expected b...

shy veldt
charred monolithBOT
shy veldt
#

but if there are messages it wont work

fringe basalt
#

make the plugin ask the dm recipient nicely to delete their messages blobcatcozy

charred monolithBOT
jagged cloak
#

aloo pluggers finally gon

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Describe the bug

Vesktop does not show the screen sharing (resolution/audio) dialog on Debian when attempting to screenshare.

To Reproduce

Steps to reproduce the behavior:

  1. Voice call someone
  2. Click on the screensharing button
  3. Click on the display/application you want to share

Expected behavior

A dialog should pop up with resolution/audio settings and a preview of your screen. The flatpak (with the same permission settings) seems to work when tested on Fed...

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
turbid hatch
#

i was waiting for either nuckyz or vee to review it but neither have and i dont want to merge it in because if they flag problems after the fact then.. it wasnt ready to be merged

#

so

charred monolithBOT
turbid hatch
#

also i still havent really worked out the proper way to deal with mozdoc

#

and i havent had time cause of work

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

I'm not sure what you're referring to. When I scroll down in the "Vesktop Settings" tab, I get a bunch of boolean check boxes but none of them are relevant. At the bottom, it lets me change the location of where it loads Vencord files but doesn't let me open the location it is currently using. I think I may be misunderstanding what you mean by "Vesktop Settings" but there is only one tab in discord's settings with the exact name " Vesktop Settings.

I can see ~/.config/VencordDesktop in m...

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

odd heath
#

blobcatcozy nothing broken

charred monolithBOT
charred monolithBOT
austere talon
#

soon new update that breaks 50 patches

#

luckily only happened twice so far

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
dusky sonnet
#

Trabskate

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
brazen bone
#

Why does the MemberCount plugin use ChannelMemberStore.getProps() to get online count rather than GuildMemberCountStore.getOnlineCount()? It does use GuildMemberCountStore.getMemberCount() for total

limber skiff
#

does it make a difference

brazen bone
#

Probably not, but seems like a roundabout way to do it

cunning canyon
#

private channel

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Discord Account

dancebunny98

What happens when the bug or crash occurs?

Before the update after February 1, 2024, everything was fine, the translate plugin worked. Now it works the same way, but the settings icons and status switches cannot be translated or not.
image

What is the expected behaviour?

Bring back the quick language switching buttons as they were before.

How do ...

austere talon
#

qhar

turbid hatch
#

open an issue and then a PR immediately resolving the issue

#

just open the PR

charred monolithBOT
charred monolithBOT
charred monolithBOT
brazen bone
#

There's no way to use something like settings.use([...]) in a class component, is there?

austere talon
#

no

#

don't use class components

charred monolithBOT
austere talon
#

you have to use componentDidMount and componentDidUnmount and manually subscribe / unsubscribe and call this.setState

#

don't use class components they are buttcheeks

brazen bone
#

I would never willingly use a class component

#

But I'm trying to patch one of discord's

austere talon
#

well you can wrap it in your own component

charred monolithBOT
austere talon
#

and then use state

#
- r.jsx(abc, { prop: value })
+ r.jsx($self.Wrapper, { WrappedComponent: abc, prop: value })
brazen bone
#

Makes sense

austere talon
#
function Wrapper({ WrappedComponent, ...props }) {
    const foo = settings.use().whatever;
    return <WrappedComponent {...props} />;
}```
#

something like this

#

best you can do

#

alternatively you can add componentDid(Mount|Unmount) to the class, Dearrow does that

brazen bone
#

The component already has a componentDidMount, so merging those seems like more hassle than it's worth

austere talon
#

you could pass your foo as prop to the component and use it inside another patch then

brazen bone
#

Oh but there's also shouldComponentUpdate... Guess I need to change that one

austere talon
#

it's a bit messy but it works

#

just changing that won't do anything

#

you still need to call setState to trigger it

brazen bone
#

What object would I even call setState on? The thing created by the <WrappedComponent /> expression?

austere talon
#

no

#

inside the component as this

#

you cannot set state from outside it

crude hearth
#

ven

#

do you remember timezonedb

brazen bone
#

It looks like a wrapper component that adds the settings as props, together with patching shouldComponentUpdate, works

nimble plaza
#

new pnpm inject design 👀

austere talon
#

(i made chat bar buttons api)

charred monolithBOT
austere talon
#

@limber skiff what do you think ^

#

okay holy shit has this always been this ugly

austere talon
charred monolithBOT
austere talon
#

kinda meh

#

maybe we can use one of these instead

#

im tired of people complaining about vencord having "auto correct" so i added this

#

stupid idiots enable auto translate then complain

limber skiff
#

idk if line was correctly marked

#

github sucks on mobile

austere talon
#

true that line shouldnt be there

#

good catch

#

ill remove it

verbal pumice
#

oh

#

it does kinda defeat the point though

austere talon
#

what

verbal pumice
#

usually its the result of a misclick

#

so if you dont show again then you wont realize you misclicked and its the same thing

#

at least explain that you enabled auto translate because you right clicked the translate icon

limber skiff
#

also buttons prob still show when you cant send messages

#

there is a prop which decides if it should be disabled

austere talon
charred monolithBOT
charred monolithBOT
austere talon
#

loading image?

cunning canyon
# austere talon loading image?

long ago when i made the plugin, it not show the loading image placeholder, so message shift up when image loaded
then i made it show that placeholder but the image is not responsive, if discord window width is too small it cutout
now it is responsive

limber skiff
#

@austere talon can we add that feature to fix electron devtools context menu on normal vencord?

limber skiff
#

I mean they are gonna push it to stable either way

#

what's the reason?

austere talon
#

actually maybe

grave mangoBOT
austere talon
#

you can only pass this flag once

limber skiff
#

oh yeah we can monkey patch

austere talon
#
chromium --disable-features=foo --disable-features=bar
#

this will disable only foo or bar

#

not both

#

we have to monkey patch electronapi lol

#

horror

limber skiff
#

it is what it is 😔

austere talon
#

try putting ```js
const originalAppend = app.commandLine.appendSwitch;
app.commandLine.appendSwitch = function (key, value) {
if (key === "disable-features" && !value.includes("WidgetLayering")) {
value += ",WidgetLayering";
}
return originalAppend.apply(this, arguments);
}

#

see if it works xd

#

if yes, yes

limber skiff
#

how can I know if it didnt break something else

austere talon
#

you cant

#

it shouldnt

limber skiff
#

it works

#

I also made it call on the last line to make sure it's actually added

austere talon
#

why

#

i wouldnt do that

#

just make sure it runs before discord

limber skiff
#

aight sure

#

it works without that line anyways

austere talon
#

i hate how inconsistent the icons are

#

i made the padding consistent but it looks so wrong

charred monolithBOT
limber skiff
#

boop

limber skiff
charred monolithBOT
austere talon
limber skiff
#

manually add/remove margin

austere talon
#

yes but

#

i want the api to provide the margin

#

so its consistent

limber skiff
#

unsure

#

the new cli is so good

#

I love it

austere talon
#

getting there

#

kinda

lime stone
#

i was going to say it still doesn't look like official discord ui

#

but i've seen some pretty broken discord ui

austere talon
#

not awful anymore

#

ig?

#

i just used inspect elements to see the true width/height of the svg and did the math how much u need to scale to get it to 24px

#

then hardcoded the value

lime stone
#

trans-chat-button

austere talon
lime stone
#

there should be a new preview icon

austere talon
#

yes

#

there is

austere talon
austere talon
nimble plaza
#

ooo

austere talon
#

i tried to make the cli as user friendly as possible

#

previously it was a hot mess

spammed massive wall of (debug) text at you
required you to type numbers to select
required you to pass command line flags instead of being interactive
so confusing

charred monolithBOT
austere talon
#

well on mac it still uses the gui actually cause i coudlnt be bothered to publish mac cli

#

but mac cli might prove useful so people can run it with sudo

#

might fix the disk acces permission issues

#

oh this is tragic

#

idk how to fix

junior olive
#

just another new branch

charred monolithBOT
austere talon
#

anything else?

#

else i will merge into main

limber skiff
#

though silent typing red bar could have some work

#

try copying from game activity toggle or silent message toggle if you dont want to do it from scratch

charred monolithBOT
spark pivot
junior olive
#

doesn't clienttheme

#

if not then i might be able to

spark pivot
#

I stole the color picker from clienttheme but they don’t have anything iirc

#

Since opening settings loads the color picker, to access clienttheme you need to open settings

#

Wait I stole that one from usercss

#

I’ll look in clienttheme

#

I think I tried using the clienttheme one but it still couldn’t find it

junior olive
#

So it's part of settings?

spark pivot
#

Basically yes

junior olive
#

find the code that actually opens settings

#

it might be similar to openAvatarDecorationModal

brazen bone
#

I guess the problem here is that you don't know the module id for the color picker, and you can't use the findX functions because it might not be loaded yet

#

And you probably can't find whatever module normally loads it and scrape the id from there, because that caller is also in that other chunk

limber skiff
#

@spark pivot try this

Vencord.Webpack.extractAndLoadChunksLazy(['name:"UserSettings"'], /createPromise:.{0,20}el\("(.+?)"\).{0,50}"UserSettings"/)()

#

you know what to do with lazy stuff

#

either way here are the docs for it

grave mangoBOT
# limber skiff https://github.com/Vendicated/Vencord/blob/main/src/webpack/webpack.ts#L450-L462

**webpack.ts: **Lines 450-462

/**
 * This is just a wrapper around {@link extractAndLoadChunks} to make our reporter test for your webpack finds.
 *
 * Extract and load chunks using their entry point
 * @param code An array of all the code the module factory containing the entry point (as of using it to load chunks) must include
 * @param matcher A RegExp that returns the entry point id as the first capture group. Defaults to a matcher that captures the first entry point found in the module factory
 * @returns A function that loads the chunks on first call
 */
export function extractAndLoadChunksLazy(code: string[], matcher: RegExp = /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/) {
    if (IS_DEV) lazyWebpackSearchHistory.push(["extractAndLoadChunks", [code, matcher]]);

    return () => extractAndLoadChunks(code, matcher);
}
limber skiff
#

run that, then you should be able to use the same finder as ClientThemes for the color picker

limber skiff
#

okay I need an svg editor software this sucks

charred monolithBOT
charred monolithBOT
still wasp
#

Uhhhhh well that's fuckin weird

austere talon
#

@limber skiff how is progress going

#

on icon

#

should i merge into main already or will you finish it in the next few hours

limber skiff
#

😂 I'm downloading illustrator rn

#

just merge

austere talon
#

(no rush, just so i know)

austere talon
limber skiff
#

it's whatever for now

austere talon
#

use inkscape instead

limber skiff
#

I dont even know If I will be able to I've never done graphical design

austere talon
charred monolithBOT
#

bf977e0 Add chat bar button api ~ fixes buttons for rus... - Vendicated
2c198e5 Fix PreviewMessage icon being offcentre - Vendicated
e58aa5d Translate: Add auto translate enable alert - Vendicated
64fa2f8 ChatButtonApi: do not add buttons if you can't ... - Vendicated
ec53b02 readAllNotificationsButton: also mark voice cha... - sunnniee

lime stone
austere talon
#

idk which one is better

charred monolithBOT
charred monolithBOT
thick kestrel
#

I agree

#

also can I get an opinion from a maintainer on this?

austere talon
#

keeping the if is better

thick kestrel
#

thanks

#

I think I read somewhere in the docs that patches should not introduce whitespace though, so I will replace with if(true) instead

charred monolithBOT
#

Describe the bug

App will not launch

To Reproduce

Steps to reproduce the behavior:

  1. Install vesktop-bin from AUR multiple times, once with the patch from AUR comments to enable vesktop-flags.conf
  2. Suddenly error when switching back to unpatched version once I realized only electron28-flags.conf works

Expected behavior

App opens

Screenshots

image

**Desktop (p...

thick kestrel
#

I probably should also comment what each of those patches does because they aren't obvious

lime stone
#

:O actually it could cause conflicts

#

maybe i've been doing the wrong thing

thick kestrel
#

Make sure your replacement does not introduce any whitespace. While this might seem weird, random whitespace may mess up other patches. This includes spaces, tabs and especially newlines

lime stone
#

i've been using whitespace everywhere

#

trolley i must have forgotten about that

#

it's probably okay to use whitespace in introduced code

austere talon
#

it's not that important

#

in 99.9% of cases it doesn't matter

#

the reasoning is that if two plugins patch the same location, they can potentially be compatible if your match is good. this is actually the case in a few places where two plugins patch the identical location and are compatible

but usually patches won't account for spaces because they shouldn't be there in the first place so it could break that compatibility

#
  • if your replacement requires whitespace to be readable, chances are it's too much code and you should be using a proper function on your plugin instance instead
lime stone
#

i.e. changing if( to if ( might break things

#

but $self.thing({ value: 5 }) should probably be formatted imo

limber skiff
#

nice

frail skyBOT
#
Bad Patches

FakeNitro (had no effect):
ID: 412745
Match: /(?<=isDiscoverable:\i,emojiComesFromCurrentGuild:\i,.+?}=(\i).+?;)(.+?return )(.{0,1000}\.Messages\.EMOJI_POPOUT_UNJOINED_DISCOVERABLE_GUILD_DESCRIPTION.+?)(?=},)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

FakeNitro (had no effect):
ID: 412745
Match: /(?<=isDiscoverable:\i,emojiComesFromCurrentGuild:\i,.+?}=(\i).+?;)(.+?return )(.{0,1000}\.Messages\.EMOJI_POPOUT_UNJOINED_DISCOVERABLE_GUILD_DESCRIPTION.+?)(?=},)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

fuck off

junior olive
#

RIP

limber skiff
#

bruh

austere talon
limber skiff
#

look at this crazy fix

charred monolithBOT
limber skiff
charred monolithBOT
austere talon
#

horror

limber skiff
#

boop

#

people kept asking for a way to disable game acitivities but keep custom rpc, so there it is

#

i'll even add a button to import the app id from custom rpc

spark pivot
# charred monolith

i had tried making this plugin before and didnt like it and then someone asked for it and i made it again

#

lol

#

hope it doesnt get too buried

dapper tiger
#

@austere talon i th ink discord broke copying images again

limber skiff
#

I hate this

spark pivot
#

qhar

limber skiff
#

view here

#

stupid way to update a setting component

#

okay did in a better way

austere talon
#

insanity

charred monolithBOT
charred monolithBOT
limber skiff
#

@austere talon plugins should have a link to their page on vencord.dev for people to see the readme easily, what do you think?

austere talon
#

either via iframe or just hijacking discords markdown parser with some extensions

#

but idk how well that could be implemented

limber skiff
#

oh

charred monolithBOT
austere talon
slim marsh
#

cant confirm if their pr actually fixes it or not

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Is your feature request related to a problem? Please describe.
So yk these servers that ban for client modding?

Describe the solution you'd like
A plugin that can disable quickcss and all themes (online or local) on the push of a keybind

Describe alternatives you've considered
#🎨-css-snippets message this is a link to a css snippet that hides a lot of Vencord things

Additional context

charred monolithBOT
#

I was playing around with the installer's code and was able to run the latest version of Vencord on my 2013 Mac running 10.15.7.

All I had to do was the following:

  1. Click "Open Package Contents" on the Vencord Installer.

  2. Open the "Contents" folder.

  3. Open "info.plist" in TextEdit.

  4. Now Paste the following code :

    LSMinimumSystemVersion
    10.15.7

     CFBundleExecutable
     VencordInstaller
    
     CFBundleIconFile
     icon.icns
    
     ...
    
charred monolithBOT
turbid hatch
#

this is horrible

#

but anyway

#

this should really just be in our actual plist file

#

idk why its not

austere talon
#

there is a pr but it doesn't work according to people

charred monolithBOT
charred monolithBOT