#๐พ-core-development
1 messages ยท Page 17 of 1
wth are these
but he also has some cool packages so a lot of packages depend on them and that way you are basically forced to install all his garbage packages
I am going to become devilbro of pypi
if you are worried about regex ddos then just dont use regex
that slice is so funny cause it's probably not documented so if you ever pass html that has invalid html after 1k chars you will be really confused why it doesnt work even though it is apparently valid html
he could just check <html> at start
not really lmao
big update
how much would u hate me if i introduced merge conflicts for shiki pr
I love the fix
not much they are easy to resolve usually
there is no invalid html, this is just looking for heuristics that hint that something is html
soon sindresorhus will make library to parse html with regex
html is a lenient spec, so anything you throw at html should be some valid html
i tried to golf html once but it didnt work
no, they made a library to check if a string contains <body> or <html> or <!DOCTYPE HTML>
- a few other variations
<meta http-equiv="refresh" content="0;url=https://google.com
this doesn't work
you need the "> ending
unfair use of the word valid
u kinda remove the whole point of validity with every markup language
not really
I also wanna know why do we need to know if html is valid
it doesnt "crash" or "throw" but i cant think of any markup language that throws
like XHTML doesnt work like that, neither does css, or PDF, or most other formats
basically thisis the change i wanna make
what is the usecase
(excluding the syntax error)
code editors ?
i see what u mean
can you set the cors headers in same way 
yes but that is terrible
what did u do
is the world gonna explode if i remove this legacy check
pug, jinja templates, microsoft word documents, svg? ig
yea real
idk there just arent a lot of markup languages
latex
only remove csp on mainFrame requests and only change content type on stylesheet requests
latex has compile errors
oh true
is this a conflict?
not sure but this definitely is
cause it changes indent of the rest of the file
noooooooooooooooooooooooooooooooooooooooooooooooo oo o oo o
mainly adding that flag so I can more easily tell people to try vanilla discord
Implemented in https://github.com/Vendicated/Vencord/commit/5e97cc0fc366acc268665c359a35e7c085364576 for Discord Desktop
The bar is still shown on Web because modern browsers don't allow you to hide the bar for security reasons (If you could hide the address bar, it would be very easy to embed something like a fake paypal popup and steal your paypal login info)
resolved
cool thanks
ughhhh firefox build
i think i will move firefox build to tag
and just make tags every so often
workflow has a cron
oh my god mozilla still hasn't reviewed my extension
okay hope build passes now
build will pass
was i not supposed to upload source code
EXPLODE
please work now
gonna move proper publish to tag based workflow soonโข๏ธ
once stupid firefox approves my extension
lets go tag based workflow
otherwise mozilla team will explode when i push twenty versions a day
they probably review fully on first publish then just quickly skim diff in subsequent releases
does esbuild have reproducible builds?
yea but idk how the tersing really works
okay time to test shiki again
yes yes yes
hello mozilla hq please review my discord mods
you will not yeet csp 
i have to
doesnt work that way
how am i gonna add script and style tags
i dont think they'll care about me yeeting csp, i assume a lot of extensions do it
Ven will merge copy raw and popover api right now
did you add modal
laaaazy
Known
i barely know about extensions
Besides I'm working on rce now, no more copy raw
i just imagine theres a host context thats not specific to a tab
and theres child frame contexts
uhhhh
my favorite theme
oh
csp why
makes sense
does it
essentially
outdated armcord
in manifest v2 you have a background script that essentially runs in a background script
in manifest v3 you have to use a service worker instead
my discord got very laggy and i was about to blame shiki
but i realised it's cause i added a theme
themes make my discord so laggy
idk why
WORKERS
Merge
i will add modal first
can u stop using caps it makes my eyes bleed
caps look so ugly on gg sans it's crazy
Using extension-v2 from latest release.
- [Screenshot 1] Clicking the Edit CSS button only brings a blank (about:blank) page with no CSS edior.
- [Screenshot 2] Alternatively, GitHub raw links aren't working either.
Screenshots (click for full size):
if i stare long enough the legs become straight
still no gg sans on stabl
don't use that file, use the ones below
A/B testing?
idgi
this font is actually triggering my hppd
it's using some old cached version??
does aur have a core cli

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
okay shiki works well
supwer nice
u wont have to heap snapshot anymore to check mem usage either since shiki is in a worker
specifically for shiki
wait what are u saying memory leaks don't matter as long as it's in a worker

