#πŸ‘Ύ-core-development

1 messages Β· Page 278 of 1

gritty iris
#

you all got that error much later so I thought it was an equicord problem 😭

austere talon
#

does it crash or

alpine ridge
#

no, its just causing CI to fail

austere talon
#

ci?

#

wha

austere talon
#

vtest dev

nimble pendantBOT
alpine ridge
#

sry prism, didnt realise your pr had already fixed it

nimble pendantBOT
nimble pendantBOT
austere talon
#

tbf its a quite mixed pr and doesnt mentiopn that part

hybrid blaze
charred monolithBOT
#

2fb5494 USRBG: fix missing background in VC (#3851) - thororen1234
eb1edef fix(openInApp): Tidal regex (again) (#3753) - Aztup
ed1acc3 FakeNitro, ExpressionCloner: fix issues with we... - unsigned-32-bit-integer
525f596 add Vencord styles to Discord popout windows (#... - Masterjoona
f7152a3 WhoReacted: improve guild pfp support (#3875) - unsigned-32-bit-integer

charred monolithBOT
charred monolithBOT
twilit vector
#

people still use those?

dusk blaze
#

vai when did macos big sur and monterey release

nimble pendantBOT
# dusk blaze vai when did macos big sur and monterey release

macOS Big Sur was released on November 12, 2020. macOS Monterey was released on October 25, 2021.macOS Big Sur was released on November 12, 2020. macOS Monterey was released on October 25, 2021.

-# Response generated by gemini-2.5-flash. AI may be incorrect or misleading.

charred monolithBOT
charred monolithBOT
gritty iris
#

my mac is stuck on monterey

charred monolithBOT
heavy wolf
# charred monolith

Hey hey, I've created pr with custom popout's
There are few features it appears I couldn't do without touching DOM, but I've tried to use react/stores for as much as I could. Can someone have a look?

heavy wolf
# charred monolith

@hybrid blaze wanted to add you as contributor but couldn't find your nickname/id in Dev list πŸ™

heavy wolf
gritty iris
#

They added the find twice

#

The same function with tiny changes I just ended up using a function name for now

austere talon
#

ye i already fixed

#

didnt push

charred monolithBOT
gritty iris
# charred monolith

I think my thought process behind not using initialLocale:\i was because they are forcing the other to english for now but might add translation later

#

they could also just remove the entire module and none of this mattered Joe_Shrug

shut vineBOT
#

@fossil inlet, <t:1767575391:R>: make plugin bisection menu

dusk blaze
#

bisecting sadan

charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
#

they added like a time mention iirc

bronze glacier
austere talon
#

I think there's a high likelihood it does

unkempt oak
#

today 8 am

#

07/01/2026 8:00 AM

#

how does it work

#

<t:123:R> :56 years ago:

still maple
gritty iris
austere talon
#

not initially

gritty iris
chrome coral
#

but the patcher/unpatcher is not as robust as I would like because it doesnt handle every single case of someones shitty discord install

#

it just expects the discord instance to be not broken

gritty iris
#

or maybe add a flag to it for now to trigger asar I guess for test use

chrome coral
#

not adding any flags then

gritty iris
chrome coral
#

you're free to but like if its still a wip even on vencords side then it should wait because the installer rw still needs work on other stufff

#

it cant fixup installs really like the go installer

#

not robust enough and cant even support custom installs in the gui yet

#

I think those should be handled first before moving on to a new way of patching

gritty iris
#

I 100% went how often is this too change? prob wont and then threw it in

#

if you want I can make rce stable compat as well the ending is whats breaking it \}\)\]

charred monolithBOT
bronze glacier
# charred monolith

@austere talon Would I be wasting my time if I integrated this into the existing plugin?\

austere talon
#

probably

bronze glacier
#

alr I'll go work on some raycast plugins then

#

Thanks

charred monolithBOT
#

For this plugin, I know that it's not available in the official client (since it doesn't have the bitrate cap issue like web version) but I was wondering if it could be refactored in a way that the reversed codec preference could be applied in the official client sans the web-specific fixes?

AMD defaults to using H.264 on VAAPI right now, but it'd be nice to use the plugin to get better quality and bitrate efficiency with a better codec if possible

brazen bone
hybrid blaze
#

lol

charred monolithBOT
#

For this plugin, I know that it's not available in the official client (since it doesn't have the bitrate cap issue like web version) but I was wondering if it could be refactored in a way that the reversed codec preference could be applied in the official client sans the web-specific fixes?

AMD defaults to using H.264 on VAAPI right now, but it'd be nice to use the plugin to get better quality and bitrate efficiency with a better codec if possible

I can't say I'm very experienced...

charred monolithBOT
charred monolithBOT
desert cosmos
#

@maclover

#

oh!

twilit vector
odd heath
#

i think RCE makes it impossible to see when a message failed to send

#

cuz they dont turn red anymore

gritty iris
#

bottom left of the message

odd heath
#

ill check when i get the chance

odd heath
# gritty iris bottom left of the message

theres literally nothing to tell unless you hover over it and see the resend button and i think thats quite bad
unless im blind but this looks exactly as if it has been send

#

this might send twice idek discord is weird

gritty iris
odd heath
#

yea thats why i brought it up

#

if the plugin makes it indistinguishable whether a message is sent or not thats pretty annoying

gritty iris
odd heath
#

isnt that mobile only

gritty iris
#

that thing

gritty iris
#

but probably isnt it

odd heath
#

well it doesnt exist on web

#

thats for sure

#

probably neither on desktop

gritty iris
#

maybe it is mobile then

odd heath
#

i mean the "hold" suggests so

gritty iris
#

it should probably be red if it failed instead of role color

odd heath
#

