#๐พ-core-development
1 messages ยท Page 269 of 1
negative
this is the only thing holding me back from leaving betterdiscordโฆ
itโs ok tho iโm just using some random Music Presence app off github
ykyk
love how when previewing sometimes the new xyz is typing shadow gets out of sync with the rest of the theme
just remove it, no one needs gradients 
.chatGradientBase__36d07 {
display: none !important;
}
It gets out of sync with discord itself, too
Afaict it only appears when you scroll manually, not when you click a link or notification
for now i've just made it show a proper error when the command is run with Userscript Vencord
this was actually working just fine for me on Windows for the past couple days, but i just switched to Mac recently and it's not working. not sure if it's just me. but, I can use the Settings panel just fine, select audio, and preview it, but the custom sounds just don't play.
Hey! This plugin is too large, so it is unlikely to be accepted
what is this idiot on
GitHub
notifyPlus
Description: Adds notifyPlus plugin for priority channel alerts with customizable notifications.
Features:
* Priority alerts for specific channels (sound, flash, popup, or all) * Multiple sound options: beep, double, urgent, or custom URL * Configurable flash effects with custom colors and duration * Popup notifications showing channel and user info * Volume control and debug logging * Statisti...
random thought but why arenโt we using the iTunes API for getting the Apple music album art for rpc
seems more reliable ykyk
and you donโt need to auth or anything
why husk @desert cosmos
you will die
I just had a question about the cloud so if I change root redirect to lets say vencord.dev does that breach the license even tho nothing about the code was modified? yes im losing it
y'all who do i have to pay to get this plugin updated and merged into the main thing i'm so serious. do i have to become a sponsor of vencord? like genuinely the only thing that's stopping me from making the switch from BD is the lack of this plugin
@dusk blaze are you actually using BD ๐ญ
no that's a copypasta
Shame on you for not manually typing it
What the hell
true...
Why are you likely spammer
bro got compromised
who?
nin0
oh bro is no longer likely spammer
hes not?
It's gone now
he answered me in my ticket that he spam reacted to a message in general or smthn
@vagrant topaz have you tried reconnecting with this button after it says unable to ensure client is up to date
satan
yes vecause vencord.dev does not point to vencloud's source code
erm it does
the api root redirects you to https://vencord.dev/cloud
which links to source code and privacy policy
oh im kinda blind
why change this anyway
assuming they actually mean a website different to vencord.dev
in that case no you can't unless that website links to the source code
I think the plugin should be actually good now? The patch was really weird before but should be good to go
Alright, can you send the git hash of your user plugin, version of the companion from the vscode marketplace
you're just echoing the servers version back to it ๐ญ
@vagrant topaz run /vencord-plugins rq
how?? it's a required plugin in vencord
open console and read the error 
yes
read the error
yeah
i'll make it a notice
oh
forgot to change that
i need to add heuristics to detect the vencord workspace
open the vencord workspace first and you should be fine
bad phrasing
each workspace has it's own extension host
you probably didn't trigger any activation events
package.json: Lines 153-157
"activationEvents": [
"onLanguage:typescript",
"onLanguage:javascript",
"onLanguage:typescriptreact"
],
yop
hey sorry to bother you but does react devtools not load for you also or is that just an issue with me
press ctrl r
you to have to reload the window (C-R) once after devtools is opened
it's an electron bug
thanks and thank you other guy
ok ok i'll do that and see whether it resolves my issue
I think ctrl r locked them out of their account
they never confirmed whether it worked
gg

guhh sadan will never resolve feedback
me when i'm busy with school
also soonโข
@limber skiff why not just do this for UserVoiceShow?
instead of manually rendering the guild and channel name
just gotta fix overflow
also this is broken:
const voiceStates = useStateFromStores([VoiceStateStore], () => VoiceStateStore.getVoiceStatesForChannel(channel.id));
it's always the same reference so it's not stateful
well discord also does it lol
fixed the alignment
should i push this @limber skiff
this is old
left an unused webpack find in award
this is always false here because of the if (!wasEnabled)
onRestartNeeded(plugin.name, "enabled");
because circular imports are nasty.
continuation of https://github.com/Vendicated/Vencord/pull/3156 because git is dumb and couldn't merge dev into that branch
this plugin no longer fit my standards and not so user friendly, and I believe it could been executed better. if someone wants to pick it up feel free to do so.
damn did the old really overflow lol
how does the new handle group chats and dms?
does it work well
had 2 people mention this, both are on latest version, im unable to reproduce so they are probably just going insane
my pindms categories have also gone, idk if it happened now or some time before
Content
Add a "Themes enabled" boolean to the vencord toolbox so we can easily disable themes.
Use case:
- I want to screenshot a message to send it to someone but my themes are enabled. I don't want them to know I use vencord since there are people that actually report you for this. The quick switcher in the toolbox would make it so much easier.
Request Agreement
- [x] I have read the requirements for opening an issue above
my categories only disappeared once and it was like 4-5 months back
Have them as @import in the quickcss and use the toggle in there instead

