#πΎ-core-development
1 messages Β· Page 20 of 1
its stupit
you will make plugin that makes it send 9000000000000p preview soon
store data in stream preview
@placid wave we will make a plugin to send messages throught stream previews
soon
@Vendicated you will instantly merge without looking at files
Ven hates PRs
do they need to be 79 char lines too
None
None
WebSocket connection to 'ws://127.0.0.1:1337/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED ```
None
None
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 () ```
whats up with that "Failed to load resource"
RPC I think
429 = rate limit, aka loaded chunks too fast lol
i should add some delay to chunk loading
@austere talon does it force load all webpack chunks
yea
Real
Do u think that's a cloudflare 429
**generateReport.ts: **Lines 245-260
const ids = Function("return" + wreq.u.toString().match(/\{.+\}/s)![0])();
for (const id in ids) {
const isWasm = await fetch(wreq.p + wreq.u(id))
.then(r => r.text())
.then(t => t.includes(".module.wasm"));
if (!isWasm)
await wreq.e(id as any);
}
console.error("[PUP_DEBUG]", "Finished loading chunks!");
for (const patch of Vencord.Plugins.patches) {
if (!patch.all) {
new Vencord.Util.Logger("WebpackInterceptor").warn(`Patch by ${patch.plugin} found no module (Module id is -): ${patch.find}`);
}
}
Yup
the eval on line 1 is kinda ugly but it's the easiest way xd
cause its a js object, not proper json
it's like a function that has a massive object with all the chunk ids
its like
function getAssetUrl(chunkId) {
return {
1: "aahsisjsksk"
}[chunkId]
}```
so I just regex match that object xD
Ye I remember the webpack chunk it's kinda epic
Tbh works
Best part about webpack chunk it is will probably never change variable signatures lolol
yeah all the minified names are consistent
that's how this script works on every site https://github.com/Vendicated/webpackgrabber
it's awesome
Amaze
although that script is a little dirty cause it pollutes the function prototype xd

@exhq you give up too easily
You don't even fix the mistakes that we point out.
Why even make a PR then?
skill issue
lemme rest a bit bruh
Then why not make it a draft PR?
No reason to delete it
bro chill
this is just for fun
if someone doesn't want to continue a pr for some reason that's fine
i hate
const SessionStore = findByPropsLazy("getActiveSession");

oh my god i hate github i forgot to submit this review
curious if doing this is even a good idea. This is likely something they will fix themselves soon enough so it might break stuff
OH MY GOD IT WORKED @somber ginkgo
this is such a nightmare lmao
minified code horror
what did you change lol
uh
oh ic
explod github ci
should we also supply non minified builds?
in case someone doesn't trust the minified builds
or just build themselves yeah
perhaps a .min.js and .js
yea
that would change the default to non minified which i hate
and break the updater
if people don't trust it & are smart enough to read the bundled code, they're smart enough to compile themselves
i mean, this is a new repo
set build to make a nonminified and call it .full.js, then rename when pushing to builds repo
nah
builds should be consistent
i just realised it bundles the devs object into patcher xd
i should probably fix that
right time to see if it will actually update
probably because esbuild doesnt realise Object.freeze is pure
would you mind merging that pull so i can see if the etags actually update and this wasn't a complete waste
question
answer
do userscripts support sourcemaps
also hold W/"9273a5c6b6a987c8c252b95a9a0a93c3587145e3ec21649432c5a9c734f0ef17"
bit of trolling
click button NOW
we do a little signing addon
yeah the PURE makes esbuild not bundle it
W/"139660c40a29a818d0f4b595fca4cc778aa6edf800b7aebc06b3a7cbc6dffe5a"
different
my beloved
WHAT IS THA
DELETE
@austere talon ban technical trade for sending cursed text
but yes, the etag header is different and im not getting unauthorised errors, issue solved
this is pain
esbuild will treeshake objects immediately
why don't u use actual ts enum
you will make two enums 

