#πŸ‘Ύ-core-development

1 messages Β· Page 94 of 1

crude hearth
#

therefore you need to manually find it

mortal fractal
#

does it specifically check Z and nothing else?

austere talon
#

what is the export called

lime stone
#

whh

mortal fractal
olive aurora
#

window.browser ??= chrome

lime stone
#

i love how much i hate it

austere talon
#

it should work fine

mortal fractal
#

but looking at it, what im trying to find it by might not be directly exported guhhhh

#

cause its a function call that gets re-exporte

austere talon
#

is it a wrapper func

crude hearth
#

window.chrome ??= browser

austere talon
#

return e.apply(this, arguments)

olive aurora
#

true

mortal fractal
#

yeah, i can find it by props tho so nvm

mortal fractal
austere talon
#

what's the point??

mortal fractal
#

yes

austere talon
#

why not call it directly

mortal fractal
#

runtime regenerator bs

austere talon
#

are they just doing it to troll us

lime stone
#

probably

austere talon
lime stone
#

discord: obfuscated from the start with bad code

#

(/j)

#

well, i assume this is generated though

olive aurora
#

window.chrome ??= new Proxy({}.{get(){throw"explode"}})

crude hearth
#

discord code is probably already obfuscated even in source form

austere talon
#

i love having to regex match the function I need to get the name of it then regex match wrapper func in the exports

mortal fractal
#

its because its normally an async fuction and then runtime regenerator mangles it

austere talon
#

it's so fun

crude hearth
#

(unreadable)

crude hearth
#

yop

lime stone
#

discord version of mcp when trolley

crude hearth
#

would it be possible I wonder

#

since variable names change all the time

lime stone
#

oh no..

#

js decompilation badmoji_tada

#

i suppose it's compiled in a sense

mortal fractal
#

const inlineTextRule: MarkdownRule = findLazy(x=>x.match?.regex)

austere talon
#

is this not inside parser

mortal fractal
charred monolithBOT
austere talon
#

LOVENGINX STRIKES AGAIN

woeful sable
#

don't accept that oversight

#

one sec

#

i'm delusional it works fine i don't know how it would have broke anyways

mortal fractal
#

okay slate rule injection is now optimized

#

highlight is now ready for review again

#

nvm linter is complaining

#

oh i broke a bunch of shit refactoring types fun!

#

...my client isnt fucking loading anymore but theres no errors what the actual fuck

#

all i did was fix types and now its fucking doing this????????

#

weird

#

restarted again and its working now

#

whatever

austere talon
#

that happens to me sometimes

#

i think it's when u restart too fast so cloudflare rateimits u

tawny cipher
woeful sable
#

What do you think about vendetta

tawny cipher
#

it is very clientmodetta

verbal pumice
#

its called vendetta because

woeful sable
#

I have no clue why

tawny cipher
#

vengeance

woeful sable
#

ven owns it

woeful sable
#

ME

#

IM BASED

#

anywaysw

#

is there where you would talk about developing plugins or literally developing for vencord

olive barn
#

both

verbal pumice
#

yeah

woeful sable
#

fair

#

how in a vencord plugin would i be able to add another like menu item to this

verbal pumice
#

check SendVoiceMessages

#

probably a context menu patch with ContextMenuAPI

woeful sable
#

fair

#

thank you

#

where is SendVoiceMessages

#

not in the vencord plugin manager for me

olive barn
#

in the source code folder?

woeful sable
#

im silly

#

πŸ™

#

thank you

verbal pumice
#

oh

woeful sable
verbal pumice
#

blehh

#

cba to check exact name

woeful sable
#

fair

olive barn
#

i think its just voicemessages

woeful sable
#

oh

#

fair

woeful sable
teal halo
tawny cipher
#

lumap will make autoloop plugin for all videos everywhere (real)

turbid hatch
#

@austere talon do we have any equivalent to useSettings() / addSettingsListener() but for a group of settings

#

i.e. if anything under userCssVars changes, then re-render/recompile

austere talon
#

no

#

you mean path prefixes right

turbid hatch
#

sssssssure if its the same thing

austere talon
#

like useSettings(["userCssVars.*"])

turbid hatch
#

yes

#

wait that works?

austere talon
#

yeah

turbid hatch
#

