#👾-core-development
1 messages · Page 256 of 1
All it does is add this class to emojis, surely we can emulate that
I'll have a look Later™️ if nobody else does
works

Hmm, when you have the username first the glow is still generated from the display name
Prevents emojis getting filled with colour when a user has gradient/holographic role colours.
I'll add a fix later for that if I can find it Added it, not thrilled about the duplicated code but I don't really care enough to think about it more
I like the hardcoded css class
nobody follows the plugin rules
there are rules?
that fix seems very hacky and suboptimal
it's how discord does
^^
but better to use their own code if possible
vtest dev2
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
I'll have a look later, tbh I was supposed to be working at the time and it didn't even cross my mind lol
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
js finally added array methods like .filter to iterators

too bad it's so new we can't use it yet
https://caniuse.com/mdn-javascript_builtins_iterator_map
i meannn discord desktop and vesktop both support it.., web users can cope or update their browser trol
we can use it on vesktop
yop
@austere talon :megahusk:
what
how do i enable arrpc on vesktop (the builtin version has never worked for me on linux)
hop off using flatpak
fun fact! i am not using, nor have i ever used vesktop as a flatpak
it never worked for me under arch or nixos
also this would make it impossible to use a local build if you were making changes to it
and you should just debug this
all it does is run arrpc
built-in arrpc can't even do OBS detection despite out patches enabling the toggle to do so
crying and screaming that we soft fork to have the dynamic db and single path patches 😭😭
not a reason to completely remove the feature from vesktop
maybe add a warning when you enable it or something
vee hates choice that's why he uses gnome (the normie users can't be given the ability to have options)
choice working software
saladeath
it's not choice
there is 0 reason to use the arrpc plugin on vesktop unless you are making changes to arrpc and want to use your own version, in which case you are definitely competent enough to just add it as a userplugin
"inbuilt one doesn't work so I use external + plugin" is not a valid argument, because that's a very poor solution we shouldn't encourage
I yell into the void and all I hear is silence
that is completely unrelated to the plugin being hidden on vesktop now
😭😭🤥
?
waiting for pr review 
Aren’t we all
Pretty minor as it's caught and returns false anyway but opening DMs causes this error in logs
what module calls isHidenChannel?
so discord is trying to tell me that the function fetchingMessages receives null as the channel id?
A pretty what?
vtest dev4
On last.fm, scrobbles from services like Spotify and Apple Music scrobble singles with the single name as the album name. This creates albums with the same name as the single. Users can add cover art to singles this way. However, this method does not show up with the user.getrecenttracks method, which means "missing" art for said singles.
This PR fixes this by checking for an album of the same name as the single.
what? if it doesn't get the cover, it means you're scrobbling wrong (i.e. scrobbling with no album info)
Downloads from some services come with empty album info for singles, like Beatport or Juno Download. I just use these as-is because there's not really any point in adding album info to a single.
And if I'm being a pedant, last.fm's API docs explicitly define album name as an optional field. So I do think this is valid scrobbling.
yes album name is optional. but that means there is no album attached to your track and thus no album art. lastfm itself will also not show any album art on your feed. i'm really not a fan of the plugin attempting to fix broken scrobbles like this, you really should just be scrobbling properly instead!
you might be interested in https://picard.musicbrainz.org to fix your tags instead, pretty sure it can do bulk tagging of your library
or just find people who scrobble properly on soulseek and download from them 
last.fm actually does show the album art in my feed. Here's an example from last month:
The Yue songs did not have any album name when scrobbled.
I assume what I do in my PR is similar to what they do to support that, given the API response doesn't include the track image by default. I don't think it's unreasonable for Vencord to do the same.
And I appreciate the suggestion, but I would much rath...
why not just make a playlist? or what I sometimes do is make an unofficial compilation and upload a cover I like to lastfm
Playlists don't get custom art on my player. :(
Anyway, you seem opposed to merging this so I'll stop bugging you about it.
bad player...
waiting for pr review day 69 
maybe time to look for a new player :P
and all good, thank you for your effort anyway!
fuck lastfm 
Do we know anything about how discord's managed to make devtools lag so bad?
magic ✨
you know all those sites that try to block devtools
they should just copy from discord
Yeah it's insane, discord has finally succeeded in achieving absolute enshittification
Am I misreading this or does profiler say it downloaded the css a hundred times
And following that, it reports a lot of css updates in devtools, layout computations, and sendPackets between parent and child process
how
I don't know, I'm trying to figure it out
I can't make any sense of this other than it has something to do with updating the list of styles in the element inspector
could it just be the nnmber of times it tried to fetch
and it was just returned from disk/memory cache
i think its just devtools being ass at resolving the stylesheets
If there's one website on the planet that it has issues with, I'm inclined to blame that website, not the devtools
Content
really minor, but annoying
Request Agreement
- [x] I have read the requirements for opening an issue above
salad virus
This pull request introduces a new plugin, MarkdownToolTip, designed to enhance Discord chat functionality by enabling one-click insertion of syntax-highlighted code blocks for 18+ programming languages. The plugin integrates seamlessly with Discord's context menu, streamlining the process of creating formatted code blocks. Key changes include the addition of the plugin's implementation, documentation, and developer attribution.
Plugin Implementation:
- [`src/plugins/markdownToolT...
AI ahh readme
dont all context menu callbacks have a ref to the element that triggered them
Don't use DOM manipulation. There might be a way to get a ref to the chatbox from the context menu callback.
add yourself to the bottom, not the top
This is way too long and generated by AI. Look at what other plugins that have READMEs do for examples.

damn thats rough
Plugin Implementation:
src/plugins/markdownToolTip/index.tsx: Added the core functionality for theMarkdownToolTipplugin, including the context menu patch, supported language definitions, and theinsertCodeBlockfunction that handles code block insertion with syntax highlighting.
Contributor Update:
src/utils/constants.ts: AddediLazerto theDevsobject as a contributor to the project.
couldve used the old pr 
oh come on, you could at least try to make it look like you didn't ai generate it 
clearly bro did not use claude 4 opus max mode for this /s
???
What even is an 18+ programming language
I'd like to believe it means 18 more 
clearly not
ai readme
discord cdn link that expires
horror formatted codeblock in md
added another plugin too originally?
told people to open issues
What happens when the bug or crash occurs?
No crash
What is the expected behaviour?
Should be displayed on top not next to username
How do you recreate this bug or crash?
The display is a bit weird cf pic :
Im using (next to the timeout icon)
Errors
No errors
Request Agreement
- [x] I am using Discord Stable or tried on Stable and this bug happens there as well
- [x...
you didn't need to make an issue for this, we could tell if you have the contributor tag in GitHub
Sry I just want to know what's the button, it was new so sry again.
Loved how u ignoring without saying anything...
Cause I think its a minus issue
Loved how u ignoring the thing explicitly telling you not to open an issue and instead using our support channel...
Cause I think its a minus issue
wtf is a minus issue
What happens when the bug or crash occurs?
You copied our code you do not have rights to do that without proper licensing.
What is the expected behaviour?
I expect vencord to be unique and do not copy our code
How do you recreate this bug or crash?
view code
Errors
Replace this text with your crash-log.
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
Probably minor not minus
You copied our code you do not have rights to do that without proper licensing.
no you are not, and vencord did not copy any code from betterdiscord lol
at the same time you don't seem to know how to code or how copyright works, so cry about it lmao
FIX #3454 #3452 #3453 #3416 #3451 #1022
Does that just make every vencord user spam them with friend requests?
why are u seriously replying to a troll
Like I said, you don’t know how to code lol
genuinely what goes through someone's head to post this 😭
guthub
issue deleted 
I created a plugin that uses a bit of an obscure endpoint in the discord API (it's not spamming it. Only one HTTP request has to be made) to search for messages across group channels and DMs. its very cool ^w^
"obscure endpoint" and it's just a mobile only feature ported to desktop

still cool but lol
who is toby
toby
Toby
the comments are amazing please keep them in
Hi, concern Linux support, there is a standard for notifications by the free desktop foundation. Most features your pr add, like attachment preview are specified. See this:
https://specifications.freedesktop.org/notification-spec/latest
Thank you for working on this!
i know you are tempted vee, do not bump him down a cliff
more like ChatG3.14T
tbf those endpoints aren’t the easiest to find
compared to the endpoints the pc client uses
that’s so much more effort than pressing f12 lol
also is that even a thing if you use iOS
😢
surely ios can use proxies & install a certificate
yea you can
yay
Use the client's components for rendering messages
response body will always be an object when an object is returned by the api. verify gpt findings,.,.,,
You are only using the messages tab. Don't unnecessarily request the other tabs
i love that they added their own name to the ui
yeah😭
200 perfectly
Append all strings with "by Vee (vending.machine)"
const Kangaroo 😭
that's my name
they copy pasted it from my plugin
lmao
index.ts: Line 26
const Kangaroo = findByPropsLazy("jumpToMessage");
Perfect lmao
I should make that plugin better
I hate event listeners but they are so useful
I know how to use them and all but I just can't with them like they are too simple for me i guess I don't know
yeah earlier i messed up the api endpoint so i couldnt actually see what the response was for debugging which is why i asked geppity-san to add that 😅
kay ill try making the changes
forgot to remove that before committing 🤦
btw which client functions and components are you referring to I can't find them lol (I may be a bit stoobid 😵💫)
did they just call chatgpt geppity-san.,,.
Hi, concern Linux support, there is a standard for notifications by the free desktop foundation. Most features your pr add, like attachment preview are specified. See this: https://specifications.freedesktop.org/notification-spec/latest Thank you for working on this!
Thanks! I'll certainly look into it
won't be possible without shipping a node dbus lib with vencord
there might also be a node libnotify lib to avoid raw dbus interaction but that's still a native dep that vencord needs to ship
🤥
there's also the portal spec https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Notification.html so to avoid duplicate work it might be best to interact with libnotify
@rotund canopy
you could also be insane and shell out with notify-send (CLI for libnotify) ... not exactly practical as it doesnt support raw image data
not happening
lmao don't we have a common for that
with a proper name

MessageActions.jumpToMessage
yep
Is the addition of server message support still planned? I remember it being on the to-do list, but it's no longer there.
Is the addition of server message support still planned? I remember it being on the to-do list, but it's no longer there.
Eventually yes, this is definitely one of the features I plan to implement at a later date - right now the goal is to get this plugin approved and merged before getting too far ahead.
Update on the Linux notifications:
I have managed to notifications on Linux working. I'm currently facing two problems. The first of which is that this implementation relies on the dbus-next dependency, and the latter being that attachments seem to be capped to a very low resolution (at least on Ubuntu). I've linked a gist below.
| Example scr... |
when will it be tested and merged?
This would be amazing. I update all my apps, including Discord, from Homebrew, and if this were added, I would be able to make a Discord cask in my own tap with a postflight block to install Vencord every update.
This would be amazing. I update all my apps, including Discord, from Homebrew, and if this were added, I would be able to make a Discord cask in my own tap with a postflight block to install Vencord every update.
or you can use Vesktop
Vesktop screensharing has no audio. Vesktop is missing custom keybinds.
Vesktop screensharing has no audio. Vesktop is missing custom keybinds. Until both of those are fixed, it's not really a solution..
Vesktop has built-in audio sharing thanks to its own venmic module. Keybinds will be implemented soon - there is already a pull request for that
The GitHub repo for venmic has the description: "linux audio screenshare for discord (or any electron app) via pipewire"
This PR is for macOS CLI support
holy stupid
btw which client functions and components are you referring to I can't find them lol (I may be a bit stoobid 😵💫)
search for keywords like e.g. ANM.AVATAR for getting avatar urls. join the support server for more help
i turned on the plugin and didnt like my color, so i added this
and the latter being that attachments seem to be capped to a very low resolution (at least on Ubuntu).
This is by design, is it a problem? I just tested it and it looked fine for me. The relevant paragraph
Images may be placed in the notification, but this should be done with caution. The image should never exceed 200x100, but this should be thought of as a maximum size. Images should always have alternative text provided through the alt="..." attribute.
Image data cannot be embe...
I have big concerns about the latter part however, if only local files are allowed, doesn't that kill the preview feature completely?
The attachments are already stored to the machine's %temp% folder on windows, as I found that using URLs was very buggy, and often caused the images to not load properly in the notification
Well ok, that would work. How big is the image preview on windows or mac if I may ask?
I haven't gotten attachments to work on macOS yet, but on windows, the image's width depends on the attachment type setting the user has chosen. "Hero" spans the entire notification popup, and "inline" is roughly 80% of it. You can see an example of the "hero" type on the pr description
isn't that linux only?
Putting a \\i into the match box with when it is already showing a diff will crash Patch Helper
am dumb and broke something, 1 sec
Ah ok, the attachment is the night sky on top of the notification, I thought that was noise mb. Yeah I don't think that will work on linux at all. I got confused by the cat.
| Feature | Works on linux |
|---|---|
| Notification title customization | ✅ |
| Notification body customization | ✅ |
| Attachment preview | ❌ |
| Avatar customization | ✅ |
| Attribute text | ❌ |
| Headers (aka notification grouping) | ❌ |
Not sure about the last one, I'd assume its the example author in ...
Something like this works, I wouldn't claim feature parity though.
I made https://github.com/ctih1/Vencord/pull/1 because I wanted #general and not #DM
Vee has already vetoed any native dep like dbus next #👾-core-development message
it's not a veto as much as it's simply not possible with how vencord currently works lol
but yeah native libs are bad
vencord will go zero runtime dependencies @austere talon
essentially already is
why the hell can't I run this plugin everything on Native is undefined
you need to fully restart discord to reload natives
Vee has already vetoed any native dep like dbus next #👾-core-development message
That's unfortunate, I'll see if I can find any workarounds
Not sure about the last one, I'd assume its the
example authorin the first image of the pr description.
I'm pretty sure the headers are a Windows specific feature (?). They're used to group multiple notifications together in the action center, but also add a visual indicator to the message. I'll try to take a screenshot of this behaviour once I get my laptop working
Vee has already vetoed any native dep like dbus next #👾-core-development message
That's unfortunate, I'll see if I can find any workarounds
Does anyone have any ideas? Creating (or using AI to create) a DBUS interface seems like a horrible idea, as the protocol seems to be pretty complex.
Does anyone have any ideas? Creating (or using AI to create) a DBUS interface seems like a horrible idea, as the protocol seems to be pretty complex.
using AI for a full typescript impl

You mean you don't just tell copilot to write it and then paste every error that comes up back into it until there stops being errors?
Just Grok it ✨
@austere talon you will lock this commit
It is kinda funny that by definition the only people mad at this are children
not rly
the gate in uk and australia requires id verification and some people just dont want to do that
can't be funny in this server smh
I can't
I'm forwarding this message to Nuckyz
what did discord cook
I'll fix if no one does
iwanna try if i can find what they nuked 
for anonymise file names?
yea
ill take a look at webcontextmenus after that
but i dont feel like saveProductWithAttachments is something that it should patch simultaneously i fail to find anything else what couldve been patched prior
unless it is the right thing?
yeag i wish i could compare 😭 would be easy then
take a look at the other patch for anonymise file names
the location it patches is a call to a function
that function was the same called in the other patch, but instead it had one of its parameters as that constant string
find all places where that function is called and try to guess if it's related to attachments
understood what I mean?
if not leave it to me and I will look later
thewy added a ternary
so either make it non-lazy or make it go until after the ternary specifically
cuz if its lazy it ends before the parenthesis and thats why it errors
ah
also
i just found this
why is cancopyimage here
cuz if i make the patch so it applies for it it causes crashes
so u can copy image?
yes but old version doesnt do anything cuz 50chars isnt enough to match
and if i extend it to 120 it crashes on vesktop
whenever you click on an image
so idk
removing the cancopyimage completely makes it work fine
what's the original method?
same thing but if (false) is if (!h.isPlatformEmbedded)
Discord-only support is the worst way to do this! Sorry-not-sorry!
Walled garden bad!
cause it's DiscordNative.clipboard
ahh
it probably shouldnt considering how often its used there
but idk what to do with that patch
^^
idk it doesnt get redefined anywhere so its window.DiscordNative itself thats undefined
but that seems a bit too broad to look for
and i dont think that gets set to undefined anywhere
or is it just always undefined on vesktop 
yeah it seems like its just generally undefined on vesktop/web
so keeping cancopyimage patched like that probably doesnt make sense at all
but idk what to change it to
just return true to canCopyImage and make it use vencord util for copying
but copying images works fine already
a least for me
dont see what that change would even di
then just return true lol
instead of typeof i.clipboard?
ill just put it on line one of the fn
and see what happens
just let me fix it
works fine for me on chrome with match: /(?<=(?:canSaveImage|canCopyImage)\((\i,\i)?\)\{.{0,150})!\i\.isPlatformEmbedded/g, 🤷
im checking on vesktop rn
works for me
ill test with your patch 1s
works with yours
it does it now I guess it didnt build mb
classic
😭
I just made it return vencords copytoclipboard 🤷♂️
seems to work fine
i mean yea but it also works fine if you just dont patch it at all
thats what confused me so much
LMAO
I just saved it twice got this and .png

if you aren't in agreement with how we lead the project feel free to fork it ❤
i mean I get their argument
information being in discord servers has been a disaster for access and preservation
cause its not indexable by the wider internet
Server Guide, Channels & Roles, and Browse Channels now correctly show their icons in the chat channel selection bar.
Before:
After:
i thought you were supposed to add author for any change
do you want me to remove it
yeah
only substantial change
alr done
you still added yourselves to devs idk about that
vtest dev2
Now testing! 
that's fine
just not adding themselves to plugin author
WebContextMenus (had no effect):
ID: 998502
Match: ```
/(?<=(?:canSaveImage|canCopyImage)(\i?){.{0,50})!\i.isPlatformEmbedded/g
**__WebContextMenus (errored):__**
ID: `29264`
Match: ```
/return\s*?\[.{0,50}?(?=\?.{0,100}?id:"copy-image")/
Error: ```
Unexpected token ')'
WebContextMenus (had no effect):
ID: 998502
Match: ```
/(?<=(?:canSaveImage|canCopyImage)(\i?){.{0,50})!\i.isPlatformEmbedded/g
**__WebContextMenus (errored):__**
ID: `29264`
Match: ```
/return\s*?\[.{0,50}?(?=\?.{0,100}?id:"copy-image")/
Error: ```
Unexpected token ')'
do they not have those permissions, why are they returning true
The special channels don't have those perms because discord
do I need to fix merge conflicts myself or can you do that
what merge conflicts?
how did you hit merge conflicts in an hour of the PR being open
there should be none
Ty
if you're merging stuff could you take a look at my PRs ty
they both aren't that big
sorryy I'm tired rn
I'm just fixing what is broken to keep everything clean right now
Conflicts from dev that aren’t there on main
vtest
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
different build
huh?
this is an older build ^^^
I'm just saying that the error is weird
I can't reproduce and it only happens sometimes
o
it looks like if some module which has not been loaded is trying to be required
guessing the error comes from this .call
just a guess though because I can't see the stack trace of it
all good
the spotify acrivity is kinda fat
Personally, other than the shop button and the roles is being rounded, It’s not bad.
Edit the Content Security Policy on load to allow vencord.dev, *.vencord.dev, and localhost (required for devCompanion) domains to load in Firefox
Make a request to https://discord.com/app and get the Content-Security-Policy header, falling back to a hardcoded one if it's missing for some reason
Then just add the urls and add it to a `` tag in the header
I thought that was gonna be a simple change but i got jumpscared by it being an entire plugin
you'd think
And mine 🥺
Holy moly
T- 5 days until my other MR hits one year
.
I don't have the funds to inbest in another cake
new plugin pr soon™️
Merge eta 2030
betterfolders being broken for 18 hours is definitely information that needs to be preserved for the future
I don't think this even works?
From mdn:
Adding additional [CSP] policies can only further restrict the capabilities of the protected resource
you do via the userscript
if anything this code should be userscript only
is there a way to do that or do I have to code that
there isnt but dw about it
i just did a simple user agent check
I'll add it maybe
don't 😭
Thats actually very surprising that there isn’t
because the userscript is mostly an afterthought
Understandable
fair enough
I went ahead and made it a .web plugin for now until you make a userscript check
well so we now have .userscript and .extension plugins
so as it turns out, you can edit the CSP of a page via a firefox extension, but not a tampermonkey userscript
because of course not why should anything work
and I had been testing with a ff extension this entire time
yes because if you compile it as an extension, it uses the extension api to completely remove Discord's csp header
nvm it's a setting in tampermonkey
if you compile Vencord as an extension, it will use an extension background script to remove the header
https://github.com/Vendicated/Vencord/blob/main/browser/manifestv2.json#L37-L39
https://github.com/Vendicated/Vencord/blob/main/browser/background.js#L18
manifestv2.json: Lines 37-39
"background": {
"scripts": ["background.js"]
},
background.js: Line 18
removeFirst(responseHeaders, h => h.name.toLowerCase() === "content-security-policy");
Will set this as able to review because 1. the .userscript and .extension targets and also 2. it does work if you have disabled CSP in tampermonkey
to disable csp in tampermonkey (don't do this unless you only use tampermonkey for discord):
- go to tampermonkey's settings
- go to general and set config mode to advanced
- scroll down to security
- set Modify existing content security policy (CSP) headers to Remove entirely
Also, you'll most likely want to: - set page filter mode to bo...
yea, just tested and it's also broken in the chrome userscript without turning on disable CSP in tampermonkey
*note that this applies to both Chrome and Firefox
^
it only works if u remove discord's header
and then it's pointless cause there's no csp in the first place
Fakenitro stickers sending isnt working, the stickers are unlocked howerver clicking them does nothing
Happens on vesktop and desktop (with no errors in console)
On latest version of vencord
Multiple (at least 3 others) also have the same problem
just in case it's not known already
vtest dev2
Now testing! 
vtest
Now testing! 
Seems like everything is working fine (for now) 
Seems like everything is working fine (for now) 
Is there anything stopping the plugin from being approved? I don't want it to be merged right now, but I'd rather get any issues out of the way before I implement new ones
I'm sorry to necropost on this, but I'm trying to figure out why themes aren't working, and the linked issue was deleted.
i mean issues necroposting isnt that bad
well only if its still an issue
LOCKED FOR SPAM
vee..
bump 
because it is????
necroing year old irrelevant invalid issue for yet another invalid issue
2a4314e ShowHiddenChannels: Fix incorrectly fetching me... - Nuckyz
eafbc0d WhoReacted: fix crashing (app reloading) - Vendicated
f0fcaf7 ShowHiddenChannels: Fix erroring when avoiding ... - Nuckyz
0e90bda Fix AnonymiseFileNames - Nuckyz
db0bcf7 WebContextMenus: Fix copying and saving images ... - EepyElvyra
better wording i think
Would it be better to exhaustively list the whitelisted sites? Maybe collapsed if you don't want it taking up too much space
Otherwise they have no way of knowing what they are besides those two
not really possible
well kinda
idk how to display it there
we can add it in the future if there is demand
Not a huge deal, I just foresee people forever asking what the whitelisted sites are
it shouldn't affect many users
it explicitly mentions github, imgur and (now) google fonts
you don't need more than those 3
Could just make it so clicking "whitelisted websites" opens a modal that has them all listed. that or a details pane somewhere below the rest of it
tbf I don't use themes anyway so whatever works 
venWOKE
wokecord

is this good @limber skiff
made the message slightly better
ready to merge?
CSS will be capitalized
@limber skiff surprised you didn't catch that after correcting capitalization on a code comment
Css
@uneven needle btw for your csp thing
if you want a user friendly and secure way to whitelist domains, do the following:
- add ipc methods for adding and removing domains from the whitelist to your plugin
- inside the native ipc handler, validate that the input is a valid URL (just do
new URL(url)with try catch), then show a confirmation dialog (electron dialog api) to the user with a short explanation. confirmation shouldn't be necessary for remove - if the user presses confirm, add it to the
NativeSettingsobject (please choose a reasonable namespace on this object that guarantees compatibility). Settings api but native with no renderer access - Read whitelisted domains from the NativeSettings
maybe if there is a lot of demand vencord can add an api for that
but doubt
There's a parseUrl function in misc as well that's just that try catch
which you can't import in native
thanks i'll do that
(none of this wouldnt had happened if i had realised earlier that discord allows images from twitter 😭)
you can even do this dynamically lol
like detect csp violation > whitelist url
actually maybe I can integrate that into vencord natively
could be a good compromise for people wanting to use other sites for their themes
yeah
e7076f5 Use much stricter, whitelist based CSP (#3162) - Vendicated
thanks but there's no use case for this. vencord's patcher api has the exact same flaw so this wouldn't even be a valid patch. there's no reason to have \i in a patch
thanks but there's no use case for this. vencord's patcher api has the exact same flaw so this wouldn't even be a valid patch. there's no reason to have \i in a patch
I write my patches in the patchhelper window so it's something I run into quite a bit because i'm editing text directly before a \i
Lol didn't I have a PR for fixing that a while ago
also I'm pretty sure this fixes the underlying patcher as well
no it doesnt
where's the actual patcher then
oh it does actually
anyway the change is very weird
oops
this already looks better
the one by coot seemed wrong
for example \\\i wouldn't be replaced despite being valid
from what i can tell coot's would fail with more than one \
if i'm reading it right
it works
see the video in the PR comments
ill trust you on that, too tired to wrap my head around it 
go ahead and merge this one tho because it's cleaner
i never even use patchhelper
tbh i stopped using it after i integrated a version into vscode
i just use the og companion
it's also annoying to have to have the settings page open to do it
I only use it because it shows what i'm relpacing in real time
you mean patch helper?
ye
same lol
I dont even use the companion
I just write the patch and in case case I cant see why it doesnt work I paste into regex101
Thanks for your contribution!
This csp plugin is not actually useful for the reasons mentioned on the Discord (in cases where the plugin can function (no csp header), we don't need it anyway)
The rest is a good addition but I'm not a fan of passing around the isExtension boolean, style isn't quite right and there are some missing parts (mainly build time constants for the new build targets) so I'll just add the same targets myself
make sure to follow conventional naming, also this function is missing typing
function makePlugins(isExtension) {
make sure to follow conventional naming also the typing needs to be updated
export const globPlugins = (kind, isExtension = false) => ({
review pr
close it
you know you know
at least it got reviewed

😭
vgithub
I've sent you a DM with more info!
Oh I completely missed this PR until now, but I added this myself (along with pkexec support) a few weeks back: https://github.com/Vencord/Installer/commit/1d8f9c32c2ba6c0dd652a6863fa6383eb6a5226e
thank you nevertheless!
thanks!
It's a bit awkward because the Go language server literally ignores the existence of files excluded by build constraints so if you do a global refactor it won't update those files... (e.g. if you do a refactor on linux, it won't do that refactor to windows & mac only files; here I had the gui target excluded so it only updated the cli)
how does this work? are you supposed to unzip it to get access to the binary? I'd prefer if it were a separate file, just upload the binary directly
I don't really want to make any new changes to the installer tbh
should I
yes
yep
technically u can kinda use css with the userscript but
a) the editor just doesn't work so u have to import with settings sync
b) literally 0 external stuff
so i do think it's better UX to just recommend stylus
but stylus might be confusing to figure out
Themes Are Not Supported On The Userscript
Use Better Discord On Desktop For A Better Experience
😭
tbh not really
installing a userscript is about as hard as installing a style
and this if you click edit quickcss
people who don't use chromium/firefox will simply cope
imo that popup is just annoying id just hide the quickcss button altogether
confusing
how is it annoying
you just click out and go about your day
why lol
vencord code is structured so bad I wanna do a big refactor
like the file structure
do
ikr lmao
make it a proper popout
that's so ugly
why not just use a discord modal
yea this is exactly why i hate those popups for some reason i never found that word to describe it 😭
vtest
Now testing! 
OverrideForumDefaults (took 7ms):
ID: 131704
Match: ```
/getDefaultSortOrder(){/
Cannot read properties of undefined (reading 'call')
TypingTweaks (had no effect):
ID: 738619
Match: ```
/.map((\i)=>\i.\i.getName(\i,\i.id,\1))/
ShowHiddenChannels (took 37.1ms):
ID: 302270
Match: ```
/(?<=&&)(0,\i.jsxs?).{0,180}.buttonIcon/
**__ShowHiddenChannels (took 12.2ms):__**
ID: `677601`
Match: ```
/(?:{|,)render(?!Header|ExternalHeader).{0,30}?:/g
discord added it randomly only for vencord reporter to mess with you
Just vibecode it
vtest dev2
Now testing! 
i made most ErrorBoundaries noop
typo

and even show noop in dev
I thought you were gonna ask me to review csp PR before merging it
TypingTweaks (had no effect):
ID: 738619
Match: ```
/.map((\i)=>\i.\i.getName(\i(?:.guild_id),\i.id,\1))/
ShowHiddenChannels (took 7.4ms):
ID: 677601
Match: ```
/(?:{|,)render(?!Header|ExternalHeader).{0,30}?:/g
ShowHiddenChannels (took 5.2ms):
ID: 473403
Match: ```
/(?<=.wrapper:\i.notInteractive,)(.+?)(if()?(\i)(?:)return |?)(\i.MUTED)/
it's gonna be funny if you have a random errorboundary here or somewhere
i mean you did already
the changes I made were just the ui showing u what got blocked
unable to do anything error boundaries everywhere 
vtest dev2
Now testing! 
trust the code 
(I doubt it's gonna have issues)

everyone will be stuck on broken version
with broken updater
support nightmare
just need to test
do it real quick and merge then
ContextMenuAPI (took 5.8ms):
ID: 987281
Match: ```
/navId:(?=.+?([,}].*?)))/g
PinDMs (took 5.7ms):
ID: 831218
Match: ```
/(.startsWith("section-divider").+?return 1===)(\i)/
I swear github is just being slow again
SCARY
so many patches being marked as slow
okay i will test
nice
also while doing the ErrorBoundary change
I noticed some bad places that weren't using noop
lmao
like typingtweaks avatar didnt use noop
imagine having big ErrorBoundary card next to typing indicator
so you mean here
because I just fixed it and error boundary was catching it
LOL
users are going to be jumpscared
ah no
mentionavatars
thankfully
okay it seems to work
but i'm still scared lol
i will merge
i have an idea @limber skiff
we make this update
then we wait until it publishes
we update to it
then immediately push a second change
update to that change too, see if it works
if not we can emergency revert it
maybe you can also test:
git checkout main
git pull
git reset --hard origin/HEAD~1 # head is now at SHC fix showing lock
curl "https://patch-diff.githubusercontent.com/raw/Vendicated/Vencord/pull/3436.patch" | git apply -
pnpm buildStandalone
then fully restart discord
there should be 1 update
try updating to it and see if it works
vencord would benefit from Bun
and NixOs
i hate that there's so much random shit in the utils folder
like why is quickcss and theme code in utils
vencord would benefit if my settingsarray pr was merged 
isn't that your average utils folder
has all the slop with no clear structure
yop
yeah but it's awful in vencord lmfao
utils/utils.ts
isnt that the point of a utils folder
kinda

does this actually need to be native? try doing it in the browser instead
if the text contains " or \, this will explode. use JSON.stringify
I tried it, and it gave me some CORS error, moving it here fixed that
that's so true
that u havent pushed yet
I mentioned the other day
I'm looking at prs but nothing quick
a bunch of files with utils import webpack commons when they shouldnt
oh yeah this is good https://github.com/Vendicated/Vencord/pull/2938/files
and then 
i also have one open that allows to hide replies to blocked messages
quite short but dont know if it still works 
It provides the text for the glow effect behind the username, without this if you use any setting that isn't displayname first it won't match up. Code repetition is just laziness because one needs the suffix span and the other just needs text
this description is so bad lmao
i dont understand what this is saying
got jumpscared from my other monitor 
I did it while I was supposed to be working 
also this looks like it would conflict with other mention plugins
that's what it was when i made that pr
It was coloured previously unintentionally because the thing was broken
yes it's good in username
but not mentions
like this is clean
but inside mentions it isnt
Oh these are different things, ignore me
can't believe a vencord dev has to install vencord
why tf does this need so much code Vendicated/Vencord#2929
i'm going to eat then clean up that pr 
i keep getting jumpscared
see pr title
oh yeah surely this is just 3 lines
look inside
50 new lines of code
ngl we need more reviewers
The spoiler component was within the embed class so I couldn't just use a find
It was baby's first pr so it might be able to be done better these days
I'm gonna rework how plugin cards look soon with components v2
let's wait for that and make these buttons look less crap then (not the ugly blue buttons)
i dislike this change. we should instead just change the plugin to use the doubleclick browser event which respects your OS preference as mentioned above
doesnt the plugin already use the event
nah
okay I have it installed with http
do you love




I should also note, kagi translate is free on the website, but it makes a session_token using a CF challenge, so if you want to test this plugin without paying for kagi, you can remove the Cookie header and instead add a "session_token" key to the body JSON. I think this token expires quite quickly though, so I didn't implement support in this PR, but if desired I could make the setting take either a kagi session or a translate session
I don't think you can scrape a captcha..
requiring api key sucks balls
are you saying you always need to resolve a captcha to translate?
lmao
yes
you need to solve a captcha which gives u a session token
that's the one I mean yes
they really don't want you to scrape it
undertsandbale
do i merge the pr now
and then we test
test in production
🔥
sorry but I dont think it's useful to have that service then
i mean we have deepl with required key too and ik some people use it
no one is gonna generate an api token to use it
I did test it from main myself, tho my branch is outdated atm
but idk how popular kagi is
never heard of it
me neither
it's pretty powerful from my experience, DeepL often throws out quite messy answers
I feel like it fits better being a third party plugin
yay?
if one really wants to use it
ready for death?
okay so
also google translate doesn't even work with traditional chinese for me, lol
oh its that pr 
- I merge into main
- we wait for build
- We update our client to it
- I merge a pr into main
- We test if we can update to this new change
yeah just revert
testing in production
only few people will be affected
ye
i mean I tested already
do it
but just in case things go south somehow
it aint gonna break I have faith
updater changes are so scary ahaha
e7076f5 Use much stricter, whitelist based CSP (#3162) - Vendicated
fae15db avoid showing ugly red error cards to users - Vendicated
c19827a UserScript: disable theme ui, instead recommend... - Vendicated
9430803 TypingTweaks: Fix typing avatars and names disa... - Nuckyz
47856a2 Updater: fix network errors triggering popups (... - Vendicated
also would it be possible to hide these settings until either service is selected? It feels a bit cluttered already
nah
oh well
-# via custom settings components it is, but thats complicated
@austere talon merge something now
same
did i fuck it up

This has always happened on canary and ptb
updater works
doesnt for me
why is this still old commiot
oh it isnt
but updater no work for me
it says up to date
worked for me
yop
ill bump you off a cliff
incredivle
we pushed strict csp
indeed
i was gonna say
okay updater worked
tenor seems like something we should allow 
it's what discord uses lol
why tf are u using shit from tenor as background 😭
retarded
you're adding so much lag by using 30mb gifs

tenor seems reasonable
@austere talon vveev you should prolly make venbot sticky for that stuff everyone is gonna come about it
or at least a command
vsticky
No sticky found. Use vsticky set [message] to create one
genuinely useful not lying
ehh
all the background theme goblins gonna come crawling out of their holes
gonna be a fun time
tessie time
give your git token to venbot then just run shell commands
@austere talon allow tenor for banger gif
people will copy and paste from their favorites
@austere talon you should probably update #theme-support in regarding allowed image hosts for themes, well and put something in #🎨-theme-development
yop
I'm gonna whitelist the top 3
oh, the top is just pintrest
what is a alphacoders