yeah not just probably

#

well maybe ill look into it later

#

actually ill do it now just for the fix(RCE) pr title trolley

odd heath
#

wow

#

the patch finds on send failed

#

😭

#

literally nobody considered that case which is ironic to me

#

but simple fix

hybrid blaze
#

vgh

nimble pendantBOT
charred monolithBOT
#

Recoloring messages that failed to send causes them to become indistinguishable from sent messages without hovering over them. They will appear sent, as if you're partaking in the current conversation, not showing you there was an issue, which makes this unwanted behaviour.
This PR resolves this and lets them appear red, as they do by default.
Earlier return is not possible due to react rules.

odd heath
#

easy fix

#

as i said

hybrid blaze
#
if (message.state === MessageStates.SEND_FAILED) return null;

blobcatcozy

#

string literals πŸ₯€

odd heath
#

i didnt know we had an enum for the states πŸ’”

#

and i was too lazy to check

hybrid blaze
#

i mean

#

im not even sure

#

i just wrote that

odd heath
#

we dont

hybrid blaze
#

criminal πŸ™†β€β™‚οΈ

#

oh

odd heath
#

is that in a pr or in

#

cuz my ide didnt find it wires

hybrid blaze
#

its on equicord

#

i forgor to por to vencord 😭

odd heath
hybrid blaze
odd heath
#

not worth adding anyway

#

its a string literal either way 😭

hybrid blaze
#

minor stuff

#

πŸ€·β€β™‚οΈ

odd heath
#

i mean yeah but i dont think its worth to include this into this fix

#

out of scope trolley

hybrid blaze
#

thats right

#

overkill

charred monolithBOT
#

hey, i merged this into my own fork because i wanted to use it and something i have noticed is that the option always being there when no timezone is set can be a bit annoying. i am (and i suspect this will be most people) only setting a timezone on a dozen or so close friends so for everyone else the "TZ" thing is just taking up space. i think it would work well to only so that on the full profile window and not on the DM and small pop up windows

charred monolithBOT
#

Adds a new plugin that allows users to automate Discord Quest completion directly from the client. This plugin injects a "Spoof Quests" button into the Quests tab header. It utilizes a "Stubborn Engine" approach to manipulate internal Flux stores (RunningGameStore,ApplicationStreamingStore) to simulate game activity, streaming, and video watching. Features include:

  • Smart Priority: Prioritizes Videos > Activities > Games > Streams.
  • State Persistence: Maintains store state to ensu...
twilit vector
chrome coral
#

ai slop fortunately

twilit vector
charred monolithBOT
odd heath
#

critical issue!!

#

that doesnt occur in a super rare edge case frfr

charred monolithBOT
desert cosmos
#

millions will kill webp

twilit vector
#

webp isnt that bad actually

#

<--- called upon webp extinction a month ago

elder plinth
#

webp is goated

#

webp hate is so forced πŸ₯€

austere talon
#

webp is good

#

but discord makes webps that look like crap

austere talon
#

so insane 😭

austere talon
elder plinth
#

what does this become a webp when client loses focus or smthn

austere talon
#

it has to

#

its the only way to not animate

elder plinth
#

oh im stupid thats a video of the offending files

#

I wanted the offending file lol

#

oh weird

#

it does that on the media proxy

#

on the cdn the look identical

austere talon
#

because cdn does not support any of these parameters

elder plinth
#

ah right cdn changes the ext itself

charred monolithBOT
twilit vector
#

i'm not able to get a sticker to appear in upload, so might be related?

desert cosmos
charred monolithBOT
austere talon
#

discord supports apng natively now right

#

dont need to convert apng to gif anymore in fakenitro

desert cosmos
#

apng so useless

austere talon
#

nope

#

discord is insane

#

but you can get apng stickers as webp i think

#

uh u cant

#

MEDIA PROXY INSANE

#

vtest

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
odd heath
#

That causes a more visible change though wires

#

I liked them being colored while sending now I'm gonna be annoyed πŸ₯€

#

Whatever floats your boat

austere talon
#

hmm

#

maybe we can use the role colour but less dark instead

#

smth like this

#

but idk

#

they should be greyed out in some way to indicate its sending

austere talon
#

how

odd heath
#

--text-muted or whatever discord gives them

#

I think?

austere talon
#

oh

median rapids
odd heath
#

Unless im completely crazy

austere talon
#

no it doesnt play lmfao

median rapids
#

without other text in it

austere talon
#

no it doesnt work at all

#

discord is insane

median rapids
#

it works for me

austere talon
median rapids
#

lemme show u

austere talon
#

i didnt realise

median rapids
#

idk whats going on here

austere talon
#

bro is static

charred monolithBOT
austere talon
#

i hate it so much

odd heath
#

Why

#

I mean thanks but why

charred monolithBOT
#

