#👾-core-development

1 messages · Page 143 of 1

turbid hatch
#

cant unless tupperbox has an api which i dont see

crude raptor
#

actually i think they specifically mentioned that issue

turbid hatch
#

hm?

crude raptor
#

i discussed it with them before and i think they actually mentioned tupperbox not having an API

turbid hatch
#

then yeah its impossible

crude raptor
#

i mean can still do uhhh

#

pluralkit and other bots that do have APIs

#

and auto-nicknaming and switch tracking

past meteor
turbid hatch
#

im only aware of pk having an api

#

ive not seen any other

turbid hatch
#

it's not something i want to make

crude raptor
jagged cloak
#

whats diff between brain rot and rot of brain

#

lol

crude raptor
#

DAMNIUT I KEEP FORGETTING I HAVE THE CATSPEAK TEXTOPKLRWEACE

jagged cloak
#

XDD

past meteor
turbid hatch
#

well yes but i mean

jagged cloak
#

gj

turbid hatch
#

any production bots

#

cause i know theirs is still wip

crude raptor
#

idk its available i added it to a server and tried it out

#

i think im using it there actually- i forget tho

past meteor
#

hmm

turbid hatch
#

shrug

crude raptor
#

i still think it would be a cool plugin to have

#

even if, for now, it was just a pluralkit helper

topaz thistle
#

Is there a PR for this?

#

Holy fuck this took ages to find lmao

warped turret
#

How can I update Menu.MenuCheckboxItem on click?

Currently it updates only when I close and open context menu again

import { Menu } from "@webpack/common";
import { addContextMenuPatch } from "@api/ContextMenu";
import { definePluginSettings } from "@api/Settings";
import definePlugin, { OptionType } from "@utils/types";

const settings = definePluginSettings({
    foo: {
        type: OptionType.BOOLEAN,
        description: "",
        default: false,
    },
});

const contextItem = () => {
    return <Menu.MenuItem
        id="my-context"
        label="TestMenu"
    >
        <Menu.MenuCheckboxItem
            id="my-context-foo"
            label="Foo"
            checked={settings.store.foo}
            action={() => settings.store.foo = !settings.store.foo}
        />
    </Menu.MenuItem>;
};

export default definePlugin({
    name: "ContextSelect",
    description: "",
    authors: [],
    patches: [],
    settings,
    start() {
        addContextMenuPatch("message", children => () => {
            children.push(<Menu.MenuSeparator />, contextItem());
        });
    }
});
austere talon
warped turret
austere talon
#

like i said we haven't figured out a good way

#

figure it out yourself

lost frost
#

Hi is it possible to do a plugin like when a friend :
Change statu / go in stream / screenshaare / hearing x on spotify etc ?
I don't think one is existin on vencord

turbid hatch
#

what?

lost frost
#

Yes having notification in desktop from friends, when they swap statu / online/offline/hearing x oon spotify / live on x etc
Its possible with another modclient but not available on vencord it can be cool

charred monolithBOT
verbal pumice
#

aint no way

teal halo
#

LMFAO

verbal pumice
#

cant recreate but i would believe discord is capable of pushing such a stable update

charred monolithBOT
#

as comical as this would be to fix for them, we shouldn't really be writing patches for their own broken code in the first place (yes, we have other "fix" plugins, but in reality they're actually just features disguised as fixes), especially since what this targets will be fixed in one or two client versions

also, this doesn't seem to happen for everyone, so it would be confusing to introduce such a plugin to fix a non-issue.

turbid hatch
#

yes, arguably, modding the client means we are having to deal and work with broken code sometimes, but we're mostly adding features or fixing minor things, not trying to fix critical bugs in the base client

spark pivot
#

Ig some people don’t have it because they don’t have an emoji in a server their in named ‘default’

turbid hatch
#

and again, because this is happening, discord will most certainly push out an update to fix this, so it wouldnt even make it into vencord main before this becomes an unneeded patch most likely

#

i do

#

but it doesnt crash

#

so i dont know

spark pivot
#

Huh

#

Yeah it’s weirdly inconsistent

tame escarp
#

and there is an api to a certain extent, the dashboard exists

#

it's just not public or documented

#

