#👾-core-development
1 messages · Page 47 of 1
WOAH INSANE
the hide whitespace option is so good for this kind of pr
wow hard fix
yop
HOW
your match looks very slow because it uses a dynamic width lookbehind
oh my god I based it off the wrong branch
where'd it go 😱
dz forgetting about arguments
arguments[0] is the first argument to the function which contains everyhting u need lmao

so u can just use that instead of doing insane matching
arguments too op
DO NOT THE TSSERVER WHEN MC IS OPEN
D:
is that hidden channels stuff
yea
is this key safe? do we even need to pass it? Maybe an empty object would work
also vendi im too stupid for it but you might wanna replace the header here to an actual header
wdym
it was set to a secondary header and some "h5" class in css
idk it just feels weird that it's the same kind of header as the other text
ah
its just cause thats the default
maybe something like this header
ye no worries its trivial
thanks for making it prettier
gonna do finishing touches
okk
@austere talon lmao the code is infinitely cleaner now
xD
- match: /(?<=(\i)=(\i).message,.{32,512},\i={className.{16,128},children:)(\i)\+(\i)/,
- replace: "$self.renderUsername({username:$1.author.username,nickname:$4,prefix:$3,isReply:$2.isRepliedMessage})"
+ match: /(?<=children:)\i\+\i/,
+ replace: "$self.renderUsername(arguments[0])"
could you please wrap this in a try catch, just in case?
let's make this slightly more specific
match: /(?<=onContextMenu:\i,children:)\i\+\i/,
try {} catch { return {}+"" }
yop
return author?.nick; as fallback is good?
return author?.nick || (() => { throw undefined; })();
call that undefined behaviour
NO
when we have da theme organizer
im going to murder a family
if its not implmented
next century
@austere talon why would the key not be safe?
do u know the functionality of keys in react?
it's to make react differentiate between elements
I do
are them dependent on divs or something
like you can have 2 "0" keys on different divs
yeah!
i merged int owrong branch
yippee
Hide Sidebar
Summary
Hides channel sidebar with a single button click.

(The sidebar is highlighted in red)
Features
- Adds a button on the sidebar
- Upon clicking, hides the sidebar, but still shows the button
- When the button is clicked while the sidebar is hidden, show the sidebar
- Adds a setting to allow hiding the server list as well
Notes
-...
This setting included in #730 pr.
just so small things I just noticed
blehhh now ur gonna make me redo 4 hours of discoord code search hell
i forgot about arguments entirely but i dont think that would matter patching render function
or whatever i was doing
oh thats the vendetta person
Discord Account
Jazza#5100
What happens when the bug or crash occurs?
Pretty simple, jumping to a blocked message from a reply seems to take me to about the middle of the message scroll bar, and jumping from search takes me somewhere above or below the message.
What is the expected behaviour?
Excpect it to jump to the right message
How do you recreate this bug or crash?
Reply or search for a person you have blocked, try to jump to their message
Errors
No red text ...
Custom avatar decorations plugin
i helped him make it
yop thank you 💙 💙 💙
was very helpful
hyped for decor i just need to write the management bot and cloudflare worker
does everyone while testing out plugins have to wait a handful of seconds for discord to reload to check your change every time
there's got to be a better way right
no
use vencord desktop & an alt with little servers for near insta reload
Known Issues:
I hate html (fixing scroll bar idk how to yet gotta learn that)
react so bad it crash on error (I literally stole the function from other plugin why does it only error on mine sobbing rn)
uhh
Known Bugs:
None this is bug free
Working on issues? yes. however, I like to act mysterious.
wtf
horror
discord new markdown stuff made transforming 500% harder
also
why are html scrollbars so awful
like
so much fricking googling and barely any proper modification
needs way more testing with more markdown
just leaving that there for now
ok so if I use this # thing in css it would let me only modify elements with the id after #
ok thats neat
Discord Account
No response
What is it that you'd like to see?
Renamable, collapsable categories for pinned DMs would be a really nice feature to have, as I would be able to organise my DMs better that way (e.g. different categories for my mutuals, friends, closer friends and bots). It could be similar to how https://github.com/Bricklou/powercord-pindms did it.
Request Agreement
- [X] This is not a plugin request
It is ok u can use my collapsableForm function, no need to thank me @DevForPluginAbove
for the first time ever i made a tweak to a plugin and the tweak actually worked
is it usable? no
but it is so very
closing because i hate vs code pull requests for some reason forced me onto main branch
settings were reversed (the diff is wild, i just changed the predicates)
583680d feat: reuse built-in menus in system menubar (#12) - ryanccn
yes
@austere talon can I have perms for #1032200195582197831
thats just annoying plugin so no
Makes Vencord work with Discord PWA
Fixes a bug where settings didn't actually import (QuickCSS worked fine) since we were overwriting the settings object after importing.
this likely still has the issue that they will be overwritten if you change settings after import but before restart?
yeah but thats just an issue with the backup and restore feature
so we'd have to decide on how to fix it
update the Settings object
uhm
7a98f1d Make Vencord Extension run in iframes (#914) - dimdenGD
ff3589d CloudSync: fix accidently applying stale settin... - lewisakura
I personally don't think this is very useful so I (as the plugin author) have no interest in working on this, but pull requests are very welcome
Issue with ReviewDB
theme issue or similar very likely
Maybe a plugin
CNR
@Clyde
I've managed to make it kind of work, and it seems to work with themes!
it = showconnections
that's cool
there's not much room for a tick
(to indicate it being verified)
i guess i could append (unverified)
what does a verified connection even mean
at the front?
when doing research it seems it was used with auto-added steam accounts
hm, the contrast here doesn't look great
oh well, not many people will use this theme
lol
it is nice, though
yeah github icon should be black
u could use invert filter
discord already has two icons for light and dark
it's only using this because of dark mode, we can't detect it
then color-scheme: light?
hmm
you need to change the url
and i don't think that would respect discord user settings
.theme-dark/light
it's using dark mode though
this theme just makes it light
why tho?
well inverting wouldn't work on the coloured logos
background-color 
then just invert select ones lol
currently i'm using darkSVG

i just need to swap it with lightSVG
lol
border 
also wouldn't work on this logo
well it would make it black, but it should be blue
that should look fine on light
that is in light
if you invert the white logo in dark mode it would become black which would be inconsistent basically
problem is, detecting dark mode requires capturing another variable and i'm terrible at writing regex 😔
is the theme always light
cause if so you can just invert the single icon (if possible)
that is a fucking fantastic theme
holy shit
yes its nice!
In the old discord, when you started a video in channel "x", and you switched to channel ", the video didn't stop.
But now, the video stops, which can be frustrating (at least for me) when listening to music.
It would be nice to have some kind of ui element for video controls when switching though!
I wanted the noReplyMention plugin's list to be inverted, as in the plugin would only disable mentions for selected ppl, so I added that but I'm thinking whether I should pr it or something... i just added a boolean ( ts inverseList: { description: "Invert the way the plugin works (will only not mention the people in the list by default when checked)", type: OptionType.BOOLEAN, default: false, },
) but I also renamed one of the other settings and I'm thinking this could create issues, so just asking here
it would lose the old config i'm pretty sure if you rename its key
yeah thats why i didnt wanna just do it
I could just not rename the setting too tbh cus the name doesnt show anywhere
or keep the old name forever because the user never sees it :3
also quickly thinking about this ternary, is this correct? https://github.com/Vendicated/Vencord/blob/cb3bd4b8818aca279511c95b25eaefd639bd6a8c/src/plugins/noReplyMention.tsx#L46
**noReplyMention.tsx: **Line 46
return settings.store.inverseShiftReply ? isHoldingShift !== isExempt : !isHoldingShift && isExempt;
cause I believe it should be isHoldingShift || isExempt in that case
cause without the inverseShiftReply option, it will always disable ping when holding shift
so with it enabled, shouldn't it always enable ping?
nnnnnnnno, because thats what the exemption is for
yeah it is confusing me lol
i dont understand the use of !== here
yeah this is really badly written lol
and theres no comments to describe the intended effect
hold on
so
okay
the default behaviour of shift reply is to not mention. So if we invert it ,then shift reply should mention, unless the user is exempt in which case it shouldn't mention
we're using isHoldingShift !== isExempt
when you're only working with booleans do you need ?:
so when you arent holding shift
i don't think so
then
if you arent exempt
it mentions
if you are exempt
it doesnt
if invert is off
then
if you arent holding shift, it mentions unless you're exempt
ok but
it's correct but it's hard to follow
if you are holding shift then
I rewrote it actually to extract each part into its own if
okay yeah it is correct just confusing to parse
but that got lost somehow
can we add that back
🙏
with comments too describing what each one does
because this is genuinely brainrot
and also can we get rid of the !== because that's whats confusing the hell out of me
maybe
let result = false;
if (isHoldingShift) result = !result;
if (isExempt) result = !result;
if (settings.store.inverseShiftReply) result = !result;
kind of confusing though :p
what, the !== is acting as XOR?
either make it understandable or split it into multiple lines would be my opinion
yes boolean neq is xor
oh so it is
this is even worse
I rewrote it at some point like I said
or is it just broken?
hold on I'll just do it again
yes but that yields a number, not boolean
for the purpose of an if statement thats fine
@austere talon I just realised I did "Closes #336" but that doesn't work with discussions
since falsey/truthy
fn should_mention(invert: bool, shift: bool, in_list: bool) -> bool {
if !invert {
if shift return false;
if in_list return true;
return false;
}
if shift {
if in_list return false;
return true;
}
return in_list;
}
why are discussions used instead of issues btw?
its because if we had everyone use issues for plugin reqs we'd never get any issues processed
because we'd just be seeing loads of plugin reqs
because noone wants 3 million "irrelevant" issues
issues are meant for tracking actual bugs or feature requests for the mod itself
oh, well that's what the bug and enhancement tags are for
plugin requests are unimportant to the mod itself so they don't quite belong
thats how it seems to work right now
I feel like the invert behavior is not a direct inversion of the behavior
also people request things to improve plugins
hm, kind of makes sense apart from that though!
as people may want to develop the plugins as something you'd install manually
ohh
does this do the same as #👾-core-development message or am I stupid!
because in the non-inverted behavior, holding shift will always not mention, regardless of whether they are in the exempt list or not
idk i directly rewrote the ternary not that
still think it does the same
while in the inverted behavior, holding shift will mention the user but only if they aren't in the exempt list
oh, wait not quite
I guess it'd need to pick either always having it mention or not mention when shift held
Or always make it toggle
both have their benefits, since having hold always do the same thing irregardless of the person can mean you can have it in muscle memory that you aint gonna ping
and the benefit of a toggle is that you can mention without having to click, but you need to remember if that person is in the list
i think my ideas were totally wrong
not surprising!
i just did it without thinking much
if (shift)
return false;
if (exempt)
return !invert;
return invert;
would this work?
my brain is not working
well I know this would work how I want it to, but maybe I misunderstood
no
am I missing a large part of it?
if you're holding shift it should never ping, if you're exempt it does !default, otherwise default
i wonder what i missed :p
tbh that logic is painful to write in a readable way anyway
no
you missed the point
the default behaviour is
reply = mention
shift reply = no mention
so the reverse would be (unless exempt, in which case it is ^)
reply = no mention
shift reply = mention
yeah and so the reverse isnt exactly reverse
because whether they’re exempt doesnt matter in the non-reverse behavior
only in the reverse
if (shift || exempt)
return !invert;
return invert;
no because you have the plugin enabled so the default is actually changed to never mention
hm, probably doesn't work
unless exempt
this assumes that shift should treat the user as exempt
i guess that's logical because otherwise it'd be confusing
i was assuming exempt would be list.includes(user.id)
if (userIsGoat())
throw new Error("No goats allowed!");
if (shiftIsHeld || exemptUsers.includes(user.id))
return !defaultPong;
return defaultPong;
hm, maybe clearer
only trying to help :p
lmao
anyway I'm pretty much sure this would how I expect at this point
maybe you could test it?
sorry for being annoying
function userIsGoat(): boolean { return true; } add this too
:>
now you're disregarding the shiftReply setting
plugin enabled
NO INVERSE:
reply - no ping
shift reply - no ping
reply exempt - ping
reply exempt shift - no ping
INVERSE:
reply - no ping
shift reply - ping
reply exempt - ping
reply exempt shift - no ping
oh, i wasn't aware of that
thats how it works now i believe
:'(
now it's messy
wait i'm stupid
lol i guess if yours works
it's now the same so may as well delete
so with no inverse, shift always equal no ping
with inverse, shift equals ping only when they aren't exempt
so i think it's kinda inconsistent
at this point how would a user understand how it works?
esp since it says (enable to make shift reply mention user), but it wont when they're are exempt
if (settings.store.inverseShiftReply) {
// inverse shift reply means shift = mention
if (isHoldingShift) return !isExempt;
// no shift. Do not mention unless exempt
return isExempt;
} else {
// no shift would usually mention, but since our default is not to mention, don't mention unless exempt
if (!isHoldingShift) return isExempt;
// no invert and shift is held so never mention
return false;
}
the way that setting works allows you to both mention and not mention anyone, but you have to remember whether they're exempt or not or you'll get the wrong result
this is readable
not quite
no
because exempt makes you exempt from the plugin
in which case the default value applies to that person
aka shift reply does not mention
so it does that
it is
well not in terms of !==
think again
yes but's semantically equivalent
so this can be shortened to
if(isExempt) return !shiftDown;
if(inverseShift) return shiftDown;
return !shiftDown
opening issue rn
right?
you're not incorporating the inverse
i am
oh you are
// Ignore exempt people from the plugin
if(isExempt) return !shiftDown;
if(inverseShift) return shiftDown;
return false
that feels more readable
should be the same
not correct
HOW
this will mention users by default
right
the last line should be return false
now
umm
so
I hyave tys8\
and this on my branch
on urs u dont have relationship viewer
so idk
you just pr to main branch
oh
This plugin allows you to view your relationships within servers.
Fixed:
Crashing when un-able to load server profiles
Now profiles should load in with time if not immediately (due to ratelimits etc, it all depends on your amount of friends).
Slider no longer affects everything globally.
wow look at all these people impressed by my magnificent code, starring it so they can show it to their co-workers and tell them how amazing it is and that they should learn from it.
wow
no need to fret everybody, I will still talk here... from time to time
😝
my bad :P
youre still using dom which is really bad!!!
WHAT IS DOM
**elements.tsx: **Lines 50-66
const handleContainerButton = (title: string) => {
const container = document.getElementById(`collapsechildren-${title}`);
const expansionButton = document.getElementById(`expansionbtn-${title}`);
if (!(container && expansionButton)) return;
if (!collapsedElements[title]) {
collapsedElements[title] = true;
container.classList.replace("relation-opened", "relation-closed");
expansionButton.classList.replace("relation-expand-opened", "relation-expand-closed");
} else {
collapsedElements[title] = false;
container.classList.replace("relation-closed", "relation-opened");
expansionButton.classList.replace("relation-expand-closed", "relation-expand-opened");
}
};
this
oh
this has nothing to do in a react codebase
heh
maybe i should introduce it to react devs then
not hard to make..
they can learn it
ven go to sleep
MUST MAKE EVERYTHING MYSELF.
you are lucky I did not start re-making material themed items
what is this details element
nuh uh
yeah but it does not have the cool animation and i can't move the arrow at the end can I
me before magiks amazing details element: 😭 nohh i only have 3 cents
me after magiks amazing details element: WOW 😎 im so cool 🚗 💅 i have more than 3 cents now
maybe im not the one in the wrong this time
maybe react is wrong
perhaps it is about time for a change
that's a star of agreement if I have ever seen one
wow
I just noticed a potential memory leak in my code
so.
idk if js has this but do they clear objects out when they are "dead" from arrays/dictionaries or do I have to do that myself @austere talon
i came across this idea when i was making a moderation log with like 10 users, each log needed to have <@id> on.. each id.
so i came up with this idea seeing vscode's multicursor and other similar multicursors
d0e7a31 Spoof UserAgent as browser. Fixes VCs????? - Vendicated
real discord code
if (userAgent.isSuperFake) throw randomError()
"Discord loves insane shitcode
"
[Vendicated/Vencord] New star added
Not finished or particularly pretty yet but already functional!

ye

im in vc rn
works well and streaming works too with audio ( on windows at least )
but its entire system audio including discord and not fully sure how to fix
well yeah
or people will hear themselves
ye
i think u just need to force users to set discord on a separate audio source
feel free to work on the pr if you're interested
it's actually pretty simple
gonna sleep now
NO LOL

tbh it was so much easier than i thought @limber skiff
what was
uhhh
well its functional right now, but
- a way to change resolution & framrate, maybe even bitrate
- the picker should probably refresh thumbnails every so often
- the picker is ugly rn
- audio is currently only full system including discord which is horrid, would be nice to fix that somehow (maybe with toggle)
it isn't THAT ugly shush
like i said all that needs to be done is a reduced padding and centered header text
Also unrelated but using webpack modules from vencord desktop is painful rn cause you have to use them via the global object and no typing, we should work on pushing vencord types to npm and make an esbuild plugin to convert module imports to use the window so you don't have to deal with that ugliness
vendi go to sleep
soon
Please preserve user's environment variables with sudo -E (here).
I personally need this to pass LIBGL_ALWAYS_SOFTWARE=1...
(Yes, the installer is hardware accelerated and I'm stuck to OpenGL 2.1)
My current workaround
url="https://github.com/Vendicated/VencordInstaller/releases/latest/download/VencordInstaller-x11"
out="vinst"
curl -sS "$url" --output "$out" --location
chmod +x "$out"
LIBGL_ALWAY...
I love abusing spread syntax
ok is it possible to force re-render messages in a channel to get the pronouns to update once you press save or no
lol this is really unreadable
I suppose I could elif chain
yes by dispatching a message update, however I haven't found a way to do that without breaking embeds because message update expects an api message but we're usually working with processed messages
you can imagine it like com.discord.api and com.discord.models in discord kotlin
Fr
refer to this
I tried the other way reverse engineering how firing a message update re renders a message
this better
why do u spread in like 4 instead of just doing overrides[props.userId]=
am I missing something
yes local pronounciations
not making a pr yet because I want to unfuckup my things that I definitely did wrong, ill do it later
could just make draft pr
@lament nimbus merge main into your branch
context menu api changed
also if you want to use react
const userContextMenuPatch: NavContextMenuPatchCallback = (children, props) => {
const blabla = React.useState(...);
return () => {
if (!props) return;
const group = findGroupChildrenByChildId("user-profile", children);
if (group)) {
group.push((
<Menu.MenuItem
label="Set User Pronouns"
key="set-user-pronouns"
id="set-user-pronouns"
action={async () => {
const pronouns = await fetchPronouns(props.user.id);
openModal(modalProps => <SetPronounsModal {...modalProps} defaultPronouns={pronouns} userId={props.user.id} />);
}}
/>
));
}
}
};
@austere talon
why not sleeping
vendiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
sleep
:(
if not sleeping (you should) i pushed changes to decor https://github.com/Vendicated/Vencord/pull/910/commits/37f001485cc8a89229e1203d4af461065a5d0cbf 
yeah go sleep or i will call u in dm and ask u how to patch stuff
A new plugin that allows you to show specific time formats with seconds, e.g. DD/MM/YYYY hh:mm:ss, replacing discord native formatting.
Some specifics:
- Would replace the current formatting (Today at hh:mm text) above message chains by a user
- Same replacement left when hover over a message gets changed to this format
- Same replacement on a users profile under 'Member Since'
Basically replaces the standard date format with a custom one.
Similar to the better discord plugin:
http...
Would love to see this as well.
it still flickers if open profile for the first time
but when use the big json it doesnt
should i back to that, i already made it smaller, from 4.73MB to 2.86MB
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
None
JSHandle@error
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
None
JSHandle@error
honestly idk what the best way would be
ig 3mb should be fine but mm
what is mm
I suggest a plugin that splits the messages if they exceed the character limit.
There is a BD version of this https://betterdiscord.app/plugin/SplitLargeMessages
@austere talon if ur not going to sleep can you show me how to patch rq
(im also sorry for annoying you for the past few hours)
ven? sleeping? impossible
There is an issue with the centring of the usrbg banner in the user profile. (this issue has also occurred for previous Discord and Vencord versions)
Theme: Material Discord (https://raw.githubusercontent.com/choco705/Vencord-Theme-Links/main/Material-Discord.theme.css)
DIscord: Canary 189727 (f51ec60)
Vencord: 0e58342
Electron: 22.3.2
Chromium: 108.0.5359.215
Host: 0.0.295
OS: OS X 10.15.7 (22.1.0)

Discord Account
SuperN64#3700
What is it that you'd like to see?
A while back, Discord changed the behavior of typing in Thai when hitting backspace. It removes the whole character instead of just one diacritic, so instead of
นะพี่ -> นะพี -> นะพ -> นะ
it just goes
นะพี่ -> นะ
This makes typing in Thai super annoying (since you mistype diacritics a lot), and I would absolutely want a patch that reverses this. Obviously I don't know if this is possible or not, but seeing as ot...
that is a plugin request lol
Can you put buttons in a plugin's settings?
**index.tsx: **Lines 45-54
options: {
authorize: {
type: OptionType.COMPONENT,
description: "Authorise with ReviewDB",
component: () => (
<Button onClick={authorize}>
Authorise with ReviewDB
</Button>
)
},
Any concerns or critique for my PR as it is so far?
https://github.com/Vendicated/Vencord/pull/910
replace: "$&const vcDecorDecoration=$self.patchGetAvatarDecorationURL(arguments[0]);if (vcDecorDecoration)return vcDecorDecoration;"
I would just recommend getting Tampermonkey and downloading the userscripts. I don't have any problems with it, so it should be fine. I don't know about other userscript managers like greasemonkey, violentmonkey and firemonkey, but it may have problems
Completely understandable, thanks anyway!
If anyone's willing to do it, that would be really helpful.
Cheers!
I'm sure this isn't what you looked for (maybe it is) but there's an alternative using the experimental favourites tab which allows you to pin guild channels, group DMs and regular DMs. You are able to add categories, rename them and more. The "feature" is rather unstable tho and won't work for all users unfortunately.
It's rather a private server where you can find all pinned channels, dms and whatever you want to pin.

Adds connections to the profile as clickable icons with tooltips! Inspiration: https://github.com/Vendicated/Vencord/discussions/871 and devilbro's betterdiscord plugin
Here are some screenshots:

I also added some "helpful" text
TODO: maybe add to the DM profile card thing too and fix the icon spacing a bit
test
test failed
Not sure how I've never noticed that before. Question, does anyone have the issue too that /tags ... commands are there multiple times? Cuz I do not know how to fix that

Not sure how I've never noticed that before. Question, does anyone have the issue too that
/tags ...commands are there multiple times? Cuz I do not know how to fix that
This has existed for awhile, thought there was a fix already...
that likely happens due to duplicate ids, each subcommand likely needs its own id
does it work fine with the name as id? discord uses negative numbers, so I just followed suite with normal commands
yes it works with the name as id. I also included previously given id to the string just in case there would be some compatibility issues in the future. Without that, the subcommands would just duplicate
Kind of useable, I'm having trouble finding the dm widget :p
is this better? or is it better with the smaller icons?
i was just testing larger icons at the same time to see your thoughts
sorry other random person!
this is with the same size but more space
I think this is nicer
ah, quite cluttered for people with a lot of connections though
i think that's what the bd plugin does though
does it also make sense moving it after notes?
i personally feel so as it's more consistent with the modal
bad word choice x2
Thanks for your suggestion! However, not very keen to enable experiments as it would probably be risky. Would wait for it to eventually roll out to me, though!
probably makes sense to disable the heading too for consistency
three riot accounts
the souls
xd lewis' account is good for testing this
idea
why dont we have
both
as options
cuz i like the smaller icons
i guess icon size and spacing
that could work
if its too much work tho u can use the bigger icons
it shouldn't be hard
just need an option!
is this good?
i tried to make it look more consistent
hmmmmmmmmm maybe put it below the about me? technically this feature is similar to the "member since" as it displays platform infromation
or below member since, both work
that was how it was before
but in the modal it appears at the very bottom
it kind of feels weird otherwise
i see
why can't Array.filter be used instead?
the equivalent of this function is [].filter(Boolean)...
const firstContent = content[0];
if (typeof firstContent === "string") content[0] = firstContent.trimStart();
if (!content[0]) content.splice(0, 1);
if (newChild && newChild.type === "ul") {
this.makeChildrenArray(newChild);
if (!newChild.props.children.length) return null;
let listHasAnItem = false;
for (const [index, child] of newChild.props.children.entries()) {
if (!child) {
delete newChild.props.children[index];
continue;
}
...
why do you declare a function modifyChildren when you immediately use it and it is not recursive?
That would clear other falsy values too, I don't want that
This would evaluate true for other falsy values, bad
for it to be "recursive" it has to call itself, what I see is that it calls modifyChild, was that a typo if you meant for it to be recursive?
maybe recursive isn't the right term, but is used inside transformChild
oooooh, I didn't even know that arrow functions can be used before they are defined.
I thought that was a thing that normal functions did...
const test = () => {
const inner = () => {
lmao()
}
const lmao = () => console.log("hi")
inner()
}
test()
this should be illegal
This can be done with just css
time[id^="message-timestamp"] {
color: transparent;
}
time[id^="message-timestamp"]::after {
color: var(--text-muted);
content: attr(datetime);
}
gotta figure out how to move the time to the left

Changed the message that'll pop up when clicking on a fake emoji, to be shorter, to make the popup smaller. I also changed it so it doesn't sound like it will only look like actual emojis for Vencord users, instead of anyone any modded Discord using similar plugins.
node.push(" Fake Nitro sticker renders like a real sticker only for you, appears as a link to non-plugin users.");
If it gets too popular might need auto block as well later on
voice message deniers be like
this can be done with css, plus why would you want to hide voice messages :skull:
people who accept mass bloat like most android users nowadays are plain stupid, but people who reject even the slighest "bloat" are in the same vein of stupidity
Voice messages shouldn't even exist, why are people defending being so lazy as to not even use your keyboard anymore. If it's easy to do with css wouldn't it be easy to add to plugins
Please keep the github discussions polite and respectful.
lmao that guy got so defensive so quickly
Voice messages should 100% exist, because of people who, for example, have typing disabilities, or just need to transmit a big idea relatively quickly. Talking makes it faster to generate sentences in your head, typing slows the generating process by a huge amount of time.
Why make it a plugin if a simple css snippet will do? Sounds like an easy way to bloat the plugins directory. A better approach would probably be a plugin with switches to disable other Discord components.
cease
why
they can piss off
hes probably working a 9-5 already
if the guy gets so angry over the slightest presence of disagreement, dude shouldnt have access to the internet
bullshit aside thats probably the most agreeable thing youve said here honestly
what the fuck
except for that guy
i have said more agreeable things
i havent seen them soo
yeah exactly
doesnt exist clearly (obvious sarcasm)
nopp
go thru my messages and witness all my takes
There are probably more deaf/hard of hearing people than people with typing disabilities. Most people expect a reply to voice messages with other voices message which also makes it annoying for people with speech impedements. It's just not worth it.
their point is "deaf people are annoying" or equivalent
I'm gonna close the discussion
"discord is ONLY for typing" vs "discord is for texting, as well as chatting in any form that is suitable for the user using the platform" 💀 ||wait until they find out theres more than 1 user of discord||
real
I understand not wanting to listen to audios, but wouldnt it be better to suggest a plugin that processes the audio thru a speech to text software?
but tbf no free speech to text software
real name

it came free with ur fucking xbox browser!!
like i knew that
lmaooo real
Note: On some browsers, like Chrome, using Speech Recognition on a web page involves a server-based recognition engine. Your audio is sent to a web service for recognition processing, so it won't work offline.
horror
mozilla inventing stuff to never use it in their own browser
lol
@mortal forum add immediately
real
no
you will add or your puter will expod
yopp
Maybe add an animated status plugin like Animated Status? I think it would be cool
Selfbot moment
Title self explanatory, code below was hacked up for Acrilia
Might be nice as I've seen a few people complain they show up on web 💀
~Not sure how much this breaks~
const browsers = {
win32: { browser: "Discord Client", os: "Windows" },
darwin: { browser: "Discord Client", os: "Mac OS X" },
linux: { browser: "Discord Client", os: "Linux" },
web: { browser: "Discord Web", os: "Other" },
android: { browser: "Discord Android", os: "Android" },
ios: { br...
probably not gonna do because this breaks vc/screensharing
Well
idk fully tbh 
I just know wrong user agent breaks voice chat
why are win max Linux separate
While this is a Windows only solution, it does add some very nice additions for theme creators.
And since it's not exactly night and day to simply switch out an ASAR for transparency anymore, I think if Vencord Desktop added support for Vibe it would attract more users.
More about vibe here: https://github.com/pykeio/vibe
If I'm honest I'm glad at the moment because I found a bug I was trying to fix but after hours and hours of searching for the cause I gave up and now I think I'll take a break from this plugin. And just in case someone using my fork reads this, I'll explain the bug very quickly. It's pretty simple, if you have your camera on and end a screen share, the screen share settings will override the camera settings.
I'd suggest splitting this into multiple smaller PRs.
That way it will be easier to review and will be merged faster.
Bugs will be easier to figure out as well.
Honestly, since plugins are built in, there shouldn't be any need to add author-specific libraries. Each function should be made available inside the vencord API, if that makes sense.
ca5d243 Fix errors on setups with no Notifications/Spee... - Vendicated
d35654b Improve themes tab instructions - Vendicated
1caaa78 PinDMs: Add option to sort by most recent message - Vendicated
ce64631 MessageLogger: Apply styles to gifs, stickers &... - Vendicated
7d55a81 MessageLogger: Add toggle deleted highlight rig... - Vendicated
Otherwise, it looks like a shameless plug, which wouldn't get merged. But to be fair, no library as a plugin would get merged
dac9cad Improve FakeNitro emoji popup message (#924) - yodaluca23
9c929a4 messageTags: Fix duplicate entries & replies (#... - xMufaro
72f6dd8 SilentTyping: Make Tooltip text casing consiste... - Lylythii
e767da4 Fix errors on setups with no SpeechSynthesis su... - Vendicated
7306897 Add temporary /docs/plugin-requests redirect - Vendicated
Successfully deployed to the following URLs:
vencord-website – ./
vencord-website.vercel.app
vencord-website-git-main-vendicated.vercel.app
vencord-website-vendicated.vercel.app
www.vencord.dev
vencord.dev
is there any way to replace this with vencord.dev in google results lmao
This page is a duplicate of another page, although it doesn't indicate a preferred canonical page. Google has chosen the other page as the canonical for this page, and so will not serve this page in Search. You can Inspect this URL to see which URL Google considers canonical for this page.
there we go
Successfully deployed to the following URLs:
vencord-website – ./
vencord-website-vendicated.vercel.app
vencord-website.vercel.app
vencord-website-git-main-vendicated.vercel.app
vencord.dev
www.vencord.dev
hurry up googol
@turbid hatch if u give me ur google mail i can add u to the google search console
done 
lewi@lewisakura.moe
:3
googlebot smartphone
anyway this should fix it and replace vencord-website.vercel.app with the correct one soon
oh thats why its promoting the vercel link
done
but not sure if u will even need it
in any case now u have it :P

Use Search Console to monitor Google Search results data for your properties.
surprised its taking so long
i expected it to be nearly instant
it wont be
google search console takes ages
its mainly a way of hinting to google's algorithm on what to prioritise but it doesnt work instantly @austere talon
yeah, thats just hinting to the algorithm
it adds it to the queue of other requests, + whatever else it was doing
horror
Any indication as to when that'll be available to the general public, though? 🤔
i hope this works
it should yes
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
None
JSHandle@error
fix now
its not even that the patches are broken
theyre fine
it's just that the patch reporter is flawed
fit JSHandle@error
force load all chunks is broken somehow
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
None
JSHandle@error
some github actions that check patch
Honestly, since plugins are built in, there shouldn't be any need to add author-specific libraries. Each function should be made available inside the vencord API, if that makes sense.
Unless said lib is huge enough to impact the bundle size.
76e74b3 SendTimestamps: Fix chatbox having a scrollbar - Vendicated
surprised noone complained about this
automated plugin testing via github actions
<t:-62116371568>
funny
i noticed it only now that you mentioned it
turns out putting the scale on the wrapper instead of the svg makes the element bigger
funny
holy shit csp fixed on firefox
5305447 firefox: Fix csp (QuickCss, themes, some plugin... - Vendicated
Fixed in https://github.com/Vendicated/Vencord/commit/5305447f442b57443c4616ccd8d530c2c5e539b4!!
Keeping this open until the update reaches the firefox store
@austere talon look at this lmao
ah ok
for some reason firefox just shits itself with manifest v3
we love browser dependent apis
inb4 firefox rejects this update
Successfully deployed to the following URLs:
vencord-website – ./
vencord-website-git-main-vendicated.vercel.app
vencord.dev
vencord-website.vercel.app
www.vencord.dev
vencord-website-vendicated.vercel.app
@3941, vencord has a bunch of open pull requests and it’s not really clear when ven will get around to most of them. right now, only some of the new ones are getting closed. the old ones might get looked at later or maybe not at all because ven is also working on a separate discord client for vencord.
Discord Account
Pōki#7777
What happens when the bug or crash occurs?
A bot's slash command reply preview will have the bot's name rather than the username of the user who called the slash command. The same behavior happens wether or not the user has a nickname.
Both plugin settings doesn't change the behavior. (It will always show nickanme (Bot name))
I do not know if that was intended
Example:

lmao
Also, would be nice to see an icon in front of users when they are in a voice channel. When hover it shows what voice channel and server. and when clicked, go to the voice channel (not join)
why is it so hard for people to just make a new discussion post for every feature request
and all of them are duplicated lmao
forgot to mention; ability to have uwuifer on without the need of command
now w-we w-wait :3
horror
You love people not checking to see if similar discussions are already open... Please upvote or comment on existing discussions instead of creating new ones..
I have a feeling that this pr is actually waiting on better 3rd party plugin support. but in terms of built-in plugins you shouldn't add author specific libraries. If you're plugin is Doing the same thing as another plugin then it will probably be moved to a client api/util.
Honestly, since plugins are built in, there shouldn't be any need to add author-specific libraries. Each function should be made available inside the vencord API, if that makes sense.
I feel the same way. Maybe the api should be descriptive of what it is instead of being called Phil (I like the name though)!
Naming smth after the author is such a devilbro thing
This isn't really on-topic any more I don't think but it's quite a common thing with modding. I've seen it in Minecraft too lol!