i thought that didnt

austere talon
#

it doesn't no

turbid hatch
#

smh

#

but yeah i need that

austere talon
#

u could implement it lmao

turbid hatch
#

i could ye xd

austere talon
#

it shouldn't be too hard

turbid hatch
#

i was looking at how it does it

#

i could do it really easily

#

but im doing something else first

#

do you have a desired hash function

austere talon
#

i mainly didn't add it to not overengineer "for a potential future use"

turbid hatch
#

or is sha256 okay

austere talon
austere talon
turbid hatch
turbid hatch
#

filename.user.css

#

because thats not something i can use in a settings path

#

(aha, you wrote a comment about this funnily enough, and now ive finally hit it)

#

so i'm just gonna generate a hash based on what usercss recommends

#

which is the name + namespace

austere talon
#

could just use discords uuid module / snowflake generator

turbid hatch
#

wat dat

#

oh no cause it needs to be replicable

#

its "unique" as in no other theme should be using it

austere talon
#

lmao

turbid hatch
#

yeop

#

das the one xd

#

cause currently the path its trying is

#

userCssVars.default.user.css.textColor

austere talon
#

i think u still can but you just can't use useSettings

turbid hatch
#

which is ... not correct

austere talon
#

you could also just not rely on settings change listeners

#

return to no magic and just use a function to change the setting

turbid hatch
#

i was trying not to before but the entire recompile process is triggered by a settings change xd

#

and the only way i can trigger it is if i disable and reenable the theme immediately

#

which feels worse

lime stone
#

(for those who are Not Cute, this "replaces" the loading logo)

teal halo
teal halo
turbid hatch
#
export async function getUserCssId(header: UserstyleHeader): Promise<string> {
    const encoder = new TextEncoder();

    const nameBuf = encoder.encode(header.name);
    const namespaceBuf = encoder.encode(header.namespace);

    const nameHash = new Uint8Array(await window.crypto.subtle.digest("SHA-256", nameBuf));
    const namespaceHash = new Uint8Array(await window.crypto.subtle.digest("SHA-256", namespaceBuf));

    const idHash = await window.crypto.subtle.digest("SHA-256", new Uint8Array([...nameHash, ...namespaceHash]));

    return window.btoa(String.fromCharCode(...new Uint8Array(idHash)));
}
#

holy shit this is probably inefficient garbage

#

lets profile it

shy veldt
#

skill issue

charred monolithBOT
teal halo
#

i'll do one day

#

but discord's code sucks so bad

#

like look at this

tawny cipher
lime stone
#

that's one of the things i dislike about tiktok but i guess some people must like it

tawny cipher
#

60% of all plugins are annoying

lime stone
charred monolithBOT
charred monolithBOT
lime stone
#

this seems pretty sane

#

high quality plugin

turbid hatch
#

lol my svg plugin names would have prevented that

lime stone
#

wait WHAT??

marsh cave
#

@olive barn the code for renderEmbed didn't change

olive barn
#

it mustve on canary/ptb

#

because it crashes w/o that

#

and devtools says .channel is removed, its just .nsfw

marsh cave
#

oh ig discord only changed renderAttachments on stable ??

olive barn
#

wha

marsh cave
olive barn
#

yeah

#

put a breakpoint where the patch is

#

and look at vcProps

marsh cave
#

the vcProps for renderAttachments is the channel prop, while for renderEmbed it's the (server?) prop

olive barn
#

oh shit i changed both

#

whoops

#

fixed

teal halo
marsh cave
#

codeburge so slow

lime stone
#

codebunger

marsh cave
#

true

hexed gull
#

vns #πŸ€–-bot-commands test

nimble pendantBOT
#

πŸ‘‰ #πŸ€–-bot-commands

olive barn
#

thank fuck

#

lmao

austere talon
#

btw we are very close to 3k stars

stark flint
#

πŸ‘€

austere talon
#

ilove how I don't check discord for a few hours and immediately vencord breaks

olive barn
#

oooo

lime stone
#

only 27 stars :c

#

you were botting them all along - and github has found out - clearly

#

jokes aside.. nice

charred monolithBOT
teal halo
#

@tawny cipher enjoy

tawny cipher
#

speedy lumap

teal halo
#

