#👾-core-development

1 messages · Page 64 of 1

lime stone
#

you mean move the body?

quaint sapphire
#

no

lament nimbus
#

bio

quaint sapphire
#

move it where?

olive barn
#

ah

quaint sapphire
#

the moon?

#

sighs

lime stone
#

a bit to the left lol

lament nimbus
#

its another header above bio that says PRONOUNS

lime stone
#

that would be very hacky though

quaint sapphire
#

not what I said

lime stone
#

not sure if it'd work

lime stone
quaint sapphire
#

do you know what a css selector is?

lime stone
#

you add a class to the body

#

then...

lime stone
quaint sapphire
#

give me css for a panel

#

channel list for example

lime stone
#

do you mean css selector?

#

that'd be .guilds-weirdchars

fringe basalt
#

you can search for things like "idle", or breakpoint the presence update function/packet

lime stone
#

nvm, you said channel list

olive barn
#

turn this on, itll def help

lime stone
#

.sidebar-1tnWFu

#

won't stay the same between builds

olive barn
#

lemme try

quaint sapphire
#

[class*="base-"] > [class*="content-"] [class*="sidebar-"]

#

ok?

lime stone
#

not efficient

#

i wanted to avoid that

#

hence adding a custom class

quaint sapphire
#

now, if you make it

body.collapseSideBar [class*="base-"] > [class*="content-"] [class*="sidebar-"]

you can toggle it by adding/removing the class to the body

lime stone
#

wait, maybe it's not too bad here idk

quaint sapphire
#

whatever you do, is not what im talking about

#

jesus

lime stone
#

that was my solution to possible performance issues

charred monolithBOT
lime stone
#

not your solution

quaint sapphire
#

I am not commenting or offering an alternative to adding a custom class to a component

#

I am only suggesting a clever way of controlling when the component is collapsed or not

lime stone
#

that's what i was doing though pretty much

austere talon
#

yeppers

lime stone
#

just not with the [class*=] selectors

#

the only difference is the additional selectors beside body.whatever

quaint sapphire
#

ok then, but thats not what you said before by asking "if it was ugly or not"

lime stone
#

it is

austere talon
#

yuppp

quaint sapphire
#

I'm out, if you want to keep lying then do so

austere talon
#

it was surprisingly easy to setup

lime stone
austere talon
#

this is experiment

#

not actually the experiment, it's just that the pronoundb plugin hijacks discord's components

quaint sapphire
lime stone
#

it is technically enabling the experiment to some degree i'm pretty sure

olive barn
#

yeah, i was saying that with pronoundb disabled and the experiment enabled it didnt show

lime stone
#

i'm confused, sorry

quaint sapphire
# quaint sapphire

you are replying as if I am talking about adding a custom class to discord components through patches

#

I did not talk about that

lime stone
#

that's partially what i did

austere talon
#

they're technically possible if both repos are pushed to at the same time

quaint sapphire
#

that was not the topic of my conversation

#

I only talked about the body element

austere talon
quaint sapphire
#

for toggling ur selectors on/off

austere talon
#

but yeah sync takes less than a minute

lime stone
#

ye which was the key part of my strategy and what i was asking whether was dirty or not

lament nimbus
#

forgefed whentm

austere talon
#

like

quaint sapphire
#

nothing to do with what the selectors actually use, just prepending the body.className was my discussion

austere talon
#

see how fast this is

charred monolithBOT
olive barn
#

its like 15s from codeberg > github, 45s from github > codeberg

lime stone
#

wait lemme read again

austere talon
#

not even 5 seconds

olive barn
#

oh shit even faster lmao

#

aw i forgot to skip ci

#

useless update time ‼️

austere talon
#

nuh uh

#

it doesnt

olive barn
#

oh huh

lime stone
#

okay :P

charred monolithBOT
lime stone
#

i should've asked a different question

#

is it dirty to toggle classes on the body to determine the style of an element nested within?

#

but that sounded exactly what you were suggesting which lead to the confusion

austere talon
#

dont put classes on the body

olive aurora
#

message logger does that

austere talon
#

that causes lag on discord because yes

olive aurora
#

or used to

lime stone
#

okey

#

i guess i could find a way to grab the component then!

#

yayy

austere talon
#

because Discord™️

lime stone
#

i'd rather not select the element with getElementsByClassName

#

or querySelector

lime stone
#

hmm, maybe there is a neater way than i was doing it

austere talon
#

what exactly are u trying to do

lime stone
#

a toggle for displaying servers

austere talon
#

querySelector seems like the right thing there

lime stone
#

i was doing a pretty dirty thing with ??= to get it

austere talon
#

or you could patch the server list and add a state

#

const [isShown, setIsShown] = useState(true);
toggleShowGuilds = () => setIsShown(x => !x)

lime stone
#

i can probably put it in start :p

austere talon
#

then make the setter for that a global variable in ur plugin

#

and use it from the button

lime stone
#

oh i considered that

#

i also wanted to make it auto-reveal

austere talon
#

that's the cleanest way imo

lime stone
#

yeah, ty!

#

@quaint sapphire sorry if i was missing anything which was making it frustrating to discuss this, i promise i wasn't lying :3

charred monolithBOT
lime stone
#

are codeberg commit webhook messages disabled?

austere talon
#

yes

#

why would they be enabled :P

#

then we'd get duplicate messages

lime stone
#

i thought it'd make more sense to disable github because codeberg good

fleet depot
#

Had no idea you could do that

#

Also wasn't sure how to make a function for some of the stuff

#

I shall get on that

austere talon
#

yes you can, but i actually deleted that comment because you can't use the method for other reasons

fleet depot
#

I'll have to check it out better after lunch

