#👾-core-development

1 messages · Page 286 of 1

gritty iris
#

equicord specific flag btw 😭

jagged cloak
#

equicord always randomly popping up in main 😭

fossil inlet
#

@gritty iris thoughts on this

austere talon
#

sadan meyer

chrome coral
#

rewriting everything in rust

fossil inlet
fossil inlet
hybrid blaze
#

but its grok :c

gritty iris
signal sundial
fossil inlet
hybrid jetty
charred monolithBOT
twilit vector
#

i wish punching through the screen was possible

signal sundial
#

@twilit vector

twilit vector
#

Yes Nin0-AI?

charred monolithBOT
median rapids
#

absolute cinema

charred monolithBOT
charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
twilit vector
signal sundial
charred monolithBOT
still maple
fossil inlet
still maple
#

nvm it is doable with CSS only kinda but only for if you are in nitro range or overflow

charred monolithBOT
signal sundial
#

ai garbage is so blatant anyway we don’t need that

weak thistle
#

one day salad will find the mute button in obs

fossil inlet
signal sundial
#

@fossil inlet upload to imagehost

#

and block veebubu vps

fossil inlet
#

@austere talon i don't mind the muting (that much), but i do mind not being able to delete my messages

fossil inlet
signal sundial
#

@fossil inlet upload a 1x1 transparent image before the video

austere talon
#

u could just mute ur videos idk

signal sundial
austere talon
#

then the bot doesnt have to do it

signal sundial
#

why is this even so bad, make a plugin @austere talon

#

i like hearing Satan music

fossil inlet
austere talon
#

yes it would

#

if u muted ur videos this venbot feature wouldnt be needed

fossil inlet
signal sundial
austere talon
fossil inlet
#

insane

earnest lava
#

maybe he can react with something to the message and the bot deletes

#

-# or just mute the videos (3 clicks in obs)

fossil inlet
#

reporter CLI now works for most patches

charred monolithBOT
#

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.
...
limber skiff
fossil inlet
#

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

charred monolithBOT
#
[Vencord/Installer] New branch created: dependabot/go_modules/golang.org/x/image-0.38.0
#

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...

#
[Vencord/Installer] branch deleted: dependabot/go_modules/golang.org/x/image-0.38.0
twilit vector
#

dependabot ❤️‍🩹

charred monolithBOT
twilit vector
#

NO WTF

gritty iris
twilit vector
#

shush

#

dont rip funny moments away from us

twilit vector
#

a bunch of ppl in support have been saying that it's only on the linux app, only when vencord is installed

#

shrug

charred monolithBOT
charred monolithBOT
fossil inlet
errant nacelle
#

How tf do you construct the replacement string without evaluating the function itself

fossil inlet
#

this is the most complex thing i can really do

#

i represent it like this in memory

#

then i can just do this

errant nacelle
twilit vector
#

vee filtering prs just like that 😭

sterile oak
twilit vector
charred monolithBOT
twilit vector
#

wait what

#

ohh so h264 is semi-broken on linux client with vencord installed, and openasar fixes it?

#

wicked

austere talon
#

literally no

twilit vector
austere talon
#

he already had openasar

#

which was broken

charred monolithBOT
odd heath
#

WHAT THE FUCK

#

is this just aislop

weak thistle
#

seems sus ngl

odd heath
#

they redefined so much stuff

#

and half of it seems simply useless (?)

twilit vector
#

i cant even begin to comprehend

odd heath
#

me neither

charred monolithBOT
twilit vector
#

yapping to yap

charred monolithBOT
twilit vector
#

second time's the charm

odd heath
charred monolithBOT
fossil inlet
#

i can now parse this blobcatcozy

charred monolithBOT
charred monolithBOT
charred monolithBOT
twilit vector
#

ok solution is there Can we stop rpelying now

wise bluff
#

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

austere talon
wise bluff
#

thank you venn

odd heath
#

ML is broken i think?

#

just for edits it seems

#

nvm my discord was bugged

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

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...

chrome coral
weak thistle
#

insane

charred monolithBOT
austere talon
#

horror

visual oyster
#

7 patches

charred monolithBOT
#

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 ...
signal sundial
#

@tacit light

twilit vector
#

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

signal sundial
twilit vector
#

good choice

sterile oak
#

