#👾-core-development

1 messages · Page 19 of 1

solemn spoke
#

i love that discord crashes when i do a DiscordNative.remoteApp.relaunch()

frail skyBOT
#
Bad Patches

PronounDB (had no effect):
ID: 461460
Match: /\(0,.{1,3}\.jsxs?\)\((.{1,10}),(\{[^[}]*currentPronouns:[^}]*(\w)\.pronouns[^}]*\})\)/

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

Bad Starts

None

Discord Errors
WebSocket connection to 'ws://127.0.0.1:1337/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
Failed to load resource: the server responded with a status of 404 () ```
brave geyser
#

Horror

limber skiff
#

whew

#

hardest fix of my life

rigid venture
#

lol

verbal pumice
#

damn that must've taken a lot of time to come up with

brave geyser
crude hearth
charred monolithBOT
umbral hedge
#

pretty poggers PR

spark cove
#

wew

charred monolithBOT
spark cove
#

i did not need proxies

#

i am so tired thank god for copilot

charred monolithBOT
spark cove
#

also @umbral hedge i realized i never answered u

umbral hedge
#

hm?

spark cove
#

ur comment

#

but it was because i didnt put much thought into whether it was worth it

umbral hedge
#

xd

spark cove
#

and it was easier to not

umbral hedge
#

it's definitely worth it bleh

spark cove
#

but after .2s of thought it was easy to fix

#

lol

umbral hedge
spark cove
#

oop patch helper

umbral hedge
#

patch helper I'd turn it into Vencord.Plugins.plugins.DummyPlugin or something bleh

spark cove
#

yop

#

i should move the canonicalize methods outside plugins folder tho

spark cove
#

dont merge mine yet i need to add patch helper support

charred monolithBOT
spark cove
#

doing this pr made me realize ts-ignore will ignore the whole next block rather than just the next line

#

i dont know why this pr breaks patch helper

#

efieojdsk

#

var patched = src.replace(/* ... */) works from what i see in tge debugger

#

but i dont see the diff

#

debugging time

spark cove
#

my brain cannot ....

austere talon
#

yes it only does the line below

#

but I think actually the ts ignore made it be any

spark cove
#

yea that was my thoughts

#

i want to check after i see if i just fixed the patch helper

austere talon
#

cause there was a case in ts' mind where you would be looping over a not iterable

#

but then I wonder why does it complain about the call

#

it should be valid

spark cove
#

yea same

#

also removing the for loop ts ignore made me catch a bug

austere talon
#

I wonder how tf ts even types the function

#

cause its not really typable probably

spark cove
#

patcher was trying to pull .noWarn from the replacements

#

but that exists on the patches

austere talon
#

lmao

spark cove
#

wew

austere talon
#

how tf did it work anyway

austere talon
spark cove
austere talon
#

except this isn't valid ts

spark cove
#

what is that spread

#

what the FUCK

#

is that REAL

austere talon
#

that's the signature of the replacement function

#

but you can't have spread args in the middle of the parameter list

#

so no it's not real

#

idk how ts types the replacement

spark cove
#

well i guess it does make logical sense

austere talon
#

but it must be ultra cursed

spark cove
#

but it is scary

#

ok patche herlper is fixd

#

where is the ts oignore

charred monolithBOT
spark cove
#

ok i hate force push that sucked

austere talon
#

LOL what did u do

spark cove
#

i used the pr gui

#

and did the rebase option instead of merge

#

and it force pushed

sudden pilot
#

love

spark cove
#

and i have another pr lined up that i branched off this pr

#

and now i have to reset it or something

rigid venture
#

echo is insane

rare shale
austere talon
#

it's so bad

#

use the normal one

spark cove
#

learned the hard way

austere talon
#

it makes all commits unsigned as well

#

because discord dum

spark cove
#

gh

#

real

austere talon
#

yes

#

I'm so used to discord being dum

#

that I just automatically said discord instead of github

spark cove
#

@rare shale btw github has a Draft PR feature

rare shale
#

imagine using features for what they're made for

#

totally cringe

lament nimbus
lament nimbus
rare shale
#

because i want to

austere talon
#

I don't think I wanna merge a plugin that depends on a third party cloud flare worker

rare shale
lament nimbus
#

If that gets merged it means it relies on your worker still working

#

And could be doing whatever behind the scenes
It's dumb

rare shale
#

its easy

#

it scarps song.link's html pagee because all other api's were paid

spark cove
#

why cant that be done in the plugin itself

rare shale
#

i think i tried it

#

cors bullshittery

spark cove
#

yea makes sense

brave geyser
#

Insane

austere talon
#

can't u use YouTube api or smth

spark cove
#

scary

rare shale
# austere talon can't u use YouTube api or smth

i first have to get the actual name of the song (not the link, so prolly need spotify api too) then search the youtube api THEN somehow make sure its the correct link
but why do all that when everything is solved with like an api that has like 20 lines of code

austere talon
#

themeexperimentfix

spark cove
#

ttttttttttttttttttttttttttttttttttttttttttttttttt

austere talon
#

wtf is song.link

#

and why can't u just use that directly

rare shale
#

they dont have an api so best i can do is html bullshittery

#

for example

spark cove
rare shale
#

i just catch this thing then return it

#

with the tab title for beauty

rare shale
austere talon
#

check devtools network tab

#

maybe they have an api, just private

rare shale
#

nope

austere talon
#

if they client side render you can reverse engineer it

rare shale
#

but

#

it works ;-;

#

i have 1mil requests per day its not like we're gonna run out of api

austere talon
#

yeah but I don't just wanna use external workers like that

#

if I allow yours other people will also want theirs to be used

#

then at some point some guy is gonna log ips or just randomly shut his worker down and now its my problem that the plugin is broken

rare shale
#

do you want me to fucking host the shit

#

@hot pecan host this bullshit

#

please

spark cove
#

ur already hosting it

rare shale
#

nea has her own server

spark cove
#

that isnt better

#

its externally hosted either way

rare shale
#

yeah nea please do something

#

im too suffering for this

maiden elk
#

r

spark cove
austere talon
grave mangoBOT
austere talon
#

it literally has an api?

#

unless that changed lol

brave geyser
#

gotta reach out for api keys

austere talon
#

Well it'll be a bit meh anyway cause you'd have to include the key in public source code which they won't want

brave geyser
#

yop

#

and having users do it by themselves is aids

austere talon
#

but if you reverse engineer their site they likely have a public key you can just yoink

#

I'll see in a bit

brave geyser
#

doesn't seem like they use the public api

crude hearth
#

@austere talon @austere talon

#

MERGE

austere talon
#

guh later I have to do uni stuff now

charred monolithBOT
#

image

this adds a MessageDecorationsAPI so other plugins can add their own stuff, and the indicators on the member list were moved to a new MemberListDecoratorsAPI (both api's are basically clones of MessageAccessoriesAPI :trollface:)

profile badges were not switched to BadgesAPI as that requires an image link. is it worth making the api allow passing your own component as a...

crude hearth
#

AND YOU MERGE OTHER PULL REQUESTS

sudden pilot
#

and

austere talon
#

cause they're 3 lines of code

sudden pilot
#

cope

crude hearth
austere talon
#

anyway I was on toilet so I merged

#

I will now do homework

crude hearth
#

NO

austere talon
#

I will merge your pr soon

crude hearth
#

its been a month

#

explode

sudden pilot
#

hes checking character by character

austere talon
#

sorry for taking long to merge but it's a lot of effort to review many prs and make sure everything works top notch

rare shale
austere talon
crude hearth
#

because they are always perfect

rare shale
#

should've hidden 177013 in my code

austere talon
#

oh my god when did my desk get this messy

#

tidy up my desk NOW @crude hearth

crude hearth
#

soon

brave geyser
#

When you merge, manti will tidy your desk

austere talon
#
fetch("https://api.odesli.co/resolve?url=https%3A%2F%2Fopen.spotify.com%2Ftrack%2F78B9RvFjcpSQgGFtjy1zBE%3Fsi%3D4458490ed63b49eb", {
  "headers": {
    "sec-ch-ua": "\"Not?A_Brand\";v=\"8\", \"Chromium\";v=\"108\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\""
  },
  "referrer": "https://odesli.co/",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": null,
  "method": "GET",
  "mode": "cors",
  "credentials": "omit"
});

@rare shale

rare shale
#

the fuck

austere talon
#

lol that gives u this

#

so u will probably have to do more stuff

rare shale
#

agony

rigid venture
#

that's already way better than whatevrr the fuck you had going on

rigid venture
#

https://api.song.link/v1-alpha.1/links?url=

umbral hedge
#

damn this a good api

#

hmmm i wonder

#

wtf is boomplay

#

i never published it there sk

rigid venture
#

work it girl

austere talon
#

is that api seriously without auth lmao

tidal cloud
#

why would it need auth

austere talon
#

you will tell them to add cors

tidal cloud
#

songwhip.com also had a api btw incase he gives up on that one

rigid venture
#

&key=

#

they say it allows for less strict ratelimits but i didn't get ratelimited at all

austere talon
#

someone email them to add cors

rigid venture
#

i thoroughly doubt they would give a fuck

brave geyser
#

Still email them

#

Maybe they give a fuck

quick ibex
#

you could use this

#

I have a worker already hosted https://cors-bypass.efu-cors-bypass.workers.dev

#

to use, add the api at the end of the url like so: https://cors-bypass.efu-cors-bypass.workers.dev/https://www.roblox.com/home

quick ibex
austere talon
#

fyi its very simple to fix cors client side by manipulating headers

#

but won't work on ArmCord and userscript

#

so I'd rather not

spark cove
#

ven if u merge my pr are u going to merge main into it for me

charred monolithBOT
charred monolithBOT
spark cove
#

what

charred monolithBOT
charred monolithBOT
#

About

Uses the message accessories API to add the following buttons Apply, Update, Remove.

  • Apply: Saves the code snippet in the plugin settings and appends it to the head.

  • Update: Appears when a message (of an installed snippet) has been edited, clicking it would simply use the new code.

  • Remove: Removes the snippet from the plugin settings and from the head.

    Screenshots

TODO:

  • [ ] Implement the settings UI
  • [ ] Figure out...
quaint sapphire
#

imma go to sleep now

#

gn

charred monolithBOT
#

Since replugged is on a dev release right now, I thought of opening this discussion to discuss about a potential and feasible replugged compat for vencord.

General idea:

  • have two separate tabs for replugged plugins and themes
  • use a GitHub release link to install the plugin by copy pasting
  • manual user updating whenever they use the same link (like how Enmity does)
quaint sapphire
#

From what I see, replugged is a vencord copycat now

quick ibex
grave mangoBOT
grave mangoBOT
charred monolithBOT
charred monolithBOT
quaint sapphire
quick ibex
quaint sapphire
#

Kek

#

Being a dick online is my fav pastime

frail skyBOT
#
Bad Patches

PronounDB (had no effect):
ID: 461460
Match: /\(0,.{1,3}\.jsxs?\)\((.{1,10}),(\{[^[}]*currentPronouns:[^}]*(\w)\.pronouns[^}]*\})\)/

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 404 () ```
spark cove
#