austere talon
#

it's actually very shrimple

#

the plugin takes a shiftPressed boolean which changes whether user is pinged or not based on setting and obviously that doesn't make sense in the context of quick reply

fleet depot
olive barn
#
interaction: {
  id: string;
  name: string;
  type: number;
  user: User;
}[] | undefined;```
#

is that defined right? it should just be one, not an array of them

charred monolithBOT
austere talon
#

whar

#

oh

olive barn
#

it should just be an object

austere talon
#

yeah it's flag

stark flint
#

it's me

lime stone
#

well it kind of works

#

apart from pings

#

wait i should be using display because i removed the animation

#

nvm, i still want an animation when it appears from moving the cursor

#

i also need scrolling to be able to work in this state

#

i.e. this

fleet depot
#

Collapsible server sidebar?

lime stone
#

ye

fleet depot
#

Noice

lime stone
#

the original is kind of laggy because it changes the layout when you hover

#

oh fixed

#

just needed to set the height

#

i feel like themes may not work well with this..

fleet depot
#

It'll be Fine

lime stone
#

she said

#

i managed to make it auto-show using only css xD

fleet depot
#

nice :D

lime stone
#

it's kind of bad though

#

i wonder if you can change the position of an element in css visually

charred monolithBOT
lime stone
# lime stone it's kind of bad though
function useReveal(beginThreshold: number, endThreshold: number) {
    const [revealed, setRevealed] = useState(false);
    useEffect(() => {
        const mouseEvent = (event: MouseEvent) => setRevealed(event.x <= (revealed ? endThreshold : beginThreshold));
        document.addEventListener("mousemove", mouseEvent);
        return () => document.removeEventListener("mousemove", mouseEvent);
    });
    return revealed;
}

i created this... interesting hook

#

ooh

olive aurora
lime stone
#

every time you press the button discord crashes but it still works

#

oh well, not a big issue 🤷‍♀️

#

lol

charred monolithBOT
lime stone
#

oopsie

#

conditional hook

lime stone
#

i just want to move the sidebar visually without it changing the bounding box

fleet depot
lime stone
#

yep

olive aurora
#

ah, you can try position: relative

lime stone
#

that changes the bounding box

#

i'm pretty sure

#

otherwise that would mess up a lot of stuff

olive aurora
#

only absolute and fixed do

lime stone
#

imagine if there was a button

#

i'd want the button to appear in a different place but be clickable in the place it would be otherwise

olive aurora
#

isnt this what you're talking about

fleet depot
lime stone
#

ye but the :hover selector etc will apply as though it's in the position it appears

lime stone
#

wait let me do a simplescreenrecorder tm (r)

fleet depot
#

,i use snipping tool

#

for all my screen recording purposes nowadays

olive aurora
#

oh i see what you mean

lime stone
#

sounds windowsy

#

i'm on linux

olive aurora
#

yeah idk

lime stone
#

oh, snipping tool

fleet depot
#

oh it tis

lime stone
#

yep that's a windows thing!

#

can't record though?

fleet depot
fleet depot
#

which surprised me

lime stone
#

oh, that's pretty nice!

#

could it in windows 7?

fleet depot
#

for linux

fleet depot
#

ven pointed out it can do screen recording to me back in april

lime stone
#

i don't remember there being an option

olive aurora
#

kde bloat

lime stone
#

i like using the gnome screen recorder but i'm on lxde now

fleet depot
olive aurora
#

peek?

lime stone
#

because my pc doesn't have enough ram to be useable otherwise xD

charred monolithBOT
fleet depot
#

i think spectacle is well liked here

lime stone
#

kde's visual effects are too much for me so i don't use that...
(unrelated though)

#

hmm

olive aurora
#

peek works on any wm

fleet depot
lime stone
#

i'll just do simplescreenrecorder

fleet depot
lime stone
#

just not very compressed

#

the dedicated sidebar seems to have... performance issues

#

also it's not being picked up by my plugin :(

limber skiff
#

the betterserverfolders sidebar?

lime stone
#

ye

limber skiff
#

I know it uses own discord component

#

so if you patch that one it should affect both

limber skiff
#

maybe you are patching the parent one or something

lime stone
#

i can't reload discord because it's recording my screen with Ctrl+R lmao

limber skiff
fleet depot
# fleet depot it does :C

i realized that when making the "close all folders when opening a server" seems to be on discord's end that it's laggy as hell and it wasn't my code

lime stone
#

the dedicated folders option doesn't prompt a reload for some reason

fleet depot
#

cuz the keybind works great

fleet depot
#

i wasn't sure if it was intentional or not

lime stone
#

i guess the component doesn't re-render

#

or something

fleet depot
#

probably could tweak the setting

#

onChangePromptRestart = true

#

maybe

lime stone
#

i think it's probably using a higher level component

#

hmm

olive aurora
#

who needs screen recording tools tbh when you can ffmpeg -f x11grab -select_region 1 -i :0 out.mp4

lime stone
#

thx

#

lol

#

i need it to be a reasonable size not only because no nitro but also slow upload speed :p

fleet depot
#

use ezgif

#

compress the hell out of it

olive aurora
#

you need to upload it to ezgif first

lime stone
#

(my isp is literally shutting down lol, idk if i said it on this server)

fleet depot
limber skiff
#

wtf

#

change to another lol

lime stone
#

xD

#

anyway how do you stop this recording?

#

llol

#

llmao

#

llamao

limber skiff
#

llol

olive aurora
#

ctrl+c

#

it only stops recording when u kill it lol

lime stone
#

woah

#

that's a nice command! thx

#

how it looks so far ✨

fleet depot
#

looks really nice!

#

you been cookin'

limber skiff
#

lmao discord looks so weird without servers

lime stone
#

xD

#

i think it's cleaner

fleet depot
#

i agree

#

i get around with ctrl+k anyway

#

they're just for decoration mostly lol

lime stone
#

i think the animation looks better than in the betterdiscord plugin

#

better betterdiscord plugin yes

#

the bd plugin unfortunately had some usability issues

#

specifically if you hid the channel and servers sidebar

#

this will have issues with horizontal server list :(

#

as well as translucence

#

and other themes with a lot of padding

fleet depot
#

now i gotta use my brain again <- i failed at this

#

y doesn't it work the same huh

fleet depot
#

from the recording you sent

#

and that's what matters to me :)

#

const { enabled, userList, shouldPingListed } = Settings.plugins.NoReplyMention;
had no idea you could unpack like that

#

very handy

lime stone
#

oh ye

fleet depot
#

java can't, python can

#

guess js can too

lime stone
#

but you should be using const settings = definePluginSettings

lime stone
#

or at least will be able to

fleet depot
#

i see

#

probs

fleet depot
#

ill change it tho

lime stone
#

blame ven

fleet depot
#

sorry i keep pinging btw

#

i don't mean to

lime stone
#

that's the old method!

fleet depot
#

you're my test dummy rn

lime stone
#

i'm only in this channel rn lol

olive aurora
#

isn't python destructing only for iterables

fleet depot
#

no you can destruct objects too

#

or i mean tuple objects

olive aurora
#

yes that's an iterable

fleet depot
#

oh fair

royal bane
#

i destructed my next door neighbour

fleet depot
lime stone
#

thats mean

olive aurora
#

basically js' [a, b] = arr

fleet depot
#

"The packed values are strings, lists, tuples, sets, and dictionaries"

#

so ye? all iterables

#

TypeError: cannot unpack non-iterable NoneType object

olive aurora
#

yop

fleet depot
#

wait yeah

#

linter does say nop

#

do i have to do const settings

#

and then unpack from settings?

#

or no

olive aurora
#

it's a func

fleet depot
#

i see

olive aurora
#

look at how plugins use it it's similar to the old api

fleet depot
#

toad was advising "definePluginSettings" cuz she thought i was grabbing those settings from the file i was working on

#

but i think in this case i have to use "Settings.plugins.NoReplyMention; " cuz they're from settings from a different plugin

lime stone
#

still a crime

olive aurora
#

ah then yeah u do that

fleet depot
#

cuz "Settings.plugins.NoReplyMention; " is what quickReply was using before

#

yeah

#

okay ven right as usual

lime stone
#

ven is always right though

fleet depot
#

you sounded so confident i should use definePluginSettings lmao im dumb

#

works

charred monolithBOT
fleet depot
# charred monolith

so i was using capital PluginSettings to match the VencordToolbox and QuickReply for example as plugin names aren't camelCase

austere talon
#

titles should be Capitalised

#

normal variables camelCase

#

:P

fleet depot
#

but what if the titles were being used as variables tho

austere talon
#

then they aint titlesd

fleet depot
#

true... i swaer it made sense at the time

#

no matter now

#

@austere talon should i put the genericmodal in the vencord toolbox.tsx or in modals.tsx.

#

cuz on one hand it's mainly for vencord toolbox
but on the other... ill have to import all the modal stuff into vencord toolbox to use it

#

and also have to import the generic modal into updatertab and logs for them to use it

austere talon
#

no

#

i mean

#

make the updater body generic

#

and use it both in the updater and the modal

fleet depot
#

oop

fleet depot
#

ven giving me permission to change the updater modal seems dangerous

supple turtle
#

the cloud feature is on even when disabled

#

why

austere talon
#

?

#

its not

charred monolithBOT
fleet depot
#

never heard of search in their life

#

oh lmao

limber skiff
#

bro.

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
austere talon
fleet depot
#

LMAO

#

i just noticed it was gone not that he deleted his account

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
fleet depot
#

@quasi delta i figured out why vencord won't patch

#

it's cuz i replaced Object.values(Vencord.Plugins.plugins) with a variable

#

but im not sure why that makes venocrd 💢

#

oh sorry

#

wrong ping

#

@woeful sable

woeful sable
#

@austere talon idk if you saw this

#

ooh

#

amazing

fleet depot
#

yeah im not sure what's up

#

but it is on my end at least

fleet depot
#

nyboom

#

hm that wasn't it

#

h

woeful sable
#

o nyo..

charred monolithBOT
cunning canyon
#

amogus

proven sierra
#

amgu

olive barn
#

amgos

charred monolithBOT
fleet depot
#
function settingsSwitch(switchName: string, key: string, note: string, disabled = false) {
    return (
        <Switch
            value={settings.store[key]}
            onChange={(v: boolean) => settings.store[key] = v}
            disabled={disabled}
            note={note}
        >
            {switchName}
        </Switch>
    );
}

const settings = definePluginSettings({
    // for enabling and disabling Vencord-wide quick actions
    relaunchDiscord: {
        type: OptionType.COMPONENT,
        description: "Relaunch Discord",
        default: true,
        component: () =>
            settingsSwitch("Relaunch Discord", "RelaunchDiscord", "Quit and restart discord from toolbox", IS_WEB)
    },
    notifs: {
        type: OptionType.COMPONENT,
        description: "Open Notification Log",
        default: true,
        component: () =>
            settingsSwitch("Notification Log", "Notifications", "Quit and restart discord from toolbox")
    },
#

before i do the rest of these

#

is this what you meant

#

or is there an even better way

#

@austere talon ping?

austere talon
#

you can take it one step further

fleet depot
#

i can?!

austere talon
#
const settings = definePluginSettings({
    relaunchDiscord: makeOption()
})```
fleet depot
#

