#๐Ÿ‘พ-core-development

1 messages ยท Page 281 of 1

fossil inlet
#

btw that isn't reporter

#

i just waited a minute or two after reporter finished than ran loadLazyChunks again

austere talon
#

yeah but

#

that error means you had too many pending requests

fossil inlet
#

most useful discord module

#

701884

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

companion will now show the value of constants as a hover hint

twilit vector
#

real issue

#

seems to just give blank window on future opens

fossil inlet
#

its 4am

#

someone can do it tomorrow

twilit vector
#

l35 ๐Ÿ˜ญ

gritty iris
#

I was fixing all of my stuff that was broken and ended up fixing the rest of the stuff that was missed but I took a break and forgot tonguecat

twilit vector
#

seems to be true

#

very awkward space inbetween messages

#

blocked message above & under the third one, slightly noticable

elder plinth
#

what is Kevin yapping about

twilit vector
#

sentient

twilit vector
charred monolithBOT
limber skiff
#

vtest dev2

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
twilit vector
charred monolithBOT
limber skiff
#

vtext

#

vext

nimble pendantBOT
twilit vector
#

i โค๏ธ Google extension reviewers

#

(lie)

fossil inlet
twilit vector
#

yop
i dont think vext can show new version if the tag isnt made
shrug

errant nacelle
#

How does the review process even work
Do they have to go through 10000 lines of js with every update or do they only check the diff?
Either way seems kinda inefficient and prone to human mistakes
Also if vencor were to steal user's data through a very specific patch that constructs a token stealer in a random module, how would they know

errant nacelle
#

Then it should be instantaneous smh

gritty iris
#

we get approved in like 1-3 hours

fossil inlet
limber skiff
#

@austere talon anything you wanna merge to dev before I push to main?

#

some couple more fixes

nimble pendantBOT
signal sundial
#

does your dad work at google inc or something

desert cosmos
#

sorry

turbid hatch
#

the more installs an extension has the more scrutiny it gets put through

#

thats legitimately the answer

#

its just because equicord is a smaller extension by userbase so the checks are less extensive

signal sundial
#

oh ic

turbid hatch
#

to prevent u from making a legitimate extension and then switcharooing

austere talon
#

I'm really sick today

limber skiff
#

hope u feel better soon!

gritty iris
signal sundial
signal sundial
#

why

gritty iris
#

it was just there

#

and free

chrome coral
desert cosmos
#

i like them

chrome coral
#

your opinion is different than mine but it's okay @desert cosmos

twilit vector
#

they're vertically slimmer and wider yea

desert cosmos
#

like click on them

#

they feel so nice

twilit vector
#

they wanna be windows so bad

alpine ridge
#

i have a slight suspicion that this name isnt used internally

austere talon
austere talon
alpine ridge
#

although, with a few outliers the output does look mostly correct

fossil inlet
shut vineBOT
#

@fossil inlet, <t:1769216619:R>: check if this is still an issue

charred monolithBOT
fossil inlet
#

is that actually a command to start call

#

what insane person thought that was a good idea

odd heath
#

vext

nimble pendantBOT
# odd heath vext

The Vencord Chrome Extension is out of date! (v1.13.12 vs v1.14.1)

fossil inlet
#

vext

nimble pendantBOT
limber skiff
#

I paid them to not accept the update

fossil inlet
#

evil

elder plinth
#

have you considered making the extension 1 line of code which fetches the actual extension code from github so you never have to update it in the extension stores ever Clueless

charred monolithBOT
wary dew
#

brooo who is that

#

๐Ÿ‘€

undone hedge
hollow musk
#

vext

nimble pendantBOT
elder plinth
odd heath
#

vext

nimble pendantBOT
# odd heath vext

The Vencord Chrome Extension is out of date! (v1.13.12 vs v1.14.1)

undone hedge
#

vext

nimble pendantBOT
undone hedge
#

kill chrome

charred monolithBOT
signal sundial
#

this makes me get why people hate liquid glass

desert cosmos
#

they dont look bad

#

!!

hybrid blaze
desert cosmos
#

They're PRETTY

charred monolithBOT
elder plinth
#

I prefer them to the old switches

#

old ones are so bulky

#

and the check is stupid

twilit vector
#

windows switch

charred monolithBOT
errant nacelle
#

also not showing a visual indicator of the on/off state apart from a background color (colorblind people exist) and left/right position on the screen (other cultures exist) should be an accessibility concern

elder plinth
#

left right is universal

#

also is there even a form of colorblind that wouldn't be able to tell the difference between an off (black) and on (not black)

charred monolithBOT
limber skiff
#

vex

#

vext

nimble pendantBOT
limber skiff
#

come on

odd heath
#

vext

nimble pendantBOT
# odd heath vext

The Vencord Chrome Extension is out of date! (v1.13.12 vs v1.14.1)

gritty iris
#

some button redesign classes were murdered if you were using
--redesign-button-secondary-background
--redesign-button-danger-background
--redesign-button-danger-pressed-background
--redesign-button-danger-pressed-text
--redesign-button-secondary-pressed-background
--redesign-button-positive-pressed-background

austere talon
#

using a few

#

annoying

#

eh? i cant reproduce

#

can google horry up dude

odd heath
#

vext

nimble pendantBOT
# odd heath vext

The Vencord Chrome Extension is out of date! (v1.13.12 vs v1.14.1)

odd heath
#

Tbf it's Sunday Clueless

fossil inlet
#

up dude

charred monolithBOT
odd heath
#

vext

nimble pendantBOT
# odd heath vext

The Vencord Chrome Extension is out of date! (v1.13.12 vs v1.14.1)

gritty iris
#

it was yesterday when I noticed

#

ill check rn

#

they didnt revert is seems

austere talon
#

oh yeah guh

charred monolithBOT
odd heath
#

vext

nimble pendantBOT
# odd heath vext

The Vencord Chrome Extension is out of date! (v1.13.12 vs v1.14.1)

odd heath
#

GUHH

twilit vector
#

it was literally there like yesterday

fossil inlet
twilit vector
#

it had the button even with uppercase update

gritty iris
#

I found direct replacements not the same button thing tho