u will merge my fix

austere talon
#

i dont think those cases are relevant

#

would be more readable to just replace them without the regex

spark cove
#

i could also generalize the regex creation

austere talon
#

also maybe do that at compile time?

#

would make the source code cleaner

#

idk if that'd be hard lol

spark cove
#

oh like make the regex transformations happen at compile time?

#

hm i would have to write golang i think

#

or add acorn as a dev dependency

austere talon
#

mmm

spark cove
#

u dont get AST access with js esbuild plugins

#

would also be really rigid

austere talon
#

im surprised noone made a regex plugin for esbuild

#

yeah forget what i said

spark cove
#

as it would heavily rely on the shape of the AST

austere talon
spark cove
#

i could do the regex part in with acorn and it would be pretty loose

#

it would also allow the \i escape outside of patches

#

i dont think the $$self case is relevant either but i do think \\i is likely to happen at some point

austere talon
#

when

spark cove
#

discord dont crash challenge

#

actually i was thinking of user generated content

#

this is just for source code

#

so it probably isnt lijely

#

simplify regex time

austere talon
#

why does it even crash

#

it only happens on windows

#

it never happened to me on linux

#

but now im on windows it crashes every so often

spark cove
#

i think its memory related

#

it happens a lot more frequently when i leave dev tools open