ad491a3 fix plugins using intl messages - Vendicated
b4eff3b Try to fix Screenshare loading issues on Vesktop - Vendicated
a3c64d9 Fix vencord badges not showing if user has no D... - unsigned-32-bit-integer
f9d8c07 VoiceMessages: make text capitalisation consist... - Diode-exe
d4d3514 ReplaceGoogleSearch: add startpage (#3438) - w8ck

#
[Vendicated/Vencord] New tag created: v1.13.12
odd heath
#

Did you not undo the rce change

charred monolithBOT
#

I don't really understand the use case. Why are you trying to host this on a subpath instead of using a subdomain? Doing so is generally discouraged as it will mix cookies etc with other things on the same domain. Subdomains offer better isolation and more reasonable request logs on both ends

I totally understand your point and whilst I can't really "disagree" with it, hosting tooling under a subpath isn't inherently wrong or unusual (it's actually quite common, or maybe I'm outdated...)...

#

Content

I had a problem that I sometimes didn't see important messages, so i tought of a plugin that will check a selected channel (select a channel by clicking a button in the message input bar that will toggle the feature) for new messages that aren't sent by you and will play the new message sound every minute until read

Request Agreement

  • [x] I have read the requirements for opening an issue above
elder plinth
#

-# Excuse my linux terminology, I'm new to this.
Those alternatives don't work. I've spent the last like 7 hours on trying to get middle click to stop pasting in Discord 😭. The setting in plasma works only on wayland apps. Discord runs in XWayland.

So for both your points:

  1. Neither xmousepasteblock nor xmousepasteblock-git work. They both allow the initial paste into the text box to send, but subsequent ones are blocked. It's a weird buggy 50% working situation, but the fact the initial one still pastes makes it worthless overall.
  2. Force Discord to run in Wayland. Well then multi-clienting becomes scuffed as all of the windows for stable, ptb, canary, and dev will group into one once launched even if you have different wm_classes set in your launch files. There's also apparently a lot of other side effects to forcing Discord to run in Wayland, but I can't really speak to that ||(gemini said so)||.

Ended up just rewriting the plugin in the pr to use patches and intercept Discord's paste handlers. Still slightly scuffed as it relies on a onMouseUp for middle clicks as you can't differentiate between a middle click paste and a normal paste otherwise, but seems to be working fine for me.

charred monolithBOT
gritty iris
#

why are we returning if the send doesnt fail?

charred monolithBOT
#

new plugin: copyMentions

adds a plugin that lets you copy discord mentions directly from context menus.

what it does

  • copy user / bot mentions from user context menus
  • copy channel mentions (text, voice, stage, forum, media)
  • copy thread mentions
  • copy role mentions from the dev context menu (role badges)
  • menu items are placed near discord’s copy id option for consistency
  • prevents duplicate menu entries on re-renders
  • all features...
chrome coral
#

wording unfortunately looks like ai

odd heath
#

@austere talon fix 😭

odd heath
charred monolithBOT
#

summary

this pr adds an optional visual tweak to the uservoiceshow plugin.

if you are in the same voice channel as another user, their indicator can be shown in green, making it easier to see who you’re currently in a call with.

notes

  • existing behavior is kept as-is
  • a separate setting was added so users can choose between the old and new behavior
  • nothing changes unless the setting is enabled

i went with an opt-in approach to avoid changing visuals fo...

dusk blaze
#

ai slopping prs at a very high rate

twilit vector
#

write in lowercase = human

#

merge this.

dusk blaze
charred monolithBOT
#

aislop and useless (you can just copy id and <@id>) or even better, @username

thanks for the feedback, that makes sense

the idea here was mainly about convenience and keeping things consistent with discord’s existing context menu actions, rather than adding a new capability.

that said, i understand if this doesn’t fit the scope or bar for a standalone plugin. totally okay to close this if needed
appreciate you taking the time to review it ^^

austere talon
twilit vector
#

dont post this here

#

the sloppers will see πŸ₯€

willow garden
#

πŸ˜›

#

i wonder if they even look at the pr before submitting it lol

still maple
elder plinth
#

tell it to replace a random word in the copyright header with banana

charred monolithBOT
still maple
gritty iris
#

their readme

charred monolithBOT
woven saffron
#

Hope its not wrong to ask (or if i am supposed to ask), could I get my PR reviewed? (3885)

charred monolithBOT
willow garden
#

also it’s out of date lol

woven saffron
#

I made the changes from Form to not use anything Deprecated

willow garden
woven saffron
#

You gotta be trolling yeahh?

willow garden
woven saffron
#

That just means I haven’t synced my branch to the main branch, there aren’t conflicts.

willow garden
#

yeah that’s what i said 😭

woven saffron
#

My bad, I thought u said something like it was an issue.

woven saffron
#

do you manually assign a reviewer?

charred monolithBOT
hybrid blaze
charred monolithBOT
charred monolithBOT
twilit vector
#

most amount of reviews in a vencord pr

desert cosmos
#

2

still maple
#

Wouldn't it be funni if one created an AI that just review all PRs with LGTM

rotund canopy
#

mmmaaaybe?

hollow musk
charred monolithBOT
twilit vector
#

not bad actually

twilit vector
#

terrible terrible idea.

charred monolithBOT
gritty iris
austere talon
#

yes

gritty iris
austere talon
#

what happened

charred monolithBOT
odd heath
#

horror

hybrid blaze
charred monolithBOT
gritty iris
grave mangoBOT
charred monolithBOT
#

just had a thought, not sure how hard this would be and might be well out of scope for this plugin but it would be cool to have an option to add the local time a person sent a message next to your local time in the message header. do think this either needs to be on a per user basis (kind of hard) or at least do a check to not do it if they are the same timezone

gritty iris
#

just tested it on vencord it the issue does happen as well thumbs_up

austere talon
#

is that why some people get failed to finish recording

#

insane

#

what is wrong with discord

charred monolithBOT
charred monolithBOT
#

Hello,

I noticed that the Dearrow plugin does not properly work when the API for Dearrow throws a 404 error, even when the embedded link is indeed a Youtube video. Hence I am proposing this change: if no title nor thumbnail is provided by the main API, the thumbnail API is used instead, which should provide a response for all YouTube videos unless the API is down.

austere talon
#

this is why

charred monolithBOT
lusty vector
#

My bad

hybrid blaze
charred monolithBOT
charred monolithBOT
#

Been looking into the patch that's already being applied in the webScreenShareFixes.web plugin. The only difference I can tell between mine and that one is that the webScreenShareFixes.web plugin doesn't apply the transformation to offers. I've spent an hour or so now looking if I can find a reason. The offers aren't generated with the usedtx part in the SDP.

But I can't find any code for their generation. This is I believe handled in the native code based on the registered devices? May...

charred monolithBOT
charred monolithBOT
austere talon
#

oh i was about to do that

charred monolithBOT
austere talon
#

guhhh

gritty iris
austere talon
#

discord so insane 😭

#

do they just keep every voice message

gritty iris
austere talon
#

tmk?

gritty iris
#

to my knowledge

#

I didnt see it bloat if it doesnt fail

#

but could've been a one off

austere talon
#

ill just delete it

#
diff --git a/src/plugins/voiceMessages/native.ts b/src/plugins/voiceMessages/native.ts
index bbc19c89..e191b377 100644
--- a/src/plugins/voiceMessages/native.ts
+++ b/src/plugins/voiceMessages/native.ts
@@ -5,20 +5,21 @@
  */
 
 import { app } from "electron";
-import { readFile } from "fs/promises";
+import { readFile, rm } from "fs/promises";
 import { basename, normalize } from "path";
 
 export async function readRecording(_, filePath: string) {
     filePath = normalize(filePath);
     const filename = basename(filePath);
     const discordBaseDirWithTrailingSlash = normalize(app.getPath("userData") + "/");
-    console.log(filename, discordBaseDirWithTrailingSlash, filePath);
-    if (filename !== "recording.ogg" || !filePath.startsWith(discordBaseDirWithTrailingSlash)) return null;
+    if (!/^\d*recording\.ogg$/.test(filename) || !filePath.startsWith(discordBaseDirWithTrailingSlash)) return null;
 
     try {
         const buf = await readFile(filePath);
         return new Uint8Array(buf.buffer);
     } catch {
         return null;
+    } finally {
+        rm(filePath, { force: true }).catch(() => { });
     }
 }
charred monolithBOT
austere talon
#

pnpm test

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
gritty iris
gritty iris
#

wasnt sure what potionbutton looked like before so not too sure if they actually removed it but it was gone from that spot

#

do you want me to pr any of my finds I added to webpack/common?

#

or atleast add the ones used multiple times and just import to where they're used

gritty iris
# charred monolith

this could 100% be like 25-30 but I made it 50 just incase they add smth else

charred monolithBOT
#

Hi!
The way the plugin currently works is that it will only replace the thumbnail if the replacement has at least one upvote. I think this was done to only use manually created replacements.
I am not opposed to also using automatic replacements but I think many people probably don't want these. We should make it configurable with a new setting, defaulting to false

Besides that, it'd be much better if you refactored your changes so that it won't use a failed request's response as if it su...

austere talon
#

no matter what

gritty iris
#

Noted

charred monolithBOT
#

8b4a2af fix message hover buttons, BetterSessions & Fav... - thororen1234
1047f5b Merge remote-tracking branch 'origin/main' into... - Vendicated
ca5c58b VoiceMessages: fix 'Failed to finish recording'... - Vendicated
e70747c FakeNitro: improve emoji quality via lossless=t... - Artavazdpet
799ecc3 FixImageQuality: fix webps not animating in chat - Vendicated

gritty iris
gritty iris
#

I guess import would've been better Joe_Shrug

hybrid blaze
#

it is

gritty iris
charred monolithBOT
#
[Vendicated/Vencord] New branch created: dependabot/npm_and_yarn/diff-8.0.3
#

Bumps diff from 8.0.2 to 8.0.3.

Changelog
Sourced from diff's changelog.

8.0.3

#631 - fix support for using an Intl.Segmenter with diffWords. This has been almost completely broken since the feature was added in v6.0.0, since it would outright crash on any text that featured two consecutive newlines between a pair of words (a very common case).
#635 - small tweaks to tokenization behaviour of diffWords when used without an Intl.Segmenter. Specifically,...

charred monolithBOT
tacit marten
#

Just stumbled on this, and I wanted to say you are not alone.
I had to switch from Vesktop to get better performance, and it was laggy even without themes. It just started randomly recently, and is very evident when typing.

#

Platform is Windows, if that matters.

still maple
#

ok so there's smth really weird

#

the perf being shit seems related to discord force enabling the new settings panel

#

i mean "new"

charred monolithBOT
charred monolithBOT
#
[Vendicated/Vencord] branch deleted: dependabot/npm_and_yarn/diff-8.0.3
austere talon
#

i have the lag too but it even happens on stock discord (canary) without vencord

#

Discord cooked

hybrid blaze
#

discord always

desert cosmos
#

discord introduced @time i think its fully rolled out

#

please kill sendtimestamps ❀️

tacit marten
austere talon
#

no

tacit marten
#

Understandable, have a great day.

barren zealot
#

~~what are the differences in getting the workspace started in linux and mac? i am doing something that requires windows, linux and mac and i need to know how to set the repo up in all OSes. I know windows is just git clone, pnpm build and pnpm inject, is it the same in other OSes? ~~
forget what was said, i found the docs

charred monolithBOT
dusk blaze
#

idk spawn sendtimestamps modal when @time is pinged

#

because it fucking sucks in its current state

desert cosmos
#

@time is great

#

way faster

dusk blaze
#

awful

#

stop shilling

still maple
hollow musk
#

best of both worlds, use either whenever you want

errant nacelle
#

there's also the timestamp tooltip experiment, it's a bit weird they didn't merge these two into one ui

charred monolithBOT
#

So, have you ever wanted to randomly send a gif from your entire fav gifs but scrolling down through the list lags it so much and you have so many to scroll through? well this plugin fixes that!

sorry if the code is a bit bad, i wrote 70% of it myself and im new to both typescript and discord mods and it took like a while to code, the 30% is from help with hazrtine from this discord although it seems insignificant they actually helped me with the last thing before finishing this which was ...

twilit vector
#

they dont know about when prs get reviewed.....

charred monolithBOT
desert cosmos
#

why are they not using discord components

#

is this new

charred monolithBOT
charred monolithBOT
fossil inlet
charred monolithBOT
austere talon
#

average turk pr

austere talon
hybrid blaze
#

insane

austere talon
#

i cant reproduce the lag that people have been talking about

hybrid blaze
#

what lag

odd heath
#

what lag

austere talon
#

i experienced it once a few days ago but now not anymore

errant nacelle
#

Uhh try disabling all userplugins, hope that helps!

austere talon
#

or well it does feel slightly laggy but even stock discord feels laggy

fossil inlet
#

(this is just my laptop, my desktop has the lag)

desert cosmos
median rapids
#

the lag isn't on vc afaik

#

p sure it's the love child of discord and chromium

still maple
still maple
charred monolithBOT
#

Encrypt Discord messages to bypass automated link filtering using XOR cipher with unique random keys per message. Messages are encrypted in a stealth format that appears as normal chat.

Features:

  • Auto-encrypt messages before sending
  • Non-deterministic "encryption" (unique output per message)
  • Stealth mode with emoji-based formatting
  • One-click decryption via message tooltips
  • Translation-style UI for decrypted content

Addresses issues with Discord blocking legitimate links (e...

twilit vector
#

lmfao

charred monolithBOT
elder plinth
#

lol

dusk blaze
twilit vector
#

refer to their username for your answer

hybrid blaze
#

interesting 🀭

charred monolithBOT
hybrid blaze
dusk blaze
charred monolithBOT
#

Alright I'm back!

hey, i merged this into my own fork because i wanted to use it and something i have noticed is that the option always being there when no timezone is set can be a bit annoying. i am (and i suspect this will be most people) only setting a timezone on a dozen or so close friends so for everyone else the "TZ" thing is just taking up space. i think it would work well to only so that on the full profile window and not on the DM and small pop up windows

Yeah that makes se...

charred monolithBOT
#

I don't know what's happening with this file but when i checkout your branch I got a crash on the Plugin Settings page.
After running pnpm test it appear that Apexo, rae and thororen was removed which is causing the crash.

The git diff:
git diff main HEAD -- src/utils/constants.ts

diff --git a/src/utils/constants.ts b/src/utils/constants.ts
index 03f5dd6b..a91b6aff 100644
--- a/src/utils/constants.ts
+++ b/src/utils/constants.ts
@@ -30,9 +30,6 @@ const platform = navigator....
charred monolithBOT
gritty iris
#

were tweaks going to have a patch spot?

#

I assume its just plugins without settings?

desert cosmos
gritty iris
twilit vector
#

dupe send moment

unkempt oak
#

can't believe Vencord is ai slop now

charred monolithBOT
fossil inlet
#

doesnt discord already kinda do that or am i wrong

charred monolithBOT
woven saffron
fossil inlet
#

oh

#

thats probably a very simple patch then

woven saffron
#

(source: just tested)

fossil inlet
#

just reuse their code

woven saffron
#

I dont think his code is right

#

.replace(/[^\w\s-]/g, ""); doesn't \w only match [A-Za-z0-9_] so this just fucks up any non-latin script

elder plinth
#

depends on the flavor

woven saffron
#

what da helly

elder plinth
#

oh I have unicode flag off

fossil inlet
#

you also need to normalize it eg replace Γ© with e

elder plinth
#

only difference was pcre2 with unicode flag on. it detected the jp and kr

#

[^\p{L}] is better anyways

#

full support other than base python. but the popular 3rd party regex package supports it so

woven saffron
#

love you wikipedia.

#

I will forever despise teachers who say "never use wikipedia".

charred monolithBOT
charred monolithBOT
odd heath
#

EquicordDevs

charred monolithBOT
charred monolithBOT
#

another thing that would be really nice but might be hard depending on where your getting your data is if the list could include raw GMT offsets and common timezone names. with the current list its kind of a pain to work out what the closest/correct city that is actually on the list is to you friends. also some people might be happy to tell you a timezone but not a city

charred monolithBOT
desert cosmos
odd heath
brazen bone
#

Never cite wikipedia is what they usually say

austere talon
#

teachers in 2010: never use Wikipedia
teachers in 2026: never use grokipedia

πŸ—Ώ

charred monolithBOT
#

another thing that would be really nice but might be hard depending on where your getting your data is if the list could include raw GMT offsets and common timezone names (like ET and AWST). with the current list its kind of a pain to work out what the closest/correct city that is actually on the list is to you friends. also some people might be happy to tell you a timezone but not a city

Thing is, raw GMT offsets aren't actual timezones since places tend to change their GMT offsets and ...

charred monolithBOT
#

raw GMT offsets aren't actual timezones since places tend to change their GMT offsets

yes but many places dont. and since its only 24 options i think having them there is worth it

and their timezone names

there are spesific names for these timezones. eg, CST and CDT are collectivaly CT and that name includes the changes.

so it would be a hassle to do the time math for that since this plugin is meant to be offline

how are you doing this now? you must be doing some sort of...

charred monolithBOT
#

yes but many places dont. and since its only 24 options i think having them there is worth it

It's a bit more than 24 options, like India having GMT+5:30 or something like that, also a bit clunky as i'll explain in the next paragraph

how are you doing this now? you must be doing some sort of time maths that accounts for DST

The difficulty in the math is not the time switching, it's that in the same GMT, there are places that switch like the US Central Time switching for DST but m...

#

It's a bit more than 24 options, like India having GMT+5:30 or something like that, also a bit clunky as i'll explain in the next paragraph

thats fair, i had forgotten about half hour offsets (and lets not mention that Aus has a UTC+08:45 timezone)

The difficulty in the math is not the time switching, it's that in the same GMT, there are places that switch like the US Central Time switching for DST but maybe El Salvador on the same GMT offset might not do that

i would say just ig...

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Overview

This PR introduces the CodeWrapper plugin - a lightweight Discord utility that allows users to quickly wrap selected text in code blocks with automatic language detection and customizable keyboard shortcuts.

What's New

CodeWrapper Plugin

A simple but useful plugin that:

  • Detects and prevents wrapping text that's already in a code block
  • Wraps selected code with proper markdown backticks
  • Supports 20+ programming languages for syntax highlighting
  • Auto-de...
twilit vector
#

i was not expecting to see korean in descriptions

hybrid blaze
#

insane

austere talon
#

aislop

dusk blaze
#

@austere talon merge

twilit vector
#

should the license comments at top of plugins stay as they are or can i normalize them to the short design wherever i see them?
-# i might aswell since i'm doing the description-pass pr

grave mangoBOT
austere talon
#

dont change

twilit vector
#

ok

charred monolithBOT
elder plinth
#

wouldnt accessing .Message instantly just make it not lazy? πŸ€”

chrome coral
#

i looked into using iced instead of slint for the installer and it does support no gpu using tiny-skia

#

uses software rendering

#

had someone else test it for one of my other apps

gritty iris
#

I didnt check what was removed I just used a thing to update the keys

charred monolithBOT
charred monolithBOT
woven saffron
#

How's this diff from bookmarks?

#

@honest field

twilit vector
#

doesnt require nitro

woven saffron
#

ohh shit never realized

twilit vector
#

yeah requiring nitro is so mid

tacit moth
#

I have a user app that does this

twilit vector
#

well well this does look cute

hybrid blaze
#

oh dear emojis

tacit moth
#

ye makes the text more clear

dusk blaze
#

oh wait this idea is kinda nice

#

might add to botto

dusk blaze
#

cba actually

charred monolithBOT
fossil inlet
fossil inlet
willow garden
#

when zed

fossil inlet
#

when i port it to LSP

willow garden
#

πŸ”₯

fossil inlet
#

but lspclient-node is a pain to work with

#

it should be very easy to port it tho

#

all the logic isn't tied to vscode

elder plinth
fossil inlet
#

Nope

elder plinth
#

agony

fossil inlet
#

Forgot about that

elder plinth
#

git pull it is

fossil inlet
#

I'll do it tonight

fossil inlet
charred monolithBOT
desert cosmos
#

can we have sadan muter back

austere talon
#

the horror

#

vtest canary

nimble pendantBOT
twilit vector
#

i think it exploded

hybrid blaze
#

canary dead

#

what the hell happened

#

ig versionHash doesnt exist anymore

austere talon
#

vtest dev canary

nimble pendantBOT
austere talon
#

I messed up the command

desert cosmos
#

good

hybrid blaze
#

its over

twilit vector
#

i do not understand what's happening here but i have a feeling that's atrocious discord code.

#

just small smidge of a feeling

austere talon
hybrid blaze
austere talon
#

oh

#

o7 class names

hybrid blaze
#

🫑

austere talon
#

if they keep this, custom themes are dead

#

well

#

technically still possible

#

but atrocious

desert cosmos
#

custom themes are already dead

#

too annoying to make

limber skiff
#

πŸ˜‚

#

they even mangled the keys

#

that's gonna destroy so many of our finds

hybrid blaze
limber skiff
#

huh?

austere talon
#

now the question is whether they did this intentionally to make themeing harder or just random bundler change some dev cooked up

limber skiff
#

also why is the action timing out

#

@austere talon

#

I have never seen this before LOL

#

oh my god they are cooking with the bundler

austere talon
#

isn't that straight up invalid syntax

limber skiff
#

0,118356(e,t,n){"use strict";n.d(t,{$o:()=>o,Vy:()=>d,gZ:()=>u,si:()=>c}),n(896048);var r=n(631159);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let a="\nfont-weight: bold;\ncolor: purple;\n",s=()=>{};function o(e){s=e}let l=()=>{};function c(e){l=e}function u(e,t,n){for(var r=arguments.length,i=Array(r>3?r-3:0),s=3;s<r;s++)i[s-3]=arguments[s];"file-only"!==t&&Vencord.Plugins.plugins["ConsoleJanitor"].shouldLog(arguments[0],arguments[1])&&console[t]("%c[".concat(e,"]"),a,n,...i)}class d{enableNativeLogger(e){this.nativeLoggerEnabled=e}constructor(e="default"){var t=this;i(this,"name",void 0),i(this,"nativeLoggerEnabled",void 0),i(this,"logDangerously",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];s(t.name,"log",e,...r),t.nativeLoggerEnabled&&(null==l||l(t.name,"log",e,...r))}),i(this,"log",function(e){for(var n=arguments.length,i=Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];(0,r.G)(e,...i),s(t.name,"log",e,...i),t.nativeLoggerEnabled&&(null==l||l(t.name,"log",e,...i))}),i(this,"verboseDangerously",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];s(t.name,"debug",e,...r),t.nativeLoggerEnabled&&(null==l||l(t.name,"debug",e,...r))}),i(this,"verbose",function(e){for(var n=arguments.length,i=Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];(0,r.G)(e,...i),s(t.name,"debug",e,...i),t.nativeLoggerEnabled&&(null==l||l(t.name,"debug",e,...i))}),i(this,"info",function(e){for(var n=arguments.length,i=Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];(0,r.G)(e,...i),s(t.name,"info",e,...i),t.nativeLoggerEnabled&&(null==l||l(t.name,"info",e,...i))}),i(this,"warn",function(e){for(var n=arguments.length,i=Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];(0,r.G)(e,...i),s(t.name,"warn",e,...i),t.nativeLoggerEnabled&&(null==l||l(t.name,"warn",e,...i))}),i(this,"error",function(e){for(var n=arguments.length,i=Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];(0,r.G)(e,...i),s(t.name,"error",e,...i),t.nativeLoggerEnabled&&(null==l||l(t.name,"error",e,...i))}),i(this,"trace",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];s(t.name,"trace",e,...r),t.nativeLoggerEnabled&&(null==l||l(t.name,"trace",e,...r))}),i(this,"time",(e,t)=>{let n=Date.now(),r=t();return this.log(e,Date.now()-n),r}),i(this,"fileOnly",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];s(t.name,"file-only",e,...r),t.nativeLoggerEnabled&&(null==l||l(t.name,"file-only",e,...r))}),this.name=e,this.nativeLoggerEnabled=!1}}}