can be used for stalking

charred monolithBOT
#

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
unkempt oak
#

1600 lines of pure typescript gem

#

actually this might not be ai

twilit vector
#

welcome back remix

charred monolithBOT
#

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/mockupEditor plugin with a canvas-based editor (background/layout/appearance + basic annotation tools) and upload replacement flow.
  • Added plugin README documenting features/usage.
  • Added a new Devs entry 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...
#

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...
unkempt oak
twilit vector
#

bless you copilot

#

the description WAS ai fr

twilit vector
#

this ishow it looks

charred monolithBOT
#

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...

prime dew
twilit vector
#

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 😭

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
weak thistle
#

ai slop my beloved

austere talon
#

well idk if it's ai but still insane

charred monolithBOT
twilit vector
#

kill this guy

#

with hammers

charred monolithBOT
#

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 inminutes (1–28,800) + message (max 500 characters); confirmation includes a Discord timestamp.
  • /remind list — lists pending reminders, sorted by due time.
  • **`/rem...
chrome coral
#

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

chilly gyro
# charred monolith

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

austere talon
#

wouldnt do anything

chrome coral
#

@austere talon I basically completely the rewrite if you want to take a look, im currently making the gh actions

charred monolithBOT
cyan harness
#

I noticed the FluxDispatcher type doesn't define addInterceptor despite this function existing in the Discord source code

#

is this intentional?

gritty iris
#

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

limber skiff
#

addInterceptor is mostly only useful to moneky patchers

gritty iris
#

I just cant find the comment

#

😭

limber skiff
#

yeah that makes sense

odd heath
#

what does addinterceptor even do

austere talon
#

adds an interceptor

odd heath
#

does it just prevent flux events from being processed

#

or what

austere talon
#

well it intercepts

odd heath
#

😭

#

I hate u

#

Ty for the detailed explanation <3

charred monolithBOT
#

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 ...

signal sundial
#

wow! this sucks!

fossil inlet
# charred monolith

If only there was a plugin that already manipulated media streams that you could use as an example

chrome coral
#

ninaslop

signal sundial
weak thistle
#

ninaplosion

charred monolithBOT
#

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, and Space
  • 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...
austere talon
#

we really cannot go a single day without aislop

weak thistle
#

I blame nina

charred monolithBOT
#

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...
austere talon
#

ah yes more ai slop just what i wanted

charred monolithBOT
#

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 ActivityAutoStatus plugin 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...
#

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...
austere talon
#

getting ai to review your aislop

#

are we agi yet

still maple
signal sundial
charred monolithBOT
charred monolithBOT
#
[Vendicated/Vencord] branch deleted: satan-pr
austere talon
#

oh

gritty iris
austere talon
gritty iris
#

Pr hell really does exist

austere talon
#

what did i cook

gritty iris
#

Uninstall

austere talon
#

im so smart

gritty iris
#

We don't actually need a search bar

austere talon
#

has this always been misaligned

gritty iris
#

It was only there for show anyways

gritty iris
#

I don't think so

charred monolithBOT
austere talon
#

diff on every plugin to add tags husk

#

can I enslave copilot to add tags for me

gritty iris
#

vibecoding.machine

charred monolithBOT
#

@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...

austere talon
#

now we wait

#

inb4 this burns through all of my premium requests

#

cooking

#

wait is it gonna push to my pr lol

charred monolithBOT
#

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 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...

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...
austere talon
#

holy shit

fossil inlet
#

insane

#

some are ok

#

but others are just wrong

austere talon
#

most are ok

#

only a few need fixes

fossil inlet
#

messagelogger
privacy

austere talon
#

u love

austere talon
#

horror dont do one off comments

#

do review

#

or just pr fixes

fossil inlet
#

github review feature so buggy

#

nothing compared to the spam from slop prs

austere talon
charred monolithBOT
#

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/PluginTag typing and extended PluginDef with tags?: PluginTag[] and searchTerms?: string[].
  • Updated the Plugins settings tab to filter by selected tags and to sear...
fossil inlet
#

like 30 comments

austere talon
#

The plugin description has a typo: "stupit" → "stupid". Since this string is user-facing, it should be corrected.

fossil inlet
austere talon
#

i think we should also consider adding a category Profiles
sure

chrome coral
#

now ai generate all the images and descriptions for plugins

fossil inlet
#

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

shut vineBOT
#

Alright @fossil inlet, in 16 hours: add profile tag if this pr is still alive

austere talon
#

wtf bro edited my description without my consent 😭

charred monolithBOT
austere talon
#

satan really making me click this button 40 times

charred monolithBOT
austere talon
#

diff viewer is so fucking laggy bro

fossil inlet
austere talon
#

how do i review in vscode

#

oh this

fossil inlet
austere talon
#

is there no way to do comment by comment with it

austere talon
fossil inlet
#

@austere talon evil

austere talon
#

i added accessibility to it because it is if u think about it

#

u can hide stuff u dont want to see

fossil inlet
#

Each category should have a clear description that is shown to the user on hover or smth

austere talon
#

true

fossil inlet
#

Would also make it easier to figure out what tags to give plugins

fossil inlet
charred monolithBOT
austere talon
#

should they be shown in the modal

charred monolithBOT
chilly gyro
fossil inlet
austere talon
#

oki

#

im struggling to make them look good

#

pills look better but still out of place

#

and adding a heading is even worse

fossil inlet
#

Looks fine

#

Maybe move them above the description

austere talon
#

it looks worse here

#

well i can solve by putting inside the info element

fossil inlet
#

Guhhhhhhh

#

Can discord break something already so I can test my cli reporter

austere talon
#

just break a patch on purpose

fossil inlet
#

Would take 50000 years

crude hearth
charred monolithBOT
#

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...

chilly gyro
#

whew I get nervous when opening PRs lol

#

Whoops I left that top title in

charred monolithBOT
errant nacelle
# charred monolith

could be done with TextReplace
this PR was doomed before it was even created

charred monolithBOT
charred monolithBOT
signal sundial
#

this probably doesn't need to be a plugin

austere talon
#

yeah best to just use a bot

prime dew
austere talon
#

insane person 😭

prime dew
#

Oh I remember the Reagan meme with them

shut vineBOT
#

@fossil inlet, <t:1775530825:R>: add profile tag if this pr is still alive

charred monolithBOT
limber skiff
#

the new component for reviews in the profile is very good

#

made me remember about them after months LOL

signal sundial
#

@errant nacelle this works in annc channels?

#

what a great start

charred monolithBOT
errant nacelle
charred monolithBOT
charred monolithBOT
pine wadi
#

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;
}
austere talon
#

guh validuser borked?

pine wadi
# pine wadi i'm pretty sure that current [`DateUtils.dateFormat(date: Date, format: string):...

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));
 }

