#👾-core-development
1 messages · Page 286 of 1
equicord always randomly popping up in main 😭
@gritty iris thoughts on this
sadan meyer
rewriting everything in rust
insane
yop
my reporter hella fast
but its grok :c
That's cool
vibecoded
Nop
very cool
Content
That's in the title but it would be great to add in MemberCount a setting for not counting bots in the total of members.
Request Agreement
- [x] I have read the requirements for opening an issue above
i wish punching through the screen was possible
@twilit vector
Yes Nin0-AI?
there have been no changes since i was last requested to review this
yes but they still don't merge it 😭, I really use this feature lol
absolute cinema
vtest
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
Added the DiscordQuestAutomator plugin. This plugin automates the process of completing Discord Quests by handling the background progress tracking and completion calls without requiring active user interaction in the quest window.
Features
- Automatically detects active quests.
- Simulates quest progress in the background.
- Notifies the user upon successful completion.
OpenClaw™ AI ✨ Agent
Add support for {artist}, {album}, and {title} variables in the LastFM rich presence custom status field, allowing users to dynamically display track information in their status text.
I'm so confused, isn't that a native discord feature ?
Not really
nvm it is doable with CSS only kinda but only for if you are in nitro range or overflow
anthropic has removed the `ANTHROPIC_MAGIC_STRING_TRIGGER_REFUSAL string from their docs & claude now ignores it (though it pretends to comply sometimes)
rest in peace claude killer
<img width="965" height="354" alt="image" src="https://github.com/user-attachments/assets/83b1512c-6379-494a-92ee-27939e75243c" ...
ai garbage is so blatant anyway we don’t need that
From @fossil inlet (video muted):
one day salad will find the mute button in obs
never
Vee Von Vitler
@fossil inlet upload to imagehost
and block veebubu vps
@austere talon i don't mind the muting (that much), but i do mind not being able to delete my messages
yea, that's what will happen soon unless i can delete them
@fossil inlet upload a 1x1 transparent image before the video
u could just mute ur videos idk

then the bot doesnt have to do it
also this wouldn't even work 
you removed the part that doesnt mute of the audio level is 0

if you will mute ur screen recordings ill remove the feature
insane
maybe he can react with something to the message and the bot deletes
-# or just mute the videos (3 clicks in obs)
Content
All h264 videos (this also includes tenor GIFs) will fail to play when using discord 0.0.130 patched with vencord on linux (haven't confirmed with other OSes). Other codecs are working like usual (vp9/av1 inside webm is fine, and h265 videos will only play the audio)
Trying to play the video will send this error on console:
It points to a catch on play() function
Full log
Uncaught (in promise) NotSupportedError: Failed to load because no supported source was found.
...
how does it download the client files?
custom scraper
same thing that powers https://sadan.zip/e
i rewrote it partially in rust tho
you can also give it a local bundle to work with
i also might add support for web socket/dev companion
dd0a66f Bump golang.org/x/image from 0.14.0 to 0.38.0 - dependabot[bot]
Bumps golang.org/x/image from 0.14.0 to 0.38.0.
Commits
23ae9ed tiff: cap buffer growth to prevent OOM from malicious IFD offset
e589e60 webp: allow VP8L + VP8X(with alpha)
fe7d73d go.mod: update golang.org/x dependencies
e3d762b all: upgrade go directive to at least 1.25.0 [generated]
833c6ed go.mod: update golang.org/x dependencies
bc7fe0b go.mod: update golang.org/x dependencies
c53c97f go.mod: update golang.org/x dependencies
9032ff7 all: eliminate vet...
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.
If you change your mind, just re-open this PR and I'll resolve any conflicts on it.
dependabot ❤️🩹
@dependabot never contact me ever again
NO WTF
Why not just turn it off?
can't reproduce and this isn't a Vencord issue anyway. Vencord changes nothing about video codecs
a bunch of ppl in support have been saying that it's only on the linux app, only when vencord is installed
shrug
Then what could it be? I'm having the exact same issues described with images and videos working normally on vanilla discord, but not working once the same install is patched with vencord.
How tf do you construct the replacement string without evaluating the function itself
"simple" functions
this is the most complex thing i can really do
i represent it like this in memory
then i can just do this

vee filtering prs just like that 😭
it wasn't vee tho
and then someone in support says installing openasar fixes it #🏥-vencord-support-🏥 message

Huh, that fixes on my end too, even tho I don't use openasar. Installing it simply fixes it
wait what
ohh so h264 is semi-broken on linux client with vencord installed, and openasar fixes it?
wicked
literally no
what explanation can there be to this witchcraft then #🏥-vencord-support-🏥 message
feat: add showing live streamers in hidden channels.
seems sus ngl
i cant even begin to comprehend
me neither
Replacing _app with openasar worked for me as well. This seams like an issue which may have been introduced by Discord themselves.
yapping to yap
now showing live streamers in hidden channels
added the option to move channels from one category to another via DM ContextMenu, without having to waste time unpinning them first. just a small QoL feature
wtf does bro need 1.7k lines for you can do this in well under 100 probably and if not its not rlly worth it
second time's the charm
watch them open a 3k pr next
this I would really like honestly, I hate having to unpin first before moving them
<img width="821" height="70" alt="Image" src="https://github.com/user-attachments/assets/3edd7d2f-0ac0-4486-af20-1b3f8efc9d9b" />
I noticed that the gif can't be "replayed", it will play once and stop
installing openasar via vencord_installer worked for me, thanks for adding it to the installer
ok solution is there Can we stop rpelying now
ummm hi please dont kill me with hammers for this question but can i test my vencord patch using vesktop or do i have to install discord for it
nvm i think i may have found it
developer options in vesktop settings
thank you venn
Simply disables the entire soundboard while using the in-game overlay, usually accessed by Ctrl + ` or Ctrl + /. For some reason the soundboard in the in-game overlay can not be disabled and the default keybind can not be disabled in the default Discord client.🙃
I made this plugin because I use Ctrl + ` as my toggle mute keybind and was tired of Discord playing super loud sounds every time I try to mute while in a game. After searching online I saw tens of Reddit posts and peop...
press on this pr and look at the image for a jumpscare
insane
added plugin that lets you see which of your friends are typing anywhere (dms/servers) with a section in friendlist and server icon indicators
horror
7 patches
Summary
Adds a Focus Mode plugin that lets users hide the guild list, sidebar, and user panel with one click to focus on the active chat or call.
Features
- Focus button (⊟/⊞) injected in the header bar — toggles both guild list and sidebar at once
- Optional separate toggles for guild list (G) and sidebar (S) via plugin settings
- i18n — English and Portuguese (BR) language selector
- Smooth CSS transitions when hiding/showing
- Hides guild list (\guilds_), sidebar ...
ai did not cook with this one...
@tacit light
bettergifalttext will need to be updated to remove id from giphy urls
klipy seems fine cus they use number ids
you might have to retire mate
13 husks
good choice
Summary
- add a new mockupEditor plugin that opens a full image editor from the attachment action bar before sending
- include background/layout/appearance controls and annotation tools (text, arrow, rectangle, circle)
- preserve transparent exports by forcing PNG output and include a plugin README plus author entry in Devs
Notes
- plugin folder is camelCase (src/plugins/mockupEditor) and follows Vencord plugin structure
- author metadata is wired via Devs.hazesjsbn
what the hell
1600 lines of pure typescript gem
actually this might not be ai
welcome back remix
Pull request overview
Adds a new mockupEditor plugin that injects an attachment action-bar button to open a full-screen-ish image editor before sending, plus documentation and author metadata.
Changes:
- Added
src/plugins/mockupEditorplugin with a canvas-based editor (background/layout/appearance + basic annotation tools) and upload replacement flow. - Added plugin README documenting features/usage.
- Added a new
Devsentry for the plugin author.
Reviewed changes
Copilot...
getCanvasPoint converts client coordinates using canvas.width/rect.width and canvas.height/rect.height, but the canvas context is already scaled by DPR (ctx.scale(dpr, dpr)). On HiDPI screens this double-applies DPR, so annotations/drags will be offset and scaled incorrectly. Compute pointer coordinates in CSS pixels (or divide the backing-store size by DPR) before subtracting padding.
const x = clientX - rect.left - padding;
const y = clientY - rect.top - padd...
canvas.getContext("2d", { willReadFrequently: true }) opts into a mode that can reduce rendering performance (often disables GPU acceleration) and is intended for frequent pixel reads. This code only draws, so the flag is unnecessary; removing it should improve rendering performance, especially during mouse-move redraws.
const ctx = canvas.getContext("2d");
The “Add” button wires onClick={handleTextSubmit}, but handleTextSubmit is typed as React.FormEvent (and is also the form submit handler). This causes a TS type error and makes the click path inconsistent. Consider moving the button inside the form as a submit button, or change the handler to accept a generic React.SyntheticEvent and share the submit logic.
<button type="submit" className="vc-mockup-editor-button primary">
Add
...
renderAttachmentActionBar references MockupEditorEditUploadButton (identifier) which isn’t defined anywhere in this module, so this function will not type-check (and would throw if executed). Since the plugin already injects the button via the patch, either remove this unused helper or fix it to only reference this.MockupEditorEditUploadButton.
const EditUploadButton = this?.MockupEditorEditUploadButton;
if (!EditUploadButton) return;
children.push(
React.creat...
When background.type === "transparent" and shadows are enabled, renderCanvas allocates a new offscreen <canvas> on every render. During drawing/dragging this will run many times per second and can cause GC churn and jank. Reuse a single offscreen canvas via a ref (or avoid the offscreen pass) to keep redraws smooth.
was peak
this ishow it looks
Content
issue:
currently to add custom userplugins to one's vencord, one would have to have fair understanding and usage of JS toolchains in order to add the plugin manually, build vencord, inject, and keep it up to date with new vencord update on the main branch.
due to this, the entry level for adding custom stuff becomes quite inconvenient and high.
idea
if we could enable users to place plugins in a local folder (e.g. /userplugins/) and have them load dynamically, while st...

one would have to have fair understanding and usage of JS toolchains in order to add the plugin manually
bro what
read the docs it's basically holding your hand
wrote all of that just to get "no"d 😭
understood.
just to clarify one point: this was intended as an optional, user-responsible feature (with clear warnings that vencord does not provide support/assistance with user plugins)
thats all, thanks for the quick response
This plugin simply just removes the hold up warnings before sending a discord token or a @everyone ping.
Fixes two issues in MessagePopover:
- The key is not applied to the top-level element, which can cause unstable list rendering
- Plugin render functions are called outside a proper React context, which may break hooks usage
These changes make the rendering more consistent and align better with how React expects components to be structured.
Content
Every time I open Discord in the Browser, I am muted by default.
My suggestion would be to change this behavior to match that of the Discord desktop client
Request Agreement
- [x] I have read the requirements for opening an issue above
added screen share event narration
to disable just remove everything from the text box
why did you rewrite the entire plugin for no reason?
ai slop my beloved
well idk if it's ai but still insane
hey i see you reqyest an DiscordQuestAutomator so here i made 1 :)
https://github.com/URF6160/Vencord-Quest-Auto/tree/main
i am new here
feat: LocalReminders plugin (local-only reminders)
Summary
Adds the LocalReminders plugin: reminders are local only (no server). Data is persisted with Vencord’s DataStore, rescheduled when the plugin starts, and surfaced through the existing Notifications API.
Features
/remind in—minutes(1–28,800) +message(max 500 characters); confirmation includes a Discord timestamp./remind list— lists pending reminders, sorted by due time.- **`/rem...
The anti-slop action should be useful here in automatically closing these PR’s that are fully generated with AI https://github.com/peakoss/anti-slop
I feel like it’s getting pretty bad now
I think the entire point of reminders is to like… remind you when you’re not online
setTimeout?? What
I mean it makes sense but also doesn’t
wouldnt do anything
@austere talon I basically completely the rewrite if you want to take a look, im currently making the gh actions