oo

#

ty

fleet depot
#

thank GOD

#

discord restart messages are not happy birthday messages anymore

#

i was gonna go crazy i swer

inland fable
#

@crude hearth @crude hearth my sister told me she switched to her account on my pc and tried using the reviews thing but it sent review with my account instead, letting you know maybe you wanna add support for account switching

fleet depot
# austere talon then they aint titlesd

i found the exact code to explain

for (const [settingsName, enabled] of Object.entries(settings.store)) {
    if (enabled) {
        pluginEnabledEntries.push(settingsName);
    }
}

BadgeAPI and DevCompanion have to be TitleCase because i push their name into the list used later to add to the toolbox so they gotta match with their respective plugins' names

fleet depot
#

but changed the rest to be properly camel case now ✅

#

adding this line breaks vencord

#

i didn't even do anything else

#

amazing

#

oh it just absolutely DESPISED being global

#

understandable i suppose

woeful sable
#

bombs

#

id hate being global too

fleet depot
#

ikr

charred monolithBOT
quaint sapphire
fleet depot
#

if i moved it into the function call is that legal

#

it doesn't crash anymore

#

so probably?

quaint sapphire
#

it can still be a global, you can use makeLazy

#

const getAllPlugins = makeLazy(() => Object.values(Vencord.Plugins.plugins))