upstream deobfuscation:

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

#

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

fossil inlet
#

@austere talon CLI reporter so good

odd heath
#

love

fossil inlet
#

in <2 seconds too

odd heath
#

floffycozy peak

gritty iris
#

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

limber skiff
#

how are those fancy errors generated

#

is it a rust package

#

cargo*

fossil inlet
fossil inlet
#

most useful discord chunk

signal sundial
#

@fossil inlet satan

jagged cloak
#

is your name ZeOhh9

gritty iris
#

can the asar branch be merged up to date please prayingcar I wanna try and pr my stuff if I have any but its outdated by a long time lol

fossil inlet
#

reporter CLI is now standalone

#

it fetches the discord build on-demand

charred monolithBOT
desert cosmos
# fossil inlet most useful discord chunk

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.

signal sundial
#

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

fossil inlet
#

How should I know 😭

desert cosmos
#

most useful discord chunk

#

doesnt know what it does

#

❤️

gritty iris
desert cosmos
limber skiff
#

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

gritty iris
fossil inlet
#

i'm going insane rn (rewriting chromium devtools pretty printer in rust)

hollow musk
fossil inlet
#

It's not bad either

#

Only 800 lines

hollow musk
#

satan

signal sundial
#

Rust = Cancer

hollow musk
#

rust gives you cancer

left sequoia
#

no, thats C/C++

odd heath
#

Wrong

odd heath
#

Veeeeev

#

Fix reporter status unarchiver

#

Pleaseeeee

#

It's so bad 😭

fossil inlet
#

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

odd heath
#

please make

#

++

desert cosmos
#

c++

fossil inlet
fossil inlet
gritty iris
#

I mean sure Joe_Shrug