no just that its more visible
oh
i looked it up
yes you can
i think its just filenames
what
cool u can also use esm
i hate content type including the encoding
headers["content-type"] === "text/plain" // false
headers["content-type"]?.startsWith("text/plain") // true
so pain
do u wanna do that before merge
or another time
both is fine
rn is fine
If it works go for it
uh i havent made it
but i would rn
also that svg is still insane lmao
where tf did juby even find that
or did he make it himself
No idea
btw lets rename plugin to viewraw?
since it will do both copy and view
gonna do that
sick
neat
is the name fine
btw, will you check if my pr needs changes? @austere talon
in a sec
what in the world is transitionState @umbral hedge
oh wait i need to pass the openModal props
it lets the ModalRoot whether to render or not
yeah
<ModalRoot {...modalProps}>
xd
i sure hope you can stringify messages
oh i should probably remove some things from the message
Do what juby did
amazing
Oh lmfao
yeah i definitely need to remove that
wha
your own messages will contain very sensitive info
like ur phone number and email
so i need to clean messages before copy
ah xd
xd
omg discord mobile mode
?
its an armcord setting
oh does it just enable mobile web stuff
vencord on my phone???
nice start message
I made an app
why app
i do ya
anyway it just loads discord in a webview, loads vencord and allows some native features you usually wouldn't have
it makes back gesture / press close modals and go back in history
oh cool
i plan to add more features eventually
i think webviews already have history
its pretty funny how android webview ipc is so similar to electron ipc
lol tahts interesting
https://github.com/Vencord/Android/blob/main/app/src/main/java/dev/vendicated/vencord/VencordNative.java#L16-L24
https://github.com/Vencord/Android/blob/main/app/src/main/java/dev/vendicated/vencord/MainActivity.java#L43
**VencordNative.java: **Lines 16-24
@JavascriptInterface
public void goBack() {
activity.runOnUiThread(() -> {
if (wv.canGoBack())
wv.goBack();
else
activity.getActionBar();
});
}
**MainActivity.java: **Line 43
wv.addJavascriptInterface(new VencordNative(this, wv), "VencordMobileNative");
contextbridge.exposeinmainworld("VencordMobileNative", new VencordNative());
**vencord_mobile.js: **Line 19
VencordMobileNative.goBack();
then u just call like this
llolol
whats the diff
LOL
horror
i need to escape backticks
getactionbar?
terrible
u could hljs it yourself
i think it will show the backslashes
Why do you need to escape them
its just an unstyled pre
Are you coding in mobile rn
pre code boom
Use codeblocks, it's fine
hljs dangerouslysetinnerhtml boom
NO
love hljs dangerouslysetinnerhtml
i shall steal from juby
and then when u ctrl+c with modal focused
preventdefault
and copy selection without zero width spaces
You didnt do it that way?!
does shiki wrap i forgor
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""```
console.log(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)
console.log(false, false, false, false, false, false, false, false, FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALSE)
mmh large one is honestly better than this xd
also is it just me or is the title off center
my beloved

oh yeah i should also delete the message logger pollution from the msg
bottom half has horizontal scroll?
Off center because of the x close button
Also put a space between the json and content
can u just position absolute the x
nvm it might be involved
prevents the event from travelling up the dom
and prevents anything the browser would have done by default because of that event
like this can be preventDefaulted
if u dont add that it will do both your action and the default action (browser context menu)
when u right click something like that button
Oh
it starts with the deepest element u clicked (like a span or smth)
and then it fires the event for that el
goes up a parent
fires
etc til the document root
but if any of those elements stop propegation it will not propegate
i think another term for that is event bubbling
ok what if
discord activities skia plugin
that might be the coffee that said that
im ready to be unshackled
actually i should just make a copyWithToast util
so many plugins do it
okay pushed
oh yeah should i sort the json keys?
insane lint
sorting json 
imo yes
but also yeah
i like my json sorted
it makes it easier to look for things
nah sort by key length
I think i prefer alphabetical 
NO
i usually also sort my package.json and tsconfig xd
JOKE
I sort my package.json by "priority"
i used to sort my css
name/author/ver/etc at top
I sort it but not by alphabetical
That's dumb
then scripts
then deps/devdeps
Yeah same
i do the same but i think its just npm init indoctrination
i think it just makes sense
i think the scalars at top objects at bottom makes sense
trollage
xd
inb4 circular dep
stringify and parse beforehand mayb
stringify doesnt support circular dep either
so there is none anyway
i hate javascript
:>
devilbro will make
you love Object.isObject = obj => typeof obj === "object" && !Array.isArray(obj)
love
is dictionary

hehe
this is one of the more bizarre js quirks
true
node util.isObject returns true for array
LMAO
wtf did i do
moment moment
what in the world
you are french
@austere talon it has passed an hour wheres my review
why did timestamp get momented
xd
probably
json6 with date when
I know what JSON5 is but I have never heard of JSON6
yeah ok unmomented
as in json6 would be json5 but with date
a
looks like its not properly rerendering
this makes no sense
it worked before, now its broken
but nothing changed
it doesnt rerender anymore
weird
Love
oh lol i was just about to fix conflicts
L
guh
i put a trailing comma
pr context menu api immediately
I actually want to

oh my god mozilla still hasnt reviewed
i bet they are still busy reviewing ReviewDB
yes
Omggg
very cool plugins thanks u two
love
is ur default pull strategy rebase
amogus
that the hell
WHAT
not coloured
wait maybe
yeah no icon
this?
full restart
oh yea that would also explain if it wasnt highlighting for u either
no i just had outdated armcord lmao
i meant megu
but i think they put prefer hljs
because hljs didnt capitalize the S in javascript
oh
i just used default
wow is it so seamless actually tho im surprised no weird edge cases from the csp stuff
mm shiki i love
VSCode theme definitions for Monokai Pro: https://monokai.pro/ - monokai-classic.json
@austere talon u should this but catspcucien
capaccino
ya
ah
if there are changes to main/preload you need full restart
I just git pull pnpm watch ctrl+r 
the updater already checks for that
it just checks if main or preload had changes and if so it does hard restart 
ebic
so the csp won't be an issue for normal users
yea
@solemn spoke
thanks
does it look better with or without the background
make it a setting
Info
OS: Windows 10 x64 (win32)
Discord: Stable (Stable 161884 (ba55f09))
Vencord: Latest (Daf3a1d)
Issue
The restart button / prompt when updating doesn't restart Discord properly, often causing issues.
Examples:
- Green circle in vc stops working (possibly more issues with vc).
- Build issues.
How did you install Vencord. Via the GUI Installer? Or the Git method?
Have you slowly disabled plugins to see what's causing the vc issues?
Can you elaborate on "Build issues." This is very vague.
Any errors? stack traces? screenshots?
the padding is better if i display info in the author instead of footer tbh
I just don't like the message inside an embed style
it just doesn't fit there
a quick, normal looking preview is all you need, if you want to see the entire message just click on the link
the automod embed could be kept as a "minimal embed" or something like that
I installed it via the pnpm method
It shows "build errors" on restart after updates
I'll try to see if it's a plugin issue.
I don't see any errors in console that are related to vencord or anything else, I can take a screenshot the next time I see anything though.
It might also be just an issue with openasar aswell (although I doubt it is)
(I will run a clean discord + vencord and wait for an update to see if there's issues).
Ok, green circle issue resolved,
It was a theme ...
const Nothing = null as unknown as JSX.Element
how many years in jail am i getting for trying this
try React.Node or smth
no need i found a way simpler solution
well, heres a ref https://stackoverflow.com/a/58123882
ty
How Can I Fix The Problem ?
It Is For Windows 10, But The Extension Works Fine.
The Attached Is A Video Showing The Same.
@HexaRG Bruh do a pnpm i --frozen-lockfile
The manual install method isn't supported. Figure it out yourself or use the proper install method via the installer
(You likely need to install the newly added dependencies)
you can just
const Nothing = React.createElement(() => null);
yeah i realized thats stupid and found a better way
anyway i committed the message component embed
Run via terminal to get an error message. You are likely using 32bit or don't have (recent enough) OpenGL support (Update your GPU driver)
This PR also adds support for predicates on individual replacements
any chance of seeing a "PinDMs" get done for this?
use favouritechannels
this on the git page? cause its not in the plugin section your talking discords version of this ya? if so i cant seem to add people to the categories
ya once you close the dm it removes them from the list.. so pindm's kept them even when dm was closed
why would you close a DM
Run via terminal to get an error message. You are likely using 32bit or don't have (recent enough) OpenGL support (Update your GPU driver)
This is 64 bit laptop though, 10 years old and has 0 graphics .....
ya i normally close dm's but would be nice to have them pinned to show up under the fav icon how the db plugin works
CSS:
- Margins in Vencord settings are now consistent ๐ฉ
English:
- Fancy link to the GitHub signup page in instructions for theme config is here
- QuickCss no longer exists and has been replaced with the superior QuickCSS, along with StartUp and Development
- Whether or not you like the change to the themes wording is up to you
Enjoy
This is grammatically incorrect
I got this before the installer existed, I'll try to reinstall it with the installer then. Thanks, i guess?
this was the result of a lack of sleep and will be remediated, thank you for your concern
Update your drivers ๐
periods are ugly tbh
and I like the capitalisation to put more focus on key words

same
Why can I type here
why not
Good point
you're the one who mixed them how do you expect me to tell which is better ๐
could go all non-periods maybe
i left Component etc in there
yeah
i only removed the capitalisations where it was a little weird (e.g updates makes sense but Updates makes it seem the updates are different) but Toast and Development could be reverted as per personal preference
vencord
what build, what browser, what file did you install
yes sorry, should've mentioned that:
Im using the userscript with tampermonkey in brave
use the extension then or use a proper github pages link, I cannot modify headers in the userscript
It's restartNeeded and I think this line is obsolete as it's false by default
using the extension fixed the problem :+1:
@austere talon now i'm just confused
but the after part doesn't have anything extra
nvm finally patched corectly

nothing comes in console
uhh
i dont know specifics of the code, but try prefixing it with ()=>
so like children:[() => Vencord......
just a blind debug attempt 
i mean
you're taking ...args (turning it into an array)
and then returning an array
so maybe you want
children:[...Vencord.Plugins...
xd

finally
yeee
for some very forbidden reason, this regex doesn't match the function argument e and instead matches t which is later defined as e.id
any i have no idea why
where can i get the "rolestore" thing
@austere talon why
@spark cove
this is also causing nothing to be built now
pnpm i
oh
cause u already did that in another pr
and it was causing a conflict
fyi, i managed to make the copy raw svg 1000characters shorter, you want
on monday
that svg made bundle size triple in size
when I get my chromebook
lmao
@austere talon MERGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
MERGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
AAAAAAAAAAKลLSFDAOPฤDKBDGOPLADฤCAลLFVรFฤฐลVลฤฐW
merge now or explode
Thank You,
hmmm yess
why not use a Map for this? easier to use and better performance
Map<id, { type: .. }>
how so
None
None
Failed to load resource: the server responded with a status of 404 () ```
anyways migrated to map
github workflow that tests whether any patches are broken
How the hell
i just open discord.com and login with my alt via puppeteer
ven: "its not selfbotting if you automate discord's UI"
I mean i don't do anything
I just open discord.com/app and close it a few minutes later
lol
it's not really testable
this is the best we can do
yea true, there's some specific cases like testing internal code n stuff but that's a different story
there's basically nothing you could test
some utils like logger and debounce and so on but what's the point
if they work in plugins there's no reason to test imo
cause they won't magically break
hljs wasnt working as a fallback because the highlight.js package does this:
declare const hljs : HLJSApi;
: D : DD: DD: D: D
maybe we should use a separate type-only package..
Add a feature to allow auto exporting Vencord settings at a chosen interval to directory of choice.
Why?
explod
the horror
lol
u will merge my pr
soon
i hate that i have to merge everytime u change sth
idk it doesnt happen anywhere else
it's a github branch protection rule
๐
I enabled it because its important to make sure the code still works after merge
imagine you import debounce in your pr but a different pr deletes the debounce file
you only imported it, didn't touch it. so there's no merge conflict
your branch tests fine
merge and boom everything explodes because that file no longer exists
ok explod
allr then
I'll do that when it's time
unless there's merge conflicts 
also I will look at it later thanks
what exactly does that fix
last time u couldnt do that
quick css and co are still borked aren't they
wdym
as long as I have perms to push to the pring branch (which I have unless you purposely disable it) I can do it
ye but it fixes all those urban pronoundb reviewdb etc stuff
wait those also break?
do u monkey patch window.fetch
no xD
inject with define?
ye
cool
and i added cors test
this should use window.location to properly work on canary/ptb
forgot to trim off the data part from b64?
ven will review
VEN WILL MERGE
true
I did
love?
MERGE
76
i fixed
cod?
didnt do anything 
false
Well you need to run lint manually on your file
cause its not included in the command
need to fix that 
a lot easier to read the member count, especially in large servers!
before