#

and just getAllPlugins() whenever you want to use it

#

since it is lazy, it will only compute the value once

fleet depot
#

what would you advise

#

doing makeLazy or putting it in the function call

#

so far only that function needs it

quaint sapphire
#

well, having it in the function call means it will be recomputed multiple times
or you would have to use a global that gets updated from within the function, but at that point, the makeLazy approach is better

fleet depot
#

okie!

quaint sapphire
#
let allPlugins: PluginDef[] | null = null;

const smth = () => {
    if (allPlugins === null) allPlugins = Object.values(Vencord.Plugins.plugins);

    // do smth with allPlugins
}

vs

const getAllPlugins = makeLazy(() => Object.values(Vencord.Plugins.plugins));

const smth = () => {
    const allPlugins = getAllPlugins();
    // do smth with allPlugins
}

imo the latter is cleaner

fleet depot
#

more information is probably necessary but ven highlighted this part of my code:

function VencordPopout({ onClose }: { onClose: () => void; }) {
    const ps = settings.use(["includedPlugins"] as any) as unknown as { includedPlugins: string[]; }; // keeps track of added plugin settings entries
...
}

and said "what in the world is this mess"

is there anything that jumps out that i could do to make it less messy? I was pretty much just copying this bit of code

function GreetMenu({ stickers, channel, message }: { stickers: Sticker[], message: Message, channel: Channel; }) {
    const s = settings.use(["greetMode", "multiGreetChoices"] as any) as { greetMode: GreetMode, multiGreetChoices: string[]; };
...
}

from welcomesticker picker.

i was wondering if anything egregious stood out to you?

#

prob the "unknown" as?

#

hm

quaint sapphire
#

uhh

#

first of all I'd extract the types to a types.ts file

crude hearth
#

Uhhh

#

I dont know about adding multi acc support tbh

quaint sapphire
supple turtle
# austere talon its not

it was for me, there were multiple network requests and log messages, but it was disabled already

quaint sapphire
#

in ur case instead of Vencdord.Plugins.plugins[settings.pluginName] you would do settings.store

fleet depot
#

well in this im making a new string[] to save all the plugins i want to add to my toolbox

#

but it doesn't exist in settings.store because im not sure why it would

quaint sapphire
#

you do settings.use...

fleet depot
#

the only way to add and remove plugins is from this dropdown menu

#

yea...

quaint sapphire
#

why would it exist in settings.use and not settings.store?

fleet depot
#

im not sure

#

welcomestickerpicker does it

#

it somehow adds them to the settings store in that function

quaint sapphire
#

does settings.use use the default value when missing?

fleet depot
#

without them needing to be in settings.store

#

it must?

#

yeah

#

cuz const { greetMode, multiGreetChoices = [] } = s;

#

so i think so

#

im kinda just looking at what ven did and trying to figure out why mine is different...
i'm just not sure what part of the code is "a mess" ig

#

it feels more important than just the as unknown

#

but no idea

#

maybe only ven can answer

quaint sapphire
#

settings.use does not appear to give different data from settings.store

#

looked at the code

fleet depot
#

so this is settings

const settings = definePluginSettings({
    greetMode: {
        type: OptionType.SELECT,
        options: [
            { label: "Greet (you can only greet 3 times)", value: GreetMode.Greet, default: true },
            { label: "Normal Message (you can greet spam)", value: GreetMode.NormalMessage }
        ],
        description: "Choose the greet mode"
    }
});

right
but then later
const s = settings.use(["multiGreetChoices"] as any) as { greetMode: GreetMode, multiGreetChoices: string[]; };

#

where is "multiGreetchoices" coming from???

quaint sapphire
#

settings.use(["multiGreetChoices"]).multiGreetChoices is the same as settings.store.multiGreetChoices

the only difference is that the first is stateful, and is updated when the settings are changed, and the latter is not stateful

quaint sapphire
#

or do settings.use() to have them reactive

fleet depot
quaint sapphire
#

actually, what is settings in your context?

fleet depot
#

same as welcomestickerpicker

#

all the things that can be added to toolbox that aren't plugins

#

p much

#

so just

quaint sapphire
fleet depot
#

PluginDefs

fleet depot
#

otherwise doesn't update right

quaint sapphire
#

can the user modify the settings w/o opening the settings page?

fleet depot
#

