#👾-core-development
1 messages · Page 261 of 1
missed it cause of all the vendroid yap
a find would be easy but wasn't sure if i should do one or not
kinda useless imo
why not just do this inline?
could be inlined
Kept it as its own function in case Discord ever changes the way features are done.
your call
surprised there are only so few affected plugins
yeah
i guess most already used IconUtils
we also really need to get that discord-types pr mereged soon
things are getting more out of date by the day
seems fine
I don't like this name though, hasGuildFeature would probably be better
yeah definitely
done
for convenience sake, should getGuildAcronym take a guild instead of the name?
discord uses a guild name in their code
just copied it 1-1
- getGuildAcronym(guild.name)
+ getGuildAcronym(guild)
i kept it as a string incase soemone wanted to get the acronmy that wasn't a guild
eg some text input
insane
😭
nah it is intentional and directed at you
no other reason why it would be messed up!
even kevin knows!
what the fuck is this
@austere talon can we like deprecate vencord already
why do we support this app 😭

u made me scared
i thought doomsday
Make the argument the guild and use the name from it
Use // @ts-ignore and remove as any
ts-ignore suppress all errors, not just the one with the string type. eg: guild is null, or other things that could be missed in a refactor
@fossil inlet add a FIXME to fix when types are fixed then
yeah
i'll do that
when did github add these
neat
is the as any cast because outdated type?
yes
use // @ts-expect-error
we will fix it soon anyway
then we will get a ts error
ts-ignore is evil
yeah smart
doesn't catch more than one error
I forgot about that
it's fine
guhh fine
we should stop using ts-ignore
github web editor so bad
we should make all the places that take an enum type / union use LiteralUnion<Enum, string>
so you get autocomplete but can also pass a different string
yeah
i'll add that to the todo for the types pr
the same way we should do types have & Record<PropertyKey, any>
to allow for any other keys to be used without erroring
although
if we control the types fully it might be good to be strict
so if something is missing you are forced to fix the type

i prefer the latter, but i dont care that much either way
me too probably
it is only an issue rn cause the type comes from discord-types package
but once it's our own monorepo package it's gonna be easy to fix
I prefer the opposite
so others can use it without relying on ts ignores
we can enforce it being properly fixed ofc
that doesn't make that much sense tbh
if someone else needs features that are not in the types package they should either pr to or fork it
a types package should be strict
individual users can choose to use their own lax derivatives of it
not a types package that types an app constantly changing
at the same time we will be publishing it to npm and assuming other people will use them, it's gonna be annoying for them
i think the main issue with lax types is that it doesn't protect you from typos
it doesn't make sense to force all users to use lax types
i don't like this for that reason
we can make enums / unions lax but i disagree with the generic objects
yeah
the main point of types is to protect you from typos and also if discord changes a class we can just edit the interface and get type errors everywhere the old one is still used
alright, that makes sense
enums are fine cause no sane person manually types enum names
but this should be used for typed components which do not include all props
just include all props :P
😭
i am not sane
^
"should be good, haven't tested"
look inside
i prefer guild
same
LMAOO
should be good!
not grok @dusk blaze
you love
web discord insane
guhhh someone should revive channel tabs
i love having to use browser
why is guild nullable
they keep sending me months old emails about github tokens being added to my account
every time i think i got hacked until i realise they're old
forgot to change after changing type 
works on my machine
@dusk blaze send vendroid enhcanced apk
salad can’t read releases
yop
LGTM
what does esc do lol
clear attachments
it just doesnt work sometimes
Downloading now
time to see if vendroid is actually usable
@gaunt lava who is this
i need to bring back https://github.com/VendroidEnhanced/vencord-watcher @fossil inlet
is vendroid not running up to date vencord
ts laggy AF @dusk blaze
Works on my machine
thats so fire
oh
i didnt mean to merge actually
i just pushed to the wrong branch