Content
It annoys me a little that people think I'm available to chat just because I'm "online", i.e. using my PC for something else, so I'd like to appear as online only when I'm actually using Discord.
Request Agreement
- [x] I have read the requirements for opening an issue above
don't ignore the issue rules.
also vesktop has exactly this behaviour
bruh @Krammeth
<img width="882" height="106" alt="Image" src="https://github.com/user-attachments/assets/8c2936d2-fa16-4d54-b027-2723cc93043b" />
I mean there is literally a quickcss toggle in the toolbox context menu, I don't know why you would want to go to the settings instead
Also, pretty sure feature requests are closed
I have stuff in quickcss I don't want to turn off, but could be a great idea. This is just a QoL request so I'm not looking for methods to do it differently, but thanks.
Also, pretty sure core feature requests are open and plugin requests are closed. Correct me if I'm wrong
Actually, you're right. If I'm screenshotting a message I might as well just disable all CSS modifications, thanks for the idea!
this is still something that should be added
Mark as planned? ๐๐๐
for react-devtools is there any plans to address issue with it not loading without pressing ctrl+r?
i have to do that almost every time and i'm wondering whether you guys have ever looked into resolving that
no because it's an electron issue
Vectron when
thanks for clarifying that
After installing vencord, whether it is a cli version or gui, discord remains unchanged.
use our support channel.
They exist
it was matching xxs which I assume is the image above it was matching
compactInfo was the classname for that one but the one in the pr matches info which fixes it 
Content
Titile
Request Agreement
- [x] I have read the requirements for opening an issue above
it clearly says you shouldnt open issues
@austere talon private issue tracker when
when will we push extension updates itโs so falling behind
one week without any broken patches
dont worry on monday every single one will break
The Vencord Chrome Extension is up to date! (v1.12.13)
Bundler change i pray for it
what if they just shipped it unminified. wouldnt that be neat
ill bump it this weekend
merge some approved prs, fix the fake nitro issue and bump extension
okay good
they've done that in the past
well, kinda
they did even worse
accidentally leaked the source maps which leak the typescript files
basically the source code
Approve array option type 
Hello!
I was working on an automated script to get everything set up (including Vencord), and realized that there's no checksum files for Vencord releases.
Most repositories provide checksums for all release binaries, and so I was planning on making a PR to add this soon to the release github action.
(Was thinking of having one SHA256SUMS.txt file, in lieu of multiple files like VencordInstaller.exe.sha256, to make it easier for users downloading the installer to not get confused and...
true
tbh kinda pointless to use checksums, https already ensures this unless the download gets interrupted in which case any sane browser wouldn't even output a file
I think it would be most sensible to just put them in the PR description
But also this repo is not actively being worked on at the moment, and hasn't been in a long time, so I would not waste my time writing a workflow for this
I will just add it to the existing release
I added it to the latest release both in the description and as an asset
<img width="1621" height="744" alt="Image" src="https://github.com/user-attachments/assets/a3ce99d9-9f9e-4c41-9b3c-8a61585591f1" />
i forgot about this lmao
people really were like "omg it opens a terminal is this malware!!"

so I have learned clearurls doesnt work on edit is that intended? (atleast it didnt for me)
that would mean the entire onBeforeMessageEdit is broken no 
cba to look into this
@fossil inlet salad fix
satan too busy making his website
thats a bug with textreplace as well
I thought it was a feature lol
like whenever I get a textreplace I donโt want I just edit the message
it would be nice if it can be toggled
I thimk yoir textreplace rules might be awful
I recently added youtube->koutube but sometimes I just want to keep it youtube anyway, maybe I'll start doing it manually 
usually I don't have issues tho
๐ญ
Just add another character
Like a # before the link anything that's one button before pasting it in so it only gets replaced if you want (or vice versa, make it so if there's no # it gets replaced, otherwise it removes she # and keeps the original
)
I'd be too annoyed to always change the link manually again
oh could do yeah
why does this happen for some people #๐ฅ-vencord-support-๐ฅ message
Content
I am writing this request due to the fact I have said it like 20 times in the support server and I have gotten no responses. I am now turning to making a GitHub issue request so I hope that somebody sees it someone can update me on if its being fixed rn or sumfin.
Request Agreement
- [x] I have read the requirements for opening an issue above
wanted to ask for thoughts before bothering to open the PR, is this acceptable?
the idea is that third party clients that aren't necessarily supported can declare themselves incase they do something that breaks vencord somehow
I also saw the legcord check for the arrpc plugin and was thinking adding this there too, or removing the legcord specific check and i send a PR to legcord to implement this new 'standard'
something like adding a features array
๐
Would be a great feature if your own time is wrong but you still want to see other people's latency without being bothered from your own
jujst fix ur clock bro
bundle nettime into vencord easy solution
Can be done with css
this is really pointless, just download source from main
8c2dc84 Settings: fix debug info layout (#3673) - thororen1234
if (ignoreSelf && message.author.id === AuthenticationStore.getId()) return null;
import { AuthenticationStore, SnowflakeUtils, Tooltip } from "@webpack/common";
80872f4 MessageLatency: add option to ignore own messag... - qwertyquarty
merge
bruh
put this in an util or something
historical moment
why did you make it a set anyway? @gritty iris
are sets bad or smthn
no theyre good
vtest dev
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
i swear discord is gonna break everything as soon as i tag
56d25b0 UserVoiceShow: Improve tooltip & add icons for ... - gabrielmar
3005906 CallTimer: fix horizontal text cutoff - Vendicated
8c2dc84 Settings: fix debug info layout (#3673) - thororen1234
80872f4 MessageLatency: add option to ignore own messag... - qwertyquarty
edd68fe AppleMusicRichPresence: add status display type... - nin0-dev
Good at least I'd have something to do then
Also merge uuuh noblockedmessages pr 
the patches handle it as a set
it matches the behavior of how the data was retrieved from the store too
since the method we originally used returned a set
Probably just what I saw at the time I had like 5 files open and I forget arrays existed for a moment
jesus christ, what is discord doing fucking spamming 200kb/s IDB writes in the browser
like NON-STOP
full idle, and its constantly writing to IDB
love the random property access to React.Component in discord's code
i lied
not discord's code (react router v5)
but discord's bundler is insane here
normal
Ngl I forgot I made it a set again so it was probably because the others were sets
satan
???
This is still happening
stable 448060 (cb3f3f3) Host 1.0.9209 x64 (69183) Build Override: N/A Windows 11 64-bit (10.0.26100)
Vencord 228b85a standalone
guh typescript moment
really funny bug
the plugin now uses the ClearURLs list as mentioned above so this should be resolved.
cb845b5 PlatformIndicators: update indicators in real t... - Vendicated
Don't really think this is fixable. The reason it shows in the UI and opens in modal is because it's locally cached. But then when the WebContextMenus plugin attempts to fetch it, it can't because it 404s
the only hack to fix it would be to get the <img> tag it's in from the DOM and draw it to a canvas. Then you can get the data from that
or MessageLogger has to locally cache every deleted file's bytes and plugins like WebContextMenus have to be ML-aware ๐คท๐ป
closing because this unfortunately isn't possible due to the aforementioned limitations
this isn't what Vencord Notifications are for, so this is working as intended
Both the initial request and Brisks suggestion have been implemented a long time ago
I see cleanup on issues happened 
would be nice if it does that, the notification looks neat
randomly noticed this but tooltip types are incorrect
discord will pass an empty object as props if text is nullish
BetterSettings broke but its error safety works and doesnt crash
1s frequently times out
this simply shouldnt use a timeout, just use ws.on("open"), ws.on("error"), and ws.on("close")

oh
@quick isle your theme is broken

- selecting a gradient preset while a custom theme is selected now works
- no longer sends proto updates on custom theme changes
It is possible to grab backgroundGradientPresetId and customUserThemeSettings from the arguments array here
i did 
AI
satan is a vibe coder
๐บ ๐บ ๐บ
@austere talon how would you detect no connection then? error only fires when the socket closes due to an error
horror
that function needs a rewrite
this is too messy
how was it even working
if we never adjusted that
what the heck
I wanna review both these PRS, dont merge them before I do it
https://github.com/Vendicated/Vencord/pull/3681
https://github.com/Vendicated/Vencord/pull/3682
ill do it tomorrow as soon as possible because I'm very tired today
yeah, i don't know enough about how discord's settings/protobuf works to do it myself
wait it's not broken
we removed it ages ago lmao
makes sense
actually nvm
okay dont mind me i derped
๐
๐๐๐๐๐
Could it be that local paths also get blocked? When I try to set the image to a file on my local machine, it doesn't work. It worked before this update.
local files never worked. use our support channel if you need help
c5a1bbd GameActivityToggle: fix background colour when ... - Vendicated
oh i commented closing but forgot to actually close
This pull request adds support for Google Gemini translation models to the translation plugin, introduces new translation customization options, and improves user feedback during translation operations. The most important changes include the integration of Gemini models, new plugin settings, and UI enhancements for translation explanations and status.

incredible description
satan
@median rapids do u know by chance if this is an intentional change
it's not hard to fix but I'm not gonna bother if this is just a discord screwup
Does discord use something other than cdn links then or wouldn't this break things?
oh
fixes the following issue which occurs when trying to reply to system messages caused by people pinning messages
don't use magic numbers. there should be a MessageType enum in the discord-types package. if not, please add it yourself
magic numbers 
no clue
yeah we know
recently I merged role whitelist/blacklist feature
to test it i added janny role to my list and forgot about it
today I started wondering why it always didn't ping mods when I replied to them
veeeediot
This plugin automatically switches discord color themes based on the system's theme preference (light/dark).
the problem was when I change the system theme, discord doesnโt update my color theme, so I always have to open settings and change it manually
With this plugin, you can pick your favorite light and dark themes once, and it will switch them automatically with your system. If you just want it to only flip between light/dark without changing the colors, thereโs an option for that i...
you know thatโs a stock feature right
<img width="590" height="1278" alt="IMG_1535" src="https://github.com/user-attachments/assets/0cd2c4e5-1db5-4ad4-abb1-7ad37061b0f2" />
does the stock feature not just pick between the "Light" and "Dark" themes?
the plugin seems to let you pick an alternative to light and dark for each.
looking at it I cant really understand how it works lol
huh it only applies on startup? what if your system theme changes with the app open
I assumed thats what it was for originally
like those apps that change your theme at a time of day
Yes i know but it only works with the default themes: light, dark, darker, midnight, but never the color themes like sunshine, sunset, etc
Content
When the folder sidebar is open, resizing the channel sidebar will be offset by the width of the folder sidebar. See below video.
Request Agreement
- [x] I have read the requirements for opening an issue above
you didnโt read the requirements for opening an issue above @fossil inlet
bro uploaded the worst encoded gif in the world as a preview
and had the audacity to call it a video
is that what 144p looks like on a gif?
thought I was on youtube for a moment that was so badly encoded
idk, i just use peek
added a role array type as well now
me when i do useless things cuz im bored 
someone PLEASE help me fix this.
cant even ping them cause they aint here
Rationale
I've been really enjoying Vencord recently. I use it daily at work for pair programming sessions. Increased FPS rate provided by FakeNitro plugin helps a lot for my teammates to keep track of what's going on the screen.
However, when you work in a group, it might be not the best option to share the entire screen. I have an ultrawide monitor and some of my colleagues feel more comfortable working on laptops with smaller screens which makes it quite hard for them to see a clea...
translation v4 in a week
yop
@austere talon :3
v3 is just v2 but without all the merge conflicts
imo if we were to actually commit to it i think we can do like
a gradual translationing
so this would get merged initially, and then over time we just update dev with translations
primarily for plugins
translationing
4f482a3 chore: translate some stuff! - lewisakura
8a6fb75 chore: make sure there's a plural - lewisakura
might not even use crowdin atp
they dont support zero plurality
so now im looking at weblate and pontoon
tbh pontoon seems quite nice
it was what i was originally going to do as well when we were trying out project fluent but it supports just regular json too and it seems to support plurals
and its meant to focus on a singular project or just a few projects, so it makes the most sense for us
:/
Opinionated Queer License @austere talon
@fossil inlet can u double check it works for me ^
ATROCIOUS
slint is sooooooooo good
always
well according to support users
It's not trivial to fix
the entire way it restore is by using the user settings proto cache
which is reset when you switch accounts
yop
pretty easy to abuse custom settings for it
just do like this
const fakeNitroSettings = definePluginSettings({}).withPrivateSettings<{
syncedPerAccountState?: Record<string, {
nitroTheme?: number;
}>;
}>();
function getSyncedPerAccountState() {
const s = fakeNitroSettings.store;
s.syncedPerAccountState ??= {};
syncedPerAccountState[AuthenticationStore.getId()] ??= {}; // idk if the value this returns is proxy or not. if it's proxy, you can return it directly
return s.syncedPerAccountState[AuthenticationStore.getId()];;
}
// get
getSyncedPerAccountState().nitroTheme;
// set
getSyncedPerAccountState().nitroTheme = 13;
yeah it's not proxy like i thought
@dusk blaze i love not getting pings because you ban me, then i re-join and the server gets auto muted
evil
1939322a92974232628b5ae0173bf8f2b579db7f broke proto updates on non nitro locked theme changes that should send a proto update
eg dark -> onyx doesn't send a proto update
any custom theme -> any free theme doesnt send a proto update
don't you check your inbox
Stupid Sadan
i have this guild muted and i still answer to pings
so when i say ping, i mean the actual sound
WHOOOO CARESSSSSS
just be chronically online and constantly check discord yk
but you wouldn't get it
check now @fossil inlet
alr
works for me
const hasNitroCustomization = Object.values(clientThemeSettings ?? {}).some(v => v != null);
// couldn't this be
const hasNitroCustomization = clientThemeSettings && Object.values(clientThemeSettings).some(v => v != null);
nevermind, empty object is truthy
vtest
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.
If you change your mind, just re-open this PR and I'll resolve any conflicts on it.
What happens when the bug or crash occurs?
When having (or not) applied a theme, the text chat bar gets off centered vertically ( see screenshot )
What is the expected behaviour?
To work normally, having the text centered without any offset
How do you recreate this bug or crash?
- Start discord
- Open any chat
Errors
None
Request Agreement
- [x] I am using Discord Stable or tried on Stable and this bug happens there as well
- [x] I am a Vencord Developer
you're very clearly not using official Vencord. whatever that second icon is is likely the culprit, it's way too big
<img width="505" height="130" alt="Image" src="https://github.com/user-attachments/assets/5f03925f-591f-458d-8da7-72d121cd1b9b" />
vtest dev
Now testing! 
Seems like everything is working fine (for now) 
ShowHiddenChannels (took 12.5ms):
ID: 473403
Match: ```
/.subtitle,.+?;(?=return(0,\i.jsxs?))(?<={channel:(\i),name:\i,.+?unread:(\i).+?)/
Will 3682 be in this one?
I still gotta do the persisting of the themes
oh yeah
can anyone else repro this, doesn't happen if i disable fake nitro
it's a collision between FakeNitro and StickerPaste
only happens with both enabled for me
Content
#๐พ-core-development message
https://github.com/user-attachments/assets/0d948bed-9c91-4c31-9cfc-61b2f67e9cb3
Request Agreement
- [x] I have read the requirements for opening an issue above
631c763 YoutubeAdblock: fix blocking in watch together ... - TheRealClarity
wow it's just like me
f040133 QuickReply/MessageClickActions: ignore non-repl... - Vendicated
Thank you, merged!
I made it better by using Discord's own "is this message replyable?" logic, which properly covers all message types and also made it ignore ephemeral messages
I don't have permission to directly push to your branch so I did it manually
8943c90 arRPC: increase connection timeout to 5s (#3680) - sadan4
maybe just make it a setting then, enabled by default
746c824 Fix Debug Logging toggle not working - Vendicated
cb845b5 PlatformIndicators: update indicators in real t... - Vendicated
7c839be BetterFolders: close folder if the last server ... - thororen1234
c5a1bbd GameActivityToggle: fix background colour when ... - Vendicated
79c5cf5 fix plugins for latest Discord update (#3681) - sadan4
lmao yeah
so funny
await track("EVENT");
toggleVoiceDebugLogging();
was just pending forever
ngl I cant really think of a name for it
is slint really that good
@austere talon the old ui for user voice show had the feature of showing the channel limit and amount, even tho it was totally not intentional lol
I think it was because of useChannelName for the name component
I had no idea ๐
lmao
why not mine :sob:
c26fb03 QuickReply: Ignore messages by blocked/ignored ... - thororen1234
i think it should be named AutoDNDWhilePlaying even if it has the other options, as that's the main use case
name: "AutoDNDWhilePlaying",
const status = PresenceStore.getStatus(AuthenticationStore.getId());
const StatusSettings = getUserSettingLazy("status", "status")!;
and don't use optional chaining below
let savedStatus: string | null = null;
this won't work on Vesktop. Not sure how to properly solve that
maybe mark as discord desktop only for now and a future goal should be for Vesktop to handle RPC better
i should fix my PR
@austere talon can you reopen https://github.com/Vendicated/Vencord/pull/3105 else i can't merge main branch for some reason
damn I didnt even look over yet ๐ญ
working on this rn (not final ui)
way to organize context menu items 
it really isnt I've tried 
it could also allow reordering
Plugins shouldn't have to implement this themselves. I'm working on a solution that will work for all plugins (not final UI):
<img width="1496" height="275" alt="image" src="https://github.com/user-attachments/assets/983d1363-ba23-4ec1-a372-afd31a07410c" />
<img width="1016" height="629" alt="image" src="https://github.com/user-attachments/assets/53995e93-d426-4dc4-816f-e3d3a3b52b1a" />
Thank you for your contribution regardless!
thanks for the fix! I ended up fixing this a good while ago (i didn't see this PR sorry) so this PR is obsolete
48eca4e add plugin ui customisation options - Vendicated
Hi, i think having a centralised setting for including things in the hover menu is a great idea but this PR also includes adding the option to the message context menu.
would it be possable to merge it for now then remove the plugin spesific setting later when the new UI is released?
you can PR the message context menu addition. i would rather not add a temporary toggle for the hover button though. you can just hide it with css for now:
[class*=hoverBarButton_][aria-label*="View Raw"] {
display: none;
}
removed the settings stuff. PR is now just for adding it to the context menu
I think it's time to @Vendicated
show examples of what the elements look like
u could try mounting them in under the descriptions with dummy data
or smth idfk
yop
that is indeed the plan
all plugins are gonna have to export their icon or smth for that tho
hmmm.. this seems ... translatable
631c763 YoutubeAdblock: fix blocking in watch together ... - TheRealClarity
f040133 QuickReply/MessageClickActions: ignore non-repl... - Vendicated
8943c90 arRPC: increase connection timeout to 5s (#3680) - sadan4
b1cdf7a add vesktop protocol to csp whitelist - Vendicated
c26fb03 QuickReply: Ignore messages by blocked/ignored ... - thororen1234
(unrelated)
Introduce toggle-able volume control functionality for SpotifyControl plugin
this functionality already exists, right click the album cover
I had no idea that was a thing
this functionality already exists, right click the album cover
my bad, i didnt know that. thanks for the info
vibe coded slop
Leaving the myCoolPlugin stuff in is pretty funny
theres still an issue with incorrect permissions that may or may not be set when modifying files on linux, we shall figure that out soonish
The GUI is still incomplete and is untouched here, though we plan on adding a root helper specifically for renaming files.
what's the endpoint to poll to get the latest discord version
Client Distribution While mobile clients can be distributed through most system app stores, desktop clients require a custom solution for downloading and updating. Discord provides various A...
that's the desktop app, not the web app
here it is
Client Distribution While mobile clients can be distributed through most system app stores, desktop clients require a custom solution for downloading and updating. Discord provides various A...
thats the same thing
no?
I just linked you to the endpoint
you linked me to this
yes and if you scroll down on the page you linked you get to that
wait this isn't it either
ty
what's the one for canary/ptb
no version.ptb or version.canary? oh do you just use the subdomains for those
tried version.canary.json
guhhh
why even use .channel.json if they're only hosted on their respective subdomains
idrc
ya
it's a cf worker
probably just returns the x-build-id header
PermissionsViewer:
- added context menu icons for
Copy User/Role IDandView Server As Role - added
contextMenuAPIArgumentsprop to context menus to use in ViewRaw & BetterRoleContext plugins - assign
modalKeytoViewPermissionsmodal to close it onEdit Rolebutton click
ViewRaw:
- added support for
PermissionsViewerplugin to open role/user raw
BetterRoleContext:
- added copy role name / role(plain and gradient in
#000 #000format) / role icon url - improved item...
im trying to add plugin bisect to vencord
where should i put the file that contains the bisecting logic
i added a button in the settings menu im just not sure where the function that it calls should be
actually forget that im just moving it to a plugin
i made that a while back lol
bruh
i just made a settings pane for that
does it still work
probably not
im thinking ill just make a plugin and add a slash command
i'd have it as a menu
but then it cant be a plugin
i dont wanna patch because theres no docs
seems complicated
@untold rock this plugin adds it's own settings page
i have no idea how that works
learn 
see what the patch does
play with it
i reccomend you use vencord companion (my version), but you can also use patch helper
looks like im having a fun time i dont use vsc
@dusk blaze is this the correct behavior on mac
Should the description be adjusted to reflect that Mac uses cmd?
- add new Transcript plugin to export HTML, Markdown, or JSON transcripts from any text channel, thread, DM, or group DM
- render exports with Discord-like UI (avatars, nicknames, embeds, playable media) and an inline context menu for copying IDs or message links
- provide configurable time ranges (from first message, up to now, ISO/relative inputs) plus filters for bots, pinned messages, media-only, authors, and keywords
Seems other plugins are not including that in description?
CtrlEnterSend (included in setting)
QuickReply
I think mac users will realize cmd+click, because ctrl+click shows context menu in mac.
Pretty sure it is
Mac use meta where everyone use ctrl
big one
rip reporter @limber skiff #1337479880849362994 message
it's cause it does this
it's a wrapper function
so this doesnt work any longer
it's a chunk load error retry thing
anyway it should be easy to fix
yep easy
function getWebpackU(instance) {
const sym = Symbol();
let v;
Object.defineProperty(Object.prototype, sym, {
get() {
v = this;
return "";
},
configurable: true
});
instance.u(sym);
delete Object.prototype[sym];
return v;
}
exactly same hack I use in my UserScript for getting private webpack cache
@fossil inlet ^
vtest fix-reporter
Now testing! 
hmm
Ideally we should still get a reference to the function that returns the path
since webpack sometimes does weird things and doesnt include all chunks in the object
insufficient resources error
Now testing! 
why are we even converting to number?
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
yeah nice
return !(validChunks.has(id) || invalidChunks.has(id));
const allChunks = Object.keys(chunkMap).map(Number);
huskkkkk
this also breaks my offline build scraper/reporter
not that easy
we would have to monkey patch .u before they do
yeah
not that hard but annoying to do
that's why I said ideally ๐
discord is so confused because of ignore activities
it shows that to me everytime
yeah, they was referring to rspack devs
tbh if i had to guess js code splitting is a native feature but css requires a plugin
but idk
/they are handled separately
yeah i meant discord probably only enabled it for js
oh lord
idgi either
this ui is clean
nothing I think its a new ui not sure
just havent seen it
vtest fix-reporter
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
I wanna show the icon here but for that plugins have to export their icons
should we just require plugins to also set this property?
for chatbar buttons and message popover buttons
yeah, that would probably make for better ux
easier for things like "how do i hide this annoying icon"
breaking change for user plugins 
i made it type error but the error is kinda confusing
imagine if ts allowed custom type errors
insane
how
me when the ui crashes because of some userplugin
just make it optional
(not as a type but dont typeerror if it isn't there)
iโm not updating all of my abandonware for a fancy icon showing in a popup
show like โ for missing icons
typescript type error 
or ๐งฉ
do you mean typescript error, or runtime typeerror
lovely error
guh i'm confused
type error
is there any way to make this error less insane
i have some ideas
ill try them out and see what i can find
the error itself is clear but it keeps saying the type of the object you're passing is the issue
that is not a clear error
too much noise
did u read what I said ๐ญ
the error itself (the red circled bits) is clear
the noise is the fact that it keeps repeating the type you're passing
guhhhhh
with a minimal plugin there's way less noise
it would be much nicer if we just made our own eslint plugin
is there a good icon for unknown
like placeholder icon
send
iirc discord has some box with a question mark in it
send
trying to find it
This one?
yeah
i feel like Message Popover isn't that descriptive ykyk
i feel like you're wrong
thats what the description is for
send svg or tell where in the app this is
<svg aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5Zm6.81 7c-.54 0-1 .26-1.23.61A1 1 0 0 1 8.92 8.5 3.49 3.49 0 0 1 11.82 7c1.81 0 3.43 1.38 3.43 3.25 0 1.45-.98 2.61-2.27 3.06a1 1 0 0 1-1.96.37l-.19-1a1 1 0 0 1 .98-1.18c.87 0 1.44-.63 1.44-1.25S12.68 9 11.81 9ZM13 16a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm7-10.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM18.5 20a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM7 18.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM5.5 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" clip-rule="evenodd" class=""></path></svg>
thanks
annoying duplication but once I add the logic idk if it will be worth to make it a component just to slightly deduplicate code
this duplication is kinda annoying
oh come on are they rendering images as webp again
I see degraded quality
it looks choppy
yeah lmao it's so low res until you open in browser
it's even discoloured
like washed out
i dont think there's a better solution
yeah I'm not sure either
the only thing i can think of is something like
export default definePlugin({
messagePopover: {
icon: Icon,
render() {
// render
}
}
})
this would also make the typescript errors a lot better
discord insane
@limber skiff isn't that what this plugin is for
yeah
rn it only removes format=webp iirc
this is better ig but thats not backwards compatible at all
maybe we just break backwards compatibility with userplugins, it's not gonna cause crashes
just less funcitonality but the plugin can fix
it prevented the extension from being set to webp iirc
but now even .png returns webp
this is better I'll go with this
much nicer error too @fossil inlet
I just typed it as never
tbh i wouldn't use @deprecated, that makes it seem like it still works but is discouraged
the error will still be there either way
backwards compatible
had to refactor some code cause you can't use this anymore this way
well we could bind
should I
i think so
guhhh git evil
no wonder nothing has been updating
how did dev even get that upstream

working on somethingโข
hello from 2 months in the future, I've just learned that settings.use() subs to every setting from every plugin, not just the current plugin. that seems very not useful, no?
in fact it was causing an infinite rerender crash for me with my changes to NoBlockedMessages cause I forgot to list the specific settings and just used settings.use() ๐ญ
was a very weird bug too. only happened when interacting with thread starter messages from a blocked user.
it shouldn't
maybe some conflict where a plugin was updating a setting every time I tried expanding the collapsed thread starter message and so causing a loop. otherwise idk
I mean that settings.use should only subscribe to your plugin
where are you logging that
useSettings
screenshot
1s just started windows for this
gotta load vscode
export function useSettings(paths?: UseSettings<Settings>[]) {
const [, forceUpdate] = React.useReducer(() => ({}), {});
console.log("[!!!!]", paths);
useEffect(() => {
if (paths) {
paths.forEach(p => SettingsStore.addChangeListener(p, forceUpdate));
return () => paths.forEach(p => SettingsStore.removeChangeListener(p, forceUpdate));
} else {
SettingsStore.addGlobalChangeListener(forceUpdate);
return () => SettingsStore.removeGlobalChangeListener(forceUpdate);
}
}, [paths]);
return SettingsStore.store;
}
was logging paths after the const
It's just components re-rendering
but is that global listener not for every plugin
it doesn't mean all settings are triggering a re-render for your plugin
yes
but the others have paths
if they have paths it's for a plugin
is the one with undefined path the one with settings.use() ?
idk how to tell. the console was spamming horrible with that log
im assuming so since in that case paths is undefined
what's your plugin called
I'm just modifying NoBlockedMessages
is there no path which is just plugins.NoBlockedMessages?
ok so to test this I reverted to using settings.use():
filterStream(channelStream: [ChannelStreamGroupProps | ChannelStreamMessageProps | ChannelStreamDividerProps]) {
const {
alsoHideIgnoredUsers,
disableNotifications,
hideBlockedUserReplies,
allowAutoModMessages,
defaultHideUsers,
overrideUsers
} = settings.use();
console.log("[!!!!] Rerendered NoBlockedMessages");
and every time I toggle silenttyping with the icon in the chat bar the log is made to console so
Settings.ts: Line 251
settings?.map(name => `plugins.${definedSettings.pluginName}.${name}`) as UseSettings<Settings>[]
lol
on the bright(?) side it doesnt look like any plugins are actually using the settings.use() syntax without specifying settings
not really sure what was the issue but some setting must have been updating every time I tried expanding the blocked group lol cause this is the error it produced
took hours to trace this back to settings.use() ๐ญ
@austere talon is it intentional settings.use subscribes to all Vencord settings
I'm pretty sure it should be to the plugin only
how did we never noticed this...
if you look at their message I initially replied to and the one about 5 below it V said settings.use() should work instead of declaring all 20ish settings manually "at least I think so" so I have a feeling it was not in fact intentional
lol that whole function has a todo above it
/**
* Settings hook for React components. Returns a smart settings
* object that automagically triggers a rerender if any properties
* are altered
* @param paths An optional list of paths to whitelist for rerenders
* @returns Settings
*/
// TODO: Representing paths as essentially "string[].join('.')" wont allow dots in paths, change to "paths?: string[][]" later
export function useSettings(paths?: UseSettings<Settings>[]) {
the problem is useSettings should be passing an array with just the plugin path
if no settings were passed to it
docstring kinda makes it seem like it was intentional. though maybe a lot of thought was just not put into it
instead it's just returning undefined
so you mean that if nothing is passed to use then this settings?.map just resolves to undefined which subscribes to every plugin
use: settings => useSettings(
settings?.map(name => `plugins.${definedSettings.pluginName}.${name}`) as UseSettings<Settings>[]
).plugins[definedSettings.pluginName] as any,
it only returns that plugin's settings but it still subs to every plugin's settings ๐ค
use: settings => useSettings(
(settings?.map(name => `plugins.${definedSettings.pluginName}.${name}`) ?? [`plugins.${definedSettings.pluginName}`]) as UseSettings<Settings>[]
).plugins[definedSettings.pluginName] as any,
so what something like this?
yes exactly
yeah no copilot we're not doing all that
idk which one I should do
maybe we want to allow reordering
so the second would be better
but then we could just have a separate order property
I think I'll go with the second
if we allow reordering then where would new buttons be added?
context menu reorganizing > ๐ค
Id go for the second one
Also, how would this work if a plugin registered more than one chat bar button or something like that
both take ids
5k orbs quest available rn
yop 
there's a quest completer plugin?
no
ready now
i should add a context menu like this
probably should fix this before merge
You will double destructure
no thats ugly
ATP add a disabled everything button to uninject
Wrong!
TODO: we should probably fix this before merging to avoid unnecessary rerenders
probably better done in a separate PR but still needs fixing in the future
goated module
what the horror is this component
I didnt know I was in halloween wtf is that
ManaContext Provider
Is that some branch for like visual refresh or something that never got removed
That's my guess