the user is able to modify the plugin without opening the settings page...

#

does that... is that the same thing?

#

wait lemme

quaint sapphire
#

why are you asking me

fleet depot
#

ill just record myself

fleet depot
quaint sapphire
fleet depot
#

it's not opening vencordtoolbox settings plugin modal

#

but it is changing the plugin

quaint sapphire
#

well, either way .use is better, since .store w/o having it wrapped in a memo is bad

fleet depot
#

aighty

fleet depot
# quaint sapphire `settings.use(["multiGreetChoices"]).multiGreetChoices` is the same as `settings...

so i want it to be stateful, checks out
im just confused...
const s = settings.use(["multiGreetChoices"] as any) as { greetMode: GreetMode, multiGreetChoices: string[]; };
and somehow when const s is being defined, multiGreetChoices hasn't been defined yet, yet doesn't need to be as unknowned the way that when i do the same thing for

this code:
const ps = settings.use(["includedPlugins"] as any) as { includedPlugins: string[]; }; it yells at me that includedPlugins has to be changed to be as unknown

#

and it's like... i just would think the only way for the former to work is that multiGreetChoices should have been defined in settings already as string[]... but it hasn't

quaint sapphire
#

just slap a // @ts-expect-error SHUT THE FUCK UP

#

and get on with it

charred monolithBOT
fleet depot
#

lol

#

i feel like ven would not merge my PR with that solution

#

however

#

quite tempting

quaint sapphire
fleet depot
#

vee 💢

#

okay from what im understanding greetMode: GreetMode gets checked in settings and typescript is a-okay with it. and then multiGreetChoicesis an excess property and just... allows it?

quaint sapphire
#

that's how js works

#

{}.hi is undefined

#

but not an error

fleet depot
daring zinc
#

I was trying to create a custom discord rpc for my app, I wanted to use "Listening" instead of "Playing" but discord wont listen to type field, But somehow Vencord CustomRPC does this, how is it done, I saw LOCAL_ACTIVITY_UPDATE in source code but it is not mentioned in docs.
it is some kind of client side modification that is being done

cunning canyon
#

it is only possible in client mod

daring zinc
#

is there any issue to do this kind of modification as it is shown to everyone which means this data is sent to dsicord's server

lime stone
#

working as intended 🎉

#

it'd be nice if i could move both sidebars as though they are one component

austere talon
#

you can use definePluginSettings().withInternalTypes()

charred monolithBOT
quaint sapphire
# lime stone :p

ah yes, using ffmpeg to record ur screen, a cultured person I see

lime stone
charred monolithBOT
olive aurora
#

EXPLODE

lime stone
#

wait vencord is using branches properly now??

#

i only just noticed

#

dev branch :p

austere talon
#
  • wdym properly
lime stone
#

oh, i thought main would now act as a more stable branch

#

i guess it's subjective which branches you should use

#

i wasn't being very serious though lol

lime stone
#

hmm, i'm wondering how rpc could be implemented in vencord desktop

#

maybe it could automatically start arRPC

#

that would improve the ux/ease of setup of the existing plugin

charred monolithBOT
olive barn
#

discord users when css

verbal pumice
#

wait you can just css it?????

charred monolithBOT
pulsar steppe
#

vban @swift fjord

nimble pendantBOT
swift fjord
#

im not allowed to star ANYTHING

pulsar steppe
#

nop

woeful sable
#

yop

cold patio
olive barn
#

oh fuck lmao

#

whoops

#

ill fix that

jagged cloak
#

whar

charred monolithBOT
olive barn
#

it was trying to sync a fork to codeberg

#

god damnit editorconfig fucked up the spacing, dont merge that

austere talon
#

why did u edit the .editorconfig? @olive barn

#

it has a formatter i think

olive barn
#

i have that installed

austere talon
#

r u sure

olive barn
#

editorconfig messes with it im p sure

#

yeah, i use it on other projects

austere talon
#

entire file

#

the workflows are just not properly formatted i think

olive barn
#

yeah

austere talon
#

its fine just leave it like it was

#

the editorconfig i mean

olive barn
#

oki

austere talon
#

the formatting changes are whatever

olive barn
#

it formatted everything when saved, should i just let it

austere talon
#

yes

olive barn
#

alr

austere talon
#

but remove the editorconfig settings

#

i can just format all workflow files if u want

#

so it's not noise in ur pr

austere talon
#

u can just rebase

#

/ merge

olive barn
#

alr

#

also it looks like it formats to what github wants with ```
[.github/workflows/*.yml]
indent_size = 2

austere talon
#

wdym what github wajnts

olive barn
#

like with editorconfig extension disabled, using the gh actions formatter it formats the same

austere talon
#

ye but 4 is better

olive barn
#

oki

austere talon
charred monolithBOT
austere talon
#

i just did git p git@github.com:Vendicated/Vencord main

woeful sable
#

incredible

austere talon
#

[skip ci] ci:

#

cursed

olive barn
#

alr

austere talon
#

im not sure i like that pr anyway

#

i think people should just not use the main branch

#

but the codeberg mirror definitely yeah

olive barn
#

?

obsidian flame
#

sorry guys i forgot to copy the screenshare branch

charred monolithBOT
#

Discord Account

ItzSkyyy#8537

What happens when the bug or crash occurs?

Out of nowhere my theme just stops loading I checked their repository it hasn't been updated so I just assumed it came from Vencord I've tried another theme and that didn't work.

Themes Used

1st Normal Theme was: Clearvision

then for a test i tried to use: DarkMatter

neither worked.

What is the expected behaviour?

I expected it to normally load. as it ussualy does with the theme working.usual...

jagged cloak
#

themes not lo

woeful sable
#

themes not lo

olive aurora
#

title not lo

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'rde' before initialization ReferenceError: Cannot access 'rde' before initialization
    at Module.default (WebpackModule371219:2:50)
    at VencordWeb:12:719
    at VencordWeb:5:9014
    at [vencord.lazy.get] (VencordWeb:5:7377)
    at jr.<computed> [as get] (VencordWeb:5:7788)
    at Object.handleProtoChange (VencordWeb:33:23399)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://canary.discord.com/assets/ce550d659964fe2402b2.js:9656:324
    at https://canary.discord.com/assets/ce550d659964fe2402b2.js:9646:299
    at n (https://canary.discord.com/assets/ce550d659964fe2402b2.js:9656:301) ```
