#๐Ÿ‘พ-core-development

1 messages ยท Page 290 of 1

twilit vector
#

ig people could custom-path to there for now?

#

could add that as a tip in the known issue for now

gritty iris
twilit vector
#

can someone true this cus i can't on a fresh canary install

#

i dont think windows paths ever changed

gritty iris
#

I just reinstalled canary yesterday no dice

#

is mac alright?

twilit vector
#

i know only one mac user who i could ask shiddohwell

gritty iris
#

good luck

twilit vector
#

@chrome coral Hey bestie can you check

signal sundial
gritty iris
#

cool

signal sundial
gritty iris
#

alr

twilit vector
gritty iris
#

stole windows logic

#

we're just gonna ignore how its broken I think ๐Ÿ”ฅ

lucid night
charred monolithBOT
odd heath
#

Satan needs to fix shc

charred monolithBOT
still maple
#

idk if it's just me, but shikicodeblocks seems to break now first time it loads or smth
also i tried to look if it's due to one of my modifications of my fork, but doesn't seem to be
it's very likely related to this
dev://experiment/2026-03-arborium-highlight

hexed star
#

same but I have no any enabled exps

still maple
#

yeah no when i mean it's related i don't mean enabling it on or off or not enabling the experiment change anything but rather discord did whange code for that experiment and it's affecting shikicodeblocks or smth

limber skiff
#

I guess that's one way to do it

twilit vector
#

they're just commenting on the commit that deleted ctrlEnterSend

hybrid blaze
limber skiff
#

what?

hybrid blaze
#

3XohGn PAUSE_VOICE_MESSAGE_A11Y_LABEL

#

XcTHmQ USER_PROFILE_FRIEND_REQUEST_TOAST

fossil inlet
#

?remind 6hr add to compnaion

shut vineBOT
#

Alright @fossil inlet, in 6 hours: add to compnaion

charred monolithBOT
#

Summary
Adds a plugin that allows users to locally override other users' avatars.

Changes are client-side only and do not affect actual user profiles or what other users see.

Features

  • Set custom avatars for other users locally
  • Overrides are stored on the client
  • Original avatars remain unchanged remotely
  • Remove or update overrides at any time

Notes
This is a visual customization plugin only and does not modify Discord data.

chrome coral
#

Another equicord pr

twilit vector
#

sam is so scary that they immediately clsoed

chrome coral
# charred monolith

Also this can be done with css MLGingerly