i was scared of doing this but sure i guess

teal halo
#

the heck

lime stone
#

β™₯ cool

#

i'm too lazy to react

austere talon
lime stone
turbid hatch
#

isnt discord-api-types the new one

austere talon
#

thats very different

turbid hatch
#

oh api

#

this is webpack

#

ic

austere talon
#

discord-types = client types for client mods
discord-api-types = api types for bots

olive barn
#

maintain our own types?

charred monolithBOT
austere talon
#

feat: my suffering is neverending and all i can think of is popups an…
…d modals

#

wow this sounds like a great feature

#

cant wait to try it out

#

wtf is that

ancient inlet
#

coding pros

turbid hatch
#

because there's no way

#

of computing it

#

without adding an element to the dom

#

in chromium

teal halo
turbid hatch
#

because it delays computation until the element is actually used

#

;(

#

firefox does it fine

charred monolithBOT
ancient inlet
#

y'all wanna teach me how to code or??

turbid hatch
#

but it contains the entire settings UI (doesnt live update yet...)

#

and the usercss id system

#

which makes it better for storing settings

ancient inlet
#

so lost

turbid hatch
#

we really need to split this out into UserCSSModal though and whatnot

#

like PluginSettings

#

its getting way too large

#

i'll seek help with the refactoring later

austere talon
#

btw google is getting pissy about our chrome store guideline violations

#

similar to mozilla

#

we will likely have to rethink how the extensions will work

#

aka eliminate all remote code and stop removing csp

ancient inlet
#

whats csp

austere talon
#

google is free

turbid hatch
austere talon
#

which is painful because it will worsen user experience

turbid hatch
#

πŸ₯΄

#

thats going to be fun to write a compiler for

austere talon
#

uh. i would say bundle monaco so css editor works and just exclude all other plugins with dependencies on web

turbid hatch
#

rip usercss, the one place where people might actually care about that working on the web

#

also

#

rip rnnoise

#

and

#

uh

austere talon
#

well

turbid hatch
#

a couple of web only plugins

austere talon
#

we could just consider moving away from remote deps entirely

#

does esbuild support code splitting

turbid hatch
#

yeah

#

BUT

#

it requires esm and its still experimental

austere talon
#

F then

#

electron does not support esm

turbid hatch
#

Code splitting is still a work in progress. It currently only works with the esm output format. There is also a known ordering issue with import statements across code splitting chunks. You can follow the tracking issue for updates about this feature.

austere talon
#

pain.

#

hmm

turbid hatch
#

yeah

austere talon
#

what if

turbid hatch
#

they just [i.e, 1 week ago] closed the feature request for ESM btw, it's landing in 28

austere talon
#
import(IS_WEB ? "rnnoise" : "https://....")
#

bundle everything into the extension

turbid hatch
#

im gonna be honest

#

at that point, we should just import it directly

austere talon
#

it's just so the bundle doesnt become massive

#

to keep startup speedy

turbid hatch
#

unless we're adding webDependencies

#

or whatever

austere talon
#

wdym

turbid hatch
#

making an extra dependency set specifically for web

austere talon
#

we can just add as dev dependency

#

we already add as dep anyway for types

turbid hatch
#

hm

austere talon
#

they also complained about our electron csp removal

#

big brain.

charred monolithBOT
turbid hatch
#

in theory, couldnt we bully esbuild to treeshake it into only keeping one or the other?

#

or does it already do that?

#

(and are mozilla complaining about the ts source?)

austere talon
turbid hatch
#

ah

#

i see

#

time to switch to vite

#

:^)

austere talon
#

how

#

why

#

esbuild is very good

turbid hatch
#

vite can codesplit without esm

#

:P

#

im just poking at the lack of support for it

#

wait actually vite uses

#

esbuild

#

oh it doesnt use esbuild to codesplit it seems

#

it has its own algorithm

#

it uses esbuild to compile and rollup to bundle

#

and rollup can do it

charred monolithBOT
fleet depot
#

Wait if I'm understanding this right- usercss is like quickcss but loads before themes instead of after?

#

So you don't have to copy the whole theme and edit it in your quickcss?

#

You can just edit the theme directly using usercss?

lime stone
#

aww

#

looks like you'd need to convert shiggy to video

#

yep