#

other variables were

--redesign-button-danger-pressed-background: color-mix(in oklab, var(--red-460) 100%, var(--custom-theme-base-color, #000) var(--custom-theme-base-color-amount, 0%));
--redesign-button-danger-pressed-text: color-mix(in oklab, var(--white) 100%, var(--custom-theme-text-color, #000) var(--custom-theme-text-color-amount, 0%));
--redesign-button-secondary-pressed-background: color-mix(in oklab, var(--primary-130) 100%, var(--custom-theme-base-color, #000) var(--custom-theme-base-color-amount, 0%));
--redesign-button-positive-pressed-background: color-mix(in oklab, var(--green-460) 100%, var(--custom-theme-base-color, #000) var(--custom-theme-base-color-amount, 0%));
#

thats it lol

#

all of redesign

limber skiff
#

I dont follow your logic

gritty iris
#

wym

limber skiff
#

but you found out the replacements?

gritty iris
#

๐Ÿ˜”

gritty iris
#

they arent using --primary-130 anymore

#
--redesign-button-positive-background = --status-positive-background
--redesign-button-secondary-pressed-background = --redesign-button-tertiary-pressed-background
--redesign-button-secondary-background = --channeltextarea-background
--redesign-button-danger-background = --status-danger
--redesign-button-danger-background = --status-danger
--redesign-button-danger-pressed-text = --text-default (?)
--redesign-button-danger-pressed-background = --text-feedback-critical (?)
#

thats all I got rn

#

they also moved to --red-new

#

not sure if anything else was murdered but if you need me to look just let me know

charred monolithBOT
charred monolithBOT
undone hedge
#

vext

nimble pendantBOT
shut vineBOT
#

@fossil inlet, <t:1769131258:R>: add companion hover hint for mangled class names

fossil inlet
#

did that blobcatcozy

limber skiff
#

vext

nimble pendantBOT
charred monolithBOT
#

this still seems to be broken for me, guessing its something in my fork but there are no changes i can see that should be breaking things. and i get this error when i right click on a user

Vencord   ContextMenu  Patch for user-context errored, TypeError: Spread syntax requires ...iterable[Symbol.iterator] to be a function
    at ag (components.tsx:135:15)
    at Object.zI (ContextMenu.ts:147:17)
    at C (WebpackModule861672:2:5679)
    at i6 (web.d4014ee71ec82f1b.js:12:1192137)
...
odd heath
#

Vext

nimble pendantBOT
# odd heath Vext

The Vencord Chrome Extension is out of date! (v1.13.12 vs v1.14.1)

fossil inlet
#

or was it someone else

alpine ridge
#

i could probably look into adding that to it tho

fossil inlet
#

yop

#

hmmmm

#

what if it was moved to an api

#

because the timeout duration should have it's own line afaik

#

but the message delay should be inline

#

the order needs to be flipped i think

undone hedge
#

Vext

nimble pendantBOT
charred monolithBOT
twilit vector
#

is this invisiblechat (Even Nicher Edition)

charred monolithBOT
undone hedge
#

vext

nimble pendantBOT
analog knoll
#

Vesktop works flawlessly on aarch64 linux (Asahi), good job y'all

twilit vector
#

vext

nimble pendantBOT
twilit vector
#

hoooooooooly shit

charred monolithBOT
limber skiff
#

vtest dev2

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
limber skiff
hybrid blaze
charred monolithBOT
twilit vector
#

oh yea what happened to the translation plans

limber skiff
#

seems like the bundler decided to more aggressively inline some functions

fossil inlet
#

i can do those tonight

limber skiff
#

Old

757942(e, t, n) {
    "use strict";
    (n.d(t, {
        A: () => S
    }), n(896048));
    var r = n(627968);
    n(64700);
    var i = n(735438), a = n.n(i), 
    s = n(397927), 
    o = n(310953), 
    l = n(366811), 
    c = n(808728), 
    u = n(967198), 
    d = n(711014), 
    f = n(645959), 
    p = n(203982), 
    _ = n(265422), 
    h = n(652215), 
    m = n(790782);
    function g(e, t, n) {
        return ((t in e) ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = n, e);
    }
    function E(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
            ("function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function (e) {
                return Object.getOwnPropertyDescriptor(n, e).enumerable;
            }))), r.forEach(function (t) {
                g(e, t, n[t]);
            }));
        }
        return e;
    }
    function y(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            (t && (r = r.filter(function (t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable;
            })), n.push.apply(n, r));
        }
        return n;
    }
    function b(e, t) {
        return (t = null != t ? t : {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : y(Object(t)).forEach(function (n) {
            Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
        }), e);
    }
    function O(e, t) {
        let n = [h.ME, ...d.Ay.getFlattenedGuildIds()], r = n.indexOf(e);
        return t > 0 ? n.slice(r).concat(n.slice(0, r), e) : (n.splice(r, 0, e), n.slice(r + 1).concat(n.slice(0, r + 1)));
    }
    function v(e, t) {
        return e === h.ME ? f.A.getPrivateChannelIds() : (0, o.A)(e, {
            withVoiceChannels: t,
            withCurrentVoiceChannel: !0
        }).map(e => e.id);
    }
    function A(e, t) {
        return [{
            resourceId: e,
            type: m.P.GUILD_EVENT
        }, ...v(e, t)];
    }
    function I(e, t) {
        var i, a;
        let o, {channelPredicate: d = () => !0, guildPredicate: f = () => !0, guildFeaturePredicate: m = () => !1, ensureChatIsVisible: g = () => !1, withVoiceChannels: y = !1} = t, v = null != (i = l.A.getState().guildId) ? i : h.ME, I = l.A.getState().channelId, S = O(v, e), T = e > 0 ? 0 : S.length - 1, C = A(v, y), N = C.indexOf(I) + e;
        for (; null != v && "" !== v; ) {
            if ((o = C[N], f(v))) for (; null != o && "" !== o; ) {
                if ("string" == typeof o) {
                    if (d(v, o)) return (0, _.i)(v, o, !1, g(v, o));
                } else if ("object" == typeof o && m(o.resourceId, o.type)) return (v !== u.A.getGuildId() && (0, _.i)(v, null == (a = c.Ay.getDefaultChannel(v)) ? void 0 : a.id), (0, s.mMO)(async () => {
                    let {default: e} = await Promise.all([n.e("51354"), n.e("7453"), n.e("27728")]).then(n.bind(n, 926956));
                    return t => (0, r.jsx)(e, b(E({}, t), {
                        guildId: v
                    }));
                }));
                (N += e, o = C[N]);
            }
            if ((T += e, null == (v = S[T]) || "" === v)) break;
            (C = A(v, y), N = e < 0 ? C.length - 1 : 0);
        }
        p._.dispatch(h.jej.SHAKE_APP, {
            duration: 200,
            intensity: 2
        });
    }
    let S = a().throttle(I, h.ugG);
}
#

New

757942(e, t, n) {
    (n.d(t, {
        A: () => h
    }), n(896048));
    var r = n(627968);
    n(64700);
    var i = n(735438), l = n.n(i), 
    s = n(397927), 
    a = n(310953), 
    o = n(366811), 
    c = n(808728), 
    d = n(967198), 
    u = n(711014), 
    _ = n(645959), 
    p = n(203982), 
    m = n(265422), 
    g = n(652215), 
    A = n(790782);
    function f(e, t) {
        return [{
            resourceId: e,
            type: A.P.GUILD_EVENT
        }, ...e === g.ME ? _.A.getPrivateChannelIds() : (0, a.A)(e, {
            withVoiceChannels: t,
            withCurrentVoiceChannel: !0
        }).map(e => e.id)];
    }
    let h = l().throttle(function (e, t) {
        var i, l, a;
        let _, A, h, {channelPredicate: b = () => !0, guildPredicate: E = () => !0, guildFeaturePredicate: x = () => !1, ensureChatIsVisible: O = () => !1, withVoiceChannels: C = !1} = t, I = null != (i = o.A.getState().guildId) ? i : g.ME, T = o.A.getState().channelId, S = (a = I, A = (_ = [g.ME, ...u.Ay.getFlattenedGuildIds()]).indexOf(a), e > 0 ? _.slice(A).concat(_.slice(0, A), a) : (_.splice(A, 0, a), _.slice(A + 1).concat(_.slice(0, A + 1)))), j = e > 0 ? 0 : S.length - 1, v = f(I, C), N = v.indexOf(T) + e;
        for (; null != I && "" !== I; ) {
            if ((h = v[N], E(I))) for (; null != h && "" !== h; ) {
                if ("string" == typeof h) {
                    if (b(I, h)) return (0, m.i)(I, h, !1, O(I, h));
                } else if ("object" == typeof h && x(h.resourceId, h.type)) return (I !== d.A.getGuildId() && (0, m.i)(I, null == (l = c.Ay.getDefaultChannel(I)) ? void 0 : l.id), (0, s.mMO)(async () => {
                    let {default: e} = await Promise.all([n.e("51354"), n.e("7453"), n.e("27728")]).then(n.bind(n, 926956));
                    return t => (0, r.jsx)(e, (function (e, t) {
                        return (t = null != t ? t : {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : (function (e, t) {
                            var n = Object.keys(e);
                            if (Object.getOwnPropertySymbols) {
                                var r = Object.getOwnPropertySymbols(e);
                                n.push.apply(n, r);
                            }
                            return n;
                        })(Object(t)).forEach(function (n) {
                            Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
                        }), e);
                    })((function (e) {
                        for (var t = 1; t < arguments.length; t++) {
                            var n = null != arguments[t] ? arguments[t] : {}, r = Object.keys(n);
                            ("function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function (e) {
                                return Object.getOwnPropertyDescriptor(n, e).enumerable;
                            }))), r.forEach(function (t) {
                                var r;
                                (r = n[t], (t in e) ? Object.defineProperty(e, t, {
                                    value: r,
                                    enumerable: !0,
                                    configurable: !0,
                                    writable: !0
                                }) : e[t] = r);
                            }));
                        }
                        return e;
                    })({}, t), {
                        guildId: I
                    }));
                }));
                (N += e, h = v[N]);
            }
            if ((j += e, null == (I = S[j]) || "" === I)) break;
            (v = f(I, C), N = e < 0 ? v.length - 1 : 0);
        }
        p._.dispatch(g.jej.SHAKE_APP, {
            duration: 200,
            intensity: 2
        });
    }, g.ugG);
}
#

