#👾-core-development
1 messages · Page 102 of 1
uhohyayuh
i could use libuv instead of thread
libuv users when i expose them to lethal amounts of ultraviolet light
@austere talon 🔥
labelling them for my own convenience so i can gauge how many were closed for this reason
i hate c++
SAME
this is what Vesktop looks like after 0.3.2 for me lol
unlucky
looks cool
0.3.1 fixed it 😭
weird, i guess you can't fix it for some people without breaking it for others
ye
I think I already posted it but the output is flooded with link failed but did not provide an info log lol
this is probably related to hardware accel
try running with disable gpu flag
yeah
that fixes it
i did it for vscode too :p
it's just quite weird that it started happening suddenly
at this point its probably way easier to just turn it into a cli
and run it
and scratch the node addon idea
c++ threading is very painful
being able to just spawn & kill a child proc would be way simpler
C is worse
c++ is amazing
the hell is a cve
nobody knows, they just pretend to know
LMAO
in fact, the reason it exists is because somebody didn't know what it was called so they made those letters up
corkscrew volume earplug?
hey y'all
if I decide to make a plugin, is anyone willing to make the PR for me?
*are you blocked? *
still blocked by ven 😭
are you even meant to be able to talk 😭
only blocked on github
was never banned from here, and ven hasn't blocked my discord
yea but you had a nice limited edition role
lost it bc I left like a little bitch
nah I am actively ghosted, that won't help
vee usually listens to me
anyways, it should be possible for a plugin to create sourcemaps for discord's code, right?
if so, then using megumi's library we can make sourcemaps that have actual jsx
https://github.com/MeguminSama/JSX-Reconstructor
and prettifying the code using more sensible rules, dunno what the devtools are using to prettify
heck, we can even calculate static shit like "cat"[1] to be "a"
we can even split webpack modules into separate "sources"
now comes the question, how would we know what filenames to give for each module?
that ain't preserved info
maybe we could have our own index that uses regex in order to identify modules, but that would need maintanance
you can already do that now
within the devtools?
oooh, are you talking about the patched modules showing as different files?
hmm, that is nice and all, I really love that feature
but they don't have meaningful names, which makes sense
opinion on having a plugin that identifies modules by using regex?
we could name them ourselves
anyways, night night, will give this a go tomo
hmm
should i cursed or not cursed
i think using var may actually be better :p
otherwise it'll be any
const prefix = process.platform === "win32"
? "\\\\?\\pipe\\discord-ipc-"
: (env.XDG_RUNTIME_DIR ?? "/tmp") + "/discord-ipc-";
is this finding discord's own ipc or
cuz i think it'd always use xdg_runtime_dir
Since its probably related, this causes vesktop on the taskbar to be a little sliver on Cinnamon 5.8.4
?? won't account for if it's an empty string
m
just stealing discord's code 
oh does it use all of that
yea
is that vesktop or normal

should you have contributor role
tested only on x11 because electron kept giving random errors on wayland, but should probably work there as well
nvm the branch technically isn't merged
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 668201
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
Party mode 🎉:
T0.__getLocalVars is not a function
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
,
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 668201
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
Party mode 🎉:
T0.__getLocalVars is not a function
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
wtf
hardest fix of my life
i just stumbled upon this
it did
100% volume is a Discord desktop feature
doesnt exist on browser
vap wanted to port
@spark cove
what happened
@spark cove let's ping vap
She is probably crazy.
10HoursMovies centers upon quality edited contents. We take into consideration the footages used, the relevance they have to match the songs and the whole pacing of the story for each videos, creating original entertainments for the best fans!
Inspired by: https://www.youtube.com/watch?v=I4xwCT1F5RA
Rodrigo's Channel: ht...
watch this

