#๐Ÿ‘พ-core-development

1 messages ยท Page 55 of 1

quaint sapphire
#

Basically z-index all the tree

#

A

  • B [smth like this had a higher z-index]
    • child
    • child
  • C
    • child [you are here]
#

Eh, they can all be 1 and the button can be 2

quaint sapphire
#

Have ya tried using !important

tame escarp
#

makes sense though

frail skyBOT
#
Bad Patches

ServerListAPI (had no effect):
ID: 118442
Match: /(Messages\.SERVERS,children:)(.+?default:return null\}\}\)\))/

WebContextMenus (had no effect):
ID: 567068
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/

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
#

oh yeah time to fix those

#

wait it works fine for me

#

oh inside

#

nothing uses that

frail skyBOT
#
Bad Patches

ServerListAPI (had no effect):
ID: 118442
Match: /(Messages\.SERVERS,children:)(.+?default:return null\}\}\)\))/

WebContextMenus (had no effect):
ID: 567068
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/

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
#

hard fix

#

webcontextmenus was also easy

charred monolithBOT
austere talon
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
stark helm
#

dont get the husk on this one what did that plugin do

cunning canyon
#

duplicate bleh there are like 9 requests for that
and most of its features already in vencord

charred monolithBOT
charred monolithBOT
charred monolithBOT
novel ferry
#

@austere talon Hello,
Thanks for the Translate plugin.
But I wish there were also options for DeepL or GPT.

dry oyster
#

wrong vee at first VeeGiggle

charred monolithBOT
charred monolithBOT
charred monolithBOT
quaint sapphire
charred monolithBOT
austere talon
lime stone
#

didn't work because i couldn't find a way to find out which members had been fetched and which hadn't

#

(assuming fetch is the right word, also my brain farted a lot of times there)

novel ferry
# austere talon > GPT what

````I want you to act as an ${lang} translator, spelling corrector and improver. I will speak to you in any language and you will detect the language, translate it and answer in the corrected and improved version of my text, in ${lang}. I want you to replace my simplified A0-level words and sentences with more beautiful and elegant, upper level ${lang} words and sentences. Keep the meaning same, but make them more literary. I want you to only reply the correction, the improvements and nothing else, do not write explanations. My first sentence is '${text}'```

jagged cloak
#

add util for fetching users when

novel ferry
jagged cloak
#

yop

#

depends on model + requires an API key or shidd third party service + ratio

quaint sapphire
#

doesn't whisper do a good job at translating as a model?

quaint sapphire
novel ferry
austere talon
#

will not be added

#

deepl maybe

tame escarp
#

openai plugin to generate messages based on the conversation context would go crazy

#

yeah but its not sent as the user

#

i might make that later it'd be a great meme

#

exactly

austere talon
#

horrid

#

AI is a disease

tame escarp
#

exactly why im making it

#

would you merge

#

i wanna see people in the support channel using it to write messages

charred monolithBOT
lime stone
#

catgpt translator

tame escarp
#

i am not home and wont be until later today

lime stone
#

meow meow meow meow mew mew meow meow purrr purr meow meow :3

tame escarp
#

to get it

charred monolithBOT
quaint sapphire
#

this is good even if you dont plan to edit files on ur phone

#

cause it means they will improve the code reader

#

i hope

#

man I wish the github mobile app was open source

#

I'd have contributed so much to it

charred monolithBOT
tame escarp
#

bandaid fixes are still fixes

#

ยฏ_(ใƒ„)_/ยฏ

charred monolithBOT
limber skiff
#

omg 1100

#

@austere talon lmao the skip ci commit broke the pr

#

test status will never be reported

austere talon
#

wdym

limber skiff
#

look at my pr

#

there is no action running

austere talon
#

lmaoo

limber skiff
austere talon
#

push another commit

charred monolithBOT
quaint sapphire
charred monolithBOT
austere talon
limber skiff
#

GRRRR

#

you were 1 second late

austere talon
#

tbh

#
addChatBarIcon(() => <ChatBarIcon />, ChatBarIconLocation.ONLY_CHAT)
#

smth like this

#

would probably be best

limber skiff
#

oh

#

very simple

quaint sapphire
#

you talking about these?

austere talon
#

ye

#

every plugin adding one has the same patch & ~20 lines of jsx copy pasted

quaint sapphire
#

I might as well work on that

austere talon
#

it'd be really easy

limber skiff
#

I'm already doing no worries

quaint sapphire
#

as they integrate with the expression picker

#

(thats what discord calls it)

limber skiff
quaint sapphire
austere talon
grave mangoBOT
austere talon
#

the api would just need to change it to ```js
$1.push(...$self.buildChatbarIcons(arguments[0]))

#

trivial

#

except take the variable props as props

quaint sapphire
#

eh

#

it is more than that tbh

austere talon
#

how

#

it's not

quaint sapphire
#

doesn't check permissions

#

is always there

austere talon
quaint sapphire
austere talon
quaint sapphire
austere talon
#

oh

#

unmerged plugin right

quaint sapphire
#

yeah

limber skiff
#

isnt every plugin going to make their own component

#

wdym export one

austere talon
#

only the svg (and some props to the parents) need to be variable

limber skiff
#

okay I see