austere talon
#

lol out of memory

#

mmm

#

it might be cause 32 bits => Limited to 2gb mem

#

and i saw discord at ~1.4gb earlier

spark cove
#

oh lolololol

austere talon
#

so it runs out of mem

#

and electron goes

#

heyyy we should clear memory maybe mmm

#

then it just reloads the renderer

grave mangoBOT
# spark cove https://github.com/Vap0r1ze/Vencord/blob/refactor/identifier-escape/src/utils/pa...

**patches.ts: **Lines 21-31

export function canonicalizeMatch(match: RegExp | string) {
    if (typeof match === "string") return match;
    const canonSource = match.source
        .replaceAll("\\i", "[A-Za-z_$][\\w$]*");
    return new RegExp(canonSource, match.flags);
}

export function canonicalizeReplace(replace: string | ReplaceFn, pluginName: string) {
    if (typeof replace === "function") return replace;
    return replace.replaceAll("$self", `Vencord.Plugins.plugins.${pluginName}`);
}
austere talon
spark cove
#

actually johann is kinda canonical

rare shale
#

yeah it works

glass cedar
#

thats me :p

dawn coyote
#

badge when

spark cove
#

Huge

charred monolithBOT
frail skyBOT
#
Bad Patches

PronounDB (had no effect):
ID: 461460
Match: /\(0,.{1,3}\.jsxs?\)\((.{1,10}),(\{[^[}]*currentPronouns:[^}]*(\w)\.pronouns[^}]*\})\)/

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 404 () ```
limber skiff
#

also kinda simplified the match

limber skiff
tribal fjord
#

error id 461460 did not appreciate that

limber skiff
#

:😈

austere talon
tribal fjord
#

right i knew that

austere talon
#

useless matches how @limber skiff

limber skiff
#

currentPronouns: was matching 3 modules

#

while it only needed to match 1

austere talon
#

ig some of them aren't used or whatever but I just patched all of them cause I found it easier

#

and too lazy to figure out which were used

limber skiff
#

before it matched 2

#

and in one of them it just returned the original

austere talon
#

oh lmao

limber skiff
#

now it's matching only the used one

limber skiff
#

yay

#

no more bad patches

#

we stay clean

austere talon
#

be nice 😭

limber skiff
#

I hate bad patches.

austere talon
#

I wrote that patch in like 10 minutes

#

thanks for improving

limber skiff
#

no problem lol

austere talon
#

discord had like similar code in 6 different locations which annoyed me so I just patched all cause yes

limber skiff
#

it was easy to know what was the right module

#

cuz review db already patches the right one

austere talon
robust basin
#

@verbal pumice will have a merged pr soon

austere talon
#

I already merged message link embeds

rigid venture
#

wtf real

#

i didn't see it

#

if only there was a way to see a "new" badge on new plugins..

austere talon
#

you would be seeing errors in your console and nothing else if I merged that

quaint sapphire
#

@austere talon would you merge my css snippet thingy if it had no settings UI?

#

like, the settings aren't required, they are just a convenience

#

(well, they would be required if the original message with the snippet is deleted, so you no longer can remove the snippet by clicking a button)

#

ugh, fine ill do it

quick ibex
quaint sapphire
#

um

#

uhh

#

that'd require for me to change a few things

quick ibex
quaint sapphire
#

like, saving the guild id and the channel id along with the existing info

quick ibex
#

send me what you have rn tbh

#

I just really want it

quick ibex
#

Thank you

#

Gonna use it as a third party plugin

quaint sapphire
#

well, once it gets merged into vencord, dont complain if the settings you already had are incompatible with the final version

charred monolithBOT
quick ibex
#

I wont kek

#

Gonna make a few edits myself

#

Plinko ball

quaint sapphire
#

im actually working on that

#

so your effort will be wasted

#

if you actually implement that

quick ibex
#

nah, its just two lines of code

austere talon
#

I would make it a comma separated list of ids

#

if u weren't doing that already

quick ibex
#

no effort wasted

austere talon
#

2 lines of effort wasted

quick ibex
#

Plus, its just so I can use the betterdiscord snippet channel

quaint sapphire
#

cause I prefer using custom components

quick ibex
quaint sapphire
# quick ibex

this mf added settings, only to allow for one channel

#

yeah

#

2 lines is only going to do that much

quick ibex
#

cant be pissed to add anything substantial

#

I just want my betterdiscord channel

austere talon
#

u can do list of channels with the same amount of effort

#

just do comma separated ids

quaint sapphire
# quick ibex

this would need to do smth like
if (!(Settings.CssSnippetManager?.cssChannels?.split(",") || []).some(c => c === message.channel_id)) return <></>;

#

which is still one line, but ugly, so i would count it as two

#

so more effort

#

also, i already said that i prefer custom components

austere talon
#

Settings.CssSnippetManager.cssChannels.includes(message.channel_id)

#

trolley

#

if you're gonna make a custom component for multi input then extend the options api

#

so more plugins can benefit from it

quaint sapphire
#

i found a weird bug with the settings not saving

#

nothing related can be found when launching discord via the command line

[Vencord] Loading original Discord app.asar
Discord 1.0.9008
Starting app.
Starting updater.
[Vencord] Installed React Developer Tools
(node:13380) ExtensionLoadWarning: Warnings loading extension at C:\Users\Arjix\AppData\Roaming\Vencord\ExtensionCache\fmkadmapgofadopljbjfkapdkoienihi:
  Unrecognized manifest key 'action'.
  Unrecognized manifest key 'minimum_chrome_version'.
  Unrecognized manifest key 'update_url'.
  Permission 'scripting' is unknown or URL pattern is malformed.

(Use `Discord --trace-warnings ...` to show where the warning was created)
Optional module ./ElectronTestRpc was not included.
WEIGHT \\?\C:\Users\Arjix\AppData\Local\Discord\app-1.0.9008\modules\discord_krisp-1\discord_krisp\NC_small_8k.thw
WEIGHT \\?\C:\Users\Arjix\AppData\Local\Discord\app-1.0.9008\modules\discord_krisp-1\discord_krisp\NC_small_16k.thw
WEIGHT \\?\C:\Users\Arjix\AppData\Local\Discord\app-1.0.9008\modules\discord_krisp-1\discord_krisp\c6.s.f.27f1a3.thw
WEIGHT \\?\C:\Users\Arjix\AppData\Local\Discord\app-1.0.9008\modules\discord_krisp-1\discord_krisp\VAD_weight.thw
[13380:1218/175457.845:ERROR:CONSOLE(1)] "Extension server error: Object not found: <top>", source: devtools://devtools/bundled/models/extensions/extensions.js (1)
[13380:1218/175457.845:ERROR:CONSOLE(1)] "Extension server error: Object not found: <top>", source: devtools://devtools/bundled/models/extensions/extensions.js (1)
Failed to initialize logging. error=SetLoggerError(())
#

nothing related can be found in the console

#

it just doesn't save

#

but it can load

austere talon
#

wha

#

explain

quaint sapphire
#

when i manually edit the settings json file, the array is not empty

#

deleting an item from the array also works (by the extension)

#

ok, its not that it can remove an individual item from the list

#

but that the list gets emptied

#

tf

#

looks like it was a bug from my end

#

i was treating the proxy of the settings as a copy of them

#

and that caused undefined behaviour

#

now I just ensure that i am dealing with a copy

#

and poof, bug gone

#

sighs

verbal pumice
#

or just PlainSettings?

quaint sapphire
#

well, i am modifying the returned value of getSnippets, and from what I see PlainSettings is global and read-only

#

but it would indeed solve my issue

#

i think

#

ayo, we got the same midnight?

verbal pumice
#

(real)

quaint sapphire
#

so that would either mean you are a balkan, or i dunno

austere talon
#

PlainSettings isn't read only

#

it just doesn't detect changes to it

#

Settings is just a proxy that wraps PlainSettings to make it responsive (update react components, automatically save to disk, call change listeners if any, return defaults for plugin settings, etc)

#

but if you manipulate PlainSettings those changes will be reflected on the normal Settings as well

#

so u should treat it as read only

quaint sapphire
#

bot dead?

verbal pumice
#

prob too long

quaint sapphire
austere talon
#

just clone the object

#

you can use lodash clone

quick ibex
#

@quaint sapphiretrolley

#

a snippet in the vencord channel fucked my client

verbal pumice
#

skill issue

quaint sapphire
#

and edit the settings from there

#

lol

quick ibex
#

where tf do i find the css snippets

quaint sapphire
#

Vencord.Settings.plugins.CssSnippetManager.cssSnippets

quick ibex
#

got it

solemn spoke
quaint sapphire
#

that looks like a WM

#

my guess is AwesomeWM

solemn spoke
#

uhm, it doesn't say the de in there

rigid venture
#

it's not a de

solemn spoke
#

or idk the name of the desktop

austere talon
#

Openbox

solemn spoke
#

hah

rigid venture
solemn spoke
#

ive never heard of openbox

#

so yea

quaint sapphire
#

@quick ibex UI so far

quick ibex
quaint sapphire
#

any suggestions?

#

ofc i know it aint pretty yet

#

it needs more refinement

quick ibex
#

idk

quaint sapphire
quaint sapphire
#

@austere talon so uhh
we currently only have restartNeeded for when an option requires a restart
but we should also have a pluginReload, that calls .stop() and then .start() on the plugin after saving

cause some plugins, may not need a complete restart, but just a "relaunch" of their code

#

would it be ok if I added that?

#

or even simpler, a callback that will be executed if the changes are saved

#

yeah, that actually makes more sense

#

(cause it has more uses)

charred monolithBOT
#
[Vendicated/VencordInstaller] New tag created: v1\.0\.8
quaint sapphire
#

it already exists?

austere talon
#

huh?

quaint sapphire
#

nothing, what i wanted was already a thing

verbal pumice
#

[VencordInstaller] None on v1.0.8

austere talon
#

idk wtf the None means

azure jay
# austere talon idk wtf the None means

None may refer to:

Zero, the mathematical concept of the quantity "none"
Empty set, the mathematical concept of the collection of things represented by "none"
none, an indefinite pronoun in the English language

charred monolithBOT
azure jay
quaint sapphire
#

ven, I need you

#

to either merge w/o checking
or to review

#

(currently, the only error this plugin could every produce, is to not render the snippets in the settings, because a guild has been deleted and it cant be found)

#

i was just too lazy to deal with that edge case

#

(i do use ErrorBoundary, so if someone ever needs a fix, they can report it)

#

@austere talon

#

(ven will explod)

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 429 ()
Failed to load resource: the server responded with a status of 404 () ```
charred monolithBOT
charred monolithBOT
austere talon
#

