#👾-core-development

1 messages · Page 170 of 1

limber skiff
#

when you click it, server guides completely turns into home, and when you leave the home it turns back to server guide

inland fable
#

wgat if theres no guide

limber skiff
#

then it shows the home normally lol

#

the guide overrides the home

#

this is what it shows if there is no guide

charred monolithBOT
lime stone
#

how impossible is it to show both

limber skiff
#

not impossible but bad

#

Server Guide and Server Home share the same route

#

this honestly is not a bad solution and was pretty straight forward to make

shy veldt
#

its so over guys

austere talon
shy veldt
#

and they are doing something

#

be scared or something

#

this exp causes it

#

thing is it still does that even if you dont have the exp

lime stone
#

i think it's weirder for ux to merge

austere talon
#

theres a switch button

lime stone
#

yeah, that's weird

#

but i guess fixing the route would be hard

#

it's just it still suffers from this issue xd

rugged spire
#

i have accidentally ran into the "@home" lying around

lime stone
#

probably should fix weeks of messages being nuked often happening when interacting with server home xD

rugged spire
#

WHAT

#

explain wtf do you mean

lime stone
#

i should try to find reproduction steps blobcatcozy

rugged spire
charred monolithBOT
charred monolithBOT
rugged spire
#

thanks discord!!!!!!

charred monolithBOT
tropic wagon
#

me

rugged spire
#

fixed it (I think)

#

wow my old code was bad

#

Before

tropic wagon
#

hi anu

#

why the new user thingy

#

did you die

#

beast

#

send me the link i am one lazy motherfucker

brazen bone
rugged spire
#

FUUUUUUUUCK (Where did my big quick react menu go?)

#

discord really did decide "good morning, fuck you, rewrite your plugins because we pushed a change to canary" trolley

prime dew
#

how much do you have to rewrite tho?

rugged spire
tropic wagon
#

message logger moment

austere talon
#

stop contributing to the spam just ignore retards

tropic wagon
#

i can see history

rugged spire
#

I really need to fix that better quick react plugin I made

#

and quickly

#

why did it even break Thinkies

#

i may be a bit stupid

#

pretend i said nothing

limber skiff
#

fully restart discord

rugged spire
#

well that fixed it

#

do you even know why that error occurs

rugged spire
austere talon
#

ctrl r only reloads renderer

#

so you had old ipc with new renderer

rugged spire
#

OHHHHHH

#

is this related to the new settings api changes

#

and that I haven't merged dev into half my branches

crude hearth
#

horror polls are real

brazen bone
#

Not to me

#

(I don't know why there's no icons)

austere talon
#

its experiment

crude hearth
#

A/B testing

#

I dont have experiment on

charred monolithBOT
#

Thanks for the review! I changed the regex match to /this\.automaticAnchor=null,this\.messageFetchAnchor=null,/.

Also, I made it only remove the anchor if the user is currently scrolling, since that's the only time when the bug occurs. It's also because the scroll anchor will be null for some time if lots of avatars are rendering at once, even if the user isn't scrolling, which may cause the message list to slowly scroll on its own. The message list shouldn't drift anymore.

lime stone
rugged spire
lime stone
#

it's a bit ew doing \\ in regex

rugged spire
#

it's a string

#

are you saying regular version is better

#

or just "more readable"

charred monolithBOT
austere talon
#

holy fuck that plugin

#

mutationobserver with querySelector

shy veldt
#

@austere talon WHAT

austere talon
#

he already had a selector for it so why not just use css lmao

rugged spire
#

LMFAOO

shy veldt
#

also whatever this is

#

tf is a skema 🗣️

austere talon
brazen bone
#

Well, renaming things from default to sensible names is a good change imo

shy veldt
#

yeah

austere talon
#

they dont name it default xd

#

its just a default export

brazen bone
#

Well yeah

austere talon
#
const HTTP = { ... };

// before
export default HTTP;
// now
export { HTTP };
shy veldt
#

so

#

ven

#

about that

#

it did matter

austere talon
#

personally im hater of default exports i always use named exports but both are fine

shy veldt
#

no get,post,patch etc

#

they moved it

#

horror!

austere talon
#

you dont get intellisense in console

shy veldt
austere talon
#

nop

shy veldt
#

you look for 'getAPIBaseURL','get'

#

ofc it wont work

charred monolithBOT
shy veldt
#

L

frail skyBOT
#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

can I have some basic feedback on new webpack api, webpack.tsx is mainly the only file needed to look a lot

charred monolithBOT
charred monolithBOT
spark pivot
frail skyBOT
#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

median rapids
#

niice

#

I'd have no idea how to do that lol

limber skiff
#

super hacky stuff

median rapids
#

ur a genius

frail skyBOT
#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
glass jasper
charred monolithBOT
charred monolithBOT
austere talon
# charred monolith