charred monolithBOT
topaz widget
#

Ven fix

quaint sapphire
#

fix what?

#

@topaz widget

#

@high oracle no you did not, my mom is written in COBOL

high oracle
#

false

quaint sapphire
#

what do you know magic man?

charred monolithBOT
charred monolithBOT
crude hearth
# quaint sapphire fix what?

%c[GatewaySocket]
font-weight: bold;
color: purple;
resetSocketOnError Cannot access 'rde' before initialization ReferenceError: Cannot access 'rde' before initialization
at Module.default (WebpackModule371219:2:50)
at VencordWeb:12:719
at VencordWeb:5:9014
at [vencord.lazy.get] (VencordWeb:5:7377)
at jr.<computed> [as get] (VencordWeb:5:7788)
at Object.handleProtoChange (VencordWeb3323399)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/ce550d659964fe2402b2.js:9656:324
at https://canary.discord.com/assets/ce550d659964fe2402b2.js:9646:299
at n (https://canary.discord.com/assets/ce550d659964fe2402b2.js:9656:301)

crude hearth
quaint sapphire
#

ofc I already saw that error, but its not most likely not a vencord issue

#

the CI loads all the webpack modules

#

that looks like the cause

charred monolithBOT
charred monolithBOT
woeful sable
crude hearth
woeful sable
crude hearth
#

dziruwa leak source code when

charred monolithBOT
charred monolithBOT
jagged cloak
#

the modal with z index 10001:

charred monolithBOT
charred monolithBOT
jagged cloak
#

read docs ig

#

or look other plugins shiddohwell

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
jagged cloak
#

k

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
olive aurora
#

i love [object%20Object]

#

best endpoint

charred monolithBOT
agile sphinx
#

yo anychance of a flatpak?

quick ibex
#

no

agile sphinx
lime stone
#

not closed

agile sphinx
lime stone
#

yes i'd actually really like this

#

pretty sure samu doesn't have any authority over the project, idk what they meant

agile sphinx
lime stone
#

i don't think they're in the org

agile sphinx
lime stone
#

maybe they didn't realise you were talking about desktop

agile sphinx
charred monolithBOT
plucky plume
#

Ok

charred monolithBOT
crude hearth
#

someone will merge blobcatcozy

#

ven still seems to be dead

pine topaz
fleet depot
limber skiff
#

@cunning canyon @crude hearth you guys could have done the fixes in the same pr 😢

#

@crude hearth why

crude hearth
#

which prints ugly stuff on banned modal

limber skiff
#

oh you use it later

#

mb

quick ibex
#

because people have asked for vencord in aur

#

plus, ven has said that he isnt going to maintain stuff like aur or flatpak versions of the installer, but if others feel inclined to do so

#

Buuuut I am not sure why you would decide to use aur or flatpak versions of the installer over the one liner command

#

I forgot to add this context, didnt want to reply just no but my discord crashed ^^

#

For example, aur repo

quaint sapphire
#

It is what makes Arch great

#

Ig the official package repos could be the first place some users look at

#

But tbh who cares?
AUR helpers can use pacman to install from the official repos

#
yay -S mpv

I don't have to think if it is from the official repos or the AUR

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
charred monolithBOT
jagged cloak
#

i shouldknt have trolled but that request is so silly

woeful sable
#

no i think its fair

jagged cloak
#

i diodnt even read the part where they mentioned a non existant plugins folder

woeful sable
#

when ppl clearly dont read and have no reading comprehension i think its fair to Troll

#

but maybe thats just me

#

also thanks github

charred monolithBOT
lime stone
#

nom

#

of course, somebody needs to maintain it

cunning bobcat
quaint sapphire
charred monolithBOT
#

Discord Account

0x150#9699

What happens when the bug or crash occurs?

Uploading a file ending in ".tar.[gx]z" results in the filename being scrambled to "(random file name).[gx]z", nuking the .tar extension part.

What is the expected behaviour?

The plugin should recognize the ".tar.[gx]z" suffix, and include it as one extension

How do you recreate this bug or crash?

  1. Upload a file called "test.tar.gz"
  2. Observe, the file name is changed to "(randomized).gz"

E...

charred monolithBOT
#

The server only checks for premium and not boosts, means sounds from the same server can be played no matter the boost level of the server, so it'd be cool to see sound unlocking (setting available flag to true) as a feature of FakeNitro.

This is not about sounds from other servers (this is not possible), but rather about sounds locked behind the server boost level.

woeful sable
#

it doesnt work anyway

pallid lava
#

eta on when channeltabs will be merged?

jagged cloak
#

when people stop asking

charred monolithBOT
charred monolithBOT
lime stone
#

the classic trick which always works! (i think)

#

(how do you react??)

jagged cloak
#

idk lol

fleet depot
#

It's p close to channel tabs

limber skiff
#

|| aaa ||

charred monolithBOT
stray forum
#

am i able to suggset something :)

#

anyway its a thing similar to the media zoom plugin, but it allows you to zoom into a stream you are watching