odd heath
#

--stable --canary or --both or whatever

limber skiff
#

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

fossil inlet
#

bit it's pretty finicky

limber skiff
#

yeah but it requires the client tho

fossil inlet
#

yeah

limber skiff
#

your reporter works only on files

fossil inlet
#

CLI wouldn't require the client

limber skiff
#

but idk seems a bit would of scope for "reporter"

fossil inlet
#

and oxc always produces a "valid" AST even given malformed source code

#

do i don't think that will be hard

fossil inlet
limber skiff
#

do you think reporter is able to quickly find the latest working version of a patch

#

if you feed a build history somehow

fossil inlet
#

i have a backend that can store them

#

and an api to access them

#

but no way to host it

limber skiff
#

you could use nelly probably

#

reverse engineer nelly api

fossil inlet
#

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

limber skiff
#

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

fossil inlet
#

hmmm

#

ill look into it more after i finish the other features

limber skiff
#

yeah nw

fossil inlet
#

should i also port the bugs from the pretty printer trolley

fossil inlet
#

#[unsafe(no_mangle)]
fn malloc() -> bool { true /* we have memory */ }

charred monolithBOT
charred monolithBOT
chrome coral
#

this would probably be more fit in that tweaks plugin that vee wanted to make

floral prairie
#

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?

chrome coral
#

there’s no reason for you to copy an entire file over, and don’t remake pr’s

floral prairie
#

should i just delete the file from it

#

done, sorry about that lol

charred monolithBOT
floral prairie
#

are there any existing plugins that patch components i can reference?

austere talon
#

tbh this plugin is way too niche anyway

floral prairie
#

i still wanna try, even if i can't get it added to the list

charred monolithBOT
chilly gyro
hybrid jetty
#

This could be a great addition to that

#

oh someone mentioned that above lol

signal sundial
#

is not used anywhere else

#

afaik

hybrid jetty
#

could be a user plugin yeah

#

Couldn’t it also be done with css..?

#

or nah

hollow laurel
#

Yeah I was just about to say that lol

#

I think it could

signal sundial
#

oh yeah it could

charred monolithBOT
charred monolithBOT
prime dew
# charred monolith

isn't this just dashless plus