@import url(https://github.com/UserPFP/UserPFP/blob/main/import.css?raw=true);
#

usrpfp has some crazy theme for that

bright island
gritty iris
#

Idk why they did that

shut vineBOT
#

@fossil inlet, <t:1777396078:R>: add to compnaion

fossil inlet
#

i love loading 32k lazy chunks (not modules)

fossil inlet
#

@gritty iris discord complete removed the function this patched

#

do you know what this patch did

#

from what i can tell the old function was only used here

gritty iris
fossil inlet
#

guh

#

am i blind

gritty iris
#

448381

fossil inlet
#

it's still there

gritty iris
#

I yanked stable btw not canary

#

I have shc fixes

#

didnt have a chance to pr yet busy and the fuckin reporter died for us again ๐Ÿฅ€

fossil inlet
gritty iris
#

alr

fossil inlet
gritty iris
#

that ss was on stable ill check canary in a sec

fossil inlet
# gritty iris

enableClipsNewEmbedUi doesnt exist on canary as a string

fossil inlet
#

i think it got moved

#

oh wait

#

nevermind

gritty iris
#

ill take a look

#

pushing shc

fossil inlet
#

they just removed the feature

gritty iris
#

not ef

#

wait

#

I read the wrong one

#

nvm

fossil inlet
charred monolithBOT
gritty iris
gritty iris
#

its really bad but I didnt find anything else at the time

charred monolithBOT
torpid mason
#

vendroid revival when

charred monolithBOT
#

Summary

The WebScreenShareFixes plugin generates SDP that Discord's RTC server silently rejects on non-Mutter Wayland compositors (niri, hyprland, sway), causing "chooser appears, you pick, viewers see nothing" for Vesktop users on those compositors. Two specific bugs in the plugin:

  1. x-google-max-bitrate=80_000 โ€” JavaScript numeric-literal underscore separator. The 80_000 is a valid JS literal (= 80000) but the replacement string is interpolated literally into the SDP, pr...
magic apex
limber skiff
#

thanks for the link, couldn't see the PR 1 message above

fossil inlet
fossil inlet
twilit vector
#

i'm a ๐Ÿค doubting if it's slop after looking at their other activity

limber skiff
magic apex
#

it's not slop

#

or else I wouldn't be submitting it

fossil inlet
magic apex
#

the pr is made with AI but the issue exists

fossil inlet
twilit vector
#

"my pr i made with ai is not slop"

#

what

magic apex
#

slop means it's garbage

#

that's the FQ fix

#

I ran into it because my shit wasn't working (:

#

I thought it was a bug with mutter at first or xdg-deskop-portal but it was the app layer with the RTC handling

fossil inlet
magic apex
#

so it's better to be vague or what ๐Ÿ’€

fossil inlet
#

Believe it or not it's not that hard

#

You seem to be able to use a keyboard so I think you should be able to do it

torpid mason
twilit vector
fossil inlet
twilit vector
#

it works dude

austere talon
willow garden
#

gonna tell claude to refactor vencord and make it so i can inject js

#

then pr it

magic apex
#

fr

odd heath
magic apex
#

no

odd heath
#

Or are you gonna ban me

odd heath
# magic apex no

Well tooo fucking bad if the autocomplete matches exactly what I want to write I'm gonna use it ๐Ÿ˜ญ

magic apex
#

tell ricardo that

#

:/

austere talon
magic apex
#

it was an assistant

#

the message was written, that was the assistance

charred monolithBOT
torpid mason
torpid mason
#

why is ruben peer pressuring

#

bad ruben

twilit vector
#

does vee even use projects?

fossil inlet
#

tbh even i forgot about those lol

signal sundial
#

@fossil inlet satan

#

tung tung tung sadan

shy veldt
#

hey vencord fans, you should check how many chunks discord loads from html

#

โค๏ธ

signal sundial
#

how do you check that

fossil inlet
#

did it get even bigger

fossil inlet
#

are they just preloading everything

signal sundial
#

how much

fossil inlet
shy veldt
#

web.1acb3731f6f84cee.js
DownloadApps.5a318d52b335c0f1.js
Search.6a5ce0a4e7d500e3.js
GuildProfileDialog.bea3ae440bee8e99.js
SyntaxHighlightingUtils.f855ec9fc6d4e02c.js
sentry.aa9908de882ee852.js
fast-connect.38f602e36831991c.js
libdiscore-wasm-fetch.7f496c1490ddd377.js

#

evil chunks

fossil inlet
shy veldt
#

dw it was prob in
+590 more

fossil inlet
#

oh i was just looking at sources tab

#

tbh this looks like some weird manual chunks thing

#

or maybe chunk asset name misconfig

#

eg: Search.6a5ce0a4e7d500e3.js is just the search icon

#

@limber skiff 30k line webpack module

limber skiff
#

wtf

#

one chunk for a single component

fossil inlet
limber skiff
#

so weird

charred monolithBOT
fossil inlet
#

we should prob get that on main before discord pushes

left sequoia
#

guys, just pls re-create discord via the game sdk

#

simpler XD

charred monolithBOT
twilit vector
#

apple would kill for that username

austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
# austere talon vtest
Bad Patches

Experiments (had no effect):
ID: 325091
Match: ```
/(?<==)(?=(0,\i(.+?).\i)({name:"2026-01-bug-reporter")/

Slow Patches

VencordToolbox (took 17.8ms):
ID: 325091
Match: ```
/(?<=trailing:.{0,50})\i.Fragment,(?={children:[)/

nimble pendantBOT
charred monolithBOT
austere talon
#

whoever wrote the fix forgot to await extractAndLoadChunks

#

guhhh

#

i fucked up i commited with git commit -a (commit all changed files - doesn't commit new files, git sees a rename as file deleted + new file added) and forgot i renamed file so it deleted the file instead of rename

charred monolithBOT
#
[Vendicated/Vencord] New tag created: v1.14.11
fossil inlet
#

@austere talon ๐Ÿ˜ญ

#

this doesn't change anything

#

you need this?.props?.channel?.id

#

because it matched a funciton component

#

where this is undefined

austere talon
fossil inlet
#

it crashed because it was

austere talon
#

wrong

#

reading channel

fossil inlet
#

what was this then?

#

huh

austere talon
#

this cant be undefined

#

it'll be window

fossil inlet
austere talon
#

vext

nimble pendantBOT
austere talon
#

so peak

austere talon
#

It's still not undefined evidently sillycat

#

I think the way we eval makes it non strict anyway

#

not entirely sure

fossil inlet
#

which should be strict node

austere talon
#

it is strict mode

austere talon
#

try it out

#

ve ```js
(0,eval)("0,function(){console.log(this)}")()

nimble pendantBOT
austere talon
#

hmm no clue

#

oh wait

fossil inlet
#

oh

austere talon
#

this will be wreq.m I think

#

since we put the evaled module function on that object

#

and it's called that way

fossil inlet
austere talon
#

yes the repl is sloppy

#

there's a cli flag for strict

austere talon
fossil inlet
#

how does jsx deal with this

#

it's passed as a function ref, not called as one

austere talon
#

doesn't matter

#

I think

#

actually it does

#

maybe react gives function components a special this

fossil inlet
#

it's undefined in a non-patched component

austere talon
#

no that also can't be hmm

#

well just see what this is in the function it was actually in

fossil inlet
#

only the main chunk is strict mode it looks like

#

i think thatw was some bundler change recently

austere talon
#

love

#

is strict mode not contagious

fossil inlet
#

so they aren't strict by default

twilit vector
#

vext

nimble pendantBOT
twilit vector
#

wow under 5h

austere talon
twilit vector
#

they enabled gemini checks on vencord โค๏ธ

prime dew
charred monolithBOT
twilit vector
#

this is so redundant considering you can just make an empty server with channels

charred monolithBOT
odd heath
#

so apparently this happens

fringe eagle
#

hm

odd heath
#

i was too lazy to reproduce it so i just reported on it lmao

charred monolithBOT
limber skiff
#

I didnt await because it didn't need to load chunks, only require something which is sync

#

but I dont remember how Javascript deals with that tbh since there are still promises involved

hybrid jetty
#

idk if u care about the key map anymore

fossil inlet
hybrid jetty
#

wait deadass

#

that must be prism's old one then

fossil inlet
hybrid jetty
#

oh LOL

#

i'm probably using a very old one then

#

can u send me ur updated version if u don't mind

fossil inlet
#

This is the one I have use

hybrid jetty
#

thank you

fossil inlet
#

It's also the same one that's used in companion (it just curls it)

hybrid jetty
#

how are u able to go through the intl keys so well

#

it took me ages to get down those like 100 or so that i found lmfao

#

hmm

#

gonna see if i can find any more keys

fossil inlet
hybrid jetty
#

oh right true, they're all hashes

#

if u want i can mass turn them into intl keys?

#

i've already got the hashes so with bruteforcing it should be easy enough

#

oh lord

#

that's not good

fossil inlet
#

Did you not see the file???

hybrid jetty
#

i didn't look at it at first

#

mb

charred monolithBOT
#

What happens when the bug or crash occurs?

i upload the voice msg in opus or ogg and theres no wav

form, no waveform in any format

What is the expected behaviour?

That there is a waveform

How do you recreate this bug or crash?

1 upload a voice msg
2 no waveform idk??????

Errors

Replace this text with your crash-log.

Request Agreement

  • [x] I am using Discord Stable or tried on Stable and this bug happens there as well
  • [x] I am a Vencord Developer
hybrid jetty
fossil inlet
hybrid jetty
fossil inlet
#

Because they are added after discord started hashing

hybrid jetty
#

oh right

#

i get what u mean now, got it

austere talon
#

WDYM HAD NO EFFECT

#

wait that patch is kind of risky now

#

thank god it failed bro

#

its just merged now

hybrid jetty
#

damn i have only managed to find 2 so far

fossil inlet
#

did it fucking break again ๐Ÿ˜ญ

hybrid jetty
#

i'm testing out the intlkey tools

fossil inlet
#

oh you're that insane one

hybrid jetty
#

and how well it works on finding shit

hybrid jetty
#

i guess..?

#

not sure if i should be agreeing to that or not

fossil inlet
#

i don't mean it negatively

hybrid jetty
#

got these so far

gritty iris
#

literally

fossil inlet
gritty iris
#

\i\. was removed

#

also decor seems to work without the broke patch

fossil inlet
#

wrap in (?:\i\.)?

gritty iris
gritty iris
#

I dont remember what I did ngl

austere talon
#

theyre back now so be happy lol

gritty iris
#

they removed the export it was so annyoing

#

I was able to patch export with icons: () => U before then they destroyed that

fossil inlet
# gritty iris oh

does equicord have it's own plugin for extracting concatonated things

hybrid jetty
#

don't we have concatonatedModules

gritty iris
#

like exporting iconsmodule

fossil inlet
#

๐Ÿ˜ญ

#

two plugins for the same thing

#

vp concatonated

nimble pendantBOT
gritty iris
#

because just requiring it is easier then moving the patch

gritty iris
fossil inlet
#

vp concatonate

gritty iris
#

it would get so annoying

#

its already annoying gone

#

I hate merging translation

#

this is hell

fossil inlet
gritty iris
#

yup

fossil inlet
#

oh good lord

gritty iris
#

not fully cooked tho

#

needs more testing

fossil inlet
gritty iris
#

๐Ÿ˜ญ

fossil inlet
#

idk if that's better or worse

gritty iris
#

both

hybrid jetty
fossil inlet
#

yes

gritty iris
#

I have no idea what im doing with some of these plugins like if the maintainer dips they gone

#

99% I can do its just murphys and a few others I have no idea half the time

fossil inlet
#

ima be honest i don't know how a good ammount of vencord plugins work

#

most of what i do is based on the comapring with the last stable

gritty iris
#

I just compare to stable if I dont know and if someone complains its broke I fix it

hybrid jetty
#

i barely know what im doing 100% of the time

fossil inlet
#

the only complex plugin i know is better folders because of a few annoying bugs i fixed

fossil inlet
#

i love it lol

#

best plugin

gritty iris
#

so I pulled the pr move again and forgot to build

hybrid jetty
#

chew on that broskito

gritty iris
#

neat so just dont patch it and its fine now

hybrid jetty
#

nuhuh

fossil inlet
#

that doesnt really work on other platforms

#

i've thought about that idea

#

but decided against it

limber skiff
#

can they stop messing with the bundler

hybrid jetty
#

i decided the opposite

hybrid jetty
#

๐Ÿ—ฃ๏ธ

gritty iris
#

I hate it

#

you wont let me remove it

hybrid jetty
gritty iris
hybrid jetty
#

thats the most im letting you do

fossil inlet
#

@gritty iris are you going to do fixes or should i

gritty iris
#

already done with most

fossil inlet
#

alr

gritty iris
#

im sorry what

#

it just loads this now? ๐Ÿ˜ญ

fossil inlet
#

have fun trolley

#

oh

gritty iris
#

just use the store?

limber skiff
fossil inlet
#

i need to release extension

fossil inlet
#

their bundler went insane

gritty iris
#

why arent we just using experimentstore??

hybrid jetty
limber skiff
hybrid jetty
limber skiff
#

I mean if it works then sure use it

hybrid jetty
#

i've been debating a better way to do it but i'm out of ideas

gritty iris
#

if its 1 or above assume access Joe_Shrug

fossil inlet
limber skiff
#

It was easy to find the exported definitions before so when fixing it recently I just continued what it used to do

gritty iris
#

ye I know lol

limber skiff
#

but manually exported

gritty iris
#

I did store earlier for favorites

limber skiff
fossil inlet
gritty iris
#

want me to look into no track or leave it?

gritty iris
#

notrack solution I came up with Joe_Shrug

#

@fossil inlet should I remove the stable compat for implicit?

#

only one other thing here is even stable compat ๐Ÿ˜ญ

gritty iris
#

the (:\i\.)?

#

decor isnt compat either way unless we force it only on stable

fossil inlet
#

if you do add it (i would) i'd also leave a comment

gritty iris
#

its already added

fossil inlet
#

alr

gritty iris
fossil inlet
gritty iris
#

wym

austere talon
fossil inlet
austere talon
#

its even used as the find

#

the .send anchor is useless

#

the only other results for that key are the enum itself

charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
# austere talon vtest
Bad Patches

Decor (had no effect):
ID: 40344
Match: ```
/(#{intl::PREMIUM_UPSELL_PROFILE_AVATAR_DECO_INLINE_UPSELL_DESCRIPTION}.+?return null!=(\i)&&()(null==\i)/

Slow Patches

BetterFolders (took 10.3ms):
ID: 505425
Match: ```
/(?<=[[,])((?:!?\i&&)+)(.{0,50}({className:\i.\i,themeOverride:\i}))/g


**__VencordToolbox (took 24.4ms):__**
ID: `505425`
Match: ```
/(?<=trailing:.{0,50})\i\.Fragment,(?=\{children:\[)/

BetterFolders (took 14.8ms):
ID: 253363
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/

charred monolithBOT
charred monolithBOT
charred monolithBOT
twilit vector
#

is the permissionsviewer bug just stuck in limbo cus nobody here can reproduce it

still maple
charred monolithBOT
#

Add Windows background material support.

This doesn't require transparency. And transparency would introduce some issues like missing window animation, unable to actually maximize discord app etc.. So I also added note for enable transparency option for Windows users.

The transparency option cannot be removed, because backgroundMaterial doesn't have working full transparent option, at least in my knowledge.

still maple
#

note : it makes Discord quite unhappy as it says NaN KB left if the range header is just removed

still maple
#

OOF

#

Why do i decide using stuff when they decide to break ๐Ÿคก

hybrid jetty
austere talon
#

ye

limber skiff
#

why does Cannot read properties of undefined (reading 'call') not happen anymore ANGERY

twilit vector
hybrid jetty
#

i can't repro it either

#

i've tried all different types of channels

#

no luck

charred monolithBOT
#

Description

This plugin plays a custom notification sound when the user receives a Direct Message (DM) while their status is set to Do Not Disturb (DND).

Key Features:

  • Custom React UI: A modern and integrated settings panel.
  • Audio Source Flexibility: Supports both local file uploads (Blob URLs) and direct MP3/WAV/OGG links.
  • Volume Control: Includes a slider to precisely adjust notification volume.
  • Quick Test: Built-in test button to verify audio settin...
prime dew
torpid mason
#

its a fun idea

#

will be stealing

hybrid blaze
jagged cloak
#

holy shit lmao

charred monolithBOT
jagged cloak
#

okay thats my one github comment for the year

charred monolithBOT
gritty iris
#

And it was by pure chance that it didn't load the css fast enough

signal sundial
#

Openclaw isnโ€™t the only ai agent

#

they may be using Gemini Cli

jagged cloak
#

nuh uh

#

i dont know anyone who uses gemminy

kindred tree
austere talon
#

hoii ruben

jagged cloak
#

also necro but holy wtf

#

i love the chunk hashes then just GUILDPROFILEDIALOG

austere talon
jagged cloak
#

its not in the ss but u are blind

#

silly ahh discord ๐Ÿคญ

kindred tree
charred monolithBOT
kindred tree
#

huge

kindred tree
#

thank you moree

austere talon
#

doesnt kagi have support for any made up language via ai now

#

or did they remove that again

kindred tree
#

yeah I am checking

#

becaues the language list in the pr is quite old uuh

#

had to remember how to even use vencord from source again

#

good news it still works

austere talon
#

good for u

kindred tree
austere talon
#

otherwise u would have been in for a bad time

#

i added this

#

so it doesnt confuse clueless users

kindred tree
#

yeah I noticed that

#

I remember asking about that previously but being told it wasn't possible at the time lol

austere talon
#

well I simply added support for it LalaLaugh

kindred tree
#

.

kindred tree
#

there's a couple new ones and some changed language code

austere talon
#

also whoever made the Get your API key from ... the placeholder is insane

kindred tree
austere talon
#

linkedin ๐Ÿ˜ญ

kindred tree
#

not sure why they felt the need to add that

austere talon
#

funny

kindred tree
#

kinda made the translator become a meme but ig it being more popular isn't bad

#

uuh where should I push this now

austere talon
#

good marketing shrug

austere talon
kindred tree
#

yeah

austere talon
#

send me the git diff/patch and I shall add it

kindred tree
#

how do I do that w

austere talon
#

git diff > epic-diff-dot-txt

kindred tree
#

nice

charred monolithBOT
#
[Vendicated/Vencord] New branch created: remove-deprecated-options
limber skiff
#

huge

austere talon
#

guh

#

insane title

#

lmao

#

wrong branch

#

github is so funny

limber skiff
#

lmaooo

austere talon
#

only a few plugins needed changes

#

half of these werent even using deprecated options they were just accessing other plugins' settings in a suboptimal way

austere talon
#

it seems to work fine for me but it's a kind of major change so needs special care

#

vtest remove-deprecated-options

nimble pendantBOT
nimble pendantBOT
# austere talon vtest remove-deprecated-options
Bad Patches

Decor (had no effect):
ID: 40344
Match: ```
/(#{intl::PREMIUM_UPSELL_PROFILE_AVATAR_DECO_INLINE_UPSELL_DESCRIPTION}.+?return null!=(\i)&&()(null==\i)/

Slow Patches

BetterFolders (took 10.4ms):
ID: 702638
Match: ```
/(?<=[[,])((?:!?\i&&)+)(.{0,50}({className:\i.\i,themeOverride:\i}))/g


**__VencordToolbox (took 23.1ms):__**
ID: `702638`
Match: ```
/(?<=trailing:.{0,50})\i\.Fragment,(?=\{children:\[)/

BetterFolders (took 13.3ms):
ID: 253363
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/

nimble pendantBOT
# austere talon vtest remove-deprecated-options
Bad Patches

Decor (had no effect):
ID: 40344
Match: ```
/(#{intl::PREMIUM_UPSELL_PROFILE_AVATAR_DECO_INLINE_UPSELL_DESCRIPTION}.+?return null!=(\i)&&()(null==\i)/

Slow Patches

BetterFolders (took 11.3ms):
ID: 505425
Match: ```
/(?<=[[,])((?:!?\i&&)+)(.{0,50}({className:\i.\i,themeOverride:\i}))/g


**__BetterFolders (took 13.6ms):__**
ID: `505425`
Match: ```
/(?<=className:)\i\.\i(?=,"data-fullscreen")/

VencordToolbox (took 27.3ms):
ID: 505425
Match: ```
/(?<=trailing:.{0,50})\i.Fragment,(?={children:[)/


**__BetterFolders (took 10.7ms):__**
ID: `253363`
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/
charred monolithBOT
#

Summary

This PR fixes #4116 by adding a max-width of 500px to the .vc-notification-root element.

What was the issue ?

On ultrawide screens, the notification alert (e.g., "Click here to restart") was displayed at 25vw width (25% of viewport width), which resulted in an excessively wide alert that looked out of proportion compared to other UI elements.

Fix

Added max-width: 500px to cap the notification width regardless of screen size, while still maintaining the respons...

austere talon
#

I'll never understand why people use AI to write their text, just screams "Hey, this is slop" even if the thing might actually be good

charred monolithBOT
#

Pull request overview

This PR removes the deprecated plugin.options field and migrates the codebase to rely solely on plugin.settings (from definePluginSettings) for plugin configuration, including updating settings UI and several plugins to the new access patterns.

Changes:

  • Remove legacy PluginDef.options and old โ€œlegacy optionsโ€ types; unify plugin settings typing around settings.def + settings.store.
  • Update settings UI + toolbox plugin menu to enumerate settings vi...
torpid mason
#

so much copilot

austere talon
charred monolithBOT
austere talon
#

so dumb that name is a global ๐Ÿ˜ญ

torpid mason
#

ai is good

charred monolithBOT
austere talon
kindred tree
signal sundial
kindred tree
#

I donโ€™t think Iโ€™ve ever let an llm write text for me because it just sounds so weird always

signal sundial
#

but this may not even be ai text

kindred tree
#

no I would just give up instead

torpid mason
#

you know ball

charred monolithBOT
fossil inlet
austere talon
charred monolithBOT
fossil inlet
#

clicking on avatars in whoreacted does nothing

steel night
charred monolithBOT
#

What happens when the bug or crash occurs?

Error appears

What is the expected behaviour?

Discord should start normally

How do you recreate this bug or crash?

  1. Install Vencord
  2. Close Discord
  3. Run Discord

Errors

* Activated plugins don't cause this

Request Agreement

  • [x] I am using Discord Stable or tried on Stable and this bug happens there as well
  • [x] I am a Vencord Developer
odd heath
charred monolithBOT
#

Description

Allows Vencord to be used within the Safari browser, the submodule here is located at Vencord/Vencord-Safari-Extension.

# Run this with Xcode installed on Mac
pnpm buildWebStandaloneXcode

Preferably this should get merged once we get a proper workflow for uploading builds to Testflight/AppStore, but it does properly build the extension on its own.

Notes

  • There will be no themes/quickcss wind...
chrome coral
#

pnpm buildWebStandaloneXcode

twilit vector
#

this fella doesnt know she will get put in the pr backlog for 3 years

chrome coral
#

platform support important

#

@twilit vector are you excited having another company review an extension for their store

#

it will take days

twilit vector
#

first submission denied โค๏ธ

signal sundial
#

Apple is a perfect and flawless company this won't happen

torpid mason
hybrid jetty
austere talon
#

that makes no sense lmao

twilit vector
#

expect the unexpected yk โค๏ธ

twilit vector
#

nomosaic is dead on stable again

fossil inlet
#

Like the client crashes

twilit vector
#

i mean the plugin, atleast according to console venniebwaah

#

mb

fossil inlet
twilit vector
#

oh ok i'm stupid then

#

anyway point is, it doesnt work currently

fossil inlet
#

oops that's my fault

chrome coral
#

@turbid hatch I have a developer account I'm willing to use for notarization/distribution, was wondering if I could use it instead of yours for Vesktop

#

I'm not worried about the name of that account being public

fossil inlet
#

@limber skiff rspack more insane than i thought

in wreq.u, sometimes it inlines the module id, other times it just doesnt

limber skiff
#

nah how the fuck does this even get generated

#

oh

#

wait that's kinda smart tho

#

It's not rspack it's the minifier

fossil inlet
limber skiff
#

if the id is 5 characters it uses the variable cuz it's smaller

#

but if the id 4 characters it inlines it cuz it's smaller

#

insane

#

that's what I think is happening there

#

lowkey smart

#

but

fossil inlet
limber skiff
#

It's prob the minifier

fossil inlet
#

rspack uses swc

#

swc doesnt do it

#

even terser doesn't do it

#

i don't think it's the minifier

limber skiff
#

It would be insane if a bundler generates such minified code

#

It's the minifier job to modify what the bundler does

#

even if it's part of the webpack stuff

#

over the years the webpack stuff changed a lot just because of minifier changes

#

in discord

fossil inlet
charred monolithBOT
fossil inlet
charred monolithBOT
signal sundial
#

comment on pr
forget im shadowbanned

fossil inlet
signal sundial
#

theyโ€™re airing me

fossil inlet
chrome coral
austere talon
#

wouldn't switching cause issues

chrome coral
#

No

#

Lewi just doesnโ€™t want their name/address public

austere talon
#

on android if signature changes you can't update, you have to uninstall the app

#

surely it's the same on mac

chrome coral
#

I checked the source code a few months ago for Vesktops updater and it has no check seeing if its from another identity

austere talon
#

what's the point then MomijiStare

chrome coral
austere talon
#

signing

#

the entire point of it on android is verifying the app is by the legit developer and not tampered with

#

if you can just change signature it's basically pointless

chrome coral
# austere talon signing

For macOS apps it doesn't really matter that much, but they do enforce it on iOS similar to android where if the identity changes you need to completely reinstall the app

#

I donโ€™t really know the point of signing on mac that much either but it does make the apps more convenient to open so EmberShrug

#

Iโ€™ll triple check to see if it caused any issues though

charred monolithBOT
chrome coral
#

aislop

charred monolithBOT
chilly gyro
#

itโ€™s a neat idea, minus the ai

fossil inlet
#

If someone is spamming a gif to fill chat, then they will normal get muted or smth

#

If someone is spamming it to annoy you, you should just ignore/block them

#

Plus this all breaks if they upload it instead of using a media link

chilly gyro
#

Oh yeah, fair

charred monolithBOT
twilit vector
#

w vee

charred monolithBOT
twilit vector
#

someone's feeling like doing spring cleaning

austere talon
twilit vector
#

oh it's the same guy LOL

torpid mason
#

why

#

it would make sense, discord anways shows when u are in a vc

#

just extending that ^

twilit vector
#

discord already tells you if someone's live

austere talon
torpid mason
#

lemem try

twilit vector
#

since forever

#

unless i'm misunderstanding

torpid mason
#

bruh

#

okay

twilit vector
#

vencord 1.15 is coming ๐Ÿ‘€

signal sundial
charred monolithBOT
weak thistle
#

pr spring cleaning

charred monolithBOT
charred monolithBOT
austere talon
#

bleh

charred monolithBOT
kindred tree
#

don't forget to patch the languages w

austere talon
north knoll
# charred monolith

@austere talon waited over 2 years for someone to review this, only for it to be closed without reason?

charred monolithBOT
#

Overview

This PR introduces a new plugin called VoiceRPC and adds Pankaj to the developers' list in the constants.

Changes

  1. VoiceRPC Plugin:
    • Adds a rich presence (RPC) status when joined to a voice channel.
    • Displays the guild name, channel name, and a list of participants in the status.
    • Automatically updates when the user switches channels or when participants change.
    • Uses a debounced update mechanism to prevent rate-limiting.
  2. **Const...
kindred tree
#

all the way at the top lol

polar laurel
#

insane

torpid mason
charred monolithBOT
#

Description

Adds a BulkDelete plugin that lets users delete their own messages in a channel by preset amount, custom amount, selected range, or by scanning the full channel history.

Delete All scans channel history through paginated message requests instead of relying on the loaded MessageStore cache, so the displayed count matches the actual messages selected for deletion more reliably.

Features

  • Delete last 5, 10, 25, or 50 own messages
  • Delete a custom amount of recent...
#

Pull request overview

Adds a new BulkDelete plugin that integrates into the message context menu to help users bulk-delete their own messages in a channel, supporting preset counts, a custom count, a selectable range, and a full history scan via paginated fetches.

Changes:

  • Introduces BulkDelete plugin entrypoint with message context-menu actions (preset/custom/all/range).
  • Implements message history pagination + filtering to count/select only the current userโ€™s undeleted m...
#

Closing the modal/unmounting the component sets alive = false to prevent state updates, but the underlying loadMyMessages(...) loop continues to fetch pages in the background. For large channels this can generate a lot of unnecessary requests (and hit rate limits) even after the user closes the modal. Consider adding cancellation support (e.g. AbortController or a shouldCancel() callback checked inside loadMyMessages/fetchChannelPage).

steel night
#

@signal sundial apply changes based on this feedback

austere talon
kindred tree
#

๐Ÿ’€ ๐Ÿ’€ ๐Ÿ’€ ๐Ÿ’€

#

why do people do this

hybrid blaze
#

people

north knoll
austere talon
austere talon
north knoll
#

aside from that being the dumbest thing i've heard from an OSS project maintainer, could you not have simply said that years ago? what a joke lol

austere talon
#

I did though

austere talon
#

shush @twilit vector

twilit vector
#

cameoo

austere talon
#

upgraded PermViewer context menu

charred monolithBOT
errant nacelle
#

oh its not

#

horrible icon choice

austere talon
#

its meant to be like this but we have the wrong icon KannaSip

errant nacelle
#

just steal the correct one

chrome coral
#

@austere talon make expressioncloner open up this dialog

austere talon
#

nope

twilit vector
#

so many people are getting issue-closed emails for 3-year-old issues

errant nacelle
#

vencord has no issues whatsoever because vennie closed them all thumbsup

austere talon
#

can you guys cut out the pointless comments

charred monolithBOT
#

Adds a new 7TV tab to Discord's expression picker so you can browse and use 7TV emotes directly alongside GIFs and stickers.

Features:

  • Dedicated 7TV tab in the expression picker
  • Favorites system for quick access to frequently used emotes
  • Add 7TV channels to browse their collections
  • Global search with smart priority (favorites -> channels -> global)
  • :+emotename: syntax to auto-expand to 7TV emote URLs
charred monolithBOT
charred monolithBOT
chrome coral
#

seems like changes hit stable(?)

charred monolithBOT
#

Problem

The macOS release build currently only produces an Intel amd64 binary. On Apple Silicon Macs, that requires Rosetta and can trigger macOS compatibility warnings about Intel-only apps losing support in a future macOS version, which will be deprecated in macOS 28 (support: https://support.apple.com/en-us/102527).

Proposed solution

Update the macOS release workflow to build both Intel and Apple Silicon variants using a GitHub Actions matrix. The existing Intel build rema...

chilly gyro
#

wait it's not maintained
how is it gonna like work in the future lol
esp for macs

chrome coral
#

It's finished but I'm waiting for it to get merged so I can work on CI

chilly gyro
#

ah

charred monolithBOT
austere talon
#

๐Ÿ˜ญ

charred monolithBOT
charred monolithBOT
#

What this fixes

Pressing Alt+F4 on the Vencord QuickCSS Editor window quits the entire
Discord client instead of only the editor, closes #2548.

Root cause

The QuickCSS BrowserWindow is created without a per-window menu, so
on Windows and Linux it inherits Discord's application menu. The
inherited menu's accelerators (Quit) keep firing from this window even
though autoHideMenuBar: true is set, that option only hides the bar,
it doesn't disable accelerators.

Fix

...

charred monolithBOT
#

OpenAsar installer fails on Arch Linux: "has no asar file"

Installer used: sh -c "$(curl -sS https://vencord.dev/install.sh)" (VencordInstaller, which installs OpenAsar as part of its flow)

Discord package: discord 1:1.0.136-1 (pacman)

OS: CachyOS Linux (Arch-based, rolling) โ€” kernel 7.0.3-1-cachyos


Description

Running the VencordInstaller (the standard path to install OpenAsar) fails on Arch Linux because the installer's auto-detection logic finds the boo...

shut vineBOT
#

@fossil inlet, <t:1777173971:R>: can it work on large files

charred monolithBOT
#

Plain '"MessageStore"' appears in many webpack chunks, so MessageLogger and NoBlockedMessages patches could run on the wrong module factory. That produced invalid JS after substitution and eval() threw SyntaxError (e.g. Discord stable 1.0.136), often showing a blank client.

Scope patches to the flux store implementation via static displayName="MessageStore" / "ReferencedMessageStore", which is unique in the main web bundle.

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

This happened because of the latest Discord update i think. When i opened Discord with this new update applied i saw a GTK popup saying "Installing Discord" which i had never saw before, i think Discord changed their installation way on Linux since version 136 of the package. It wasn't the popup with a spinning discord icon, it was a GTK popup, with a "Cancel" button, with a progressbar that was using my DE's accent color, and was saying "Installing Discord"

when i was updating discord pac...

charred monolithBOT
austere talon
#

KILL ALL AI AI SLOPPERS

#

I am genuinely so fucking tired

charred monolithBOT
charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
# austere talon vtest
Slow Patches

VencordToolbox (took 23ms):
ID: 702638
Match: ```
/(?<=trailing:.{0,50})\i.Fragment,(?={children:[)/


**__BetterFolders (took 29.5ms):__**
ID: `253363`
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/
nimble pendantBOT
# austere talon vtest
Slow Patches

VencordToolbox (took 23.3ms):
ID: 272879
Match: ```
/(?<=trailing:.{0,50})\i.Fragment,(?={children:[)/


**__BetterFolders (took 35.6ms):__**
ID: `253363`
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/
prime dew
#

What would be the learning process to make plugins?
I would assume it goes something along the lines of

  1. Learn Javascript (or typescript)
  2. Learn regex
  3. Learn patches
    ?
brazen bone
#

The big thing is learning to navigate the discord code

charred monolithBOT
#

9794ab1 Translate: add support for Kagi Translate (#3416) - Ruben172
dbca8ef remove deprecated plugin.options field (#4165) - Vendicated
e50d8c4 Fix PermissionsViewer & NoMosaic - Vendicated
47cabdf fix Notifications being comically wide on ultra... - Vendicated
337ee16 Settings: fix "At the very bottom" location not... - RoScripter999

prime dew
#

Because it's obfuscated, right?

charred monolithBOT
chrome coral
#

@austere talon what are you planning to do with the installer? Iโ€™m not entirely sure what you wanna do with it, or if you even want to use my pr

grizzled halo
#

nomosiac causes funny big images

chrome coral
austere talon
#

already doing

chrome coral
still maple
still maple
#

no way

#

fat pack

kindred tree
#

@austere talon you didn't patch the languages list though kekega

austere talon
#

bro ur patch is broken

still maple
austere talon
#

bro thinks i use git gui

kindred tree
#

I made it with git

austere talon
#

based on the wrong input lol

kindred tree
#

I used the command you gave me lol

austere talon
#

yes but used it on the wrong input

kindred tree
#

rip

austere talon
#

just send pr lol

kindred tree
#

sure

#

will do it in a bit

austere talon
#

you gave me diff between your version a and version b

but the repo has version c lol

kindred tree
#

lmao

still maple
austere talon
charred monolithBOT
charred monolithBOT
austere talon
#

vtest dev3

nimble pendantBOT
austere talon
#

hallo

#

hurry

nimble pendantBOT
# austere talon vtest dev3
Slow Patches

VencordToolbox (took 24ms):
ID: 272879
Match: ```
/(?<=trailing:.{0,50})\i.Fragment,(?={children:[)/


**__BetterFolders (took 11.5ms):__**
ID: `253363`
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/
nimble pendantBOT
# austere talon vtest dev3
Slow Patches

BetterFolders (took 11.2ms):
ID: 702638
Match: ```
/(?<=className:)\i.\i(?=,"data-fullscreen")/


**__VencordToolbox (took 23.7ms):__**
ID: `702638`
Match: ```
/(?<=trailing:.{0,50})\i\.Fragment,(?=\{children:\[)/

BetterFolders (took 10.9ms):
ID: 253363
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/

charred monolithBOT
austere talon
#

vtest dev3

nimble pendantBOT
nimble pendantBOT
# austere talon vtest dev3
Slow Patches

BetterFolders (took 17.9ms):
ID: 272879
Match: ```
/(?<=[[,])((?:!?\i&&)+)(.{0,50}({className:\i.\i,themeOverride:\i}))/g


**__BetterFolders (took 10.6ms):__**
ID: `272879`
Match: ```
/(?<=className:)\i\.\i(?=,"data-fullscreen")/

BetterSettings (took 20.2ms):
ID: 272879
Match: ```
/class (\i)(?= extends \i.PureComponent.+?static contextType=.+?jsx)(\1,{mode:)/


**__BetterFolders (took 16ms):__**
ID: `253363`
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/
nimble pendantBOT
# austere talon vtest dev3
Slow Patches

BetterSettings (took 11ms):
ID: 702638
Match: ```
/class (\i)(?= extends \i.PureComponent.+?static contextType=.+?jsx)(\1,{mode:)/


**__BetterFolders (took 19.2ms):__**
ID: `253363`
Match: ```
/(?<=let ?(?:\i,)*?{folderNode:\i,setNodeRef:\i,.+?expanded:(\i),.+?;)(?=let)/
charred monolithBOT
#
[Vendicated/Vencord] New tag created: v1.14.12
kindred tree
#

thanks v

chrome coral
#

btw with my installer I have some cool stuff planned later on

austere talon
#

vext

nimble pendantBOT
twilit vector
#

worked on 1.14.11 until i updated

still maple
#

is it just me or bettersettings visually broken cause limited again ?

charred monolithBOT
charred monolithBOT
chrome coral
#

Making a PR with no title or description was a bold move

charred monolithBOT
charred monolithBOT
#

The current MessageLogger plugin keeps everything in memory. Deleted and edited markers live on the live MessageCache and disappear on reload. Most of what people use BetterDiscord's MessageLoggerV2 for is the persistence side, plus a viewer to browse the log, plus pin/save and attachment caching on top. I wrote a patch that brings Vencord's plugin to feature parity with MLV2 (with a couple of deliberate exclusions, called out below).

The diff is around 2k lines across `src/plugins/messageLo...

#

Closes #4186.

Most of what people use BetterDiscord's MessageLoggerV2 for is the persistence side: deleted and edited messages surviving a client reload, plus a viewer to browse the log, plus pin/save and attachment caching on top. The current MessageLogger keeps everything in memory; the markers live on the live MessageCache and disappear on reload. This PR brings the plugin to feature parity with MLV2, with a couple of deliberate exclusions called out below.

Around 2k lines added under `s...

twilit vector
#

dawg that's the 3rd pr for the same plugin

elder plinth
#

give user1-undefined a break

twilit vector