I noticed the FluxDispatcher type doesn't define addInterceptor despite this function existing in the Discord source code
is this intentional?
yes
I swear v did a comment on one of my prs for that but my email and github are making think I fever dreamed it up
addInterceptor is mostly only useful to moneky patchers
v made a comment that was dont add interceptor because they didnt want people using it
I just cant find the comment
😭
yeah that makes sense
what does addinterceptor even do
adds an interceptor
yeah thank you i figured that much
does it just prevent flux events from being processed
or what
well it intercepts
What does this plugin do?
Adds per-user noise gating to voice channels. Right-click any user in a VC → Suppress to apply a noise gate to their audio stream. Right-click again → Unsuppress to restore clean audio.
How it works
Each Discord user's audio is a separate MediaStream. This plugin intercepts those streams via a MutationObserver and routes suppressed users through a custom AudioWorkletProcessor (noise gate) running on the dedicated audio thread. Non-suppressed ...
wow! this sucks!
If only there was a plugin that already manipulated media streams that you could use as an example
ninaslop
unironically
ninaplosion
Summary
Adds a MechanicalKeyboardSounds plugin that plays a synthetic mechanical keyboard click while typing in Discord's message composer.
What It Does
- Plays a short synthesized key sound while typing in the message composer
- Uses a deeper accent sound for
Enter,Backspace, andSpace - Includes settings for volume, special-key sounds, and held-key repeat
- Cleans up the audio context when the plugin stops
Files
src/plugins/mechanicalKeyboardSounds/index.ts- `src...
we really cannot go a single day without aislop
I blame nina
Summary
Adds a new desktop plugin ActivityAutoStatus that updates status based on active activities and restores the previous status once triggers are gone.
Features
- Configurable status mapping for:
- Playing Game
- Playing Music
- Watching
- Configurable trigger priority order
- Configurable check interval (default: 1 min)
- Restores previous user status when no trigger is active
Notes
- Plugin path: src/plugins/activityAutoStatus.discordDesktop/
- Uses Vencord settings A...
ah yes more ai slop just what i wanted
Pull request overview
Adds a new Vencord desktop plugin, ActivityAutoStatus, to automatically set the user’s Discord status based on detected activities (game/music/watching) and restore the prior status when no triggers remain.
Changes:
- Introduces the
ActivityAutoStatusplugin with configurable per-activity status mapping, trigger priority, and polling interval. - Implements polling-based activity detection and status restore behavior via Discord user settings APIs.
- Adds a...
Using raw numeric literals for Discord activity types (0/2/3) makes the logic harder to read and more brittle if upstream enum values change. Prefer importing ActivityType from @vencord/discord-types/enums (used elsewhere in the repo) and comparing against ActivityType.PLAYING, ActivityType.LISTENING, and ActivityType.WATCHING.
checkInterval is only read once when start() creates the interval. If the user changes the setting at runtime, the polling frequency will not update (and could mislead users in settings). Consider either marking this setting as restartNeeded: true or re-creating the interval whenever checkInterval changes.
The interval fallback Number(settings.store.checkInterval) || 2000 defaults to 2s on any unexpected value, which conflicts with the documented/default behavior of 1 minute and could cause much more frequent polling than intended. Consider defaulting to the configured default (e.g. 60000) when parsing fails, or validating the value explicitly.
const parsedCheckInterval = Number(settings.store.checkInterval);
const checkInterval = Number.isFinite(parsedCheckInter...
Not yet
We just need one more layer and 6 months
https://git.nin0.dev/vibecoded-userplugins @fossil inlet pr all this to vencord
db5e507 fix NoBlockedMessages - Vendicated
e9fd7db GameActivityToggle: fix panel overflow - Vendicated
ebe2b27 BetterSettings: remove duplicate "Other options... - sillyElvy
556a277 ExpressionCloner: fix crash when in a server wi... - Vendicated
0f25873 ReplaceGoogleSearch: add option to replace engi... - norowachi
oh
One day asar will come 🥀
i didnt realise i already had a pr
Pr hell really does exist
what did i cook
im so smart
We don't actually need a search bar
has this always been misaligned
It was only there for show anyways
diff on every plugin to add tags 
can I enslave copilot to add tags for me
bro cooked
vibecoding.machine
94ff80b add some tags courtesy of copilot - Vendicated
@copilot Check src/utils/types.ts, you will find the array PluginTags, which has a list of categories/tags for plugins.
Now scan src/plugins for all plugins. Each plugin has an index.ts(x) file which calls defineCommand with properties like name, description, authors. Your task is to add a new property tags to all plugins that don't have one already. This should be an array of tags, as defined in PluginTags. Analyse what each plugin does, then add matching tags. Each plugin should ha...
now we wait
inb4 this burns through all of my premium requests
cooking
wait is it gonna push to my pr lol
6860e11 Add tags to 30 plugins (accountPanelServerProfi... - Copilot
26251e5 Add tags to plugins (favEmojiFirst through mutu... - Copilot
31480e8 Add tags to plugins (newGuildSettings through r... - Copilot
985a48e Add tags to plugins readAllNotificationsButton ... - Copilot
670609a Add tags to plugins (themeAttributes through yo... - Copilot
@copilot Check
src/utils/types.ts, you will find the arrayPluginTags, which has a list of categories/tags for plugins.Now scan src/plugins for all plugins. Each plugin has an index.ts(x) file...
Done! Added tags to all 168 user-facing plugins. Also introduced two new tags (since each applies to 5+ plugins):
- "Voice" – voice calls, audio, VC-related plugins (callTimer, disableCallIdle, notificationVolume, userVoiceShow, vcDoubleClick, vcNarrator, voiceDownload, voiceMessa...
holy shit
u love
tags: ["Chat", "Appearance"],
tags: ["Emotes", "Appearance", "Customization", "Chat"],
😭
useRef<ChangeList<string>>(null) selects the RefObject overload (because the initial value is null), which makes current read-only. As a result, changeRef.current ??= new ChangeList<string>() should fail type-checking and can’t reliably work. Initialize the ref with a ChangeList directly (or revert to the previous useMemo(() => new ChangeList(), [])) so current is mutable and non-null.
const changeRef = useRef(new ChangeList<string>());
const changes = ch...
Pull request overview
Introduces a first-class plugin tagging system (with a predefined tag list) and updates plugin metadata + the Plugins settings UI to support filtering by these tags, while moving the prior free-form “tags-as-keywords” behavior to a dedicated searchTerms field.
Changes:
- Added
PluginTags/PluginTagtyping and extendedPluginDefwithtags?: PluginTag[]andsearchTerms?: string[]. - Updated the Plugins settings tab to filter by selected tags and to sear...
The plugin description has a typo: "stupit" → "stupid". Since this string is user-facing, it should be corrected.
Typo in description string: "Minifed React Error" should be "Minified React Error".
i think we should also consider adding a category Profiles
tags: ["Emotes", "Reactions", "Customisation", "Shortcuts"],
tags: ["Shortcuts", "Utility"],
tags: ["Media", "Chat"],
tags: ["Utility", "Chat"],
tags: ["Chat", "Utility"],
tags: ["Chat", "Utility"],
like 30 comments
The plugin description has a typo: "stupit" → "stupid". Since this string is user-facing, it should be corrected.
iirc isnt there a comment above that saying it's intentional
i think we should also consider adding a category Profiles
sure
tags: ["Reactions", "Chat", "Appearance"],
should this even have tags
tags: ["Utility"],
tags: ["Notifications"],
too obscure to be Utility
now ai generate all the images and descriptions for plugins
if XSOverlay were pr'ed today it would be closed for being too niche
?remind 16hr add profile tag if this pr is still alive
Alright @fossil inlet, in 16 hours: add profile tag if this pr is still alive
wtf bro edited my description without my consent 😭
i don't think we need a console tag
whar? i honestly dont even remember why I made this change i did it half a year ago
diff viewer is so fucking laggy bro
Yop
Yop
nvm this sucks
@austere talon evil
i added accessibility to it because it is if u think about it
u can hide stuff u dont want to see
Each category should have a clear description that is shown to the user on hover or smth
true
Would also make it easier to figure out what tags to give plugins
@crude hearth review chat messages when
should they be shown in the modal
Yes imo
Yea
oki
im struggling to make them look good
pills look better but still out of place
and adding a heading is even worse
Doesn't look out of place imo
Looks fine
Maybe move them above the description
just break a patch on purpose
Yeah but then I have to compare it against actual report
Would take 50000 years
Thought about making community noted plugin but its hardd as backend cant know the content of message
feat(plugin): MessageCorrector
Small QOL plugin I made :)
Excerpt from my readme (cuz I don't feel like typing all this again):
This plugin is very simple; it reorders messages based on their timestamps. This might seem useless, but it's really not. (in my humble opinion)
Basically, I've found that the client's message store just kinda receives a message, whether from itself, or from the server, and just accepts it. But this creates some inconsistencies; if you and someone...
Adds a boolean setting to the Settings plugin that, when enabled, removes the \Vencord \ line from the version string that gets copied when clicking the version info. The version row still displays normally in the UI.
Closes #1072 on plugin requests repository.
Uses tnktok.com to provide better embeds for Tiktok, could be done with TextReplace but this is more simple for users to find/turn on.
could be done with TextReplace
this PR was doomed before it was even created
textreplace already exists 🥀
that's fine lmao, right after the PR i checked the closed PRs and seen Ven say that exact same thing :lul:
This plugin automatically publishes message sent by the current user in any announcement channel after the message is sent.
I also modified my username from HappyEnderman to WaveDev and my id to my new account id on devs constant.
This could already be done via the forum post composer experiment
<img width="618" height="273" alt="image" src="https://github.com/user-attachments/assets/7032ddcd-4f7d-4187-b634-a39364b91859" />
yeah best to just use a bot
HappyEnderman, why does that sound familiar?
insane person 😭
Yeah, but this is for announcement channels
oh yeah my bad, that's what I meant
<img width="298" height="54" alt="image" src="https://github.com/user-attachments/assets/1d738f93-7185-4322-b42e-92058ee6ee09" />
@fossil inlet, <t:1775530825:R>: add profile tag if this pr is still alive
the new component for reviews in the profile is very good
made me remember about them after months LOL
also assuming you can post in an announcement channel you likely moderate/own the server
so just use a bot https://discord.com/discovery/applications/740987821384400927
😭
bruh idk what to put here. its just the #3105 but remastered
is there anyway you could add support for.ahk files
i'm pretty sure that current DateUtils.dateFormat(date: Date, format: string): string (filter) is outdated, as i'm seeing it match a function (blame) which i can best identify as DateUtils.calendarFormat(date: Date | moment.Moment, nonRelative?: boolean, timestampHourCycle?: AppearanceSettings["timestampHourCycle"]), which i believe gained argument nonRelative in Canary build 379478 (2025-03-18) (blame, parent blame) and gained argument timestampHourCycle in Canary build 497200 (2026-02-13) (blame, parent blame). nonRelative appears to control formatting when let now = moment(); DateUtils.isSameDay(DateUtils.toDate(date), now.toDate()). nonRelative could feasibly be called nonCalendar, using Moment.js's definition of “calendar time”, but nonRelative follows Unicode CLDR's date-time format variant naming conventions.
supplementary upstream deobfuscation (functions introduced in Canary build 273708 (2024-03-09) (blame, parent blame)):
function DateUtils.toMoment(date: Date | moment.Moment): moment.Moment {
return moment.isMoment(date) ? date : moment(date);
}
function DateUtils.toDate(date: Date | moment.Moment): Date {
return moment.isMoment(date) ? date.toDate() : date;
}
guh validuser borked?
I expect DateUtils.dateFormat referred to this historical function in Canary build 361090 (2025-01-22) (pre-noiseSupression), which appears to have changed implementations in Canary build 493560 (2026-02-05) (relevant blame, parent of relevant blame, earliest blob-same ancestor of parent of relevant blame):
-function b(e, t) {
+function A(e, t) {
- let n = v(e).locale(),
+ let n = S(e).locale(),
r = l.PZ.getSetting(),
- i = "".concat(n, ":").concat(t, ":").concat(r),
+ i = `${n}:${t}:${r}`,
- s = p[i];
+ s = f[i];
- return null == s && (s = p[i] = (0, a.A)(t)), s(S(e));
+ return null == s && (s = f[i] = (0, a.A)(t)), s(v(e));
}
let speedDateFormatterCache = Object.create(null);
function DateUtils.dateFormat(date: Date | moment.Moment, speedDateFormat: string, timestampHourCycle?: AppearanceSettings["timestampHourCycle"]): string {
let dateLocale = DateUtils.toMoment(date).locale();
let speedDateFormatterCacheKey = `${dateLocale}:${speedDateFormat}:${timestampHourCycle ?? UserSettings.getUserSetting("appearance", "timestampHourCycle").getSetting()}`;
let dateFormatter = speedDateFormatterCache[speedDateFormatterCacheKey];
if (null == dateFormatter) {
dateFormatter = speedDateFormatterCache[speedDateFormatterCacheKey] = speedDate.makeFormatter(speedDateFormat);
}
return dateFormatter(DateUtils.toDate(date));
}
you can find module speedDate by finding 'localeData.ordinal((_month + 1) / 3, "Q")' or "_i_weekYear % 100".
i don't really wanna write the Vencord patch for that right now but if someone else could that'd be cool
(source of that speedDate module looks to be a private Discord fork of npm package speed-date@1.0.0. makeFormatter is pretty distinctive.)
speedDate.makeFormatter does its own format parsing; maybe this is close enough to normal date format strings to justify not noting the speedDate-ness in the argument name but i'm pretty sure the potential for substantial deviation is there and i can't be bothered to analyze & describe the differences at the moment
love
in <2 seconds too
peak
I did patch fixes for these btw
Didn't pr yet tho lol
Did some work on better sessions because the icons weren't aligned properly so I sat there for an hour trying to get it exact or as close as possible to aligned
that's pretty neat
how are those fancy errors generated
is it a rust package
cargo*
You run miette? You run her code like the software? Oh. Oh! Error code for coder! Error code for One Thousand Lines!
@fossil inlet satan
is your name ZeOhh9
can the asar branch be merged up to date please
I wanna try and pr my stuff if I have any but its outdated by a long time lol
Temporary Network Error
We've encountered a temporary network error, but we are working to resolve the issue. Please wait a few minutes and try again.
In the meantime, you can check out the Status Page.
?
Temporary Sadan Error
We've encountered a temporary Sadan error, but we are working to resolve the issue. Please wait a few minutes and try again.
In the meantime, you can check out the Sadan Page.
what does the chunk even do @fossil inlet
How should I know 😭
My guess is intl key maps but if so that's stupid
oh.. vee will banish them to the shadow realm
Translation chunk
It's mapping key to a translated text but the translations are not yet added
they either don't have them done or are gatekeeping a bit to hide what they are about
Cant believe ts how dare they gatekeep anything from us
i'm going insane rn (rewriting chromium devtools pretty printer in rust)
not everything should be rewritten 
I need a rust API for this
It's not bad either
Only 800 lines
satan
Rust = Cancer
rust gives you cancer
no, thats C/C++
Wrong
thoughts on a watch mode for the CLI reporter
run patches against stable and canary at once, and get live updates as you edit them
c++
@austere talon @gritty iris could either of you see yourself using this
uhh
probably not both
Figured both would be useful for making sure patches are compatible between the two
I mean sure 
you could make an extra flag for that
--stable --canary or --both or whatever
yes
as long as you show the modified source if it errors
not sure how doable that is tho
what could also be good is pinning some patches to "watch" and see their changes as you edit them
like patch helper but without the client
i already implemented that in my vscode extension
bit it's pretty finicky
yeah but it requires the client tho
yeah
your reporter works only on files
CLI wouldn't require the client
but idk seems a bit would of scope for "reporter"
i re-implemented the pretty printer from chromes devtools in rust
and oxc always produces a "valid" AST even given malformed source code
do i don't think that will be hard
only 800 lines lol
do you think reporter is able to quickly find the latest working version of a patch
if you feed a build history somehow
i can serialize builds and store them to disk (~20mb per), and finding them would be fast
i have a backend that can store them
and an api to access them
but no way to host it
i don't think that has it in the format i need
i serialize the builds on a per-module basis
not per chunk/file
what I mean is
use nelly to get the entry point files of older builds
test each build until it succeeds
you already parse chunk files
you just need the url of older builds
which nelly provides
yeah nw
BetterSessions the icons were off centered so I tried to get them as close as possible and also made the new button more like the rename button
Decor the warning was showing at the bottom so I also fixed that
Experiments I added an extra patch because for whatever reason installation id and copy buttons werent on the same line so it looked bad with the card
If you are muted in a vc for a certain amount of time, or on joining a vc it will pop a tool tip saying "You are currently muted". IKnowImMuted replaces that method checking if you are muted while talking
also this is my first pull request to vencord, pls alert me to anything i may have done wrong ;3
why was the entire constant.ts file copied to the root of the project
I'm not sure how developer names and id's are added otherwise. my bad
you need to edit the original file, not copy an entirely new one over
this would probably be more fit in that tweaks plugin that vee wanted to make
i have very little clue what im doing
i usually use github for private repos
do i remove the constants file from the pr and remake the pr?
there’s no reason for you to copy an entire file over, and don’t remake pr’s
for removing a tooltip, making getSpeakingWhileMuted always return false could result in unintended side effects. could you patch the component that displays it instead?
are there any existing plugins that patch components i can reference?
tbh this plugin is way too niche anyway
i still wanna try, even if i can't get it added to the list
You’ll have to search most likely
weren’t you wanting to make a sort of fixes plugin
This could be a great addition to that
oh someone mentioned that above lol
it
is not used anywhere else
afaik
whatever this could be an #1256395889354997771
oh yeah it could
Formats Channel Names into readable text (removes dashes/underscores while adding uppercase lettering to channel names)
Hi, this is my first contribution for the ChannelNameFormatter plugin. The workflow looks like it’s awaiting maintainer approval before tests can run. Thanks for taking a look.
isn't this just dashless plus
.name__2ea32 {
text-transform: capitalize;
}```