what do you think about using a webhook to generate embeds?

#

that way users could specify their own discord webhook for proper privacy

#

if you execute webhooks with ?wait=true it gives you the message json

quaint sapphire
#

What about a button that says "Accept risks and show embeds"

And then generate the embeds client side?

austere talon
#

that's way worse than using a third party api

charred monolithBOT
verbal pumice
#

i love sending porn with invisible chat !!!

unborn garnet
#

same!

charred monolithBOT
austere talon
#

can u stop

brave geyser
#

Horror

verbal pumice
#

arjix banned from repo speedrun

oblique hound
#

ignore the others pls 😭

queen heron
#

Domi 💀

opaque pewter
#

i was talking to you

charred monolithBOT
austere talon
#

btw @spark cove i realised why this errors

spark cove
#

omg why

austere talon
#

it's because the ReplaceFN it takes is (str: string, ...args: any[]) => string

#

our type is string[] not any[]

spark cove
#

oh duh

#

me when

austere talon
#

which is technically not the correct type since it gets even more arguments than what we use it for

spark cove
#

i mean its typed for our usage

#

and theres overlap right

austere talon
#

gonna remove the tsignores

#

and cast instead

spark cove
#

how cast

austere talon
#

the "correct" fix would be typing it as any[]

#

but i dont want that