(not as if that's a barrier to entry in vencord, considering the translation plugin uses a random google api that also isnt officially public or documented)

#

one day. i promise

crude raptor
charred monolithBOT
turbid hatch
#

that build is taking an awfully long time

#

vf nix

#

vping

#

vfaq

#

vs

#

vns

nimble pendantBOT
turbid hatch
#

uh

#

okay

#

vf tos

#

does it not work here??.

#

hm okay

verbal pumice
#

cause this isn't the support channel

turbid hatch
#

i dont understand why that build on cloudflare failed

#

it spent a really long time doing something and then errored

surreal fiber
turbid hatch
#

i cant see the logs since i dont have admin rights on ven's account but

#

rerun the deploy!

charred monolithBOT
turbid hatch
#

i love empty commits

#

yep

#

that fixed it

#

🎉

charred monolithBOT
livid heath
dusky sonnet
#

But what if I want to ping everyone except a specific person >:)

dusky sonnet
#

But were they not mutually exclusive? :o

livid heath
#

that changed thanks to amia prayumaru

#

better UX now

dusky sonnet
#

Oh I see

#

Very nice

#

Now we just gotta hope it gets merged

livid heath
#

@turbid hatch users already use allowed_mentions (client just sets parse to everything) so as far as i can tell sending users & roles fields should be safe

charred monolithBOT
#

Steps To Reproduce

  1. Go to any channel/group/chat.
  2. Start typing an emoji name. For example :sk (for the :skull: emoji)
  3. Type another letter, try to delete one, etc. will make the app crash and you will be met with a white screen and sometimes a Vencord notification warning telling you the app crashed.

What was supposed to happen?

Once continuing to type the emoji name it should refresh the list of available emojis which appears above the chat box. It shows emojis with a ...

livid heath
#

cannot repro latest vencord

charred monolithBOT
crystal bay
# charred monolith

having this happen as well joined to see if I could install previous version lol

spark pivot
#

Not vencord, discord issue

#

Some people have it some people don’t

#

It’s really inconsistent but it’s not a vencord bug

#

Prob some race condition

livid heath
#

appears to only happen when an emoji is called default

spark pivot
#

Yeah

spark pivot
#

Someone said it happened to them and they didn’t have an emoji named default

turbid hatch
#

regardless it's a discord bug

spark pivot
#

I’ll test later by making one

#

Yeah

turbid hatch
#

doesnt matter what the causes are right now, we know default triggers it but there are potentially other things

spark pivot
#

Add it to Tessie

main trout
#

Tessie w

umbral hillBOT
limber skiff
#

I think I can make crash handler close the emoji popout and recover successfully

#

maybe clear the text being typed too

charred monolithBOT
smoky estuary
#

i can't get my plugin to work on the discord client. any ideas why? it doesn't show up in the pkugin list

#

i got mentioned

#

@limber skiff if it's you maybe you could help me with the issue i followed the 1_INSTALLATION but i don't see the changes on my client even after CTRL + R

charred monolithBOT
limber skiff
#

@austere talon can we have a push to main, this last commits helps with discord emoji picker crashing

smoky estuary
#

it runs on the default folder for some reason and not the dev folder. why? it doesn't work :<

austere talon
#

Read the warning on top of the guide you read and also read rule 5

charred monolithBOT
smoky estuary
#

oh okay

smoky estuary
#

how do i access discord source code?

spark pivot
#

You cant

smoky estuary
#

so how do i make patches

spark pivot
#

You can access minified code in inspect element

#

Also get react devtools

smoky estuary
spark pivot
#

Not on my pc so cant

#

Look at other plugins

smoky estuary
spark pivot
#

By using react devtools

#

And crtl shift f

smoky estuary
#

oh

#

so should i use the web and not the app?

#

can we go to dms? @spark pivot

#

if it's okay

#

because i found what i was looking for but how do i find the patch

vivid bough
smoky estuary
#

tyyyyyyyy

verbal pumice
charred monolithBOT
warped turret
charred monolithBOT
smoky estuary
#

Ty for the help tho :)

warped turret
smoky estuary
#

Btw i don’t want to add a component there but to check whether the user is blocked or not and render it accordingly.

smoky estuary
#

Btw what is this?

warped turret
#

It's not documented, but actually it's one of the most helpful things that you are gonna be using to access internal methods and fields. The basic explanation is written in javadoc in @­webpack, but as a practical example, here: #👾-core-development message

junior olive
#

what

lime stone
#

javadoc?

smoky estuary
smoky estuary
#

Nvm saw you explained

warped turret
limber skiff
#

jsdoc

warped turret
olive aurora
#

javascript is just java

half shell
olive aurora
#

lmao their website

#

why is it the fuckin namecheap logo

#

@austere talon rate

lime stone
#

@wind pecan
I fixed CustomSounds but i pinged you in the wrong channel and i realised it would get lost 😭
sorry for double ping

#

huh, there's still a merge conflict after merging

#

what github

lime stone
#

now to try and finish the plugin! 🎉 🎉 🎉

#