after

lint seems to work now ๐

not sure if any code formatting is needed...
whos that
me
@austere talon will merge my pr
nop he will merge mine first
@high oracle you will tell me more about chrome extension releasing
Just upload the zip and that's all
You do have to configure some additional publishing info though
Also don't ask for permissions in manifest that you're not (yet) using
My first iteration got rejected because they don't like future proofed extensions
Also it takes nearly 2 days for the review tk finish
I AM PINGING HIM SINCE LAST 2 WEEKS
not sure if anyone else is having this issue but every once in a while the songs just disappear and usually reappear once a new song starts


This is just spotify/discord being weird, happens with SpotifyControls for BD as well for the same reason
yeah it just uses the data discord gives it, so there's not much that can be done to fix it (but also I never had this issue tbh)
@woeful sable you will stop denying write permission in pr
None
None
Failed to load resource: the server responded with a status of 404 () ```
Upload files to an external file server via a simple slash command (/upload)
Nice polyfill, dont mind if I yoink it
Having progress indicators would be nice, although not currently supported by the fetch API, for progress callbacks you might want to use the xmlhttprequest API (although this would not work for the userscript build, you will have to use the fetch polyfill there, it has progress callbacks)
@Vendicated I think we should make the fetch polyfill accessible on other builds (as a util, not a polyfill)
(but it would use xmlhttprequest instead of GM_xmlhttpRequest when its not a usersc...
Having progress indicators would be nice
I will include this if I continue working on this plugin, but this was really just a quick (5h) functional mock-up for a user in the discord.
If you do continue to work on it, maybe importing sharex configs could be done to directly upload to your own server and send the url it returns, just throwing it out here
If you do continue to work on it, maybe importing sharex configs could be done to directly upload to your own server and send the url it returns, just throwing it out here
You probably dont need a ShareX config, just the login kek. gonna start back up one of my sharex servers, and start testing in a bit
Going to use TannerReynolds Sharex Upload Server as a template to make requests from.

o?
a.k.a. remove the description section and devs and put it on the plugin card
fwiw I'm slowly doing a rewrite of the plugin section
what bs
it wont use modals
it'll be a full page for the plugin
think vaguely along the lines of the app directory ig
hah
this sort of thing
the unnecessary about me and the out of place author list
seriously, this looks like the prototype of the settings UI
ok
https://github.com/abUwUser/Vencord/blob/8a5a5c7d1e6ab733254be6a7e6f46a4f5fab45fb/src/components/PluginSettings/PluginModal.tsx#L87-L96
also useMemo exists
**PluginModal.tsx: **Lines 87-96
React.useEffect(() => {
(async () => {
for (const user of plugin.authors.slice(0, 6)) {
const author = user.id
? await UserUtils.fetchUser(`${user.id}`).catch(() => makeDummyUser(user))
: makeDummyUser(user);
setAuthors(a => [...a, author]);
}
})();
}, []);
using a memo there is basically useless
the users are already cached and there's basically zero overhead of fetchUser after the first run
also im pretty sure the most that'll ever load is like 5 or 6
its not for expensive operations, its for better code
wait til you see some of the crap discord does
we don't need to be discord ยฏ_(ใ)_/ยฏ
ok
That would also work really well for a 3rd party plugin store, like pluck in a GitHub repo url and it parses out all the plugins n stuff, bobs your uncle
mm
I think we have the idea that we have a global api Vencord.* and people bundle their plugin (github workflow or whatever) and load that into client via url or downloading into a folder or whatever
url loading is one of the nicest approaches at stuff, makes a lazy dev very content
insecure tho
Yeah true, most end users won't care if it's drag n drop or pasting a url
tried to use useMemo but it caused an issue where the list didn't got updated unless on hover smh
The weird thing is that my Spotify presence stays, so it still has the data... Will try looking at the websocket to see if anything is changing
Ok I have found the culprit

But the websocket is still open with pings still being sent and my Spotify presence is still active ?


Update #3: It's because I had another Spotify connected with presence turned off which meant that the WS always disconnected which for some reasons cancels both of them in this plugin? Well removing it fixes it but still a strange issue ๐ค.
hah
Ok so scratch what I said before, you do need ShareX config. I implemented a pretty basic system for now, but there are a few issues that I will fix later tonight:
- No way to auth implemented yet
- Getting the final url for the file works on one json layer, but not more (stupid JSON in TS....)
- Generally janky with some uploading services (notably, uguu.se. I have been wrestling with this service since yesterday)
These issues should all be easily fixable, just gotta do it. Buuuut fo...
Obligatory @vendy merge when?
Some changes were made to make the PluginModal UI not look like a prototype version of itself, like moving the plugin authors to PluginCard and removing the redundant About Me section


Yes, you've removed the about section and not given another way to view it. The descriptions shown in the grid of plugins is not the full description.
Yes, you've removed the about section and not given another way to view it. The descriptions shown in the grid of plugins is not the full description.
Oh, okay. Will see about that
Well, the only field of description that is used is the description object, so if you meant that plugins have a small description and a full description then that's false. Other than that, descriptions aren't cut midhalf, because I've removed the height limit, and well, it is more of a issue with the plugin developer if they put too big descriptions, plus descriptions cut in half aren't that great
so instead of having a convenient way to view description as well as other slightly less relevant info about the plugin (like the authors) you invalidate long description with no other way to see them because uhhhhhh???
and this does not look good to me

show a screenshot please, and I don't like this keybind change but it could just be a setting
look at the Spotifystore class of the plugin. it just consumes discords events and dispatches changes whenever there's an event

and the setting bit would work
As much as I appreciate the effort, I just don't see how this is beneficial.
You're now sending API requests for tons of user profiles en-masse when you load the plugin page - this is not the kind of change I will accept.
You've also removed the ability to see a full description for plugins with longer or more detailed descriptions.
I can't accept this PR until these fundamental issues are resolved.
idk it just feels right having a copy button as blue
None
None
Failed to load resource: the server responded with a status of 404 () ```
๐ erm what
is there a bulk user fetch endpoint?
nop
@median rapids
h
you love how discord kotlin has a bulk fetch method
but all it does is send one request per id 
LOVE
lol does it use fetch user or fetch user profile
fetch user is basically never used in the client
i don't think fetching all plugin devs would be that bad as long as its only once
and cached
YES YES PLEASE
@solemn spoke did u try to look at the PluginDef type
sounds like a "change something just because i dont like it" moment
didnt even look at the usages diid ya
Horror
Wraps all urls in chevrons to prevent embeds
iirc that is the plugin settings, not the plugin description, plus i've looked to the original code, and it doesn't have anything related to a "extended description" like you guys are saying
i did
yea
also when they say "full description" they mean the text being too large to show in the card
so it shows in modal as well
Well, true, now I am sending multiple requests for tons of users, and I guess there isn't a good solution for that, so I will close this PR for that.
But really, could you give an example of a plugin with detailed description? I don't find any examples of it
most of times plugins have from 2 to 3 lines long, and if the dev puts a very large description then it is a issue of their part
I feel like the option to hide the URL and just display the component would be good as well
There is no rule that says descriptions must be <2 lines
in fact, it annoys me a lot how vague most descriptions are
I'm probably going to start enforcing that people actually explain how to use the plugin
i mean, it would be at least great to make the description hideable on the "about the plugin" section, as well as putting some text before the dev faces (ex: Developers: *faces go here*)
it feels annoying by the fact that the about me disputes the sane space as the settings, plus it will be rly required if devs write big descriptions
i mean as big descriptions as the ones from play store for ex
speaking of playstore, barely any dev there ever properly provides changelogs, so maybe a release notes/changelogs section for plugins wouldn't be too bad
don't think that is much needed, but its up to ven
When trying to use in-app updater or manual update.
Client can not resolve @vap path.
X [ERROR] Could not resolve "@vap/core/ipc"
src/plugins/shikiCodeblocks/api/shiki.ts:21:29:
21 โ import { WorkerClient } from "@vap/core/ipc";
โต ~~~~~~~~~~~~~~~
You can mark the path "@vap/core/ipc" as external to exclude it from the bundle, which will remove this error.
P.S. If it is path to code, then is not exists in tsconfig.json
because you are missing dependencies. Use the official build
We already have enough plugins that edit text so I will not be accepting any more. Instead, someone should make a more generic plugin that allows you to specify own replacements. Thank you anyway
the blue doesn't fit in at all and the key change isn't really desirable
@Vendicated
What is meant with official build?
I used method for power users, this is article, that is found in official readme.
Is this method not recommended to use anymore and installer should be used instead?
The method is meant for power users and developers. If you can't figure out basic issues like this you shouldn't be using it. A plugin added dependencies that you are missing, you need to install dependencies to fix it
@Vendicated
I am developer. I am developing Discord bots and websites. So I understand what I am doing. ๐
My concern was than I don't have idea where to look for missing dependencies.
But thanks for answer.
pin of shame this
There are so many things I could say but I won't 
@ArttX For the sake of politeness & supporting less experienced developers, if you're looking to develop with Vencord, I suggest learning how node.js and npm works.
The official Node.JS guide is good for getting an overview https://nodejs.dev/en/learn and also has a guide covering npm, which would cover the issue you are facing https://nodejs.dev/en/learn/an-introduction-to-the-npm-package-manager/
tsconfig.json is used for managing typescript configuration, and does not actually have a...
my man is a developer but doesnt know about "npm i"
@MeguminSama
I know how node.js and npm works. I already have 4 years experience. Also I am working with TS a lot.
I only wanted to get newest update of Vencord for use.
Thanks for answers.
?????
If you've been using it for 4 years how do you not know how to run npm install
insan
Doesn't seem like you do if you don't know how to run pnpm install :trollface:
@DiamondMiner88
I already installed Vencord week ago and used it.
Now there is new update. And build-in updater is failing with same error: Could not resolve "@vap/core/ipc"
So I tried to do git pull, but git says that there is no new changes.
As there is no changes, then there is nothing to pnpm install or pnpm build
Yeah but he's a dev with 4 years experience he ain't needing to read anything
I was writing something before I was gonna lock the thread but ven beat me to it so I wont post it


@Vendicated
I am developer. I am developing Discord bots and websites. So I understand what I am doing. ๐
My concern was than I don't have idea where to look for missing dependencies.
But thanks for answer, now I am on right way.
inb4 they make another issue
insane
crypto miner vencord plugin (real)
it will mine for me