.name__2ea32 { 
  text-transform: capitalize; 
}```
gritty iris
charred monolithBOT
charred monolithBOT
fossil inlet
#

my port of the chrome devtools pretty printer now has byte-for-byte output, including their bugs

#

passes all their tests

odd heath
#

oh wow one of my pr has bday in 2 days

fossil inlet
#

@turbid hatch do you host vencloud?

#

also @austere talon

turbid hatch
#

oh

fossil inlet
turbid hatch
#

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

fossil inlet
#

works (didn't save as vencloud sucks imo, but did connect and not error)

turbid hatch
#

:(

fossil inlet
#

(vencloud loves overwriting my data with older saves for some reason)

turbid hatch
#

you can turn off autosync now

#

so you can manually sync it whenever you want

#

or just set one device as source

fossil inlet
#

oh shit, love

turbid hatch
#

its something i added after someone pointed out that theres no way to define a source of truth

signal sundial
#

oh nice

charred monolithBOT
signal sundial
#

@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

charred monolithBOT
clever sierraBOT
#
RU

Not only are you a pervert, but you're also creating an atmosphere full of disgusting trash. What's wrong with that?

signal sundial
#

LMAOO

clever sierraBOT
#
RU

What's wrong?)

chrome coral
charred monolithBOT
#

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?

  1. upgrage the Discord app to 0.0.133
  2. Repair the Vencord using sh -c "$(curl -sS https://vencord.dev/install.sh)"
  3. Open the Discord app
    Then it crashed

OS: Ubuntu 24.04 LTS

Errors

Error
A JavaScript e...
charred monolithBOT
fossil inlet
#

evil

limber skiff
#

very good

#

you should just hide the Modules [] but errored while applying if it's empty

#

matched*

odd heath
#

peak actually

fossil inlet
limber skiff
#

yikes

#

that's fine then

fossil inlet
#

i want to get source mappings for the formatter so you can see errored patches with the formatted source first

limber skiff
#

cooked

austere talon
#

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();
 });
chrome coral
#

I can't either

#

I tried dvm which downloads from discord directly and same result venniesad

austere talon
#

this fixes it not because OpenAsar fixes it but because updating your OpenAsar fixes it

chrome coral
#

Does the installer repair button update openasar

chrome coral
#

gui and cli works perfectly (at least for me) on all platforms

austere talon
#

compose is hot garbage

chrome coral
#

yea

#

I can’t really make slint look like the mock-up you gave me but I tried my best

gritty iris
gritty iris
gritty iris
# charred monolith

mosaic is the only one broken on stable I can remove it for now if you would like

signal sundial
#

for the titlebar at least

chrome coral
earnest lava
charred monolithBOT
limber skiff
#

those error messages are so detailed

fossil inlet
limber skiff
#

yeah

#

extremely cool

charred monolithBOT
charred monolithBOT
hybrid blaze
charred monolithBOT
#

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.

limber skiff
chrome coral
austere talon
#

Discord makes a new version folder when the app updates

chrome coral
#

I don't think it would be an issue on mac/windowsd

austere talon
#

it's not an issue on any

#

on Linux the app does not update its app.asar because it can't due to permission

chrome coral
#

Maybe somehow they messed up their discord install and needed to 'fix' the installer lol

austere talon
#

this honestly seems like they're using ai and the ai is hallucinating random solutions

austere talon
charred monolithBOT
chrome coral
#

u will merge #165

#

I will fix everything

austere talon
chrome coral
#

do you not want an appimage btw i'm not sure if you want the gui to be distribution on linux EmberShrug

limber skiff
#

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

weary cave
austere talon
#

yeah

weary cave
chrome coral
#

the sky

austere talon
#

^

weary cave
#

I mean is there anything you need help with on the pr

chrome coral
#

you’re always free to help review so things could get potentially merged quicker

austere talon
#

what's holding it up is me not having gotten to it yet

weary cave
#

So idk how much that would mean

#

I can test it I guess

austere talon
#

you can help by not being impatient and bumping prs that were opened less than 24h ago

weary cave
#

damn ok I was just looking to help get a bugfix that actively impacts me

austere talon
#

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

fossil inlet
weary cave
fossil inlet
#

found image zoom bug blobcatcozy

weary cave
#

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

austere talon
#

do u mean the error spam

fossil inlet
#

no

#

it doesnt properly handle mouse events with the rounded corners in image modals

#

(very minor)

fossil inlet
#

oh

#

closed (3533)

austere talon
#

idk

#

that thing is so irrelevant it doesn't cause any issues

#

so i just ignore it

charred monolithBOT
charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
#
[Vendicated/Vencord] New tag created: v1.14.7
austere talon
# charred monolith

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

chrome coral
#

I did mention that I only see it as an issue on Linux DokiNodFast

weak thistle
#

may I suggest shipping vencord installer as a package hook so it injects after pm update

fossil inlet
chrome coral
#

another one soon

fossil inlet
charred monolithBOT
fossil inlet
#

@weary cave

#

guhhhhh

#

@signal sundial

signal sundial
charred monolithBOT
austere talon
#

vtest plugin-tags

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
austere talon
#

ViewAvatars broken

austere talon
#

fixing

charred monolithBOT
charred monolithBOT
fossil inlet
austere talon
#

basically same thing as the existing one fres

fossil inlet
#

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

gritty iris
#

Also I think they added this but for servers?

fossil inlet
gritty iris
#

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

austere talon
#

it used a variable from a different function so it was erroring

fossil inlet
#

did you not test 😭

gritty iris
#

I 100% forgot to build

#

🥀

#

I was like wow that worked first try and now here we are

fossil inlet
gritty iris
#

Literally one of the very few times I was manually building

fossil inlet
#

tfym manually building

gritty iris
#

pnpm build --dev instead of pnpm dev

fossil inlet
#

tbh i never run pnpm dev

#

i always run either pnpm build --dev or pnpm build --dev --watch

gritty iris
#

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

fossil inlet
chrome coral
#

compile for mac

fossil inlet
signal sundial
#

RustCancer

#

i’ll test @fossil inlet

signal sundial
#

i was shitting on reporter but its actually so good @fossil inlet

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

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?

  1. Wait for an automated Vencord update
  2. See alert

Errors

N/a

Request Agreement

  • [x] I am using Dis...
charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
# austere talon vtest
Bad Patches

AccountPanelServerProfile (had no effect):
ID: 748319
Match: ```
/(.AVATAR,children:.+?renderPopout:(\i)=>){(.+?)}(?=,position)(?<=currentUser:(\i).+?)/