It is worth
@austere talon I'm making a styles api
True it's probably better as a user plugin
fixed
js will soon add annotations
and we will
@Pure
const blah = blah()
or better yet
@Pure
function blah() {
}```
Wdym we use ts
ts annotations are so bad
Wdym
TypeScript Decorators overview
Yea experimental as in they've kinda locked themselves into that impl
It's not horrible but it's a little cringe
It does exist though
I assume ur coming at it from a java perspective
And idk how java annotations work
java annotations are sexo
What are they
java annotations are really good cause you can specify their lifetime, get them programatically etc
Lifetime?
retention
Yea abstractly but what does that mean
you can have CompileTime only annotations, or specify that you also need them at runtime
Oh are these just like
Metadata annoyations
What does class but not runtime mean
Is that for compiled libraries
typescript's decorators are exactly like python's
rather silly
I love nesting three functions just to create a decorator
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.CLASS)
public @interface Command {
String name();
String description();
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
public @interface Param {
String name();
String description();
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.CLASS)
public @interface OwnerOnly {}
@Command(name = "echo", description = "Make me say something")
@OwnerOnly
class EvalCommand {
public void run(@Param(name = "message", description = "The message to echo") String message) {
doWhatever();
}
}
it awesome
then u can get the annotation with a bit of reflection
i made a command handler similar to this
where you just specify command similar to this with annotations and it automatically parses arguments, generates help menu etc
We could do that
it's a shit ton of reflection xd
Yea
What was ur idea of using them
meanwhile python ```py
def decorator_function(arg1, arg2):
def actual_decorator(fn):
def wrapper(*args, **kwargs):
...
return wrapper
return actual_decorator
@decorator_function("balls", "gaming")
def balls():
...
so bad
hikari's lightbulb looks like that
I don't like it
they actually use a ton more decorators
aren't proxies also a thing that can take advantage of annotations
@plugin.command
@lightbulb.option("message", "The message to echo")
@lightbulb.add_checks(lightbulb.checks.owner_only)
@lightbulb.command("echo", "Make me say something")
@lightbulb.implements(lightbulb.PrefixCommand)
async def echo(ctx):
...
so bad
in kt/java
Hikari like the chess player?
No that's hikaru
What's hikari lightbulb
hikari like ε (light, glow)
it's a python library for discord bots
lightbulb is a library for it that adds command handlers
(it doesnt matter)
just merge
also no need to do it 10 times
ill just do whenever
:o merge?!
need
because I am too lazy to change branches
last time because you didnt merge my pr
I had to merge upstream
or use to decade old version
@quaint sapphire you will merge
ah yes
the person that does not have write access, will merge
How why
you are making two different questions, so I'll answer only one of them
how?
by clicking the dropdown button next to the button that merges the upstream changes, and selecting rebase
@unborn garnet do you use ur real face in discord?
yes

people online can possibly dox you with just that info
nah
tineye is really bad tbh, I recommend yandex

