#πΎ-core-development
1 messages Β· Page 262 of 1
then why not re-export all?
just add to the import bans if u care
nah I don't care that much I just want to make sure it's consistent
since code refactor
common.mjs: Lines 361-368
export const commonRendererPlugins = [
banImportPlugin(builtinModuleRegex, "Cannot import node inbuilt modules in browser code. You need to use a native.ts file"),
banImportPlugin(/^react$/, "Cannot import from react. React and hooks should be imported from @webpack/common"),
banImportPlugin(/^electron(\/.*)?$/, "Cannot import electron in browser code. You need to use a native.ts file"),
banImportPlugin(/^ts-pattern$/, "Cannot import from ts-pattern. match and P should be imported from @webpack/common"),
// @ts-expect-error this is never undefined
...commonOpts.plugins
];
you can add to this
okay I just realized the whole components index file with re-exports is useless
we don't have a path for just the components index
so it was never going to be used
neither vesktop seems to use it
so I just nuked
Vencord.ts: Line 23
export * as Components from "./components";
π
okay good catch
index.tsx: Line 8
import { ErrorBoundary, Flex } from "@components/index";
lol
this imports it
YOUR PLUGIN
nvm sadan#s fault
YOUR FAULT
we should just ban imports of /index$
nvm we cant
LOL
I DO NOT REMEMBER THAT!
must have been my intellisense
yeah it happens with autoimport
sometimes i auto import from the craziest place imaginable and have to manually fix it
@austere talon u didnt cause any regressions in patch helper right?
i tested and it seems to work fine
it had so many little fixes that could either cause crashes or not work
i made the json box auto resize
I'll just trust u didnt cause regressions, if anything we can fix later
yeah
thank god
crazy that there's still not a <textarea autoresize> and u have to instead do it with js
btw it might be easier to review the changes by going through the commits
the first bunch of commits purely moves code around
only later did I start making actual changes
theres so much logic to review π
previously the returned value wasn't actually a valid plugin object
it was a PluginDef, not a Plugin
so something like isPluginEnabled(SpecificPlugin); would type error and if you wanted to type a generic Plugin type to a specific Plugin you had to cast to any first
the change fixes it
actually try to fix this
maybe it's that
but don't worry too much about it for this pr
It would be better to try to tackle the circular stuff in a future pr instead
the best solution is to avoid top level code like this
didnt work
and instead make init functions and call them in order
that doesn't matter much
import just ~plugins works
but also plugins doesnt?
the first import should happen before
it's not that simple
I am not seeing something then
all parts of vencord import each other recursively
top level code competes for who gets to run first. if top level code depends on each other recursively you get into this trouble
the way it currently is it imports in just the right order to make it work
if you move around or add new imports it changes the order
~plugins is everything inside plugins excluding index right
it's very ugly but the only solution is looking into what is exactly causing it and doing a deeper refactor
yes
just don't worry about it for this PR let's tackle it separately ππ»
alright
the naming was mostly intended
if its named after a component, PascalCase
otherwise camelCase (like commons)
but this is fine too it doesn't really matter
Now testing! 
yeah just did that
git on windows hates case changes for files
doesn't respect them
Windows user spotted
i remember this being a pain in the ass on a personal project a while back
try git mv commons Commons
guhhh
why isn't vscode smarter on that
it's git not vscode
it's both cuz vscode could call git mv
well not really, i'd argue that calling git mv is incorrect
(assuming you're talking about renaming a file)
yes
few reasons
- not everyone uses git (no vcs or other vcs)
- when you rename a file you dont expect git to be invoked
this is just an issue with git on windows
not with vscode
I mean yes, I get why it's a git issue
this is just an issue with windows :P
@austere talon do we plan or merging it soon
if not need to backport the find fix and push it as soon as possible
since it breaks plugin settings
you should merge https://github.com/Vendicated/Vencord/pull/3382 too 
that pr probably gets mangled by the settings refactor
nothing nookies couldnt fix 

π π π π
but it needs to be reviewed anyway 
cuz the code wouldnt change much id just shuffle files around
wait wdym?
oh
add it separately for now
and bump extension
alright
the refactor should sit in dev for a while so enough people test it
vtest dev2
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
I'll wait a lil bit and then push tag
you should still merge refactor to dev methinks
I develop and maintain a number of personal userscripts for browser-based Discord. These are, effectively, implementing something slightly more powerful than QuickCSS, capable of containing some dynamic logic and element injection.
I can't run these on current Vencord without reimplementing them as plugins, but this increases maintenance effort (I use the browser to save RAM when possible) for what are ultimately rather simple scripts, not particularly more complicated than oneko.js.
...
wouldn't this just be RCE via settings sync
Wait where do u write the #π-js-snippets then
Ohhh
unsure if there's a better way to type this without casting the result of getChannels
unsure if this should be here for completion
so why are we husking extension bump now
idk
Because it took like an hour and half
i was waiting for possible bugs
Still tho thats why husk
if you have time, you can check https://github.com/Vendicated/Vencord/pull/3540
You're insane
Content
Back in the days TeamSpeak had a feature which played a beep sound when you tried to speak while your microphone was muted.
Better Discord seems to have a plugin for that, but so far I haven't found one for Vencord.
I myself often forget that I am muted so I developed one.
If there is an interest, I'd create a pull request.
So far it supports:
- custom base64 audio files for beep sound
- setting for beep interval
- setting ...
not for feature requests guhh
It's not even a feature request because they've created it already, this could just be a PR lol
the contributing guide does say to open an issue but thats on the now defunct plugin-requests repo and the link leads to a 404 so maybe they got confused
Fair
because it's krystal they always add random reactions
We considered something like this a while ago but decided against it for security reasons. users who want this should just build from source and add their script as a userplugin. Or in your case you can use a userscript manager. You can even even use vencord apis from it, vencord exposes all its apis as window.Vencord
Many users share their settings backups and sometimes people even ask strangers to send them theirs for whatever reason. This pr would turn that into a security hazard as s...
should we merge the settings refactor into dev now?
There are some situations where browser Discord is insufficient, so a userscript manager is not always available.
Secondly, after all the issues I've repeatedly had with various vague Node cryptography API breakage and so forth, I am extremely skeptical of "just build from source" as a statement in regards to any Node/NPM-based project.
This is not to mention that, as Discord is a moving target, a source build is also a moving target.
Do you have some reasonably deployable rebase-and...
screams "never used a dev build before outside of this PR"
theres measures in place that (as long as dependency changes don't happen) the updater can just git pull and rebuild for you lol
anyway voiding security of people all for this is dumb
yeah
I'm so annoyed by this π
just make it faster, duh π
evil nuckyz
You could call this
Vee...to
Uhh... oooookay then! Thank you for the clarity, I guess...???
assuming dependencies don't change (happens very rarely in which case just run pnpm i), the remote is Vendicated/Vencord, and git pull would normally work (which is the case if there are no merge conflicts (there never are if you only put things in the userplugins folder)) the vencord updater can handle devbuild updates
vext
The Vencord Chrome Extension is up to date! (v1.12.6)
@austere talon they are cooking so hardly
has anyone experienced discord freezing in chats
it's like the fourth time my client completely freezes out of no where
On Windows I've always experienced random crashes, but that's with the stock client, so I figured that was just the issue.

i haven't restarted yet
actually did i?
can't remember but i haven't seen anything odd
Ah, thank you. That's the sort of solution that should work for my use-case.
I have a feeling it's related to typing tweaks
it was changed recently no?
but it's so hard to debug because the whole client just freezes
client theme
do u have any custom css
it's 100% a function looping infinitely
wait does it freeze forever?
yeah
ohhh
completely
yeah no i never had that
well try to replicate it with devtools open
then you can pause scripts
and see where it got paused
@opaque silo when will electron fix the 30s hang when theres no notification daemon
@opaque silo
vtest dev2
Now testing! 
Seems like everything is working fine (for now) 
ShowHiddenChannels (took 12.4ms):
ID: 823748
Match: ```
/(?<="renderHeaderBar",\i=>{.+?hideSearch:(\i).isDirectory())/
vtest dev2
Now testing! 
OverrideForumDefaults (took 8.2ms):
ID: 131704
Match: ```
/}getDefaultSortOrder(){/
ShowHiddenChannels (took 5.2ms):
ID: 473403
Match: ```
/.subtitle,.+?;(?=return(0,\i.jsxs?))(?<={channel:(\i),name:\i,.+?unread:(\i).+?)/
Nuh uh
yuh uh
but it should be decreased
better?
yes
or should I make margin 12
this is why you should make every plugin with 100% components for custom margins 
what theme are u using?
ClientTheme color #101010
yea just stick with 8 imo
and maybe review my pr if you have time pretty please :3
avatar is not rendering
just add margins into the style 
discord form components are so bad
we need to stop using them
like why does a switch have 20 pixels of bottom margin??
nopp
probably to bully vc devs
yes
i dont think the gap between title and subtitlew should exist
like this is 
see that's another reason to stop using form components
they have so much random margin
wasnt it completely fine before 
@austere talon werent form components deprecated so long ago
this for example does not look like the switch we use
whats the difference?
the gap between the title and description
ohhh
Settings modals without a save button feels wrong lol
Yk when that hits main should prolly post something about incase people ask about it
how does this change actually work. for custom components will it just call the setValue instantly instead of waiting for save to be pressed?
it will be breaking for third party plugins I think
custom components would already instantly save in most cases
oof if you validate a field and prune it you'll need to defer that now cause it'll be impossible to update the field otherwise
huh?
how would you even know when to validate a field now though. onclose?
like enforcing a syntax in a field and not saving otherwise. and clearing it if the syntax is wrong
guess I'll just have to try it and to see how it works
it just calls the passed setValue for custom components right
yeah you pass it as a prop
so basically everytime your component calls setValue it will attempt to save
but it will save debounced so if you call it a lot it wont spam saving
you can have your custom component do parsing with a useState
and only call setValue when the parsing is successful
to then save the value
ok so does onChange still exist? if so then nothing really changes actually
yeh
you just have to be more careful about when you call setValue or it will call onChange and overwrite a field mid typing in it cause it's technically bad syntax
not that bad
not really
the way you implement a custom component it should never reflect the changes of the setting you are changing
the state which controls the field should never be overwriten by parsing
so what I'm trying to say is, even if you do call setValue all the time, it wont overwrite the field because the state should be different
looks like I actually only have one setting where this will be an issue
how does your validator works?
that will remove invalid options so if you're mid typing and it insta calls onchange due to attempting to save it then it'll yeet what you're typing wont it or am I missing something
where does it show the error
then what I said earlier applies
no error it just checks your list vs the current quests so it never gets too long and has outdated quests
you are using the wrong state
dont use for example
const { quests } = settings.use(["quests"]);
inside your component
use const [quests, setQuests] = useState(settings.store.quests)
on field changes always call setQuests and setValue
onChange will validate your quests and remove the invalid ones
setQuests will make sure your field remains intact so when the user finishes adding a proper quest, it will pass your validator and save it so settings
dont call it like that lol
ignoredQuests and setIgnoredQuests
what is ignored quests? a list of ids?
what about your validator
nvm multi line list of quest names
validator checks if the quest still exists or if you've completed it or not
alright then it's similar
do your validation and set the parsed setting with settings.store
and it should work just fine
am on mobile π github is pain
settings.tsx: Line 132
export function validateIgnoredQuests(ignoredQuests?: string, questsData?: Quest[]): string {
questify is a good name
Honestly one is the best Iβve heard lately
At least itβs not a clichΓ© Better_____
on that note can we merge BetterBlockedContext 
originally named QuickQuests when it was just a shortcut to the quests page but then I had to rename it when I added a ton more and really wanted to avoid the Better_ syntax lol
I'll just have to try it out when I get back to my pc I can't really mentally envision how validating this without overwriting midtype would work
@gaunt lava why ghost ping me π
@limber skiff are you alive
why?
i want help investigating this issue i have
everytime i pnpm i on the vencord repo
my lockfile changes
my patchfile hashes differ from those in the upstream lockfile
have you tried pnpm i --frozen-lockfile
oo okay
this doesnt work for this
βERR_PNPM_LOCKFILE_CONFIG_MISMATCHβ Cannot proceed with the frozen installation. The current "patchedDependencies" configuration doesn't match the value found in the lockfile
do u not have this issue @fossil inlet ?
no
i'd just compare the patches/lockfile to what's upstream as a starting point
also pnpm version
well the actual patches
are the same
its just that when pnpm patches the modules i think the hash is hashing the post-patch code
@spark cove pnpm version
old versions refuse to do anything in some packages that have use newer versions
(including things like pnpm --version
that sounds like a corepack thing
i am 100% sure it's a pnpm issue
(the error comes from fields added to the pnpm-workspace.yaml file that the olderversion doesnt know about)
something corepack should not be reading
the field is automatically added by newer versions for anything that has a "built" dependency
(most native things)
i didnt even think to look at the old value
love pnpm
but hate their constant breaking changes
cus i just assumed same format diff hash
i just realized they introduced a breaking change in the lockfile format without upping the lockfile version
i'm not sure if it's 100% a breaking change
yea fair
it depends if the new version updates hashes to the new format even if the content didn't change
if it does then it's a breaking change
if not then it's not
(i think)
because afaik pnpm doesn't promise forwards compat
idk but they're also laggy lol
plugin page used to use formswitch and it was really slow (would freeze for a second)
that's why i rewrote switch from scratch and switched to that
some of their settings indeed use a new component but not all
Adds a tags field to the plugin definition where plugins specify one or more predetermined tags (like Accessibility, Commands, Shortcuts, Utility, etc) - Users will then be able to filter by these in the settings
We already have a tags field currently but it's just used for search aliases/keywords, so I renamed it to keywords.
I came up with the following list of tags for now, but this is subject to change:
Accessibility
Activity
Appearance
Commands
Customisation
Developers...
Plugin categories real
This will require us to go through every plugin and add tags to it, fun times
I still run the categories thing I fucked around with a while back but I removed all the categories from the plugins because I couldn't be bothered dealing with merge conflicts everywhere forever lol, so it only really serves to filter user plugins now
Just fucking around
I kinda just stopped dead at one point so it is what it is, I don't go in there much
Six felt better back here
4
True
https://github.com/Vendicated/Vencord/pull/2707
Oh, I completely forgot about that
I found this to be what looks the best
Ideally there shouldn't be that huge margin between the title and the subtitle, but we need to move away from form components to fix that
once again their random ass margins
@austere talon looks good?
i never noticed the switches are not aligned
they aren't?
-# Personally there isnβt a big enough gap between each option, needs to have a top margin or something
more gap?
that's vertically
I dont get what you mean then π
ohhh
Doesnβt seem like thereβs any gap
wait until you realize that's how it looks in all discord settings
I feel like it's wasting a bit of space
it looks worse in ur screenshot
probably cause so little margin
that makes sense
what about this
that's the same margin we currently have
well, a bit less
added more margin in just the switches
just stop using the formswitch
yeah
nice
super easy lol
i think that's good
what about stop using FormTitle and FormText
why
what else
the gap between the title and description is too big
just Text
I would if I knew how lmao
do you remember what's the text variant for the grey text
just remove the patch, who cares about the plugin 
muted i think
test
-# thing
too bad there's no muted
I also can't find a variant that matches the current title...
so that's how they do it
π
md medium with hardcoded style
No, thatβs actually perfect
First screenshot was better
the select components look so weird imo
it's the same lol
Im just trying to gaslight you now
Agreed
@odd heath does your array settings have a name and description?
Wdym
It's just a normal setting so I'd assume so?
alr
just wanted to know if setting section name and description should stay required
I kept them required and added an inline option to the component
for settings like booleans
last one I promise
they looked bad after the rewrite
??
we pushed a refactor earlier and it messed up settings a bit
this fixes the issues but also improves the layout as we were just discussing
nothing else
wha
they were always like this, no?
why to dev directly π next time pr
it's so minor π
yeah mostly, but after the refactor error didnt have margin

what do you think about https://github.com/Vendicated/Vencord/pull/3553
it's nice but I also think we should potentially separate plugins in categories in the list
how?
just categories which can be expanded and collapsed
we can put all the Better* plugins in Improvements or something for example
Gotta think of a name and tags for my random plugins?
well yeah I was always gonna do this for some plugins
adding the keyword "depressing" when a plugins code just looks sad
mainly the tweak plugins that just alter some stock behaviour
idk if putting better* in one category is a good idea
we should just give them appropriate tags and make the tag filter accessible (as in not hide them in some menu but instead display them always)
are the keywords to help people find the plugins they want?
then i don't think making the Better* stuff have its own tag would be helpful, might just end up being annoying
I'm thinking a grid of pills below the search bar that you can click to select a tag
is the waveform gen in the vm plugin the same as what the mobile client does?
Is this different from the existing tags field? Think that one's only used for searching though
it was a bit too small but now it changes accordingly
vencord launcher now supports arm64 discord installs by popular request (one singular person asked for it)
https://github.com/MeguminSama/Vencord-Launcher
this should really be an official install method at some point
I wouldn't say no to it
only downside is apple is too restrictive, so any mac support would still have to do file patching
windows on arm my beloved
wasnt there a case where Minecraft didn't work on arm processors?
arm on desktop just feels like it is in a weird state
ircColors stopped working on messages
Content
Plugins always translate from the original language to English.
This means that people from other countries cannot use them.
Discord plugins are typically used for themes and translations.
However, this leaves behind almost 50% of users who use them for translation.
This issue could be resolved by allowing users to select their preferred language.
Request Agreement
- [x] I have read the requirements for opening an issue above

Use the support channel instead of ignoring the issue template, this is already a feature.
A bit pedantic but would it be better for developers to be development? Doesn't really change the meaning, but seems more appropriate to me weirdly.
servers, friends, emotes, and activities also seem like odd ones out. Are they the areas of the app that are affected by the plugin? That seems odd to me, can't really put my finger on why
Accessibility Plugins β
Activity Plugins β
Appearance Plugins β
Commands Plugins 
Customisation Plugins β
Developers Plugins β -> Development Plugins β
Emotes Plugins 
Friends Plugins 
Fun Plugins β
Media Plugins β
Notifications Plugins 
Organisation Plugins β
Privacy Plugins β
Roles Plugins 
Servers Plugins 
Shortcuts Plugins 
Utility Plugins β
Hm I agree with Developers being better as Development. The others you mentioned and a few others feel a bit weird (
) but I think that's mainly because they're plural forms. Also as you said they slightly semantically describe something different than the rest of the tags. π€ But overall I don't think they're bad.
||Also Customiszation & Organiszation
||
vtest dev2
Now testing! 
OverrideForumDefaults (took 7.7ms):
ID: 131704
Match: ```
/}getDefaultLayout(){/
Seems like everything is working fine (for now) 
Seems to be broken on Stable, PTB, and Canary.
Existing patch technically works it just has no effect cause Discord added a terniary operator. At least I'm assuming that's what the change was.
Did they re-add the ternary lol
well it has one now so I guess so lol
Content
In Vendroid repository you currently mention Aliucord and I think that you should also mention Bluecord which id another Discord mobile app mod.
Request Agreement
- [x] I have read the requirements for opening an issue above
bluecord is made by a malware developer
As if anyone's gonna read through smali
also, consider reading:
<img width="1502" height="696" alt="Image" src="https://github.com/user-attachments/assets/2faf7a60-0c14-4395-bf82-c1fd526b8678" />
LMAO
add auto-skip (video.currentTime = video.duration) :trollface:
you can speed up videos like 10x but ntts just made a video on orbs and showcased the quest exploit script so inb4 discord finally patches it? 
vesktop-bin-patched seems to be malware https://aur.archlinux.org/packages/vesktop-bin-patched
(from what I've heard), someone should keep an eye on the news here
has "electron patches" whatever that means
It's gone
unless they actively fight it they cant patch lol
you can always simply replicate what the client is doing
and javascript makes it so easy
surely they can patch the thing that allows you to send video progress reports 10x the speed that should be possible
guess it wouldnt matter much if you were still able to fake watching it at all
just would take longer to finish
Great, did you have anything to do with it? (with it being gone)
nah i just went to open the link and its a 404
@Nuckyz bump pls review, only needs 5mins of your time
doesnt even work
What doesn't work, the auto skip for the orb quest video things or this plugin? Either way, I just found out about https://gist.github.com/aamiaa/204cd9d42013ded9faf646fae7f89fbb so maybe this could be integrated instead of that lol.
multiple people have mentioned adding the quest speedups to the plugin and I've always took it as a joke cause I don't want to ruffle Discord's feathers but now I'm wondering is it a joke? Should I genuinely add it? I suppose it isn't that much worse than fake nitro at the end of the day. Except instead of Discord losing out it's their advertisers π€
was just curious if it was too much for an official plugin
aight. in other news I just learnt you can complete mobile quests on desktop. praise be
uh idk
that could be very interesting lol
get your account flagged in 1 easy step, complete all 7 open quests at the same time
i wouldn't do that myself, and amia's script doesnt either
i also wouldn't feel comfortable putting that in a plugin
the speedups or specifically the multi at once
cause yeah I also wouldnt want the multi at once personally
why?
idk, just doesn't sit right with me
not worried about discord flagging it because you could have more than one client open at the same time
?remind 2 weeks make keybind api
Alright @fossil inlet, in 2 weeks: make keybind api
hi
istg i hate this misinfo
Did you do exact testing to land on the 10 second max and 7 second values in your script? or were they just ballparks
add auto-skip (
video.currentTime = video.duration) :trollface:
That would be unreliable. Discord tracks the timestamp of accepting the quest on the server, and doesn't allow you to send a video timestamp greater than (now - start) + 10s. I.e. your code would only work properly if you waited out the video's duration before running it.
exact testing for the 10s one (i spammed the api to death on multiple accounts and watched which thresholds it allows)
the 7s is just how often the client sends it

can I use some logic from your script and add you as an author so I dont have to do a bunch of my own testing
On newer Android versions, some ColorDrawables are cached too early, or preloaded such that Themer can't hook setColor for them. One such noticable colour is the main background.
This PR adds a new patch for loadDrawable and sets the colour there. loadDrawable normally finds the ColorDrawable in cache, or if it doesn't exist would eventually lead to ColorDrawable.setColor.
rare aliucord plugins pr
as long as you credit me then sure, but tbh idk if making it a vencord plugin is a good idea
why is the first character times new roman π
it would have to be updated too often
i set it to a cyrillic a to dehoist myself
π
how much of it changes often? does the video speed part change a lot?
i need to make some plugin that normalizes names
well the video speed part changed once so far, but other parts change often
for example all quests used the taskConfig field until like 1-2 weeks? ago where newer ones started using taskConfigV2 instead
tbh vencord also has to be updated often, but breakages in this might be less noticable
hmmm
fixes take forever to get merged and pushed to main though
im still being ghosted on this one https://github.com/Vendicated/Vencord/pull/3540
yeah
showmeyourname fix sitting there in shambles
they also introduced the WATCH_VIDEO_ON_MOBILE quest type like a month ago i think?
is it broken rn?
yeah I just added an option to make that work on desktop
isnt it? they added a terniary
-# Tbh this whole time this Quest plugin as seemed more of a userplugin to me anyhow

the feature to disable fetching quests is kinda useless tbh
based on the name, couldn't that prevent quest ads in the client
if you want to completely dequest then not really
there's another option to disable the popup above your profile area so it is sorta kinda redundant
all it does it makes no quests appear, right?
in your pr desc you said it broke
huh
if you want to get rid of the quest popups while keeping quests functional then just do something like thisjs FluxDispatcher.addInterceptor(function(event) { if(event.type === "QUESTS_FETCH_CURRENT_QUESTS_SUCCESS") { event.quests.forEach(x => x.config.features = x.config.features.filter(y => ![1,3,8].includes(y))) } })
I just patch the popup to not show
plus the same popup is used for progress tracking
holy moly
so you need to check for that
Fetching Quests β Will prevent fetching Quests resulting in a blank Quests page.
just said it shows no results

it's an option you wouldnt turn on unless you were already turning everything else on. not really necessary I guess but also not detrimental 
ahh I must remember wrong then
god forbid I want to make a pretty settings page
it still needs work to be pretty i'd say
huh? looks great imo
ran into some issues with it
explain 
test
very helpful thanks
sorry
@elder plinth why is everything !important
this will make thing a pain for themes to style
some of them needed it and I lost track of which ones did at some point and started putting it on everything 
don't do that
ill go through at some point and see which ones actually need it then π
Bro just had to make that comment
shouldn't have said they didn't look nice, they do
just found some weird styling things

font-family: var(--font-code);
use a discord built-in font, like --font-code, instead of hard-coding the font. Otherwise, it will look really weird when a custom font is used.
oof that was definitely copilot autofilling for me.
these and the rest of the hard-coded colors should, in most cases, be replaced by discord color vars to make it eaiser for themes to style. Also this will give you support for light mode, which this breaks with currently.
oh the settings page supports light mode. agony
all of discord supports light mode 
huh
@fossil inlet can you explain this one
or anyone else that knows what he means
you are wrapping it in something that does nothing
lc.wiki noop
In computer science, a NOP, no-op, or NOOP (pronounced "no op"; short for no operation) is a machine language instruction and its assembly language mnemonic
@astral birch fix html encoding not being decoded
it does do something though?
it adds a feedback prop
I patch it in. but the default component doesnt have it
and so the type hinting gets mad at me without this
you patch in functionality to the discord SearchableSelect component?
insane
why
I wasn't expecting this to be resolved anymore. Lol
Thank you very much for looking into this even after all this time.
aliucord jumpscare
add auto-skip (
video.currentTime = video.duration) :trollface:That would be unreliable. Discord tracks the timestamp of accepting the quest on the server, and doesn't allow you to send a video timestamp greater than
(now - start) + 10s. I.e. your code would only work properly if you waited out the video's duration before running it.
yeah, that was before I knew about your script. for some reason resending a enroll request but changing the platform to be something invalid (I...
When are you pushing the fixes for irccolors and showmeyourname?
they have been broken on stable for days now with suitable fixes waiting for deployment
it's waiting a bit because settings refactor go along with it
we can probably release it
maybe tomorrow (EU) morning
I'm gonna sleep very soon
so in like 10 hours or so
I have a PR open for it
Simple plugin that doesn't follow the forwarded message to its forwarded channel
have these always been a thing? cause ive only started noticing them recently
click the filter
surely it'll make it to main eventually
why does that matter tho
wdym
why does what matter
making it into main?
cause I base my stuff off main
cba to switch to dev
Trust me, base off dev
Sometimes fixes take a while to get into main
@austere talon you should review https://github.com/Vendicated/Vencord/pull/3547
this would also be cool
what joke vulnerability is this lol https://github.com/advisories/GHSA-xffm-g5w8-qvg7
high vulnerability
look inside
build tool config is "vulnerable" to denial of service
if you're running untrusted code as build config you have deeper problems
why are the headings so small @limber skiff
Authors and Settings
i will make them bigger
also I agree with using Text over Forms @limber skiff
I used it in this commit
it's nice that you can easily choose which variant you need
so good
vtest dev
Now testing! 
what's _oldChildren for in the smyn patch? π€
Seems like everything is working fine (for now) 
OverrideForumDefaults (took 8.5ms):
ID: 131704
Match: ```
/}getDefaultSortOrder(){/
**__ContextMenuAPI (took 9ms):__**
ID: `373651`
Match: ```
/navId:(?=.+?([,}].*?\)))/g
to noop the old code without having to match it
is there a reason you can't just remove the entire terniary and return only the function result
just curious what I might have accidentally broken with my patch by doing that. seems fine so far but idk
π€
without having to match it
I didnt lol
match: /(onContextMenu:\i,children:)[^}]+}[^}]+/,
mm I see my method removes the data-text though
yeah but this solution feels ugly lol
lol it puts it in the html that's funny
You need to patch data-text as well anyway for the hover glow to match the added/reordered names on gradient roles
gradient works fine for me without
match: /(onContextMenu:\i,children:)[^"]+/,
replace: "$1$self.renderUsername(arguments[0]),"
π€
terrible
works
It won't if you put the other name first
that is terribly unsafe and will eat up an arbitrary amount of code if they ever change the code
:)
if they remove "data-text" you will eat half the module
?
I suppose I should redo a lot of my patches that rely on [^}]+ then huh
Here the glow is emitting based on the display name from the start but that's not the correct text
it's just so convenient
what's wrong about that?
It's the wrong text, the glow doesn't match the chars and extends past the username
It's more noticeable when the display name has an emoji
what should I be noticing in the second one
The glow is for the text "Kerla π" but is displayed behind "foreverkara"
I don't really know how else I can describe it
oh you want the glow on kerla?
it just makes sense to me the first listed name would always get the gradient
It's just weird to have an arbitrary glowing shape behind the text that doesn't match the characters
Sure but then it should be patched so that data-text is the first name listed and not the display name as default
oh I thiink I accidentally killed the glow in my smyn pr which is why I havent been understanding
If you were patching out data-text then yeah you will have done lol
mm yeah lol
Anyway it's not a huge deal, was just meant to be a passing comment lol
oh yeah I changed the order and the glow is fucked
so data text needs to be patched too
ugh
That's why my PR extracts getting the different names into its own function, so I could use it in both the actual name component and the data-text
The patch in that PR won't work anymore but eh
so does the glow only extend for however far the data text is
so if I want the glow to extend for multiple names stacked I gotta return the whole string formatted hmm
Yeah it's just used by this :after
hmm weird ive somehow broken it so the glow stops before the last name
wtf it's cause of @ in the data-text
even encoding it @ isnt working
guess I'm just .replaceing @ to a lol
let's go finally