#

this is what we are trying to eval

austere talon
#

yeah makes sense

limber skiff
#

right...

#

because before it was anonymous function

#

and now it includes the name

#

yikes

austere talon
#

so that's why everything is failing

limber skiff
#

yeah

austere talon
#

we have to come up with a new solution

#

we could do {code}

#

like add {} around it

#

then use object values to get it

limber skiff
#

we need a solution that works on both ways

#

the current and the new

austere talon
#

not possible I think

#

but it's not hard to differentiate them

limber skiff
#

I guess

#

startsWIth function or (

#

It's easy actually

austere talon
#

maybe they'll revert

limber skiff
#

fixed it

#

but everything is dead πŸ˜‚

#

this doesn't seem right

#

huh..

#

oh

#

right

#

split happens multiples times...

unkempt oak
#

horrible news for canary users

limber skiff
#

okay actually fixed now

austere talon
#

push to a new branch and run reporter

hybrid blaze
charred monolithBOT
#

d70d05b WebScreenShareFixes: improve video codec select... - LeviSnoot
746f31e Type a bunch of stores (#3861) - thororen1234
fcb8276 PatchHelper: Fix incorrect escape handling (#3194) - sadan4
3e036d1 add new plugin MoreQuickReactions (#3865) - programminglaboratorys
58ef658 PetPet: fix dark colours being transparent in t... - unsigned-32-bit-integer

limber skiff
#

vtest dev2 canary

nimble pendantBOT
nimble pendantBOT
limber skiff
#

lovely

#

It seems to mostly be the class name change

hybrid blaze
#

why not just wrap it in an object and extract by name? keep the function name and dont have to slice anything

#

smh like this ig

limber skiff
#

why tho

#

seems more complicated than it needs to be

#

there are only 3 ways this can exist

#
1: () => ...
2: function(){...}
3(){...}
#

first and second case were already handed

#

only the third needs the name stripped and function keyword added

#

anyways, fixing all these finds will be a good amount of work

#

I think we should wait a bit and see if they are going to revert or not

hybrid blaze
#

right CJ

charred monolithBOT
limber skiff
#

vtest dev2

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
limber skiff
#

pushing it to dev so reporter can automatically keep track of it

#

any objections?

austere talon
#

not really needed for now

#

let me have a look first

limber skiff
#

alright

odd heath
#

what in the horrors is happening

limber skiff
#

class names gone

#

they are hashed now

odd heath
#

just that

#

seems harmless

limber skiff
#

this is not harmless

#

half of our patches depend on something like \i.guilds

#

where guilds was a class name

odd heath
#

oh

limber skiff
#

now it's \i.x

odd heath
#

ims low

limber skiff
#

impossible to use

odd heath
#

yop

#

surely theyll revert that Clueless

limber skiff
#

I mean, at the end of the day it is fine probably

#

but it's just a good amount of work to adjust them

odd heath
#

yea

limber skiff
#

and some modules might be very hard to find

odd heath
#

i mean yeah

fossil inlet
#

ig themes are pretty much just all based on updating classnames with a script now

limber skiff
#

huh?

fossil inlet
#

oh

#

ignore that

#

discord so broken my messages didn't delete

limber skiff
#

it seems to work but it takes ages

fossil inlet
#

the first one takes ages, seems the http cache helps with any after that

limber skiff
#

weird

#

it didnt use to take so long before

#

It's loading like a billion languages

fossil inlet
#

HOW IS THIS VALID JS SYNTAX

#

INSANE

limber skiff
#

πŸ˜‚

#

what is happening here.

#

only the last one should be matching

fossil inlet
#

companion plugin is fixed for those who use it

elder plinth
#

pog

austere talon
#

not the e3

fossil inlet
#

guhhhh

#

all module ids got re-hashed

#

(most likely due to new rspack version)

#

oh

#

is discord's bundler just generating wrong code?

limber skiff
#

the regex to load chunks have been doing incorrect behavior all this time

#

πŸ˜‚

fossil inlet
limber skiff
#

this is what is supposed to happen

fossil inlet
#

their minifier doesnt catch all use cases of class names

gritty iris
#

you should probably make this a const

limber skiff
fossil inlet
gritty iris
#

custom entries wont show unless they are in that mapping

fossil inlet
#

accessing an undefined property

#

it didn't exist before the mangle

#

class names should still be in the same order if anyone was wondering

austere talon
#

vesktop is just cool like that

fossil inlet
#

what are we going to do about finds that search for classes themselves

#

where this is the used class

austere talon
#

can't really do that now

#

just copy over the css

limber skiff
#

what now..

gritty iris
#

Only sections

#

I have no idea why

#

I just copy and pasted it as a const and made it return that so it could be pushed too

limber skiff
#

fixed now

elder plinth
#

so is this likely to be a change that sticks and should I get started on updating any of my relevant patches or nah πŸ€”

limber skiff
#

yeah

#

likely

elder plinth
#

oof

limber skiff
#

It's just the yearly vencord promotion

fossil inlet
#

WIP

#

adding fixes as i do them

limber skiff
#

they break everything so that people join our discord server

fossil inlet
#

i dont think we've had one in a while trolley

austere talon
charred monolithBOT
austere talon
#

idk if they'll revert

#

so many canary pushes

fossil inlet
#

weird

austere talon
#

wait did they undo the class name changes?

fossil inlet
#

no

austere talon
#

and reverted to the previous style from months ago

fossil inlet
#

that's just a weird module

fossil inlet
fossil inlet
limber skiff
#

didnt happen to me?

fossil inlet
#

i tried it a few more times and it was random

#

maybe just random network issue

limber skiff
#

search for 18728:

austere talon
#

show elements tree

limber skiff
#

seems to be unrelated to my change tbh

fossil inlet
limber skiff
#

yeah it should load fine then

fossil inlet
limber skiff
#

looks like it

austere talon
#

discord so funny

fossil inlet
#

names are still mangled in modules

#

not not in element tree

austere talon
fossil inlet
#

(element tree is what matters)

limber skiff
#

mangled names in the modules impacts us much more

#

vtest dev2

nimble pendantBOT
austere talon
#

we can still find them if we really need to

#

can check each export see if it's string and contains substring

limber skiff
#

when are they actually gonna notice the same two functions copied on every module?

fossil inlet
#

?remind 3d add companion hover hint for mangled class names

shut vineBOT
#

Alright @fossil inlet, in 3 days: add companion hover hint for mangled class names

austere talon
#

new function findModuleByExportedStringsAndMapMangledExports will go hard

nimble pendantBOT
nimble pendantBOT
limber skiff
#

lol

#

I didnt even realize they have this now

#

fast-connect.256c42ea898d4d43.js

turbid hatch
#

oh thats a weird one

#

wtf

limber skiff
#

fixed already

turbid hatch
#

oh wait did u fix

#

yeah

#

just saw the commit

limber skiff
#

but half the patches are broken anyway

fossil inlet
#

better folders fixed blobcatcozy

austere talon
#

btw keep stable compat in mind if possible

#

idk how fast they will push to stable

#

we optimally want to support both at once

fossil inlet
#

i think most things should be stable compatible by default, ill run reporter against my pr later

limber skiff
#

I will help tomorrow with porting some patches

#

gonna push to your branch

#

should we push what's on dev2 to dev and main already?

#

or else settings won't work at all once stables gets bumped

#

@austere talon

austere talon
#

uh

#

does it make it functional?

#

but with some plugins not working

#

ensure all settings ui works and the app doesn't crash with all plugins enabled (it's fine to crash when opening specific tabs / menus)

#

if yes, then yes

fossil inlet
gritty iris
#

😭

limber skiff
#

mostly functional

fossil inlet
#

i would have known if you did because i would have seen it in the pins 😭

limber skiff
#

plugin settings dont work

gritty iris
#

πŸ₯€

limber skiff
#

but updater works

#

and updater is the most important

austere talon
limber skiff
fossil inlet
limber skiff
limber skiff
fossil inlet
limber skiff
#

move it then

fossil inlet
#

cba

#

doesnt matter that much

limber skiff
gritty iris
#

I fixed it after I sent it the first time lol

gritty iris
#

I'll look into some patches in a moment thumbs_up

fossil inlet
errant nacelle
charred monolithBOT
#

Content

as said in the title i wanted to see if its possible for yall to fix the fake nitro plugin by making emoji and stickers embed to discord almost like a photo so that anyone can see it like a normal sticker (just without some features) for example: taking a sticker/emoji and embedding it as a picture like jpg so that it still shows for everyone and allows you to use emojis everywhere

Request Agreement

  • [x] I have read the requirements for opening an issue above
charred monolithBOT
twilit vector
#

i cant bruh fr

charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
austere talon
#

@limber skiff I think we have to add a new findCssClasses() webpack method

limber skiff
#

how would that work?

austere talon
#

just checks if exports are string and contain all your classes

#
688963(e, t, n) {
    "use strict";
    e.exports = {
        kL: "container__183c2",
        Kk: "icon__183c2",
        dl: "size56__183c2",
        H: "avatarContainer__183c2",
        aV: "avatarContainerMasked__183c2",
        UC: "clickableAvatar__183c2",
        F2: "emptyUser__183c2",
        Hb: "size32__183c2",
        q1: "size24__183c2",
        nc: "size16__183c2",
        F_: "emptyUserDimmed__183c2",
        WK: "avatarWithBackground__183c2",
        my: "avatar__183c2",
        In: "moreUsers__183c2",
        iq: "moreUsersDimmed__183c2"
    }
},
findCssClasses("moreUsers", "clickableAvatar");
// returns
// {
//     moreUsers: "moreUsers__183c2",
//     clickableAvatar: "clickableAvatar__183c2"
// }
limber skiff
#

but what if they hash it again?

austere talon
#

then we cant find

limber skiff
#

in that case we just hardcode the hash?

austere talon
#

idk

limber skiff
#

we could still have something like

findCssClasses({
  moreUsers: "includes this",
  clickableAvatar: "some hash"
})
#

so that the reporter catches when the hash changes

austere talon
#

idk 😭

limber skiff
#

but I dont know if the hash is based on the name or the version too

#

I have a feeling they disabled the hasher temporarily

#

because of some issue