unless
tineye used to be good but nowadays it finds like nothing
uhh, depends
for older (non-existent) sites, it works well
it has stuff from 2014 in its database (and possibly even way back)
it has stuff from websites that no longer exist
(im talking about tineye btw)
ven doesnt merge plugins
fake
which one
the only one I have a pr
i will merge
I'm pretty sure they use the gateway
or something like that
I patched both http one and non http
but they always use the non http
fact
https://cute.red-panda.ninja/uwu/1671745918.png
I tried something to get badge idk
Also thank youuu Vocane#4200
the damn libs and their cute femboy icons, bunch of snowflakes i tell ya
more useful than every @mantikafasi plugin
TURKISH CLASSNAMES
shh i was doing something else i gave up at the last minute :^)
None
None
WebSocket connection to 'ws://127.0.0.1:1337/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED ```
None
None
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 () ```
guh
poggers
betrayal
aff1b68 Add a "NEW" Badge for New Plugins (V2)! (#234) - nmsturcke
import { findByProps, useEffect, useState } from "@webpack";
utils/text has this sort of stuff
please use a more descriptive class to avoid potential conflicts
this should just be a memo
why does this setting need to be a state?
what I mean by what does this do is that this is dom manipulation instead of using proper React features. You really should avoid that at all cost, it's an anti pattern and might cause crashes
Please complete or remove this todo
why isn't this padding just on the formtext below as a margin?
please don't include some random cdn, would be nice to use something else or host this on github
why is this hardcoded? Please use a css variable from Discord for proper theme support ππ»
add urself to the constant instead!
You can just use the MiniPopover api to do this!
Is it open source? If yes it would probably be best to put it on a cloudflare worker or similar and clearly point it out in the description to make sure it will work forever and be secure and private and that the user is aware of these requests
if message is a discord chat message, you can import the Message type
receiver(message: any): void {
Vencord already logs this!
export const getStegCloak = makeLazy(() => import("https://unpkg.com/stegcloak-dist@1.0.0/index.js"));
@unborn garnet you can replace all your Vencord.Plugins.plugins.InvisibleChats with $self
it makes it a little more readable i think
ooh okok
also if you are matching any identifiers (like var names, prop names)
theres the custom \i regex escape
good for future proofing in case one of the varnames ever becomes two letters
also probably good for readability too xd
these alignment fixes aren't related to ur pr but i just pushed them here anyway
2172cae [PlatformIndicators] Add own Status (#350) - HypedDomi
shouldn't be a concern where it is. All it does is render the component next to the message
I'm asking what location it is at
42657b0b2b3a609fc7d4.js
line 40 minified.
line 2130 unminified.
noooo I mean like the ui element, where is it, lmao
A screenshot would probably be best
aaah oke, thanks! wouldn't it be easier to just append a π to the message content and let discord render it? or do you need more control than that
I'd like a bit more control.
I'm intentionally using a different lock so people cant just add a lock emoji to their message to troll Invisible Chat users
ven norms
Its an Express server with a Discordjs backend and currently running on AWS to ensure uptime. Though not currently open source
got a better idea?
exactly
I would just make a cloudflare worker that posts via webhook tbh
seems more robust

but maybe there's some limitations to that
couldn't you make the user specify a webhook url and post to that locally?
im going to have an aneurysm
add to the embed "this message has links. To view their embeds, please head to the settings and follow the webhook guide"
just an idea
that'd certainly be nicer than a cursed api
oh i agree
but i lack the knowledge for that at the moment
ill do more research once needed
I already merged a lot of prs today
and it immediately broke 2 things
2 broken prs
you need to trust
it will fix
life will be heaven on earth
paradise
a world where everyone explod
VEN
do you not see the possibilities
the bliss
world peace will be restored on merge
stars burn out
but humans, life
will fight that trend
we will win
ownage
i am so sadged
This targets the css-import branch
First commit is a merge from main, review here: 6b415f3..HEAD
Alongside the pre-existing css stuff, there is a working style manager API with variable support (useful for loading in classnames from modules).
One issue atm is that the injected stylesheet's precedence exists between user-agent and DOM styles.
Also, what are your thoughts on Sass support?
@spark cove i merged main into it
ok i will reset and reopen
uh i think theres some sort of conflicts
dont u load css via js or something
so maybe further changes are necessary
hm
yea
yea
it is only ?managed
'
just devicon
shiki is in the renderer.css bundle
ah okay
but yea i do think uh
lmao
the injected stylehsset shouldhave more rpedicie
erfodais
what
buildweb insane what is it talkinga bout
oh
true i forgot to test line 84
The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Object
its supposed to be dist?
nah it should work this way
i dont know for sure because idk what this target is
its not calling zip tho
its calling this
and crying at the writeFileSync
ohhhh
the unpacked
fixed it
hot
yeah u were right
i was just a bit confused
cause i thought it was fflate crying when it worked before
but it was just our own code lmao
sammy has awoken.
Ven will merge
please make this a constant instead so it's easy to tell what 15 means
Or even better, use an enum
Does the discord-tyoes module not have it?
@austere talon daily reminder to merge
Hi β first of all, thank you for your amazing work ~
Would it be possible to reimplement this plugin [source], which automatically changes from light to dark mode and viceversa based on current time? It's not necessary to recreate the exact slider shown in the screenshot
at...

Horror
i like that idea tbh
same
you will join
:)
Light themes help me with my astigmatism and general mood
we should migrate all the inline styles to css file tbh
yop
megu will review pr
ogey
what exactly does this do?
it seems to enable some sort of variables? That should be documented
ven insane reviewing his own PR?
@spark cove
o
Yes it's for variable class names
So u can supply class names from modules
I needed it for another project so u can imagine it will be useful to someone's usecase
are you guys gonna move the repo to codeberg
just wondering
i forgot my password
IsR4#1g*NaE&7
Huhhh
- It wasnt an issue
- It was informal as shit, the title was just mouth sounds
Looks open to me. I am however going to close it as spam now.

@remote spindle what a dumb fucking issue
@remote spindle cant tell if you got bitched or ashamed of yourself
they deleted it themselves
both should have happened
bro im high stress, ill beat the shit outta you in the fruit section
I'm just annoyed
mm this is hot
open issue called "ye so uh"
get mad when it gets marked as invalid
open another issue complaining that it was closed (it wasn't closed)
bro could have asked that question in general
ong π
Plus, when the fuck was codetower or whatever the service was called ever discussed
and went crazy
anyways stop shit talking now 
megumin seems to be the mother of the server
neuron activated
mommy
xd
if you really want to be

i need a manly man in my life
sometimes it takes a real man to be the best girl
fr fr on god
lmao
yet my chat history here proves im gay as fuck
only way to solve this dilemma is to look for a trans girl
hmuuuuu frfr
im men
no
yes
no im samu
hot
oh also that person on gh was the same person that kept setting their nickname to questionable shit after being told to stop

@austere talon
voteban
they already left so i'll just do the honours
i dont rly know much about arRPC though
the author asked to close issue
@umbral hedgecan you ban them from making more issues?

zzzzzz
i forgot to star them xd
Undo
Remove Android star
βοΈ
@austere talon idk if u read this but im repinging in case
yeah can you document that please
like add jsdoc
yea
i'll jsdoc all the style api methods
literally was just thinking i should do a docs pr
always welcome
will that highlight correctly
just don't use css comments
that doesnt work in markdown codeblocks
im looking at vscode source
that has // comments
actually yeah for just doc comments
its useful for file name context
None
None
Failed to load resource: the server responded with a status of 429 ()
Failed to load resource: the server responded with a status of 404 () ```
shut UP
None
None
Failed to load resource: the server responded with a status of 429 ()
Failed to load resource: the server responded with a status of 404 () ```
uhhhh
another solution atleast in vscode's markdown renderer is to just use a single line of another langauge
because codeblocks have no padding or margin
i will NOT do this
nah im doing scss
im gonna add scss supot
I mean we can also merge before scss and just add it later
yeye
im changing style vars to
style classnames
because thats the only usecase as far as im concerned so might as well make it format classes for u
also that way u can use it in sass because earlier i was doing #{var} which would break in sass
so im gonna do [--var]
oh
could you change that to classNameFactory to be consistent with react's className={...}
yea i only made it lowercase in the function cus i couldnt tell if it was awkward
nini
you don't even assign to this variable you silly goober
OOPS i fixe
how
it belongs to me fork

i think "doesnt belong" means the repo has no refs that have that commit as an ancestor
excluding pr refs ig
@austere talon i swear to god you will merge
LOL
@umbral hedge you will merge
samm samm samm
you are too impatient
i should be the one crying
cause ven always gives more reviews
so my PRs will never make it
10 more tomorrow!

its
darn
bearable, 10Β°C
oh
well
here it is 12 Β°C
but since i live next to a port
the sea makes it feel colder
my bones are trembling
east coast of america is dying rn
im gonna fry some nuggies to warm myself up
shhhh
i make hot cocoa
if I was at home instead of visiting family for the holidays it'd be -25Β°C for me 
husk
None
None
Failed to load resource: the server responded with a status of 404 () ```
None
None
Failed to load resource: the server responded with a status of 429 ()
Failed to load resource: the server responded with a status of 404 () ```
That's literally super warm for this time of year
Its -9 here
Was under -20 yesterday
automatically toggles light or dark theme based on time of day
closes #363
using a two-point slider instead of text fields could look pretty cool...
im going to murder someone
i just realized why u husked me

favoritism
ven likes good code confirmed
my code is good :(
bike what
The law of triviality is C. Northcote Parkinson's 1957 argument that people within an organization commonly or typically give disproportionate weight to trivial issues. Parkinson provides the example of a fictional committee whose job was to approve the plans for a nuclear power plant spending the majority of its time on discussions about relati...
true

const styleModule = readFileSync("./scripts/build/module/style.js", "utf-8");
sync is way faster than async and the await makes it synchronous anyway
btw does ur esbuild plugin have the same issue as before? @spark cove
what was the issue
where if two plugins had the same filename it would die
import bleh from "./styles.css?managed"```
if two plugins had this it would explode
oh no the ids are the file path relative to the repo root
fileContent had that issue
using / as seperator
wasnt it u who realised that
so does ur plugin fix that issue somehow
and i cried
bloop
buttt howwww
for context previously fileContent would basically do the same but ids being the filename only
sec
the path here?
wouldnt this path already be relative?
i hate the github file explorer
not gonna lie i dont know
thats one of those things that happened because i was figuring multiple things out at once
is it save to use the name in css id?
i willl figure this out later
i figured it would allow esbuild to read multiple files in parallel
technically but
it would look a little strange
cus it will be like <style id="vc-styles-src/plugins/shikiCodeblocks/devicon.css">
thats fine ig
would a data attr work too
<style data-src="src/plugins/shikiCodeblocks/devicon.css">
just anything that makes it possible to know where it came from
bet
so you don't go wondering why there's random styles
i can do those changes if u wanna
yea
i need to think of a solution for the userscript anyway
i think u need to do something specific for data attributes
style.dataSet.baller = "hi"
style.dom.dataset.src = name
ya
it auto transforms the casing which is funny
i love
grrr
ownage
silly dom spec
what that
funny db package
what for
its like
how we gonna do that
const db = require('quick.db')
db.set('a.b', 2)
db.get('a') // { b: 2 }```
oh it has nothing to do with vencord
i was just reminded
yea
lmfao nanana
vencord settings proxy magic made me
want to add a funny proxy api to it
typo
await db.set("vap.epic", true)
:3
how make it shut up about stupid CRLF
anyway we do a little git stashing
wait how do i uhm add untracked files to stash
ah i need to git add . first
vapo's nightmare
i am one dimensional with that stuff
same reason i use types instead of interfaces
i just dont think about it
should probably test shouldnt i
yeaaaaaaaaaaaaaaaa
it almost knows holy shit
yea i think it learned off the codebase the more u use it
like i think it has the full context of the codebase
from my experience
yeah but the crazy thing is that it somehow knows that the UserScript specifically needs the css added to it
love copilot
copilot pilled
i hope u never experience random hangs
what the fuck
this should probably work
**Styles.ts: **Line 161
return Array.from(classNames, name => prefix + name).join(" ");
i did not know u could do this
Array.from is pog
will be abuseing
Array.from({ length: 10 }, getRandomChar).join(""); // random string
Array.from({ length: 10 }, (_, i) => i); // [0, 1, 2, 3, ..., 9]
very cool
ya
was checking the lengths
i just checked when u said one because i thought u meant fill
xd
yea
for sure
if v8 is sane
astro is STUPID
it is ignoring my style tag ...
(i didnt pay)
in my
experience
it works better if u write like a real comment
like remove the top comment
and then like
}
// Promise.all for entries```
or something
lmao this is cursed
i did
amaizng
yeye
oh right the string
Object.assign is cool for assigning ids and stuff to dom elements
YES