#

pain

#

ts should add more advanced typings

#

it's cause the actual type is like

(substr: string, ...groups: string[], offset: number, originalStr: string, namedGroups: Record<string, string>)```
#

js spec insanity

spark cove
#

OH YEA

#

THAT SHIT

#

THAT IS FUCKED UP

austere talon
#

it's obvious where the end of the varargs is cause it's a different type

#

but i think it's cause js doesn't support more arguments after vararg

#

btw whats this for?

#

couldnt u just assign directly

#

also this won't work for getters i think?

#

you'd need to make a new object

#

7 years later.....

#

lol windows moment

austere talon
#

now port all plugins

#

@umbral hedge do u approb?

umbral hedge
#

lemme check

#

what's with the zwsp

#

@spark cove xd

#

@austere talon do u know why

austere talon
#

cause `

umbral hedge
#

?

austere talon
#

cause i wrap those into ``

umbral hedge
#

oh

austere talon
#

seems to not work anyway lmao

umbral hedge
#

I don't really understand what it's supposed to do but I'll just assume it's right

#

im gonna checkout this PR and test

austere talon
#

it works for me

#

so no need to test bleh

umbral hedge
#

gh cli my love

umbral hedge
charred monolithBOT
umbral hedge
#

you lov

unborn garnet
#

