const FrecencyUserSettings = find(m => m.ProtoClass?.typeName.endsWith("FrecencyUserSettings"))
// get current favourite gifs
FrecencyUserSettings.getCurrentValue().favoriteGifs.gifs
// add favourite
const data = {
url: "https://tenor.com/view/wumpus-discord-repost-if-you-repost-gif-20674712",
src: "https://media.tenor.com/citg5i4shIwAAAPo/wumpus-discord.mp4",
format: 2,
height: 640,
width: 640,
}
FrecencyUserSettings.updateAsync("favoriteGifs", state => {
state.gifs[data.url] = {
...data,
order: Math.max(...Object.values(state.gifs).map(g => g.order)) + 1
}
}, 0)
#๐พ-core-development
1 messages ยท Page 105 of 1
does that work with other websites that are not supported by discord?
yes
but format is different and idk if u just omit src or what
just favourite some gif from elsewhere and you'll get the necessary info
i dont remember i see one here
and i saw one in bd server but iirc it just changes the image position, image still got cropped
Is there a limit on the number of gifs you can favourite?
oh yeah it was in the BD server
A new harder drive could be using favourite gifs to store data
are the urls validated/is there a max size
servers like Apache have a default limit of 64K characters in the url iirc
oh yeah, the url is in the body, not the URI, so that limit doesn't apply
if the url prop is not a valid url it'll render it as an empty panel with no way to remove it
unless url is undefined in which case it renders as the placeholder image and allows you to remove it
wrong, probably something to do with order.
I'd imagine you'd put this in the src prop instead of url
you can have shiggy in the src and the real data in the url
https://cdn.discordapp.com/emojis/1024751291504791654.gif?size=48&name=shiggy&quality=lossless
right?
other way around, url gets used as a key in the favourites object and src is probably just passed to img src={}
anddd maybe url is whats sent when u send the gif?
idk I've lost interested
now that I think about it, is there even any reason for us to continue the firefox addon
im considering just dropping it entirely from the firerox store
firefox users can just use the userscript
publishing to the firefox store sucks so much
huh, why?
from my experience it is the best store when publishing an extension
you actually get to talk with the reviewer, unlike google where it tells you that smth is wrong and you gotta resubmit it
am I missing some drama?
and they are pretty fast when it comes to accepting updates
no they aren't lmao
their guidelines are overly strict, their reviewers are incompetent, the review time is way too long
I haven't updated my extension for the last 3 years, so that may have changed lol
oof
also they require you to submit source yet THEIR OWN OFFICIAL tool has no option to do so
so it means manual work for me
huh, yeah editing CSP ain't a normal thing
the intended way is sharing data between the extension's background script and the content script
no
even stylus can't load external stylesheets
we need to remove csp to load external stylesheets
95%+ of themes do that
we also need to remove csp to be able to use monaco
so that already eliminates themes and quick css on firefox
we would need to make monaco a separate extension window and do ipc to get outside of the page csp
and that's a lot of wasted effort
yeah, you would need to refactor almost everything in order to support that system
sucks
does the userscript have monaco and themes?
do inline styles have CSP?
does discord forbid them?
no but from most sources
meaning @import "https://banana.github.io/banana.css" won't work
and that's what the huge majority of themes do
if we parse the styles to handle the imports ourselves, it is possible
import statements can only be at the top, so it aint that hard to parse
yes but you'd need to fetch them via a background worker using csp or using GM_fetch
as for stuff that uses background: url(...) we could also parse that and use data uris, but that is a lot of effort
for themes the worst that could happen is that it takes longer to apply the theme
I can work on this (just for themes for now)
(I don't think anyone would notice)
considering how buggy discord is, thats true
lol
@austere talon is it possible for ur to make a userscript that is not minified?
why
oh yeah, I could have a local http server and import it using a wrapper userscript
this?
yeah
you can use it to fetch it synchronously
cause remember we need to run at page start

thank god, I would have resorted to a mutation observer and just freeze the page until it loads
(yes you can do that, mutation observers can have async callbacks, and it waits)
yeah can't get from localhost due to CSP, gotta use tampermonkey api
so I'll use the mutation observer to block the page
at last
localhost kept failing (tampermonkey @connect only accepts domains, not urls), so I had to use a cloudflare tunnel
anyways, time to start working on theme sideloading ig
MutationObserver 
concern
what is the concern?
this is only used to help me iterate faster on the userscript
manually re-installing or updating a userscript is a pain
having a wrapper that loads a local file is good for debugging shit
I fetch Vencord.user.css and Vencord.user.js every time discord loads
instead of re-installing the script
no, to quote a theme developer
... videos in a mosaic will always open in a popout and images may end up being blurry
yeah
i tried to make a patch but it was pretty hard
looking at the build diff is annoying because all of the symbols change
yeah it's pretty horrible
everyone knows that's the case
even discord?
clearly not
they removed the experiment flag for media mosaic
so not everyone 
https://github.com/Discord-Datamining/Discord-Datamining/commit/d8a2e32b8a6b77ed9e838bfa83759d34610539e9#diff-8abe75b0746504cd54f29dadabba1bd6703c28f7c29ab720742a616239e6149dL558344
https://github.com/Discord-Datamining/Discord-Datamining/commit/d8a2e32b8a6b77ed9e838bfa83759d34610539e9#diff-8abe75b0746504cd54f29dadabba1bd6703c28f7c29ab720742a616239e6149dL658580
https://github.com/Discord-Datamining/Discord-Datamining/commit/d8a2e32b8a6b77ed9e838bfa83759d34610539e9#diff-8abe75b0746504cd54f29dadabba1bd6703c28f7c29ab720742a616239e6149dL664214
this seems to be the interesting stuff
what
what about it
where the experiment checks were removed. i think.
interesting that seperate links don't mosaic at all
consistent ux โจ
thats... just analytics...
oh
and obv the exps got removed
lol
they take from ws/exp ep
and just match the treatment
if you have the treatment
win
if no
skill issue

so they didn't change any functionality in that build?
they just removed the experiment?
like i would've thought there'd be a function that's being called to check the treatment
yes
surely there's a build where they did?
or could you literally just add the experiment back
not as shrimple as that
someone else who knows what they're doing can make this plugin ig 
well okay yes it also does check if the experiment is enabled
but analytics are included

glhf (literally)
๐ญ ๐ญ
i might as well try my best
if you never do anything without enough knowledge you never learn everything (how do you think people learn to fly planes, drive etc) /s
trying to build a plugin and i have some patch errors
i am using --watch (which means IS_DEV is true)
but i am not getting the verbose error message when my patch fails
nvm i was just being dumb and had a logs filter
DUDE
mozilla isn't real
yeah man im definitely gonna give you my discord login that you won't even be able to use because I'll have to confirm your login
i will drop vencord from the mozilla web store this is getting too ridiculous
DASHKJLASDJKUOIHSJDAUHIOADSOUIJHDSAJIODSAKJIODKSLAAHOUIDSOHUIDSOUHIMDIOLAKSJIODASJOIDSAJOIADSJIODJOIP:QWEJOIDKEWIOUJFREWUHOIEFRUIHGIFRUYWIUHFDWIUHFEHUIJOKFEDW
test username doesnt mean your discord login but yeah
it will send notif

wise words from drake
mozilla is gonna come to your house and kill you at this rate
they are asking for test credentials, not ur credentials
discord will send you email eitherway
i don't own discord i don't have test credentials
also, this reminds me, I made an account for nyaa.si back when the registerations where open, so that they can test my extension
any credentials i provide are my own
so mozilla people have an account to a website that you cannot register to
thx to me
lol
they should make their own account it takes 10 seconds
also the guy reviewing definitely has his own account
or just not test it bruh
you want the guy reviewing to risk getting his discord account banned for breaking TOS?
hey look it's me
LOL most extensions are unofficially modifying sites
anyway idgaf im not gonna argue about this
nice avatars
thanks
it's my fav emoji
i don't want to have to bother anymore so i will remove the extension from the store
you will regret in #๐ฅ-vencord-support-๐ฅ
userscript will be the option for firefox
they should feel lucky lol
urgh
everyone should use chromium based browser alhamdulillah
is there no nice way to add extensions outside the store?
f*refox so bad
I wouldnโt be actually surprised if firefox support got dropped.
because i'd be happy to manual install
unpacked extensions do not persist browser relaunch
no it's impossible on firefox because they hate freedom apparently
Hello,
Due to issues discovered during the review process, one or more versions of your add-on Vencord Web will be disabled on addons.mozilla.org in 14 day(s). Please see the reviewer's comments below for more information:
This addon didn't pass review because of the following problems:
- Please provide us with detailed information about your current location, your identification and billing info. This can be provided in the Whiteboard field, which can be found in the Edit Listing page under the Technical Details section. This information may be shared to third-parties
you can only install unsigned extensions on firefox nightly
didn't
lets make venfox
๐ฅ whyy ๐ญ
why the hell
or just use vesktop, you know
i was talking about a fork of firefox with vencord built in ๐ฅ
but okay i already do
that is too much effort
firefox devs on their way to make worlds worst developer experience ever 
or firefox came to their senses and it's only available in unreleased versions i wish
well, it aint THAT hard, I have done it before
but still not worth it
the plan is
- remove vencord from amo
- add back the firefox csp removal logic and provide extension zips via release
- people can either use the extension zip on nightly or the userscript
can you not change something in about:config?
or they should just use a less shitty browser
the easiest solution is to make a shell script that launches firefox with that extension
and just use that shell script instead of the shortcut
famous last words
(deleted message = brain fart)
it's crazy to me how mozilla pretends to care about freedom and decentralisation
then they turn around and make their extension ecosystem more locked down than fucking ios
Welp now this is weird, first people hated chromium now weโre returning to it as Firefox got way worse throughout the years
who even hated chromium
Perhaps people who dislike google
(ungoogled) chromium is the best experience to me
I use oper gx
Well I use it
you're still using a fork though 
eitherway isnt chromium more memory efficent and faster than firefox
chromium is funny because it does have a monopoly on the browser market excluding firefox and safari derivatives
it is the best choice though 
i don't think it's a big deal
well its a browser
i haven't noticed a big difference
the stuff matters are privacy,extension support, user experience
which includes memory and speed
i don't think firefox's difference in speed really has an impact on user experience
fwiw we've literally never noticed any difference between speed of gecko and chromium browsers
yeah i haven't really
i thought firefox was faster at one point lol
just be patient dude
๐
Warning doesnt like firefox
Warning is wrong
where is patch helper i installed from git but its not there
Same
i use firefox becuase it's not the chromium monopoly
I used to use firefox
But...not so great when developing extensions, so I dropped it
@crude hearth certified mod abuse
i removed your mean reaction
chromium is open source at the end
when media mosaic gone ๐ญ
I dont care about "monopoly"
google can at the very end begin controling the whole html spec
in addition to css
Well, the open source chromium doesn't have a lot of codecs, so it really depends on your needs
well they have the most users
as long as they do it correctly is something wrong with that
make it gone
my brain isn't braining
- the only reason i tried isn't because i'm clever, it's because i'm bored
I am rooting for Ladybug to become a big contributor to the HTML/JS/CSS specs
i don't understand javascript
Why
you mean ladybird?
or is there another browser
Autocomplete got the best of me
female bug
nobody does
You done anything yet or nah?
i've tried things
i tried
{
find: "().removeAttachmentHoverButton",
replacement: {
match: /(?<=mediaLayoutType:\i\.\i\.)MOSAIC/,
replace: "STATIC"
}
}
that just made it weird
Making some popcorn, I'll hop on my computer soon to help out
just do the whole thing 
it is only visible when building using pnpm watch
you love insane shitcode
test
you need to build with watch flag
oh
what's their discord
i want the reverse, to have access to the github ๐ญ
@lime stone what exactly are you trying to do?
to turn this to the old style?
ye
๐ญ how did you even comment on the prs after it all happened
like "oh i suddenly don't have any time sorry"
I haven't made a comment since I was banned
i legit cant
is this good enough for you?
it's not the old layout (idrc but it's a tiny bit annoying ig)
what did you do though?
{
find: "twoByTwoGrid:",
replacement: {
match: /(?<=\w\.exports=)\{.{1,601}twoByTwoGrid:.*?\}/s,
replace: m => m.replace(/(\w+):(["']).*?\2/g,
(_, k, q) => {
return `${k}: ${q}${q}`;
})
}
}
along with ur patch
which made it super weird
lul
or you could just manage a stylesheet that overrides those classes, that way it does not require a restart to enable/disable
BrainRotCord?
just RotCord
it is where I plan to make my plugins from now on
since I can't participate upstream
Will try to stay as compatible with upstream Vencord as possible
so you can take my plugins if you like
hey, modern problems require modern solutions
speechless
๐ฅ
and charge people for access? lol
yes!
lmao
๐ฟ ๐ฟ ๐ฟ
message gets filtered by automod
reposts picture & laughing about themselves
cant even reply ffs
why doesn't discord filter pictures that show "This content is blocked by the server"
imagine the number of false detected images if discord did, also that would require spending more cpu/gpu time on OCR
you can't insert people with common sense
4k screenshot
@austere talon can you prune this
nuh uh
what's the relevance of it to vencord dev
there i deleted it
๐ก
#plugin-requests message yo so youre telling me, if i wanna make a plug in i gotta make a PR on github and all of that shit? have it show up on the plugins tab??
i am just tryna change the moyai plugin a little bit i dont want to do all of that lol
Nevermind i am dumb dev build moment 
Is there a way to create a websocket server inside a plugin? I'm trying to import it with this:
import { WebSocketServer } from "ws";
but I'm getting this error:
โ [ERROR] Could not resolve "ws"
src/userplugins/obsidianExport/index.tsx:26:32:
26 โ import { WebSocketServer } from "ws";
โต ~~~~
You can mark the path "ws" as external to exclude it from the bundle, which will remove this
error.
I assume the ws package isn't a dependency, but I'm not sure how to add that easily
Keep getting a report that the Apple Silicon Dmg (Arm64) is damaged. Would love to have it run correctly vs. having to run the intel version. Might be anecdotal, but typically have less issues with native apps.
you cannot
plugins run in the renderer ( browser process )
to run native things like servers you need to add code to the main process and add ipc for interacting with it from your plugin
Is there a current plugin that I could use as an example or would I be better off having my plugin connect to an already existing server? I'm trying to get Discord to communicate with an external program that I'm also making a plugin for.
arrpc
That one only connects to a websocket server, it doesn't host one itself
cookievee mentioned IPC so I was looking for a plugin that used that.
maybe tell a bit more about
what you're doing
Essentially I want to be able to export a user and their public-facing data into a an external program, Obsidian in this case. I figured the longer-running program would be best as the server, which is Discord. So Obsidian, which I also expect to make a plugin for, could come and go without my Discord plugin complaining.
A secondary issue that I'm still looking into is how I extract my user notes and the user's connected accounts, but that's a bit further down the road.
I suppose I could also completely forget the websocket idea and just save files
(also impossible because renderer doesn't have access to the filesystem and there shouldnt be any pre-existing IPC methods to arbitrarily read/write to it)
i think the websocket would make much more sense in obsidian
otherwise you'd need to always run discord before obsidian
if the socket is inside obsidian, you just lazily connect to it whenever you want to export users - or better yet, you would not even need a websocket, you could just use a plain http server and send normal requests
That's fair. The original reason for a websocket was two-way communication, so I could request information from inside Obsidian and it would ask Discord. I'll go for the Obsidian server and see how it goes.
Fix the command API, broken by discord removing the /giphy command, which was used to locate the injection point for the CommandAPI _init() function. This fix is only a sketchy temporary fix and i am uncertain whether it should be used over a better, more stable solution.. but it works for now for me ig? I am mostly worried that i have seen some users who still have /giphy.. so this would break the CommandAPI for them..
Would an if check work here?
1776
just wait for stableโs next update lol
then and only then itโll be removed everywhere
ahh sorry i got no idea im not very experienced with vencord plugining yet..
its fairly simple to make the patch work for both groups
does anyone know if you could use the backspace and click plugin to delete messages from search?
this should make it work with both versions. i haven't tested it but it should work
match: /(?<=\w=)(\w)(\.filter\(.{0,60}tenor)/,
why not
I was thinking an issue when you use quantifiers
Where would I suggest the following?:
Thread checking ie finding threads in a specific threadchannel ie ones I created/own
Emoji downloads as in complete server or any emoji I select
Separating group chat and dms
also its just an old patch i wrote ages ago
look how it even still uses \w instead of \i
commandsapi
one of the first plugins and the patch still hasnt broken until now
and the only reason it broke now is cause they removed giphy that the patch includes xd
rip giphy
i love how there was never even a way to use it other than via the command
lmao
Bad Patches
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
MoreUserTags (had no effect):
ID: 609853
Match: /children:\[(?=\i,\(0,\i\.jsx\)\("span",{className:\i\(\)\.botText,children:(\i)}\)\])/
MemberListDecoratorsAPI (had no effect):
ID: 742224
Match: /Fragment,{children:\[(.{30,80})\]/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
MemberListDecoratorsAPI (had no effect):
ID: 879639
Match: /(subText:(.{1,2})\.renderSubtitle\(\).{1,50}decorators):(.{30,100}:null)/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 881335
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
CommandsAPI (found no module):
ID: -
Match: "giphy","tenor"
ForceOwnerCrown (found no module):
ID: -
Match: .renderOwner=
MoreUserTags (found no module):
ID: -
Match: .renderBot=function(){
Bad Starts
None
Discord Errors
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
noo betterroledot
nah betterroledot is false positive lmao
yeah that looks like it should work for both, ive tested on mine (which has new /gif) with no issue, i can only assume it would work on old (/giphy) also
Bad Patches
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
BetterRoleDot (had no effect):
ID: 461884
Match: /"dot"===\i/
MoreUserTags (had no effect):
ID: 609853
Match: /children:\[(?=\i,\(0,\i\.jsx\)\("span",{className:\i\(\)\.botText,children:(\i)}\)\])/
MemberListDecoratorsAPI (had no effect):
ID: 742224
Match: /Fragment,{children:\[(.{30,80})\]/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
MemberListDecoratorsAPI (had no effect):
ID: 879639
Match: /(subText:(.{1,2})\.renderSubtitle\(\).{1,50}decorators):(.{30,100}:null)/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 881335
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
CommandsAPI (found no module):
ID: -
Match: "giphy","tenor"
ForceOwnerCrown (found no module):
ID: -
Match: .renderOwner=
MoreUserTags (found no module):
ID: -
Match: .renderBot=function(){
Bad Starts
None
Discord Errors
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
cause i know

its a false positive cause of how the tester works
BetterRoleDot has duplicated patches that are gated between mutually exclusively predicates
but the patch tester removes all predicates so it tries to apply the same patch twice
for obvious reason the second one fails
holy shit
for that reason I added a noWarn property to patches
that's only used by patch tester and nothing else
I was going to manually push to the patches array somehow
also, most users will have updated discord by the time that vencord update also, no?
03b5dc9 BetterRoleDot: Fix ci test false positives - Vendicated
discord really be rewriting the entire memberlist code
i hate when variables are shadowed so you have to do this cursed horror
still broken:
- MoreUserTags member list patch
- ForceOwnerCrown
- (IgnoreActivities)
so true
why doesnt MoreUserTags use the member list decoration api?
the world if i could just ge.arguments
fuck strict mode
7929568 PictureInPicture: pip button hover styles (#1775) - AutumnVN
This particular feature would be extremely useful for me, to be honest- I recently switched from BD to Vencord, and the PinDMs plugin I was using on BD had folders, which was nice. I could group the people I talked to by relationship (artist, friends, etc)
MoreUserTags: The fix seems easy, basically its now a child instead of the top return but i ran into issues with props.user being undefined so i didnt bother trying further
ForceOwnerCrown: i cant find the code because idek when the crown isnt already shown so i have no idea what to look for
also chrome store publish failed because some update is pending apparently
Multiple categories for pinned DMs for example: friends, games, developers, staff etc. (like in BetterDiscord's pin dms)
This would be excellent to have
what if we strip out 'use strict'

cc @verbal pumice and @vagrant topaz
anyway im gonna sleep im so fucking tired
cant we load our own script with a function to get args from another which doesnt use strict mode?
and then place that on the window obj or something
Bad Patches
MoreUserTags (had no effect):
ID: 609853
Match: /children:\[(?=\i,\(0,\i\.jsx\)\("span",{className:\i\(\)\.botText,children:(\i)}\)\])/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 881335
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
ForceOwnerCrown (found no module):
ID: -
Match: .renderOwner=
MoreUserTags (found no module):
ID: -
Match: .renderBot=function(){
Bad Starts
None
Discord Errors
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
maybe use ipc
Bad Patches
MoreUserTags (had no effect):
ID: 609853
Match: /children:\[(?=\i,\(0,\i\.jsx\)\("span",{className:\i\(\)\.botText,children:(\i)}\)\])/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 881335
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
ForceOwnerCrown (found no module):
ID: -
Match: .renderOwner=
MoreUserTags (found no module):
ID: -
Match: .renderBot=function(){
Bad Starts
None
Discord Errors
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
can't
the target func needs to be non strict
ugh
I had a concept for a plugin:
Right click a server and you get an additional "move to folder" option. How hard would that be to develop?
why not just drag and drop
Hi! I want to help localize Vencord into Russian, is this possible? Thanks for the answer 
there isnt a system for that yet
Thanks :(
i wanted to do this forever ago to enter keyboard mode to move the item but its near impossible to interface with the keyboard mode context to enter it outside of the keybind
shit css
btw anything that modifies the member list and dm list is broken because they finally made them functional components instead of class based components
Running on Steam Deck currently fails due to /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.32' not found`.
(i am just the messenger and do not own a steam deck
)
@placid wave owns
are you sure you built vencord again and restarted
also check if there is anything on console
What prevents this to be compiled is https://github.com/Swishilicous/discord-types being not updated on NPM while having that new globalName property: https://github.com/Swishilicous/discord-types/pull/2
I would suggest the following solutions:
- Press
discord-typesmaintainer to update those deps on NPM - Fork it
@Vendicated sorry for this inconvenience
if you search for your patch in the sources is it there?
I mean the file for the plugin
๐คจ
idk
owo
nico...
owo
we are searching for isOwner:e in the sources, however your patch removes that, so it doesnt find the patched version 
it is working
@vagrant topaz ^^
nono
in the devtools, to find the code you are searching for ",isOwner:e" right
that does show you the untouched code
but not the patched one because it removes the e at the end
search for isGuildOwner(
nono
in the devtools


@austere talon you can compile one against ghcr.io/SteamDeckHomebrew/holo-base
Just use as any like in ShowMeYourName :duck:
yeah i noticed
I already fixed
pr
i broke it again 
Just use
as anylike in ShowMeYourName :duck:
Thanks, gonna try that ๐
Just use
as anylike in ShowMeYourName ๐ฆ
please use as string or as any as string to keep type safety :fear:
horror
i think it meant (user as any).globalName as string
that doesn't make any difference
i hid the reply because it's just gonna confuse that person
๐ญ
we should just fix the types anyway
they seem to not know how typescript works and now you're giving them conflicting info
This MAY help a bit if you actually want to compile the right project.
Simple utility to (un)collect packs with just the guild id, and some patches for fixing packs from joined servers.
any updates on the plugin?
๐ญ
i am going fucking insane
how does a patch work in patch helper but then throw no effect when you actually try it
what did you do?
nvm im stupid
fix line 254 too, ",botType:" matches two things now
hmmm
(not about vencord, it's about work)
Moving plugins within folders would be nice but I'm not really sure how it could be done. Dragging would be ideal but as Menu Items I don't think there's an easy way to drag, so I don't think it's an option unless they're changed to being a custom Element :(
This is an option I guess, but not sure if it's the best one
that's pretty bad in terms of ux
HORROR
why don't you just rename to commentdb at this point ๐ญ
(you are not generally meant to delete reviews and nobody uses it seriously lmao)
tbh most bad reviews i've seen have not been helpful
i saw somebody leave reviews on people's profiles just because of an argument lol (as well as edit their profile)
where's the reviewdb server source code
I guess you can't reply to reviews or post multiple
would be funny to have a plugin where you could have (essentially) a discord channel on everyone's profile xd
(not cursed)
lets be real reviewdb was not supposed to exist outside of a joke aliucord plugin
reviewdb stops being funny at the point where people comment unwanted stuff on ur profile
its just a silly meme plugin to have fun
not trustpilot
ah
i tried to check but i only found stupiditydb which seemed to entirely be done by rgbcube 
petition to allow
in reviews ๐
they should whitelist emojis that come from known clientmodding servers
so we can have stuff like shiggy and trolley
well i had an idea on how it could be done but it seems like it would be quite messy
i guess you could allow them but users won't be able to see whether they're allowed until they're sent which isn't ideal
there should at least be something "this user has deleted x reviews from their profiles"
no
naaa
because there are people who do take it seriously
unnecessary
nah
tbh
they shouldn't
eh fuck it not like i care
well thats what I am talking about
these stuff dont offend people but its at least unique and fun to keep
no its not
we will lose everything that was like that
mantika doesnt understand that people don't like annoying / insulting comments on their profile
it shows the average discord user
https://cdn.discordapp.com/emojis/1095049440835928234.webp?size=48
bleh
if someone's reviews are all clean and happy that's a red flag anyway
can't stupiditydb be the serious plugin? in fact, what has happened with that?
you'll be able to tell who deletes reviews
the disabled reviews in question:
my reviews are all clean and happy lol
mine are and were on my old account
I will update it when i got time
๐ญ
i just said that i didn't like windows 8+ much ๐ญ
horror
didn't everyone think that at one point
ahhhhhhhhhhhhhh
๐ญ ๐ญ
unban me bruh @austere talon @austere talon
i thought that one went
van
van
vvan <@&1155651362860843038>
can you theoretically make it so that the server owner can delete reviews
that would be abused by random people + all big clientmod server owners have reviewdb mod anyway
Actually I get a crash with this build -
77cadfdbb8448a8c8452.js:3489 TypeError: Cannot destructure property 'user' of 'undefined' as it is undefined.
at Object.patchDmList (index.tsx:122:21)
---
patchDmList: ({ user }: UserProps) => {
if (!settings.store.showVoiceActivityIcons) return null;
return (
<ErrorBoundary noop >
<div className={vaCl("iconContainer")}>
<VoiceActivityIcon user={user} />
...
what server?
it's unknown
ah
i can try finding it again lol
no its fine (i have a gif i wanna send)
i guess server reviews aren't really personal
but i wouldn't want slurs in reviews on my server
(ig the report button exists)
most slurs are blocked and ban if you send one iirc
(i tried to put the f slur on my profile and vee was the one to review my appeal
)
discord isn't rendering anything in that channel atm 
horror
wher do u even see server reviews trol
server v
can someone check vencord . app's download again
someone in support is saying their friends name changed to vencord_blablabla and cant change it
i think theyre lying but better safe than sorry
it's the same
Bad Patches
MoreUserTags (had no effect):
ID: 609853
Match: /children:\[(?=\i,\(0,\i\.jsx\)\("span",{className:\i\(\)\.botText,children:(\i)}\)\])/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 881335
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
ForceOwnerCrown (found no module):
ID: -
Match: .renderOwner=
MoreUserTags (found no module):
ID: -
Match: .renderBot=function(){
Bad Starts
None
Discord Errors
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[KeybindsStore]
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SAVE_CLIP but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
Bad Patches
MoreUserTags (had no effect):
ID: 609853
Match: /children:\[(?=\i,\(0,\i\.jsx\)\("span",{className:\i\(\)\.botText,children:(\i)}\)\])/
IgnoreActivities (had no effect):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i)\.name.+?null/
IgnoreActivities (errored):
ID: 238852
Match: /(?<=\(\)\.badgeContainer,children:).{0,50}?name:(\i\.application)\.name.+?null/
Error: Unexpected token ','
IgnoreActivities (had no effect):
ID: 881335
Match: /!(\i)(\)return null;var \i=(\i)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/
ForceOwnerCrown (found no module):
ID: -
Match: .renderOwner=
MoreUserTags (found no module):
ID: -
Match: .renderBot=function(){
Bad Starts
None
Discord Errors
font-weight: bold;
color: purple;
resetSocketOnError Cannot access 'Zye' before initialization
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain]
font-weight: bold;
color: purple;
Downloading the full bad domains file ```
Often search history is useful, but Vencord hides it and I can't use it.
I tried uninstalling Vencord, and history was back with queries I've run while Vencord was installed. I installed it back and search history was hidden again.
Disabling QuickCSS doesn't fix this, so it's not an issue with my css.
Stable 235476 (a7cb1d5)
Vencord 9e63da6 (Standalone)
Electron 22.3.25
Chromium 108.0.5359.215
Host 1.0.9019 x86 (38122)
Windows 10 64-Bit (10.0.22621)
Installer Version: v1.3.1 (...
please do not create vencord issues on the vesktop repo. no part of vencord touches searching. not a vencord issue as you have been told
with vesktop and the stream deck discord plugin stream deck will cause a memory leak, and eventually crash.
i have tested this with the normal client, and it works fine.
let me know if you need any more info, or if this is something you can fix
Stable 235476 (a7cb1d5)
Vencord 9e63da6 (Vesktop V0.3.3)
Electron 25.8.4
Chromium 114.0.57...
why would someone try to use a plugin made specifically for one app, with a different app just because they seem to be doing the same thing?
I would expect that discord has some apis to control these memory leaks or smth
im sorry but how do you control memory leaks over a websocket connection
Weird one: Is there an official docker image on dockerhub for Vencloud? And is it public?
How do even get these memory leaks in the first place
Why would you want it on dockerhub?
By reading the docker-compose file, it looks like there is an image named vencord/backend
That image is local, defined by Dockerfile
I wanna make an easy install for it on Unraid's appstone
You can't clone the repo?
I could yeah but if there was an official one it would just be copy and paste easy
make a plugin to remove this stupid shop ๐ญ ๐
[href="/shop"]{display:none}
day 3 of waiting for a plugin that reverses media mosaic
Please add free Microtransactions feature !
your day counter will likely have 3 digits if it even happens
do i have to post demo screenshots/gifs for my plugin pr
I now have fixed the MemberList.
But the Dmlist is not fixed yet.
very bugged on acc switcher, will not let me add or remove bookmarks, says Loading Bookmarks forever
are you sure you're on the latest version of the plugin? (enabling Bookmark Notification Dot should give a Mark as Read context menu on bookmarks, if it's not there please update).
if you are, can you look for any errors (open devtools with ctrl+shift+i or cmd+opt+i for mac -> console tab) and ping me on discord (
@verbal pumice) with a screenshot of them?
not happ...
day 81 of waiting for someone to tell me if my plugin is bad or not 
who has official in their github name ๐ญ
an unfortunate amount of people
24k people apparently
stockfish is made by "Official Stockfish"
@austere talon From the Vencord-POV, what information do you actually get on the application that the user want's to screenshare?
not that much
Would you like to stick to names or are ids also appicable?
(regarding the virt-mic)
{
name: 'Screen 1',
id: 'screen:406:0',
thumbnail: NativeImage {
toPNG: [Function: toPNG],
toJPEG: [Function: toJPEG],
toBitmap: [Function: toBitmap],
getBitmap: [Function: getBitmap],
getScaleFactors: [Function: getScaleFactors],
getNativeHandle: [Function: getNativeHandle],
toDataURL: [Function: toDataURL],
isEmpty: [Function: isEmpty],
getSize: [Function: getSize],
setTemplateImage: [Function: setTemplateImage],
isTemplateImage: [Function: isTemplateImage],
isMacTemplateImage: [Getter/Setter],
resize: [Function: resize],
crop: [Function: crop],
getAspectRatio: [Function: getAspectRatio],
addRepresentation: [Function: addRepresentation]
},
display_id: '1731638613',
appIcon: null
}
{
name: 'screenShare.ts - Vesktop - Visual Studio Code',
id: 'window:62914563:0',
thumbnail: NativeImage {
toPNG: [Function: toPNG],
toJPEG: [Function: toJPEG],
toBitmap: [Function: toBitmap],
getBitmap: [Function: getBitmap],
getScaleFactors: [Function: getScaleFactors],
getNativeHandle: [Function: getNativeHandle],
toDataURL: [Function: toDataURL],
isEmpty: [Function: isEmpty],
getSize: [Function: getSize],
setTemplateImage: [Function: setTemplateImage],
isTemplateImage: [Function: isTemplateImage],
isMacTemplateImage: [Getter/Setter],
resize: [Function: resize],
crop: [Function: crop],
getAspectRatio: [Function: getAspectRatio],
addRepresentation: [Function: addRepresentation]
},
display_id: '',
appIcon: null
}
this is what we're working with
1st is entire screen, 2nd is specific window
62914563 is this id actually related to something?
idk
well that window has no audio
hold on
yeah still nothing
hmm
id string - The identifier of a window or screen that can be used as a chromeMediaSourceId constraint when calling navigator.getUserMedia. The format of the identifier will be window:XX:YY or screen:ZZ:0. XX is the windowID/handle. YY is 1 for the current process, and 0 for all others. ZZ is a sequential number that represents the screen, and it does not equal to the index in the source's name.
this is the main reason i added manual sound source picking since i have no clue how to work out the app from the info electron provides
since name is just the window title, which does not even have to contain the app name
and is not unique
XX is the windowID/handle
Hm actually sounds like something that could somehow be of use
Yeah probably the best approach
yes
Alright I'll use Node-IDs but also expose the process name
Let me check something
How did you get that?
will that work on both x11 and wayland?
Node-ID is only pipewire related
So yes
you need to edit src/main/screenShare.ts in the vesktop code base
and log out the source object
it'll be in ur terminal window, not the browser console
Some way I could quickly get it in the discord browser console?
normal
x11 or wayland
x11
then yeah
sec
in devtools, ctrl shift f for What you're streaming
put a breakpoint at the VCDRenderer result
then start screenshare and it'll trigger the breakpoint
and you can look at the source in the debugger
i will claim
on an unrelated note, both linux and mac now use gay vesktop icon
should windows follow?
or are windows users homophobic

you need to make a fork of winget-pkgs in the bot
yes
wait...? is that why winget version isn't updated for a while
do
@turbid hatch is winget guy
Ok so we could get the Process Id from Chromes WindowID but I'm not sure if that would work on wayland
do u not have wayland
No
what do u use
Xorg
no i mean like what DE/WM
KDE
Yeah I could switch but for me the desktop is absolutely fucked with Wayland, I'll do a basic implementation now and then look into wayland
what
i thought i configured it to use the org to clone to
but also that looks like it's not actually
forking the repo
even if its meant to be
wtf
wait there is a fork here
it already exists
okay what's wrong with this
welp we should update them to 0.3.3
yes i know
yeah
Does discord screenshare support stereo audio? Or is it all mono?
screenshare is probably stereo
why?
i dont think they validate it much if thats your concern
Well implementing the stereo stuff would be a little mor effort so if it were mono anyways I could skip that ^^
But if stereo is supported we should support it as well
couldn't you have a solid icon background if you just want the icon to look a bit cooler
broken on mac :(
this is still an issue
for more info, basically there's space up here
<img width="84" alt="Screenshot 2023-10-07 at 6 36 45โฏAM" src="https://github.com/Vendicated/Vencord/assets/101288516/45d222ea-4d15-4ce5-b97a-3f5fa857b858">
intended to be for the three dots we have to the left of apps on mac
<img width="311" alt="Screenshot 2023-10-07 at 6 37 17โฏAM" src...
@austere talon i'm gonna test some stuff with this so im probs gonna need write access, mainly want to work out if this was a one time failure or if it's fully busted
why not test in a fork or smth
fork wont run actions that have secrets in them? :P
and also i cant trigger it as a dry run, it would PR it straight to MS, so it's not a great idea
[Vencord/Vesktop] New branch created: lewisakura-patch-1
393679d ci: force fork user to be bot account - lewisakura
it's trying to read vencord/winget-pkgs but then creates a fork to shiggybot/winget-pkgs and there doesnt seem to be a way of fixing that
ae86c28 ci: force fork user to be bot account (#141) - lewisakura
[Vencord/Vesktop] branch deleted: lewisakura-patch-1
so i'll just force the fork to be that one
No thanks
fixed
ironically the CI failed but it seems to be a bug with node
lol
no idea where this comes from
Obv from a .json() call
well no shit but in the action itself
not a node error is it
it was the lack of trace that confused me
just fetch(...).json()
but then i realised anonymous was there
and the response is "A server error has occurred"
github sided issue then
:^)
lets go shiggy is now a microsoft CLA certified contributor
the overflow lmao
lmfao
should no longer require babysitting
also how do we notice if they reply with anything
they wont
because the initial package was approved they have a list of exceptions for it
although we could just check the email every now and then
do they still manually approve the updates or is it automated
do they even check
yes
or do they just skim that the manifest is correct and merge
no
they actually check if the software works
pipelines validates if it works, but it also gets run in a sandbox from what i've seen
manual, presumably
and hopefully malware check
yep
but if we go back to when .3 was submitted
they sent this off
which i told them was due to the sandbox being stupid
and you can see in the background that they have malware checks
is it like deep scanning that shit
i dont know
you can watch it work here
but there are four pipelines that need to run
well
four jobs
but this can take like
an hour and a half
i dont know actually what its doing
6 minutes since when installer thingy started
yeah their pipeline description doesnt explain what its doing either
its going to arbitrary azure functions calls
assume its doing good things
its doiong BAD BAD BAD things

this thread is so funny
just a bunch of bots talking to each other

there'll be a human
usually steven
who will just approve
and then more bots will talk
also i find it REALLY confusing
how they have a bot that forces azure pipelines to do a run
like
AP can use webhooks to do this

ms magic i guess
was this ur or automated
lmao
yeah but i didnt know if the workflow did that too
nah
it might've been able to in the past but i imagine they got a bit pissed off
with that
because there are actual good notes in that agreement
it doesn't seem like the mention worked
gonna approve it

ah yes
LGTM
that isn't going to work?
true
oh yeah @austere talon
it used to be they had automated acceptance
like this
but people demanded they were human moderated
because i think something malicious got through
or whatevs
i think im gonna write a "better pr submitter" for this
cause that was really painful to get working and idk why
and also komac is uh
unreadable, in terms of code

broken on mac :(