Slow Patches

ShowTimeoutDuration (took 7ms):
ID: 643204
Match: ```
/\i.\i,{(text:.{0,30}#{intl::GUILD_COMMUNICATION_DISABLED_ICON_TOOLTIP_BODY}))/

nimble pendantBOT
austere talon
#

#

works on my machine

#

reporter false positive

#

actually no

#

what

#

it says patch ok

#

lol companion bug?

#

its not testing the first

charred monolithBOT
austere talon
#

venapp please test

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
odd heath
#

merge 4070 pretty please

austere talon
odd heath
#

very bad issu

gritty iris
#

discord somehow bricked my etf packets so now I have to patch gateway to only send json encoding :)

charred monolithBOT
signal sundial
#

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

fossil inlet
signal sundial
#

@fossil inlet satan

#

can i do native3.ts

#

and native4.ts and so on

fossil inlet
#

no

#

Just native 2

signal sundial
#

husk

#

i’ll work with that ig snackstare

grizzled halo
#

just in case this isnt already known, im able to reproduce this on latest version and multiple people already mentioned it

austere talon
#

already fixed in dev

charred monolithBOT
fossil inlet
fossil inlet
hybrid blaze
#

horrorcode pro max

fossil inlet
#

evil breaking change @austere talon

#

accessibility
removes accessibility
wireless

austere talon
#
- debug
+ @debug
fossil inlet
austere talon
austere talon
#

baseUrl gone

#

the old path was cursed

#

it was based on baseurl lmao

fossil inlet
austere talon
#

not an alias

#

i made it a proper alias now

austere talon
fossil inlet
#

oh

austere talon
#

ts6 deprecated baseUrl

#

so i removed it

fossil inlet
#

ah

fossil inlet
austere talon
#

link doesnt work

#

just check tsconfig diff

austere talon
#

it's valid ts

#

esbuild did it right

#

its why they removed baseUrl

#

because it's cursed

fossil inlet
austere talon
#

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

fossil inlet
fossil inlet
#

is it just me or is the switch off-center by like one pixel

#

yeah it is

#

what dummy made the css for this clueless

austere talon
#

discord

#

well

#

me but I stole from discord

charred monolithBOT
left sequoia
#

me when css

prime dew
#

And we got the aislop PR of the day venniecozycat

austere talon
charred monolithBOT
charred monolithBOT
#

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...

chrome coral
#

#

watch them reply with ai again

austere talon
#

i blocked

charred monolithBOT
#

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?

  1. make sure you have message logger enabled
  2. send a message with any text
  3. edit the message with any text
  4. right click the message and click rem...
odd heath
#

a

odd heath
#

huh it works here wires

#

but this can happen ig idk if its known

#

maybe just my discord being fucked

charred monolithBOT
#

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?

  1. Enable viewIcons extension
  2. Go into a user profile
  3. Click on pfp
  4. 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 ...
odd heath
charred monolithBOT
fossil inlet
#

god miette is do good

#

this was so easy to make

charred monolithBOT
austere talon
#

venbot please test

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
#

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...

chilly gyro
#

V went on a grind, holy

chilly gyro
austere talon
#

bro that entire message was obviouslt written by ai wdym jk

chilly gyro
#

Didn’t want it to sound like I was judging

#

not tryna get banned today

chilly gyro
#

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

fossil inlet
#

lints

charred monolithBOT
#

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 luau and rbxlua to lua.
  • Keeps...
austere talon
#

aislop

still maple
#

absolute meh

chilly gyro
#

uses a valid but clearly wrong tag
huh?

#

oh

#

still weird

chilly gyro
chilly gyro
austere talon
#

can u stop spamming so much about aislop guh

fossil inlet
#

@austere talon love?

charred monolithBOT
jagged cloak
shrewd hornet
shrewd hornet
charred monolithBOT
charred monolithBOT
#

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
  • ...
chrome coral
#

I don’t think vencord even touches that

fossil inlet
chrome coral
#

oh I didn’t look at the image