because he pulled from same name branch
evil
All my PRs are designed to be squashed for this reason
can u reopen ur pr
Nah, wont let me
make a new one i meant
don't name ur branch the same as the branch ur pring to 😭
it breaks gh pr checkout into git push
it pushes to the origin branch instead of the fork branch
oh I meant they're designed to be squashed because they have like 50 commits with like bad names and one line each
yeah thats fine :P
GitHub mobile so bad
@wi.ng release gloom when
@austere talon github stupid and won't let me re open
yeah, i'll do that later, lying down rn
adds GuildActions to Vencord.Webpack.Common, mugman helped me find this
actually the right name would be GuildActionCreators 🤓
kys
done
did you also update the guild type and such?
No, like I said, I would be updating outdated types in a separate PR.
This just moves over the imports.
why tho
Easier for me to manage
I could do it all in one pr but I would really rather not
commit farmer..
Insane…
That’s not how commit farming works
nop
salad's actually commit farming we should ban him
Trueee
pressing button to clone emotes crashes on latest version (and on stable), was able to replicate
i blame amia for this
should've removed last commit -> forcepushed, synced with main -> pushed the 1 ahead 
(I'm joking)
girl out here manually rebasing
i tried learning rebase before but i already forgot everything
rebase is essentially what you just described
kaito deserves it
it changes the base to something else (in this case main) and then applies the commits on top of that
hmm makes sense
git rebase main would do it in this case
I'm too op for rebase I've always done it manually
thank u
yipee
dev will be moved to nin0git
we love react
github used to be so smooth and fast
then they pulled the discord and did a ✨ visual refresh ✨ and absolutely ruined performance in the process
eh?
seems like a pointless pr
Accurately checks if a message is sent from a bot, preventing the bot form extracting bogus timestamps from bots that use their own format for nonces.
seems good on paper but these cursors look like shit imo
review this for me @fringe basalt Vendicated/Vencord#3497
oh yea i noticed that bug too
vencord causes some component to load before the gateway READY with experiments is received, making the client cache "not in the exp" for the guild you had focused
tf
how
that shouldnt happen
not sure
i tried tracing it with breakpoints but it seemed like it's one of the items like Browse Channels causing it?
i can look into it again when I get out of bed
oh yeah VC changes all this code to just j = true
it does remove the D, L and x assignments
still in bed at 15:19 it's so over for aamia nation
i went to sleep at 7:30am cuz i stayed up reversing project sekai
nah it's cause of this
yeah
good find @elder plinth
yea that should fix it
it's basically exactly like that PR says
:)
although I'm still curious why breakpointing the exp getter function only triggers with vencord installed
these objects hold cache and those statements clear it on a reload
the plugin removes wrongly those statements
meaning it will use the old stale state
and that's the issue
good catch but i dont like your fix murphy xD
the old patch is just bad
im gonna remake it better
the "old stale state" shouldn't be happening to begin with though so technically there are 2 issues here
sure lol
I'll check it when I'm bored
basically there's no reason we should even be removing any of this code
yeah I remember not knowing what that patch was doing and nobody had an answer so I just made it remove less ;P
wdym
either remove only this
or don't remove anything and instead add a j = true somewhere
so like
match: /;!(\i)/g,
replace: ";$1=true;$1"
"add a j = true somewhere" 😭
actually wait no thats pretty good
im stupid
but
don't make it global
and keep the same match as before
match: /!(\i)(?=&&"CONNECTION_OPEN")/,
replace: "!(\i=true)";
this should work
replacement: {
match: /(!(\i)&&"CONNECTION_OPEN".+?}\))/,
replace: "$2=true;$1"
}
just use this ^ should be robust
agony
not a fan of relying on brackets and semicolons in your match
discord bundler is crazy
you see how it uses comma everywhere instead of semicolon
sometimes it will turn normal line by line code into 20 statements separated by commas
so don't rely on semicolons if u dont have to
yes indeed
this how it supposed to look
yes
that feels evil
we are evil here
pushed
Fix is in dev
ye i told her
in support
ayo
we can delete ClientTheme now
discord done added
deosnt work in settings tho lmfao
It’s still an experiment I think
Idk what the rollout is
I have a pr open for fake nitro support for it tho
perhaps not?
https://discordlookup.com/experiments
It’s a user experiment
yeah and that shows 0 rollouts for user experiments
or maybe it doesnt idk
just googled experiment rollouts

