#๐พ-core-development
1 messages ยท Page 52 of 1
@austere talon you should make pnpm lint:fix a precommit hook
how about a github action that runs it on PRs?
fix ur setup to show problems inside ur ide and you won't have a need for this
hmm why else did u bring it up then?
cause some people are not aware of it
and make files w/o the licence header for example
its just annoying to open a file and having your eslint rules shout at me for smth I did not do
this makes me want to do one of the two:
- format the file myself
- disable eslint cause it doesnt help me
I get your frustration but pre commit hooks aren't the correct solution
Pre-commit hooks are a waste of time.
Why? Because they enforce standards too early. Pre-commit hooks make us wait for a quality check on every commit.๐
The code shouldn't need to be "right" to save my changes.
The code only needs to be right before merge.
Solution? Use CI.
2608
258
this threads sums it up pretty well
mm
Solution? Use CI.
we already do
yes
its only code formatting tho
This request is extremely simple in concept. All I want is for Fakemojis to look like real emojis, similar to the plugin for Vendetta aptly titled Realmoji. The biggest benefit to this is the ability to send multiple emojis in the same message, or a mix of fakemojis and text, something that is nigh-impossible with the current implementation. Would this be possible for a future update? Thanks, I love Vencord! :D
this is already a setting, just enable it in the plugin's settings
So you push wrongly formatted code, ci formats it for you, you don't notice and keep working on it and later face a nasty merge conflict from all the formatting changes
guh
gulp
h
omg
ohhh wait i know the reason WebContextMenu borks
i can fix the 638525 warnings
but not the 759725 one
discord has two nearly identical modules
note how they're nearly identical but not quite lmao
759725: (e,t,n)=>{
n.r(t);
n.d(t, {
default: ()=>u
});
var r = n(785893)
, l = (n(667294),
n(18094))
, o = n(971402)
, i = n(120415)
, a = n(480657)
, c = n(473708);
function u(e) {
var t = e.href
, n = e.textContent
, u = e.onSelect
, s = (0,
a.Z)(t, n);
return i.FB ? null == s ? null : (0,
r.jsx)(l.Menu, {
navId: "image-context",
onClose: o.Zy,
"aria-label": c.Z.Messages.IMAGE_ACTIONS_MENU_LABEL,
onSelect: u,
children: (0,
r.jsx)(l.MenuGroup, {
children: s
})
}) : null
}
}
,
637810: (e,t,n)=>{
n.r(t);
n.d(t, {
default: ()=>s
});
var r = n(785893)
, l = (n(667294),
n(18094))
, o = n(971402)
, i = n(120415)
, a = n(893516)
, u = n(480657)
, c = n(473708);
function s(e) {
var t = e.src
, n = e.onSelect
, s = (0,
a.Z)(t)
, f = (0,
u.Z)(t, null);
return i.FB ? (0,
r.jsxs)(l.Menu, {
navId: "image-context",
onClose: o.Zy,
"aria-label": c.Z.Messages.IMAGE_ACTIONS_MENU_LABEL,
onSelect: n,
children: [(0,
r.jsx)(l.MenuGroup, {
children: s
}), (0,
r.jsx)(l.MenuGroup, {
children: f
})]
}) : null
}
}
,
uh ig i can just only match return i.FB?
what do you want to match?
guh
crying, sobbing, balling my eyes out, spaghetti falling out my pocket
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
None
Cannot use SettingsStoreAPI without setting as dependency.
LET'S GOOOO stupid web context menu errors gone
cannor use settingsstoreapi
how about you .trim() the discord errors?
I was matching return i.FB ? (0,r.jsxs) which works fine on the second module but not the first
this works fine in reality because discord doesn't use the first module, but for the ci tester I just force load every single chunk discord has
So it tries to patch the first
for the other broken one I was able to just change the find to only find the correct module, for the one I shared I had to adjust the match
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
None
Cannot use SettingsStoreAPI without setting as dependency.
yay!
UserBG is a plugin that I would like made for vencord. It is already in a lot of other discord mods plugins on desktop and mobile.
isn't that alr a plugin
already a plugin โ๏ธ
inb4 chrome user
oh i thought they rolled them out
"USRBG" is what the project is called
but thats just pronondb
nah I just patched that shit 