wish me luck

#

i will probably forget about it again xD

junior olive
#

hey @limber skiff it's getting pretty close to december, is there any chance you can review it today or tmrw? I'm sorry to keep asking

limber skiff
#

why is this needed @junior olive

junior olive
#

tests complain about zustand types

#

its dumb

limber skiff
#

ah

half shell
#

I'm aware this has probably been suggested, considered and, likely, denied due to security concerns or whatever... But would importing online plugins from links (such as Online Themes) be useful?

afaik the only way of installing user plugins is cloning the repo, adding, building and injecting, and the vast majority of users find that a hassle/too complicated to do, so this would probably help user plugins be used more... However there could be security implications, even though the risk is similar to downloading, cloning, manually adding it and pnpm building

austere talon
#

no

lime stone
#

and that PR was closed iirc

charred monolithBOT
limber skiff
#

@junior olive im like half way into reviewing but I need to eat rn so I'm gonna resume later

cunning canyon
junior olive
#

enjoy ur food!

surreal fiber
cunning canyon
#

iirc it throws could not create ssl/tls something because old powershell

limber skiff
junior olive
#

yes

#

in the future i want to move it into a lib

limber skiff
#

what was easier to make vendetta or vencord

junior olive
#

vencord once i got the hang of the api

#

they were both easy i just had prerequisite api knowledge on vendetta

limber skiff
#

does vendetta version even have all the feats

junior olive
#

yep

limber skiff
#

looking at your patches I feel like it would be a bit complicated to do with monkey patching

junior olive
#

A lot of the patches are done differently

#

like the vendetta ver still does hacky userstore shit

#

and probably will continue

limber skiff
#

oh

junior olive
#

and you can ignore the UI related ones as i made the ui myself on vendetta (it was pre-them adding a ui)

limber skiff
#

oh lmao

#

makes sense

#

stealing discord components is so good

junior olive
#

i can prolly use their ui now but ill wait until i redo vendetta ver entirely

limber skiff
#

hmmm you sure?

#

cuz you do force load stuff

junior olive
#

force loading isnt a thing on mobile

limber skiff
#

I know

junior olive
#

everything gets loaded

limber skiff
#

Oh

junior olive
#

we have full range 🔥

limber skiff
#

no lazy loading of chunks?

#

dang

junior olive
#

naw not worth it

limber skiff
#

lucky 😒

junior olive
#

true

limber skiff
#

I would miss regex patching though

#

can you guys view source?

junior olive
#

kinda

#

they use hermes

#

which compiles to bytecode

#

it can be turned back into pseudojs

limber skiff
#

oh

#

it's would be so hard to reverse engineer without viewing some kinda of source

limber skiff
junior olive
austere talon
#

it's like assembly in js

#

anyway tbh decor is kinda overengineered / convoluted

limber skiff
#

how do yall even find stuff to monkey patch

junior olive
limber skiff
#

is it like how modding used to be done

junior olive
#

Yes

limber skiff
#

like searching the exports for a keyword

#

stuff was never mangled in mobile right

austere talon
#

yes not mangled

#

it's kinda just like old powercord module finder era

limber skiff
#

yeah that's what I thought

austere talon
#

and if your module isn't ui related, chances are it's the same as on desktop

junior olive
#

yes

limber skiff
#

damn it would be a disaster if it was mangled

austere talon
#

you can't even find by code

#

well aliucord could

#

but vendetta can't

limber skiff
#

yeah how would you even find stuff without it

junior olive
#

Educated guesses lol

#

It's not that hard

limber skiff
#

it kinda is if no variable has a proper name

#

I only discovered what webpack .O did cuz ven found the documentation for it

junior olive
#

Why do you think no variables have proper names

#

module exports are usually proper names

limber skiff
#

I knew it had to do with chunks but I had no idea what it did with them

limber skiff
#

I'm talking about if it was like that

junior olive
#

ah

limber skiff
#

like if in a future they mangled them

junior olive
#

well it's not xd

junior olive
#

but thankfully they haven't ‼️

junior olive
austere talon
#

it's just really overengineered

#

i haven't looked in a while but you definitely do not need zustand for example

junior olive
#

zustand is nice and makes state easy as fuck

lime stone
#

doesn't react already do that?

junior olive
#

no the auth store and users decors don't need to be zustand and we can change that but seriously it's fine

#

i'd rather use zustand than deal with global state management myself

#

no point reinventing the wheel

mortal fractal
#

but then redux and zustand came around and deprecated flux

austere talon
#

brother you just need a super simple hashmap and a force updater

#

it's like 10 lines of code

junior olive
#