love?
How can you live without fart plugin
make PR to fix i can't live without fart https://git.nin0.dev/duke/fart
and splattie will not be online for years
VEN HOW DO I GET FREE NITRO
yeah it's much better
I guess we could even recreate the text component with more variants
or easier color management maybe
@austere talon thoughts
imo it's good to stop relying on webpack finds for settings
oh from scratch?
I mean i guess but that's a lot of work
have fun reimplementing the interactive components especially
switch etc
I mean we got the switch already lol
May I get a follow-up on this? Thanks!
crazy how we still haven't fixed this yet
though isn't this a show me your name thing
can you send the font file for it
i've never managed to get a working twemoji install
i mean install it as my emoji font system wide
close and collapse bug fix + added move categories
Maybe it may be accepted as-is?
Patches, that this plugin uses weren't changed in more than half a year... which seems pretty stable for me
If someone still want's to see less patches, i think people can live without a tag in their profile :/
add a setting to hide the view raw button in the message popover as well as add the option to the message context menu
@Vendicated please review this
don't mention too much, the PR could get locked again π
also removed unused interface
should be compatable with stable
just remove the limit from the look behind
@granite sky why did you do ChannelStore.getChannel(this.getChannelId()) when you could just use getCurrentChannel()? they both do ChannelStore.getChannel(SelectedChannelStore.getChannelId())
I was trying to do it and lsp told me to fuck off
Lmao
Couldn't find this method
Will look again in a few minutes
its from discord
import { getCurrentChannel, getIntlMessage } from "@utils/discord";
Thanks
mhm
that file is from vencord π
it's called discord cause it's utils for getting discord data
canary ποΈπποΈ
again? great!
evil
that looks like a different component
they converted it to a function component
yeah figured
it looked like the old module id was just a empty wrapper
this works but it sucks
findComponentByCode('"aria-labelledby":null!=(')
findComponentByCode(".error]:", ".inputWrapper", '"input"')
yeah