hate

spark cove
#

It was in Unicode form before

#

Idk why it's there either but I didn't like that it was p much invisible in the code

umbral hedge
#

ah

spark cove
spark cove
charred monolithBOT
austere talon
#

i only updated a few things to test

#

too lazy to update all

#

i wish js had macros

#

would make webpack commons way cleaner

#

anyway finally u dont have to React.useEffect

solemn spoke
#

you also forgot React.useMemo

austere talon
#

no?

charred monolithBOT
#

You should avoid transitioning things like height, width, left/right/... This is because they force the browser to relayout and can't be gpu accelerated which makes them feel choppy, especially on older hardware. It would be much nicer to use translateY to achieve this

Good read: https://medium.com/outsystems-experts/how-to-achieve-60-fps-animations-with-css3-db7b98610108

quaint sapphire
#

Jokes on you, I learnt that on my own by accident

spark cove
#

oh i see

#

thats epic

#

can u add useRef

austere talon
#

nop

#

refs bad

#

just add it in pr if u need it

charred monolithBOT
spark cove
#

they are amazing

frail skyBOT
#
Bad Patches

StartupTimings (had no effect):
ID: 461460
Match: /({section:[\w.]+?\.PAYMENT_FLOW_MODAL_TEST_PAGE,)/

NoticesAPI (found no module):
ID: -
Match: updateNotice:

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 404 () ```
charred monolithBOT
austere talon
#

shouldnt be hard to fix tho

umbral hedge
austere talon
#

i should make it test canary as well

umbral hedge
#

yea

#

i'll look at that in a bit

#

nuking The List ™️

#

i hate the 1k friend limit

charred monolithBOT
austere talon
#

maybe we can have voice channels whose names let users know the % of patches that work in stable and canary

frail skyBOT
#
Bad Patches

StartupTimings (had no effect):
ID: 461460
Match: /({section:[\w.]+?\.PAYMENT_FLOW_MODAL_TEST_PAGE,)/

NoticesAPI (found no module):
ID: -
Match: updateNotice:

Bad Starts

None

Discord Errors
WebSocket connection to 'ws://127.0.0.1:1337/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
Failed to load resource: the server responded with a status of 404 () ```
austere talon
#

f notices api

frail skyBOT
#
Bad Patches

StartupTimings (had no effect):
ID: 461460
Match: /({section:[\w.]+?\.PAYMENT_FLOW_MODAL_TEST_PAGE,)/

NoticesAPI (found no module):
ID: -
Match: updateNotice:

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 429 ()
Failed to load resource: the server responded with a status of 404 () ```
austere talon
#

pog works

#

discord seems to push changes to both canary and stable at the same time now

#

notices api being broken is pain

#

it means people won't get notified for update

#

Should maybe add a fallback to the update notice

#

that uses alert instead

limber skiff
#

welp

#

startuptimings fixed

#

notices api no

#

cuz I have no idea what I'm supposed to patch

cunning bobcat
unborn garnet
#

Hate

quaint sapphire
opaque pewter
austere talon
#

is notices api even necessary

#

do notices work without it

#

if so they fixed their shitcode

#

notices api doesn't add any features it just fixes discords shit code

glass cedar
#

why husk reaction @crude hearth

crude hearth
#

because vencord android needs to be cancelled

glass cedar
#

why husk

#

its really good

#

better than aliucord imo

crude hearth
#

laggy

#

unresponsive

glass cedar
#

well

#

a little

#

but im sure it can be fixed

#

its discords fault

crude hearth
#

using discord on web is literally pain

#

and vencord just does that

glass cedar
#

well discord can fix it i mean

crude hearth
crude hearth
#

if they could why would they make react native

glass cedar
#

because people prefer to have an app rather than using the browser

crude hearth
charred monolithBOT
crude hearth
#

native is always faster than using a webview

glass cedar
charred monolithBOT
azure jay
#

they cant even secure a webpage from xss properly

glass cedar
# azure jay they wont

Yeah. Maybe it is possible to do it ourselves tho, maybe if we render discord desktop website and then use a custom theme or smth

azure jay
#

it will still be slow

#

you cant fix performance with css kek

glass cedar
charred monolithBOT
charred monolithBOT
austere talon
#

untested cause I haven't set up android sdk on Windows

#

Also wrote it without ide

woeful sable
#

ven will start adhering to "main branch should be deployable" rule immediately

umbral hedge
#

nop

glass cedar
#

@austere talon so are u gonna make a release soon now that u did the quickcss thingy?

austere talon
#

Once I tested

austere talon
#

main branch is if it works it works

charred monolithBOT
unborn garnet
#

VenVenVenVen

verbal pumice
#

idk why i find

// @ts-expect-error SHUT UP
``` so funny
austere talon
#

trolley

unborn garnet
#

I hate typerscript

#

It's mean :(

charred monolithBOT
unborn garnet
verbal pumice
#

you will not the webviewcord

charred monolithBOT
austere talon
#

fuuu

charred monolithBOT
austere talon
#

grrr i hate workflows

glass cedar
charred monolithBOT
glass cedar
austere talon
#

@glass cedar i dont think i can make quick css closable

#

because webview doesn't exactly support popups

#

you have to go insane hoops to do it

glass cedar
charred monolithBOT
#
[Vencord/Android] New tag created: v1\.0\.5
austere talon
#

you gotta go hoops to do it

glass cedar
limber skiff
#

@austere talon you will merge this instantly, way too simple

#

(been tested)

charred monolithBOT
limber skiff
#

thank you

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 429 ()
Failed to load resource: the server responded with a status of 404 () ```
#
Bad Patches

None

Bad Starts

None

Discord Errors
Failed to load resource: the server responded with a status of 429 ()
Failed to load resource: the server responded with a status of 404 () ```
spark cove
#

this channel keeps freezing my phone i think

unborn garnet
#

same

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
woeful sable
#

huh that's a thing

spark cove
#

Oh yea true

#

That's in an online script

umbral hedge
#

absolute horror

#

remote tracking in PRs should be illegal trolley

#

or github should at least hide the commits

spark cove
#

Yes

charred monolithBOT
#

I called the discussion "Image tools" because my requests are oriented to images, but it could be separated plugins.

  • After clicking a picture, sometimes they are too small, or the text in them is too small. To avoid having to open original and zoom in the browser, I would like a zoom (like a lense) while holding click for example.
  • Display picture name on hovering in a tooltip. (the tooltip can include the dimensions of the file too or size of the file)

Idk if there could be somethi...

charred monolithBOT
charred monolithBOT
oblique hound
charred monolithBOT
#

You might want this plug-in if:

  • you only want keyboard clicks in discord.
  • your operating system doesn't support click sounds (at least not easily) I believe ChromeOS does not support these as an example.
  • you're an idiot and have no idea how to enable them in settings.

Whilst I agree this isn't the most useful/coolest plug-in in the repo, it's not exactly the most useless.

austere talon
#

@oblique hound did u ever figure out the translateY transition?

oblique hound
#

Kinda. But i couldn’t figure out how to resize the spotify player with it

austere talon
#

just negative translatey should work

oblique hound
#

Alr. I’ll try it in a bit

charred monolithBOT
#

From what I can tell about mechakeys is that

  • it does support Windows
  • According to their website they only support Windows but on their GitHub they support Linux, MacOS and Windows (confusing but something I cba to verify so i'll assume they support all three)
  • In any case this still does not support users running Vanilla ChromeOS with Discord Web and Vencord Web, nor does it account for keyclicks in discord (and probably not for the less technologically capable people who don't know h...
oblique hound
#

But i added the will-change property

charred monolithBOT
azure jay
austere talon
#

bloat

#

Aliucord repo .git folder is like 300mb cause of all the binaries

#

they bloat git history

limber skiff
#

@austere talon another plugin you will merge instantly

austere talon
#

wait what

#

what does that do

#

people just cant see preview?

placid wave
#

guhg uh guh guh why

limber skiff
#

I love

placid wave
#

why

limber skiff
#

it stays like that forever

placid wave
#

this is so stupit

#

why

#

stupitest

#

why

limber skiff
#

no

placid wave
#

why is this useful
worst

limber skiff
#

sometimes you may not want people not in the vc too see what you are screensharing

placid wave
#

ok so dont screenshare it?????????

limber skiff
#

no?

placid wave
#

someone could go in it and watch at any time

#

you have skill issue

limber skiff
#

It is still useful

placid wave
#

how

#

insane

#

also its so low resolution who car

#

ven will close pr trolley

limber skiff
#

just don't use it lmao

placid wave
#

useless plugin

limber skiff
#

for you

placid wave
#

almost as useless as all @crude hearth plugins

crude hearth
#

MY PLUGINS ARE MORE USEFUL THAN THAT

#

also unironically why the hell would you want that

#

I mean you can completly disable the pop up

#

why does it still show that thing