austere talon
#

in any case if you do make an api, I would remake Discord's buttons for this proeprly

quaint sapphire
#

this is a proper patch for the chat bar icon
(but uhh, in this case it is specific to mimic the stickers button)

limber skiff
#

wtf is that

quaint sapphire
#

checks for message submit perms

quaint sapphire
limber skiff
#

we already check too

quaint sapphire
#

before you push the icon?

limber skiff
#

it's the disabled thing

#

if you don't have perms disabled is true

austere talon
#
E = (0,
r.jsx)(Hi.Z, {
    className: np().stickerIcon,
    winking: j,
    color: O ? Eb.JX.PREMIUM_TRIAL_TUTORIAL : "currentColor"
});
return (0,
r.jsx)("div", {
    className: a()(ui.CT, np().buttonContainer),
    ref: t,
    children: (0,
    r.jsx)(wh, {
        innerClassName: a()(np().button, np().stickerButton, (S = {},
        Sb(S, np().stickerButtonWithNotification, m),
        Sb(S, np().stickerButtonTilted, j && !b),
        S)),
        onClick: C,
        isActive: b,
        "aria-label": X.Z.Messages.STICKER_BUTTON_LABEL,
        "aria-expanded": b,
        "aria-haspopup": "dialog",
        "aria-controls": s,
        sparkle: !1,
        notification: null,
        children: O ? (0,
        r.jsx)(ah.Z, {
            tutorialType: oh.K.STICKER_PICKER,
            text: X.Z.Messages.PREMIUM_TRIAL_TUTORIAL_STICKER_TOOLTIP.format(),
            unformattedText: X.Z.Messages.PREMIUM_TRIAL_TUTORIAL_STICKER_TOOLTIP_UNFORMATTED,
            children: E
        }) : E
    })
#

looks like our Component would be like

function ChatBarComponent() {
  return (
    <div className={buttonContainer}>
      <wh ...>
        <PluginSvg />
      </wh>
    </div>
  )
}
quaint sapphire
#

eh

#

or just replace wh

#

and take the props it has

limber skiff
#

what

quaint sapphire
#

stealing props

#

its that easy

austere talon
#

yeah use wh

#

but it's not exported lol

austere talon
quaint sapphire
# quaint sapphire

well, in this case we clone the sticker button, thats why I also patch the component for it

limber skiff
#

ok so wh is the button component I see

austere talon
#

it's not exported which is pain but it has a lot of logic including all the hover stuff

limber skiff
#

where's the tooltip though

austere talon
#

so grabbing it is simpler than remaking it probably

quaint sapphire
#

only this has a tooltip

#

and is not part of the button array iirc

austere talon
quaint sapphire
#

should I make an API to integrate with the expression picker?

austere talon
#

so you can use your own tooltip

limber skiff
#

I will see how the gift button does it

quaint sapphire
austere talon
quaint sapphire
#

favourite media could also use it

austere talon
quaint sapphire
#

7TVEmotes

#

i helped them

quaint sapphire
#

if 3 plugins have a use for it, then I believe an API is not such a bad thing

#

the chat bar icon stuff could be part of this API

#

having an API for this also guarantees that plugins won't interfere with each other

#

also, this is cursed

#

tooltip but no highlighting if you are on the edge?

#

(the gift icon also does that)

fresh lodge
limber skiff
#

so does everything

quaint sapphire
#

nope

#

the other icons that don't have a tooltip work correctly

fresh lodge
#

well actually

quaint sapphire
#

they highlight before you even hover over them

fresh lodge
#

the GIF icon is weird

#

it does highlight on the edge

#

but it highlights even more once you hover over it

limber skiff
#

they dont.

quaint sapphire
#

holy shit

#

@austere talon I'd like to remind you that another API is still not reviewed and is waiting for a review or getting merged

#

I bet someone in 2 months will make a new keybinds api PR because this will have not been merged yet

#

just search for Tooltip

#

and see what other plugins do

jagged cloak
#

78th issue for that crap

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

About

This plugin aims to integrate discord with Opera GX's Mods.

What is an Opera GX mod?

They are extensions that can be installed on Opera GX (the browser) to customize the appearance and feel.
They are pretty nice since they usually have background music and keyboard sounds.

You can find more here!

Disclaimer

I won't accept any help for this PR other than reviews by the maintainers.
Please don't spam the comments with "when will this be rea...

austere talon
#

opera gx husk

quaint sapphire
#

I don't understand the hate

#

is it bc it is advertised as a gaming browser?

#

Let me get this straight with you, this plugin will offer way more advanced theming capabilities.

anyone can make their own mod
https://github.com/opera-gaming/gxmods

Don't hate this just bc of opera gx

#

heck, discord "mod"s for opera gx already exist (albeit they all suck)

#

and how does that relate to a vencord plugin that only gets themes from it?

#

am I talking to a wall?

#

the plugin only gets the themes from the theme store ffs
i also plan to allow loading local themes

#

but what?

#

I don't want you to suggest me what to do

#

If I did not enjoy doing this, I wouldn't do it.
It is the best use of my time.

#

and how does that carry on to a plugin that does not give data to opera?
not even ur ip, I use a cors proxy

austere talon
quaint sapphire
#

and why the husk ?
the plugin itself is not spyware

#

the community is toxic indeed, but I don't have to participate in the community to use the browser, so that is not a valid point

#

besides, this is a vencord plugin, not the browser

austere talon
#

bro

#

i just reproduced that settings issue

#

if u get a ping while in plugins page it clears filter & scrolls u up

#

wtf

stark flint
#

yep

austere talon
#

but why

#

makes no sense

austere talon
#

for some reason this thing reruns if u get a ping

#

we love discord

charred monolithBOT
austere talon
#

discord makes me upset

#

why does getting a ping rerender the entire settings

jagged cloak
# charred monolith

release as userplugin for ppl who use discord in browser lmao
oh wait browser nerds cant use 3p plugins anyway lmaooo

#

venchord desktop finish when

charred monolithBOT
median rapids
charred monolithBOT
charred monolithBOT
stark flint
#

Again?

charred monolithBOT
austere talon
limber skiff
#

LOL

#

we will put a giant message in the Soundboard ui

limber skiff
austere talon
limber skiff
#

theme files and theme links sections

austere talon
#

that's probably fine

austere talon
#

I like it but the double tabbar looks kinda bad anyway tbh

limber skiff
#

well you got rid of the other tabbar anyways lol

austere talon
#

idek why it happens

limber skiff
charred monolithBOT
median rapids
#

my plugin will be in purgatory forever ๐Ÿ˜”

charred monolithBOT
jagged cloak
#

trol

#

tab bar lived for like 2 or 3 months

jagged cloak
#

tis a shame i kinda got used to it after saying it was redundant lmaoo

charred monolithBOT
jagged cloak
#

wtf boom

austere talon
#

@median rapids ive mainly been donowalling cause i cant test it at all

#

i have analytics off

austere talon
#

btw lint is failing @quaint sapphire

charred monolithBOT
austere talon
jagged cloak
#

meh

austere talon
#

im thinking like

jagged cloak
#

could have an action with settings dropdowns for every enabled plugin shrug

#

if you want generic

austere talon
#

add a category like

Settings Quick Access

Plugin1
Plugin2
Configure plugins >

jagged cloak
#

ah yeah

austere talon
#

and configure plugins is one of these

#

with every enabled plugin that has settings

#

or opens a modal maybe

#

cause there might be a shit ton of plugins lmao

jagged cloak
#

yeah lol

austere talon
#

what do u think

jagged cloak
#

i dont see people adding a bunch of plugins though its supposed to be quick access lol

austere talon
#

like this haha

#

imagine having 50 plugins there

jagged cloak
#

yeah that shoudl be a modal

frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 688941
Match: /"recents".+?null,(?=.{0,120}?channelId:([A-Za-z_$][\w$]*)\.id)/

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 ```
limber skiff
#

noooooo

#

it's been so long since shc broke

jagged cloak
#

no way

austere talon
#

hop on fixing

frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 688941
Match: /"recents".+?null,(?=.{0,120}?channelId:([A-Za-z_$][\w$]*)\.id)/

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 ```
limber skiff
#

you probably just have to make the quantifier bigger

austere talon
#

i dont even use shc

limber skiff
#

or just make it infinite

limber skiff
austere talon
#

HOW DOES IT HAVE SO MANY PATCHES

limber skiff
#

LOL

#

BECAUSE IT'S COMPLEX

austere talon
#

WHAT THE FUCK

#

insanity

limber skiff
#

it supports viewing all types of channels

#

fixes a hundred unread issues

#

and other stuff

austere talon
#

lol yeah its just increase quantifier

limber skiff
#

guh

#

make it .+?

charred monolithBOT
austere talon
limber skiff
#

nice

austere talon
#

why are so many people allergic to newlines

#

@verbal pumice please use more newlines in ur code ๐Ÿ™

#

split up each small section of code

#

makes it so much more readable

#

blessing and a curse

#

i absolutely hate the way prettier looks but i do have to say it's better in big projects with many contributors

#

i would never use prettier in my own private project but if i remade vencord from scratch i would use prettier because it's painful when people pr terribly formatted code

#

yeah

#

i wish prettier allwoed you to override its behaviour

austere talon
austere talon
austere talon
limber skiff
#

@austere talon add no trailing comma rule

austere talon
#

oops

#

i stopped donowalling

limber skiff
#

PORTUGUESE

austere talon
#

forgor to disable

fresh lodge
#

good

limber skiff
#

portuguese is not torture ๐Ÿ˜’

austere talon
#

i love translate plugin idk why i didnt make it earlier

#

so good

#

wait i should add to README

charred monolithBOT
median rapids
limber skiff
#

but fr can we have no trailling comma rule

austere talon
#

vou aprender portugues logo

#

LOGO PORTUGUรŠS

#

does logo both mean logo and soon

#

lmao

limber skiff
#

yes

fresh lodge
#

I thought it would've meant later

limber skiff
#

depends on the context

charred monolithBOT
#

No, the whole point of this function is to figure out what users Discord treats as implicit relationships and insert them into cache. nonFriendAffinities is just user affinities that you do not have an existing real relationship with.

Implicit relationships aren't actually stored as relationships on Discord's end, so they aren't sent in READY or normal GET /users/@me/relationships calls. Implicit relationships themselves are a GameSDK artifact that was kept alive when they added the ...

median rapids
#

@austere talon what does \i do?
that suggestion breaks the code

austere talon
#

that suggestion breaks the code
yes because i changed it to match the entire thing as one group

median rapids
#

ah

austere talon
#

\i will match M and pJs

median rapids
#

is this a vencord-specific thing

austere talon
#

yes

median rapids
#

alr

#

is there any way to refresh this when i finish retrieving implicits?

austere talon
#

react state

median rapids
#

i know next to nothing about react

#

i tried calling the .reset() function but it didn't do anything ๐Ÿ˜”

austere talon
#

u can just run it urself locally

#

pnpm test

#

but sure, just did!

#

@median rapids ur other patches use .{1,3} and [^;]+ a lot

#

those can also mostly become \i

#

also + is very dangerous, always use +?

austere talon
charred monolithBOT
charred monolithBOT
median rapids
#

ill change what i can !!

jagged cloak
#

thats what i was saying lol

#

but ig they added username to it

#

in older it was just the discrim

median rapids
charred monolithBOT
austere talon
#

pog it sent twice

#

we love shithub

tame escarp
#

now you don't need any of their jazz

austere talon
charred monolithBOT
austere talon
# charred monolith

theyre actually pretty simple once u get the gist of it and super powerful @median rapids

#

(?=) is a lookahead
(?<=) is a lookbehind

like the names imply, they look ahead and behind

#

/a(?=b)/ matches a followed by b (but only matches the a, not the b)

#

/(?<=a)b/ matches b but only if it it's preceded by a

#

there are also negative (negated) lookarounds (?!) and (?<!) which do the same but negated, so /a(?!b)/ is a not followed by b

#

then there's also putting lookbehinds after the match instead of before which is even more powerful and which you'll see in a lot of vencord patches: /a(?<=ba)/. This will first find a, then walk back to find ba. It's the same in this case, but you could for example do smth like /banana(?<=function (\i).+?banana)/ which will first find banana, then walk back until it finds the first named function, which is incredibly useful for capturing variable/function names

median rapids
#

ty!!

charred monolithBOT
jagged cloak
#

shit clicking

austere talon
#

LOL

#

real

#

@crude drum btw u can also talk here if that's more convenient

crude drum
#

yeah

crude drum
austere talon
#

tbh i don't use the no reply mention plugin so I have no idea how it works honestly

crude drum
#

I think my pr intends to do the same thing, the existing setting just dosen't actually work

#

so I just removed it and made the logic more readable (no ternary with comparisons)

crude drum
austere talon
#

what

#

that sounds so stupid

crude drum
#

it is

austere talon
#

the bot I mean

#

that sounds like those people are really annoying people you probably don't want to be around ngl

crude drum
#

well the reasoning is people not reading the project wiki and then pinging the dev for help so I understand it

austere talon
#

I guess, we have the same problem here and it's mentioned in #rules but that should only apply to

hi @crude drum how to download vencord??

and not replies

crude drum
austere talon
#

doubt

crude drum
#

its his server ยฏ_(ใƒ„)_/ยฏ

austere talon
#

they probably just have like
if (message.mentions(staff))
message.author.mute()

crude drum
#

yeah they do

austere talon
#

and forgor about replies

#

Well anyway

crude drum
#

this is what it shows now, since I couldn't figure out if the other option was actually supposed to do anything else

austere talon
#

stupid regardless, I don't understand people who hate reply pings

I'm literally replying to you, why would I not mention u

crude drum
#

idk some people really dont like them for some reason, its surprisingly common

#

heck, I need to make a patch to force ping me if someone replies and turns it off

austere talon
austere talon
#

I want that too, I hate when people reply without reply ping

crude drum
#

the worst part is that the message isnt even highlighted

austere talon
#

make it a plugin and name it YesReplyPing

crude drum
#

lol yeah

#

I have about 0 experience with js so IDK how that will go. I'm currently editing this in emacs with no syntax highlighting just loading it into chromium lol

austere talon
#

I highly recommend u use vscode/nvim/micro

crude drum
#

I used to use nvim but this works slightly better for me

crude drum
#

I can put it back, just not sure what the reason for it to exist is

crude drum
charred monolithBOT
crude drum
#

(added for the benefit of anyone reading the issue)

charred monolithBOT
#

About ActivityIcons:

  1. It shouldn't show the rpc icon at first. Example if user is only listening to spotify, shows only the headphone icon, not rpc icon & headphone icon.

  2. Use rpc icon for rpc activity instead of controller icon.

  3. If user are only playing a detected game, it should show controller icon instead of nothing. (Currently it only shows that when you have another activity at the same time)

quaint sapphire
# frail sky

its funny how discord has registered a keybind for the soundboard, but no callback exists

#

so the keybind is disabled

charred monolithBOT
#

It shouldn't show the rpc icon at first. Example if user is only listening to spotify, shows only the headphone icon, not rpc icon & headphone icon.

Sure

Use rpc icon for rpc activity instead of controller icon.

Huh?
I never used the controller icon for rpc activity.
I only use it when an activity is of the type "playing".

Don't blame my plugin if people have "playing" as the activity type in their rich presence.

If user are only playing a detected game, it should show ...

quaint sapphire
#

@cunning canyon I think you are a little bit confused

#

one activity can have two icons, if it is the only activity and it is a game or music

#

i think your 3rd point in the comment is wrong

charred monolithBOT
cunning canyon
#

or z 3kh0

quaint sapphire
#

really weird

#

ok I think I know the reason

#

discord doesn't show an icon at all

#

even with the plugin off

#

I only replace the icon component that discord shows

#

if it doesn't show it, then its not a bug of the plugin

#

but yeah I will try and fix

cunning canyon
#

Don't blame my plugin if people have "playing" as the activity type in their rich presence.

but the rpc like vscode, premid,... all are playing by default, i think these should show as rpc icon instead of controller like detected game.

quaint sapphire
#

discord checks if any of the activities match a specific condition before rendering the icon

function i(e) {
            return null != e && e.type !== r.IIU.CUSTOM_STATUS && (null != e.details || null != e.assets && (null != e.assets.large_image || null != e.assets.small_text) || null != e.party || null != e.secrets || null != e.state)
        }
#

t.some(i)

#

ig I can patch that

quaint sapphire
#

am I going to use AI to guess which title is a game and which is not?

#

did a message of mine vanish?

cunning canyon
quaint sapphire
#

are you ignorant or are you doing this on purpose?

#

a game can have, and will have rich presence
not having a platform means its not xbox/playstation or some edge case

#

I could assume that an activity is not a game

#

and then someone else would come and say "hey, this is a game, why is it displaying as an activity"?

cunning canyon
#

bd plugin checks that to show the rpc icon

#

screenshot from bd plugin

quaint sapphire
#

do you know how irritating it is when someone keeps sending messages to convince me to do smth that I am already working on?
and on top of that I can't justifiably get angry at you because I never said that I am working on it

#

please stop

quaint sapphire
#

@cunning canyon look man, I don't know what witchery the BD plugin does, but there really is no way to differentiate between vscode and vrchat

#

and vrchat is a game

#

the activity says it is a game, I can't do anything about that

#

you either have no game controllers, or only game controllers

agile garnet
#

in what language is vencord writen

#

?

#

oh i thought like c or something like that

#

ok thx

charred monolithBOT
verbal pumice
#

does flux care if i dispatch and subscribe events other than discord's one? is there anything stopping me from using flux in my own components

quaint sapphire
#

why ask when you can try and tell us!

#

but legit I haven't seen any event declaration in flex, only listeners and emitters

verbal pumice
#

probably used the wrong word for it

vestal grove
#

you can do whatever you want with flux

austere talon
#

it force loads every single chunk so it causes weird false errors

austere talon
austere talon
#

but I would usually avoid it, as there are better ways to do stuff imo

#

unless you have a good use case

verbal pumice
#

asked more out of curiosity than having an actual use case tbh

austere talon
charred monolithBOT
charred monolithBOT
austere talon
#

--enable-blink-features=MiddleClickAutoscroll

#

might work

austere talon
#

?

#

why would u use an entire package for that, when the chromium flag exists

charred monolithBOT
jagged cloak
stark flint
#

Showing the RPC icon vs showing the controller icon when the "Playing" status isn't or is a game

jagged cloak
#

ah ok

#

ig you could check if the application is a title in discords RegisteredGameStore or whatever it's called

#

since vscode wouldn't be in there but GTAV or vrc would be

austere talon
#

that'd be doable ye

cunning canyon
#

bd plugin is just if it has assets/details then rpc icon else controller icon
but i guess he doesn't like that or something

limber skiff
#

~~```js
const isGame = findStore("RunningGameStore").getRunningGames().find(game => game.id === "some id") != null;

#

that's how you find if an application is rpc or a game

torpid raft
#

Is there something wrong with my local dev env, or did someone break the build?

โ–ฒ [WARNING] Use "src/api/Settings.ts" instead of "src/api/settings.ts" to avoid issues with case-sensitive file systems [different-path-case]

    src/userplugins/animatedStatus/index.ts:19:47:
      19 โ”‚ import { definePluginSettings, Settings } from "@api/settings";
         โ•ต                                                ~~~~~~~~~~~~~~~

โ–ฒ [WARNING] Use "src/api/Settings.ts" instead of "src/api/settings.ts" to avoid issues with case-sensitive file systems [different-path-case]

    src/userplugins/animatedStatus/index.ts:19:47:
      19 โ”‚ import { definePluginSettings, Settings } from "@api/settings";
         โ•ต                                                ~~~~~~~~~~~~~~~

โœ˜ [ERROR] No matching export in "src/utils/Logger.ts" for import "default"

    src/userplugins/animatedStatus/index.ts:20:7:
      20 โ”‚ import Logger from "@utils/Logger";
         โ•ต        ~~~~~~

โœ˜ [ERROR] No matching export in "src/utils/Logger.ts" for import "default"

    src/userplugins/animatedStatus/index.ts:20:7:
      20 โ”‚ import Logger from "@utils/Logger";
         โ•ต        ~~~~~~
limber skiff
#

what's giving that warning?

#

ye

#

wtf is this

austere talon
torpid raft
#

So, no one else is getting the "no matching export" error when building latest main branch?

limber skiff
#

it gives the raw text

austere talon
#

animatedStatus is also against rules dogsmirk

#

In any case you need to just update your imports, they have moved slightly

limber skiff
austere talon
#

yeah I saw

limber skiff
#

test

#

wheww

austere talon
#

view raw still useful tho

limber skiff
#

yeah

#

that's a good addition anyways

austere talon
#

they've had copy text on mobile for ages

#

surprised it took them this long to port it to desktop

limber skiff
#

and it copied raw?

austere talon
#

ye

limber skiff
#

dang

#

I didnt know that

#

ah

#

it's cuz the old kotlin app just copies the plain

austere talon
#

ye

#

but RN has it

limber skiff
#

yeah I barely used RN

cunning canyon
limber skiff
#

oh

#

I didnt think of that lmao

#

freak

cunning canyon
limber skiff
#

that wont work though

#

people can add custom games

#

we still want to display those with the icon controller

#

lol discord is adding a badge for migrating username

#

I wonder if the badge will have your old name

austere talon
#

I kinda wanna port some plugins to BD trolley

#

just to test the waters, I wanna see what the post swc DX is like

torpid raft
#

thanks, everyone.

verbal pumice
#

its toggleable

#

no way they were stupid enough to make it permanent

torpid raft
#

also, is it worth submitting a PR to update the .eslintrc.json because I keep seeing this and it makes me sad:

 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
*/

(that last line should be indented 1 space, at least IMHO)

austere talon
#

wdym?

limber skiff
#

no

austere talon
#

why do you want to maintain a 3tb json of games manually

#

wdym context

#

there's no context!

stark flint
cunning canyon
stark flint
grave mangoBOT
#

**Status.tsx: **

import { FC } from "react";
import { useLanyard } from "react-use-lanyard";

const Status: FC = () => {
    const { loading, status } = useLanyard({
        userId: "694604709591384226",
        socket: true,
    });

    const getColor = () => {
        switch (status?.discord_status) {
            case "online":
                return {
                    status: "online",
                    color: "text-green-600",
                };
            case "idle":
                return {
                    status: "idle",
                    color: "text-yellow-700",
                };
            case "dnd":
                return {
                    status: "busy",
                    color: "text-red-700",
                };
            default:
                return {
                    status: "offline",
                    color: "text-grey-500",
... (35 lines left)
austere talon
#

is game isn't a thing

#

the code u sent checks if it's modern warfare husk

#

no

stark flint
#

Yeah just use a case for each game name and have a 5TB plugin

austere talon
#

the plugin should work for any game

#

do you really think hardcoding thousands of games is a good idea

stark flint
#

:^)

austere talon
#

there needs to be a generic way to detect it

crisp bison
#

does work on soundboard go on?

stark flint
#

?

limber skiff
#

what do you mean?

stark flint
#

If you're talking about global soundboard for FakeNitro, not possible

crisp bison
#

i mean use sounds from different servers

limber skiff
#

yeah not possible @crisp bison

#

sorry

stark flint
#

I'm sure it would've been figured out instantly if that's how it worked

#

There's a reason it's still an ongoing topic :P

austere talon
#

that isn't actually a thing tho

#

oh no dolfies is typing

#

what does he know that we don't know

median rapids
#

just check if the app id is in GET /applications/detectable

#

the client stores that somewhere

austere talon
#

yeah that was already mentioned above

limber skiff
#

it doesnt work for all cases sadly

#

because people can add custom games

austere talon
#

but that data is likely in the native discord part aka discord rpc, not the renderer

#

So we can't access it without loading that massive json into ram

median rapids
median rapids
#

I'll look later!!

stark flint
#

You can say that about so many plugins

limber skiff
stark flint
#

I don't see the issue

limber skiff
stark flint
#

It's an aesthetic thing, let it be lol

#

I don't see the problem

limber skiff
#

does anyone remember where discord stores people activities

median rapids
#

presence store?

limber skiff
#

thank you

#

make the selector more specific

austere talon
#

pretty simple, wrap it in your own component

#
<div class="vc-someplugin-wrapper">
    <div class="wrapper-2892c">
#

then .vc-someplugin-wrapper [class^=wrapper]

limber skiff
charred monolithBOT
limber skiff
#

it doesnt work

quaint sapphire
#

Oh

austere talon
#

@limber skiff

limber skiff
#

what's the meaning ๐Ÿ˜ญ

quaint sapphire
#

The ears

#

Are fake

austere talon
charred monolithBOT
#

Discord Account

Iokza#9141

What is it that you'd like to see?

English :

I think it would be cool to be able to apply our own plugins from an interface where we could add our own plugins or BetterDiscord plugins! Either through a kind of Repo plugin or like for the themes from the github links in RAW mode!

French :

Je pense que ce serais cool de pouvoir appliquer nos propres plugins depuis une interface oรน on pourrait ajouter nos propres plugins ou des plugins de BetterDis...

median rapids
wise rain
#

@austere talon what about this plugin with 7tv emotes

#

?

jagged cloak
#

make work then

#

lol

ivory idol
verbal pumice
ivory idol
#

okok thank you

charred monolithBOT
stark flint
#

another one

verbal pumice
#

not again

limber skiff
#

broo there is no way

lime stone
#

maybe add a note in the ui at this point

jagged cloak
#

replace this with FAKE NITRO SOUNDBOARD IS NOT POSSIBLE

charred monolithBOT
#

Using the middle mouse button to scroll isn't supported by default and you need a plugin for that.

That is a linux issue and not a discord issue imo.
The middle click button on linux is by default behaving as the paste button. (no such button exists, but thats what its called)
Have you tried changing how the middle click behaves?

https://unix.stackexchange.com/a/421672

charred monolithBOT
quaint sapphire
#

I'd rather you use [role="article"] > div > .vc-betterblockedusers-main

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Gonna close this because it's not the right way of fixing it as mentioned above. Please still provide more info / open a proper fix pr if you can figure it out yourself

For some reason I can't reproduce it now.. Weird because I had been experiencing it for a while and I have not changed anything within Vencord. Although my whole local cache got restored (when I got banned) so maybe the issue had something to do with that? No clue tbh

quaint sapphire
austere talon
#

should be merged with split messages i think

quaint sapphire
#

you plan to merge that?

#

ew

#

Honestly I don't get why

#

image utilities is fine being split into multiple plugins, but you want to merge two not so related plugins?

austere talon
#

what

#

Split more than 10 attachments into multiple messages
split more than 2k/4k chars into multiple mesages

#

almost the same thing

quaint sapphire
#

and why are the image related plugins not merged?

austere talon
#

because they have entirely different purposes

quaint sapphire
#

smh

#

I don't like the code of split large messages, I don't want my plugin to be contaminated by it

austere talon
#

then rewrite it

austere talon
#

i mean

#

we can also merge it like this

#

but

quaint sapphire
#

sry, hafta go

austere talon
#

it would make sense for these two plugins to be combined imo

tame escarp
#

shrimply merge every vencord plugin into a single one

quaint sapphire
tame escarp
austere talon
austere talon
tame escarp
#

maybe the plugin can even patch the vencord settings to show its settings in its own page

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 ```
tame escarp
#

and to make it easier for the user, separate them into uniquely named settings groups that show their features

#

and- ah shit i just reinvented plugins

frail skyBOT
#
Bad Patches

MoreUserTags (had no effect):
ID: 175072
Match: /(switch\(([A-Za-z_$][\w$]*)\){.+?)case ([A-Za-z_$][\w$]*)\.BOT:default:([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.Messages)\.BOT_TAG_BOT/

MoreUserTags (had no effect):
ID: 175072
Match: /([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*)===[A-Za-z_$][\w$]*\.ORIGINAL_POSTER/

MoreUserTags (had no effect):
ID: 175072
Match: /children:\[(?=[A-Za-z_$][\w$]*,\(0,[A-Za-z_$][\w$]*\.jsx\)\("span",{className:[A-Za-z_$][\w$]*\(\)\.botText,children:([A-Za-z_$][\w$]*)}\)\])/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 Cannot access 'ofe' before initialization ReferenceError: Cannot access 'ofe' before initialization
    at Module.default (WebpackModule138875:2:50)
    at VencordWeb:12:719
    at VencordWeb:5:8698
    at [vencord.lazy.get] (VencordWeb:5:7061)
    at xr.<computed> [as get] (VencordWeb:5:7472)
    at Object.handleProtoChange (VencordWeb:33:21924)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:766
    at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9350:818
    at n (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:743)
%c[GatewaySocket] 
font-weight: bold;
color: purple;
 Cannot read properties of undefined (reading 'appearance') TypeError: Cannot read properties of undefined (reading 'appearance')
    at Object.handleProtoChange (VencordWeb:33:21802)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:766
    at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9350:818
    at n (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:743)
    at t._dispatch (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9361:83)
    at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:429
    at i.log (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9350:782)
    at t._dispatchWithLogging (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:368)
    at t._dispatchWithDevtools (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9359:797) ```
woeful sable
#

uh ohhh

charred monolithBOT
somber ginkgo
#

would a plugin or a feature of a plugin that always enables the aria-controls attribute on elements regardless of focus be viable?

#

your plugin will now not be merged for 9 weeks

#

its accessibility stuff, but its useful for identifying elements using css

#

open devtools and look at the attributes of the elements that make up the sidebar in user settings, then click between them, as an example

#

there was a time when the attribute was always there, but they changed it so it only shows when the thing its representing is focused

limber skiff
#

this is not good

#

that's a bad function to error (it can brick your client)

#

huh?

#

wdym its fine

charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
austere talon
#

aria-* attributes are purely for semantics, they don't alter behaviour

somber ginkgo
austere talon
#

do u mean the funny Cannot access 'ofe' before initialization

#

i'm pretty sure that's an error related to discord_rpc not being a thing lol

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 ```
limber skiff
austere talon
#

fix the fake nitro one

#

i made bd plugins today to test what it's like

#

regex patching is so much nicer, monkey patching is horror

limber skiff
frail skyBOT
#
Bad Patches

MoreUserTags (had no effect):
ID: 175072
Match: /(switch\(([A-Za-z_$][\w$]*)\){.+?)case ([A-Za-z_$][\w$]*)\.BOT:default:([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.Messages)\.BOT_TAG_BOT/

MoreUserTags (had no effect):
ID: 175072
Match: /([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*)===[A-Za-z_$][\w$]*\.ORIGINAL_POSTER/

MoreUserTags (had no effect):
ID: 175072
Match: /children:\[(?=[A-Za-z_$][\w$]*,\(0,[A-Za-z_$][\w$]*\.jsx\)\("span",{className:[A-Za-z_$][\w$]*\(\)\.botText,children:([A-Za-z_$][\w$]*)}\)\])/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 Cannot access 'ofe' before initialization ReferenceError: Cannot access 'ofe' before initialization
    at Module.default (WebpackModule138875:2:50)
    at VencordWeb:12:719
    at VencordWeb:5:8698
    at [vencord.lazy.get] (VencordWeb:5:7061)
    at xr.<computed> [as get] (VencordWeb:5:7472)
    at Object.handleProtoChange (VencordWeb:33:21924)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://canary.discord.com/assets/621d1db1347e5e19e8d9.js:9360:766
    at https://canary.discord.com/assets/621d1db1347e5e19e8d9.js:9350:818
    at n (https://canary.discord.com/assets/621d1db1347e5e19e8d9.js:9360:743) ```
austere talon
#

this time it didnt happen lmao

#

seems like it's an one off thing

limber skiff
#

I'm leaving for travel at 1am (it's 9pm rn)

austere talon
#

where u heading

limber skiff
#

and I only get home 10pm

#

I'll try to see why this error is happening

limber skiff
#

the error is getting thrown inside the handleConnectionOpen

#

...why

#

oh wait

#

it's cuz it's trying to find the proto

quick ibex
#

โœจ

limber skiff
#

and then the error is thrown yeah makes sense

#

odd it never happened before

charred monolithBOT
charred monolithBOT
verbal pumice
# frail sky

also broke settings on canary gon
wait no it broke everything where badges are shown

verbal pumice
charred monolithBOT
quaint sapphire
#

just curious

golden gulch
#

@quaint sapphire you clearly do not know the cutecord lore ๐ŸŒบ

charred monolithBOT
quaint sapphire
golden gulch
#

i feel insulted

jagged cloak
#

powercord cutecord

#

lmao

stark flint
#

what a throwback

charred monolithBOT
#

Can't build your vencord fork:

`Build failed with 3 errors:
src/plugins/betterMicrophone.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default"
src/plugins/betterScreenshare.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default"
src/plugins/philsPluginLibrary/discordModules/components.tsx:19:9: ERROR: No matching export in "src/utils/misc.tsx" for import "LazyComponent"
2 warnings and 3 errors...

verbal pumice
#

oh

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Discord Account

Dea#9535

What is it that you'd like to see?

Problem

Now with 122+ plugins, the 2x61 plugin list in Vencord is becoming difficult to parse through. The average consumer isn't going to read commit histories in the repo or updater to see if new plugins get added (actually just me / skill issue). This results in new plugins that get added to get buried and making the list more unbearable to read through.

Solution 1

On the client, add a Hide button somewhere t...

limber skiff
#

perhaps move to another place with more space

#

add images

#

make the boolean option a switch ๐Ÿ˜‚

jagged cloak
#

me making settings component for switch before realizing i really ain't reinventing the wheel for no reason

charred monolithBOT
#

Discord Account

spooky soapยฎ#6676

What happens when the bug or crash occurs?

it crashes when I even select another server or a dm
or go into user settings n shit

What is the expected behaviour?

it just crashes

How do you recreate this bug or crash?

random

Errors

Routing/Utils] transitionTo - Transitioning to /channels/1095049221545132213/1095049221545132216
fd1f9ea7de3b25548016.js:5487 [Routing/Utils] transitionTo - Transitioning to /channels/11069175227600...
jagged cloak
#

just jeep it named emotecloner lol

#

people not good enough to tias that it it also clones stickers have skill issue

austere talon
#

someone fix whoreacted shenanigans

jagged cloak
#

pin yhat issue before 500 of them get made

charred monolithBOT
stark flint
#

when the user doesn't read the reply from the dev and just adds another useless comment to the post

jagged cloak
#

that guys profile please

#

makes sense his eyes are getting old

#

lol

stark flint
jagged cloak
#

guh should be below guhgaming

austere talon
#

is that regarding the pr

charred monolithBOT
jagged cloak
#

yeah

#

it is now though

#

which is odd

charred monolithBOT
charred monolithBOT
sand estuary
#

Can someone help me, i wanna start making plugins but i don't know how to start

verbal pumice
sand estuary
verbal pumice
#

?

#

as in find the plugin source?

sand estuary
verbal pumice
charred monolithBOT
#

Can't build your vencord fork:

`Build failed with 3 errors: src/plugins/betterMicrophone.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default" src/plugins/betterScreenshare.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default" src/plugins/philsPluginLibrary/discordModules/components.tsx:19:9: ERROR: No matching export in "src/utils/misc.tsx" for import "LazyComponent" 2 warnings and 3 erro...

quaint sapphire
#

you don't download plugins

#

you build vencord with external plugins if that is what you meant

#

the plugins bundled with vencord are in the source code of vencord

#

so you can't have vencord w/o having plugins