zustand is fine..

#

its not like im adding dependencies (type dependency doesn't really count) it's using stuff in discord

mortal fractal
limber skiff
#

can you make the other 2 stores not zustand then

lime stone
limber skiff
#

unless it's gonna be way worse, I don't actually know

junior olive
#

i mean sure i had them as zustand stores for consistency and just.. ease

limber skiff
#

I mean auth store does use zustand persist right

junior olive
#

yes

#

that was actually very nice

limber skiff
#

ehh it's whatever keep them as zustand

junior olive
#

thanks

limber skiff
#

it's gonna take a lot of work to change prob

#

I already have some stuff I will request changes that will make the plugin less confusing

junior olive
#

it's not tons but i think they're fine as zustand its just like.. you couldn't have told me this a month ago?

charred monolithBOT
limber skiff
#

@junior olive does discord use zustand to persist store stuff

junior olive
#

let me check

#

a.persist

lime stone
#

ntts will be so happy when the merge button is hit lol

junior olive
#

me too

limber skiff
#

only 2 calls?

junior olive
#

idk if they use it more i don't have everything loaded

#

why

limber skiff
#

curious

junior olive
frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

olive aurora
#

is sentry actually just gone

#

still

charred monolithBOT
limber skiff
#

@junior olive BRO

junior olive
#

wassup

limber skiff
#

THE UI IS SO FUCKING GOOD HOLY SHIT

junior olive
#

:DDD thanks

limber skiff
#

absolutely bang

#

I finished

junior olive
#

it's the entire reason it's "overengineered"

#

i wanted amazing UX

charred monolithBOT
junior olive
#

LMAO HERE WE GOO

limber skiff
#

LOL DISCORD

junior olive
#

you know this is actually

#

a surprisingly short list

somber kiln
#

messagetags wont work lol, ima find a plugin rq

limber skiff
junior olive
#

Following React's best practices, you should create a new Map/Set when updating them:

limber skiff
#

horror

junior olive
#

i was just following this

limber skiff
#

it's fine though you can keep creating a new one

junior olive
#

bet

limber skiff
#

you can still apply the rest of those suggestions since removing the creation of the new maps or sets is only a part of it

junior olive
#

yep

#

im blind LMAO

#

also erm..

limber skiff
#

LOL

#

I MEANT TO CHANGE THAT TO .CREATE

junior olive
limber skiff
#

also

junior olive
#

i have them in the decor repo cuz idk im tryna keep the decor assets all there

#

shrug

limber skiff
#

maybe you should move the file that creates cl into the ui folder

junior olive
#

i can move them if really wanted

#

yeah i always considered that but was like

meh

limber skiff
#

yeah we wanna have our assets in one place

junior olive
#

another pr has this

#

i have this util until their pr gets merged

#

and then decor switches

limber skiff
#

eww really

#

what's the pr

#

I do it now

junior olive
#

textreplace improvements or smt

#

i dont rember

#

its by autumn

limber skiff
#

ugh

junior olive
#

what else uses it

somber kiln
#

how do i install vencord dev

junior olive
#

well

#

vencloud

#

ok

#

why make zustand common? what else uses it

#

YOU CAN DO THIS??

somber kiln
#

how do i install devbuild

limber skiff
junior olive
nimble pendantBOT
limber skiff
#

it's like each plugin defining their own search for React

limber skiff
somber kiln
junior olive
#

receive always fucking trips me up

somber kiln
#

who can help me

junior olive
#

ok this review isnt so bad

somber kiln
#

how do i install devbuild

junior olive
#

@limber skiff i fix all this then merge ⁉️

junior olive
limber skiff
#

I will do quick look then sure

junior olive
#

okokok

#

i will do immediate

somber kiln
junior olive
#

no more waiting

somber kiln
#

ok, is there a youtube tutorial then

junior olive
#

no

somber kiln
#

how do people even install it then

limber skiff
#

well I cant cherry pick autumn commit sadly

junior olive
#

lets use custom util then move to autumns when theyre merged its fine

limber skiff
#

nah I will just do it

junior olive
#

oh ok

#

should i move to ui/index.ts

#

before it was 3 files 💀

#

the util, then one for each require

limber skiff
limber skiff
junior olive
#

ok

limber skiff
#

I hate too many files

junior olive
#

i love files

limber skiff
#

someone made a plugin and it had like 60 files

junior olive
#

thats so decor core

limber skiff
#

too many files hurt the organization so much

#

you cant find anything

junior olive
#

which common file should i put oauth2modal in

#

components?

somber kiln
#

how do i install devbuild

limber skiff
junior olive
#

this makes me not want to answer

#

oh it didnt even get their latest

somber kiln
#

no one even answered skull1

junior olive
#

should i use waitFor or just findByLazy @limber skiff

limber skiff
#

lazy

junior olive
#

ok

somber kiln
#

is there like a tutorial

normal fern
junior olive
#

hi lain

normal fern
#

hello

junior olive
#

@limber skiff are you going to bed soon do i need to rush

limber skiff
#

I'm not

junior olive
#

ok cool ill take it patiently

somber kiln
#

[p

charred monolithBOT
limber skiff
#

there @junior olive

junior olive
#

omg epic

#

ill use

#

actually

#

@limber skiff maybe a util to open a invite modal or transition would be useful

somber kiln
#

how does devbuild even work

junior olive
#

a developer builds it

junior olive
#

like

#

rn i believe theres 2 diff buttons that attempt to join decor's server OR transition to the server(?)

#

wait

#

i think im hallucinating

limber skiff
#

eh

#

its whatever

junior olive
#

yeah its fine nvm

#

pushed auth changes

#

@limber skiff common?

limber skiff
#

nah

junior olive
#

ok

#

@limber skiff i presume zustand shit should go in webpack common utils

limber skiff
#

react

junior olive
#

o? ok

limber skiff
#

wait no

junior olive
#

lmao

limber skiff
#

the same place useStateFromStores is

junior olive
#

stores.ts

limber skiff
#

nvm

#

util then Troll

junior olive
#

lmaooo

#

should i name them like zustandCreate zustandPersist @limber skiff

limber skiff
#

sure

junior olive
#

is the persistFilter const ok

#

💡nst

limber skiff
#

wtf

#

that works?

#

export const { perist: blabla }

junior olive
#

which bit

#

yeah

limber skiff
#

change the permissions one to that

#

I tried it and it didnt work

junior olive
#

well idk if export works but id assume

#

ill try

#

it seems fiine

#

ok just the grimy suggestions left

#

(grimy bc theyre big)

#

@limber skiff y use fluxdispatcher to go to profile settings?

limber skiff
#

it's how discord does it

junior olive
#

oh fr ok

limber skiff
#

so it's the proper way

junior olive
#

we are so close

limber skiff
#

@junior olive I really think that should be if (object)

olive aurora
#

my guy installed devbuild to get a third-party plugin that is already in vencord

limber skiff
#

on the destructor it should setUrl to null if the object wasnt null, if you dont now url points to a revoked objectUrl

junior olive
#

hm

#

ill look at it again in a moment

limber skiff
#

if object is null url is already null lol

junior olive
#

i think your suggested logic for this might not work

#

this is a tristate

limber skiff
#

how so?

junior olive
#

undefined = nothing selected
null = none selected (remove decoration)
object = decoration

#
tryingDecoration != null ? decorationToAvatarDecoration(tryingDecoration) : tryingDecoration

wont it go into true if it's undefined?

limber skiff
#

typeof tryingDecoration !== "undefined" ? tryingDecoration !== null ? bla(tryingDecoration) : null : undefined

#

literally same thing as tryingDecoration != null ? bla(tryingDecoration) : tryingDecoration

junior olive
#

what ab undefined case

junior olive
#

hm

#

guh

limber skiff
#

!= null checks for null and undefined

#

only that

#

it's a magic of js

junior olive
#

its so lame

#

ion got the brain storage for all these slight variants

limber skiff
#

it's actually good

junior olive
#

its good but make it more verbose 😵

limber skiff
#

nop

junior olive
#

yop

limber skiff
#

if you know what != null does you completely understand that

junior olive
#

anyways

#

i think that setUrl null was meant to handle if the hook is passed nothing

#

it clears the hook url

limber skiff
#

okay but I'm pretty sure the destructor runs with the old value

#

not the new

junior olive
#

hm

limber skiff
#

so object is not null in that case

#

and it makes sense to setUrl to null

junior olive
#

.hmmm

#

so moving it back up is probably the move?

limber skiff
#

yeah

junior olive
#

ok

limber skiff
#

or changing it to if (object)

#

both work I think

junior olive
#

up to you

limber skiff
#

change to if (object)

#

actually

junior olive
#

ok cool that's the last of ui

#

oh

limber skiff
#

just remove the if

#

if code reached that then object wasnt null anyways

junior olive
#

True

#

ok ui

#

is done

#

now store fixes

#

store and api

limber skiff
#

you forgot one thing

junior olive
#

i did it its just not pushed

limber skiff
#

ah

junior olive
#

i think

#

1s

limber skiff
#

I see

junior olive
#

there

limber skiff
#

oh lol

junior olive
#

sorry wasnt sure if u were looking at it as i pushed

#

Oh wait

#

maybe i did forget a little bit 1s

#

yeah my bad i did miss that let me do that rq

limber skiff
#

yeah you did lol

junior olive
#

did it

charred monolithBOT
junior olive
limber skiff
#

what about it

junior olive
#

actually this is good

#

i just need to undo the undoing of news

limber skiff
#

yeah

charred monolithBOT
junior olive
#

☹️

#

wtf is causing this

limber skiff
#

lmao what happened

junior olive
#

idk

limber skiff
#

it's in the persist method

junior olive
#

its

#

getting the wrong persist

#

wtf..

limber skiff
#

lmao

#

make your filter more exact

#

change it to this

#

[zustand persist middleware]

junior olive
#

wait

#

yeah that and

#

i MAY be stupid

limber skiff
#

LOL

junior olive
#

ok i think

#

we are done.

#

we are.

#

squash soon

limber skiff
#

what's the difference between the raw sku id and the other

junior olive
#

its used in the get avatar deco url patch

#

raw will return asset whereas decor will manipulate it

#

(to turn it into a link to the cdn)

limber skiff
#

ah

#

wait why did this turn tsx @junior olive

junior olive
#

bc i moved show auth modal

limber skiff
#

o

#

right

junior olive
#

xd

limber skiff
#

I was being blind

junior olive
#

xd

#

i do that too

charred monolithBOT
junior olive
#

@limber skiff or new Date()?

limber skiff
#

lmao I clicked on the wrong side

junior olive
#

i like new date

limber skiff
#

but it's whatever

#

Date.now

#

you only use the seconds

junior olive
#

ok ill change the other one then

limber skiff
#

wdym?

#

the other you use the Date object

junior olive
#

that is TRUE

#

i forgor

limber skiff
#

on this one you only use the seconds

#

lol

junior olive
#

done

#

i found a bug i will fix

#

done

#

well idk lemme check a alt

#

ok yeah its fiine

limber skiff
#

why doesnt props.onClose work

junior olive
#

it does but it only closes the create modal

#

we need to also close the change one

limber skiff
#

oh lmao

#

funny

junior olive
#

we might actually want to make the transition happen regardless

#

bc on my alt it closed to the user settings

limber skiff
#

huh?

#

I dont get what you mean

junior olive
#

welll hmm

#

my account that wasnt in the decor server joined decor, instead of going to the decor server it only went to the user profile layer

#

bc that doesnt get popped

#

tho i was thinking for the join in there it WOULDNT transition

#

but tbh idk if it should

limber skiff
#

why didnt it pop

#

it should

junior olive
#

it doesnt pop settings when in the invite modal path

limber skiff
#

oh

#

should we make it pop

#

does it transition to guild when you accept invite?

junior olive
#

anyways i think we do this

junior olive
limber skiff
#

hmm

#

I dont like that

junior olive
#

i think we make it pop for consistent behavior

limber skiff
#

we need a way to confirm they joined

junior olive
#

shid true

#

hm

limber skiff
#

there isnt a good way

#

lets just not pop

#

it's better to not pop cuz if they refuse to join it's going to end up closing all their stuff if we popped

junior olive
#

well rn it closes regardless its kind of weird

#

lemme experiment a lil

#

1s

limber skiff
#

uhhh

junior olive
#

ideally the invite would go back to create page

#

but

limber skiff
#

if we refuse to authorize we create a promise that never resolves

junior olive
#

guh?

#

oh just make it reject then i suppose

limber skiff
#

idk if it has a cancel callback lmao

junior olive
#

oh hmm

limber skiff
junior olive
#

ye

#

lame af

limber skiff
#

horror

#

nothing we can do welp

#

I mean

#

or we can just open the modal again

#

oh wait

junior olive
#

ehhhhhhhhh

#

o ok

limber skiff
#

I found stuff

junior olive
#

yeah i fund that too

#

hmm

limber skiff
#

there we go

junior olive
#

aha

#

ok

#

do u want me to do

#

i alr have rejection set up

limber skiff
#

yeah

#

I'm gonna investigate for the invite modal

junior olive
#

yeah glhf

limber skiff
#

idk if this will work

junior olive
#

thats kinda wacky

limber skiff
#

I think it's the only way

junior olive
#

wait how tf does that work

#

im confused

limber skiff
#

full function

junior olive
#

the onclose = in subscribe is confusing the hell out of me

limber skiff
#

it subscribes to invite modal close it always fire on accept, refuse, close, etc

junior olive
#

but i suppose its valid

#

thats really wack syntax tho icl

limber skiff
#

it's just making onClose equal the function lol

junior olive
#

yea still wacky

#

but sure

limber skiff
#

ye

#

do you understand the rest?

junior olive
#

yeah i get it now

limber skiff
#

let me test

junior olive
#

yop

limber skiff
#

you should prob handle the rejection here

junior olive
#

i don't think it needs to be

#

theres a toast for a failed auth, nothing if cancelled i think its fiine

#

why should i add a .catch

limber skiff
#

you are gonna throw an error in the console

#

for what

#

just handle it

junior olive
#

i suppose

spark cove
junior olive
#

just .catch(() => void) ? ig

limber skiff
#

does => void work

junior olive
#

idk

#

void or void 0

#

ok yeah void 0

spark cove
#

() => {}

junior olive
#

that works too

#

idm

#

{} is shorter sure

#

done

limber skiff
#

hmm it is partially working

#

it didnt return true for accepted though

#

ok I know why

#

maybe this

#

worked

junior olive
#

he didnt bring pizza 💔

limber skiff
#

how the heck do I make a .patch of 3 files

junior olive
#

qhar

limber skiff
#

git apply my-diff.patch @junior olive

junior olive
#

yop

#

i did it shittily but yea

#

git am

#

done

#

pushed

limber skiff
#

LOL

#

I forgot the console log

junior olive
#

😭 i noticed

#

1s

#

ill remov

#

ok DONE

mortal fractal
#

is the saga over

junior olive
#

maybe

mortal fractal
#

am i finally going to stop getting emails

junior olive
#

nookies press the button 🙏

#

tf is it yapping ab

mortal fractal
#

cached

#

refresh

charred monolithBOT
limber skiff
#

bro just added 10mb to vencord

junior olive
#

good

mortal fractal
#

damn

#

ive been beaten

junior olive
#

its OVER

#

I AM FREE

verbal pumice
junior olive
#

thank you nookies.

mortal fractal
#

well i guess that means i have to as well now

limber skiff
#

do you have a pr to be merged too?

mortal fractal
#

branch but yeah

junior olive
#

i should go merge the server ratelimits in preparation for the text to speechening

mortal fractal
junior olive
#

REAL

#

decorating all the clients

limber skiff
#

what's that?

junior olive
#

hh3

#

priv mod

limber skiff
#

how does it have decor lol

#

does it support vencord stuff

junior olive
#

@mortal fractal he doesn't know..

limber skiff
#

I actually don't know

mortal fractal
#

i shrimply wrote my own implementation

junior olive
#

ill let cyn take the reigns

limber skiff
#

oh you wrote decor too?

junior olive
#

they wrote the plugin for hh3

limber skiff
#

what does hh3 mean

mortal fractal
junior olive
#

hh3 is the name of the mod they develop

mortal fractal
frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

extractAndLoadChunks(["openAvatarDecorationModal:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
extractAndLoadChunks(["stickerInspected]:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)

Bad Starts

None

Discord Errors

None

limber skiff
#

LOL

junior olive
#

FUCK

#

ITS LYING.

limber skiff
#

wait

junior olive
#

it works fine on my end ???

limber skiff
#

It's prob an error on my part

#

error on the reporter

junior olive
#

silly nookies

frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

extractAndLoadChunks(["openAvatarDecorationModal:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
extractAndLoadChunks(["stickerInspected]:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)

Bad Starts

None

Discord Errors

None

limber skiff
#

to be fair I didnt test that part

#

the extractAndLoadChunks

#

(in the reporter)

#

in the code I tested

junior olive
#

imagine ur plugin getting merged and then immediately causing reporter issues 😭

limber skiff
#

OMG FGFSJGHDFSGHDSFG

#

I'M NOT CANONICALING THE MATCH

junior olive
#

LMAOO

#

😭

#

like just in the reporter??

limber skiff
#

yes

junior olive
#

ok good

limber skiff
#

I give the non parsed one so it prints good

#

but then I use without parsing

junior olive
#

lmaooooo insane

#

ezpz fix

charred monolithBOT
junior olive
#

thank you nookies 🙏

frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

there we go

#

when is discord fixing their sentry

frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

I'm tired of that bad patch

nimble plaza
#

hey do all plugins need an image

#

im about to pr watch together adblock

limber skiff
#

new ones yes

nimble plaza
#

idk how to make an image for that

limber skiff
#

oh

#

actually

#

not an image

#

but a README

nimble plaza
#

oki

#

ty

charred monolithBOT
nimble plaza
#

:D

charred monolithBOT
limber skiff
#

lets see what discord refuses to fix

junior olive
#

now i just wait for main release

frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

wtf is this code block

junior olive
#

honestly not too bad

#

like relatively it is a bigger plugin (still smaller than shc..) but it's not actually that big for what it does

limber skiff
#

shc lovely

junior olive
#

yop just a little big

#

it has a nice personality

limber skiff
#

problem is it has so much patches

#

and those cant be minimified

junior olive
#

yeaghj rip

#

u know nookies we could maybe make the decor patches a little smaller

#

let the bundler minify shit

#

well maybe

limber skiff
#

it's whatever

junior olive
#

didnt u say u like function replacements bc it lets bundler minify

limber skiff
#

we shall not touch them anymore

junior olive
#

yop

#

the saga is over

junior olive
#

thank you again 🙏

limber skiff
#

very nice plugin blobcatcozy

junior olive
#

time to pr another 2 plugins (not)

#

discord rolled back the stupid change that one of them got rid of

#

the other i need to polish more

junior olive
#

the slide in for avatar decos on profiles

limber skiff
#

what's wrong with this codeblock

limber skiff
#

does it need to be on new line

junior olive
#

i think

#
test```
#

no its fine wtf

limber skiff
#

no that's for github

junior olive
#

oh true

limber skiff
#

markdown

junior olive
#

i frogot

limber skiff
#

look at this lmao

junior olive
#

this is the other one

#

bring back border based on avatar deco

#

because discord removed it RaisedEyebrow

junior olive
limber skiff
#

oh

junior olive
#

could it be the list

limber skiff
#

I think it actually needs a new line

junior olive
#

oh lmao

charred monolithBOT
frail skyBOT
#
Bad Patches

NoTrack (found no module):
ID: -
Match: ```
window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

NoTrack (found no module):
ID: -
Match: ```
window.DiscordSentry=

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

???????????

#

@junior olive ????????????

junior olive
#

LMAO

#

thats nice 😭

#

maybe u need another escape??

#

for the first char idk

#

AH WAIT

#

DOES THAT ONLY REPLACE THE FIRST CODEBLOCK THING?

limber skiff
#

wdym

junior olive
#

its doing .replace

#

not .replaceall

#

hm but /g

limber skiff
#

but there arent even extra ```

junior olive
#

true wtf

limber skiff
#

let me show you

junior olive
#

github mkdwn just bad iggg

limber skiff
#

the raw text

#

nvm

#

it's here

junior olive
#

i feel liek this is lists fucking shit up

#

maybe lists not playing nice with multiline

limber skiff
junior olive
#

testing still

- ```abc
abcdefg
#

yeah ok LMAO

limber skiff
#

it needs to match the number of spaces

#

????

#

or kinda match

#

wait no it still doesnt work

#

shhhh

charred monolithBOT
junior olive
#

wtf nookies..

olive aurora
#

im getting a cookie cutter to chop up nookies

limber skiff
#

NO

#

TELL ME YOU DIDNT PULL THAT

#

okay honestly I dont want to deal with that weird markdown error rn

olive aurora
#

@austere talon we baking good tonight

junior olive
charred monolithBOT
#

On Linux desktop, notification badges don't work for most people because there isn't a good standard. The library that Electron calls (libunity) is old and not many people have it. We don't have much control over the panel image either because that's controlled by the .desktop file. Personally, I find myself relying on notification badges frequently. System tray icon is easily modifiable, unlike the main panel.

This PR:

  • Adds support for unread message and notification badges in the sy...
gleaming trellis
#

hi all :3 if anyone has time could they test the PR above on non-KDE linux desktops and windows? ^

charred monolithBOT
charred monolithBOT
long stream
#

now typing in any emoji causes the crash

austere talon
#

just leave guilds with a "default" emoji

long stream
crude raptor
#

sorry hold on

#

how did they even fuck that up

austere talon
#

discord

shadow yoke
#

Ven ven ven

austere talon
#

i already moved them

#

just need to write code for @nimble pendant to be able to easily manage badges

austere talon
crude raptor
#

i clicked the first link before thinking and ended up downloading it so i had a look through it- seems kinda insane

#

i mean it makes sense- can people have as many badges as they want?
idk my brain would assume it'd be best to have badges that people can opt into- but this is a much cooler system tbf

austere talon
#

this is donor badges

#

you can choose anything u want

crude raptor
#

idk i might be rambling a bit

crude raptor
#

who's are the uhh

#

v e n c o r and d badges for

austere talon
#

me

crude raptor
#

oh lol

shadow yoke
livid heath
#

time to donate 7 times to get v e n c o r d badges