the issue was that if you search userbg then the plugin does not come up and in the official discord they call it userbg instead of usrbg
why do you turn it into a regex? just use msg.content.replaceAll(rule.find, rule.replace)
Affect everyone in a voice channel with just a click.
https://tharki-god.github.io/BetterDiscordPlugins/VoiceChatUtilities.plugin.js

The linked PR is implementing your idea.
horror tharki plugin
but betterdiscord plugin called it usrbg 
maybe hide the delete button the last (blank) entry cause u can't delete it anyway
this is almost the same as above, you should extract it into a component to not duplicate the code
you should make a type for these instead of using any
type Rules = Record<"find" | "replace" | "onlyIfIncludes", string>[];
Currently people using a screenreader cannot tell what this button does, you should add a title to the svg
<svg width="24" height="24" viewBox="0 0 24 24">
<title>Delete Rule</title>
this is bad because you're harcoding white. What if the user is using light theme? Just use Discord's Form components
<Forms.FormTitle tag="h2">Using String</Forms.FormTitle>
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
None
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
Cannot use SettingsStoreAPI without setting as dependency.
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
None
Cannot use SettingsStoreAPI without setting as dependency.
nvm
whats up? @cunning canyon
:3 sorry for so much review
sometimes i feel like im annoying with how many changes i request 
ah it just complains possibly undefined after add type Rules, now i'm adding if everywhere
wait wdym
then u typed it wrong 
this then i add | undefined to the type and then it says possibly undefined everywhere without if()
oh
you can fix that by using js features better
foo = bar();
if (!foo) {
foo = {}
}
this is kinda bad style
foo = bar()
?? {
...
}
do this instead!
same thing but better
That was a month ago. He give up?
@austere talon how to do these two
const STRING_RULES_KEY = "TextReplace_stringRules";
...
DataStore.get(STRING_RULES_KEY);
as for the former, just a react component
are u not good with react?
i dont know react 
lmao
its really easy
to make a new component, just make a new function (with upper case name) and put the code in there
then you can pass props to ur component
interface MyComponentProps {
text: string;
onClick(): void;
}
function MyComponent({ text, onClick }: MyComponentProps) {
return <p onClick={onClick}>{text} (please don't put a onClick on a p)</p>;
}
<MyComponent text="hi" onClick={() => console.log("hi")}/>
like this
btw why dont ui make these empty arrays @cunning canyon
is there any reason they need to have enelement
is it so settings always has at least one element
<path fill="var(--status-danger)" d="M15 3.999V2H9V3.999H3V5.999H21V3.999H15Z"></path>
<path fill="var(--status-danger)" d="M5 6.99902V18.999C5 20.101 5.897 20.999 7 20.999H17C18.103 20.999 19 20.101 19 18.999V6.99902H5ZM11 17H9V11H11V17ZM15 17H13V11H15V17Z"></path>
then it like this
yeah ok
never hardcode colours unless u have a good reason to (like hardcoding spotify colour would be ok)

it will look terrible on themes that change colours
god why do u use a table
makes it painful
table is really bad you should never use it, unless you have an actual table
i still have no idea what this does @cunning canyon
i understand / and the flags
but why are you matching ~a~ as regex "a"
that's weird
anyway it's almost good now
I would just add some further instructions, like maybe a link to regex cheatsheet, how to use flags, the fact that u can surround in spaces for full words, etc
lol idk i just found it somewhere on internet 
horror
Well it matches /a/g but instead of / you can also use @ ; % # '
I would just change it to /\/?(.+?)(?:\/(gimsuy))?/
i changed to .match(/^(\/)(.*?)\1([gimsuy]*)$/)
btw maybe we can add Javascript replacement
so this also match string right?
hmm but now flag part possibly undefined
So you can make a rule like this
find: g<(.+?)>
replace: javascript:(_,q)=>"https://google.com/search?q="+encodeURIComponent(q)
g<read if cute^-^/> => https://google.com/search?q=read if cute^-^%2F
Why's that an issue
tbh i think flags are useless to have
nah just need to change a bit
maybe m but other than that I don't think flags are useful
what do you think about this
would be easy to do and make it more powerful
idk about that thing
you can also get people to put malicious code in there but at that point might as well use the console instead
i dont understamd this but it looks cool
Hello, my idea is to add outline or background for nicknames in channels so you can see darker nicknames on black/amoled themes (or vice versa, bright on white).
example:


above example was made with simple css text-shadow:
text-shadow:-1px -1px 0 rgb(...
Adds additional cosmetics to staff of discord servers, depending on the permissions.
-Administrator Tag (or Gray Crown)
-Management (Channel, Roles) Tag (or Bronze Crown)
-Thread Creator Tag (or Gray Crown)
Since this has been requested before, I just wanted to say that it would be cool to also have the crowns for staff of discord servers, as there is one plugin that adds a gold crown to only the owner but not anyone else.
A similar plugin exists for BetterDiscord:
https://better...
there is already MoreUserTags plugin, just not crown
i switched from bd to vencord and i love it so far, but i miss having the complete timestamps.
here's the bd plugin: https://betterdiscord.app/plugin/CompleteTimestamps
ty :)
Discord is releasing the markdown stuff, this is ready to be merged
You will not do any temporary fix, also bad bad stuff modying the premium type
modying
they aint changing how it works though
how else would they fix the undecillion security issues
I meant they arent adding or removing anything
the current plugin version will work fine
I didnt have to edit the plugin to make it work with masked links lol
wait so what did you change
they use the exact same implementation, expect they change the children option to be the masked text
before the children option would be the link url
I had to make it work with headers and list stuff
recursively
let me show you
- https://cdn.discordapp.com/emojis/1024751545037889566.webp?size=44&quality=lossless https://media.discordapp.net/stickers/1075075140666282036.png?size=160&name=sobb
- https://cdn.discordapp.com/emojis/1024751545037889566.webp?size=44&quality=lossless https://media.discordapp.net/stickers/1075075140666282036.png?size=160&name=sobb
how does this look for you
(i dont use fakenitro
)
I would for sure use at least the transformation options
no reason to not have them on
other than to insult fakenitro users 
๐
this is how you do package.json'ing
also why is modifying premium type bad?
how else would I add a banner that looks not ass in bandager?
OH COME ON I THOUGHT I FIXED THAT
premiumType controls what features you have access to
you can easily break stuff modifying it
but only modifying it on the profile popout is okay, right?
maybe i won't also have to hardcode accent colors that look like dark theme
I don't want to look at discord src code rn
(setting premium type also sets accent colors on popout)
but it as simple as literally patch the line that checks for the premiumType when doing the banner
unless they render a completely different profile component for premium
in that case you can still force render that profile without changing the premiumType
so glad my naming is ass
wait
this is the wrong place

jesus discord code is giving me a headache
react devtools time
oh right
they exist
HOLY WShiT ITS VEN
+1, i could offer Czech and Slovak translations
Currently the strings are hardcoded in English :P
if i donate $100 do i get 100 badges
(in what situation do people need more than 1 donor badge)
it's actually a donor tier
has always been
someone requested it yesterday so I had to make it
completely forgot about it beforehand cause noone ever asked for it

meow badge
wish the webhook would just say what github says
:P
im trying to regularly bump it because last time i had to do some horror merge conflict with 100 commits
this is so sad can we hit 2 shiggys
how are the reactions seperate??
different emotes
ah, that would explain it
erm
erm
it looks like this idk how to find
take any string from that module that is unique
i tried ".bannerSrc," in patch helper it looks replaced at right place but in code it doesnt work
how big is that module
var t,
n = e.user,
o = e.displayProfile,
f = e.bannerSrc,
d = e.onClose,
_ = e.guildId,
O = e.profileType,
g = void 0 === O ? G.y0.POPOUT : O, S = e.allowEdit,
A = void 0 === S || S, b = e.showPremiumBadgeUpsell,
P = void 0 === b || b, x = e.isHovering,
k = e.animateOnHover,
M = q(i.useState(null == (null == o ? void 0 : o.banner) ? X.COMPLETE : X.SHOULD_LOAD), 2),
w = M[0],
V = M[1],
F = (0, u.e7)([I.Z], (function () {
return I.Z.getGuild(_)
}
)),
H = (0, u.e7)([y.default], (function () {
return y.default.getId()
}
)) === n.id && A,
Y = R.ZP.isPremiumAtLeast(null == o ? void 0 : o.premiumType, B.p9.TIER_2), //here
z = q(i.useState(!1), 2),
Q = z[0],
J = z[1],
$ = (0, u.e7)([T.Z], (function () {
return T.Z.isFocused()
}
)),
ee = m.QK.getSetting(),
te = k || !ee ? Q : $,
ie = (0, l.useToken)(c.Z.unsafe_rawColors.PRIMARY_800).hex(),
oe = (0, l.getAvatarSize)(l.AvatarSizes.SIZE_80),
ae = (0, s._i)((0, p.ZP)(n.getAvatarURL(_, oe), ie, !1)),
se = (0, E.Z)(null !== (t = null == o ? void 0 : o.primaryColor) && void 0 !== t ? t : ae).hsl,
ue = (0, C.e7)(g),
ce = null != f ? f : null == o ? void 0 : o.getBannerURL({
size: ue,
canAnimate: te
}),
le = null != ce;
is there not more
more
look at the whole module, find a unique string along it
try like .profileType or .displayProfile though they probably aren't unique
ok .displayProfile, works
Server Details is a pretty useful plugin that i like using to keep track of when i joined certain servers or to see who the owner is, could it be maybe available as a plugin for Vencord too please?


this makes every message shift to the left shortly after sending, you should trim at the end
ur original find found 5 different modules. I recommend u use the Vencord Companion extension to test ur patches!!
or just get gud
maybe we should put this behind a flag/setting
cause potentially unsafe
but it's really cool because then u can do stuff like this
this is the rule
Just use the favorites experiment discord offers.
That is a nice replacement for now, but PinDMs is a much needed feature.
pin dms could use some upgrades!
like multiple pins, naming pins, colours ect..
Your screenshots show it above roles but for me it's below the notes box for some reason
I went ahead and renamed the plugin from QuickConnections to ShowConnections to have the same name as the BD plugin (and imo be more self explanatory)
awesome thank you, very cool plugin :3
I'm still not sure if adding javascript rules is a good idea, seems like it could lead to security issues somehow
This is cool but the very janky animation is kiond of terrible, we should get that fixed before merge
5b48580 Plugin Settings: Better margin for plugin setti... - LordEliasTM
0433819 ReviewDB: make warning review disableable; add ... - mantikafasi
isPluginEnabled("FakeNitro") || (UserStore.getCurrentUser().premiumType ?? 0) === 2;
I didn't know
cloud in the userscript is still broken
```
00:15:29.994 injected.js:1 Uncaught TypeError: Cannot read properties of null (reading 'node')
at injected.js:1:3766
(
although the prompt to authorise does show up, it fails after hitting the button
do i care this has probably already been reported: no
Good.
womp womp
violent๐ bug

click at the stacktrace location
it's literally not our code
06cee75 PlatformIndicators: Fix layout reflows 2: Elect... - Vendicated
168d4b4 PlatformIndicators: Fix layout reflows - The tr... - Vendicated
i wish i knew how to properly word an issue on the VM issue tracker, but there seem to be some similar issues that are supposedly fixed (notably, https://github.com/violentmonkey/violentmonkey/issues/1578 )

another issue i found while searching was one where the workaround for the issue at hand was closing the editor when a page was loaded
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
None
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
None
Cannot use SettingsStoreAPI without setting as dependency.
would it be out of the question for a setting in supporthelper to allow the use of /vencord-debug in any scenario instead of being locked to #๐ฅ-vencord-support-๐ฅ
and with that thought for the day, im off to bed
eh sure
we could just remove the restriction
(i actually went for a piss) the reason i say a setting is so randoms dont just flood general with it
but u2u ยฏ_(ใ)_/ยฏ
I'll just ban them 
uh maybe yes
This looks awesome. Is there any further work that needs to be done on this and is there an ETA on when it will be merged?
Yes, there is. Currently, it uses ur entire system audio (including discord), which means viewers can hear themselves in your stream. Additionally, currently it's not possible to customise resolution & fps. And the ui also needs to be improved
u did a very bad thing because u used forceRerender every time the user typed a char in the input box
so u always rerendered the entire ui which made typing really glitchy
i changed that cause yes 
lol
like
it would randomly push the text out of screen and stuff
and move ur cursor
just horrible
not really ur fault, using datastore reactively just sucks
todo: delete fxtwitter, NoCanaryMessageLinks now that text replace is real
also probably make a channel where people can share rules
.
this is why I added js rules but yeah mm seems too abusable
๐ตโ๐ซ
mayhaps do a special migration to add those specific rules if those plugins were enabled
so people dont mass spam support "why no work" 
i mean they will anyway but w/e
- FakeDeafen
- Show that you are deafened to others, while in reality you can still hear them. It's also possible to fake mute and fake video.

- Possible links to any existing plugins for other mods that could be used as inspiration!
- Token
- Get an option to copy your token by right clicking on the home button. Do not share your token.

- https://tharki-god.github.io/BetterDiscordPlugins/Token.plugin.js
-
Translator
-
Allows you to translate Messages and your outgoing Messages within Discord
-
Translate Message Option:


-
https://mwittrien.github.io/BetterDiscordAddons/Plugins/Translator/Translator.plugin.js
Im sorry but ew.
[(click to see attachment)](#๐พ-core-development message)
is there a rule 9 on github
oh
me when discussions have to be different
So, do I have to use Better Discord to use this?
BD has a similar rule. Just.. don't use it.
Let's fight the YT videos that promote this nonsense
Then I'll have to write a BD
Why are you so obsessed about snooping on other people talking anyways?
for me it doesn't work but goodjob:)
I don't know why I tried 2 times but it didn't
most sane vencord android user
gggg
this is really pointless. Getting your token is really not a common enough demand to be useful as a ui entry and will just get people scammed
most useful tharki plugin
clearURLs is a great plugin, but the set of predefined rules is quite small, it'd be nice now that plugin configs exist, to be able to add custom rules as described in https://github.com/Vendicated/Vencord/blob/main/src/plugins/clearURLs/index.ts#L48 :)
perhaps something that isnt useful in the moment can be a day later? idk personally i was very disappointed when i found out vencord logger deletes logged messages after restarting discord. also irritating how there's no actual log but that makes sense cause ur only gonna have like 10 max logged messages at a time probably
well for the sake of user privacy, it's good that it does not store logged messages. if a message is deleted, it's usually deleted for a reason.
mayhaps clearurls #๐พ-core-development message could be migrated to textreplace too 
Your screenshots show it above roles but for me it's below the notes box for some reason
I changed it intentionally.
I will contribute something someday
make 5 alts
not really
too complex
I changed it intentionally.
Oh I see, I'm sorry for changing it then (though I personally like it better where it is now)! :(
We could perhaps add a setting to change their location if you care?
Hello, this is my first time using Vencord and TS, I would like to know if it possible to create a custom plugin and import it in the Vencord firefox extension ? 
I do prefer when discord is not directly in my system being able to spy my processes etc.
you can build for web browsers from source by following the normal process and then pnpm buildWeb
or if you'd like a discord client that can't spy on your processes theres https://github.com/Vencord/Desktop, which is the web version of discord running in electron that keeps full vencord functionality
thanks, I'll take a look at that 
this is equivalent to using it in the browser because the native part that has OS access is fully open source and discord only runs in the browser process
as for developing in browser, I do not recommend it
recommend in the desktop client or Vencord desktop
or set up web-ext or smth if u really wanna use browser but it's kinda meh
honestly, we should start using vite, there are so many useful plugins available for it
one of them is hot-reloading a browser extension
you can't really hot reload vencord
you are missing the point
Any idea why this might happen ven
the browser requires that you reload the extension
that is one annoying step
that the discord client does not have
but the extension has
by hot reloading, we also reload the extension
which enables you to just reload the page and it would be updated
according to the other, a plugin is using it w/o setting a dep
good for leon
oh wait that's a vencord error right lmao
just have to enable it in settings too
u can remove the required if u just enable in settings
true
I just made everything required cause it was easier than messing with settings
I kept just to be sure
It works both ways! I thought it was more consistent without the heading.
I went ahead and renamed the plugin from QuickConnections to ShowConnections to have the same name as the BD plugin (and imo be more self explanatory)
Connections are already shown, but i guess this works!
@lime stone betterdiscord users are really stupid
prob
we got a lot of them from ntts video and they keep complaining that vencord doesn't have image utilities plugin
even though we do, just split into multiple plugins
case in point if you don't give it the same name as the BD plugin they won't find it 
we should add tags to plugins that will also be used for search
So we can give plugins the betterdiscord plugin names as tags
@lean elm is this the right place
idk if it's directly under the username or after the status
it would be at the right place if Ven merged my proper fix, that i submitted a month ago
is that the right place?
should be, but that left margin is off
i think so
do you want me to send you the new patch

you could fork my fork lmao
do you want me to merge your pr
yes please 
there you go
None
None
None
None
is my favourite error
thx
textreplace rules channel when
@limber skiff Wanna merge this too? ๐
https://github.com/Vendicated/Vencord/pull/821
nop I sleep
lol what's ur time rn?
aww lol
the settings menu now with all the tag options is a mess. 2 options for every tag, and it doesn't even look good
what about remaking it with a custom component? so the settings are in one place for the tag, and they dont look like ๐ฉ
i'll probably make it and open a pr on the fork
well yes
Agreed, didn't like how messy it is either. Double fork sounds good ๐
any reason why this isnt exported?
@austere talon it's off-centre now
as a base i'm thinking like
LordEliasTM/Vencord#1
also can i just add #811 here :trollface:
also can i just add https://github.com/Vendicated/Vencord/pull/811 here :trollface:
Sure lol
e999208 EmojiUtility: Fix opening emoji sheet from reac... - Juby210
a5e317c Build e99920807ccf26f9160f24786778df44d622faa2 - actions-user
aliucord jumpscare
c6196df [skip ci] PlatformIndicator: Fix 1px misalignment - Vendicated
On BetterDiscord, there was a plugin a lot of us used and loved called "AssignBadges". I'll link the .js below. https://github.com/QWERTxD/BetterDiscordPlugins/blob/main/AssignBadges/AssignBadges.plugin.js
Basically, the job of this plugin was to allow users to add badges to themselves and others by right-clicking on their names and adding whatever badge said user desires.
when discord has a memory leak so you get the OOM
(chances of it being vencord? I'd say low, it mostly happens when the dev-tools are open)
Oh yeah, I got one more thing
this did not cause discord to crash
just thought I would share it here
I guess the Garbage Collector collected smth it shouldn't collect?
@austere talon
naruhodo
does vencord desktop work the same way when developing plugins?
ig and when discord crashes due to OOM
really weird that a 32bit browser has a hard limit on 2gb instead of 4gb
hmm
ig I have to link vencordDist with the dist folder?
no
is there a way to customize where it loads the bundle from or do I sym-link shit?
2gb = [Integer limit] bytes
unsigned 4, signed 2
yeah
but anyway it's a hard chromium 32 bit limitation
they'd need to rewrite the entirety of chromium to support more than 2gb ram on 32bit lmao
btw is there a way to make a tooltip? Like hover over a ? and it shows some box with a tooltip
discord somehow does it
thx
I need answers
open vencord desktop settings
from what I see vencord generates all those files, so it should be safe if I symlink
symlink works but vencord desktop has a setting to change location
oooh, yeah now I see it, I was looking like an idiot up here
oh yeah it's not there cause vencord desktop code is an entirely separate codebase
and I want to mix their code as little as possible
it could be exposed as a global and vencord could detect it
but yeah I agree
๐
**settings.tsx: **Lines 130-134
IS_VENCORD_DESKTOP && {
section: "VencordDesktop",
label: "Desktop Settings",
element: VencordDesktop.Components.Settings,
},
@austere talon oh yeah, exporting settings does not export the datastore
so plugins that use it will uhh, not have their data backed-up
im not saying that cloud backup should have this, but exporting to a file definitely should
not really possible cause DataStore isn't guaranteed to be serializable
we'd have to add a method that plugins can add to add a custom settings serialiser & deserialiser
hmm
this shouldn't be too hard
@ActuallyTheSun i made use of tooltips. The description right under the name looked a bit off

um ima dev frfr
no eta
None
None
None
None
- What should the plugin/feature do?
It should allow adding a blacklist of words to block/filter with possibly wildcards and regex support, applying to all statuses and messages.
-How does it work?
My idea would be to run all statuses and messages through a generated regex, based on the wordlist + settings given by the user, and based on a regex the user might also provide, but I would suggest using a similar system to whatever the ChatFilter better discord plugin uses, linked below.
-Any...
i presume running regex on every single message would tank performance or something
but vencord patches are light so idk
discord already does for their parser
it's fine as long as u don't make slow af regex
oh they do

oh for like automod shidd right hm
average vencord user carefully crafting the slowest regex you have ever seen
true
naaaah their markdown parser uses regex a lot
ah
they use a thing similar to vencord find
How to repeat:
- Enable open links in app
- Click the download icon on any form of media and nothing will happen
None
None
None
yopp
None
None
None
love
If you need to properly integrate with discord's gif/sticker/emoji picker, you can copy our patches from #992
That way you won't need to open a modal, and it would look better.

Just make sure to not have conflict with our plugin.
I can help you modify the patches if you want.
Discord Account
Mylloon#5921
What is it that you'd like to see?
Sync rules for the TextReplace plugin
Depends on #696
Related to #615
Request Agreement
- [X] This is not a plugin request
did anyone ever work on this
nope
btw @limber skiff
commits that don't change anything for users like your most recent one should start with [skip ci] so they don't trigger an update
no but we just talked about it again today
nice to know
yeah I was wondering which ci though lol
ci = continuous integration = all of our workflows
I dumb
it will also skip test workflow but it's whatever assuming u linted
even on pr?
nah
๐
I meant for testing before being able to merge
cuz I'm obligated to make pr
Is it possible (or are there plans) for a way to make your own plugins without having to make a whole ass fork of Vencord ?
btw preSend doesn't work for messages with attachments
discord deranged and uses a separate function for that
yes, in the works, but also why do you mind?
lol i just noticed that with fake nitro a minute ago
nice, I just don't want to have to bother with keeping a fork up to date all the time
does it really make a difference whether you're working on plugin repo or vencord repo?
ig but it would be merged sooner or later (depends) so you wouldn't really need to
even once we add a proper way to load external plugins it will still only be a secondary option with the main model still being to have it in client
wait you can do that
๐ญ
i thought the plugins were in the Vencord repo
well ofc
but the external loader would be great for convenience even for making plugins
since then i don't have to manually patch vencord
and can just use the normal auto-installed version
you can just run pnpm inject
it will open the regular installer except it installs your own build
yea 
i couldn't find any dev instructions
docs folder
"who want to make progam"
"now who wants to doc"
a
yeah that checks out
aight i'll see if i can get voice messages on desktop working with passable UX
I wonder if discord are working on that for desktop
Vencord Desktop does not display the unread messages counter on the taskbar in Windows 10.
horrible
soon...
Fr
Lemme just hop on windows to program this
Turns out the dev environment and root owned discord install don't like each other very much
huh?
run the installer as root, build as not root

yeah it's just that due to my setup with nvm, pnpm doesn't work with sudo
so i can't run the inject command
but it's fine i got it working on windows
huh
well ok
basically pnpm is in my home so running as sudo makes that not work
it should work, it's likely just that pnpm is a shell alias with nvm
yep
and aliases don't work with sudo
you can which pnpm to get the actual command, then run that with sudo
and it should work
we need to patch this too lmao
actually that's what calls the method we're currently patching so we could just move the patch there
horror thats regeneratorRuntime so introducing async there is pain
would be nice if u could look if u can improve it and maybe also test whether fake nitro still works correctly with it and all
9297197 Restore src/plugins/apiBadges.tsx - Vendicated
4c792e9 Restore src/plugins/devCompanion.dev.tsx - Vendicated
okie later
why cant we patch sendMessage instead
I already told u
.
patching sendMessage is what we did before
cant we patch that other function too
just patch the message enqueue module I guess?
it kinda is but patching every single way they send messages is probably harder

they have sendStickers, uploadFiles, sendMessage, possibly more
yeah I prefer patching a single place too
the patch I showed adds that code above the if else logic that calls these functions
๐ญ so much time has past, still no work on collapsable UI :(
cause that takes effort
hmmm, are there currently anyways to manipulate the attachments array when it gets sent ?
once this is merged yes https://github.com/Vendicated/Vencord/pull/1023
ahh alright
I was gonna offer help but this looks like patching so I'm not touching that
๐ญ
marking this as draft because I want to update the types before merge to add uploads and some more stuff, but it's already ready, only ambient changes necessary
nice
it's already done, no help needed
yeah i was looking in more detail
Well unless you can propose a better patch but you probably can't based on what u just said

guess i'll watch this
yeah my RE experience with web stuff is minimal
I've done a decent amount of x86
but i don't want to deal with react...
i already have to do this at work
๐ญ
THE FUCKIGN BOT
fSQDJFLKM
@verbal pumice u think https://github.com/Vendicated/Vencord/pull/821 is ready to merge?
I wanna get all of these merged today:
https://github.com/Vendicated/Vencord/pull/1023
https://github.com/Vendicated/Vencord/pull/1018
https://github.com/Vendicated/Vencord/pull/998
I'll also look at these soon and maybe we can merge them:
https://github.com/Vendicated/Vencord/pull/821
https://github.com/Vendicated/Vencord/pull/477
ah great
why does it make the github banner big on some but small on others
oh if it's not ready yet then mark it as draft
it is ready
just like wanted to ask sun if he made some changes to commit
but he prolly didnt
Also https://github.com/Vendicated/Vencord/pull/875 but it has some unresolved feedback and nebula said they're busy for now
didn't they want to pr to ur branch?
PR to the pr
yea, i merged it and did some final changes
does that mean https://github.com/Vendicated/Vencord/pull/811 can be closed
uhm lemmy see
I think sun wanted to push that to ur branch
i believe settings are edited when you edit the tag text even when you dont click save
and relooking at the code i have no idea why it does that
maybe change https://github.com/Vendicated/Vencord/blob/e369dbd5fd9b2958853a12f7a1fe4c044dd00012/src/plugins/moreUserTags.tsx#L107 to use PlainSettings instead of the store?
**moreUserTags.tsx: **Line 107
const [tagSettings, setTagSettings] = useState(settings.store.tagSettings ?? defaultSettings as TagSettings);
never did
lemmy test that
yes it does
it does
also
then you should use that and not the global
i thought i didnt use the global 
ur code, idk how to fix it xd, maybe open another pr on my fork
well does it matter if it updates even without saving?
TextReplace has the same problem
wait so i can finally stop abusing presend
llets goo
wdym
actually no it would still be presend cause all i do is edit message content

moment
Discord Account
Tonรฌ#7947
What happens when the bug or crash occurs?
I was loading up my computer and discord was failing to update. After some basic troubleshooting, I uninstalled Vencord, and it worked just fine. After trying reinstall Vencord, however, the installation fails with the following text "rename C:\Users\User\AppData\Local\Discord\app-1.0.9012\resources\app.asar C:\Users\User\AppData\Local\Discord\app-1.0.9012\resources_app.asar: The system cannot find the path speci...
you likely enabled "Disable Window Frame" or similar
Tell us all about it.
When switching accounts, it incorrectly backs up servers only your previously logged in account has access to
Likely because those are still cached at that point in time
Fix is probably to use GuildMemberStore to check if the current user is member of each guild before storing it
Request Agreement
- [X] This is not a support or plugin request
you likely enabled "Disable Window Frame" or similar
i forgot to mention but i made sure it was disabled

wauit
]sdzfgjkl.hfklgfhgh
'nmg
me when this goes to react devtools
DISCORD paste my image i hate this platform
its disabled
i forgot to mention but i made sure it was disabled
alright, please ask for help in our support channel on Discord
reasons i should not be trusted with push access: i will push a fork bomb
at least i caught myself unlike some people in support xd
branch name has uwu in it
true
None
None
None
None
None
font-weight: bold;
color: purple;
Cannot access 'sle' before initialization ReferenceError: Cannot access 'sle' before initialization
at Module.default (WebpackModule20410:2:50)
at VencordWeb:12:719
at VencordWeb:5:5697
at [vencord.lazy.get] (VencordWeb:5:4767)
at mr.<computed> [as get] (VencordWeb:5:5178)
at Object.handleProtoChange (VencordWeb:33:22111)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/7f5b9e3cab7c3bc212f4.js:9312:766
at https://canary.discord.com/assets/7f5b9e3cab7c3bc212f4.js:9302:818
at n (https://canary.discord.com/assets/7f5b9e3cab7c3bc212f4.js:9312:743) ```
no i mean this lol
typical ven
for some reason it's a const instead of var
so it errors 
we love discord
wait
mmm
it works for me
oh wait im dum i didnt actually hop on canary
now i am
anyway it works
c62d05e Refactor ipc to be strongly typed and hide impl... - Vendicated
7bc1362 MessageEvents: Support sendMessage with attachm... - Vendicated
0d665b7 Badge duplication glitch was too good to be true - Vendicated
On first launch, it should ask you a few questions to optimise your experience:
- Stable, canary or ptb?
- Detect existing normal Vencord install and offer to import its settings if applicable
- possibly more
picking branch bames is way too hard
fastest break
i was too lazy to press the "update branch" button
and it bit me
trol
6a57ecc Delete FxTwitter & NoCanaryMessageLinks: Use Te... - Vendicated
bd95a25 TextReplace: Do not apply rules in #textreplace... - Vendicated
TextReplace is now a thing, feel free to post your replacement in the #textreplace-rules channel on Discord!
TextReplace is now a thing, feel free to post your replacement in the #textreplace-rules channel on Discord!
TextReplace is now a thing, feel free to post your replacement in the #textreplace-rules channel on Discord!
prime example of why vencord has pr rule that makes you keep your branch up to date


















