#👾-core-development
1 messages · Page 136 of 1
oh comment
click then shift click
you click the blue plus
okay so first
when the big update 3 weeks ago ven merged fixing prs so fast no one notice my code disappeared twice 
google how to make a review github.com
i would have to make like 8 comments to do the thing i wanted to do
and it ddidnt really matter
that's how a review works, yeah
i just wanted to add newlines to a function so everything wasnt scrunched up
you can click start a review
and then it makes all the comments at once
or in that case you just tell the person their formatting sucks
yeah lol
just like my first pr vee made a commit "give code room to breathe"
perhaps the code could be spaced out more and formatted better but other than that its good
never forgetting
im such a helper
what is the cute person role i see peopel with it and dont know what it is
it is the "not a whitename" role
it simply means i'm cute
wrong look again
is whitename like a slur here or something cuz ive heard it used in some silly ways
wow
funnily enough i can see our eslint auto-format it like this
if (condition) action(); in one line is such blashphemy
it obviously should be
if (condition)
action();
action() if condition 😇
python
if condition do action() otherwise do otherAction()
wrong its ruby
well i dont think i have that
well its also python
x if condition else y
why can't we just code like this
it only works with the else
applescript
true
real
./run ```golfscript
{"this is rael"p}5*
Here is your golfscript(1.0.0) output @olive aurora
"this is rael"
"this is rael"
"this is rael"
"this is rael"
"this is rael"
expldoe
wenn (condition) zurückkehren;
make every programming language rust
YES
während (condition) {} german while loop
you love https://github.com/bnjbvr/rouille
oh god
no way
HAHAHA
ROST
lmao
WRITE IN ANY LANGUAGE https://github.com/charyan/unirust
HAHAHAHA
外部 टोकरा unirust;
استخدم std::collections::사전 zoals Dico;
eigenschaft CléValeur {
függvény écrire(&soi, clé: 문자열, valeur: Lanka);
функція lire(&soi, clé: Zsinór) -> 結果<Möglichkeit<&Ĉeno>, Cxeno>;
}
statisk μεταβλητος DICTIONNAIRE: Opcja<Dico<Styga, Naskah>> = Geen;
типок Concrète;
kivitelezés CléValeur minden Concrète {
funkcio écrire(&soi, clé: สตริง, valeur: Συμβολοσειρα) {
द्या dico = 安全じゃない {
DICTIONNAIRE.خذ_او_ادخل_ب(Predefinito::каквсегда)
};
dico.ekle(clé, valeur);
}
пацикисделают lire(&soi, clé: Catena) -> निकाल<Malnepra<&Retaz>, Низ> {
nếu द्या มี(dico) = असुरक्षित { DICTIONNAIRE.sebagai_referensi() } {
よし(dico.lire(&clé))
} không_thì {
실패("fetchez le dico".ke_dalam())
}
}
}
love how they're all forked from the french one
what is this absolute horror of languages
🔥 code
it's just rust
what are you talking about
looks normal to me
okay someone needs to explain to me the difference between using the jsx function and calling my react component directly
cause when adding hooks in my component the former works and the latter crashes
the cause of crash was difference in number hooks being rendered
jesus lol
I really don't think you can just PR from a throwaway account and make ven the plugin author
how do people get this much time
insanity
lol what
okay it seems jsx func returns an object as opposed to calling the component directly
any way i could do that in vencord?
spare me for the dumb questions
willow@localhost:~/Downloads> sudo zypper install VencordDesktop-0.4.3.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...
Problem: nothing provides 'libuuid' needed by the to be installed VencordDesktop-0.4.3-1.x86_64
Solution 1: do not install VencordDesktop-0.4.3-1.x86_64
Solution 2: break VencordDesktop-0.4.3-1.x86_64 by ignoring some of its dependencies
Related:
lmao
skull
horrifying
suggest a better alternative which doesn't crash
vencord's jsx is supposed to call that
peak code
i did that in a patch tho
oh
what you do is make your ui code into a function on the plugin object
then make the patch use $self.renderComponent()
so i do
renderAllowedMentionsUI(props) {
return <this.AllowedMentionsUI {..props}>
}
cant you do $self.AllowedMentionsUI(...)
nop it crashes becaus of the useState hooks
when needsAllowedMentions is undefined/null the component doesn't render but when it does there's a difference in hooks being rendered and react explodes
webdev was a mistake i think
yeah do this then
👍
okay pog that works thanks
yeah i'll most probably move the components to a different file
**common.mjs: **Line 221
jsxFactory: "VencordCreateElement",
**react.mjs: **Lines 20-21
export let VencordCreateElement =
(...args) => (VencordCreateElement = Vencord.Webpack.Common.React.createElement)(...args);

match: /\(0,\i\.jsx\)\(\i\.\i,{user:\i,setNote/,
match: /highlighted:.+?name:.+?decorators.+?\}\)\}\),/,
find: ".MEMBER_LIST_ITEM_AVATAR_DECORATION_PADDING)",
someone should review packmanager 
send link
would if i had the override
average discord user will forget they enabled this plugin and scream in #support why clicking on reaction doesnt work :trollface:
bro said Devs.Ven
add me to Devs
Haha love it
the prop is updating but my component isn't reflecting the change
(it's supposed to show 2 selects by the end of this gif (it doesnt))
i assume i have to use some hooks but idk which
Although the question here is, is it beneficial to do this, when we'd need a separate, likely more low-level implementation for windows/mac? from my understanding libuiohook works on all platforms
pretty sure this will break lol
ive been too lazy to fix but i think its not that different
something like this js { find: "renderEmbeds(", replacement: { match: /renderEmbeds\((\i)\){/, replace: "$&$1=$self.patchMessage($1);" } }
guh the prop passed gets updated but the component isn't updating
i'm gonna explode someone help
Although the question here is, is it beneficial to do this, when we'd need a separate, likely more low-level implementation for windows/mac? from my understanding libuiohook works on all platforms
For windows one could use RegisterHotKey, which allows for less combinations of keys but also comes with less drawbacks, not sure on MacOS though, I'd suspect they also have some sort of system API for hotkeys instead of allowing for low level hooks
maybe i'm jsut having a skill issue 
okay it works if i dont use useState
???
but my switches wont work without useState 
edging the button
i'm reading the docs 🙏
wtf are you even making
basically you can mention a user or role or @everyone/@here without actually pinging them
they sure can
im gonna do so much trolling with that
and i'm having a major skill issue trying to make the UI
what's the issue
the initial value in usestate?
imagine readin this out of context
and setstate doesnt work, i presume?
huh
apparently it is intended behaviour 
didnt even know you could change props on the fly
libuiohook may not be using these exact thing, but it already supports all these platforms.. why reinvent the wheel? It also has less limitations than RegisterHotKey
guh key works but it's janky
This is the wrong channel too
will you hide this if no perms?
wdym?
like hiding the @everyone/@here toggle if the user doesn't have perms to ping them? i could do that
for now i'm struggling with making a UI for this thing 
added 👍
if you have github student pack its free
they dont seem to have student pack
assuming by missing "pro" badge on profile since gh student also gives you gh professional
you can disable* it
inchresting
it says "A maintainer of a popular open source project is defined as someone who has write or admin access to one or more of the most popular open source projects on GitHub" https://github.com/pricing#faq-copilot
lol thanks? i don't want it
because i prefer suffering
h
pretty sure this means all maintainers/admins on https://github.com/Vendicated/Vencord get access tooo
i wouldn't call it "one of the most popular" projects
huh
i qualify with a repository of 4.2 stars
ah
:(
huh you don't maintain it lmao
afaik it renews
trial?
@lime stone with perms vs no perms
it stacks 
now time to write a multi select component to add option to (un)ping specific users and roles
does discord have one of those?
it's discord code\™️ i just patched to component to add allowed mentions bar before reply
idk, vencord has a SearchableSelect which has multi but it didn't work for me
maybe you could have an ON/OFF but with an * icon for everyone/here
maybe that's cursed
i thought of that, but 1. would need a lot of ugly patching, 2. would require adding the reply bar for non replies too
currently i'm rendering allowed mention bar only when the content has atleast 1 user/role/everyone/here mention
actually @lime stone i could do it like this render a separate bar if not replying, or render the options in the reply bar when replying
yeah
libuiohook may not be using these exact things, but it already supports all these platforms.. why reinvent the wheel? It also seemingly has less limitations than
RegisterHotKey
Low Level Keyboard Hooks are not exactly a good practice imo.
We've been using them in soundux and have faced several issues:
-
Due to their nature, they will not work on Wayland at all
-
Low-Level keyboard hooks require custom logic that is not always the same as that implemented by the system and may confuse ...
@vivid marsh replying to others, self, and cancelling reply
:O nice
wow that looks amazing
i have no clue how i'm gonna write a multi select 
what if you just added it to the text itself
or just open a context menu with checkboxes
i was thinking of a select menu like this
rough mockup
that's pretty much a context menu, right?
you can have it like this where it doesn't appear at the cursor but instead below the button
that should be possible
maybe
time to extract the component for server dropdown
okay that's progress
now i just gotta make it list individual users and make all & ids mutually exclusive
thanks for the help kode, now i wont have to spend hours writing a multi select, i can just use this
finally mutually exclusive selects
Hello!
I put together a small project that simply retrives the latest download link for a given discord download link.
Its needed as from next month, download links will be only valid for 24 hours, this project will make them not expire. https://github.com/ShufflePerson/Discord_CDN
I am wondering if anyone is able to make a small Vencord script that can add a Prefix to the copied download link, when copying a download link.
this is very much unnecessary
discord will always show you an updated link in the client
as for downloading you either download on the spot or you come back to get a new link
I use discord for hosting a lot of files, and most of the time i am not downloading them from the client
^
You know what else is free and kinda fast? Mediafire
ADS 🔥 , 1mbps 🔥
slower + expensive
Or y’know, your hard drive
i never wanted it inside vencord?
I am wondering if anyone is able to make a small Vencord script that can add a Prefix to the copied download link, when copying a download link.
small vencord script
yes?
This implies it’s in vencord
yeah, for those who add the script manually
all that it does is add prefix to the start of the download link
That’s useless for discord altogether, who in their right mind, treats Discord like a file sharing website
It’s just a feature of a larger whole
if you want to trash talk, then just be quiet, bunch of egoistic teens in here.
If you want something reliable and doesn’t delete your files then use a different host
Literally, the definition of mediafire
Exactly
I dont store files on discord so I just use mediafire for files to large for discord
@idle hamlet
ah I see.
Could you also tell me how I can possibly make a client like vencord
does it require any additional knowledge than Javascript or what
have you made a client before?
It’s not just “oh let me import this and add this” and you’re done
It takes a lot of work
You’d need a lot of experience
In JavaScript/typescript
I see.
If you want you own badge, you can either contribute to Vencord, which is a lot easier than making your own client, or you can sponsor Ven here: https://github.com/sponsors/Vendicated
No. I don’t know how to make a discord client nor am I going to help you make one
I know, will do that later on however, since I'm a guy who likes to experiment stuff by my own and make goods, I'm interested in this "modded clients" subject.
it's just that i don't know where to start from.
since no one else in here would help me
It's not a case of noone wants to, it's more a case of most of us don't know where to start either
It's a massive undertaking
well it's true
well if vee did it, zerebos did it, then why we can't
i mean we could start small and expand it
Because we lack the knowledge they spent many months accumulating 😭
doesn't mean we can regain that knowledge :p
I can give you the rundown of what I know?
hm?
I DM'd you the MD
vencord is the best mod ever we do not another mod
k bye
thanks for listening to my ted talk

ched chalk
looks like the dev tutorial is outdated, what would I put in the "find" section?
{
find: "",
replacement: {
match: /\/(\w+)\.isStaff=function\(\){return\s*!1};\//,
replace: "$1.isStaff=function(){return true};"
}
},
Is there any plugin that lets you fake playing a game? / Is it possible if there isn't already one?
i dont fully understand how to find where events are stored and their names, theres so little documentation besides https://github.com/Vendicated/Vencord/blob/main/docs/2_PLUGINS.md
nvm found updated guide, still no idea of how to find the function name that i want to replace
vns
Content
I want to stream in discord with my obs overlay. I thought that discord streaming probably uses rtmp to stream and there should be a way to use this as the obs rtmp server.
Request Agreement
- [X] I have read the requirements for opening an issue above
discord doesn't use rtmp tho
If you use a virtual camera you can stream that
AllowedMentions
Fine grained control over whom to ping when sending or editing a message.
PS: Editing allowed_mentions in a message requires changing the content as the API persists the mentions if content is not changed
Demos
- Normal:
- Reply:

actually i'm pretty good at programming outside of js so i often do and just try my best
I usually review new prs and this one looks good
i'm very sad about this part
using setState would require me to reconstruct the set (nuh uh not doing that) but not using that means i've to use forceupdater
Really neat plugin, but what would it be useful for?
so i can @austere talon without pinging them :^)
honestly someone gave me the idea and i just wanted to try and implement it
it's pretty useful when you want to mention someone without pinging them
Huh yeah that could be useful
cant believe it, 4 people and none of them want to look at my pr
megu troll reacted me when i said that
what happens to the select menu when youre mentioning a lot of people?
like mentioning everyone
mentioning 15 people 1 by one
this could lead to overflow issues hmm
but like who's mentioning 20 people in one message
honestly you shouldn't do that
so just display a dialog saying skill issue
i think it has a scrollbar though?
omg very cool
i wanted to make that for vendetta but lazy
could be nice if it was searchable, but that might not be possible...
i'll test that
it is possiblt but kinda hard
just tried 63 mentions and yeah it has a scroll bar
lmao github what
0 repositories
At least it didn’t ping everyone on github
this shit is so confusing
text unique to the module you want to replace something in
why does this not make all of my messages "balla"
start() {
this.preSend = addPreSendListener((_, msg) => this.testListen(msg));
},
testListen(msg: MessageObject) {
msg.content = "balla";
},
i think i might have a fundimential missunderstand of how addPreSendListener works
do i need a patch or something to get this to work? Am i not motifying the content correctly?
hi
done
surprisingly the simplest part of the plugin
That is actually crazy, would make @ ing people a lot more easier especially if you admin a server
.... what is that plugin
yes #1998
cat follows mouse (real)
ven recommended 10/10 plugin i love it 🙏
aigh't i pushed fuzzy searching
i think you have the wrong idea
you have to @ mention the users manually and with this plugin you can choose which users to ping and which to not, the fuzzy searching is just searching from the list of users mentioned in the text box
i could also make a plugin to search and mention users in a server but that's a different story :clueless:
gn
Well that’s still amazing, you could @ someone in your server but not ping them(if that’s what your saying), which would still make things Hell’ya easy being admining servers
when you type @ it already searches what you're typing ??
this is crazy
since the relationshipDB servers are down, my show badges plugin is making so many requests that it is using the max amount of pending requests
and profile images, emotes, etc. are failing to load
These are used by the extension to keep their case. Since this plugin does no autoformatting, it just needs to delete them. Regex only finds words that start with > (>word)
wishes to stay anonymous i guess
then we cant get back to them
why removed Devs.Ven
no point in merging a plugin that you will have to support when hiding super reactions is possible in pure css
literally just this
just send that and close the pr
no point in keeping something that's doable with css
also omg real
who tf thought changing how ctrl+tab and ctrl+shift+tab work in vscode was a good idea
ctrl+tab should be forward and ctrl+shift+tab should be backwards
vscode is the only application that does it this way
Using SteamOS 3.5.5. Latest version of Vencord installed and the ARRPC option is enabled (not the plugin).
I know this is their problem but there's a solution you guys can implement into Vencord. Check this fork.
Pretty sure it says to do that at the top if you dont want to have it
not when ur contributing from a throwaway like that
Fair enough
there is currently one person in the dev constants with 0n as their id
and they at least made their pull request from their main github account
and clearURLs
oh huh
this is just insane, no other plugin does this
a plain string option is just fine, if you really want add a isValid check to the second argument with ids => ids.split(",").every(x => !isNaN(+x))
const isWhitelisted = settings.store.replyPingWhitelist.split(",").some(id => message.author.id === id.trim())
what was anton cooking
i made that whotelist drunk
i havent looked since
is it bad
yes
oh my god
OptionType.NUMBER does not let you input values over Number.MAX_SAFE_INTEGER but it lets you input values below Number.MIN_SAFE_INTEGER
@olive aurora wait why this one
doesnt that stop it from having to parse the whole list each message event
yeah but its not a lot
i get the way im doing it is dumb but i was aiming for performance really
this is discord
you'll see the speed of the car that runs over you soon
for EVERY MESSAGE
that isnt a lot
its just splitting an array
sooo tiring
ugh ill remove the caching
I GUESS
@austere talon caching or no caching pls vote
i think caching is cool
no caching
ugh no image perms
its not even that faster 🙄
took 0.09ms to do split a string 223 times
fake nitro has a recursive function that runs on every message lol
real
yes
yea and now use caching version
it will split it in 0.000000000000000 cz IT DOES IT ONCE
it'd be faster by like 0.08ms
n those 8ms add up
do you care about not even 1 ms
0.08ms*
30s of CPU time a day
EXACTLY IM TRYNA NOT ADD TO THIS
but it's fine
why do u do isValidUserId
why is that bad
if its an invalid id the === will never be true

all that for performance and you do this smh
so if i fixed that
i couldve saved WAY MORE TIME
alr yk what im gna make my own that caches
n its gna add up all the time saved
like that wacky fake counter on brave brower
@olive aurora ALSO MESSAGE LOGGER DOES
IT CACHES
SO IM NOT ALONE
just use string.includes xd
on the raw string
and when you press backspace:
the error checking function could be improved
it has an upper limit at Number.MAX_SAFE_INTEGER but none at Number.MIN_SAFE_INTEGER
this is the current function:
function handleChange(newValue) {
const isValid = option.isValid?.call(definedSettings, newValue) ?? true;
setError(null);
if (typeof isValid === "string") setError(isValid);
else if (!isValid) setError("Invalid input provided.");
if (option.type === OptionType.NUMBER && BigInt(newValue) >= MAX_SAFE_NUMBER) {
setState(`${Number.MAX_SAFE_INTEGER}`);
onChange(serialize(newValue));
} else {
setState(newValue);
onChange(serialize(newValue));
}
}
stop creating fake problems
what if an id includes the other 
but maybe
there is already a check in the function for numbers greater than max safe number
why not add a check for min safe number?
the odds of that are lower than winning the lottery
why not not add a check
apparently its a "fake problem"
if you enter a very small negative number like that then you are asking for problems
it doesn't matter
because it is
it is
the only reason someone would enter a number like that is if they are deliberately trying to break it
why would we care
why did you add a check for max safe number in the first place if it doesnt matter tho
because that's a realistic scenario
maximum log entries setting
person just spams 9999999999999... to get "infinity"
i think it would be nice to add definable upper and lower limits to OptionType.NUMBER for plugins to use
yes
IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/
PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
Experiments (found no module):
ID: -
Match: ("showNewSearch")
None
None
IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/
PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
Experiments (found no module):
ID: -
Match: ("showNewSearch")
None
None
Really nice pull request. :)
this plugin was done april 5th
0 reviews
logs "imagine actually explaining this and NOT using node.js?" to the console
consle.log
ok?
Can not read properties of undefined (reading “consle”)
alright sorry ryan, thanks to this information I officially hate javascript, switching to java applets
i love java applets
show code
make sure u get vscodium tho
eh I couldn't login into github properly with it on linux without doing some 3rd grade jank
might be better now
Hello! I recently updated from Vesktop 0.4.2 to 0.4.3 and it seems that the audio sharing is no longer compatible. I find this odd, as 0.4.3 specifically is supposed to add compatibility.
Vesktop tells me I need glibc version 2.36 or higher (which I cannot install on Ubuntu 22.04/Linux Mint 21.2), but 0.4.2 seems to work as intended.
$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.4) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for c...
i relaunch vencord and the module im making a patch for got updated 💀
char counter with fully customizable text
even shows here
found this
since i cant make multiple forks, how do i make a new branch on my fork that isnt polluted by the commits for my other plugin
i simply deleted the other plugin on the branch i made
but it still keeps all of the commits in the commit history which is very scuffed
should i just pr as is?
just create a branch from upstream rather than your fork
how would i do that
this is how i'd do it in vscode
iirc git checkout -b <new_branch_name> <remote_name>/<remote_branch_name> is the cli version
yop it is
i use vscodium
so i dont think i can do that
yeah just use the cli command
i am not authenticated 💀

i think i locally created the branch on upstream tho
its gonna take me longer to figure git out than it took me to make the mf plugin
Adds a character counter to text boxes.
The character counter text is fully customizable.
finally done
What mobile modified client should I use except aliucord
vendetta
or vencord 
Android thx
I'm dumb af
i know
2000th pr 
love memory leaks
I'm flattered 😊
@cunning canyon i disagree
that is worse practice
it does not need that
or are you trying to make it easily selectable by userstyles?
if so then i guess thats better practice
i will sleep
yes
Is there any 3rd party plugin which stops/lowers the volume of the extremely loud videos? or make them impossible to reduce their size to 0 (or whatever so u cant pause them)?
I think the size-changing videos have been fixed by discord this week. There isn't a plugin that ajusts volume though.
In future, use #🏥-vencord-support-🏥 to ask for help.
alright ty for info, but the videos haven't been fixed or atleast the one I've seen today.
this good?
import { classNameFactory } from "@api/Styles";
// ...
const cl = classNameFactory("vc-charcounter-");
// ...
get charCounter() {
return (
<span className={cl("text")}>
<style>{`.${cl("text")}{${settings.store.useMonospacedFont ? "fontFamily:var(--font-code);" : ""}position:absolute;right:0;bottom:-32px;white-space:nowrap}`}</style>
{settings.store.characterCounterText
.replaceAll(/(?<!(?:^|[^\\])\\(?:\\\\)*)\$[mM]/g, maxChars.toString())
.replaceAll(/(?<!(?:^|[^\\])\\(?:\\\\)*)\$[cC]/g, currChars.toString())
.replaceAll(/(?<!(?:^|[^\\])\\(?:\\\\)*)\$[rR]/g, (maxChars - currChars).toString())
.replaceAll(/\\(.|$)/g, "$1")}
</span>
);
}
// ...
or should i make a styles.css
make styles.css
some styles are conditional tho
like the monospaced font
doesnt that just further complicate
this wasnt more readable?
one file
if only there was a better way
ill put it in a separate css file if i have to i guess
why does it have setting to theme it
you can also just
.vc-charcounter-monospaced {
font-family: var(--font-code);
}
.vc-charcounter {
// base styles here
}
also that ^
because on the non monospaced font the numbers move around a lot
so you can just use quickcss for that?
if anyone wants it then the correct way to be css rather than plugin settings
you cant expect the average vencord user to do that tho
im not gonna add any more styles to it
i think just having a monospaced option is fine
if the average vencord user can install themes then they can take 2 minutes to ask how to change char counter font in #🎨-theme-development
imo theming shouldn't be a part of plugin settings
i guess ill remove it then
👍
idek how that happened

well i think the codeberg mirror sometimes might cause issues
if you push multiple commits too fast
the instant i saw ur typing indicator i knew exactly what u were gonna say
what if you had to solve a coding challenge to access this channel
you get a Javascript code snippet and have to answer what it does
Nice idea
JS would be boring
Make it UC File Analyzer style and given several asm snippets
ask js interview questions 💀
make it use leetcode problems
medium difficulty
actually does leetcode have api
make it ask for new {x}DB plugin ideas
using us to train vencord copilot
we can all be prompt engineers 😍
Can you please also share the console output when starting Vesktop from the terminal?
Okay this is kinda funny, by lowering the GLIBCXX version requirement we accidentally increased the GLIBC minimum required version.
How should we proceed with this @Vendicated ? I think it's more realistic for a distro to have a more recent libstdc++ version than for it to have a newer glibc version actually
too easy someone can just run it and see
make them debug
gatekeeping 
if they do that then that proves they are smart
@austere talon Opinion?
suppose so
also what’s the criteria for having a color role 💀
make them solve one of these https://github.com/type-challenges/type-challenges
can't u just decrease minimum glibc version?
No
We can either have higher glibc requirement or higher libstdc++ requirement
"select all images containing a program using smart pointers correctly"
What happened here lol
no wonder the captcha is getting shittier and shittier
hmmm idk
well installing more recent glibcxx is doable
mfw alpha bleed
how much
glibc you just can't
yeah
i hate the ones that say click all squares with the sign
am i supposed to click the squares with slivers of the sign too?
will put out fix
any over $0
chat is this real
its whatever the lowest amount github lets u donate
oh ur serious
contribute, boost, donate or just be active so you get cute person role
I got fooled bad
on peoples thingies
many such users are looking forward to the incorporation of keywordnotify
i might have <@&1175181271010390067> but i have reformed
virus
the keyword really wants to notify
the char really wants to counter
true...
not asking for one
Fixed: in Vencord/venmic@6c356f688450fd7f6f5a5a4f26dd89be6fea0238
/hj
in my defense ppl here use “whitename” like it’s derogatory
it is
well that’s not cool if someone can’t control it
well that sucks ig
but you can
deal with it
yeah i don't really like that
if you are offended by someone saying your discord name color is white then you must explode
i mean it’s used “jokingly” but that doesn’t stop people from internalizing actual disdain
i can imagine it being toxic
i've been here for a while and I don't ask for support because i have basic problem solving skills
we have seen this kind of joking-bigotry form on corners of the internet and by the end it’s never joking anymore
something something poe’s law idk
how is it bigotry xD
well obv it’s not 1:1 comparison
there’s a difference in severity and scale
but the underlying structures have similarities
non-representational subsection of wider population does annoying thing, blame is attributed to the entire population, and a self-fulfilling prophecy forms where all dumb behavior is attributed to the trait
(real)
lol it's just discord roles
smh let me do critical analysis on pointless things
you are analyzing a word used to describe people who don't have a role in a discord server
you can have the infinite i'm new here role
yeah
and it was fun to do
so idk what the problem is
oh no, fakenitro
god forbid women have hobbies
qhar
i agree with that
hcaptcha just straight up sends me to captcha hell even though I'm doing the captchas 100% right
is there a plug-in yet that will put messages longer than the char limit into a txt file
or is that a discord built in feature
if not maybe i make one
builtin
thats a built-in feature
what does m💀 mean
i mistyped m
m💀
m
ok i have an idea for a plug-in i might make
dm typing notifications
like snapchat
it’ll probably be someone’s jam
no way you just compared discord name colour to actual racism / black people having lesser rights???


twas an exaggeration 😭
hence
YES IT'S SO ANNOYING
this has been done for a while (/j (i hope))
i also said this in regards
wow u got cute person role
well deserved
no longer a filthy white
see now that’s crazy
I agree that Linux Vesktop should be using xdg-desktop-portal GlobalShortcuts.
Compared to my previous suggestion, it has the benefit of being Desktop Environment-agnostic. It would also make it compatible with Flakpak, for the folks who use that. The DBus interface is at org.freedesktop.portal.GlobalShortcuts.
It would be nice to have it implemented in Electron as a part of the existing global shortcuts API, then Vesktop could use it and be OS agnostic.
https://github.com/elect...
Rich presence doesn't work on Linux. Applications can see Vencord's ipc socket and will connect to it, but Vencord's rich presence handler errors when this happens:
index.tsx here leads to (vencordDesktopRenderer.js.map)/src/plugins/arRPC.web/index.tsx
Rich presence doesn't work on Linux. Applications can see Vencord's ipc socket and will connect to it, but Vencord's rich presence handler errors when this happens:
index.tsx here leads to (vencordDesktopRenderer.js.map)/src/plugins/arRPC.web/index.tsx
This happens regardless of if I'm using the option under Vesktop Settings or the WebRichPresence (arRPC) plugin
Nevermind, I didn't realize vesktop had to be updated from within the app as well as from the package
This PR makes it possible for the user to start Vesktop in minimized mode. Meaning no splash screen nor the main window appearing on launch. Resolves https://github.com/Vencord/Vesktop/issues/242
any way to disable a settings based on the current state of a SettingBooleanComponent?
kinda scuffed how i have to save settings, close the settings modal, then reopen the settings modal in order for the setting to no longer be disabled
onChange is only called when you save the settings tho
where is that pfp from
cz its the almbum cover
of an album i like
Adds a customizable clock with timezones to the user panels section.
Ok so I've tested today and it seems to be what's on screen, for some reasons Discord struggle to send it correctly as when there aren't that much movement it's smooth but when it's moving a lot it's a literal slide show (see video)
I also tried my theory about the focused window with this little code in the console :
document.hasFocus = function() {
return true;
};
But it seems that the preview is smooth even thought the other client receive a slide show... So it ha...
Since you already checked it existed
panels.appendChild(clockContainer);
This is literally never null/undefined
clockContainer.appendChild(slotOneClock);
if (slotOneEnabled) slotOneClock.textContent = slotOneLabel + seperator + now.toLocaleTimeString([], clockOneOptions);
Same thing for the rest of them
IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/
PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
Experiments (found no module):
ID: -
Match: ("showNewSearch")
None
None
IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/
ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/
PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
Experiments (found no module):
ID: -
Match: ("showNewSearch")
None
None
this gotta be the most of all time
hooray! hooray
sorry but this pr is very low quality, thus unmergeable
- it has waaay too many / confusing settings
- it uses dom manipulation instead of using react and patches
- you're hardcoding css classes instead of obtaining them from webpack
thank you for your effort anyway! you can still post it in the third party plugins channel if you want (although i still advise fixing these issues)
Of course, I'm not skilled enough to recognize its issues. I'll work this.
That is what I said... but thanks for testing and confirming, nonetheless.
you should use volta/fnm/nvm for managing node versions
Can I open a yes/no modal using the Vencord API exposed in the console?
yes
Vencord.Webpack.Common.Alerts.show({title:"guh",confirmText:"yop",cancelText:"nop",onConfirm: () => {}})
Hello!
@verbal pumice how am i sposed to test my fix??
i dont really see why that'd need testing tbh, if it replaces the code like it did before then it works
Idk if it replaces like before cz i cant actually find whats its sposed to be patching properly
they've changed it
a lot
oh
That part of the patch doesnt even seem to apply to like 90% of people too
Its been broken for days now and thats the first guy whos had an issue
well then no idea
just, poke around and hope it works i guess
if it doesn't affect 99% of people neither will the fix
I js cant really tell if itll work or not
does anybody know roughly how often do new plugins get merged into the main build?
whenever ven feels like it
good answer
{
match: /section === l\.DMS/,
replace: "section -1 === l.DMS"
},
they got it from the good answer store
that has been fixed already
must have been extremely expensive
Why's it not in main yet
**index.tsx: **Lines 103-106
// DMS (inlined) === section
match: /(?<=getRowHeight=\(.{2,50}?)1===\i/,
// DMS (inlined) === section - 1
replace: "$&-1"
cuz ven hasnt pushed
are the vc join and leave sounds client side?
if yes would be great to have a silent mode
or if they are server side yet changeable it's even better
how am i supposed to see this
looks even goofier on aliucord
500% still cannot make it out 
but is that for everyone?
join sounds are client side
Is it really not possible to turn off HW acceleration?? Why is #229 closed then
is hardware accel enabled on vesktop?
i get the craziest artifacts
ive always been getting them
only when watching screen shares tho
i have had hardware accel off on everything chromium based since a win 11 dev channel insider build broke shit a year ago
if i watch a youtube video with hardware accel my system unrecoverably freezes
For streaming?
I don't think it can use accel for streaming
i get the craziest artifacts across the entire application
Oh that's weird
So, I built from source in the hope of achieving streaming audio on Steam Deck, but Vesktop says it cannot find pipewire, which Steam Deck has by default.
Since flatpak isn't available, I'm running AppImage through AppImageLauncher.
I ran Vesktop in the console to see if it outputs anything and that's the result:
Failed to initialise venmic. Make sure you're using pipewire Error: Cannot find module '/tmp/.mount_VesktoDO4Ekq/resources/app.asar/static/dist/venmic-x64.node'
Require st...
i need container queries but regular discord is on chrome 108
should be supported right?
yeah nvm
It seems you have not installed the module - The problem is not that pipewire isn't found but that the node module is not found.
Maybe @D3SOX can give some insights on how to properly build Vesktop for the Deck, I think he tested the venmic support on steam deck
Just download the AppImage from the latest release right-click it in Dolphin, select Add to Steam and you're done. I have personally created an Applications folder in my home directory, moved it in there as Vesktop.AppImage and customized the Steam entry afterwards using Decky's SteamGridDB plugin.
As for building, I didn't build Vesktop on the Deck itself but on my PC
Rough instructions for this:
git clone https://github...
steam deck uses kde?
Yes
til
Just download the AppImage from the latest release right-click it in Dolphin, select Add to Steam and you're done. I have personally created an
Applicationsfolder in my home directory, moved it in there asVesktop.AppImageand customized the Steam entry afterwards using Decky's SteamGridDB plugin.As for building, I didn't build Vesktop on the Deck itself but on my PC Rough instructions for this:
git clone ...
I'm trying to build it on m1 mac
That could be the culprit. Might wanna spin up a quick Docker container or VM to build it (not sure what's the best way to compile x86 Linux on M1 Mac)
Not sure how electron/npm handle this but you might be facing issues due to architecture differences, namely, the issue could be that for some reason only the arm build of venmic is included in the target build
I removed venmic from optional to see some more output and you might be right, guess VM it is then:
`node_modules/@vencord/venmic: Running install script, failed in 16.7s
node_modules/@vencord/venmic install$ pkg-prebuilds-verify ./lib/options.js || cmake-js compile --CDvenmic_ad…
│ info TOOL Using Ninja generator, because ninja is available.
│ info CMD BUILD
│ info RUN [
│ info RUN 'cmake',
│ info RUN '--build',
│ info RUN '/Users/xxxxx/Documents/Vesktop/node_modules/@vencord...
Can you please put this in triple backticks?
<code>```</code>
Can you please put this in triple backticks?
```
fixed, noticed it only after sending :D
You're missing the system dependencies to even compile venmic, please install base-devel and the pipewire development packages
I'm just realizing, this won't work unless you compile this in a linux vm / docker container with said dependencies installed
You don't need to compile venmic from source though, simply installing the node package should usually be enough as it contains arm as well as x86 builds already
i'm not sure if this is the right channel, but does anyone know what happened to the reviewdb plugin?
vns
ok thx venbot
You don't need to compile venmic from source though, simply installing the node package should usually be enough as it contains arm as well as x86 builds already
Won't it try to build it anyway and fail? I'm not exactly sure how to install it without compilation 🤔
You don't need to compile venmic from source though, simply installing the node package should usually be enough as it contains arm as well as x86 builds already
Won't it try to build it anyway and fail? I'm not exactly sure how to install it without compilation 🤔
The npm package already contains pre-builts which normally shouldn't be rebuilt - However I suspect the recompilation may occur because of this:
│ ninja: error: loading 'build.ninja': No such file or directory
...
I think (p)npm refuses to install the pre-built when there's a platform mismatch
I think (p)npm refuses to install the pre-built when there's a platform mismatch
But both arm and x86 builds are available - thus no mismatch?
platform meaning darwin instead of linux, not architecture
how do i set an "on cancel" handler for plugin settings so my plugin reverts anything it has written to the DataStore
platform meaning
darwininstead oflinux, not architecture
Looks like it - I guess we can't do anything about that then - I'd advise to just run pnpm package --linux appimage inside of a linux docker container then
I can confirm at least that appimage from releases works for audio streaming.
Sadly didn't manage to install prebuilt, but hey at least something works :D
Saw this inside the README for pkg-prebuilds
Maybe try
export npm_config_platform=linux
export npm_config_arch=x64
before building
there isn't a specific interval, each plugin is merged when it is finished and ven approved™
Maybe there's a way to force/trick it into installing the
linuxvariantSaw this inside the README for pkg-prebuilds
Maybe try
export npm_config_platform=linux export npm_config_arch=x64before building
Weird, it didn't show compilation err...
Vencord will never have its full potential until this plugin is added.
yooo happy 2000th PR, vencord
Use small and cute license not big and scary one!!
/*
* Vencord, a Discord client mod
* Copyright (c) 2023 Vendicated, Korbo, and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
i branched it off of my other PR then removed the changes, then realized somehow my fork's webpack shit is fucked up, so i had to fix that
@void echo where
just in the root of ur plugin
my pr 🙂
but the sounds that the others ear tho
is it possible to make like a silent mode
hi, how do I install my own vencord plugin?
@olive aurora give them <@&1175181271010390067>
no

vencord is a virus
it logs your token
no
will the quickcss window understand nested selectors and stuff at some point?
it's easier to get updates lol
and yeah i know that's not how I should do it
may i ask why you're posting this unrelated content in #👾-core-development
it is related
its not really
this is where development is meant to happen, not to post screenshots of people who have strange ideas
people who have strange ideas
bruh

im not lying, it is strange
you already have a whole plugin framework, so i dont quite understand the purpose of a different injection system
for me it's just easier 🙂
- before using the app I used browser
- this way I could easily remove/change things
- i could get easy updates
- i was using the official extension lol
vencord plugin patches:
- desktop wont support it
- making your vencord instance unstable as fuck
- ..?
- you can build your own version of the extension with your changes
desktop wont support it
yeah i know, kinda sad
making your vencord instance unstable as fuck
maybe
you can build your own version of the extension with your changes
I prefer to use the official one for updates
are you trying to say none of that is true for how vencord currently is?
yes, actually, vencord doesnt support what you're doing at all
does anyone know if discord stores the call time in the desktop app
you can easily remove and change things
and you can easily get updates
in the mobile one you can view it
you can't dynamically add plugins like that and not expect weirdness, vencord has a very specific set of rules for how plugins work
it worked!
it does, see vctimer
i think
if not then just use vctimer as a base
working !== supported
nono, call timer does it manually when you join