inlined the shit out of everything ๐Ÿ˜‚

fossil inlet
#

thanks vscode, this is very helpful and what i want when i make a typo

fossil inlet
#

doing more than just that

limber skiff
#

hold on sadan

fossil inlet
#

oh

#

ok

limber skiff
#

we already have fixes for most of these

fossil inlet
#

oh

#

love

limber skiff
#

I just copy pasted this and it works

fossil inlet
#

what commit is that from

fossil inlet
#

should we get stable compat for these

limber skiff
#

does this find work without ) or ,?

fossil inlet
#

i think it does

limber skiff
#

might be worth to just switch the find tbh

limber skiff
#

stable and new

fossil inlet
limber skiff
#

uhh

#

can you try to find a better find tho?

fossil inlet
#

could probably grab something from these defaults

#

this also works but it's worse

limber skiff
fossil inlet
#

you can pretty much pick any prop, my guess is all the others work as well

#

ignore activites module is pretty nasty now

#

we might be able to anchor after this intl string

charred monolithBOT
limber skiff
#

vtest dev2

nimble pendantBOT
limber skiff
fossil inlet
#

im blind

nimble pendantBOT
# limber skiff vtest dev2
Bad Patches

NoticesAPI (had no effect):
ID: 519057
Match: ```
/(?<=,NOTICE_DISMISS:function(\i){)return null!=(\i)/


**__SuperReactionTweaks (had no effect):__**
ID: `900210`
Match: ```
/(BURST_REACTION_EFFECT_PLAY:\i=>{.+?if\()(\(\(\i,\i\)=>.+?\(\i,\i\))>=5+?(?=\))/
nimble pendantBOT
fossil inlet
#

?remind make eslint rule for unused capture groups in finds

shut vineBOT
#

Invalid time provided, try e.g. "tomorrow" or "3 days".

fossil inlet
#

?remind 1w make eslint rule for unused capture groups in finds

shut vineBOT
#

Alright @fossil inlet, in 1 week: make eslint rule for unused capture groups in finds

limber skiff
#

huh

fossil inlet
#

i have a branch that has vencord eslint rules i work on sometimes

charred monolithBOT
limber skiff
#

vtest

nimble pendantBOT
limber skiff
#

may they stop breaking our stuff for a little please

fossil inlet
#

never

nimble pendantBOT
# limber skiff vtest
Bad Patches

NoticesAPI (had no effect):
ID: 519057
Match: ```
/(?<=,NOTICE_DISMISS:function(\i){)return null!=(\i)/


**__SuperReactionTweaks (had no effect):__**
ID: `900210`
Match: ```
/(BURST_REACTION_EFFECT_PLAY:\i=>{.+?if\()(\(\(\i,\i\)=>.+?\(\i,\i\))>=5+?(?=\))/
nimble pendantBOT
charred monolithBOT
odd heath
#

okay

#

who broke RCE again

#

it colors on messages that failed to send

#

which i had fixed originally

#

what tf happened to it

#

๐Ÿ˜ญ

limber skiff
#

fix it then

odd heath
#

iu cant my keyboard is broken

#

i swear it worked like a week ago tho

idk what changed

fossil inlet
odd heath
#

DID THEY ACTUALLY MAKE IT IDENTICAL?

#

its very very similar to my role color so that could be the reason i was unable to tell

#

wtf

charred monolithBOT
charred monolithBOT
gritty iris
#

since when ๐Ÿ˜ญ

hybrid blaze
#

the hell is that

charred monolithBOT
austere talon
#

it makes sense

#

embeds are also hidden because they can have images

twilit vector
austere talon
limber skiff
#

huh

#

must have broke for another reason

#

they just added a prop in the middle of the old patch which is why it originally failed to match

#

unrelated to that error

#

I dont use the plugin cuz no Vesktop ๐Ÿ˜›

austere talon
#

oh wait u didnt push to main

#

ah it works fine

#

i thought u had pushed to main and it was broken fix

charred monolithBOT
#
[Vendicated/Vencord] New branch created: custom-alert-modal
#

Content

Description of problem: my old vencord with userplugins doesnt show settings for vencord after new discord UI update, i tried installing vanilla as in image and i got error when try to run discord. But vanilla pre build binary "https://github.com/Vencord/Installer/releases/latest/download/VencordInstallerCli.exe" just works as in one of screenshot but its a bummer that we dont have userplugins folder in prebuild vanilla CLI
So i tried Vanilla from git and it Errors out at startup...

austere talon
# charred monolith

this looks kind of bad and discord seems to be deprecating their old modal api i think

#

they have new modal components

#
return (0,
            r.jsx)(i.Modal, {
                transitionState: n,
                onClose: m,
                title: j.intl.string(j.t["GD/8X8"]),
                actions: en,
                actionBarInput: (0,
                r.jsx)(o.Checkbox, {
                    checked: D,
                    onChange: e => I(e),
                    label: j.intl.string(j.t["Ux+iQU"])
                }),
                children: (0,
                r.jsxs)("div", {
                    className: y.Qs,
                    onKeyDown: et,
                    children: [null != F && (0,
                    r.jsx)(o.wx6, {
                        type: "critical",
                        children: F.getAnyErrorMessage()
                    }), (0,
                    r.jsx)(h, {
                        question: S,
                        onChange: U,
                        error: null == M ? void 0 : M.question,
                        inputRef: k
                    }), (0,
                    r.jsx)(o.hKd, {
                        size: 26
                    }), (0,
                    r.jsxs)(o.D0$, {
                        role: "group",
                        label: j.intl.string(j.t.oMBfeS),
                        children: [_.map( (e, n) => (0,
                        r.jsx)(p.A, {
                            answer: e,
                            channelId: t.id,
                            index: n,
                            isLastAnswer: n === _.length - 1,
                            onEmojiSelect: K,
                            onEmojiRemove: B,
                            onAnswerTextChange: L,
                            onRemoveAnswer: z,
                            addAnswer: q,
                            submitPoll: ee,
                            answerRowRefs: R,
                            error: null == M ? void 0 : M["answer-".concat(e.localCreationAnswerId)],
                            canRemoveAnswer: W,
                            ref: e => {
                                R.current[n] = e
                            }
                        }, e.localCreationAnswerId)), Y && (0,
                        r.jsx)("div", {
                            className: y.Ox,
                            children: (0,
                            r.jsx)(o.Button, {
                                icon: o.j96,
                                variant: "secondary",
                                onClick: q,
                                "aria-label": j.intl.string(j.t.B2Uvme),
                                buttonRef: x,
                                text: j.intl.string(j.t.B2Uvme)
                            })
                        })]
                    }), (0,
                    r.jsx)(o.hKd, {
                        size: 18
                    }), (0,
                    r.jsx)(v, {
                        selectedDuration: N,
                        onSelect: T
                    })]
                })
            })
#

new modal api

austere talon
#

hmm

#

reporter doesnt seem to work for css classes

#

oh yeah

charred monolithBOT
austere talon
#

vtest dev3

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
austere talon
#

beautiful

#

what is this intl key

#

when i ask a reddit mod how old his gf is

charred monolithBOT
austere talon
#

icon looks out of place tbh, someone should make a new one

signal sundial
#

hop on IconViewer

austere talon
#

why would discord have a send voice message icon

signal sundial
#

it has a mic icon

#

veediot

#

vee so antisocial that he forgot discord has calls

#

const MicrophoneIcon = findComponentByCodeLazy("7.94V20H9a1");

austere talon
#

basically the same icon

#

it will also look out of place

#

text area setting

#

bro ๐Ÿ’€

charred monolithBOT
austere talon
#

vtest

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
charred monolithBOT
#

Adds SelectToQuote, a plugin to quote specific parts of a message.

Features:

  • Adds "Reply with Quote" to the context menu when text is selected.
  • Smart Formatting: Detects if selection is inside a codeblock (hljs/language-) and preserves the language + auto-fencing (N+1 backticks).
  • Diff Mode: specific Shift+Click behavior to create a diff block for corrections.

Technical:

  • Uses FluxDispatcher (CREATE_PENDING_REPLY) for native reply state (no DOM text...
charred monolithBOT
#
#
hybrid blaze
#

this cant be true b_akubluelaugh

austere talon
#

random guy that never left a comment before somehow found this pr within 2 minutes and asks these super specific questions and somehow knows the plugin has a submenu and command despite the pr not mentioning that

digital plover
#

what does he mean alt account

#

bruhhhh

brave tundra
#

idk tbh i used ai to make it i dont like ts and didnt want to deal with ts

digital plover
austere talon
dusty bluff
dapper tiger
#

I approve of merge ๐Ÿ‘

sullen plover
#

10 billion more ai slop plugins to vencord

elder plinth
#

loadLazyChunks() resulting in a ton of net::ERR_CONNECTION_CLOSED for anyone else?

#

stable, canary, fresh after a reload, in a client sitting open for over an hour, every one just gives me a bunch of connection closeds ๐Ÿค”

charred monolithBOT
#

Recently, my Vencord crashed (after a Discord update). I went into the installer, but it couldn't patch it because I kept getting this error. I couldn't find it anywhere on the Internet. Cli or GUI version of installer gives me same error
Idk what i can do, I tried to open the installer with Cloudflare Warp enabled, but the error is the same.

charred monolithBOT
twilit vector
#

atleast they self-closed

rigid harbor
gritty iris
scenic brook
charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
#

vtest dev2

nimble pendantBOT
nimble pendantBOT
nimble pendantBOT
charred monolithBOT
rigid harbor
charred monolithBOT
austere talon
#

thanks

austere talon
limber skiff
#

yeah

#

we could do some migration to our components too at the same time

austere talon
#

there's a pr for it

limber skiff
#

cuz they are pretty used in modals

#

oh

#

alright

austere talon
limber skiff
#

is it visibly different or pretty much the same?

austere talon
#

i reviewed like half of it

#

need to review the rest

limber skiff
#

๐Ÿ™„

limber skiff
#

I cant get a find ๐Ÿ˜‚

charred monolithBOT
limber skiff
#

I dont like that

#

but I cant get anything else

charred monolithBOT
austere talon
#

guhhh

#

.isProvisional? seems unique

limber skiff
#

๐Ÿ˜‚

#

out of everything that's unique

#

no way

austere talon
limber skiff
#

but it seems risky

austere talon
#

eh

#

worst case scenario it breaks

limber skiff
#

here goes the force push then

#

๐Ÿ˜‚

austere talon
#

nah

#

i want to push something anyway i can just change it

limber skiff
#

alright

austere talon
#

soon we will start hardcoding mangled names like BD

limber skiff
#

๐Ÿ’€

austere talon
#

im still annoyed with the intl hashing

#

Intl keys were so useful

#

oh and classes too

#

those made it so much easier to understand what you're looking at

limber skiff
#

yeah

austere talon
#

oh oops

#

yeah it should be overwritten lmao

charred monolithBOT
elder plinth
#

-1465912127305809920 is an interesting id choice

charred monolithBOT
charred monolithBOT
#
  • Invisible zero-width encoding for message content with auto-decode for users who have this tool.
  • Mention preservation for user, role, and channel pings.
  • Optional "shared key" encryption for message payloads and supported attachments. Messages you send will be encoded and should decode for users with the same key
  • Attachment encryption/decryption for images and .txt files.
  • "Show more..." expands long decrypted text for easier reading.
twilit vector
#

there should be some readme file about what plugins not to pr

#

Including Removed Ones

#

cus i have a big feeling all of these invisiblechat fork makers dont even know that plugin existed

brave tundra
#

removed ones could be added to this or something

twilit vector
#

yeah
@vendicated.machine add!!

surreal fiber
#

I didn't even know invisiblechat was removed

twilit vector
#

same lol

analog knoll
#

Anyone here on Linux using the newest electron 40.0.0 (chromium 144.0.7559.60) 1.6.4 build?

#

if on kde, could you try launching Vesktop and turn the brightness to 100%, then back to 95%. Do you experience visual artifacts?

#

Not a vesktop issue, but the 144.* builds of chromium are broken, at least on asahi linux. I will keep an eye out on electron builds are make a MR when it ships fixed chromium..

hybrid blaze
#

what the acutal fuck

weak thistle
#

horror

hybrid blaze
#

beloved

weak thistle
#

hmm

#

ai slop?

hybrid blaze
#

def

weak thistle
#

love

#

gotta take a look myself once I get home

hybrid blaze
#

make sure to prepare a good sandwich and a nice hot coffee to go with it

weak thistle
#

oh yeah

#

3k loc of slop might need something stronger

#

I was thinking beer but sure that works

#

what the fuck did they really make their own implementation of sha256 or smth

#

they did

#

my god

rigid harbor
weak thistle
#

this isnt even ai slop anymore it's pure slop slop

fossil inlet
weak thistle
#

gee that'd be really convenient

#

sure is sad that's not a thing cluelesseline

fossil inlet
#

(that api is async tho, so while there is a reason to not use it, rolling your own is insane)

chrome coral
#

Ai moment

charred monolithBOT
charred monolithBOT
#

This plugin allows to set a minimum account age for friend requests and automatically declines them, if a friend request does not fulfill the requirement.

I tend to get random friend requests from very new accounts regularly. Currently Discord only allows to disable friend requests based on friendships and common servers or allow everyone to send you a friend requests. Because I sometimes need to get a friend requests from someone I do not share a friend/server with, I have to keep my sett...

twilit vector
#

good concept good concept..

hybrid blaze
#

living in 2024, huh?

twilit vector
#

not a single file has 2026 copyright in it be so fr ๐Ÿ˜ญ

unkempt oak
#

change it to 2028 for good measure

#

wont have to edit it for 2 years

charred monolithBOT
twilit vector
unkempt oak
hybrid blaze
#

bro nitro me

#

nitro me up

unkempt oak
twilit vector
#

Me Nitro

#

-# i get they want fakenitro but damn man atleast try to use a translator

#

-# otherwise how are you using vencord

signal sundial
#

Me Nitro

charred monolithBOT
#

This PR adds full type definitions for discord's custom Slate input component (used by the ReviewDb plugin for example), along with a wrapper component that provides default properties to make features like autocomplete work out of the box.

I've also added the slate and slate-react libraries for their type exports (used by getSlateEditor() and the Transforms and Editor objects), but I can remove them if needed.

The SlateNode type is somewhat basic, but iirc @imjustprism has ...

gritty iris
#

prism made this for us but I was wondering if you would want me/him to pr it for you??

charred monolithBOT
gritty iris
twilit vector
#

atp just pr it and see if john vencord feels like adding that or not

fossil inlet
#

i love how we have an unused find

limber skiff
#

good thing It's unused

#

It's from before we decided to completely stop relaying on names once they started mangling more exports

charred monolithBOT
charred monolithBOT
shut vineBOT
#

@fossil inlet, <t:1769187163:R>: implement testing findCssClasses in companion

fossil inlet
#

i did that i think

twilit vector
# charred monolith

i wonder if this is the end of needing installer to update whenever discord breaks everything

charred monolithBOT
#

Adds a Typing section to the Friends list and typing indicators on server icons.

TypingFriends

Shows which of your friends are typing across servers.

TypingFriends adds a Typing section to the Friends list and displays small typing indicators next to server icons when friends are typing.

What it does

  • Shows friends who are currently typing across servers
  • Adds a typing section in the Friends list
  • Displays typing indicators next to server icons

Settings

*...

hybrid blaze
#

suuure

#

real ai slop

twilit vector
#

it's always the overuse of markdown

scenic brook
#

Gotta love the Overstepping Boundaries category of plugins

gritty iris
#

but other than that its fine

shut vineBOT
#

@fossil inlet, <t:1769192884:R>: fold numeric constants in companion patch helper

chrome coral
#

so yes itโ€™s still needed

twilit vector
#

oh i was thinking of it another way then nvm

chrome coral
#

itโ€™s useful for when you refresh discord and vencord breaks due to them updating it client side n such

gritty iris
#

time to pull a bd ๐Ÿ˜ญ

chrome coral
#

but when the app updates itโ€™s a different story

chrome coral
#

vee also doesnโ€™t want to change how the installer works rn

gritty iris
#

ignore the desc

#

didnt think of one yet

#
#

what the hell

austere talon
#

LOVE

#

I requested it ages ago

charred monolithBOT
charred monolithBOT
#

What happens when the bug or crash occurs?

Unable to install/repair Vencord

What is the expected behaviour?

Installation of vencord as regular

How do you recreate this bug or crash?

Download the software from the site, open it, and the message will be displayed

Errors

Request Agreement

  • [x] I am using Discord Stable or tried on Stable and this bug happens there as well
  • [x] I am a Vencord Developer
twilit vector
#

heh vns works even in github SunglassesFluent

charred monolithBOT
twilit vector
#

tech service blocking github is mental

fossil inlet
gritty iris
#

Ill do it in a sec

shut vineBOT
#

@fossil inlet, <t:1769211554:R>: add GAME_FRIEND to intl list

fossil inlet
#

๐Ÿ˜ญ

unkempt oak
hybrid blaze
#

im using that in icon finder

charred monolithBOT
unkempt oak
hybrid blaze
#

im so mad at discord

#

they removed that cool experiment

#

so we have to remake it

unkempt oak
#

what experiment

hybrid blaze
#

2025-12-desktop-message-previews

odd heath
#

what experiment

twilit vector
#

it's still alive

hybrid blaze
#

in stable

charred monolithBOT
hybrid blaze
unkempt oak
#

hate

twilit vector
unkempt oak
#

yea it is on stable

#

it was removed on canary

twilit vector
#

oh

#

thought of something else then nvm

#

soz

charred monolithBOT
charred monolithBOT
#

โ€ฆ if nick and username were identical with different casing

I added this small validation to index.tsx on line 100:

if (isRepliedMessage && !inReplies || (username.toLowerCase() === nick.toLowerCase() && mode !== "user"))

Which validates if the username only mode is active, in which case it should fall back to return <>{prefix}{username}; and display the username, all in lowercase.

Here's the fix, before and after:

charred monolithBOT
charred monolithBOT
charred monolithBOT
twilit vector
#

#1412573823676579975 message i've had 3 people in support get vencord installed just fine if they use the cli installer without deleting any certificates

#

curious

chilly gyro
#

Does the GitHub app join, send an update, and leave for each update? Or is that just me

twilit vector
#

webhook

scenic brook
#

TextReplace

elder plinth
#

it's always text replace

fossil inlet
#

This a real issue?

charred monolithBOT
#

Just tested. No.

Should be like this after patching.

{
  className: a()(c, T.Xh, q, {
    [T.Pi]: !U && !G && R
  }),
  children: [
    null != z ? z : j.Ay.getName(Z),
    F ? (0, r.jsxs)("span", {
      className: T.IW,
      children: ["\xa0", E.intl.string(E.t["pFO/Ph"])]
    }) : "",
    Vencord.Plugins.plugins["AllCallTimers"].showInjection(Z.id)
  ],
  style: Vencord.Plugins.plugins["RoleColorEverywhere"].getColorStyle(Z.id, W),
}
charred monolithBOT
charred monolithBOT
#

A plugin which uses my Song Spotlight API (originally for a Revenge plugin) to allow users to pin songs to their profile.

remarks:

  • CORS is a pain in the ass
    • i had to make the plugin desktop only w/ native.ts along with turning album cover art into data: URIs
    • i didnt wanna do the same thing with audio previews so I just added those to CSP, i could potentially figure out something else if needed
  • the css might be a bit messy ...
unkempt oak
#

what a fool this is never getting merged

charred monolithBOT
rigid harbor
charred monolithBOT
odd heath
#

i was wondering why the relationshipnotifier buttons werent working

#

good job discord

gritty iris
limber skiff
#

how come I dont have that

unkempt oak
limber skiff
#

I want warp+ for free

austere talon
hybrid blaze
#

lmao

gritty iris
brazen bone
#

I don't know what a warp+ is but anything advertised like that is a virus

errant nacelle
#

is that the cloudflare vpn

#

or something like that

hybrid blaze
charred monolithBOT
limber skiff
#

vtest dev2

nimble pendantBOT
limber skiff
#

thanks I guess Discord

nimble pendantBOT
nimble pendantBOT
gritty iris
#

I think v1 is gone

twilit vector
#

guuuulp

austere talon
gritty iris
#

it looks like they did but not fully

#

these still exist but I cant find the actual ui

#

I found it

austere talon
gritty iris
#

v1 is 1st v2 is second

#

360619 is v1

#

patch 2 doesnt apply tho

#

also startup timings wasnt ever moved ill just move it to pushing entries

limber skiff
#

seems like they just partially removed it

#

the diff doesn't have a lot of deleted stuff

gritty iris
#

im assuming they're getting ready for removal or smth

limber skiff
#

yeah prob

gritty iris
limber skiff
#

eh

gritty iris
#

I have a fix for platform indicators as well if you want me to pr

limber skiff
#

does anyone even use that

gritty iris
#

I do sometimes

#

I just want it to not patch and move the settings array to be able to push lol

gritty iris
#

oh wait I might be blind

#

this is gone

#

628965 has something to do with user_settings_modal_open tho

shut vineBOT
#

@fossil inlet, <t:1769485794:R>: make eslint rule for unused capture groups in finds

fossil inlet
#

soon

desert cosmos
#

never

charred monolithBOT
signal sundial
#

@fossil inlet satan

desert cosmos
#

@fossil inlet satan

twilit vector
#

@fossil inlet satan

weak thistle
#

@fossil inlet satan

charred monolithBOT
twilit vector
#

discord PLEASE

twilit vector
#

nvm works fine

charred monolithBOT
unkempt oak
#

vendroid

gritty iris
charred monolithBOT
charred monolithBOT
#

Summary

Adds a new plugin that allows users to switch between different GIF providers (Tenor, Giphy, Klipy) directly from the GIF picker UI.

Features

  • Provider Selector Dropdown: Injects a dropdown into the GIF picker header next to the search bar
  • Seamless Integration: Uses React component patching to wrap Discord's SearchBar component
  • API Interception: Patches fetch/XHR requests to modify the provider parameter in GIF search requests
  • Persistent Settings: Sel...
charred monolithBOT
twilit vector
#

bruh

gritty iris
#

so...

odd heath
#

Uuuh

odd heath
#

Is that 60 failed patches???

errant nacelle
#

discor seems to have upped the build target

odd heath
#

Well I can't help this time with fixes I'm without my laptop

#

Surely they'll revert that anyway

#

It's definitely a silly intern Clueless

austere talon
#

discord finally using modern build target

#

i cant believe it

#

incredible

hybrid blaze
#

wait discord completely changed their intl system?

austere talon
#

discord found out how to not target internet explorer 11

errant nacelle
#

iirc typescript 6.0 prerelease has deprecated the "es5" target, literally the oldest thing it still supported

austere talon
#

@limber skiff discord cooked

visual oyster
#

rip

austere talon
#

i hope they keep this

odd heath
#

Why did it break 60 patches tho

#

I don't get what they changed that is so influential

visual oyster
austere talon
#

it generates much more modern code now

odd heath
#

Ohh

gritty iris
#

so we dont get stupid random lines now prayingcar

limber skiff
#

what did they do

austere talon
#

just modern build target

limber skiff
#

oh god

odd heath
austere talon
#

it's fine

#

this is nice

#

i hope they keep

hybrid blaze
#

probably

limber skiff
#

It's probably easy to fix

#

the changes should be consistent

austere talon
#

yes

limber skiff
#

but it's still annoying to fix regardless

austere talon
#

we have a lot like this which is static class field compat shit

limber skiff
#

welp

#

yeah

#

wait

austere talon
#

this is "thing ".concat(var) which is now just `thing ${var}`

limber skiff
#

did they nuke the polyfil that was spammed across every module

austere talon
#

all these .concat is just ` string now

#

a lot of these should be easy to fix

limber skiff
#

I'm scared to open the diff

austere talon
#

it's fine

limber skiff
#

๐Ÿ˜‚

austere talon
#

but making our fixes stable compatible will be difficult

errant nacelle
limber skiff
#

not worth it

#

the code is too different now

austere talon
#

yes but that means we have to leave either canary or stable broken for a while

#

and extension users will cry

limber skiff
#

just

#

keep each old patch

#

and noWarn true

#

we can nuke them later

austere talon
#

true

limber skiff
#

this broke lol

unkempt oak
#

who cares if they complain they're using canary

austere talon
#

we want to have patches out before it hits stable

#

so most stable users wont even notice

unkempt oak
#

i mean you could try to time it around when stable gets the update

austere talon
#

no

fossil inlet
#

Are they finally using object spreads instead of that? Insane. Polyfill

#

I'll start fixing stuff later (in ~ an hour(

unkempt oak
#

oh is this lazy loading

austere talon
#

yes

#

n.e(49681) = require.ensureChunk(49681)
n(544676) = require(544676)

#

it's loading a bunch of chunks then requiring module 544676

unkempt oak
#

im so sad we cant use \i in finder strings

austere talon
#

the source code is

onContextMenu: e => openContextMenuLazy(e, async () => {
    const { default: Menu } = await import("./ContextMenu");
    return props => <Menu guild={p} {...props} />
})
unkempt oak
#

i relied on null!=x and now its changed to x?. so i cant find it

#

wait we can use regex for find?

austere talon
#

yes but avoid

unkempt oak
#

cant really think of anything else atm

#

discord kinda just copy pasted the entire module im looking for into a different module

fossil inlet
#

Someday they'll enable module concatenation trolley

unkempt oak
#

luckily most of the song spotlight patches still work

#

one of them i just slightly edited and it works both on the stable & canary versions

#

so yay

fossil inlet
unkempt oak
fossil inlet
#

oh hey

#

thats my plugin

unkempt oak
#

oh you made devcompanion

#

sick

#

i love the webpack previewer

fossil inlet
unkempt oak
fossil inlet
#

no like i thought everyone who used it knew i made it

#

idk how else you would find it in the first place

unkempt oak
#

it shows up above the official vencord companion i think lmao

#

i wanted to give it a shot and its so good

fossil inlet
#

ty

unkempt oak
#

i did not think that was a cat in your banner at first omg

fossil inlet
#

its not

#

its salad

hybrid blaze
#

its๐Ÿ‘†

fossil inlet
unkempt oak
#

i saw which is what lead me to realise regex finds exist

#

but i wanna see if i can figure out a way to find the module without using a regex find

fossil inlet
#

dont think you really can

#

you might find something at the top

#

guhhhhh

#

why does vesktop renderer always crash when loading lazy modules

#

so bad

#

?remind 3d webpack-ast-parser fix store display name parsing to handle static props

shut vineBOT
#

Alright @fossil inlet, in 3 days: webpack-ast-parser fix store display name parsing to handle static prosp

limber skiff
#

I think that's a find

#

vee suggested it to me some days ago

fossil inlet
limber skiff
#

I'm dumb it's a string

errant nacelle
#

It's no longer unique

unkempt oak
#

i'll check but i think thats matching the other themeType:POPOUT component

limber skiff
fossil inlet
#

this has the fix for all the error boundaries popping up everywhere

errant nacelle
#

there's ?.isProvisional??t.isProvisional somewhere

fossil inlet
#

crash on context menu

#

guhhhhh

errant nacelle
#

so ig .isProvisional?( is unique

limber skiff
#

right

unkempt oak
#

@fossil inlet i need a Vencord Companion: View module by ID command :hopeful

errant nacelle
#

the humble extract command:

unkempt oak
#

and also a maybe builtin module finder but i'd diagress

unkempt oak
#

why is there no prefix

#

๐Ÿ˜ญ

fossil inlet
unkempt oak
#

whaat thats so cool

unkempt oak
errant nacelle
#

dont forget to gitignore modules

#

satan loves breaking git in vscode

fossil inlet
unkempt oak
#

hop on git bartender

#

palm made it with his little fursona

#

@palmde

#

his little furry guy

fossil inlet
#

lazy git so good

#

also enable this

unkempt oak
#

oh yeah that

fossil inlet
unkempt oak
#

i wanted to try that

unkempt oak
fossil inlet
#

you get this funny button

unkempt oak
#

oooh

fossil inlet
#

(it says download modules but i already downloaded)

#

doesnt work on vesktop because electron crashes whenever i try it

#

idk

#

but works on discord desktop

unkempt oak
#

did these changes reach canary yet or no

fossil inlet
#

๐Ÿ˜ญ

unkempt oak
#

no im asking cuz i use development

fossil inlet
#

yes lol

unkempt oak
#

i havent seen anyone complain yet so

#

oh

limber skiff
limber skiff
#

any change hits canary first

#

of course they did ๐Ÿ˜ญ

unkempt oak
#

i love my black discord

limber skiff
unkempt oak
#

oh

fossil inlet
#

guhhhhhhhhhh @limber skiff have you looked into load lazy chunks being insanely slow after the last major explosion

limber skiff
#

nothing changed tbh

fossil inlet
#

just doesnt work on vesktop for me

limber skiff
#

it just takes 1 year to load all the language files

fossil inlet
#

time to use desktop

unkempt oak
#

i forgot

limber skiff
#

if you want

#

you can comment this out

unkempt oak
limber skiff
#

should make it much faster

fossil inlet
#

ty

limber skiff
#

๐Ÿค”

fossil inlet
#

spot the bug blobcatcozy

unkempt oak
#

discord devs are so good

fossil inlet
#

yop

#

never heard of typescript-plugin-css-modules

unkempt oak
#

you should make it fallback to extract module

#

i was so confused before

fossil inlet
#

open an issue

#

ill do it later

unkempt oak
fossil inlet
#

@limber skiff context menu api cooked

limber skiff
#

how so?

fossil inlet
#

syntax error to reference arugments here

limber skiff
#

I mean that's only one place

fossil inlet
#

its broken in any class component that renders a menu like that

#

at least 3

limber skiff
#

they were already cooked before

#

if it's on a renderPopout they were probably already just a function or something without access to the actual arguments we want

fossil inlet
#

loaded all chunks and it seems like it actually only 3

limber skiff
#

just need to swallow the error

#

(somehow)

fossil inlet
#

noWarn?

#

oh wait

#

thats already set

limber skiff
#

that would be a runtime error

fossil inlet
#

this is caught as a syntax error

limber skiff
#

syntax?

#

show the error

fossil inlet
#

noWarn doesn't catch syntax errors

#

only where the find failed to apply

limber skiff
#

weird ass error

#

leave it for now

fossil inlet
#

@austere talon this vesktop patch seems to be causing crashes (rending invalid react elements)

#

wait it might not be that

#

how the fuck did chat bar buttons get into the context menu api

#

oh

#

menu api find failed

charred monolithBOT
#

Change the GIF provider Discord uses in the GIF selector (choices: Discord default, Klipy, Tenor or Giphy).

Why?
Google is discontinuing Tenor's public API and only keeping it in Google products (of course ๐Ÿ™„). This means Discord's beloved GIF picker will slowly roll over to use other GIF providers, like Giphy and Klipy. Klipy is made by former Tenor employees and is amazing, but Giphy misses quite a lot of fun GIFs and doesn't feel as extensive as Tenor and Klipy. Since there is no wa...

chrome coral
#

theres been a lot of submissions for a picker for gif providers, a/b testing moment

surreal fiber
#

I got put on giphy and it's completely useless, at least klipy is decent

still maple
#

About the gif thing could one make something that allow to use all 2/3 at once ?

austere talon
#

why

#

klipy has most giphy and tenor gifs

#

they obviously just steal them

still maple
#

Do they ?

#

I really need to do a gif folder again

#

And then make a plugin to easily put gif from my folder