#

imagezoom by Aria

quaint sapphire
stray forum
#

where would i suggset

quaint sapphire
#

Nowhere on this server tbh
Make a GitHub issue or discussion

stray forum
#

ok ty

#

id make it myself but my js knowledge is nonexistant

quaint sapphire
#

Ya I get it, but this channel is for those that code shit

#

Not for those that request shit

#

Kinda different

#

A GitHub issue/discussion helps keep ur requests organized in one place, and people that agree with you can upvote ur discussion (if you make a discussion)

charred monolithBOT
stray forum
#

👍

#

ty

quaint sapphire
#

You could attach a link of imagezoom by aria, not many people would be willing to look it up

#

Anyways, gn

pallid lava
#

eh ill stop asking and simply wait

charred monolithBOT
fleet depot
#

PR status

#

Not sure what it's waiting on now prob ven

pallid lava
#

lol

#

it got reviewed successfully iirc

charred monolithBOT
#

I'd very much like this feature, I use it on Aliucord and having it on Desktop would be very helpful. The implementation there is setting a timezone inside the about me that can be set on the client side, if you open the about me it shows their timezone.

Any implementation would be best honestly, just this feature would be very convenient at least for my use case.

charred monolithBOT
jagged cloak
#

@crude hearth port right now

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
lime stone
#

another use is when somebody's dming you while you're trying to do something else lol

charred monolithBOT
lime stone
#

they forked the wrong repo :pineapple:

charred monolithBOT
#

Can't a fake nitro plugin completely bypass all of this by just... playing a sound directly over your mic? It wouldn't work when muted or play animations like real soundboard sounds would, but otherwise it seems like that would work just fine. This would even allow custom client side sounds similar to how some fake nitro plugins on BD and such let you have your own custom emojis that don't come from any server but you can give them an alias anyway

#

I would like a plugin that basically just a plugin that adds a menu similar to the soundboard menu that allows you to apply audio effects to your mic

Yeah there is already software specifically for this but it would be cool to have it entirely in discord this no other installs

Not actually sure if this is possible though since idk how plugins work and I'm fairly certain that vc audio is sent over WebRTC and I have no idea if plugins would be able to intercept the audio being sent like that

charred monolithBOT
quaint sapphire
#

The only reason we don't have soundboard in fake nitro is bc nobody really made a PR for it

sacred plover
#

should I make an issue about this? I think the online counter should be moved below favorites, like the line is in vanilla discord

#

I could probably make the fix and pull myself, but I can't bother to right now :/

quaint sapphire
#

and why is that?

#

semantically it doesn't not make sense to move it below the favourites

#

aesthetically it is debatable

quaint sapphire
#

although, I just noticed that you can favourite DMs, which makes this a weird situation

#

@austere talon what will happen with the pinDMs plugin?
from what I see, it ain't really that useful anymore since you can favourite a DM, and it syncs with ur phone since it is an official discord feature

#

personally I prefer pinDMs, since it meants my pinned DMs are not in the same place with my favourite channels

#

maybe instead integrate with the favourite DMs feature, to show the favourite DMs as pinned in the DM view?

#

and just remove them from the favourites server

nocturne haven
#

Ven released pindms long time after favorites were a thing

quaint sapphire
#

oh

#

well, could you favourite a DM back then?

cunning bobcat
#

pretty sure

#

i've had a specific GC favourited for a long time

#

and a DM with a deleted user

quaint sapphire
#

well, I didn't really suggest to delete the plugin, but integrate it with the favourites stuff, so my message kinda still stands

nocturne haven
#

I would just leave it as-it-is

charred monolithBOT
pine vale
#

can i have a css file of a plugin anyhow?

#

mods?

dapper crest
quaint sapphire
#

We are not mind readers, and what you asked for is not that specific.

So either provide more info on what you want to achieve, or wait for someone that might be able to guess your intentions.

charred monolithBOT
#

Discord Account

Lumap#0001

What happens when the bug or crash occurs?

When a member has an animated server avatar, right-clicking on their profile and clicking server avatar only shows the webp version of their avatar instead of the GIF one

What is the expected behaviour?

a GIF avatar is shown instead

How do you recreate this bug or crash?

  1. Have a member with an animated server avatar
  2. Right click -> View server avatar

Errors

No response

Request Agreem...

fiery jungle
crude hearth
#

you will merge all of my prs

#

timezonedb pr

fiery jungle
#

ven dead

crude hearth
#

timezones pr will never get merged

#

1 year anniversy coming

fiery jungle
#

what's even holding it back

#

don't understand

crude hearth
#

idk

pine vale
olive aurora
#

you cant do that

pine vale
#

why not?

olive aurora
#

they are completely different mods

pine vale
#

but the css file is same

olive aurora
#

it's not even css

pine vale
#

than?

quaint sapphire
#

betterdiscord has a plugin for hidden channels

pine vale
#

well i will manage it somehow i just want it

pine vale
#

which one?

quaint sapphire
pine vale
#

thanks mate

#

but does it show all channels like mod only?

quaint sapphire
#

You can't even read messages from hidden channels, so I don't see why you need this either way
but yeah it should

pine vale
quaint sapphire
#

I don't see how a plugin that shows you "hidden channels" would not show you "hidden channels"

lime stone
#

tijme dones

quaint sapphire
#

😔

#

that plugin will never get merged

#

bc manti is turkish

#