stay inside me duck
Closing this as completed because there is nothing else we can do. it's entirely fixed in electron 26, so it will be fixed whenever we are able to update
next release, you will also be able to stream in full hd 60fps & with audio on wayland
• electron-builder version=24.6.3 os=6.2.9-300.fc38.x86_64
• loaded configuration file=package.json ("build" field)
• description is missed in the package.json appPackageFile=/home/vee/Coding/Vesktop/package.json
• writing effective config file=dist/builder-effective-config.yaml
• packaging platform=linux arch=x64 electron=27.0.0-alpha.6 appOutDir=dist/linux-unpacked
• building target=flatpak arch=x64 file=dist/Vesktop-0.3.2-x86_64.flatpak
⨯ flatpak failed with status code 1 failedTask=build stackTrace=Error: flatpak failed with status code 1
at ChildProcess.<anonymous> (/home/vee/Coding/Vesktop/node_modules/@malept/flatpak-bundler/index.js:71:16)
at ChildProcess.emit (node:events:514:28)
at maybeClose (node:internal/child_process:1091:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
ELIFECYCLE Command failed with exit code 1.
very useful error
interesting, this looks a lot like the discord code i've been looking at 
its electron
"yeah you got an error, yeah it was made in the error emitting function"
true
i did earlier today
ur mom isnt memory safe
I'm using this on you
i am going to drop(vending_machine)
fax rust is for lil kids
average argument
average rust user
new and delete my beloved
i like the vencord logo here
delete[] is better
delete all the things
@fringe basalt whats your input on this
smol
?

also i was kinda reformed somehow
i installed fedora + gnome like today afternoon and the first few hours i hated gnome
now after using it for ~6h i like it!

yes welcome to the club!
traitor
gnome is neat
i really like the software store tbh
but tiling wms ...
having a graphical interface feels nicer than cli
and the store is pretty cool
the gnome recorder is broken for me tho
💔
so annoying
ferris chef kiss
JAVA
mhmmmm
weird
_ _
balls
fix the ugly square box behind image when viewIcons
guhhh
dumb discord
@austere talon you
apply this patch
I do not want to make another pr
since you will definiletly not see this imma spam dms
stars
truly stars
🤩
i think i figured out the issue with wayland
this shouldnt launch the screenshare picker
it should launch the streamsettings window
im gonna work on this
upon further inspection
i might have to rewrite the streaming logic for wayland entirely
basically that's a long way of saying i have to make a new function because streamsettings requires stuff we dont get from a wayland stream
ill just
do that when i have more than 10m free time
(later today)
Hi, I'm the maintainer of rohrkabel, I noticed that you guys are trying to implement screenshare-audio support to vencord through rohrkabel and seeing that you're reusing some of the code from discord-screenaudio (which isn't all that optimal) and planning to do implement the thing by spawning a child-process I'd be open to offer some help to build a more sophisticated implementatiom that doesn't depend on spawning a child process
let me know if you'd be interested on working on this together
You can request a thread to stop, killing one would only show that the implementation is bad ^^
Anyways, if you need help with the native implementation of the thing, feel free to hit me up ^^
oh, hi!
that sounds amazing!
that part of the code is being developed by @austere talon, so once they come online they can work something out with you i assume :D
Maybe a plugin that gets installed by default on linux, also please don't use sub-processes to manage that - imho it would be insecure and somewhat of a code-smell
I'm gonna look into making it a plugin at some point once it's working and stable
If you'd be open for it I'd suggest an FFI Approach instead of sub-processes
A node-addon would probably be even better
heh
that was the first idea
v dropped it pretty quick (I'm new to a lot of this so I don't really understand it all a bunch)
FFI?
Foreign Function Interface
But the best approach would imo be a node-addon based on https://github.com/cmake-js/cmake-js
yeah
Yeah normal node-addons are not the best approach considering that pulling dependencies in is cumbersome and node-gyp is... well node-gyp.
But I think cmake-js could be worth a try, because if it works properly that would definitely be better than a sub-process
is it possible to disable noise suppression and echo cancelation on the voice message plugin?
Someone on the Soundux discord once claimed that some form of noise-suppression and echo cancelation may be applied server side
(If I remember correctly)
ahh I see, good thing to know. thanks!
I already made it a node addon initially and it worked fine
but i couldn't figure out the threading stuff
If you don't mind I can take care of that
so as far as I understood, killing threads from a different thread is not possible, instead you're supposed to set an atomic variable that the thread regularly checks
however, the pw main loop blocks forever, so how would the pw thread regularly check the variable?
rohrkabel supports channels, you would send a please-exit message to the main-channel and exit from there
oh huh
There is a threaded example in the rohrkabel repo
I tried storing the main loop in a variable and then calling quit on it from the other thread
Don't do that
but i only got segfaults lmao
Pipewire is not thread safe
yeah that's probably why
i have basically no C++ experience, especially not in the threading department 😅
I basically just wrote code and googled a bunch to find solutions
I can write a native-addon for creating a virtmic and so on - then you'd only need to call it from TS/JS
I'd probably have some time next week, I'll post a github link when I start ^^
like i said I already had the native addon and it worked, the only issue was stopping it again
If it was based on the current code you'd need to take into account more edge-cases (e.g. mono devices)
Yeah I saw that ^^ You'd need to cover a few more edge-cases, maybe I'll just submit a PR to the repo and make it a node-addon
that'd be really nice!
you need a different implementation for discord desktop and discord web
also remember that web by default has absolutely no screen share picker inside discord, so there is not really a good way to even present the audio picker on it
vesktop adds its own picker that also allows you to customise quality and fps (another thing you can't do on web normally), and we just added the audio picker there
however i do have plans to eventually port the vesktop picker to web so web can also use full quality and audio (though you'll have to run some virt-mic binary yourself)
then on desktop you'd need to patch DiscordNative a bit
so basically three different implementations
however i do have plans to eventually port the vesktop picker to web so web can also use full quality and audio (though you'll have to run some virt-mic binary yourself)
This would require some sort of server mode, we could easily add that into the node-addon as well, basically allowing you to choose which "wrapper" you'd want to compile, the core code will be the same.
The node-addon would require exposing "c" functions and the standalone binary would just use some http-framework
that's not true, they do absolutely no processing on voice messages, heck you can even upload arbitrary files as voice messages (they won't play for obvious reason)
I think it's in the plugin settings? if not we could just add it
you don't wanna know how much pain I had trying to get node-gyp to link rohrkabel and friends 
especially cause I have no idea about C dependency management
Good to know - As I said that was just something someone said - can't confirm / deny it ^^
Well - I'd go for CMake all the way ^^
embedding a server into the addon seems kinda cursed
it'd probably be easier to just make the addon purely expose methods like
listDevices()
start(device)
stop()
...
and then you can either use it as a library, or use a slim js wrapper that wraps it in a websocket server
Hm, could to either but having a native binary would remove dependencies on node and such, I can make a separate PR for that and then you can decide if you like it or not ^^
ohh that's how you meant it
I thought you meant the native node addon would spawn the server
yeah that's fine lol
what library do people use, uwebsockets?
yeah there is an option, but even when disabled it there is still some compression so I'm trying to get rid of that completely. you notice it more when you are playing music through the voice message
I'd got for something else probably, not quite sure yet I have a few I want to test out, I've only used uwebsockets for.. well websocket servers but I think a rest-server would suffice here
ig
idk why i was thinking so much of websockets
been working with too many things requiring websockets
you're right just a plain server would suffice
I've been there too xD
why would you play music through the message
there's an upload file button
you can just send the raw audio file as voice message
just testing for certain frequencys while looking at pro q chart
anyway yeah that sounds great
I'll get to it next week (In case UNI doesn't fuck me too hard)
:D
oh you're friends with nico
yes, we're roommates ^^
Just curious: Does the current screen-audio work by feeding two audio-inputs into discords voice-system?
nope
the audio from the virtmic is directly fed into the stream
through monkey patching the navigator.mediaDevices.getDisplayMedia function
Ah alright, would it be theoretically possible to feed audio into discords voice-system without having noise-supression et al applied to it? (Not talking about screenshare here)
it queries the virt mic via getUserMedia, then adds its audio tracks to the normal screenshare track
that
brb class
if there is, we can likely disable it
I'm not thinking about the screenshare audio track here but the normal microphone audio
or could you share arbitrary audio through the screenshare audio track without even streaming anything?
Okay that's amazing that would mean I could write a plugin that integrates with Soundux to improve the soundboard audio quality
I may come back to this sometime and ask you out about some things if you don't mind ^^
oh you would like to play audio alongside discords normal voice audio?
on web yes, there's a vencord plugin for free soundboard that does that
on desktop no not possible (most likely)
Well we currently do that already by simply feeding our soundboard audio into the system microphone but that can sometimes degrade audio quality due to noise supression and so on, but I was thinking maybe we could use the screen-share audio track to feed sounds into it without the user actually streaming
I don't think so
Ah, too bad
i think screenshare is a different connection
Thanks for the insight though ^^
you know how you gotta click watch stream
Oh true I forgot that for a second
and the Media engine store has two connections if you're streaming
Maybe we could have a plugin that just temporarily disables all audio processing features of the client while the soundboard is used
it highly depends on whether you want to target web or desktop
web uses normal webrtc where you can definitely do stuff like this from plain js
desktop uses discords native module discord_voice, I don't think you can do things like this via it, if anything you'd have to like patch the native addon
We'd probably target desktop for that
Well maybe I'll dig into it at some point but for now the solution we have is good enough as it's just how a normal soundboard works, would just be nice to have something that can prevent some audio-processing on discords part to increase the audio quality
well you probably know about discords own soundboard
what they do is send a request for it, that then dispatches it to all users in voice and it locally plays the audio for all of them
obv you can't do that, but maybe if you don't need too many soundboard invocations you could make it automatically upload the sounds to a server and use them that way
Hm, probably but that's way too much effort just for a little improvement
in theory you can set video to false
or none
i accidentally ran into that a few times while testing
black screen but audio worked
I would like to give this a try, but I am new to contributing, so I may need some help.
(unrelated to above i just remembered something i want to do) nvm too confusing 
what'd u wanna do
it just redownloades the .app
ideally it would either replace itself or download the .dmg
does electron not support sparkle
wtf is sparkle
no it doesnt
Electron already integrates with an auto-updater, namely Squirrel.
You can read more about it here: master/docs/api/auto-updater.md
yikes
yeah reading more into that, nope
auto update doesn't work without signing
?
.app is a folder
how do you download a folder
wha
it should download dmg
oh yeah
for some reason this does zip
idk why, it should do dmg
just change that code to download dmg instead
that's not true, once you've allowed the app to modify other apps it can replace itself, regardless of signatures
it just gets the first
appears before
also the dmg doesnt match that find at all
downloading dmgs would be a bad update flow anyway so that's good
how ?
it should just replace itself like other apps do
oh yeah
thats what i said, i meant we should change it to download dmg only if replacing self isnt feasable
so do it
is this plugin happening? i made the switch from BD to vencord recently. i was using a plugin similar to this on BD, and im hoping vencord can have it too! thanks!
okay my uh
my fork
branch wayland-fixes
uses electron 26.2.3
but
it has working screensharing with audio under wayland
s O
last thing required for proper wayland support 
i need to figure out how to not call getlargethumbnail
oh god tf happened now
Either !isWayland && ... or use logical isWayland || ...
isWayland ? Promise.resolve(source.url) : VesktopNative...
o HSDHGHJKLHJKLFG
stuck on this hmm
hmm i think its because the getthumbnail is goin wacky
odd
this is happening no matter what
even without the changes
lemme check something
nvm
i broke something somewhere
time to compare
okay i made it better
i have to define this in main
but get that info to renderer
oh i have idea
IPC?
i just need to get it out of this function
and in here
and then i can use it for isWayland
(i am not very good at typescript)
just use the skipPicker variable silly
its not accessible in that scope
i just kinda goobered it
and now isWayland is accessible
now it only asks 2 times on wayland
once for thumbnail
once for screen
that's a bit better
are you using an adwaita theme?
pass it as argument..
don't make it global
how tf
its still only within the function openScreenSharePicker
i have to get it out somehow
yes so you pass it as an argument to the other function
but the other function isnt called from anywhere that has access to skipPicker
you should learn better js first if you're struggling with that
i bARELY KNOW ANYSFHGJSDHJGFSGHJKDF
this has been the only way i can learn because i dont have motivation to do stuff that i wont benefit from 😭 (like meaningless projects just to learn)
none of those have any meaning tho
just make anything that teaches u the basics
how does making a pretty website have no meaning
i like it how it is
you can use it to express yourself
anyway while I understand not feeling as great making something that's "meaningless", with that mentality you won't get far
sometimes u just gotta do something ultimately meaningless to improve
is it really meaningless if it helps you become better :3
I made so many fucking useless discord bots and other garbage noone ever used
now look where I am now
people actually use my shit

if im not solving a problem i dont really know why im doing stuff and then my depression kicks me off the table and i explode
you used to make garbage that nobody used, you now make garbage that people use
real
sorry im complaining, i dont mean to be annoying
you're not
find problems then :P you can't tell me there aren't some things about your daily life / online things that bother you
where something is missing
there really isnt
at least nothing i can notice (life is a LOT worse than anything else ive experienced)
for example when I was using linux i was annoyed that there wasn't any good application launcher that was like I wanted it so i just wrote my own
noone but me ever used it but hey it served its purpose
i understand that but like genuinely i havent been annoyed with anything
this was the first time
hence why i
acted on it
i used to use xfce
and before that, i3
i got tired of setting up a config every time i reinstalled linux
life is only fun if you make it unnecessarily hard on yourself by using some garbage like i3 or dwm
/hj
SEE so now instead of doing the smart thing and just not using smth that requires so many configs, you do the dumb thing that is writing a super convoluted config manager

i get that but im gonna be honest
life is way too much for me to create problems for myself
i have far too much stress to be able to handle creating problems
like if i come home and my pc doesnt work i just go to bed
😔
would be logical if i didnt wipe my drive every time
CLOUD CONFIG
WITH WHAT SERVER
WITH WHAT MONEY
turn your old phone into a server bitch
AS IS ILL BARELY HAVE ENOUGH TO MOVE OUT LMAO
I genuinely use my old phone as a home server
broken screen
other one has a broken port
listen
neither are able to be powered on
my old phone has no home button, the entire screen is purple
but it works as a server
how the fuck did you access it
i cant even turn it on because the screen is M I S S I NG
it wont power on
i used it in that state for half a year lol
literally has no screen plugged in
do you still mean have a variable defined outside of the scope of the first function
or just
move it to the next without it escaping the first
because i did a LOT of research on that a bit ago
and almost everything involves either a return value or a global variable
every post/docs page ive seen
just leech servers from friends like i do 
leech servers from oracle 
(technically i have a server it just sort of barely functions)
i think they cc verification now sadly
i have one i just dont like managing it because oracle likes to bother me
huh
could be wrong
just get an always free server with like 24gb ram
simply take out multiple credit cards in your name
ran out of banks? commit identity fraud and get more credits cards from all the same banks!
yes they do i forgor
i just dont know how to get it out of the first is all
they always did
cuz i cant return
how
why would i have one
you're like old or something lmao
i have a debit card & paypal
they don't accept it
the FUCK
they only accept credit cards
so u have an oracle vps
why did u say ur server is bad 😭
oracle vps are crazy
the entire vencord infrastructure runs on oracle cloud
whAT
my actual server is
the oracle one isnt but i dont use it
huh why not
it just hasnt been turned off in months
idk tbh
i dont feel like moving all of my infrastructure
@nimble pendant, vencord cloud, reviewdb, and many other services
cuz like uhhh
id have to move all of this
i do NOT have the energy for that
although my SearXNG server would take less than 30s to search which would be nice
ve require("child_process").execSync("neofetch --off", "utf-8")
<Buffer 1b 5b 3f 32 35 6c 1b 5b 3f 37 6c 1b 5b 30 6d 1b 5b 31 6d 1b 5b 33 31 6d 1b 5b 31 6d 76 65 6e 64 79 1b 5b 30 6d 40 1b 5b 33 31 6d 1b 5b 31 6d 76 65 6e ... 987 more bytes>```
jumpscare
ve require("child_process").execSync("neofetch --off", "utf-8").toString("utf-8")
'\x1B[?25l\x1B[?7l\x1B[0m\x1B[1m\x1B[31m\x1B[1mvendy\x1B[0m@\x1B[31m\x1B[1mvendymachine\x1B[0m \n' +
'\x1B[0m------------------\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mOS\x1B[0m\x1B[0m:\x1B[0m Oracle Linux Server 8.8 aarch64\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mHost\x1B[0m\x1B[0m:\x1B[0m KVM Virtual Machine virt-4.2\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mKernel\x1B[0m\x1B[0m:\x1B[0m 5.4.17-2136.321.4.1.el8uek.aarch64\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mUptime\x1B[0m\x1B[0m:\x1B[0m 47 days, 21 hours, 7 mins\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mPackages\x1B[0m\x1B[0m:\x1B[0m 1043 (rpm)\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mShell\x1B[0m\x1B[0m:\x1B[0m zsh 5.5.1\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mResolution\x1B[0m\x1B[0m:\x1B[0m 1024x768\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mTerminal\x1B[0m\x1B[0m:\x1B[0m /dev/pts/3\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mCPU\x1B[0m\x1B[0m:\x1B[0m (4)\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mGPU\x1B[0m\x1B[0m:\x1B[0m 00:01.0 Red Hat, Inc. Virtio GPU\x1B[0m \n' +
'\x1B[0m\x1B[31m\x1B[1mMemory\x1B[0m\x1B[0m:\x1B[0m 7805MiB / 23366MiB\x1B[0m \n' +
'\n' +
'\x1B[C\x1B[30m\x1B[40m \x1B[31m\x1B[41m \x1B[32m\x1B[42m \x1B[33m\x1B[43m \x1B[34m\x1B[44m \x1B[35m\x1B[45m \x1B[36m\x1B[46m \x1B[37m\x1B[47m \x1B[m\n' +
'\x1B[C\x1B[38;5;8m\x1B[48;5;8m \x1B[38;5;9m\x1B[48;5;9m \x1B[38;5;10m\x1B[48;5;10m \x1B[38;5;11m\x1B[48;5;11m \x1B[38;5;12m\x1B[48;5;12m \x1B[38;5;13m\x1B[48;5;13m \x1B[38;5;14m\x1B[48;5;14m \x1B[38;5;15m\x1B[48;5;15m \x1B[m\n' +
'\n' +
'\n' +
'\x1B[?25h\x1B[?7h'```
as bytecode
LOL
omg
amazing
amd athlon ii is crazy
yk what
its staying as a global variable for now
im fixing something else until i figure it out
ve require("child_process").execSync("neofetch --off --stdout").toString("utf-8")
'vendy@vendymachine \n' +
'------------------ \n' +
'OS: Oracle Linux Server 8.8 aarch64 \n' +
'Host: KVM Virtual Machine virt-4.2 \n' +
'Kernel: 5.4.17-2136.321.4.1.el8uek.aarch64 \n' +
'Uptime: 47 days, 21 hours, 9 mins \n' +
'Packages: 1043 (rpm) \n' +
'Shell: zsh 5.5.1 \n' +
'Resolution: 1024x768 \n' +
'Terminal: /dev/pts/3 \n' +
'CPU: (4) \n' +
'GPU: 00:01.0 Red Hat, Inc. Virtio GPU \n' +
'Memory: 7809MiB / 23366MiB \n' +
'\n'```
there you go
wtf is using that much memory
mantika running java programs again or smth
i only have paypal 
why u no card
now i just need to pass the first screenshare portal data into the stream
so it doesnt ask again
btw I realised u can get genuine fumos for ~60€ (including shipping) now without even needing a proxy
i shall cop one
reasons
i dont really want to get into it again for like the 20th time just for my own sanity
dw
okay
code should be formatted with eslint and prettier
only 2 portals on wayland now
on my wayland-fixes branch
i think the simplest explanation is i cant really do online banking cause i dont have a phone number and dont want to leech someone elses
working on making that 1
irl side of things can just be left a mystery where it belongs
fair enough
oh my god
im still trying to make all of my drives btrfs
MY HARD DRIVES ARE SO SLOW WTFFFF
AAAAAAAAAAAAA
hi
app
ply patch
@austere talon I am about to break several laws
I can no longer manage my anger

Soon
NO
Who are you
Spam vens dms
Pipe bomb ven
are there any plans for plugins without recompiling? or is this even possible?
i just recently switched to vencord and the only problem i have is not being able to edit plugins without recompiling over and over again
i understand that vencord modifies the webpack components instead of injecting afterward, so there won't be any hot reloading or anything, but just being able to restart vencord instead of recompiling and installing
i just read this in the plugins guide, which is nice, but will this still allow me to get updates quickly?
or do i have to pull from the main repo every time there is an update
the updater still works if you follow instructions correctly
so it won't override user added 3rd party plugins
const channelType = ChannelStore.getChannel(message.channel_id)?.type;
just in case
const enum ChannelType {
hmm
technically speaking yes
pronouns need a separate request but thats a detail
but i don't think a lot of people would use that
server profile is a seperate request from server avatar and nick
so doing two requests is very possible lol
3 if you implement their refresh thing they do when you press save (better just use their function lol)
aa
they do not
you can send them there and it works
definitely do not try that on a bot
why does the client do whatever the fuck this is then
they separated member/user objects and profiles in what's quite possibly the shittiest way possible
it is what it is
mfw %40 and @
yea i swear they just randomly choose whether to encode a url
what happens
can bots set pronouns that way
you cant fetch bot api from a browser
bot token + browser ua = cf firewall block
UNBREAKABLE ENTERPRISE KERNEL
ITS SO FUCKING FUNNY
UNBREAKABLE
(me with a hammer)
GET THIS
THATS A REPO NOT A PACKAGE
so via PATCH /guilds/{guild.id}/members/<@&1027248917756268596>?
god i hate that role
LMAOOOO
who the hell has <@&1027248917756268596>
me
the person who just LMAOOOOd
jUST you?
just me
LMAO
i said you could change it lol
the uuuh
the uuh
that one web game where the target score was 700 something
oh i just realized i completely missed the word node lol
fetch("https://canary.discord.com/api/v9/guilds/1015060230222131221/members/@me", {
headers: {
accept: "*/*",
authorization: "Bot balls",
"content-type": "application/json",
},
body: '{"pronouns": "gnarp gnap"}',
method: "PATCH"
});
this was like last year ish
so it is patch
not the silly zerebos game
i tried with oceanic but
it is yea
raw req!!
ve fetch("https://canary.discord.com/api/v9/guilds/1015060230222131221/members/@me", {
headers: {
accept: "/",
authorization: "Bot " + process.env.DISCORD_TOKEN,
"content-type": "application/json",
},
body: '{"pronouns": "shig/shigself"}',
method: "PATCH"
});
lol it worked
discord moment
discord moment
you doubted me? 🥺
nah
cookies are harmless
the journey pronouns went through to end up like this is really funny
nah unfortunately
💔
the <@&1027248917756268596> ep is special cased for bots
to only support username/avatar
cope
i will cry
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 626298
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
Party mode 🎉:
w0.__getLocalVars is not a function
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 626298
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
Party mode 🎉:
w0.__getLocalVars is not a function
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
what's an easy way to get my own discord id in the plugin's start() function?
UserStore
noob question but how do it get that? is it thought the global Vencord variable?
nvm found it import { UserStore } from "@webpack/common";
follow-up question, is there an easy way to get the userstore in the discord console to mess around with? using import() doesn't seem to work
Vencord.Webpack.common
if ur curious why this doesnt work, its because @webpack is a custom alias we use to refer to src/webpack
which is a typescript thing
this doesn't seem to include banner, about me, or pronouns
yes
^
pronouns/colors/banner/about > https://discord.com/api/v9/guilds/1015060230222131221/profile/@me
nick/avatar > https://discord.com/api/v9/guilds/1015060230222131221/members/@me
Content
soo i was installing vencord yesterday and today my discord just blocked me and i am unable to use it anymore.
Discord issue, not related to Vencord.
jumpscare
@limber skiff for consistency make sure to close them as not planned and lock them
kk
yeah, i use close as not planned for anything that's invalid too
if i disable this will i still get the webpackmoduleblablabla sourcemaps
i dont want devtools to spam console with failed to load sourcemap
that's not source maps
that's vencord created modules
devtools already spams my console LMAO
yeah i mean
you will lose vencord sourcemaps though
no
it doesn't
they show separately because we eval them as a new source
it doesn't rely on sourcemaps
doES SUPPORT HAVE A role requirement
oh LMAO
HAHAHA
HAHAHAHAHAHAHA
THATS AMAZING
ohh support is goobered because of people going WAAAH CLOUDFLARE
owo its back
who up forking they vesktop 😂 🤣 😹
they better pr something good
95% of forkers never pr
Electron 26 seem that it won't fix the issue. However I've tried by curiosity electron 27 beta 8 and it works like a charm.
Maybe it's to be considered even if electron 27 is in beta...
Fix #125
Improve wayland dialogs #77 (there are still two window but it's less annoying than the 4 ones that if you choose the wrong one you could just restart Vencord...)
idk if using beta is a good idea
this will definitely break something
69c512b feat(plugin): PermissionFreeWill - lewisakura
aka FreiheitlicheBerechtigungsKonfiguration
try my fork under the wayland-fixes branch
not home, i'll let you know once i am home
we will rewrite vesktop in https://github.com/tr1ckydev/webview-bun
Doesn't work on wayland, the XDG portal window picker opens just fine and allows to select a window but then the vencord picker is empty:
In addition, pipewire seems to error after selecting something in the portal picker: 'loop->recurse > 0' failed at ../pipewire/src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
(Tested both on Hyprland 0.30.0 and GNOME 44.4)
yes
yes
Doesn't work on wayland, the XDG portal window picker opens just fine and allows to select a window but then the vencord picker is empty:
In addition, pipewire seems to error after selecting something in the portal picker:
'loop->recurse > 0' failed at ../pipewire/src/pipewire/thread-loop.c:426 pw_thread_loop_wait()Also after canceling clicking on the Go Live butt...
Try my fork, wayland-fixes branch. Most of those issues should be resolved
this seems to be working fine, except for one little issue: electron 26 turns the app into a white screen a few seconds after launch, as described in #125. works fine on electron 25.8.2
Since it wasn't really updated, I've made a flatpak https://github.com/MiMillieuh/vesktop-flatpak
It has desktop and hopefully all it need to work.
You just need flatpak builder to build it by running build.sh in the folder
As for updates, you have to edit the metainfo file with changelogs and version and the yml with the current version and url to the appimage (it's built from the appimage version so as long as the appimage version exists it should work)
The vencord team has expressed displeasure over third parties making package manager builds, especially builds that require constant attending to, like changelogs
kills
The vencord team has expressed displeasure over third parties making package manager builds, especially builds that require constant attending to, like changelogs
So I guess that issue can be closed this issue as not planned then.
No, we are interested in offering an (official) flatpak
i thought atleast lewi was against it?
ah, sorry for the confusion
but their flatpak has a lot of issues
just bumping this lmao
lol
would help me and the guys out over at bo3 mod tools
Discord Account
desiler
What happens when the bug or crash occurs?
The bug happens when you switch channels or servers. Notice the gif below.
What is the expected behaviour?
I expect it to not bug out, without Vencord it works fine. Note: this also happens without any plugins enabled or themes.
How do you recreate this bug or crash?
- Open a server and w...
ALWAYS FIRST USE OUR SUPPORT CHANNEL! ONLY USE THIS FORM IF YOU ARE A CONTRIBUTOR OR WERE TOLD TO DO SO IN THE SUPPORT CHANNEL.
oh my fucking god
you'd need to have a redirect page
github surely doesn't let you do that
pretty sure it's plain text

idea
iq test 
Put a math question
make them solve a quaternion
1 + 4
- 2
- 6
- 12
yes
i am very good at webdev
it does use css
actually
no
the fact that it clashes so much
scares people into paying attention
WHAT? it's beautiful
ITS ANNOYING I HAVE TO MANUALLY RENEW THEM
where is this emote from?
autorenew isnt working
i have no idea what is up with my site rn
I can't load into Vesktop, it shows a white screen. Though I was able to open inspect and show this
DanTDM
lmao
regarding PermissionFreeWill
- maybe the plugin could, maybe in future, have a way to bypass the "pretty sure you don't want this" by pressing a button every time
- the patches look like they might break easily?
yeah spoiler: vencord doesnt load
yeah neither does hh without double patching modules breaking everything
wtf is this


guess I just asked






