#š§©-plugin-development
1 messages Ā· Page 34 of 1
Is there already a plugin for sending message using Ctrl+Enter instead of Enter? I think probably there is, but I want to develop one if there is not.
pretty sure thereās not
that would explain thereās no plugin for it š
but no
(or of send button possibly)
No, it is not.
It just shows a button that can be clicked with mouse.
Enter still sends message.
(legacy chat input also does not change that behavior. i think all it does is that it prevents displaying input fields for parameters of /commands)
tho āmost chat featuresā sounds like there should be plenty more ĀÆ_(ć)_/ĀÆ
And markdown preview.
And done. #š¾-core-development message
are the regular expressions in vencord plugins supposed to work in JS functions like match and replace? the tutorial at https://github.com/Vendicated/Vencord/blob/main/docs/2_PLUGINS.md says so, but I couldn't reproduce it
#š„-vencord-support-š„ message for more context
send code
{
find: ".activeCommandOption",
predicate: () => settings.store.showIcon,
replacement: {
match: /(.)\.push.{1,30}disabled:(\i),.{1,20}\},"gift"\)\)/,
replace: "$&;try{$2||$1.push($self.chatBarIcon(arguments[0]))}catch{}",
}
}```
taken from the silentTyping plugin
the match part doesn't produce any matches in the dev console
ah. thanks
default adwaita titlebar 
wayland electron moment
Oh no!
An error occurred while rendering this plugin's custom InfoComponent
ReferenceError: Link is not defined
at settingsAboutComponent (VencordRenderer:205:28876)
at Sa (269f1522ef537311f6f8.js:3481:54)
at gu (269f1522ef537311f6f8.js:3535:146)
at Ic (269f1522ef537311f6f8.js:3528:89)
at mc (269f1522ef537311f6f8.js:3528:17)
at hc (269f1522ef537311f6f8.js:3527:867)
at oc (269f1522ef537311f6f8.js:3524:642)
at uc (269f1522ef537311f6f8.js:3525:49)
at Fi (269f1522ef537311f6f8.js:3464:577)
Can anyone help?
Might be because of this line:
<Link href="https://dsc.gg/UserPFP">Request a PFP</Link>
Fixed š
at gu
this should tell you all you need to know
How do you submit a plugin?
@dull magnet should we drop node.name if we're gonna include application.name anyways?
do they sometimes differ?
In some cases application.process.name may contain more
But they're mostly the same
So we may not even want to include application.name
Or do you want to have it (Because you said earlier)?
Right now I have binary, pid & node.name
"props": {
"adapt.follower.spa-node": "",
"application.icon-name": "chromium-browser",
"application.language": "en_GB.UTF-8",
"application.name": "Chromium",
"application.process.binary": "vencorddesktop",
"application.process.host": "vendingmachine",
"application.process.id": 27450,
"application.process.machine-id": "3f7a4b6efc23421cbc2744660539dc57",
"application.process.user": "vee",
"audio.adapt.follower": "",
"client.api": "pipewire-pulse",
"client.id": 70,
"clock.quantum-limit": 8192,
"factory.id": 6,
"factory.mode": "split",
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Stream/Output/Audio",
"media.name": "Playback",
"node.autoconnect": true,
"node.latency": "512/48000",
"node.name": "Chromium",
"node.rate": "1/48000",
"node.want-driver": true,
"object.id": 65,
"object.register": false,
"object.serial": 872,
"pulse.attr.maxlength": 4194304,
"pulse.attr.minreq": 2048,
"pulse.attr.prebuf": 6152,
"pulse.attr.tlength": 8192,
"pulse.server.type": "unix",
"stream.is-live": true,
"window.x11.display": ":0"
}
there's no application.process.name
I meant application.name
š
hi. i dont know if i am in the right channel. is it ok to ask that? but i have a problem with my theme. would like someone to look at it. its a giant mess of a edited theme plus copy and pasted code i fouund from the years
#šØ-theme-development is the right channel but donāt get your hopes up that someone wants to do big chunks of work for you
Is there a list somewhere with all the application ID's used by discord for presence
like for all the games that have a little icon if you're playing
(NOT rich presence)
yes
Doesnāt the client request it from discord at startup? Try looking at the network tab when reloading discord
pls make fake nitro sound board. is so funny
you could also buy nitro
yes but no
the soundboard is checked serverside iirc which means its basically impossible to let non-nitro users use external soundboard sounds
so that we can add custom sounds in memory ?
it's a good idea, no ?
bro there will be no soundboard plugin
it's possible to make a plugin for download audio from other servers?
couldnāt you just mix any sounds into the mic feed?
hi yall, i would love to ask if its possible to create a plugin where, each user has a seperate audio channel, since im doing alot of processing on my end (denoising, eqing and live captions) due to my hearing loss.
and i would love it if its possible could you point me to the right direction, if possible,
thank you so much xoxo ā¤ļøā¤ļøā¤ļøā¤ļø
Vns
whr is th "e" ky
i at it
wrong chnnl
cheers
i asked someone with deep knowledge of discord and they said theyāre sure it's technically possible, but they have no idea on how to approach that
hereās a resource that seems related: https://discord-userdoccers.vercel.app/topics/voice-connections
otherwise, if i were to approach this, ig iād
⢠search the webpack stores via autocomplete, see #š§©-plugin-development message
⢠search the the whole of webpacks, see venās guide linked in https://gist.github.com/sunnniee/28bd595f8c07992f6d03289911289ba8#3-sending-a-message
gl!
truly microsoft moment
you cant spell microsoft without one letter from telemetry
you should also ping Ven now, maybe thekodetoad as well
who is ven?
probably the person that invented
...vencord
whats his username
no he just invented
how do i ping him?
you don't
ok
@dull magnet explode
@potent fox make big boom
Big boom
Yurrr
LETS GO
Project Vencord Demo
- do you want to check what vencord looks like before installing?
- Try our brand new .html to see a preview of Vencord
- You can run this HTML on any platform , iOS , Mac , Windows , Linux , Debian
- If you need support on how to use this , you can Dm me or a Vencord Contributor.
- Thank you for Reading. Have an Amazing day/night
why is it obfuscated?
what?
cause it's scratch
ah
yeah , I was also confused why you asked
turbowarp š
my bad
turbowarp 
guys dont ping me even though im on dnd
lmfao
i added you instead to give notification
this is fire
i can tell thats sarcasam
yeah you suck
š
wow that looks and shows off exactly what vencord has to offer!
i will install immediately
even though the source I made it from sucks , atleast one person sees it nice
alr Ima go now gn
your ass is not
i am
enable ping replies
š So does that mean I'm never going to be a contributor?
if you contribute code /(make a plugin) you will be a contributor
how do I make a plugin
by writing code
wtf is that
I made this plugin a year ago before I quit making plugins. then I forgot how to make one , also this took 3 hours a year ago
a plugin that plays the discord secret ringtone , most of the time
that is... a betterdiscord plugin
module.exports = __webpack_exports__["default"];
/******/ })()
;
wtf is this formatting
i completely agree, not enough indentation in front of the final semicolon
webpack
true
you real for this one
@smoky basin
TypeError: Cannot read property 'split' of undefined
at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:1299:266)
at apply (native)
at anonymous (Vendetta:1:4897)
at apply (native)
at rr (Vendetta:1:4904)
at p (Vendetta:1:5717)
at apply (Vendetta:1:5792)
at proxy trap (native)
at getAvatarDecorationURL (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:1237:5396)
at apply (native)
at anonymous (Vendetta:1:4897)
at apply (native)
at rr (Vendetta:1:4904)
at p (Vendetta:1:5717)
at apply (Vendetta:1:5792)
at proxy trap (native)
at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:7988:374)
at useMemo (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:59588)
at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:125:6194)
at CutoutableAvatarDecoration (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:7988:321)
at renderWithHooks (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:50929)
at beginWork$1 (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:114470)
at performUnitOfWork (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:100786)
at workLoopSync (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:100668)
at renderRootSync (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:100377)
at performSyncWorkOnRoot (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:96719)
at flushSyncCallbacks (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:31447)
at scheduleUpdateOnFiber (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:92806)
at dispatchSetState (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:57977)
at anonymous (https://decor-discord.github.io/vendetta-plugin/:1:5332)
at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:2464:481)
at apply (native)
at __invokeCallback (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:4571)
at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:1018)
at __guard (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:2908)
at invokeCallbackAndReturnFlushedQueue (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:987)
I seen this and I was wondering what all it does, Vesktop appears to be a web client and normally with web discord clients screenshare is locked to 720p and lags around from 5-30 fps. And I know most web browsers already support linux screenshare and if you package discord.com/app with electron it also supports screenshare so I'm wondering what this is, very intruiging.
linux audio screenshare
and no, vesktop allows full hd 60fps
not on wayland currently
ah alright
this branch has it and adds audio
@dull magnet
I just want to be a contributor
even though I dont know much
I atlease made a demo for vencord
that everyone thinks sucks
I quit
NEVER GIVE UP
I Was back for that message
i do
who elese
uhhhh
exacly
@remote kestrel and @median flare
you can do it
Exactly
i started knowing literally nothing about how discord works, then i tinkered around with the code of existing plugins
Im happy that 4 ppl believes in me , that would get Vencord Contributor
and now i have a PR waiting to be hopefully merged in vencord
Nice
donāt do it for the contributor, do it for the endless amount of femboys and the $1,000,000 check
do it for the people wanting a better way to use discord
to feel special on discord was always my dream really
I may be unable to do stuff properly due to irl issues but at least I believe in people improving discord using client mods, it already made me being able to use discord easier
if your plugin doesn't get merged, no worries! it might still be quality enough to be put in #1032200195582197831

now go on champ! what are you going to make
yes
i'll add that to discord
i think that already exists in #1032200195582197831 sadly.
one of the hardest things is finding something original enough to not have been done (at least not done good enough)
Considering that ideas could be overused over time
make a plugin to hide servers and users (client sided)
i donāt think so
yeah, i dont see any plugins searching for "hide servers"
there's an opportunity!
First, you'll have to find a way to detect the server. try using inspect element to see if the element contains the server ID or name as a variable
Then I think you could hide it with some css code or something (not to mention that I see css commonly used for it)
would also have to disable/hide the notifications in the mentions tab
as well as mutual servers probably
if you want to go so ocd
what if you put the servers in a folder, then hid the folder
quite a hacky solution though
e = print
e("shiggy")

no way
WHAT EVEN IS THIS
but yea
very hacky
just move the folder offscreen

I think we could avoid that right?
true
can you guys help
sure
yes (idk typescript)
but how can we collab
github
ok
microsoft paint
make a fork of vencord
do you already have a development build?
whats a fork
š“
a fork of vencord is a version you own
You need to have a dev build so you can test your own plugin before submitting PR
the 4 idiots try to make a plugin (ven would be very proud)
ohhh id that a demo version of vencord
I even think Iām useless but I still donāt give up
just collab with me I'm @gilded tulip
do you know typescript
no
no
No as well
but I never give up!
Letās learn
this will be very hard if you dont have any previous text based coding experience
Ill be rightback when I'm done watching that vid
this is a (i think) free 10 hour course on the language to help you get familiarized with it
ok
it's not a video, its more of an interactive lesson
If you can struggle through this then youāre pretty much better to do things
hey chatGPT, code this plugin for e
YOUR A GENUIS
chatgpt probably knows nothing about discord modification's inner workings
please donāt use that
Probably
im shitposting at 5:25am
*definitely
learn and develop your own skills
How the hail
from tutorials, go to classes
The link you have been just sentā¦ā¦?
before you learn typescript you should probably learn what it was based off of first, javascript
^
Heavily recommend it
@gilded tulip actually do this one first before learning typescript, it should make learning typescript easier, as it is based off javascript
https://www.codecademy.com/learn/introduction-to-javascript
look
this is cool
especially rule 9
i dident make it though
ok
Yeah⦠Iām weirded out
its also a placebo, and does nothing functionally
please delete the message
as discord's servers only accept mono
Cant I just get the badge
for what?
First stere0 plugin for Vencord
looks inside
BdApi
if you want a badge so bad then donate like $5 or provide something useful to the client
this is usefull
itās devilbro curse, it tries to do something to Vencord
are you trolling rn
why? you havenāt contributed anything other than the time wasted
it takes time to learn
Literally js with types (im saying this even tho ts scared me before I got the hang of it)
No, not really
3 years of writing js and I still cant follow basic principles 
stop being a badge goblin
u just want it for the aesthetic you dont want to really help out 
actually no š¤
all commonly used web browsers do*
if someone calls netsurf commonly used i will punch them
ungoogled chromium doesn't
yeah true but
shrimply encrypt over the wire
and uh if that's not the privacy concern we're talking about
just
throw your computer into a river nobody cares
is there any way to inject a script into discord activities through plugins?

IIRC they are iframes, so no.
you cannot use fs in plugins
Ah, got it
I'll be honest, I was doing a dumb thing
I'm trying to move from Betterdiscord
And I wanted to move my plugins with me
Honestly I was afraid this would happen
Someone said,"No, you should be fine! No need to worry about dependencies!"
Well look right here
vencord doesnāt support bd plugins
Yeah... This guy tried convinving me otherwise, so I tested it, even with building and guess what?
They call stuff that Vencord does not use
And yet, my freind didn't think it would be the case
Well, I'll be checking in then in third party possibly for ports/replacements for some of my plugins, none of them by the way are in the vencord list
good luck me making this universal
(just so that I can patch 2 things)
this needs too many braincells, and it's 12, so tomorrow it is
i will learn every language just to make it backwards compatible
š“š¼ guys i did it
The only use of chatGPT I truest for code:
oh
I think I got patches working
yep, I sure did
YES
I really cannot believe this
I can finally stop using dom manip
Alright, bad idea.
First off realized most of my plugins in Betterdiscord? Yeah I didn't use them. But there were, 3, that I used that is where my bad idea comes in. I basically want to try to understand Vencord's plugin creation stuff by repairing/flat out recreating at least one of these three plugins I fell in love with. The three are: Betteranimations, Bettervideoplayer, and Betteraudioplayer. Now this is not a right now thing, but it's a project idea still. Wanted to get it out there
Probably won't do it, just needed to get it out
Finally
horror
all this for 3 color themes
it's not centered!!!!!
Just use webpack grabber
A User script to grab and search webpack modules on any sites using webpack (Discord, Spotify, Twitch, Twitter...) - GitHub - Vendicated/WebpackGrabber: A User script to grab and search webpack mod...
ye I found it
I mean, I have already ported everything I needed, so I'm ok
only thing I'm having issues with is "hot"/monkey patching
and finding vencord's csp fix
and this works on webpack functions?
It should
whar
or whatever iti s
it's not an extension-
what even it is
it's a userscript
so
you can still bundle for userscript
are you really manually getting all files and bundling them to one file
not mentioning those are typescript
so you need to convert it back to js
tsc
still pain
it really is
you can just throw your stuff into src do your stuff in index.js and bundle
Still, im close to what I want to do
If I can find a way to forcefully "reload" the webpack module Im patching, then Im good
I want to be able to port this plugin to any modded client without too much hassle
But, taking bd as an example, the start function takes quite a bit before it fires, enough that the server list module has been already loaded
god look at bundling
it's pretty simple and makes ur life so much easier
this doesn't concern me yet. The size is still... manageable (6.4K lines)
the one plugin I was going to get a patch from is a bdfdb plugin
devilbro
@dull magnet give them role called "devilbro alt*
oh heeeelll nawwwww
please don't I swear I will make split files
I give up
The userscript works prefectly fine as it is
NEVER BACK DOWN NEVER WHAT
so I will do the bd changes once I start making the bd variant
Using bd's patcher
and webpack
and whatnot
never give up
I gave up
no
hell naw
I was just trying to have some webpack manip functions on normal/unmodded discord
once I start working on the bd version, I'm obviously going to use bd's apis
kind of
horror
wait
will this actually have a big perf hit?
cause right now everything seems to be running fine
(on browser, with vencord already installed)
never let down
still, I have made quite the progress
though there is a different bug I encountered now
this is meant to default to checked
I also cannot check it, it just reverts its state
IGE NEEDED THIS FIR SO LING WITHOUT CSS
rainbow text my beloved
overengenring
whqt why did my autocomplete completely misspell that
overengineering
had stroke
very much
i did and nothing happened
so
thats why i asked lol
- rule 5
and you can LITERALLY see in the screenshot what it does
read rule 5 and youāll see
???
your asking for support for something other than coding in the coding channel
#š„-vencord-support-š„ next time and read #announcements
still not coding 
Live footage of HTML being depricated some time in the future
whar
til you can open 2 modals side by side and have them animate and close at the same time
I definitely have some use for this
hm
what does that do (Select component)
it serialise
meaning? what do I have to do with it
value
no I mean, it expects a string, what string
we normally just pass String
or identity function
it's intended for you to serialise the choice to smth else
but if you just want the raw choice just pass serialize={String}
oh wait it's optional?
do you need that
I mean, you proposed I should move the button to the bottom of the server list
and for some reason I am having a hard time doing that, even though I could do it in the userscript
yes I have a major skill issue
i did not do that
gradle <3
this is after restarting it multiple times, its at like 20m now
@stray imp is holding me at gunpoint and making me use gradle
in fact the only good thing about gradle, some may say, is its logo
once genesis and mewsic are done ill make rootvm, eden, and then dove and migrate genesis and mewsic to dove (eta: 450 million years)
fastest gradle build
how many revisions have I made for a single modal, I've lost count
it took a bit because aenri made some,,, choices in the ios code that kit couldnt test
what am I even reading
aenri trying to run toBoolean on a boolean
why
to make sure that it is a bool?
get the type, and return a default if it isn't
shrimple
yeah
please
for the love of god
thell me this isn't rn
nvm, I decided to read the first 2 lines
thank god
whatd u think it was
Jetpack compose my beloved (It is worse than react in complexity and made me give up on it)
react native 
HELL
exactly
I REMOVED IOS LMAOOAOAO
the fact that this can make true multiplatform apps without some kind of weird js framework is pretty neat
iOS (alpha)
yeah
I forgot I had android studio installed
I might give jetpack compose another go
if I can figure out how to do dynamic content and monet properly
holy shit the first gradle sync is taking an eternity
SAME
compose so annoying
java xml so much better
it might be old but it is so much more stable and readabke
anyone know of a nodejs tar library that'll preserve git's pseudo-unix permissions on windows

you love either dealing with findViewById or viewbindings
and 5 million activities
compose so much simpler imo
setContent {
SomeTheme {
Text("Hello")
}
}
yeah š https://getfedora.org
im not telling 100 some people, most that are tech illiterate, "lol install linux"
powercord v3 install guide
the streamlined install option for hh3 downloads a tar file and then attaches the git repo with isogit
but theres 2 files that have +x on them that keep breaking isogit because +x isnt preserved
and has given me headaches for years because of it detatching HEAD
well damn i was right 
i was originally blaming isogit for the issue but its fault of tar/windows
long shot but if you wanted to put effort in mayyyyybe some native compression library that you could make native node lib for would work?
horror
yop
can isogit not clone
also why even use git
do it like vencord
we have two updaters, one uses git the other uses http

prebuilds from github releases
in regex how tf do you make a non-capturing group which searches every single character except if there is a space/a closing bracket in the end of a string
I tried fucking around with (?:.*) however I could but I gave up
lookaheads
whar
can u maybe try to explain a bit better
like what are u trying to do exactly 
why over-engineer a private project
hh3 doesnt have a build step and thats the biggest reason i still work on it
why over-engineer a private project
uses some cursed shit like iso-git and tries to look for a tar library that preserves permissions

different types of overengineering you see
is this you saying you dislike build steps?
its almost as if the original system
- wasnt build by me
- was made on linux
yes?
have i not expressed this here?
i just like being able to write code and have instant gratification
yeah no build step makes this a lot more complicated actually
its how i learned to write code anyways because of learning glua before anything
and accelerated by addons like luadev and sending code over sockets
why does a build step get rid of that gratification? in the case of vencord at least you can just run the watch script and it immediately rebuilds every time u change smth
i do agree if building takes a long time like more than 5s
but if its super fast to me there's basically no difference
its still the effort of having to remember to run the script or what not
theres times recently working on vendetta shit and im like "why the fuck isnt this working" because i kept forgetting to run build
twitter anti-track for whatever this is
assume I want to keep "mizuena tweet!!!!" at the end if I were to send that message
just use vencord text replace
or just use cleanurls
this is for vendetta btw and I've been having issues with the plugin updating shit so I don't want to use their clearurls plugin
okay but tbf vendetta dev is just terrible
you should still have new URL() though
you have to connect via adb, run a server, build your code, restart the app, etc
reason I never got into it
you shouldnt have to restart unless you're doing something you know requires it
?
it is a hastle to go into plugins, wait for the context menu to load, click refetch, etc
yeah
that's why I just restarted usually
thats worse for me because my tablet is old as shit
its faster for me to refetch than to restart
devdocs.io user š
im really surprised noone has made a proper build tool for vendetta yet that abstracts everything away for you
like a script you run and it just does everything and communicates with vendetta via websocket to reload plugin
have been since 2015/2016
vencord dev is super cozy cause you just run pnpm watch and forget about it, now you can just edit code and reload discord
Vendetta dev on the other hand gave me nightmares 
i still just prefer not even having to run something in the background
fair but u lose out on a lot of good things
ability to bundle into single file for example
still an option for web, its just a manual step
also how do you even import all plugins since you can't use fs in renderer

do you send the code over ipc and eval or wha
import them all on native side, ship them over context bridge, reconstruct in renderer
i mean that just sounds like a skill issue š
never said it wasnt
okay but that's kinda terrible tbh 
bundling is better imo
so much ipc
if it works 
nah i get it
it happened to me too
I once debugged for like 30 minutes why my shit wasn't working
turns out i had production vencord injected
instead of dev install

thats evil but i can get behind it
no?
95% of it
like external dependencies?
for instance, or even just requiring local files
requiring local files isnt really needed as much because of how things are structured
actually we sort of do
huh? back when i had access, many plugins used multiple files
like spotify controls
i haven't looked at hh code much besides when i made a few hh plugins
so i don't actually know much about it
the only place raw require works if an extension's node.js file
vencord does function similarly but i wrote all the code from scratch without even knowing how hh functions 
god what you're telling me sounds really cursed
see with a bundler you just import whatever tf u want, even external deps and it just bundles it all into browser code
that's one of the main benefits
well yeah, but then you're limited to only using external deps that can be browserified
yea but u can just ipc 
it probably functions similarly in hh
god that name is kinda cursed cause hh has a very bad meaning in german lmao
me omw to use the "heil hitler 3" mod

hh3(rd reich)
ooooh path-browserify is my favorite package (it is a version of path pulled from node 8.x)
vee cried when i used it in vencord plugin
i think most were just thrown in there to shut webpack up, the only ones i know are actually used are zlib and stream for my cursed apng to gif converter i wrote
i think it actually runs faster in browser than natively which is funny but i never properly benchmarked it
WHAT
I don't remember that
probably for the better
is it better than vencord's
prob not
ours is pure dom but it has some bugs where some stickers come out very glitchy
jimp and gifwrap prob arent the most desireable to be using
idk if that's related to us doing something wrong or just gif limitation
i read apng spec so many times and couldn't find any mistakes in our logic

Upng 
only issues i had were gifs failing to be made because >256 colors
Upng is so husk
Their types are outdated and they update it (single js file) with GitHub web upload
if anything it just proves that theres flaws in npm with it being sorted by relevancy and most downloads rather than by community determined code quality
HAHAHAHA WHAT
I don't think theres any other options really tbh
Sharp might get support soon enough
hh3 has ios support ?
doesnt work anymore because it relied on rambundle
you love Add files via upload
aww
legit the majority of BD devs don't know how to automate their workflow so they just edit the 5k lines long js file inside the BD folder and once they're done use the github editor to copy paste their local version in
bdfdb:
hermes killed it š
ik it wont happen but itd be funny to try and fix it
ive had at least 3 bd devs tell me they do this by now

hh4 with iOS support when
the only way it would be able to be fixed is if someone made a version of hermes that can decompile and recompile bytecode back and forth
Regex patch bytecode
what part of it depended on rambundle
var frm = out.frames[i];
var fx=frm.rect.x, fy=frm.rect.y, fw = frm.rect.width, fh = frm.rect.height;
var fdata = decodeImage(frm.data, fw,fh, out);
if(i!=0) for(var j=0; j<len; j++) prev[j]=img[j];
if (frm.blend==0) _copyTile(fdata, fw, fh, img, w, h, fx, fy, 0);
else if(frm.blend==1) _copyTile(fdata, fw, fh, img, w, h, fx, fy, 1);
regex patching because it was still returning raw javascript if you tostring'd a function
THE FORMATTING WHAT
Ben do you see why I said js ecosystem for this stuff sucks
nice autocorrect
WHAT IS THIS HAHAHAHA
I should make bindings for apngasm tho
real
this is the worst formatting I've ever seen
NO
wait I just realised this is Photopea
tired: ('|")
wired:
why do they have devs like this
is that the same regex
this proves you don't need to be good at programming to make successful software
yes the only difference is the quotes 
HELL
WHY ARE THE QUOTES DIFFERENT WHAT
This branch is 8 commits ahead of, 14 commits behind photopea/UPNG.js:master.
good luck without replacing hermes
WHY ARE ALL THEIR REPOS THE SAME SHIT
š
aliucordrn had that but it gave bytecode not js
and it worked by us replacing hermes with our fork
id hate to see what the actual private photopea repo looks like
is the fork's repo still up
yes
ooo
we love [bytecode]
most if not all of that code is just copy pasted from existing facebook code
it worked well and was super fast - so fast that we could comfortably run it on the entirety of metro
what would it look like patch wise?
wdym patch wise
you can't patch that
it was just used for finding modules
AliucordRN had the best apis it's a shame it died
like this is so amazing
oh this is why i cried trying to steal aliurn code
i need to know what that was
???????????
native module proxy
the point of it is getting native modules
like nativeModuleProxy.FileManager
yeah but that module to blacklist
it returns null for every non existent store
so it would mess up webpack searches lmao
findByProps("getUser").getUser // null
cause it would keep finding the nativeModuleProxy instead of the proper module
ah
AliucordRN would have easily been the best mobile mod if it were ever finished (and didn't have horrible leadership)
would it be viable to fork/recreate it ?
cause it was so powerful and we also had native plugins planned, to be able to mod chat and stuff
you tell me
the code is really bad cause 6pak is addicted to OOP
So AliucordRN is cancerous oop
oop?
object oriented programming
so you're telling me
everything is a class
HELL
we will make venmobile real
you need to juggle instances around instead of just being able to import random functions
NO
with liberal stealing from aliurn
it's funny how vencord is the opposite of AliucordRN
AliuRN: classes everywhere
vencord: class? wtf is that
i think vencord only has 3 classes
logger, queue - cause it makes sense
errorboundary - cause it has to be
lmao
i forgot about ChangeList meow
wait 5
cause spotify controls uses a class for the SpotifyStore
but that's only a class cause it extends discords store system :3
but yeah u get the idea
tbh i think kinda plugins make sense to be classes
class EvilPlugin extends DefaultPlugin {
const FUNNY_CONSTANT = 69;
start() {
(new Logger("meow")).log(this.FUNNY_CONSTANT)
}
}
at least from a personal perspective
no
nop
cause now u have to explicitly type everything
cry
classes suck in ts
switch to flow then
definePlugin({
patches: [] // strongly typed and gives you auto complete
})
in a class it makes u type it again
horrid

the only way to have it typed is to put it all in the constructor
like
export class {
constructor() {
super({
patches: []
})
}
}
no
it still gives u errors but no auto complete
try making a property a complex object array
then implement it
you need to repeat the type or it will be typed as any
yeah still dont get it
WHAT
WHY DOES IT
okay ban typescript use clojure instead š„
what ide is that
vscode
vscode
does that mean u get it now
how do you get errors in the editor
yes
le plugin
error lens
i installed it then immediately disabled again cause I found it to be too in my face
:3
it's cool but it distracts me too much
it's joever
so i wanted to send this to third party plugins because this is so duct taped that it shouldn't ever be merged
https://github.com/sh3devil/faeffect/blob/decor/src/plugins/faeffect/index.tsx free profile effects. if you see redundant code no you don't
it conflicts with free profile themes which i'm working on
one sec
:3
ah
Next thing you know, discord will make to so when you start typing in a channel it shows a crazy effect to everyone in that channel lmao.
I was gonna say that discord would play an intro for nitro users when they join a voice call, but they already did that LMAO
i'm working on the same w/ decorations in an even more janky way
already been done
you could probably work with @smoky basin with profile effects as thatās what they were going to work on next
that's not the purpose of this
decor is for custom effects & decoration
although we're talking anyway and i'll help where i can, they both serve a different purpose
would be cool regardless :3
anyway i'm working on decorations in a janky way but
surprisingly they're harder than effects
Hi is there a way to totally hide a user from discord ? better discord has a plugin called hide utils plugin but its already abandon by the author
i don't think this is the place to ask
oh my bad
anyway perms to send messages in #1032200195582197831 would be appreciated :3
you should make it use invisible chars like the profile colors plugin
i know i should
but it's meant to be a proof of concept that happens to work rn
secondly, i'm conscious abt the character limit
since decorations is more cumbersome i wont be using a full hash in bio for it
I've said this before and I'll say it again someone should set up a MetadataDB that these small plugins can store these random bits in
i might give it a shot some time tomorow
this would stop my plugin & fakeprofilethemes conflicting
because i borrowed the code to proxy profile data (since that metadatadb doesn't exist)
i dont care
so much better and stable
and readable code

kotlin died
back to java

is this within vencord?
pnpm watch
build vencord with the --watch flag