(for anyone that might feel offended in-place of manti, stop, Greeks "hating" Turks is a meme, and we don't take it seriously)

#

such a weird world we live in, where I have to make disclaimers about that

fleet depot
#

Time dones!

charred monolithBOT
charred monolithBOT
jagged cloak
#

oh i forgot timedones was already a pr

lime stone
charred monolithBOT
quaint sapphire
#

we only hate their government

#

we also hate our government

lime stone
#

ok fair enough

#

hating the government is a normal and healthy part of life!

fringe basalt
#

hello, im trying to recreate the mutual servers/friends list component from profile, but for that I need components like Clickable or ScrollerThin which at runtime are in Vencord.Webpack.Common.Menu but aren't typed in vencord source
should I solve it by adding their types to the file or should i just slap @ts-ignore or something?
(also sorry if I'm doing this wrong, it's my first time using react blobcatcozy)

charred monolithBOT
quaint sapphire
#

For now it should be ok if you did not type them and just used them.

#

Generally we only type discord components that are going to be used in other plugins as well.

#

Well, nobody will disagree if you type them either way.

fringe basalt
#

okay i'll leave them with ts-ignore then (i probs wouldn't type them properly anyways)

#

ty

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
charred monolithBOT
solid prawn
#

Hello everybody could one of you give me an example of a patch to test because I'm still confused on how other plugins do patching even when using dev tools I can't find what they are patching

#

I just want a example so I know how to find and make my own patches is what I'm trying to get at

limber skiff
solid prawn
#

I saw that but still confused on how to find stuff

#

Sorry I'm a noob

royal bane
#

src/plugins

#

have a looksie :v

royal bane
solid prawn
#

I will look again

royal bane
#

ctrl shift i

#

then ctrl shift f

#

iirc

#

to bring up the search

solid prawn
#

Kaaay I will try again if not I will do what I do best jank code lol

#

Also if I make a patch regex thingy how would I know it successfully found what I want @royal bane

royal bane
charred monolithBOT
fringe basalt
#

it's useful for this blobcatcozy

quaint sapphire
#

and have the vencord toolbox extension enabled, and build vencord in dev mode pnpm watch

#

and connect the companion using the toolbox

#

after that, you will have a button above ur patches, to test them

charred monolithBOT
solid prawn
#

Oooo thanks I will try

short sequoia
#

@cunning canyon would it b possible to patch the usrbg thingy to the user list

#

like the id

#

something i had in mind

#
[class^="member-"] {
  --banner-opacity: 80%;
}
[class^="member-"] {
  padding: 0;
  margin-block: 3px;
}
[class^="memberInner-"] {
  z-index: 20;
}
[class^="member-"]::before {
  opacity: var(--banner-opacity);
  z-index: 0;
  -webkit-mask-image: linear-gradient(to right, transparent 20%, #ffffff);
  width: 100%;
  height: 100%;
  content:'';
  background-size: cover;
  position: absolute;
  border-radius: 4px;
}
[class^="member-"]:has([src*="1038809506899042445"])::before {
  background-image: url(https://media.discordapp.net/attachments/1038823742526206034/1089276808299544696/ctp_image43.png);
}
#

^ mine

royal bane
#

thats cool

sacred plover
# short sequoia ^ mine

I think custom gradient values would be cool too, so left, center, and right gradient values.

short sequoia
#

but this isnpretty cool in and of itself

sacred plover
#

yeah of course :D

#

had an idea... is there any way to make this a vencord plugin?
https://github.com/patrickxchong/hide-discord-sidebar
I've used it for a few years now but I got into using Vencord and the like so I couldn't use the extension without being on the browser, so I was wondering if it could somehow be made as a real plugin and not just a browser extension, also that way we can use it in the Discord application too

GitHub

Chrome and Firefox extension to hide Discord servers and channels - GitHub - patrickxchong/hide-discord-sidebar: Chrome and Firefox extension to hide Discord servers and channels

#

it's under GPLv3+

#

as of right now it doesn't work very well since it's outdated and the button for the extension covers some of the buttons on the top right. It would be nice if it's toggle button could be included to the right of the inbox button like the Vencord Toolbox menu is

cunning canyon
#

can't you just use custom css to hide anything you want

charred monolithBOT
quick ibex
teal halo
#

How do you make a menucheckboxitem check/uncheck itself on click? i tried this hacky method but nothing happens

olive barn
#

uhh im stupid and dont use react much but you might need to do useState

verbal pumice
#

learning basic react before getting into ui helps

teal halo
#

ah

#

thankk

short sequoia
#

if we had stylus

#

inbuilt

quaint sapphire
#

Do you know what stylus is?

#

It is an extension that injects css into pages

#

You already can inject css

#

So why even mention stylus?

teal halo
#

why the hell does react do this

#

checked some other plugins that used this function and i havent seen anything

nocturne haven
#

seems like something about react refs

#

maybe the checked prop on the checkbox item expects a react ref

teal halo
#

pain

austere talon
#

it's related to hook abuse (your hook is sometimes called, other times not, which makes react confuse state and it will return ur boolean state instead of ref)

#

send the full code and I will tell you how to fix it

short sequoia
#

have u used stylus

#

with toggles

#

and variable

#

s

austere talon
#

@teal halo

short sequoia
teal halo
short sequoia
#

you see what im sayin

#

@quaint sapphire

nocturne haven
fringe basalt
#

it's the show hidden channels plugin :p

teal halo
#

^

#

i'm trying to add a per-guild toggle for it, just for fun

nocturne haven
#

not even eternals extended version with fancy modals, lock screens etc had that much

#

fun fact: I wrote a SHC plugin in 20 lines

quaint sapphire
#

Stylus ain't special

#

Those variables can be declared w/o it

short sequoia
quaint sapphire
#

Just make it a plugin

#

Lol

short sequoia
#

bro still didnt get the point of stylus

quaint sapphire
#

I really wonder how you reached that conclusion

#

But oh well

#

Have fun