@spark pivot this reverts your change to CheckedTextInput because its just wrong

#

it triggers onChange events when it didnt actually change

charred monolithBOT
austere talon
#

if you actually need that change for it to function properly, then you're doing something else wrong and should fix that instead!

spark pivot
#

that pr was from a while ago so i prob did something wrong

charred monolithBOT
dapper crest
#

where are we supposed to host video files for vencord.dev/plugins now that discord is dumb and stupid

spark pivot
#

github

dapper crest
#

ah

spark pivot
#

paste the image into the readme images thread and get the url

dapper crest
#

ah

austere talon
#

but it's not ready yet

spark pivot
# austere talon if you actually need that change for it to function properly, then you're doing ...

i don't think i can modify the patch helper code to do this- the way CheckedTextInput is made right now doesn't allow you to change value to update it. I changed it to this and it worked:

-export function CheckedTextInput({ value: initialValue, onChange, validate }: TextInputProps) {
+export function CheckedTextInput({ value, onChange, validate }: TextInputProps) {
-   const [value, setValue] = React.useState(initialValue);
    const [error, setError] = React.useState<string>();

    function handleChange(v: string) {
-       setValue(v);
        const res = validate(v);
        if (res === true) {
            setError(void 0);
            onChange(v);
        } else {
            setError(res);
        }
    }
jagged reef
#

Erm what?

#

how does globalName not exist on User?

#

it's right there

spark pivot
#

skill issue idk

jagged reef
#

oops, I must have added it in local

#

but wtf? It's a valid field

austere talon
#

lolol

jagged reef
# austere talon lolol

I had to do (message.author as any).globalName 💀
(That's how typing indicator does it)

austere talon
#

you can also extend the type

#
import { User } from "discord-types";

interface User {
    globalName: string;
}
#

should work

tidal cloud
#

man do I love interface overloads

austere talon
#

it's kinda weird that ts just merges multiple similarly named declarations xd

sly veldt
#

Cool new update

sly veldt
#

I hope my pr gets included one of these days

#

watch it happen in 2027

austere talon
#

what's your pr

sly veldt
#

hold on lemme get it

austere talon
sly veldt
#

its this

#

the moreusertags colors

austere talon
#

oh

#

i glanced over it but it seems overengineered

sly veldt
austere talon
#

ill have to take a closer look another time

#

tomorrow probably

sly veldt
sly veldt
#

Whenever works, i'm not really in a rush, i can just keep updating my fork

austere talon
#

you don't even have to fork technically

#

check out a normal vencord upstream clone and add it as a user plugin

#

this way you can enjoy the regular updater with your plugin added

#

just rename it to avoid conflicts with the original one, name it like MoreUserTags2

sly veldt
#

Fair, should have thought of that before I forked it lol

#

But to be fair, I need to fork anyway to have a pr

#

¯_(ツ)_/¯

#

I'm fine whatever, it's not a big deal

austere talon
#

anyway ill take a look soon

sly veldt
#

Thanks

jagged reef
#

Looks good? ```ts
import { type Message, User } from "discord-types/general";

interface NameUser extends User {
globalName: string;
}

(UserStore.getUser(userId) as NameUser).globalName;```

austere talon
#

you shouldn't need to do that

jagged reef
#

oh

austere talon
#
import type { User } from "discord-types/general";

interface User {
    globalName: string;
}
#

just this should work

sly veldt
#

typescript is fun

austere talon
jagged reef
austere talon
#

that's strange

jagged reef
# austere talon that's strange

I'm just gonna do ```ts
import type { Message, User as DiscordUser } from "discord-types/general";

interface User extends DiscordUser {
globalName: string;
}```
it's not much longer and it passed checks

austere talon
#

ya works

charred monolithBOT
summer fiber
#

ig globalName was added inbetween 1.3.26 and 1.3.3

#

its weird though because on the github repo the package.json still says 1.3.26

#

maby bcuz its in devDependencies i made another project and installed it and it put it in dependencies instead

summer fiber
#

it seems like its fixed on the github repo

#

but a new npm thing never got published

#

who is maintaining this 😭

#

it can be fixed by doing
pnpm i git+ssh://git@github.com/Swishilicous/discord-types.git

jagged reef
summer fiber
#

🙏

jagged reef
summer fiber
#

im probably gonna rewrite it at somepoint

charred monolithBOT
summer fiber
#

omfg it throws a fucking error because theres a comma and not a semi-colon

#

who the hell is maintaining this package

#

someone already fixed it in a pr

#

a pr which is like 8~ months old

#

i think vee just needs to fork it and use that version

charred monolithBOT
#

so I overlooked the fact that there is a typo in the discord-types package which breaks it anyway, honestly @Vendicated you should probably just fork the repo, fix it, and use your own for this 🤦‍♀️.

(I'm going to leave this PR open until vee sees it, after that it might as well be closed)

typo in question - https://github.com/Swishilicous/discord-types/blob/7ece571cd9f5c9e238eb09c5635d4468ede050d2/general/User.d.ts#L12C33-L12C34

rigid venture
#

aint that serious

#

@agile laurel

summer fiber
#

yeah but still annoying

sterile oak
#

actually its weird that its not a typo and a typo at the same time.
I made an export button for my plugin to export bans. but found out. that Users could have global_name or globalName sometimes
(Don't mind the funky look)

#

that when I extract them as json. I just directly stringify the bans array in my plugin

#

no idea why

limber skiff
#

globalName is on the user class

#

global_name on the json object

#

idk if it's you doing the pr but

#

we should just ditch using that package

#

we already have typings for so many stuff, adding those and maintaining them would be no problem and way better

sterile oak
#

I legit have 3 plugins that have IMessageCreate

lyric comet
#

the (unofficial) home-manager module for vesktop is complete :)

#

currently supports enabling plugins by list (more legible for the plugins that dont have settings) as well as both configuring plugins by attrset and by nix convention

#

any suggestions would be sick

limber skiff
#

btw just making sure you know, no need to manage the dependencies manually

#

vencord automatically enables the required dependencies for any enabled plugin

lyric comet
#

i wasnt sure how it would handle that since the settings.json is readonly so i just defaulted all APIs to true for now (this can be easily overriden)

limber skiff
#

you just dont need to handle

#

fake nitro has message events api dependency

lyric comet
#

are deps handled outside of settings/setting.json?

limber skiff
#

as long you enable fake nitro, message events api is automatically enabled

#

regardless of the settings config

lyric comet
#

ah

#

good to know

#

ill play around with it a bit before deciding to remove the api defaults

austere talon
lyric comet
#

yeah it does seem that required plugins are enabled regardless of config

#

how does that work? kinda zaney

#

settings is disabled yet still running with my configs

brazen bone
#

Alternative would be giving an error if deps aren't enabled, and nobody likes that

lyric comet
#

yeah i get why it does it

#

just not how

limber skiff
#

it ignores the setting

lyric comet
#

mmm that makes sense

limber skiff
#

only 3 plugins are required

#

Settings, NoTrack and SupportHelper

lyric comet
#

4 on vesktop :)

limber skiff
#

right

#

additionally, CrashHandler is enabled by default

#

however it can be disabled

lyric comet
#

i was thinking of WebContextMenus

limber skiff
#

yeah I know

#

I'm just commenting about crash handler

lyric comet
#

ah i see

#

thanks

limber skiff
#

It's the only plugin enabled by default that can be disabled

austere talon
grave mangoBOT
# austere talon every plugin that depends on some api lists that plugin in its definition requi...

**index.ts: **Lines 39-67

export function isPluginEnabled(p: string) {
    return (
        Plugins[p]?.required ||
        Plugins[p]?.isDependency ||
        settings[p]?.enabled
    ) ?? false;
}

const pluginsValues = Object.values(Plugins);

// First roundtrip to mark and force enable dependencies (only for enabled plugins)
//
// FIXME: might need to revisit this if there's ever nested (dependencies of dependencies) dependencies since this only
// goes for the top level and their children, but for now this works okay with the current API plugins
for (const p of pluginsValues) if (settings[p.name]?.enabled) {
    p.dependencies?.forEach(d => {
        const dep = Plugins[d];
        if (dep) {
            settings[d].enabled = true;
            dep.isDependency = true;
        }
        else {
            const error = new Error(`Plugin ${p.name} has unresolved dependency ${d}`);
            if (IS_DEV)
                throw error;
            logger.warn(error);
        }
    });
}
charred monolithBOT
frail skyBOT
#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

BetterNotesBox (had no effect):
ID: 301998
Match: /(?<=return \i\?)null(?=:\(0,\i\.jsxs)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

let me fix better note box

prime dew
limber skiff
#

uhh I'm not sure what this is supposed to patch

#

I guess it's this but I could be wrong

#

I never used this plugin

charred monolithBOT
limber skiff
austere talon
#

tbh idk maybe just delete the plugin

#

i wrote this so long ago and don't even use it

limber skiff
# prime dew ily

would you know if the padding is supposed to be after or before the notes?

prime dew
limber skiff
#

but it's broken lol

#

I'm asking if you remember when it used to work

prime dew
#

uhhhh, I have no idea sadly

limber skiff
#

okay I see it's after

prime dew
#

I'm using a theme that also hides the category dividers so I can't really tell

limber skiff
#

It already adds the lastSection class if it is the last

limber skiff
#

I might just remove it

limber skiff
#

what was it

prime dew
#

the "Note" thingy

#

that won't go away even if I use css

limber skiff
#

the heading?

prime dew
#

yes

limber skiff
#

oh wait

austere talon
#

if the note is hidden

#

maybe im wrong

#

anyway can it be hidden with css

#

is the plugin even needed

prime dew
cunning canyon
#

it was something like return (hideNote) ? null : (the note box) when i wrote it
and the patch change null to some margin when it is last section

limber skiff
#

okay I think i get it

#

they may have removed hideNote completely

prime dew
limber skiff
#

but they no longer hide the heading

prime dew
#

but yeah, if nobody uses it and it can be hidden with css you can just remove it

limber skiff
#

ohh wtf

#

you have UserVoiceShow enabled? @prime dew

prime dew
#

nope

limber skiff
#

no

prime dew
austere talon
prime dew
#

I just have to restart discord

#

it's because I have a css snippet with emojis instead of icons

#

restarting discord fixes it

prime dew
limber skiff
#

I fixed better notes

prime dew
charred monolithBOT
#

7190437 rename Devs.obscurity => Devs.fawn :3 - Vendicated
9aa205b rewrite settings api to use SettingsStore class... - Vendicated
afdcf0e refactor shared utils to more obviously separat... - Vendicated
f3ee43f favGifSearch: don't error on favourited non-url... - Ratismal
57d63af Move everything to use waitFor - Nuckyz

limber skiff
#

what

#

why does this branch has that

charred monolithBOT
limber skiff
#

I'm dumb nvm

charred monolithBOT
limber skiff
#

better notes is a crazy plugin

#

it's so dumb and it has one of the craziest patches

austere talon
#

right

charred monolithBOT
prime dew
brazen bone
#

What does it even do?

#

Pretty unclear

prime dew
#

It removes the "add notes" box in profile popups

#

And also the spellcheck, I think

austere talon
#

idk it's very niche and not that useful tbh

#

but it's also very old

#

old plugins didn't have as high quality standards

charred monolithBOT
charred monolithBOT
#

When you add all your dms to a category it causes everything to disappear. This happens because of this:
https://github.com/Vendicated/Vencord/blob/ca18b6e0446b6f1858a82de47489bb01f925ce25/src/plugins/pinDms/index.tsx#L203

this line of code assumes an empty channelIds means dms havent been fetched from discord, but it doenst account for the case where dms have been fetched and all the private dms have been added to one or more categories.

verbal pumice
charred monolithBOT
#

This PR adds support for adding Vendroid-exclusive pluginsby adding the .mobile suffix to the plugin folder, just like other platforms.

It also adds a new build script- pnpm buildMobile, which is copied from the buildWeb script but includes mobile plugins. This can be useful for a future VendroidEnhancements plugin that would be directly added in vencord codebase, removing the need to inject custom plugins directly in vendroid code.

It also adds a webDesktop suffix, which builds t...

summer fiber
limber skiff
#

better settings is hot wtf

#

I actually tried to remove the transition in the past but I only tried for like 2 hours and couldnt get it

#

and never ended up trying again

brazen bone
#

I did need a kinda aggressive approach, replacing the whole Layer

#

Worth it

limber skiff
#

my first tries were super simple

brazen bone
#

Yeah I did some similar things at first

charred monolithBOT
mint thistle
austere talon
grave mangoBOT
spark pivot
austere talon
spark pivot
#

should i move the onChange call then?

mortal fractal
#

if this is just for notifications it should be using discord's own notification content function

#

(findByProps("makeTextChatNotification"))

limber skiff
#

@spark pivot ohh is that the reason match doesnt update when you paste full patch

#

I was debugging this rn lmao

#

I'm modifying the patch helper cuz adding support for array finds

spark pivot
#

cool

charred monolithBOT
spark pivot
charred monolithBOT
charred monolithBOT
#

Boost visibility and ranking of your Github Profile and Repositories with our products over at https://github.market

We sell:

  • Github Stars
  • Github Forks
  • Github Followers
  • Github Watchers
  • Github Reactions
  • Github Upvotes
  • Github Comments
  • A Github Botting Tool

Our high-quality products come with substantial bulk discounts, ensuring both excellence and cost-effectiveness.

Buy now over at https://github.market

stark flint
#

LOL

spark pivot
limber skiff
spark pivot
#

i think github is being bombed with these issues right now cause i searched for this and all of them are less than 5 minutes old

#

there's like ten per second

jagged cloak
charred monolithBOT
stark flint
#

what's the point if literally no one else can hear it

lime stone
#

you can already do this lol

limber skiff
#

the available patch is nice

charred monolithBOT
spark pivot
charred monolithBOT
#

The second one should definitely be included, but the first one is useless. I myself have been wanting something like the second option, but I didn't think it was possible.

You can't download sounds from other servers easily without the first option. It allows you to listen and/or download sounds from other servers easily instead of manually switching to each server individually just to listen to them or download them.

stark flint
#

can you not just use the sound preview button to listen to them though?

#

or is that also blocked for sounds you don't have access to

spark pivot
#

I think it is

stark flint
#

unfortunate

charred monolithBOT
charred monolithBOT
charred monolithBOT
turbid hatch
#

oh you closed it whilst i was in review editor

#

lol

charred monolithBOT
turbid hatch
#

i dont really understand what valuepointer is for

#

like it's just making a constant mutable

#

just make it mutable in the first place

#

you're already using typescript, it's type safe and will complain if you assign the wrong value, your pointer object is noise

median rapids
austere talon
#

funny discord moment if yes

#

but i feel like they might fix it if they notice xd

median rapids
#

they def would

rugged spire
#

i would add it anyway, discord has their "totally-forever-in-beta soundmoji feature" and it is locked in that UI

lime stone
#

i can make everything break

#

i can surely make discord break

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

median rapids
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
median rapids
#

or just... talk?

#

😭

rugged spire
#

does this user know what venmic is

charred monolithBOT
charred monolithBOT
glass jasper
# charred monolith

so if that CharCounter is garbage is someone going to make a new/better one?

#

because that is actually a very good plugin idea

jagged reef
#

It’s kinda useless

glass jasper
# jagged reef Why?

A charCounter is always a good plugin especially for people whom don’t have nitro and are always writing out long sentence that get close too the 2000 minimum characters non nitro people have

jagged reef
jagged reef
glass jasper
#

If you don’t wanna make it then don’t. I’m not going to have this convo, I just think some people especially the average Vencord user (dumb as a bag of rocks, and 2 minutes reading the support channel would prove that statement correct) would find it useful.

jagged cloak
#

why the waffling

#

lol

jagged reef
#

💀

glass jasper
#

I’m sorry, I just voice my opinion that i thought it’s a pretty good plugin and that some people (especially the not that tech smart people) would find it useful. Yes it’s niche and but there is a small group of people that would find it useful. Plus there are a lot of niche and weird stuff in Vencord. So a charcounter plugin wouldn’t be that weird for being a thing

charred monolithBOT
#

I agree that, in its current state, the plugin is overengineered and likely hard to maintain. However, this is a very outdated version of the plugin. I was waiting for #2149, which adds FormattedMessage to webpack/common, to be merged before committing the updated and largely simplified version of the plugin.
Regarding the lag, I can assure you that it is not due to the usage of the :has() pseudo-class, which was the only way to ensure the character counter did not overlap with other ...

charred monolithBOT
charred monolithBOT
crude hearth
#

@austere talon merge my pr

lime stone
#

never merge manti pr

charred monolithBOT
rugged spire
#

i will unfuck vendroid

charred monolithBOT
charred monolithBOT
dusk blaze
rugged spire
#

i think i will pretend to know what i am doing for a little while first

rugged spire
dusk blaze
#

average vee code

rugged spire
charred monolithBOT
rugged spire
#

is the java side even implemented anywhere

lime stone
#

oh god. java? be prepared for all of my eyes on this code
(what's the expression? how many eyes do i have?)

rugged spire
#

SHITCODING

#

i have never programmed an android app

#

i am pretending to know what i am doing

#

if anyone sees this i am aware that i will be shot

#

or husked

#

idk whats worse

dusk blaze
#

we all start somewhere

#

dont we?

#

📱-vendroid-development

shy veldt
#

and the req returned some error code

#

lol

#

it just works????

#

thats stupid

#

how did it not work before

brazen bone
charred monolithBOT
inland musk
#

about the prospect of enabling /vencord-debug globally, would it be better just to have debug info copy to clipboard upon clicking versioning instead like how bd has it

#

just figure it might be good to keep the same system

austere talon
rugged spire
#

of that onBackPressed() method

austere talon
#

ctrl click it

#

ofc it is implemented

crude hearth
#

BVEN

#

MERGE MY PR

crude raptor
#

it would be nice if all the prs it wants to be merged were

dusk blaze
#

yop

crude raptor
#

🙏 improved textreplace
🙏 tone indicator meanings

austere talon
#

btw @rustic nova multiple complained that PinDms no longer sorts by most recent message

#

ik it's a setting but maybe we should change the default value of it to enabled

#

or rather make that sort order the default

rustic nova
#

i added the old pindms setting back, so it should sort by newest by default

grave mangoBOT
austere talon
#

oh i didnt realise you already did that

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
swift fjord
#

unfix it

shy veldt
#

bros pushed a quick one

rugged spire
austere talon
#

it's auto generated

rugged spire
#

o is this the datamining changes or something

brazen bone
rugged spire
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 Attempting to set fast connect zstd when unsupported ```
rugged spire
#

wtf

charred monolithBOT
charred monolithBOT
sterile oak
#

how does VesktopNative/VencordNative work? I want to see if my skillset allows me to create extensionNative

brazen bone
#

They do some manner of ipc with the electron host process

charred monolithBOT
sterile oak
#

finally, I feel my plugin is ready for pr. but I am nerves for some reason

austere talon
#

just do it

still wasp
glass jasper
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
long stream
#

shoudl i still try to find by the string constant? or should i use another prop instead?

austere talon
long stream
#

ye i get that

austere talon
#

any variable name that is only a few random letters is auto generated and you shouldn't rely on it

#

.Messages.FOO_BAR is discords name so you can rely on it

long stream
#

im just not sure on how i should be finding it if not by that

austere talon
#

for example by using find: ".Messages.FOO_BAR"

long stream
austere talon
#

yeah you need to find something else that is unique then

brazen bone
#

Messages.AVATAR_UPLOAD_EDIT_MEDIA seems unique

austere talon
#

use ctrl shift f to search for it and make sure there is only 1 result

long stream
#

yeye im already doing that xd

brazen bone
#

Localization strings (Messages.FOO_BAR) and exports (fooBar:function() are often good finds

long stream
#

i still dont really understand how the patch system works BocchiPain

limber skiff
#

I dont like using exports

#

because discord can mangle in the future

austere talon
limber skiff
#

as they did in the past

#

i always prefer strings or classNames

brazen bone
long stream
#

o

#

i get it now

limber skiff
#

in fact I think I never used a export as a find in my patches

brazen bone
#

Yeah class names are decent too

limber skiff
#

but this is the best find ever

brazen bone
#

Yes absolutely

limber skiff
#

banger find for context menu api

long stream
#

ye i saw that while i was looking thru other plugins xd

brazen bone
limber skiff
brazen bone
#

Yep

limber skiff
#

and honestly, it was not that bad

long stream
#

also btw @brazen bone do u wanna be credited for helping ? i feel kinda rude for not doing it

limber skiff
#

findByCode was a banger for it

#

and findByProps worked fine

limber skiff
#

the hardest thing was deciding how to name things lmao

long stream
#

oke AiriThumbs

limber skiff
#

how do I call this fucking export 😰

brazen bone
#

How would findByProps work? Isn't the whole problem that those props are all mangled?

limber skiff
#

it would try the filter on every export too

brazen bone
#

Oh

limber skiff
#

so you would match the props on the exported objects

#

not the actual export name

#

and findByCode was the way for components/other methods

brazen bone
#

I'm still annoyed that findByCode searches in the module's exports and not the module itself

austere talon
#

findModuleId("renderSingleLineMessage:function()")

limber skiff
#

btw ven do we have a force updater api for messages already?

#

I think I wanna find again how to manually force updates, but without wrapping the component

brazen bone
#

I guess in cases where exports are mangled, getting the raw exports dict is not particularly useful

rugged spire
limber skiff
#

there are many cases for wanting to force a re-render in a message

rugged spire
#

examples?

limber skiff
#

okay I cant think of one rn but in the past many have wanted that

#

I dont understand why are you husking

#

it's not a crazy thing to want?

rugged spire
#

it isnt

#

its totally reasonable

brazen bone
#

It goes against everything about how React is meant to be used

rugged spire
#

I only know how to use React because of Vencord and I can tell half of it is done super jank manual force rerendering

austere talon
brazen bone
#

If you want to update the message, update the MessageStore and any useStateFromStore will automatically be rerendered

austere talon
#

dispatching message updates is a bit painful because it expects an api message

#

while we're working with "model" messages

rugged spire
austere talon
#

api message is raw api data that contains things in snake_case and such

rugged spire
#

oh yes

limber skiff
austere talon
#

discord serialises that into a message class that uses camelCase and has methods and such

rugged spire
austere talon
#

to dispatch a message update event we basically need to serialise messages to an api message which is kinda complicated

rugged spire
#

You will enjoy your stay

austere talon
#

otherwise it breaks attachments and embeds

rugged spire
#

are attachments deserialized in a weird way

austere talon
#

?

rugged spire
#

It isn't just some renaming to camelCase for the actual model message

austere talon
#

anyway message updating is for example needed for the HideAttachments plugin

rugged spire
#

There's some kind of attachments class or something, right?

rugged spire
#

yop

#

how... does that plugin even cause a rerender

#

does it?

austere talon
#

i don't want to be mean but you're not making any meaningful contributions to the discussion

rugged spire
#

true

#

I'm just curious (that's all)

#

btw i've recently been doing horrible patches with vendroid

austere talon
#

i experimented a bit with it but didn't got anything to work

#

it basically just patched the message component to insert a useForceUpdater and store it in a global map

limber skiff
brazen bone
#

If I'm reading the code correctly, you should be able to dispatch an empty LOAD_MESSAGES event and every useStateFromStores([MessageStore]) will recheck

limber skiff
#

that's not what I want

#

I just want to manually trigger a useStateFromStores

brazen bone
#

What do you mean, trigger a useStateFromStores

#

You want to specify a specific one?

limber skiff
#

trigger the state re-render

brazen bone
#

You mean you want the useStateFromStores to cause a rerender even if the returned value is the same?

limber skiff
#

I want to invoke the re-render of the state without the store changing

brazen bone
#

LOAD_MESSAGES does not change anything in the store ```js
LOAD_MESSAGES: function () {
return true;
},

#

It just — for some ungodly reason — reports that the store was changed, and thus all change listeners are run

#

There's no other listeners for LOAD_MESSAGES either, though it does feel a bit fragile

austere talon
#

rerendering all messages is likely not a good idea

brazen bone
#

Only those where the useStateFromStores callback differs

#

Discord already does that on every messagestore change

#

Though I do admit that I haven't tried whether it actually works

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 Attempting to set fast connect zstd when unsupported ```
spark pivot
#

zWHAT

charred monolithBOT
charred monolithBOT
glass jasper
median rapids
charred monolithBOT
golden gulch
austere talon
#

why alt backspace of all things

#

we really need a better way to do keybinds for plugins

#

i personally think that keybind is really bad but i do like the general idea of the plugin, i thought about a mention toggle keybind as well

austere talon
golden gulch
#

I'm fine with other keybinds this is just the one that was easy to find and didn't conflict with anything

#

a keybinds API would be great though yeah

austere talon
#

well any keybind is gonna be subjective and someone is gonna be unhappy xd

#

it's the same with the quick delete plugin

jagged cloak
#

isn't there... a pr for ieybihds

#

or an issue

austere talon
#

we really just need a way to change it

jagged cloak
#

i swear this was brought up b4

cunning canyon
#

it was arjix's pr
and ofc closed

golden gulch
#

or something similar to that, I don't remember it exactly

jagged cloak
#

makes sense

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Problem I'm solving with this plugin:

To figure out if someone tried to bypass our automod or to see the surrounding context, I have to search for their user's message history and scroll down to the rough timestamp it happened at.
This is very tedious, so this plugin adds a button to automod messages to allow you to jump to the surrounding messages of when the message was flagged/blocked.

https://github.com/Vendicated/Vencord/assets/24935987/393a6312-409b-4418-a6d7-eaeb5f3d0281

rugged spire
#

yall sre reminding me to fix that double click to edit/reply plugin to not edit the message

glass jasper
#

@austere talon i’m probably about to fuck this up but i tried, don’t get mad at me because i don’t completely understand how github works yet

charred monolithBOT
glass jasper
#

ok there we go, don’t blame me if this was bad or fucked up it was first time using github like that

glass jasper
#

i’ll see about this using a class instead of the selector

austere talon
#

in js you need to assign a class to the button element

glass jasper
#

i figured, it’s just using the selector is how i was taught how to do it

charred monolithBOT
stark flint
#

probably should've PR'd to dev but bleh

charred monolithBOT
charred monolithBOT
charred monolithBOT
spark pivot
#

Oh it isn’t your pr

#

Silly me blobcatcozy

stark flint
#

lol it is

spark pivot
#

Even sillier me blobcatcozy

stark flint
charred monolithBOT
charred monolithBOT
glass jasper
#

@austere talon ok i think i did
( @bleak gyro help me out with it)

austere talon
#

please actually test your changes before pring

glass jasper
#

i did

#

both me and @bleak gyro did

austere talon
#

don't close it

#

reopen it

austere talon
#

it contains a syntax error

glass jasper
spark pivot
#

There were two syntax errors lol

glass jasper
#

goddamn

spark pivot
#

Are you using vscode

austere talon
#

what "thing"

#

use vscode

#

and test your changes before pushing by compiling

surreal fiber
#

offical

glass jasper
#

the one and only

#

frfr

rancid dragon
#

nvhhr is trying to say you spelled it wrong

#
- name: "krystalskulloffical",
+ name: "krystalskullofficial",
spark pivot
#

I didn’t even notice either

glass jasper
#

god hates me and doesn’t want me in the constants.ts

glass jasper
#

@austere talon ok idk what to do, i’m started to angy, i’ve never used github before so i’m trying

spark pivot
#

You’re good at this point

#

The pr is ready for merging

#

If you need any more help with github let us know

glass jasper
crude hearth
#

my pr

#

my beloved pr

#

it still hasnt merged

glass jasper
crude raptor
#

it will never happen,,, vencord is actually dead and we're all hallucinating

glass jasper
#

i’d believe it

spark pivot
#

That brings the total to 2

charred monolithBOT
mint thistle
stark flint
shy veldt
#

and another one

#

they really like changing the names now

stark flint
shy veldt
spark pivot
#

Joyous

median rapids
median rapids
#

so eel

#

wonder what they doin

austere talon
#

just moving from default exports to named exports

#

why is this so surprising to you

glass jasper
#

imma move what channel i post that in

charred monolithBOT
charred monolithBOT
median rapids
glass jasper
# charred monolith

well i’m done, maybe this will be merged maybe it won’t ig we’ll see

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

MemberListDecoratorsAPI (had no effect):
ID: 888503
Match: /decorators:.{0,100}?children:\[/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 Attempting to set fast connect zstd when unsupported ```
glass jasper
mint thistle
#

bleeh

charred monolithBOT
glass jasper
# median rapids real

i mean it’s like actually good (i’m not just saying that because I made it, and i think it’s good) it really is because it does something that should’ve been done a long time ago

#

Vee is the whole reason, I did all this. I was originally just going to post it as a #🎨-css-snippets that people could just ”@import” they wanted it but they talked me into making it a PR and doing all this other work

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

https://vencord.dev/plugins/GameActivityToggle

I'm sorry but my changes have a different functionality than game activity toggle. See, if you wanted to use game activity toggle with customrpc, customrpc has to be on all the time, meaning rpc from games won't work properly. The customrpc toggle gives you the ability to activate the customrpc only when you need it. Example:
You have set up customrpc for "Playing Piano", so you want it to be active only when you actually play, but when you're...

charred monolithBOT
charred monolithBOT
#

Discord Account

.niqui

What happens when the bug or crash occurs?

This bug happens on a few servers, and in some others it doesnt, but basically when you try to see users with permission to certain hidden channel, they wont appear correctly.
For example on a ticket on certain server, which is hidden, you cant see whos the person with access to the ticket, but in other server you can.

What is the expected behaviour?

I expect ShowHiddenChannels to show everyone who has perms ...

charred monolithBOT
#
                    <svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24"><path fill="lightgrey" d="M13 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z"></path><path fill="lightgrey" d="M3 5v-.75C3 3.56 3.56 3 4.25 3s1.24.56 1.33 1.25C6.12 8.65 9.46 12 13 12h1a8 8 0 0 1 8 8 2 2 0 0 1-2 2 .21.21 0 0 1-.2-.15 7.65 7.65 0 0 0-1.32-2.3c-.15-.2-.42-.06-.39.17l.25 2c.02.15-.1.28-.25.28H9a2 2 0 0 1-2-2v-2.22c0-1.57-.67-3.05-1.53-4.37A15.85 15.85 0 0 1 3 5Z"></path></svg>
charred monolithBOT
crude hearth
#

@austere talon

#

pr

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

MemberListDecoratorsAPI (had no effect):
ID: 888503
Match: /decorators:.{0,100}?children:\[/

ChatInputButtonAPI (found no module):
ID: -
Match: location:"ChannelTextAreaButtons"

Bad Webpack Finds

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 Attempting to set fast connect zstd when unsupported ```
glass jasper
prime dew
# frail sky

I guess the 2nd one is related to the SilentTyping plugin

glass jasper
austere talon
#

it's the api that powers all chat bar buttons

#

so all char bar buttons gooone

prime dew
#

hurray

glass jasper
brazen bone
#

vee has a life outside of vencord
Doubt

austere talon
#

rude

rugged spire
#

do you have a life outside of vencord

lime stone
glass jasper
glass jasper
#

(can’t send the based gif I usually send)

shy veldt
#

hey guys

#

another

crude hearth
#

discord decided to help client modders

#

display names will come back soon

glass jasper
#

maybe Vee working for Discord was true and they’ve been slowly changing code to be more helpful to the client modding

austere talon
#

yep

#

doing it slowly one change at a time to make it harder for them to revert if they ever notice

median rapids
charred monolithBOT
#

Renders $\LaTeX$ formulas. `$\sin x$` renders as $\sin x$, `$$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$` renders as $\displaystyle x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$. The latter is intentionally set to an inline-block instead of a block, to save space.

This plugin requires external libraries, which will not work in the userscript version without additional workarounds.

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

MemberListDecoratorsAPI (had no effect):
ID: 888503
Match: /decorators:.{0,100}?children:\[/

ChatInputButtonAPI (found no module):
ID: -
Match: location:"ChannelTextAreaButtons"

WebContextMenus (found no module):
ID: -
Match: .default("MediaEngineWebRTC");

Bad Webpack Finds

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 Attempting to set fast connect zstd when unsupported ```
prime dew
#

Every day it gets longer
What's the last section for, by the way?

charred monolithBOT
glass jasper
umbral hedge
#

Discord just bumped stable from Electron 22 to 28 :3

lime stone
#

cool

austere talon
#

and 64 bit?

#

@umbral hedge

umbral hedge