#

it'd be cool to implement gifs but you can't seem to pause them

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 215965
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Ude' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
#
Bad Patches

IgnoreActivities (had no effect):
ID: 304645
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

MessageLogger (found no module):
ID: -
Match: ["className","attachment","inlineMedia"

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Ude' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
lime stone
#

or if it's tenor, it pauses the video

#

(it's not a gif; it's a lie)

charred monolithBOT
turbid hatch
#

hence the user bit

#

its meant for theme devs to be able to implement configurable variables into their themes

#

so users can change certain aspects without having to add snippets or edit css vars

#

they can just do it on a ui

fleet depot
#

So that's what I'm picturing

#

I'll have to look at it next time I'm on my computer

mortal fractal
charred monolithBOT
charred monolithBOT
tardy girder
#

this should be added

#

very cool plugin

quick ibex
opaque pewter
#

yes

quick ibex
#

woao

#

Nice thumbsup

opaque pewter
#

also in one of strenchers

rustic nova
#

ah i must have forgot to switch to the main branch. so i didnt see it. its fixed now

turbid hatch
#

:p

#

that's convenient

charred monolithBOT
verbal pumice
#

(it still crashes (for me))

cunning canyon
#

oh πŸ€”

woeful sable
#

which is better blurnsfw crash or blurnsfw just not function

verbal pumice
#

yeah works on stable but not canary

#

(im talking about the pre fix version)

#

or just tape em toghether trolley with a vcProps.nsfw||vcProps.channel?.nsfw

limber skiff
#

just

{
  match: /\.renderAttachments=.+?\(\)\.embedWrapper/g,
  replace: "$&+(this.props.channel.nsfw?' vc-nsfw-img':'')"
}
#

@cunning canyon ^^

#

no need to create extra var

#

well maybe does

#

not sure if this will be kept there

charred monolithBOT
charred monolithBOT
charred monolithBOT
turbid hatch
charred monolithBOT
charred monolithBOT
austere talon
#

11 off

half shell
#

making 11 github accounts right now πŸ‘

charred monolithBOT
charred monolithBOT
verbal pumice
#

someone gonna unstar and restar to throw the countdown off

woeful sable
charred monolithBOT
median rapids
#

that's so real

charred monolithBOT
#

conflicting variable names (this will usually result from using two large themes at once which is a very silly idea, and snippets should really be using unique variable names unless they're doing the same thing)

This is not really the case and I sort of "fixed" it by isolating UserCSS variable configuration into their own settings subsets. In the case of vanilla CSS though (where it's injected using a :root selector) this can still cause conflicts, but in other compiled themes (i.e., L...

charred monolithBOT
wanton wasp
charred monolithBOT
#
[Vencord/vencord.dev] branch deleted: plugin-readmes
austere talon
#

i dont wanna talk about it

mortal fractal
#

"this"

charred monolithBOT
woeful sable
#

are you serious right meow

#

a dearrow plugin

median rapids
austere talon
#

build it urself

turbid hatch
#

i misclicked

#

lmfao

#

2995

charred monolithBOT
austere talon
#

3 off

carmine berry
#

yay

stark flint
#

πŸŽ‰

charred monolithBOT
carmine berry
#

3001

#

i was the 3000th πŸ”₯

woeful sable
#

AJAYY

austere talon
#

probably why

charred monolithBOT
austere talon
#

whar

carmine berry
#

Hi I really don't know how to mess with the pull requests shit

charred monolithBOT
spark pivot
#

How am I supposed to use object destructuring on this line? file is already defined

marsh cave
#
const { file: someOtherName } = upload.item;
austere talon
#

no

#
({ file } = upload.item)```
#

it's ugly but the lint rule doesn't allow you to only prefer destructing for variable declaration

#

wait nvm

#

it does

sharp venture
#

Hey uh i assume this server is aware of the malware site that appeared recently? Not sure where to share this

#

Unknown site which seems setup to distribute malware pretending to be Vencord etc

spark pivot
#

thanks automod

sharp venture
#

Ok cool lol, my first time seeing it, good to have a bot then

spark pivot
#

yeah

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 215965
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Lde' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
spark pivot
frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 304645
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

MessageLogger (found no module):
ID: -
Match: ["className","attachment","inlineMedia"

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Ude' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
charred monolithBOT
brisk silo
#

πŸ‘‹ Completely new to anything involving vencord plugin development and react as a whole. Curious on how to do something like iterate the server user list and get the html objects for each user.

charred monolithBOT
austere talon
#

you don't

#

that's major X/Y problem

#

what are you actually trying to do

brisk silo
#

Remove certain users from the user list from a given user id

austere talon
#

for what purposes

#

In what cases

brisk silo
#

Blocked users, ignored users from set list, maybe more..?

austere talon
#

you need to patch the server list component and make it render null for the users in question

sharp rover
# charred monolith

gonna make a pull request to add 2 more options to the lastfm plugin, artist name only and song name only

austere talon
#

sounds good

charred monolithBOT
sharp rover
#

works perfect πŸ‘Œ

half notch
#

made space on my main account, might get back into plugin dev, used to work on beautifuldiscord back in the day

austere talon
#

that's cool

#

client modding grandpa

mortal fractal
#

hi archer

half notch
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
willow garden
#

wait i can just spam it lmao ( i would never dogeHaHa )

charred monolithBOT
cunning canyon
#

it has proxy to prevent star spam

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
round gust
#

😭

cunning canyon
austere talon
round gust
#

I’ll just go enjoy snakes

charred monolithBOT
turbid hatch
#

i tidied it up a lot

austere talon
#

meow

lime stone
#

meow

woeful sable
#

meow

lime stone
charred monolithBOT
teal halo
turbid hatch
#

@austere talon just thought

#

i have a useSettings() on the modal

#

and a useState() on each setting component

#

wont that trigger a double re-render because useState() rerenders the settings components and then useSettings() rerenders the entire modal

#

or is react smart and batches it

#

ah it does batch

#

okay

willow garden
cunning canyon
#

wysi

stark flint
verbal pumice
#

SEVEN TWEMTYS EVEN

charred monolithBOT
shy veldt
median rapids
charred monolithBOT
charred monolithBOT
mortal fractal
lime stone
#

just moving inside an if statement?

mortal fractal
#

yeah but why is the indentation highlighted in the diff

#

compared to

lime stone
#

githubβ„’

#

i think it's because it's highlighting the added characters?

charred monolithBOT
charred monolithBOT
woeful sable
#

mulv finally stars vencord

acoustic scaffold
#

I forgor

#

πŸ’€

lime stone
#

πŸ’€

acoustic scaffold
#

Vencord based

#

someone should help teach me how to find injection points so I can port over BIV's image gallery feature

lime stone
#

i'm not very good at that but i usually just search either ui strings or use the react inspector thing :P

acoustic scaffold
#

yea

#

I'm still thinking about updating ITTAI first

#

but tbh, BetterDiscord L

#

my efforts would probably be better spent porting Vencord to Kernel

nocturne haven
#

you've got many plans, don't you

acoustic scaffold
#

getting back into discord modding is at the bottom of my list

#

its one of the least marketable portfolio items

lime stone
#

but having fun is more important :DD

acoustic scaffold
#

I need to get some substantial projects off the ground so I can get out of fast food

#

then I'll start being more chill about what projects I work on

acoustic scaffold
#

guh stupid discord emoji conversion why is it on by default

acoustic scaffold
#

Replugged is just coasting on Powercord's leftover user base, most folks should just be using vencord

turbid hatch
#

i dont think we should think about having competitors

#

we're all pretty friendly in the modding scene

acoustic scaffold
#

well what I mean is if I get back into discord modding I want people to be able to use my work

lime stone
#

i think a mod where functionality is based on installing external plugins is pretty good

acoustic scaffold
#

I mean, vencord supports it

#

just ideally it'll get easier as time goes on

lime stone
#

not really..? at least not yet?

turbid hatch
#

vencord's external plugin loader branch isnt being worked on atm

#

priority is other things rn

austere talon
#

Im not even sure if I still want it

#

demand is very low

lime stone
#

i'm not too sure about the idea either...

austere talon
#

it would ultimately just worsen UX imo since it makes it easier to brick your discord and also get scammed maybe

lime stone
#

if you want that you should probably use something else trolley

lime stone
#

s-so... uwuifier can come back? πŸ₯Ή

turbid hatch
#

the idea that you can add external plugins that don't have a good enough use case to make it to mainline vencord or you want to experiment with them without installing dev is fine

#

the implementation is a pain in the ass

#

though usually just PRing them into vencord is fine

median rapids
austere talon
#

the normal user has no demand for installing other plugins

#

99% of "can I add my own plugins" questions are people wanting to add BD plugins

acoustic scaffold
#

Discord Modding ideas:

  • Update/upgrade Rich Quotes
  • Update/upgrade PreMiD plugin
  • Channel image gallery
  • Integrated Waifu2x image upscaler
  • Matrix servers?
lime stone
#

the last one ...?

acoustic scaffold
#

Being able to emulate a server/dm client-side and have it actually be a frontend for matrix chat

lime stone
#

ah well

#

a bit amitious πŸ˜†

acoustic scaffold
#

yeah hence the question mark lol

olive aurora
#

heres an epic idea use a matrix client

lime stone
#

the amount of patching....

acoustic scaffold
#

Element suuucks

lime stone
#

you may as well use an iframe bleh

olive aurora
#

use cinny

#
lapis sleet
#

Cinny is so good

#

Only way I can stomach m*trix

acoustic scaffold
#

also its super lame having to use multiple messaging clients at once

olive aurora
#

wcyd

acoustic scaffold
#

the most I'd like to have is Beeper & Discord

lime stone
#

guess why discord is so popular lol

acoustic scaffold
#

but unfortunately Beeper isn't really designed for discord-like communities

lime stone
#

it may be a buggy mess but it's convenient buggy mess

acoustic scaffold
lapis sleet
#

It's corpo so all the normies use it

#

Plus it's fast

lime stone
#

wdym "fast" ✨

lapis sleet
#

Have you ever used matrix or guilded or any of the discord competitors?

#

They're slow asf

lime stone
#

as in performance?

lapis sleet
#

Yeah and sending/receiving messages

lime stone
#

doesn't that depend on the backend

austere talon
#

slowness depends on the server

#

you can just self host it on faster infrastructure

olive aurora
#

people hate matrix because everyone goes to matrix.org

#

i love 10s latency sending messages

lapis sleet
#

It IS literally 10 seconds

charred monolithBOT
lapis sleet
#

I tried joining an alt one at some point but still had similar issues, fixing your own convo pacing doesn't fix others' rip

lime stone
#

words bleh

#

server as opposed to backend software (unless it's particularly poorly optimised i guess)

spark pivot
teal halo
charred monolithBOT
mortal fractal
#

i really want to do "discord as a ____ frontend" at some point

mortal fractal
#

but either way, w2x still requires a gpu

nocturne haven
spark pivot
nocturne haven
#

can't you literally just do url imports in vencord

spark pivot
#

I tried import(...) but it hated that

#

and didn't work

nocturne haven
#

like

import GifReader from "https://whatever.that.returns.a.esm.module.com"
spark pivot
#

sadge

austere talon
#

cause its not a module

austere talon
lime stone
#

i was trying to ask

#

it seems pretty dirty and the animation doesn't pause just before the app loads like it normally does

#

is there a way which doesn't hide the tip?

charred monolithBOT
lime stone
#

i love css

lime stone
#
.content-3AIQZv:has(.ready-3BZNWT)::before {
    content: url(https://cdn.discordapp.com/emojis/1024751291504791654.gif);
}

.ready-3BZNWT {
    display: none;
}

works but smol

#

i guess you can choose a bigger image πŸ€·β€β™€οΈ

mortal fractal
lime stone
#

i guess a plugin is useful for a very accurate old loading logo

#

:p

#

what's the point of BANger though..?

austere talon
#

its name

#

BANger plugin

lime stone
#

fair

#

if i give this a good name will merge? pleading_old

shy veldt
#

(BAN)ger

lime stone
#

obviously you can't hear it but...

#

if I recorded it with audio you would be able to hear this masterpiece

charred monolithBOT
teal halo
#

high prio PR

lime stone
#

love nginx ❀️

charred monolithBOT
charred monolithBOT
mortal fractal
#

no reactions, not important

#

reactions, important

median rapids
#

yop

tawny cipher
spark pivot
charred monolithBOT
median rapids
#

the disableder

tawny cipher
#

smh single line pr

nimble plaza
#

shhhh

#

i mean theres not really anything i can bunch it up with

austere talon
median rapids
frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 215965
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Lde' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
#
Bad Patches

IgnoreActivities (had no effect):
ID: 304645
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

MessageLogger (found no module):
ID: -
Match: ["className","attachment","inlineMedia"

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Ude' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
spark cove
spark pivot
#

I didn’t understand it at all and I tried but it didn’t work for mine

spark cove
#

no im using a proxy but

#

wrapping it in a function and calling it to get the value

#

what i was doing was evaling it then grabbing and deleting the window global

spark pivot
#

Yeah definitely better

#

Ngl I forgor the delete keyword existed

spark cove
#

lolol

spark pivot
#

delete delete

#

Now I can forget it existed

#

Now it’s back

#

Gotta love mobile discord

#

It is so broken

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

This was discussed a bit more on Discord so I'll comment here for completeness:

This is quite unfeasible for us to do because it requires us to reimplement the entirety of the Discord RPC API, lest we break other applications/games that depend on other parts of RPC. Implementing partial amounts just to make this one app work doesn't seem like something that would be on our radar and we aren't interested in writing a full RPC API.

turbid hatch
#

oop

#

@austere talon beat you

#

i was just writing a comment about it lmfao

low smelt
charred monolithBOT
frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 916815
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

MessageLogger (found no module):
ID: -
Match: ["className","attachment","inlineMedia"

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'kde' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
#
Bad Patches

IgnoreActivities (had no effect):
ID: 916815
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

MessageLogger (found no module):
ID: -
Match: ["className","attachment","inlineMedia"

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'kde' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
charred monolithBOT
frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 916815
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'kde' before initialization ```
limber skiff
#

grrr

#

another one to ignore

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 916815
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

FakeNitro (found no module):
ID: -
Match: canStreamHighQuality:function

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'kde' before initialization ```
charred monolithBOT
limber skiff
#

canStreamQuality

charred monolithBOT
frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 916815
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors

None

#
Bad Patches

IgnoreActivities (had no effect):
ID: 916815
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors

None

charred monolithBOT
charred monolithBOT
blazing dome
turbid hatch
#

er

#

we're deprecating this installer soon though, pretty much all of our development effort is on the new one

olive aurora
#

why would you install the installer

turbid hatch
#

its a winget pkg that uses the installer cli args

#

but we're reworking the installer atm

#

it's something we can add in the new one but not right now

charred monolithBOT
blazing dome
blazing dome
#

.

charred monolithBOT
nimble plaza
charred monolithBOT
lime stone
blazing dome
nimble plaza
#

ig yea

austere talon
#

no

olive aurora
#

why would u make it a winget package idgi

#

what if it gets uninjected

#

winget repo insane

lime stone
turbid hatch
#

i dont really think winget works with the vencord install system

#

because it will assume its always installed, no?

#

so when you reinject it its just

#

weird

nimble plaza
#

oh yeah

turbid hatch
#

works fine with vesktop though

#

that's okay

charred monolithBOT
half notch
#

discords adding a built in nsfw filter option

#

functions just like the spoiler tag but just for nsfw

austere talon
charred monolithBOT
charred monolithBOT
limber skiff
#

@austere talon what do you think of the ignore-errors branch

austere talon
#

didn't check yet

limber skiff
charred monolithBOT
nimble plaza
#

@olive aurora u love

olive aurora
#

@austere talon you have 5 seconds to merge or explode

#

whats the style for

crude hearth
#

@austere talon dont forget

crude hearth
#

Not that

crude hearth
#

Not that either

charred monolithBOT
austere talon
#

that?

crude hearth
#

IT ISNT THAT HARD YOU KNOW

charred monolithBOT
austere talon
#

this?

crude hearth
#

NO

#

DIE

olive aurora
#

manti wanting us to read his mind while everything that goes on it is absurd insanity

austere talon
crude hearth
#

I can telephaticly speak with ven

austere talon
#

this is insane

charred monolithBOT
austere talon
#

he meant this

#

very important pr i understand

crude hearth
#

Ven thinks I am addicted to Preview Message plugin

olive aurora
#

this isnt support but we are aware of that

crude hearth
#

Hint:1,7,1,8

#

Now eep time

#

Hopefully ven will figure this extremely hard puzzle out

charred monolithBOT
marsh cave
blazing dome
turbid hatch
#

what

#

yeah then its really annoying to reinstall vencord via winget

#

if it requires a force

blazing dome
#

And I does not uninstall before reinstall. It just installs

#

Idk if Winget injects ints own version data from the manifest to the registry tho

turbid hatch
#

none of what you just said makes sense lol

#

what we're talking about is that vencord's installer just.. doesnt really work with winget

royal bane
#

im trying to learn. im stuck here and im confused :/
happens when trying to grab plugin settings
any pushes in the right direction would be appreciated <3

austere talon
#

you cannot use settings on the top level

#

same applies for webpack finds

#

move it to function scope and call it later, for example in your start method

royal bane
#

oh i see, thank you

austere talon
#

settings api depends on the plugin definition so it can properly return default values for your settings

#

for that it needs all plugins to be initialised

royal bane
#

that makes sense

austere talon
#

if your plugin top level code tries to use settings there's now a circular use

#

settings wants plugins to be initialised
plugins wants settings to be initialised

royal bane
#

god this is frying brain

lime stone
#

SmoothBrainFluent I couldn't find a frying pan with a brain sorry

royal bane
#

how do i reference functions in the plugin

#

its $self.func right

marsh cave
#

yes

royal bane
#

im lostt

#

NEVERMIND

#

any suggestions on how i could improve in the future? ```ts

import { Settings } from "@api/Settings";
import definePlugin, { OptionType } from "@utils/types";

export default definePlugin({
name: "ImNewHere",
description: "Allows for the ability to change the "I'm new here, say hi" text on new joiners",
authors: [{
id: 589322754470445057n,
name: "dwnas"
}],

patches: [{
    find: "NEW_MEMBER_BADGE_TOOLTIP_TEXT:",
        replacement: {
            match: /"I\'m new here, say hi\!"/,
            replace: "Vencord.Settings.plugins.ImNewHere.text"
        }
}],

options: {
    text: {
        type: OptionType.STRING,
        description: "What to replace the \"I'm new here, say hi!\" text with",
        default: "I\'m new here :(",
        restartNeeded: true,
    }
},

});```

lime stone
#

What's the point of this plugin? - Well it seems niche.

royal bane
#

ooper

lime stone
olive aurora
#

also options: is deprecated

royal bane
#

oh i looked at an existing plugin for that

#

ill use definePluginSettings

#

wait no

charred monolithBOT
lime stone
#
const settings = definePluginSettings({ /*...*/ });

export default definePlugin({
    // ...
    settings
});
royal bane
#

done :p

austere talon
royal bane
#

ty!! <3

#

using react devtools was easier than i thought it woul dbe

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 916815
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'kde' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
#
Bad Patches

MoreUserTags (had no effect):
ID: 742224
Match: /this.props.user;return null!=(\i)&&.{0,10}\?(.{0,50})\.botTag/

IgnoreActivities (had no effect):
ID: 971102
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'rpe' before initialization
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
charred monolithBOT
charred monolithBOT
limber skiff
austere talon
#

lmao

half notch
#

workin on another pr for the lastfm plugin, gonna add
artist - album
album - artist
album only

and a way to display your lastfm scrobble count for the currently playing track

limber skiff
#

i keep getting unreads for no reason

charred monolithBOT
half notch
#

did discord remove the ability to manually set yourself to "Watching" and "Streaming"

#

its been a while since ive done anything with the discord api so i havent caught up

#

was trying to add options to the lastfm plugin to pick between "Playing, Listening, Streaming, Watching"

cunning canyon
#

wait they arent in the server lmao

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
woeful sable
#

how do voice calls work in the api?

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
austere talon
crude hearth
#

Hello @austere talon explain

austere talon
lime stone
crude hearth
#

also i dont get how useRef is useful outside of referancing react elements

#

maybe I can do

editorRef = useRef(null)
 

<...  ref={editorRef} />
#

idk

#

since it doesnt trigger rerender does it matter

graceful hedge
#

so just regular variable trolley

lime stone
#

but i don';t think the ref property works on every component