#๐พ-core-development
1 messages ยท Page 199 of 1
Test Patches #1000 ๐ฅณ
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Well, uh, that's one way to solve the problem.
I didn't dig much into the code, I saw customRPC did it this way so I did the same
No particular reason, is that a problem?
afaik discord-types is pretty outdated
not a problem, it just (imo) makes it a tad harder to navigate the code, for no benefit.
b7ac921 MessageLogger: fix not blurring deleted spoilers - Vendicated
this is not correct. you're just entirely disabling the rule .foo:not(.foo)
properly fixed via https://github.com/Vendicated/Vencord/commit/b7ac92106ab517e3b68656b62f14cbf117fecd0d
i don't think this should be added. it makes the build scripts more convoluted for no real gain and thus worsens maintainabality. these scripts are mainly useful for ci, for development you should really just set up linting inside your editor. this use case has also never come up among those who developed user plugins
if you use
const nodeBuildOpts = {} satisfies BuildOptions;
instead, it will have the exact type and you won't have to assert nullability everywhere
const dirContentEntries = await Promise.all(files.map(async f => [f.slice(basePath.length), await readFile(f, { encoding: "utf-8" })] as const));
IS_DISCORD_DESKTOP: "false",
IS_VESKTOP: "true"
if (/^index\.tsx?$/.test(pathParts.at(-1)!)) pathParts.pop();
return fetch(link)
.then(res => res.text())
.catch(() => "");
return Promise.all(styleLinkNodes.map(n => parseStyleLinkNode(n)))
.then(contents => contents.join("\n"));
i'm unsure if using a MutationObserver is a good idea. css chunks are loaded via webpack (wreq.f.css).
it'd be better to hook into that instead
this func is used for all except the initial chunk
https://discord.com/assets/12633.bb59c3b8d0e17096489a.css
idk if I like hooking into webpack for that
i'm unsure if using a MutationObserver is a good idea. css chunks are loaded via webpack (wreq.f.css).
it'd be better to hook into that instead
this func is used for all except the initial chunk
https://discord.com/assets/12633.bb59c3b8d0e17096489a.css
319a99c fix(MessageLogger): don't break attachment edits - Vendicated
this is the same module, no?
{
find: "this.clearAfterOptions",
replacement: [
// change default status duration to null
{
match: /(?<=value:)\i(?=,options:this.clearAfterOptions)/,
replace: "null"
},
// reorder the list to put "Dont't Clear" at the top
{
match: /(?<=get clearAfterOptions\(\){return).*?}]/,
replac...
return choices.sort((a, b) =>
a.value === null
? -1
: b.value === null ? 1 : 0;
)
Is there any reason for that? it look less readable
Allows you to change the incoming (default and rare) and outgoing call ringtones using direct URLs to an mp3 file
Note: Feel free to correct any typos that you see (or even let me know) as i am not an Native English speaker
Are you sure this needs a restart?
You should add a README to your plugin
replace: "e.exports=Vencord.Settings.plugins.ChangeRingtone.incomingRingtoneURL"
},
},
{
find: "986703daecf955ce3ce3",
replacement: {
match: "e.exports=n.p+\"986703daecf955ce3ce3.mp3\"",
replace: "e.exports=Vencord.Settings.plugins.ChangeRingtone.incomingRingtoneURL"
incomingRingtoneURL: {
description: "Incoming Call Ringtone URL",
there's a more generic sound changer pr which this is a duplicate of
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
https://github.com/Vendicated/Vencord/commit/0b033aa51b4b3369513d264853e11ce034a6cdaf baller honestly i didnt notice this commit

Looking at it, this doesnt seem like a fix, more of just a.. feature removal..
i'd add a setting for it, and add a predicate to those 2 patches.
This is a bug. It used to not block opening from the profile menu from clicking this pfp. The feature is meant to make the normally non-clickable pfps clickable to view the avatar (and also add it to the right click menu)


uwu
Running grep recursively in node_modules/discord-types with some of the names in these interfaces didn't seem to find anything, so I don't think they're there.
which one?
(saying contri outloud sounds like country)
didnt notice what?
it logs comments, and you acknowledged the fact i commented
i didnt noticed you had contri on the github
wasnt enough of a contrib for adding myself to authors but 
only thing ya get outa that is a badge so idrc
NOOO
f
stop trolling / contributing to spam
okie
uwu
uwu
v+ no programming @fallen vale
lmao
bec4c76 Fix ShowAllRoles - Nuckyz
78d2713 Delete WikiSearch ~ better done via user app - Vendicated
93dc880 Delete UrbanDictionary ~ better done via user app - Vendicated
c3f7950 MessageLogger: fix not blurring deleted spoilers - Vendicated
319a99c fix(MessageLogger): don't break attachment edits - Vendicated
means you can't open a profile url in the browser
eg. league of legends profiles, vs spotify, that can be opened in a browser
ExtraConnectionLinks
o7 so long WikiSearch, it was a nice plugin
i dont understand removing things because of user-installable apps.
The apps would then have to be hosted, which isnt always free, am i wrong?

arent user installable apps just bots that can run through your user account?
yes but im sure you can find one to suit your needs
you dont have to host one
also no it can be free
ie: http interactions app ran thru cf workers
I literally included links to examples in the commit description bruh
Discord
The App Directory lets you search, browse, and explore thousands of apps to customize your server!
first result
Wikipedia
Jason Citron (born September 21, 1984) is an American businessman and co-founder and CEO of the Discord instant messaging social platform. He is also founder of OpenFeint, a social platform for mobile games.
objectively better than the plugin
real
Uh yeah, that's just a fork I made for myself :sweat_smile: And given that I rebase the branch to keep my Vencord up-to-date, I'm spamming quite a bit here, I'm going to remove the mention
2,000 commits on main branch! ๐ ๐ ๐ ๐
Vee, I think this is ready for review.
Plugin adds a custom rpc with your current playing from Plex or Emby
emby user? no way
too niche and very complex for a plugin. have you put in mind the user perspective?
can someone reproduce this #๐ฅ-vencord-support-๐ฅ message, seems to be broken
yea, isnt working for me
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
too niche and very complex for a plugin. have you put in mind the user perspective?
wdym with "user perspective"?
wdym with "user perspective"?
In other words: User Experience. This plugin doesn't make much sense to the average user, and it is really niche as those services aren't used by many people.
I think this would do well as a third party plugin though.
no. use the vencord installer for installing OpenAsar. do not mess with the files manually
hei, am I blind? I installed 'Vesktop' on Linux, couldn't find an OpenAsar Installation in the installer neither the Discord settings, where could I find it if it is supported in 'Vesktop' (dis even a official build?) :,)
no. use the vencord installer for installing OpenAsar. do not mess with the files manually
hei, am I blind? I installed 'Vesktop' on Linux, couldn't find an OpenAsar Installation in the installer neither the Discord settings, where could I find it if it is supported in 'Vesktop' (dis even a official build?) :,)
yes, vesktop is official. no, openasar isn't supported on vesktop. it's discord desktop only
aww sad :(
it's discord desktop only
didn't quite understood this, so how would I get the Vencord client with the OpenAsar option in it?
if I would interpret it right, I would need to install the 'default' Discord and doin' the steps provided in the README?
Whats the benefit of Vesktop against Discord x Vencord? beside that Vesktop seems much more easy to install and has 'Venmic'? - I'm on Wayland KDE if it is imporant to know.
I'm on Wayland
Vesktop has working screenshare as it is a web client with regular Electron (+ Venmic for audio) instead of stripped down Electron + propietary Xorg only screensharing native module
allows you to specify custom invite defaults (clicking is hard work)
first vencord pr, regexes are cancer, and feedback is appreciated
"Invite duration: Never"
Doesn't seem right.
description: "Allows you to edit the default values when creating server invites.",
Add an option for temp membership.
So i had a question, how exactly does the auto-updater work? It pulls changes from the repo and then rebuilds, right? I looked at the code and dont really see where/how its comparing/fetching changes, and its confused me for alittle bit now, because thats a really good update system,
if u cloned the repo, then it uses git and rebuilds, if you installed normally then it'll download latest build files from releases, replace and prompt you to restart
it has git and http updater depending on if you build from source or not https://github.com/Vendicated/Vencord/tree/main/src/main/updater
Hm alright
Really good shit guys,
Keep it up โค๏ธ
78d2713 Delete WikiSearch ~ better done via user app - Vendicated
93dc880 Delete UrbanDictionary ~ better done via user app - Vendicated
c3f7950 MessageLogger: fix not blurring deleted spoilers - Vendicated
319a99c fix(MessageLogger): don't break attachment edits - Vendicated
9f79cc0 bump to v1.9.4 - Vendicated
78d2713 Delete WikiSearch ~ better done via user app - Vendicated
93dc880 Delete UrbanDictionary ~ better done via user app - Vendicated
c3f7950 MessageLogger: fix not blurring deleted spoilers - Vendicated
319a99c fix(MessageLogger): don't break attachment edits - Vendicated
9f79cc0 bump to v1.9.4 - Vendicated
78d2713 Delete WikiSearch ~ better done via user app - Vendicated
93dc880 Delete UrbanDictionary ~ better done via user app - Vendicated
c3f7950 MessageLogger: fix not blurring deleted spoilers - Vendicated
319a99c fix(MessageLogger): don't break attachment edits - Vendicated
9f79cc0 bump to v1.9.4 - Vendicated
crazy
i was crazy once
Bad Patches
BetterSettings (took 5.899999999994179ms):
ID: 493544
Match: ```
/(0,\i.useTransition)((\i)/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
happy 2000 commits
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
of course
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
chonker module?
cosmic ray moment
Honestly this thing needs a big rewrite, especially after a doomsday and I'm too lazy to do so
[There is a much more better version of this made by Samwich](#1032200195582197831 message), if they want to, they'll make a pr which will be much better as this, so I'll better close this one
lol
what
what
So true
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
@dusk blaze :huk:
these getter functions can be achieved by using $self.settings.store.<setting> in your patches directly
Waiting forever
v+ no programming @charred jacinth
Discord Account
CJStylesOrg
What happens when the bug or crash occurs?
When modifying toggles in the ShowHiddenThings Plugin Settings, no changes will be made until you restart the Client. however, it doesn't prompt that you must restart the client to apply the changes like it usually does for other plugins.
https://github.com/Vendicated/Vencord/assets/90815473/700d6658-7829-41a5-b302-84d377edc376
What is the expected behaviour?
I expect Vencord to prompt to restart th...
I added an option to allow you to mute announcements when you are joining/leaving a call or always when the target of the action is you.
-E3L1Z
duplicate. also please follow the code style
@Vendicated you resolved this, should i implement it?
this issue is fixed so far for canary build as they also add a scroller to the popout. just awaiting for the release on stable build.
why does the cloud/theme tab exist on userscript if its useless
wouldnt it be better to remove it completely then?
if thats even remotely possible
theres a IS_WEB var so i'd assume so
But it works on extension
ohh oops
So
miss-read it
(me and them are friends btw lol)
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
how long do prs realistically take to merge lol
no time
some take 5m
some take a year
be patient, that's it
fair
Corrected Typographical Error in ImplicitRelationships Description
- Fixed the word "frecently" to "frequently" in the description of implicit relationships.
There is no change actually made..???
lol
i dont think he knows how to use git ๐ญ
it was made on github web editor too
wait how
also im not sure, but that might be an intentional typo
yea, looks like its not a typo
It's frecency in the actual discord code so i'm pretty sure it's not a typo
i dont think its a typo
oh tf my bad it didn't actually update ha
Corrected Typographical Error in ImplicitRelationships Description
Fixed the word "frecently" to "frequently" in the description of implicit relationships.
draft pr for single word change is crazy
frecency isnt the same thing as frecently

i love single line change prs
frecently is a portmanteau of frequently and recently. It is not a typo. It is a word Discord uses.
this doesn't look right
you can edit automoded or forbidden messages, this pr fixs that
showHiddenURL is a plugin me and my friend made that shows the hidden URL of Hyperlinks, pretty dumb and useful in some situations.
can be done with css
this could've been so much better with a Tooltip
they didnt clone
did you even read what you replied to?

quit yapping
why is making a good cross platform app so hard
looking into tauri rn for vencord installer rewrite
i dont fucking know
it seems very good but it doesn't seem like tauri can make windows portable build
and installer for an installer is kinda deranged
dont fucking say this you're only inviting clueless vesktop users to scream "rewrite in tauri"
afaik vencord installer already needs to be installed on mac
trol
the difference is that tauri actually makes sense for installer
Are you gonna learn rust just to rewrite an insteller?
i have very specific requirements and tauri matches the best so far
tauri is half node half rust afaik
the only bad aspect is that it requires an installer on windows
elaborate
what does it do on linux/mac
Linux is portable via appimage
mac is just an .app
both are perfect
just windows is meh with nsis/msi
does latest Windows 10 have webview preinstalled?
cause Windows 11 does and we don't need Windows 7/8 support anymore
yeah I don't think it's pre-installed on windows 10
it does iirc
spinning up a vm to check
windows moment
this?
yes
what does web view even do
web view
embed chromium in apps
apps can render web stuff without needing their own browser
- gui/cli dual binary
- ability to spawn the cli as root from the gui
- ability to run cli directly without needing the gui
- easy to make ui
- optimally not massive binary
- optimally easy to package & maybe even sign on mac
basically i want the installer gui to run as normal user and elevate as needed by running itself as cli
yeah
yes
epic
it's just electron but browser provided by the system
though some systems use different web engines (usually WebKit)
isn't webkit better eitherway (performance wise)
discord dying i think
no difference
tauri is kinda good
i used it once
you need this
is that literally a PICe card for browsers
this is vanilla windows 10?
yes
windows 11 settings doesnt look like that
well I installed firefox and chrome on it, but besides of that it's a bare win10 install
windows 10
36gb ram to a vm?
yes
WHY
interesting
so we can just make portable app
and if webview isnt installed tell people to update their windows or install it manually
appimage
yes
vee
do i have to explain to you how end users are stupid
and how end users wont use the appimage because appimage is a cursed creation depending on 5 year old eol libfuse 2
hmm yes i love running shell scripts without reading what they do
DOTNET
HORROR
fire
rewrite discord in .net
horror
can confirm you can run .apps from any folder, i'm a mac user and it works fine
we should put vencord on the app store
๐ฏ
this is your problem #๐พ-core-development message

wait do people actually read the scripts? i just pipe to bash 
schrรถdinger's programmer
So, here is a plugin I made for myself a bit ago, for switching between a "light" and a "dark" theme based on the time of day:
This matches up with a plugin request that was made 2 weeks ago (https://github.com/Vencord/plugin-requests/issues/772), but still, feel free to tell me if this would be better as a third-party plugin :sweat_smile:
@Vendicated using tabs in suggested change, evil
I will ask for advice on how to patch wreq.f.css when I have time to fix pr
tbh i think v just forgor
its been so long since wailsinstaller was touched
sobbing and absolutely throwing up rn
tauri is such a pain to work with
you change one line on the backend and it recompiles the whole project
which takes like 10 minutes ๐ญ
o
welcome to english where words are optional all around!
come one n all to our fantabulous lang
we should turn english into a programming language
slightly change the grammar and the behaviour completely changes 
ill go learn japanese now and simply be better at speaking
basically just ASL
or chinese
slightly change facial expression
ur done for
u said fuck my dog
๐จ
- this seems like a lot of files
- I'd rename the files, casingLikeThis, rather than like-this
Why not just use commas? instead of implementing an entire other optiontype?
why not
clean rewrite is good
what is there not to like anyway
it's really cozy for this
i am just excited because of better performance
they have a template that just worksโข
if it has change dfor the better then thats good
girl what
its the Installer. you use it Mostly Once.
vite + svelte kit
I want my installer to render in 4k 1000fps
oh not bad
it will render as fast as chromium does
I will push to git soon so u can see
or your webview of choice
(I never used it)
i didnt do much yet, just wrote code for testing the basics, namely
- platform specific code
- gui + cli dual
- elevating via polkit
all works
so all the obstacles are out of the way
I ran one command and it set up the entire project for me with pnpm + vite + svelte kit + commands for building on all platforms (appimage, dmg, nsis (actually will be trying portable maybe))
and it has inbuilt mac signing too
- existing github action
seems like better experience than wails
oh ok thats definitely better then
the old installer codebase is pretty messy so a rewrite is needed anyway
and I wanted to try rust for it :p
actually it builds dmg, rpm, appimage on linux
also has auto updater api
seems pretty solid
not that we need the updater but it's cool
not bad at all
also it has working hot reload for your frontend
obviously if you change backend it has to reopen
but same in electron
what surprised me is that there's no elevate crate
have to rawdog pkexec shell command
and have to figure out how to elevate on mac
web tech means we can make it much prettier
@turbid hatch https://github.com/Vencord/Installer/tree/tauri
you can check
oh wow it actually doesnt suck anymore
how did u check so quick
main file
im basing it off of my experience
they actually reorganised it to be better
thats good
are u gonna use the uhhhh
stuff we did in wails, just rejig it a bit
to work with tauri
the elevation uses the cli
it's kinda cursed
it spawns itself with pkexec
it will have to pass state around somehow via shell
probably not the worst thing u could do
env vars
rerun it with a state env var
i think it's the only way to elevate withotu running the entire thing as root
i couldn't find any better way
unless u like ask the user to setuid the binary ๐ญ
but yeah it works
nah
u could use policykit
thats what p[olicy]k[it]exec uses
o wait its called polkit now
sorry
API documentation for the Rust polkit_sys crate.
i don't think it's possible without multiple binaries
like polkit can't elevate ur current process that's not how it works
it just tells some other proccess hey bestie i wanna do this thing
even without pkexec you'd still be using dbus or smth
and then tell it to launch ur binary
even vscode uses pkexec
also i need to figure out how to make this prompt less horror
like show custom text
you cant
i googled a bit and it seems like u need to define a policy file
you have to install a custom policy yeah
the thing is this is a bit sussy to the user
and thats what its policy file defines
i mean
worst case scenario
just ask the user to launch it with sudo
instead of trying to do the elevation stuff
like show a message saying "oh yeah sudo pls"
well i wanna avoid running the entire binary as root
it needs to use root to install anyway, its not going to be much worse running the whole thing as root and then you dont need to shell out either
we could make it show a dialog like
"Permissions denied. Retry as root?"
and if you click yes it shows that prompt
meeeh
polkit better
yes but then horror message and awkward dealing with child
it's fine
i personally dont see the point if u will almost always have to elevate but ill let u decide it 
pkexec installer patch /opt/discord --output-format=json
set filePath to (POSIX path of (choose file))
do shell script "open \"" & filePath & "\"" with administrator privileges
I used a text field with values separated by ; at first, but I figured a text area that worked the same way as the actual Theme Links option would be nicer ๐
and that maybe other plugins could want to have multiline text fields too
But I can definitely go back to using ;
it shouldn't be a big deal
tauri makes it easy to embed scripts
or even inline script
thats fair, i can see other plugins using it. just asking as to the reasoning.
Bad Patches
ShowHiddenChannels (had no effect):
ID: 140492
Match: ```
/(?<=getState().channelId.{0,30}?(0,\i.\i)(\i))(?=.map()/
**__ShowHiddenChannels (had no effect):__**
ID: `743810`
Match: ```
/(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?>0\)&&\(0,\i\.\i\)\(\i\))/
ViewIcons (had no effect):
ID: 354810
Match: ```
/children:(0,\i.jsx)(\i,{src:(\i)/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
ShowHiddenChannels (had no effect):
ID: 140492
Match: ```
/(?<=getState().channelId.{0,30}?(0,\i.\i)(\i))(?=.map()/
**__ShowHiddenChannels (had no effect):__**
ID: `743810`
Match: ```
/(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?>0\)&&\(0,\i\.\i\)\(\i\))/
ViewIcons (had no effect):
ID: 354810
Match: ```
/children:(0,\i.jsx)(\i,{src:(\i)/
Bad Webpack Finds
findByProps("button", "buttonInner", "icon", "text")
findByProps("button", "buttonInner", "icon", "text")
Bad Starts
None
Discord Errors
None
jump scare
i love when i write code and it immediately works
that means you havent found the bug yet
666 333
i just made some shitty sample ui @turbid hatch u can port ur wails changes soon if u want
i think im going to make my own mockup tomorrow
(the design doesn't have to follow the old design whatsoever)
it could even be reworked fully
i was going to base it off the website
don't stick too much to it
yeah ik
or rather don't force it
the biggest similarity will just be the colors
for example some rectangle cards that have yellow / blue / black background colour coding for the discord branch
i was thinking that
since it's just html css basically anything is possible
could even be multiple pages / steps
yeah thats why im kinda excited for this
oo
also we could add more features too like editing settings, managing themes, etc
for when it bricks ur client or smth
also in separate page
select install > pick action > while patching or w/e maybe show logs
I've seen similar apps use a navigation rail for that kind of stuff
wtf is that
eh? i think rail would be little out of place i
but nothings really been done yet so it can work
that was just example i pulled
i would implement different looking one
and thats just if we decide to add some extra stuff
i can really only imagine the m3 looking rail or ones on docs websites 
rail with two items kinda cring yeah
tablets
nav rails are just designed for wider screens
so you don't have giant navbar taking up lots of room
well the app isn't gonna compile on non linux cause i only implemented Linux
so if u want to run it on other platform good luck
have to implement/stub rust functions
guh
i mean i can learn rust for one pr
xD
it's not hard tbh
you just need to port the Linux code to Windows
it'll be pretty similar
just slightly adjusted logic
(Just the logic for locating discord installs)
depends on how similar rusts fs apis are for the different platforms
just need to port it from find_discord_windows.go, similar code to src-tauri/logic/linux/discord.rs
identical
discord only uses 3 directories on windows
all in the same place
4 actually
counting development
just need to look in AppData/Local ye
local appdata environment variable ftw
oh the std library has shorthand for those special directories?
dirs.data_local_dir()
no it's an external dependency
if its not in the stdlib i think itd be easier to just grab the environment variable ourselves
we only need the one
oh
neat
makes things easier ig
i just hope tauri doesn't act like zed and just not work on my gpu
(joke, ik zed has their own rendering thing)
I decided adding it cause it's tiny and more robust
like env vars could potentially be scuffed and HOME might be empty and then u also have to check XDG_* vars
the library uses the native platform libraries
and checks home with libc call if env is empty
good news though, they're almost done with linux support so they should be moving on to windows soon
I tried it on Linux, works very well
their linux roadmap literally only has one thing left and its "Release Zed"
probably just waiting for their weekly release day
is review db spamming the console a known issue?
right
maybe they mean this? happens whenever i open a profile
Bad Patches
ShowHiddenChannels (had no effect):
ID: 140492
Match: ```
/(?<=getState().channelId.{0,30}?(0,\i.\i)(\i))(?=.map()/
**__ShowHiddenChannels (had no effect):__**
ID: `743810`
Match: ```
/(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?>0\)&&\(0,\i\.\i\)\(\i\))/
ViewIcons (had no effect):
ID: 354810
Match: ```
/children:(0,\i.jsx)(\i,{src:(\i)/
Bad Webpack Finds
findByProps("button", "buttonInner", "icon", "text")
findByProps("button", "buttonInner", "icon", "text")
Bad Starts
None
Discord Errors
None
Bad Patches
ShowHiddenChannels (had no effect):
ID: 140492
Match: ```
/(?<=getState().channelId.{0,30}?(0,\i.\i)(\i))(?=.map()/
**__ShowHiddenChannels (had no effect):__**
ID: `743810`
Match: ```
/(?<=getChannel\(\i\);return null!=(\i))(?=.{0,150}?>0\)&&\(0,\i\.\i\)\(\i\))/
ViewIcons (had no effect):
ID: 354810
Match: ```
/children:(0,\i.jsx)(\i,{src:(\i)/
Bad Webpack Finds
findByProps("button", "buttonInner", "icon", "text")
findByProps("button", "buttonInner", "icon", "text")
Bad Starts
None
Discord Errors
None
okay I see
show full error
I think that bad webpack find is from review db regardless
sorry I meant the one that is not the component stack
this one?
yep
yeah that's the bad webpack find I'm pretty sure
let me fix the broken things
Yea thatโs what I meant
this doesnt seem right
w i d e
how did that happen
did you forget to add classes
i would assume yes
78d2713 Delete WikiSearch ~ better done via user app - Vendicated
93dc880 Delete UrbanDictionary ~ better done via user app - Vendicated
c3f7950 MessageLogger: fix not blurring deleted spoilers - Vendicated
319a99c fix(MessageLogger): don't break attachment edits - Vendicated
9f79cc0 bump to v1.9.4 - Vendicated
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
ReverseImageSearch (took 73.20000000001164ms):
ID: 225138
Match: ```
/favoriteableType:\i,(?<=(\i).getAttribute("data-type").+?)/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
computer shitting itself
that regex does not take 73 milliseconds to complete
I see you
you see me? ๐จ
this is the average time it takes for a patch to apply on my laptop /s
The pentium still going strong I see
๐ญ
god gives the worst hardware to his strongest linux users
my laptop hinges broke more yesterday
mfw big tech retailer in my country is asking users to spam their livestream with I love microsoft so they can win a free laptop 
i am cooked
Why doesn't (can't?) NoTrack patch DeveloperOptionsStore.getDebugOptionsHeaderValue() to return ""
what that do
It's called by RestAPI(?) to add X-Debug-Options to all requests if any of these are enabled
That is technically true
i mean discord already knows I am modding their client 
i patched it a different way and it just broke message loading so
dont
- This plugin disables subtexts as they can be used to scam you/trick you
why not a plugin to disable all features of markdown, and have them behind settings so the user can choose what to see
also your checks are failing
i feel like users that would fall for such scams likely wouldn't even enable a plugin like this, let alone know it exists
something nice would be if google.com got disabled, since https://google.com does (or does it get disabled now? not at my pc currently so I can't check)
thats what i suggested for the plugin :p
.
you mean disabling all masked links?
I meant only specifically masked links that look like real links, without the https://
They do it quite regularly
yeah
It'd be better if this plugin encrypted the messages you send and decrypts when a new message is loaded
||honestly they should just be banned from the GitHub already||
yeah
??
my point proven exactly
is this css-able
Anything to do with formatting text on discord is easily done with CSS
cascading style
ofc it is
.messageContent_f9f2ca small:not(.boost-specificity) {
color: inherit;
font-size: inherit;
line-height: inherit;
&::before {
content: "#- ";
}
}
example
dang Vee i was about to press send
(my version didnโt look this good)
It'd be better if this plugin encrypted the messages you send and decrypts when a new message is loaded
out of scope; have you tried using a messaging app designed for encryption? afaik this is designed mostly as a "don't accidentally open the wrong channel" plugin
:correctbuzzer:
tbh i might rework to remove the passwords and make it just warn you before going to the channel
how about make passwords a config option
true
and make that config option say this is a sanity check not a security check
and have it disabled by default
so that people need to read the disclaimer
yes
though end users will not read it anyway
I maintain a vencord fork with some really fucking evil design already don't worry
i have a first time run popup telling users what I added
and it forces them to wait roughly 30 seconds before they can close the popup
could their attention spans wait the 30sec tho?
Good question
wtf
can someone test permissionsviewer on stable
its breaking the ability to rightclick a person in vc and move them
- by default it isn't even
"" - that header isn't useless. e.g. setting
canarywill force stable/ptb to hit the canary api, settingtracewill enable APM debug tracing
- it doesn't matter lol
Content
title
Request Agreement
- [X] I have read the requirements for opening an issue above
AI Tools in Discord
This plugin adds AI features to Discord, including text and image generation.
Text Generation
You can click the text generation button on the chat bar to generate messages with AI. Put any prompt and it will generate the text you want. You have the option of letting the AI access information in order to provide better responses, like the name of the channel, server, and content of the last 10 messages. Once generated, it will add the response to your text input...
god rust compiler slow
wtf do you mean they dont change the hostname to canary.discord.com to implement that?
only first time
i think it crashed my vscode
somehow
yeah it did
tf
ig i shouldn't use terminal in vscode unless my code works
windows_sys::Win32::System::Console::FreeConsole();
^^^^^^^^^^^ use of undeclared crate or module `windows_sys`
hm
no
oh i forgot to rereview that user notes plugin
new error, time to let visual studio download 5gb of junk
u need to import it i think
yeah i got that
getting link error now
fatal error LNK1181: cannot open input file 'c.lib'
im updating visual studio build tools now
i thought i was good bc i installed the stuff needed to build zed and that worked
body: { note: note },
empty string is fine, it's what the client sends
why do you need your own user cache instead of using discord's store?
avatar: "https://cdn.discordapp.com/embed/avatars/4.png",
better than hardcoding the asset imo
<Text className={cl("header-text")} variant="heading-lg/semibold" style={{ whiteSpace: "nowrap", width: "fit-content", marginRight: "16px" }}>User Notes</Text>
Dolfies 
manti 
followed this and got the exact same error
why do these things happen to me
how the hell was i able to build zed but not this
so sane
veeee
this thing does not want to fucking build
its literally just missing c.lib
where the fuck is it
how am i the only one thats ever had this problem
[Vendicated/Vencord] New comment on pull request #2161: feat(MoreUserTags): Role Colors for User Tag
This pull request is 6 months old today! ๐
least obvious pr bump
so @austere talon i got it to build but had to comment out the geteuid() stuff
LMAO
yeah
tzhats linux code
it needs to be moved behind a linux check
to a separate file
that tiny bit of code is what was preventing the exe from being able to properly link
i spent hours on this
we have liftoff
i just need to fix tiny bug
rust(๐) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
do dead chat prompts actually get sent tho
never received one of them while totally not selfbotting, so probably not
Where even is this
@austere talon@austere talon@austere talon@austere talon
look
heres my cursed code
let mut app_path = "".to_owned();
let mut is_patched: bool = false;
for child_result in path.read_dir().unwrap() {
let Ok(child) = child_result else { continue };
if !child.file_type().map(|t| t.is_dir()).unwrap_or(false) {
continue;
}
if child.file_name().to_str().unwrap().starts_with("app-") {
let resources = child.path().join("resources");
if !resources.exists() {
continue;
}
let app = resources.join("app").to_owned();
let app_name = app.file_name()?.to_str().unwrap().to_owned();
if app_name > app_path.to_owned() {
app_path = app_name;
is_patched = resources.join("_app.asar").exists()
}
}
}
It seems the donor badge I provided is not actually square, and the object-fit is set to cover, giving this:
(This is much more noticeable with the light theme for whatever reason)
And here is how it looks with object-fit: contain:
Now, maybe the solution is to re...
you can very likely tell it was written by someone that has never written rust before
feature is most likely dead
there's also like 2 iterations of it
don't use unwrap
guh
it will crash entire app
should i just return None if i can't get the iterator
just continue
oh you aren't referring to the first unwrap?
oh ok
change it to ```rs
if child.file_name().map(|n| n.starts_with("app-")).unwrap_or(false) {
can't call map on OsString
also which path do you actually need
root, app, or resources
change it to ```rs
if child.file_name().to_str().map(|n| n.starts_with("app-")).unwrap_or(false) {
i forgot part
๐ญ just port the go code
or let me do it lmao
i am porting
you want root
oh the go version of DiscordInstall has both paths
root and app
i can promise you noone cares
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
MoreUserTags (had no effect):
ID: 129861
Match: ```
/,botType:(\i((\i))),/g
**__ViewIcons (had no effect):__**
ID: `41527`
Match: ```
/\{src:(\i)(?=,avatarDecoration)/
ViewIcons (found no module):
ID: -
Match: ```
.canUsePremiumProfileCustomization,{avatarSrc:
Bad Webpack Finds
find(e=>e.section!==void 0&&Object.values(e).length===1...)
Bad Starts
None
Discord Errors
None
god again
we love canary
Does vencord give a warning if you're using canary
If it doesn't that would be a good idea
this plugin seems better done via the native discord feature of syncing with your computer theme.
How is there that many files for a simple plugin
it adds an option type to the plugin settings modal
Horror
adds modals to missing emojis
in hang statuses
and normal statuses
@austere talon hi
if ("src" in p && /https:\/\/cdn\.discordapp\.com\/emojis\/(\d+)\.[a-zA-Z]{3,4}.*/gm.test(p.src)) {
please use more descriptive variable names
this plugin seems better done via the native discord feature of syncing with your computer theme.
The plugin lets you select other themes besides Light and Dark, unsure how niche this is though ๐ค
And I never got the system theme option to work on my Linux Mint ๐ no clue why
Can you add a integer type while you're at it?
It's the second time I'm seeing comments about the new option type (including core-development on the Discord), should I switch to a comma-separated list? I just noticed that it's what MessageLogger uses ๐ค
i think everything is ready to be merged, might need some feedback
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
MoreUserTags (had no effect):
ID: 129861
Match: ```
/,botType:(\i((\i))),/g
**__ViewIcons (had no effect):__**
ID: `41527`
Match: ```
/\{src:(\i)(?=,avatarDecoration)/
ViewIcons (found no module):
ID: -
Match: ```
.canUsePremiumProfileCustomization,{avatarSrc:
Bad Webpack Finds
find(e=>e.section!==void 0&&Object.values(e).length===1...)
Bad Starts
None
Discord Errors
None
I used the table at https://cloud.google.com/translate/docs/languages because the method in languages.ts gives languages seemingly not yet supported by the API. AFAIK, this PR will add one language.

you still added yourself to plugin devs for that though
horror
only do that for major changes
i was going to ask if that was ok, and decided on "fuck it, i can remove it later"
sorry
i hate git submodules now
why tf did google have a language appear twice
great website
i have removed the butch hartman moment and the duplicate
oddly this modification makes an entire language disappear
but im not sure if the language actually worked or not
can someone check if Chichewa translation works or gives error 400
Kuyesa
works
you are being trolled by google
atp we'd literally have to try every new language to see if its added
cant even trust the docs...
@austere talon i have made some changes that hopefully now are acceptable
some random african tribe language that noone cares about ๐ญ
at least i removed myself from the author section
besides theres at least 3 already in there
also kinda a bad take
german mentality 
bro I promise you there is not a single vencord user who speaks that language or talks to someone speaking that language
do these guys even have internet
i can vouch for this despite being able to go through regular day to day life and meet people who are not my friends that use vencord
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
MoreUserTags (had no effect):
ID: 129861
Match: ```
/,botType:(\i((\i))),/g
**__ViewIcons (had no effect):__**
ID: `41527`
Match: ```
/\{src:(\i)(?=,avatarDecoration)/
ViewIcons (found no module):
ID: -
Match: ```
.canUsePremiumProfileCustomization,{avatarSrc:
Bad Webpack Finds
find(e=>e.section!==void 0&&Object.values(e).length===1)
Bad Starts
None
Discord Errors
None
i will use vencord in nyan a
you can't stop me
Bad Patches
MoreUserTags (had no effect):
ID: 129861
Match: ```
/,botType:(\i),(?<=user:(\i).+?)/g
Bad Webpack Finds
find(e=>e.section!==void 0&&e.heading!==void 0&&Object.values(e).length===2...)
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None

Bad Patches
MoreUserTags (had no effect):
ID: 129861
Match: ```
/,botType:(\i),(?<=user:(\i).+?)/g
Bad Webpack Finds
find(e=>e.section!==void 0&&e.heading!==void 0&&Object.values(e).length===2)
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
what takes priority, plugins or userplugins
if they have the same name
gonna put the patch for uservoiceshow in my userplugins to fix it until its upstream
try it and see
Bump, also occures since the new profile UI update
Bad Patches
MoreUserTags (had no effect):
ID: 129861
Match: ```
/,botType:(\i),(?<=user:(\i).+?)/g
Bad Webpack Finds
find(e=>e.section!==void 0&&e.heading!==void 0&&Object.values(e).length===2...)
Bad Starts
None
Discord Errors
None
Bad Patches
Experiments (had no effect):
ID: 593214
Match: ```
/!(\i.isDM()||\i.isThread())/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
my god again
better than hardcoding the asset imo
even didn't know about that, thanks
why do you need your own user cache instead of using discord's store?
I think it's better to have map of users who actually have note, rather than getting them from discord store with a bunch of users, it isn't?
I feel like this is better if it's singular instead of plural, cuz that's what the client uses elsewhere, this is done in a couple other places as well
yea, I think that's better, I'm not a native speaker so I get confused at times like this, haha
next big discord patch reset when?? โข๏ธ
yes sorry been one busy week i would add however could cause confusion though
Discord Account
No response
What happens when the bug or crash occurs?
Since TextReplace rules are stored in IndexedDB, they aren't loaded in the same way regular settings are and are instead loaded through DataStore.get() in the plugin's start function
https://github.com/Vendicated/Vencord/blob/main/src/plugins/textReplace/index.tsx#L251-L253
Because of this, when the plugin is disabled (at startup) your TextReplace rules won't get loaded and the settings will appear emp...
would we be able to load datastore at the root of the file, or would we need to make a onVencordStart function or smt
just load it within the component
true
load it at plugin start, and if its not loaded when you open plugin settings load it then
imo you should add any language with more users than vencord
Recently CtrlEnterSend has broken twice. This time we need to revert 77492061f to fix the problem. Actually Discord has been switching back and forth between those two places to handle message submission logic for multiple times (4 times as I personally experienced). In every version, both patches can be applied without a problem, so it would benefit if we simply include both patches although only one of them is at effect. This way the plugin should break less often.
993304f CtrlEnterSend: fix for new Discord update (#2689) - UlyssesZh
if only one of the patches is to be applied, why did we not set noWarn on them both? to prevent the error logs of patch not applying
Whilst fixing my SimplifiedProfileNotes plugin, I found FriendsSince tries to patch in the same place (DM user profile sidebar) and is erroring (doesn't render because noop errorboundary) because the section is being manually recreated and a CSS className module can't be found
The best behavior is having error only when neither of them applies, but I don't know how to do this in Vencord.
Should I replace the manually recreated section with the Section component I found there?
and submit PR?
fucking Simplified Bot Profiles

Bad Patches
Experiments (had no effect):
ID: 593214
Match: ```
/!(\i.isDM()||\i.isThread())/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
Experiments (had no effect):
ID: 593214
Match: ```
/!(\i.isDM()||\i.isThread())/
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
I'm not sure if discord would really do this but 
777887
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
I hate this spam
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
Bad Patches
None
Bad Webpack Finds
None
Bad Starts
None
Discord Errors
None
insane spelling
love wondering why something is visible when it shouldn't be because i updated a patch and i called my hook with user instead of user.id
0 commits
You saw nothing
||I force pushed to the previous commit because I accidentally committed a shitload of submodules||
epic
Some of the finds for the old className modules don't work anymore, so I ported the plugin to use the Section component I found while developing #2635
I'm not sure if this breaks the "old layout", I need someone to test that for me
done