just wait till they hear about patches
This plugin is too niche to be merged to the main repo. It should also be done using patches instead of overwriting the local cache entry. Regardless, thanks for the contribution!
my port of the chrome devtools pretty printer now has byte-for-byte output, including their bugs
passes all their tests

😭 😭
oh wow one of my pr has bday in 2 days
hope you have a ballast file 
i dont think we have one
oh its prometheus data
wtf
we have 66gb of prometheus records
its meant to clean up after 30d?
15d*
im just gonna have to delete some data ig
ok i reconfigured prom
it stores 24gb worth of data maximum now
apparently the docker image of prom doesnt have a retention time...
just forced it to have a 7d* retention time
so it should've bombed everything now
can you try saving again
works (didn't save as vencloud sucks imo, but did connect and not error)
:(
(vencloud loves overwriting my data with older saves for some reason)
you can turn off autosync now
so you can manually sync it whenever you want
or just set one device as source
oh shit, love
its something i added after someone pointed out that theres no way to define a source of truth
oh nice
Adds a context menu option to quickly open Discord user profiles in Discord Tracker.
Features:
- Adds "Open in Discord Tracker" button to user context menus
- Opens profile at https://discord-tracker.com/tracker/user/{userId}
- Works on avatars, usernames, mentions, and profiles
not only you are a creep but this is also vibe coded garbage
@austere talon you may be able to autoclose vibe coded PRs by closing anything that’s new and like >2yrs of gap in the copyright notice year
Ты не только извращенец, но и создаешь атмосферу, полную отвратительного мусора.
А что не так?)
Not only are you a pervert, but you're also creating an atmosphere full of disgusting trash. What's wrong with that?
LMAOO
What's wrong?)
https://discord.com/channels/1015060230222131221/1493597839895298088 errrr what’s up with this
What happens when the bug or crash occurs?
I just upgraded Discord to the latest version (0.0.133) and repaired the vencord, then it crashed on opening the Discord app.
What is the expected behaviour?
It crashed on opening
How do you recreate this bug or crash?
- upgrage the Discord app to 0.0.133
- Repair the Vencord using
sh -c "$(curl -sS https://vencord.dev/install.sh)" - Open the Discord app
Then it crashed
OS: Ubuntu 24.04 LTS
Errors
Error
A JavaScript e...
please use the support channel like the form tells you
From @fossil inlet (video muted):
@limber skiff thoughts/feedback (not finished yet)
https://cdn.discordapp.com/attachments/1089246816748445846/1493476774561058916/2026-04-14_01-01-39.mp4?ex=69df1c22&is=69ddcaa2&hm=98bdfdd333e932e841979f53359ddf6573119b95c42efa823b2528c5fafa5c21&
evil
very good
you should just hide the Modules [] but errored while applying if it's empty
matched*
peak actually
i would have to rewrite a lot of things
i'm using miette derive rn, and i would need to switch to a manual impl
i want to get source mappings for the formatter so you can see errored patches with the formatted source first
guh
how do people even get this
cant reproduce and doubt it's a vencord issue
mainWindow.webContents.once('did-finish-load', () => {
var _analytics$getDesktop3;
_bootstrapModules.analytics === null || _bootstrapModules.analytics === void 0 ? void 0 : (_analytics$getDesktop3 = _bootstrapModules.analytics.getDesktopTTI) === null || _analytics$getDesktop3 === void 0 ? void 0 : _analytics$getDesktop3.call(_bootstrapModules.analytics).trackMainWindowDocumentLoad();
});
issue with outdated openasar GooseMod/OpenAsar#205
this fixes it not because OpenAsar fixes it but because updating your OpenAsar fixes it
Does the installer repair button update openasar
Just to let you guys know I’m completely done writing the installer in rust, any reviews is appreciated https://github.com/Vencord/Installer/pull/165
gui and cli works perfectly (at least for me) on all platforms
compose is hot garbage
yea
I can’t really make slint look like the mock-up you gave me but I tried my best

I have a smaller find for select but I figured that might be better
?.value??void 0,options: works for select and was wondering if I should add another find to searchable so there wouldnt be a conflict or if its fine like that
mosaic is the only one broken on stable I can remove it for now if you would like
does it have liquid glass /srs
for the titlebar at least
The makefile doesn't patch the binary for that so no
oh right I'll update the issue
also removes NoDefaultHangStatus because they removed hang statuses again... you can check [here](#🔧-discord-changes message)
those error messages are so detailed
oxc's?
Discord 0.0.133 now uses desktop analytics exports during startup.
NoTrack currently replaces the matched analytics module with an empty factory,
which drops those exports and crashes startup.
This change preserves the original module and only neutralizes the analytics
handlers themselves, keeping tracking disabled without breaking startup.
i like this
how do you expect him to put it in the discord server if his discord crashes? :p
how do you expect him to put it in the discord server if his discord crashes? :p
Discord updates can leave patched installs with an outdated _app.asar.
When repairing an already patched install, the installer currently restores
_app.asar back to app.asar unconditionally. If _app.asar is stale,
the repaired install keeps using old original files and can break startup.
This change makes repair prefer the current Discord app.asar when the
existing patched state is desynced, instead of resurrecting a stale _app.asar.

I don't think this makes any sense
Discord makes a new version folder when the app updates
I don't think it would be an issue on mac/windowsd
it's not an issue on any
on Linux the app does not update its app.asar because it can't due to permission
Maybe somehow they messed up their discord install and needed to 'fix' the installer lol
this honestly seems like they're using ai and the ai is hallucinating random solutions
this also makes no sense but they evidently realised
I don't think this "solution" makes any sense. Your other solution also made no sense, are you using AI to try to come up with solutions? Please don't.
This installer codebase also isn't worked on anymore
considering their top repo is ai, very likely
do you not want an appimage btw i'm not sure if you want the gui to be distribution on linux 
yeah I was thinking the same
especially cuz of the other PR they made and closed since the issue wasn't even caused by it
if that was actually an issue it would had been noticed much earlier
is something holding up this PR
yeah
whats up
the sky
^
I mean is there anything you need help with on the pr
what's holding it up is me not having gotten to it yet
I can't give much input other than "this is not malicious"
So idk how much that would mean
I can test it I guess
you can help by not being impatient and bumping prs that were opened less than 24h ago
damn ok I was just looking to help get a bugfix that actively impacts me
what is the point of offering help if the best you can do is give input on whether it is malicious
you're clearly just bumping it, which is annoying
just run a devbuild 😭
idk bro thats why I asked if I can help
well yeah I offered to test it
I dont understand the hostility when I'm trying to offer to help
I want to contribute in any regard I can
huh?
do u mean the error spam
no
it doesnt properly handle mouse events with the rounded corners in image modals
(very minor)
also isn't there a pr to fix that
oh
closed (3533)
Content
the UI for auto translate plugin is broken, can't see anything
Request Agreement
- [x] I have read the requirements for opening an issue above
0218f2b CopyFileContents: fix icon being in wrong place... - martwypoeta
5a9c378 new plugin CharacterCounter - Vendicated
e0efe84 remove legacy compatibility code - Vendicated
a98d0d0 discord-types: update & add types (#4052) - thororen1234
0d75636 fix Decor, BetterSession & Experiments (#4107) - thororen1234
vtest
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
actually this might be right afterall
If you update Discord via package manager while it's patched by Vencord, it could replace the vencord app.asar with new Vencord (and _app.asar stays behind)
Then when you go to repair it replaces the new one with the old one
I did mention that I only see it as an issue on Linux 
may I suggest shipping vencord installer as a package hook so it injects after pm update
is that even possible given that there are 6000000 pms
another one soon
nix 2
satan
vtest plugin-tags
Now testing! 
AccountPanelServerProfile (had no effect):
ID: 748319
Match: ```
/(.AVATAR,children:.+?renderPopout:(\i)=>){(.+?)}(?=,position)(?<=currentUser:(\i).+?)/
Seems like everything is working fine (for now) 
ViewAvatars broken
fixing
reporter CLI so good
basically same thing as the existing one 
yeah but it runs in 5 seconds and you can have it update in 50ms as you update the source files
eg: it can tell you that this fix isn't compatible with stable
I miss something? I forgot to build somehow 
Also I think they added this but for servers?
https://github.com/sadan4/sadan.zip/releases/tag/nightly if anyone wants to try it out
I can right click on a server and I have to nav to a server info drop-down I can copy the server id and 2 other things
bro your fix was cooked 😭
it used a variable from a different function so it was erroring
did you not test 😭
Literally one of the very few times I was manually building
tfym manually building
pnpm build --dev instead of pnpm dev
tbh i never run pnpm dev
i always run either pnpm build --dev or pnpm build --dev --watch
I always do if I'm fixing more then 1 because of this reason
Normally I can nail it down and be fine but there's always that off chance
I used to have such a problem with just not saving the file like 2 years ago lol
Anyways lesson learned will be using pnpm dev
@limber skiff @odd heath both of you showed interest
compile for mac
I don't think any active vencord devs use mac. If they do they can always cargo install --git
i was shitting on reporter but its actually so good @fossil inlet
What happens when the bug or crash occurs?
Once Vencord is updated the alert that says "Click here to restart" is out of proportion compared to the rest of the UI elements on ultrawide screens.
What is the expected behaviour?
I would normally expect for those kind of alerts to have a max width property or similar.
How do you recreate this bug or crash?
- Wait for an automated Vencord update
- See alert
Errors
N/a
Request Agreement
- [x] I am using Dis...
vtest
Now testing! 
AccountPanelServerProfile (had no effect):
ID: 748319
Match: ```
/(.AVATAR,children:.+?renderPopout:(\i)=>){(.+?)}(?=,position)(?<=currentUser:(\i).+?)/
ShowTimeoutDuration (took 7ms):
ID: 643204
Match: ```
/\i.\i,{(text:.{0,30}#{intl::GUILD_COMMUNICATION_DISABLED_ICON_TOOLTIP_BODY}))/
AccountPanelServerProfile (had no effect):
ID: 748319
Match: ```
/(.AVATAR,children:.+?renderPopout:(\i)=>){(.+?)}(?=,position)(?<=currentUser:(\i).+?)/
Hä
works on my machine
reporter false positive
actually no
what
it says patch ok
lol companion bug?
its not testing the first
venapp please test
Now testing! 
Seems like everything is working fine (for now) 
Decor (took 7ms):
ID: 557182
Match: ```
/(?<==)\i=>{let{children.{20,200}isSelected:\i.{0,5}}=\i/
merge 4070 pretty please
i prefer amd
i prefer when the role gradients dont eat my emojis 
very bad issu
discord somehow bricked my etf packets so now I have to patch gateway to only send json encoding :)
is there a way for a plugin to have multiple native.ts files
because as of right now i want to kill myself every time i touch userplugininstaller
Export * from native2.ts
just in case this isnt already known, im able to reproduce this on latest version and multiple people already mentioned it
already fixed in dev


what in the horrorcode is that
horrorcode pro max
its just ts version upgrade
- debug
+ @debug
oh are we on ts 6 now?

ye
baseUrl gone
the old path was cursed
it was based on baseurl lmao
also don't you mean esbuild
no ts
oh
ah
yop
it was such a pain when i built vencord with rspack
rspack issue tbf
it's valid ts
esbuild did it right
its why they removed baseUrl
because it's cursed
yeah, still a pain
and actually was not needed for aliases
it was needed in the first release of path aliases
so it caught on and everyone used
but it hasnt been needed forever and led to these cursed paths
so they deprecated it
set to be removed in ts7 afaik
guh don't want to make a pr for this, but it should have the activity tag
it does make sense if you are looking ot turn it off
is it just me or is the switch off-center by like one pixel
yeah it is
what dummy made the css for this 
Adds a new plugin "FontStyler" that allows users to fully customize Discord fonts.
Features:
- Custom font family
- Google Fonts support (accepts full or direct URL)
- Font size, weight, line height, letter spacing
- Optional support for usernames and code blocks
- Live font selector from Google Fonts
This plugin provides a flexible and user-friendly way to control typography inside Discord
me when css
And we got the aislop PR of the day 
also aislop
Thanks for the review!
I understand the concern. My goal was to provide a user-friendly UI and dynamic Google Fonts support which isn't easily achievable with plain CSS for most users
Please stop using AI to write your replies.
This doesn’t read like a genuine response to feedback—it sounds generic, evasive, and disconnected from the actual concern being raised. If you want meaningful collaboration on this project, take a moment to respond in your own words and engage directly with the issue instead of pasting something machine-generated.
It’s frustrating to review code and then get what feels like an auto-generated non-answer back. Clear, human communication matters...
i blocked
What happens when the bug or crash occurs?
when someone clears the message history of an edited message, the edits are removed but not rerendered immediately
What is the expected behaviour?
when someone clears the message history of an edited message, it would remove the edits immediately
How do you recreate this bug or crash?
- make sure you have message logger enabled
- send a message with any text
- edit the message with any text
- right click the message and click rem...
I'm making a pr like right now that will fix this alongside #3877
a
a
huh it works here 
but this can happen ig idk if its known
maybe just my discord being fucked
What happens when the bug or crash occurs?
User pfp is clickable but nothing opens
What is the expected behaviour?
A new UI with image should open
How do you recreate this bug or crash?
- Enable viewIcons extension
- Go into a user profile
- Click on pfp
- Nothing shows
Errors
Vencord PluginManager Starting plugins (stage Init)
Vencord PluginManager Starting plugin NoTrack
Vencord Vesktop read if cute :3
Vencord Vesktop Vesktop v1.6.5
[FAST ...
it happens a lot too
I'm making a pr like right now that will fix this
I bring bad (or good) news https://github.com/Vendicated/Vencord/commit/ef80e2a91021e311bded37e8b63f178e433f25af
Pretty sure you can disable keybinds by adding the same keybind in the Keybinds page and not assigning any action to it
Either way this is way too niche
Would be better as a user tweak. I definitely was thinking it's too niche. Thank you!
39044cd MessageLogger: fix collapsed delete text (#4073) - knownasivy
51b4748 ViewRaw: add message context menu option (#3990) - BoatFloater
Stock Discord feature now
Thanks for the contribution, but I don't really get the point. This seems too niche
venbot please test
Now testing! 
Seems like everything is working fine (for now) 
TypingTweaks (took 5.3ms):
ID: 147192
Match: ```
/(?<=function \i(\i){)(?=[^}]+?{channel:\i,isThreadCreation:\i=!1,...\i})/
I opted for a red overlay instead of grayscale since it is hard to notice on certain images and impossible on other types of attachments
I haven't seen any bugs with this after testing for a bit, and I don't think any of my changes have any negative unintended side effects
fixes #3877
I'm open to suggestions and criticism, especially replacement on line 493 because I couldn't think of a good way to get the variable so please help with that since I don't know how okay it is if its h...
V went on a grind, holy
I see the em-dash 😏 jkjk
bro that entire message was obviouslt written by ai wdym jk
Bruh I forgot to put MessageCorrector: at the start and now my brain will never let me forget it
Can I rename commits, even if it's a PR? Hold up
Hmm if anything... might be better to just try to combine the 2 commits
Man git is so complicated, it's awesome but gives me headaches
Worked but got a new commit message from merging new commits from upstream, yay
Summary
Adds AutoCodeblockLanguage, a plugin that fixes Discord code block highlighting when the sender:
- omits the language tag
- uses an unsupported tag like
luau - uses a valid but clearly wrong tag
The plugin prefers direct fingerprints for common languages, then falls back to the bundled highlight.js registry for broader support.
Behavior
- Detects missing code block language tags automatically.
- Normalizes unsupported tags such as
luauandrbxluatolua. - Keeps...
aislop
Ig that means if they used dartlang instead of dart?
Truly the AI code of all time
can u stop spamming so much about aislop 
@austere talon love?
bro set his paperclip on auto
nice star friedturkey.
what the fuck?
Allowed a saturation customization option for IrcColors.
Adds a button to close DMs or leave group DMs.
too niche and not very intuitive
What happens when the bug or crash occurs?
The bug happens when we resize the sidebar to make the server section smaller,it during a particular size,makes the setting(gear) icon vanish or even overlayed the panel.
What is the expected behaviour?
I except vencord to fix this CSS issue.
How do you recreate this bug or crash?
Try resizing the sidebar.
Errors
Request Agreement
- [x] I am using Discord Stable or tried on Stable and this bug happens there as well
- ...
I don’t think vencord even touches that
we kind of do via better folders
oh I didn’t look at the image