vtest dev
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
you will add migration from ClientTheme to stock custom themes
not really possible because it's nitro gated
user could have client theme enabled but not fake nitro
Just make a temp popup saying ClientTheme has been removed since Discord natively added the feature, see FakeNitro for more info
Or something like that
insane idea: just make the plugin enable fakenitro with all features disabled but that one
added side effect of users in the future seeing the plugin is enabled and complaining it isn't working the way they want it to (because the settings are turned off)
no idea how y'all actually wanna handle this
wait until 100% rollout at least though
insane
i personally keep fake nitro off because i dont need it because i have nitro and it can get annoying sometimes
“I personally keep FakeNitro disabled”
add a popup to buy nitro
add a popup to disable your discord account
v+ brain rot
Zero reason todo that
vibes were off
Mb gng
Discord's visual refresh made the hardcoded BlobMask size (40) not play nicely with the svgs viewboxes (or something idk). This fixes it by making BlobMask accept a size param and setting it to 48.
Reflects the way discord does it.
im not fully sure, i don't want to dig through this mess of react + html even more, but from what i can see by defaulting to 40 it sets width: 40px; height: 40px; and also chooses a different svg for the blob
is there no better way than to patch it
how complex is the component can we just remake it
hell no lmao
how does changing it to 40 use a different svg?
for starters you'd have to hardcode some of these svgs
if the component by itself doesnt accept a size
the component creates yet another component, which isn't exported
my patch lets me set m
and you probably wouldn't want to recreate v because it's this entire thing
fwiw i made a similar hack in the past for the same plugin and it was accepted
the component used for server icons which lets you put a badge in bottom right
(i.e. the ping circle)
I see
i know it's hacky, but it's probably less hacky than trying to recreate it would be xd
@fossil inlet take a look at this https://github.com/Vendicated/Vencord/pull/2446
Resolves #2431
Added package @vencord/discord-types
Migrated from discord-types to @vencord/discord-types
However, discord-types is still needed for WebpackInstance
Added FormattedMessage, useStat...
they made types for a lot of things already
i might use it as a starting point once i start working on updating the old types and typing what needs it; however, eveything there hasn't been touched in so long i would need to go over and double-check it anyways
(also it's fucking massive)
Hey all, I'm currently looking into https://github.com/Vencord/Vesktop/issues/1046 as a way to get my feet wet/
This feature is currently missing in the current stream menu and adding it seems as simple as just adding another switch to the screen picker but I am not sure how I can turn that toggle into invoking/omitting the event that notifies the server I have gone live
I was wondering if there are any resources I could use to read up on what I'm missing here/look around at what the different tools are available here
your best bet is to see how that feature works on stable and mimic it on vesktop
discord also recently updated their stream picker on desktop so make sure it even exists first
can we just make vesktop steal the stream picker component
true but i think the vesktop one looks cooler 
that sounds like it would break every five minutes
horrifying
very hard to do
webcontextmenus does this but it needs a bunch of patches to remove / replace native code that would otherwise break or even crash
it's less pain to just remake the ui, so that's what i did
idk I looked at it a bit ago and it seemed like fine maybe I was in the wrong function
we should move the core vesktop render patches into a vencord plugin so tags dont need to be made for fixes
actually no I think that wouldn't work with how vencord does its distributions cause if a change isnt backwards compatible with older vesktop builds it'd explode
move it into a loadable thing pulled from a github release
discord desktopify this shit
😭
review/merge 🥺
same
dont make it a toggle
done :heart:
scroll all the way down in the channel list so the server banner and boost stuff is no longer visible then it works again, im not kidding try it
they alr fixed it on canary
is it a discord thing?
i know the message is old but i thought ppl havent figured it out yet lol
ive seen someone say its vencord so i thought its some plugin breaking it
well they're wrong
Implemented Gradient colors:
- Member list
- Threads list
- Voice chat users
- Poll voters
Edited getColorStyle, getColorInt, getColorString and RoleGroupColor to handle variable colorStrings instead of colorString.
Added getColorClass & getPollResultColorClass to apply the required classes for the gradient to appear.
Edited patches to handle class modification
@austere talon could you review 3537 sometime soon

odds that could be grabbed with a findByProps
95%
Other plugins usually format their names like "TimezoneOnProfile".
I think this plugin can be very useful :+1: .
Perhaps it would be cleaner to use a built-in JavaScript function to retrieve all the time zones.
Something like this would be better:
const timezones = ["UTC", ...Intl.supportedValuesOf("timeZone")];
Perhaps adding CSS classes to allow themes to customize the dropdown and timezone text could be useful.
Other plugins usually use : vc-tzonprofile-dropdown
Either 2570 or 2239 was promised to be reviewed again, then it never came to be lol
Description
Allows Vencord to be used within the Safari browser, the submodule here is located at Vencord/Vencord-Safari-Extension, which is an Xcode project which bundles the buildStandalone chromium-unpacked
Preferably this should get merged once we get a proper workflow for uploading builds to Testflight/AppStore, along with an easy way to build this via command-line (script/makefile).
Notes
- Client theme w...
why do people do that
nah, i mean reply in general like their input actually matters
its a developer website its not really designed for you to go ahead and say that what the PR is doing is good, it isn't a review, it doesn't provide any insight it just notifies people for something that is just irrelevant
whenever there’s anything people are goIng to give their own input no matter the case
just like now, you gave your input on this particular subject but it’s not like it’s going to change so it matters as much as the input you’re referring to matters
i think, in general, it's not a good thing to say someone's input/ideas/opinion doesn't matter
won't really change anything and just makes someone feel bad
44f7cca MutualGroupDMs: fix member count label (#3541) - aamiaa
c55833d ShowMeYourName: fix gradient role compatibility... - verticalsync
93f28fe TypingTweaks: fix typo - Vendicated
1142cab Merge remote-tracking branch 'origin/main' into... - Vendicated
310d8e6 Fix ImplicitRelationships & RelationshipNotifie... - aamiaa
643122e Experiments: fix edge case in experiment rollou... - EtorixDev
a2173be Merge branch 'dev' into @vencord/discord-types - Vendicated
@vending.machine I'll start the nee types in a few days
@fossil inlet discord-types has been discontinued.
what
The vencord version still isn't ready
idk i felt like discontinuing something
this error is driving me crazy. doesn't happen on a fresh setup with @types/node and DOM so idk what's causing it...
node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts:28689:13 - error TS2451: Cannot redeclare block-scoped variable 'self'.
28689 declare var self: Window & typeof globalThis;
~~~~
@austere talon are you doing the new types instead? Or are you just doing some now
yappppp
alright, i'll make the changes if i don't pass out and fall asleep since it's nearly 1 am
I knew I forgot something! I even named this here correctly but forgot to change it in the code. My bad.
isn't that just timedones
All done! There was a slight tweak I made to the searching of the timezones that I thought would be useful:
I made " " and "_" equivalent. For example, America/New_York could be searched with new_york OR new york.
I think everything looks good overall.
There’s just a small issue when running pnpm test.
I’ve commented with the fix suggested by TypeScript so the tests pass (they currently fail for the whole project with the existing code).
My git diff after the automatic fix, if you want:
diff --git a/src/plugins/timezoneOnProfile/index.tsx b/src/plugins/timezoneOnProfile/index.tsx
index 1f5c4a21..f3589774 100644
--- a/src/plugins/timezoneOnProfile/index.tsx
+++ b/src/plugins/timezo...
115:45 error Expected space or tab after '//' in comment @stylistic/spaced-comment
//i don't really know if anyone is going to want these to be two different classes but better safe
must be :
// i don't really know if anyone is going to want these to be two different classes but better safe
193:26 error Strings must use doublequote @stylistic/quotes
replace: `!t.isProvisional&&(0,r.jsx)($self.TimezoneTriggerInline,{userId:t.id}),(0,r.jsx)("div",{className:"dotSpacer__63ed3"}),I((0,r.jsx)(s.Z,{`
Must be :
replace: "!t.isProvisional&&(0,r.jsx)($self.TimezoneTriggerInline,{userId:t.id}),(0,r.jsx)(\"div\",{className:\"dotSpacer__63ed3\"}),I((0,r.jsx)(s.Z,{"
src/plugins/timezoneOnProfile/style.css
18:28 ✖ Expected modern color-function notation color-function-notation
18:39 ✖ Expected "0.25" to be "25%" alpha-value-notation
box-shadow: 0 4px 12px rgba(0,0,0,0.25);
Must be :
box-shadow: 0 4px 12px rgb(0 0 0 / 25%);
Yes
Whats wrong with 0.25
Just eslint being bitch and wanting the more modern version
Added missing values to interface Guild, GuildMember and Role
- GuildMember: added flags, avatar decoration & values related to the new gradient colors
- Role: added values related to the new gradient colors
- Guild: future moderator reporting, guild.premiumFeatures moves some features previously in the "guild.features" set, as well as converting "MORE_EMOJI" , "MORE_STICKERS", "MORE_SOUNDBOARD" to a distinct number value.
ac5b3f2 remove toJS from subclass - Vendicated
@sadan4 should we just merge this as is for now to avoid inevitably running into more conflicts?
and then just make a second pr for updating the types more
8918c6c let's not mark this as nullable - Vendicated
I added an enums folder with real .ts files where we can export const enums for use in actual code. for now it only contains command enums (because otherwise we would have had duplicated types), but we could move more enums over
https://github.com/Vendicated/Vencord/commit/36acda0670a3299f372e87f702d011e6d79f26e9
z
Yep, fixed whatever pnpm test was angry with me about.
z
timedones
z
@sadan4 should we just merge this as is for now to avoid inevitably running into more conflicts?
and then just make a second pr for updating the types more
yeah, that sounds good to me
I say merge it now
but dont publish npm yet
improve the types first
then first publish
there isn't even a workflow for publishing yet
this error is driving me crazy. doesn't happen on a fresh setup with @types/node and DOM so idk what's causing it...
node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts:28689:13 - error TS2451: Cannot redeclare block-scoped variable 'self'. 28689 declare var self: Window & typeof globalThis; ~~~~
i'd hazard a guess that's its caused by this: https://github.com/Vendicated/Vencord/pull/3520/files#diff-b55cdbef4907b70...
... and the rest of the comment
github really needs some kind of reply feature
well yes it happens because I enabled libcheck again.
but we should have that enabled, without it enabled, ts won't check .d.ts files at all. that's why your changes to this branch had so many errors. i only disabled it nack then to work around this very issue
it's some incompatibility between whatever types packages we have, gotta figure out what exactly
cc989ff Run autofix to sort these imports! - Vendicated
so turns out the cannot redeclare const was cause some random file had a const self lmfao
https://github.com/Vendicated/Vencord/pull/3520/commits/73ab9928a7a947879cd7635f355000010055989f
looks like clienttheme is dead
is it an experiment?
or did the rollout go up
dev://experiment/2025-05_client_theme_color_picker
whoops, typo
meant to say still an experiment
yeah still is
i just searched up timedones, that was a funny github thread to go through
not lying
i just put quotations around "timedones" in google because i was like half certain it might've been a typo but there it was
i don't think my plugin will have that much activity in github
What happens when the bug or crash occurs?
aur/discord_arch_electron seems to install discord to /usr/share/discord instead of the normal /opt/discord, which the installer detects but is unable to patch correctly. Patching is reported as successful but running discord gives the following:
installing OpenAsar gives a different error but is fixed by copying build_info.json from /usr/lib/electron/resources/ into where it expects it. not a major issue
What is the expecte...
the point of commons is to provide common modules used by various plugins. this doesn't actually seem to be used by any current plugins so it makes little sense to add it
just have this find inside your plugin and if in the future more plugins make use of it, it should be moved to commons
I'll be closing this for now because Orbolay is a very niche / unknown project and it seems you already posted it to the unofficial plugin channels
Since users will have to run orbolay separately anyway, it doesn't take much more effort to also build Vencord with the plugin
I could perhaps see a feature where this could be natively integrated into clients like Vesktop though, to just require users to flip a switch. That seems much better than just making it a plugin. Orbolay definitely ...
why are these even separate prs
dc90643 refactor discord types into separate npm packag... - Vendicated
please just add this to the other PR
No worries! I will note that I was never able to post the user plugin in the Discord as my mod mail was never resolved.
I am also happy to help if, in some future, there is a desire to integrate Orbolay natively into Vesktop or other 3rd party clients :)
separate because i made one before the other and one has a lot more changes than the other
Where is the post in #1256395889354997771 ?
vee is hallucinating but it'll be there soon
v+ prog 221757857836564485
I once again ask for my prs to be reviewed 
pr review machine broke
Bad news corpo decided you have to replace the machine until it's back in function
better get to work
outsourcing to AI
21565f7 restructure settings ui files - Vendicated
This smells like merge conflicts for both my prs 
At least merge 3382 in there it's technically part of settings ui 
damn that might also effect me. I think I make use of openPluginModal
me too
I HATE CIRCULAR DEPENDENCIES
26c1204 this single line of code holds Vencord together - Vendicated
circular imports are too funny
We should really look into fixing this properly so we don't need to commit this atrocity
like why in the world does this have to be precisely here lmao
i tried adding it at the top of the api index.ts file but no dice
@fossil inlet @limpid tusk it's spicetify but vencord patches
i think you need to bring in the original license header or something
wait for v to wake up in decades and tell you he knows more about it
okayy
thank you
I was always planning to reorganize it that's why it's not a fork btw
I still am gonna do that at some point
nope
nope
guh
const [, , userProfileLoading] = useAwaiter(() => fetchUserProfile(UserStore.getCurrentUser().id));
6787e98 FakeProfileThemes: fix error when own profile i... - sadan4
I'm considering changing how settings work. I want to remove the Save button and instead make all changes immediately apply, to reduce complexity and because personally I don't think it's very useful to have
Wouldn't that require a restart for every single toggle though?
if you restart for every single toggle its just annoying
i think what vee is talking about is needing to click save instead of being able to just click out of the modal
not restarting after every change
I'm considering changing how settings work. I want to remove the Save button and instead make all changes immediately apply, to reduce complexity and because personally I don't think it's very useful to have
I like this idea. More often than I'd like to admit, I click out instead of clicking the save button, then wonder why nothing is working.
Stupit Salad™
can i please get a followup to this
const StickerExt = ["png", "png", "json", "gif"] as const;
Hi, the AUR version is not building, this patch does fix the problem:
diff --git a/.SRCINFO b/.SRCINFO
index c5f9c28..c1851f1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,13 +1,14 @@
pkgbase = vesktop
pkgdesc = A standalone Electron-based Discord app with Vencord & improved Linux support
pkgver = 1.5.8
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/Vencord/Vesktop
arch = x86_64
arch = aarch64
license = GPL-3.0-only
makedepends = pnpm
makedepends = npm
+ makedepends = nodejs-lts-jod
depends = alsa-lib
depends = gtk3
depends = nss
diff --git a/PKGBUILD b/PKGBUILD
index 8acbdd8..2e2da89 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,14 +4,14 @@ _pkgname=Vesktop
pkgname=vesktop
pkgdesc="A standalone Electron-based Discord app with Vencord & improved Linux support"
pkgver=1.5.8
-pkgrel=1
+pkgrel=2
arch=("x86_64" "aarch64")
url="https://github.com/Vencord/Vesktop"
license=('GPL-3.0-only')
depends=('alsa-lib' 'gtk3' 'nss')
-makedepends=('pnpm' 'npm')
+makedepends=('pnpm' 'npm' 'nodejs-lts-jod')
optdepends=(
'libnotify: Notifications'
'xdg-utils: Open links, files, etc'
Should I push it or you will do it later?
eek
i have no idea lol
tbh i wouldnt have noticed that until you pointed that out
Can't find @ covkie D:
in case you didn't know, discord has diff and patch formatting
@opaque silo
Ah!
@wary palm this channel is fine, but #🖥-vesktop-development is more topical
Ack
oh thats why it keeps autocorrecting to this bracket placement
i try to change it
its some weird lint thing iirc
what is your default formatter set to
where do i ccheck
command pallette>format document with...>configure default formatter
This code is very overcomplicated cause you seem to have just copied the code from the ExpressionCloner plugin. But that plugin is made to handle different expression types (Emojis & Stickers) so a lot of its functions are generic / made to handle both, which you don't need at all here
apparently i only have one even though i swear i have multiple
my installed extensions
i dont have that
are you on some ancient vscode version???
no
wtf
what version?
weird
how do you not have that
@shell shuttle go to your kebind settings and paste this in to the search box
what comes up
@command:editor.action.formatDocument.multiple
alr
oh theres an update
hold on
who be up
literally ntohing
lmao
me too
none of you understood the purpose of this array. it's a mapping of sticker type to extension. that's why there's an empty element (there is no type 0) and double png (png and apng)
Looks like it's only supporting png json and gif? I made this chart while figuring out how Discord's sticker system works while updating hikari's sticker support. Might be useful for you too with this plugin.
Also ?passthrough=false returns the first frame of an APNG
something something document it
oh then i was right about this before
i hadn't opened this code in months and thought that was an actual error when pointed out but no it was proper file extensions, will fix when i'm back at pc
what other format would you want?
as the diagram shows, png, gif, apng, awebp, webp, jpg are all the possible formats
though not for all situations. depends on the source
awebp and apng are weird in that in order to get an awebp instead of webp you need ?animated=true and in order to get a png instead of an apng you need ?passthrough=false. the whole system is wack
2.4k repos
of all things why fork the installer
Converts unsupported embeds to supported embeds
For example twitter.com (or x.com) get converted to fxtwitter.com
Current supports instagramm, twitter (x) and tiktok
Also gives the user the choice of which twitter mirror they want to use
why is the degen mirror included 
Yes but this is more convenient and easier for the user but I understand
people use it, so it would make sense to include it
but this plugin is most likely gonna get rejected
we don't need "girl cock" in a client mod
lel
but i do see ur point
I have a plugin that you can right click and replace embeds with custom regex like text replace like this
But I'm not bothering PR'ing any more plugins for now or I'm just gonna have a whole list of shit that could randomly pop up needing work whenever it gets reviewed
thought for a moment it would replace all embeds locally even on others' messages. that could be useful.
That's what mine does but it's not automatic because that endpoint is pretty heavily rate limited
so it install the personal fork instead of upstream
that's why i forked it personally
what endpoint
unfurl embeds
I refactored the Settings and removed the saving process
Would be useful if people could test it :+1:
also seems like shiki settings are broken with this
OKay
Okay, should be ready I think!
I need people to test this change and just play around with settings & plugin settings a bunch and make sure everything still works fine
on 14.2.1 and also having this issue, granting full disk access and running the command doesn't fix it
apparently running the binary from inside the app (show package contents > contents > MacOS) works
This worked for me and allowed me to get a working, patched with Vencord, Discord.app without granting FDA. Thanks.
Previous similar attempts yielded me:
“Discord” is damaged and can’t be opened. You should move it to the Trash.
This file was downloaded on an unknown date.
S...
lol
You should move it to the Trash.
44f7cca MutualGroupDMs: fix member count label (#3541) - aamiaa
c55833d ShowMeYourName: fix gradient role compatibility... - verticalsync
dc90643 refactor discord types into separate npm packag... - Vendicated
a17803c Settings: remove outdated style (#3490) - Covkie
8e446e4 Online Themes: fix & improve ui - Vendicated
@toxic horizon please avoid such comments they unnecessarily send out email notifications to everyone that has once interacted with the PR and just clog up the thread
i comepletely forgot about this pr lmao
it has a couple unresolved reviews from a year ago 
Rename to allowlist to be more inclusive
- **Allowlist**: You will be mentioned if any of the userIDs added to this reply to you, regardless of their ping setting or your ping setting. Formatted as comma seperated IDs, e.g. `145224646868860928,1017176847865352332`.
what in the emote spam is this
Knowing inbestigator prolly some SelfApp
brainrot
If you want "inclusive" use the terms include and exclude 
Industry standard 
@jagged reef please avoid such comments they unnecessarily send out email notifications to everyone that has once interacted with the PR and just clog up the thread
vencord uses whitelist everywhere, it'd be inconsistent to use "allowlist" in a specific plugin and whitelist everywhere else so it should remain "whitelist"
I feel like if it would fit as a change, it would be a global refactor
actually we are half woke ykyk
No?
those are definitions from discord it'd break if it said whitelist
actually if we overwrote any attempt at accessing them with a proxy to redirect whitelist to allowlist it would not break ykyk so it is possible to be unwoke here we are wokifying
by choice ykyk
(ignore im just being stupid)
but then you'd still have to write allowlist so there'd be no point
don't worry you're always like this
rudee
am I stupid ? blacklist and whitelist are racist??
i thought it comes from darkness being associated with bad things like the night
making a term racist because it has the word black in it is a bit 🥴
yes
same people who invented "latinx"
"blackout" is racist
its ALMOST as if it were called blackout because if there is a blackout you have no fucking light so it's dark AKA BLACK
IFJOsdjiofsjiodgjiodgjoisdjio
hey can you stop spreading anti-woke rhetoric please? its really shining a bad light on you
who tf says white box though
Sorry, what is that supposed to be?
gender neutral form of latina/latino
I see
(actual latinos use latine has a neutral word but its still rly uncommon)
hey @austere talon shutup
basically black box testing is when you test an interface / public api - i have this class that has this method and I need to make sure this method works and everything else idc about
white box testing is when you test your specific implementation, possibly including internal methods
I've literally never heard anything other than blackbox
I'm not woke enough
this is so hilarious they just flagged everything that includes black/white as racist completely ignoring the context
honestly more racist to do that than the actual words
@opaque silo u dummy
Yeah honestly calling someone latinx sounds more racist than calling them the wrong nationality
you should be called a dummy the way im about to mute you for a month @opaque silo
bro their site sucks ass on mobile
i shared my password pls respond
send them an email telling them their poor mobile support is ableist because you cant use a pc due to your disability
LOL
also ageist because the font is too small
wow... i never would have thunk you are a raging racist...
using "statue" is culturally appropriative
uh no my best friend is Chinese I have the pass
Inb4 they add "blue checkmark" as derogatory term instead of "X premium user"
We already have "X premium user" as a derogatory term for "X premium user"
Do we really need another
good point tbh
Name: LaliluleNO
Author: Me (AKA Duckouji)
Description: This plugin replaces any blacklisted words (separated by comma) with "lalilulelo" on the client-side
(Blacklisted words are configurable, but by default they are: gregtech, gt, gtnh, greg)
mm i love compiling regex every time a message is loaded
it’s review time
hopefulyl I dont explode nobody's computer
Content
Can the hideAttachments plugin have more functionality such as.
Being able to turn on/off all the media but I can only hide the media if I turn it off one at a time.
Filters to certain files.
Request Agreement
- [x] I have read the requirements for opening an issue above
Should've figured making post changes would get my PR closed lol
is there a wait period before I can submit a PR again?
(I'll be throughly testing my plugin to be sure I dont need to make changes again xd)
This table has rewired my brain....
Closed because this is not useful / seems like an inside joke, and mutating real data in place like this is very bad
If you actually want this, you should add affecting all messages as a feature to the TextReplace plugin and implement it without mutating discord's data
Thanks for the explanation
this is not useful / seems like an inside joke
this plugin was heavily inspired by inside jokes (as seen from the default parameters) but its more a "Streaming Mode+" than just a silly plugin, its actual intended use is to replace "bad words" with something silly (currently lalilulelo as referencing Metal Gear, but it would've been configurable eventually).
you should add affecting all messages as a feature to the TextReplace plugin
I don't think thi...
index.ts: Lines 103-119
async MESSAGE_CREATE
({ guildId, message }) {
if(Vencord.Plugins.plugins.GoodPerson.settings?.store.incoming) {
const msg = message;
// @ts-ignore
let newMessageContent = Vencord.Plugins.plugins.GoodPerson.replaceBadVerbs(Vencord.Plugins.plugins.GoodPerson.replaceBadNouns(msg.content));
if (message.content !== newMessageContent) {
newMessageContent += "\n-# :husk: **GoodPerson made this message good. Reload your client to clear changes**";
msg.content = newMessageContent;
FluxDispatcher.dispatch({
type: "MESSAGE_UPDATE",
message: msg,
guildId
});
}
}
},
The choice of filtered words seems sided from a particular perspective haha...
The only form of this plugin that would be accepted is as an addition to TextReplace
This way users can change whatever text in the app they want with their own replacement
there seems to be a bug w the allow sources for themes, 2 ppl already cant click the button

banning kotlin is probably the funniest thing here
kolti*
Cloudflare Tunnel error
vfjd?
Yes (HTTP Status 530)
vh fjd
Command fjd not found.

vh fjd?
Forgejo-down? (fj-down?, ifd, is-forgejo-down, fjd?)
Check if Ninos Forgejo is down
vifd is way easier to remember why do i use fjd?
lmao
Yes (HTTP Status 530)
@fossil inlet, <t:1751243812:R>: make a proper no stupid titlebar plugin with patches instead of css that doesn't hanndle 10000 edge cases
vtest
What does vtest mean?
it means 💢
so you're just not supposed to have multiple pinned sections or what??? why do you even have the option to do so then
use our support channel instead of necroing old invalid issues.
okay i can reproduce this even with no plugins enabled
which required plugin is responsible
on canary, what button are you talking about
discord uses that icon in mutiple places
i can only think of messagepopoverapi
@limber skiff looks like messagepopover api broke
try pnpm i
if that doesn't fix it, that's weird
works thanks

i cant believe cookies would forget pnpm i
ed5ed4b Allow users to manually whitelist Domains for u... - Vendicated
a366693 ServerInfo: rename "Nitro Boosts" -> "Server Bo... - Randomuser8219
b35b72c Translate: Make translation more readable (#3252) - T1ckbase
2a39898 fix: correctly allow resources from localhost - Vendicated
78d3330 make Open Themes/Settings folder properly open ... - Vendicated
Now testing! 
vtest dev2
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
@limber skiff what is the crash with experiment names
i tried to find it earlier but was not able to
ill send u in dms
vtest
Now testing! 
OnePingPerDM (took 5.4ms):
ID: 974180
Match: ```
/sound:(\i?\i:void 0,soundpack:\i,volume:\i,onClick)/
**__PlainFolderIcon (took 6.3ms):__**
ID: `199540`
Match: ```
/(?<=.folderButtonContent]:(!\i))/
Seems like everything is working fine (for now) 

shit ass patch
why does it want so much to be special
oh wait does settings mostly look the same @austere talon
is it just a code refactor
yes
the only noticeable change is that the saving stuff is gone and everything saves immediately
besides that it's only a big refactor and cleanup
is the saving debounced?
yes
i thought of that dw :P
the main point of the PR is to make the code more maintainable
rn it's a big mess and every time i have to change something it makes me wanna die
i moved this
it used to be in BadgeAPI
and removing it from BadgeAPI broke everything
we made so many workarounds because of those circular dependencies
BadgeAPI literally held Vencord together, I talked about this in the past
now I moved it to the entrypoint
Top tier comment
lazy 
yeah I didn't wanna touch too much unrelated code in this PR
I didnt even know badge api had that
i only knew cause some fork tried to remove it
and then everything broke so they added it back
😭
it's cause index imports api which imports badges
was it even on purpose
i just moved it to index
or just a coincidence it was there
it was just to access the Badge plugin lol
I should try building vencord with rspack again
It was fun last time
so what's the reason to export switch if we keep directly importing it
fwiw ive been using the past few days with no issues
so it's on the window
used by vesktop and maybe other things
what about plugin badge and donate button
generally all useful components should be re-exported
arguably those aren't that useful but it doesnt hurt to have
other nookies reacting to my messages
in that case I'll make sure all places they are imported use the direct import and not the re-export
since most components are being directly imported



it works
to be faster
