#๐พ-core-development
1 messages ยท Page 31 of 1
IS_STANDALONE && !IS_WEB ? gitTag
that works lol
just make sure pnpm buildWeb and pnpm buildWeb --standalone still compiles
(also maybe make sure that you're not including random dead code in them)
but u didn't so all good
real
It would be nice to have this plugin in vencord (https://betterdiscord.app/plugin/SplitLargeMessages)
you act like i have a clue what im doing

idk I write random stuff and it usually works
do the same
i mean if you want to you can do the svg, unless there's a built in SVG that fits
Use forceUpdater
https://github.com/Vendicated/Vencord/blob/main/src/utils/misc.tsx#L74-L77
const update = useForceUpdater();
...
update(); // will re-render the component
It's just semantically better.
I just realized we will not need the git-tag
ye
abbd298 Fix(InvisibleChat) Fix chatbar icon patch (clos... - SammCheese
this relies on a variable from an earlier patch which is a really bad idea. Please either find a better way to do it or at least check that that variable exists first using typeof bfPatch !== "undefined"
you should also build web and delete unwanted files, see build.yml
also u changed like a lot of indents here
this will not rerender react, that's why it was wrapped in a state
same as #566 for SilentTyping
a5392e5 fix(silentTyping): fix chatbar icon patch (#570) - D3SOX
There are 1 update
dumb prettier is formatting the file
Yes, it's just to be able to export the thing there and not a thousand lines under
how else can I do it
- shcEmojiComponentExport=($self.setEmojiComponent($<component>),void 0)
+ $self.setEmojiComponent($<component>)
?
im confused what thats supposed to do
its like this
var a = function() {}
, shcEmojiComponentExport = (bla(a),void 0)
, c = "asdas"
it's just to execute that function when declaring the var
why not just change it to
var a = $self.setEmojiComponent(function() {})
and make the setter return the value
not really friendly if any other plugin wants to touch that
the current way wouldnt mess up any other plugin
plus garbage collector would throw that variable away anyways
hmm fair
rebase from main and make the notifications permanent using the permanent: true option
I can't believe he just copied me
owned
None
None
None
None
Is this real life wtf
not when keywordAlerts is merged
wheeze
Discord Errors
1
discord โ
there are discord employees here and they use vencord
it was the quantifier wrong
that's possible actually
no I mean that discord emlpoyees uses discord
discord employees sure use discord

discord employees may use venchord
Discord Account
Koxx12 is bad#0001
What happens when the bug or crash occurs?
when clicking on any channel mention not just voice channel mentions you have to click twice, disabling VoiceChatDoubleClick fixes it.
What is the expected behaviour?
only have to double click for voice channel mentions
How do you recreate this bug or crash?
- enable VoiceChatDoubleClick
- try and click any non voice channel mention once
- double click twice for it to work
Errors
_N...
yikes
SO THAT'S WHY I WAS HAVING ISSUES WITH CHANNEL MENTIONS
@dusky laurel ๐ธ

very descriptive title
why the heck does regex engine start at the lookbehind
why not do the match and then check the look behind ๐ญ
You can always make your own regex engine and realize how fucking hard it is to make it efficient and in the way you want.
thanks for the useless comment
why ur being passive aggressive for no reason
Coping is the only true answer when regex doesn't work due to engine limitations
Now make ur own engine optimized for your specific regex to bring that time down to 0.1 ms
what
You love
No joke tho, making a regex engine is a nice learning experience
Full with mental and physical pain
Uhhh what the fuck happened with commits
Discord Account
Or#4429
What happens when the bug or crash occurs?
Logs that the message logger has saved are not showing up.
What is the expected behaviour?
for the logs to show up after a restart
How do you recreate this bug or crash?
1.Message someone and delete the messages
2. Force quit discord (restart your pc or alt f4)
3. Go back to that dm
Note: the bug happens some time and not always
Errors
None
Request Agreement
- [X] I am using Discord St...
Not a bug. Won't be resolved
@umbral hedge can you close #573 as won't be resolved?
ยฏ_(ใ)_/ยฏ
Whatever
Mfw org isn't owned by ven iirc
well i suck anyways so 
trolled by keyboard
Just to have faster response time to stuff like issues ig
it is
I removed it when you merged a pr I specifically said should be included in a different commit
and like you really only ever used it to make a pr then immediately merge it so it was kind of pointless anyway
removed for merging a docs change
so epic
also what you said at the time didn't really make any sense since it was a commit. you meant a different PR.
bye megu
The MessageClickActions Plugin works similarly like the Double Click To Edit BetterDiscord Plugin (https://betterdiscord.app/plugin/Double Click To Edit), But it lacks one amazing addition to it, Which is the ability to double click to reply as well, it is mentioned in the link I provided above and already added there, so it would be awesome if it gets added here on Vencord!
Discord Account
pointy#0001
What is it that you'd like to see?
Hey there,
I think the Experiments tab would benefit from the following additions to the plugin:
- Filtering for (non-)overridden experiments and experiments that you are(n't) part of the population for, similar to the filtering used in the plugins tab
- Ability to see what treatment bucket is currently being used, even if not overridden (possibly as a replacement for the "Select" placeholder text in the override d...
What should the plugin/feature do?
Prevent DMs from being automatically closed when using the "Report Spam" button at the top of the channel.
How does it work?
- Enable plugin
- Report a DM using the "Report Spam" button at the top of the channel
- The channel stays open after submitting the report, instead of closing automatically
Any images or mockups?

**Possib...

is this ready for use as of now?
I think its ready to use but need to make some small changes. we need to change select component into the one that supports typing with autocomplete. We also need to make it fetch timezone strings from somewhere instead of hardcoding json
btw I invited you too @limber skiff
omg
balls gaming
cookies
๐ญ
wha
oh i meant that in response to tasky
i want cookies now
wait i can get them from greggs
score
I'll make you some cookies
oh yes
i feel like im saying cloud integrations too much
i could change the second one to "if you have not yet set them up"
which will be semantically the same but with less repetition
does that sound good?
Vencord powered by ai
Needs manifest.json to be pushed to the builds repo and for the builds repo to have GH Pages enabled. Will it work? idk build environments scare me
i cant wait to get made fun of
Needs manifest.json to be pushed to the builds repo and for the builds repo to have GH Pages enabled. Will it work? idk build environments scare me
please feel free to push to fix what ive inevitably missed
i wont delete it this time
that extension won't work on Firefox because it's not signed, it's a zip not a crx which chrome might dislike, you include the update url unconditionally which might break submission to stores
but most importantly the extension won't be updated unless version is bumped
which will be in sync with chrome and Firefox store updates
i forgot renaming branches closes prs my bad
and i have no experience with this build process so i would appreciate some help 
Logs that the message logger has saved are not showing up.
the message logger doesnt even save any logs, so you are lying
lol no need to accuse people of lying
that person probably just assumed it would store permanently
because the BD one does
yea
@austere talon can you run that thing to check the patches??
Discord crashes when I join vc
Can't figure out source of problem
nvm
all i had to fucking do was restart my pc
if a patch breaks it won't crash
it'll just crash when a patch still applies but smth goes wrong
I used to use BetterDiscord, but due to recent bugs, I switched to vancord While Vancord feels better than BetterDiscord, the plugin I used in BetterDiscord called "readAllNotifications" does have the same funtionalities on vancord. Although I found a similar plugin in Vancord, it doesn't have the option to blacklist a server, meaning that notifications are read from all the servers but i'd like to bring that feature where u are able to black list a server and it wouldn't read the notificatio...
To add to this, there is a GPL2 licensed BetterDiscord Plugin that does a lot of nice image things, which are being requested here, maybe some of its code could be used as inspiration for this.
https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/ImageUtilities
There are also screenshots of how their features all look.
please do not use DevilBro plugins as inspiration 
when are we getting a memory leak plugin for people with betterdiscord withdrawal
there was a pr for it made by @high oracle
but it didnt get merged
dunno why ...
@austere talon feel free to reject 578, unless you have future plans for it
because i am extremely 
oh yeah I'm clueless about svgs & shit for keywordAlerts, so if anyone has any pointers or even a good built in svg i would appreciate a comment on the pr
Well I'm not planning to work on it cause I don't really see the point
pretty sure we could just make a second extension listing for nightlies
@umbral hedge im confused, why did you always pr into merge instead of just directly pushing
the require pr is off so technically you should have been able to just push? 
(and I can push fine without pr)
simply just push updates for a second extenson for every commit 
I'm asking my past self the same question
we discussed this before
it has a "must pass tests" requirement
so only owners can bypass that
ya
happens so much
idk what they cooking
wait
we could make the workflow restart itself if it's a 500 maybe

might be related
None
None
None
None
Simplistic plugin that makes it easier to register an F8-to-debug handler. Vap brought it up in #general so I made it.
@spark cove
we need to change select component into the one that supports typing with autocomplete.
now possible due to #518, shouldn't be too difficult to convert.
We also need to make it fetch timezone strings from somewhere instead of hardcoding json
Intl.supportedValuesOf('timeZone'); for electron 17, but until stable reaches that version I have a copy of what it returns [hosted on a gist](https://gist.githubusercontent.com/lewisakura/529bb0236f375ab0b5890de02a8c007a/raw/ff5930de4d8b6a...
nookies addicted to refactors
@austere talon Type '{ placeholder: string; options: { label: "EST" | "Etc/GMT" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | ... 367 more ... | "Pacific/Wallis"; value: "EST" | ... 377 more ... | "Pacific/Wallis"; }[]; isSelected: (tz: any) => boolean;...' is not assignable to type 'IntrinsicAttributes & { placeholder?: string | undefined; options: readonly SelectOption[]; value?: SelectOption | undefined; look?: 0 | 1 | undefined; ... 23 more ...; "aria-labelledby"?: boolean | undefined; } & { ...; }'.
shhhhhhhh
not all the options are compatible with searchableselect
some have different names or dont exist at all
I have no idea what you said but got it to work by changing "select" into "onChange"
yeah that sounds about right
they changed the names of props for implementing the new select component
which i assume you're using now
didn't we already go over this just don't provide timezone autocomplete on old electron 

guhhhh 95% of users are in old electron
you could cache the array in indexeddb if you really wanted
explain use case for timezone picker
here we go again
for other people ๐คจ
example: other person you know doesnt use tzdb
why wouldn't those other people just use the plugin
but you know what his timezone is
and register
wha
idkk
but autocomplete select works good
I just need to fetch timezones when bencord opens and cache them
@austere talon @tame escarp write code for m

actually
its like
you know what
it will fetch everytime vencord is open
no
yes
Only if you accept Rust submissions

start at line 57
Manti is so lazy
when are we making rust wasm bindings to the vencord api tbh
I still feel like you're working on a non existent use case
like you can just get the current users current timezone and give it to them if needed, but that should just automatically be handled by the plugin. You wouldn't need to pick timezone for other users cause they just use the plugin (or if they don't use it they would know their timezone, or if they don't then the picker wouldn't help you much)
you dont need to worry about indexeddb, datastore api abstracts it away for you
like im just trying to understand the use case, it doesn't seem real to me
the tsdocs that are there should be able to help you understand how to use it
No
'no'
yes but the problem issssss
sorry went too late
not all people wanna go to timezonedb website and register
whats going up
The problem is that manti is too lazy
do you have any reason to believe that?
I wouldnt wanna ask anyone to register into t imezonedb
Yes
pr the pr and make it better tho
then what's the point of having an api
if i was given a nudge saying "hey! go to timezonedb to register yourself" i would probably do it

I know a lot of people that don't give a shit about stuff like this
for people who use the plugin
for them it makes it easier
for people who dont you can enter manually
you're saying you don't want to ask people to use the api though
delete system32 / /usr / /System if they dont
Yes
when chat bar icon api
this feels like you're creating a problem by not wanting to implement a solution
eh, i mean, it would be better to ask for the person'd timezone and add yourself instead of asking them to register on some random website
its just ... a bit of work
I know very lazy people
and how would you get that person's timezone? they would just tell you current time or the timezone, in first case a picker doesn't help at all, in second case you would already have their timezone so you can just paste it
honestly
i cant believe a fucking timezones plugin has had the most development drama on this project
Why should I ask someone else to register to smth that will only be useful for me?
What will that other person gain?
That other person might not wanna make their timezone public as well
if its someone I know I would know in which timezone they live
your pfp kinda looks like an nft
lie
Meanwhile all my other plugins that didn't get merged: https://cdn.discordapp.com/emojis/810291471218638888.png?quality=lossless&size=48
gmt +1
okay
you know what
fuck it
just let people input a fucking offset
there
no need to faff with timezones
YES THEN WHEN IT BECOMES WINTER
no
IT WILL SHIT ITSELF
THEN YOU CAN CRY!
i tried to implement my own time db into the first timezone plugin done. it was a horrible implementation since i would need to check if the user is registered on timezonedb and if not check on the local db
DECIDE HOW YOU WANT TO RESOLVE THIS!!!
Why are you even having this convo?
THERE IS LITERALLY NO OTHER WAY TO SOLVE THIS
if it done locally then the user will need to wait to it to fetch for no reason
Shut up manti
I dont know
Please don't waste ur time with manti
There is no issue
basically ven doesnt want me to have a option to set users timezone
Manti is just lazy
No that did not happen, ven is just questioning how useful that is
that's wrong, I want you not to add a limited or faulty multiple choice if there's better solutions
questioning and telling me that its useless
as in manually setting up a user timezone?
I think if you really think it will be a common use case to add other people's timezones, then you should just make a website people can open and it tells them their timezone
well whats better solution
okay, lets see the options:
- ship a fetch request to a list (with cache or it probably won't ever get an approval)
- making sure you have the native method in so the fetch isnt used if its not needed
- make everyone sign up to timezonedb
- make everyone go somewhere else so the list isnt necessary
- offsets
these seem like the most plausible solutions, if anyone has anything else do let me know
Ok manti, can you shut the fuck up?
I'll keep updating the plugin ffs, you won't do shit
what's that timezone standard called again
utc?
Etc?
cant we just check the local timezone list then the website?
Wow, that's a lot of work
why would you need the local list and* the website
yeah
That's the plan
because i wouldn't like to sign for a random ass website
that's ehy
If electron is old then we fetch
@crude hearth
which is 95% of the time
this is way more robust than making people ask idiots what their timezone is
guhhh
if you're really going that method then you need to implement the native method as priority
Sometimes you just know the timezone of the other person
literally just make super simple site whatismytimezone.mantika.dev that shows timezone and copy button
wait
then you just paste it into the box?
all im saying is that adding hardcoded auto complete is stupid
Please don't repeat this ven
because it will be incomplete or have options your client doesn't actually support
document.innerHTML = Intl.DateTimeFormat().resolvedOptions().timeZone;

well in that case they can use ETC/Gmt+3 options
thats why it exists
too much work for not much imo. it works well enough to ask to it instead of them opening for a random ass limk
i think that works in stable btw
if city is not in the list
This plugin should not expect or assume that any other person in the world is willing to give you the timezone string as is
theres nothing we can do
https://discord.coffee/ABXdTfR.png yeah it does
Auto complete is bad if you hardcode it because incomplete or invalid options and it's not user friendly because noone will know their timezone properly or if they do you won't need autocomplete cause you just copy paste it in
simple solution is to only have auto complete if you have actual Intl data and make the simple what is my timezone website like I said that lets anyone get their timezone easily
so the website isnt necessary
i forgor that timezone strings exist
Ain't no way I'd give Europe/Athens instead of Greece Athens
The former is the timezone, the latter is the actual city
yeah ig random ass website with complicated idea is the best
!!!!!
the idea is that other people can give you their timezone
just make a /command or something
like your normie friend who doesn't use mods
That ain't the idea tho
Both me and manti did not envision that
but your normie friend who doesn't use mods will not be able to give you a proper timezone because they're stupid so it's easiest to send them a link they click and immediately get the correct timezone
doesnt it get timezone of users automaticly
rusher will add nonlogin option to timezonedb website
link makes sense
we use it
Or they could tell you the fucking city and you pick it from a list
yes just make Homepage show current timezone
although having it in client is better too
but how would you do it
@fiery jungle RUSHERRRRRR
Okay I live in [arbitrary city that isn't a valid IANA timezone]
not everyone lives in the capital city
fetch random ass api to find the nearby cities near you lnfao
if you ever ask a human for their timezone you're doing it wrong
make a website that tells you your timezone like I said or something similar
Who would give a city other than the capital city or a close by city?
i mean, making them to open a website is also weird
timezonedb plugin will get other persons ip adress and get timezone string from that
I doubt people want to dox their location
oh my god this discussion is stupid just implement whatever and if its shit we change it and if its good we keep it
I think what I suggested is a decent idea
yes rusher does most of the work
tho very complicated
sounds good to me
Why are you suggesting stuff when manti has not fixed the original issues?
but if you have a better idea (that isn't hardcoding a timezone list and making stupid users figure out timezones) then go for it
what are the original issues
also even tho we are probably gonna use website to get timezones
I think it would be better to keep autocompleteselect
because copy paste would work on that
also
Trying to get the timezones from intl and if it fails to fetch them from a site is one of them
thats literally only thing I need to do
That's why I like GMT offsets, but summer time savings are an issue
i mean, i think opening a website just to do the work is over engineered. iirc the timezone polyfill support you to just do a UTC+3 in it
wait, is that a general IANA rule or smth?

Who cares about summer?
also, its not really overengineered
if you put the IANA timezone as UTC+3 for example, it is valid
logger
I am started to think ven is right
we should just force other users to authorize
i thought the website would literally send back the timezone back to the one that sent the link. as like:
*user opens website that his friend gave*
*website sends the tz to the friend*
*the plugin would add to the list*
it's this simple to get the users current timezone. Literally slap this on a site and tell anyone whose timezone you need to go there, super simple and they don't need to use brain
<h1>Timezone</h1>
<p id="balls"></p>
<button onclick="copyTz()">Copy Timezone</button>
<script>
const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
balls.textContent = "Your timezone is " + tz;
function copyTz() {
navigator.clipboard.writeText(tz);
}
</script>
oh lewi was faster based
Why not make it a request thing within the plugin if we went that route?
it be working
yis
Maybe the plugin could send a DM with the timezone?
ill make it look pretty now
okay the solution: literally don't solve it and make the user to manually add it, assuming the friend knows their IANA timezone, but if they don't, then the plugin would suggest a website where their friends could check which IANA tz they use
cause im quite fond of it
lewi doesn't know that any dom element with an id automatically becomes a js variable
why does the plugin need to send a dm

wait what
?
what about that? sounds a good solution for me
<p id="lol"></p>
<script>
lol.textContent = "lol. lmao even"
</script>```
so silly

I've been programming in JavaScript for years now, I know a lot of things about JavaScript, but I never expected that nodes with IDs have auto variables
ye it's more explicit and more typescript compatible
or solution 2: force friend to sign in for random ass service
but I like abusing obscure behaviour
yes thats good way to solve it but just ... I cant think asking someone to enter to website and paste the string into me so I can set their timezone
this is getting insane
??
what
the flow is so simple
give user link (https://gh.lewisakura.moe/timezone/)
user goes to link
user copies from here
user gives to you
I now understand why it is not recommended to use the same id for multiple nodes
you think asking a clueless person for their iana compliant timezone is less of a bother than making them click a website
no that's just cause its technically undefined behaviour
its a bother everyway whatever
that's understandable, considering that it will give where the person lives in some way, and the person will not know why you need it
if you're asking someone for a timezone
you're probably already on a decent enough level with them
the dom spec says only one element may have the same id so technically any browser may choose to optimise for that case and for instance make query selector all for id only return the first match (but I don't think any browser does that, they all work fine with duplicate ids)
I don't know, nobody I know considers cities as timezones
GMT and UTC are what we would consider a timezone
and either way the timezone is still quite generic, london is very far from where i live
they'll think of -3, not America/Sao_Paulo
2:41!!!
that's the point
Whoops! Not quite Ven, that's an offset! Do you mind going here for me? https://gh.lewisakura.moe/timezone/
ok so I got another idea
go ahead
Also it is weird that GMT+2 is Etc/GMT-2
like, what weed was iana smoking?
so instead of forcing user to enter a website we ask them whats the time for them, then when they send timezone we will add their timezone via slash command which will figure out the utc timezone itself
but the problem with this is winter time
again
not possible
why
you are dealing with time
like I asked you, you answered 2:42
just make Website there is no better user friendlier way
2:42 is gmt +1
right i can make this website attractive as fuck
I'd like a clock and you pick the time of the other person and it shows possible timezones to pick from that are currently at that time
you have no way of knowing what timezone I'm in though
you're now back to the issue we had before that you complained about

yeah thats why I said winter time etc is a problem
you only know offset
just give them the god damn website and ask them
yall rn are like "I don't like this super simple solution you already implemented, here's [overcomplicated less user friendly solution]"
just stop and use the website lewi made, maybe put it on timezonedb domain
You could find the iana tz city that way, by just asking for the current time
you could also wait for them to send a screenshot that contains their time then guess it based on that
now you don't even need to ask them!!
why dont yall just not make the plugin because this argument has been going on forever
okay so I am thinking
wonderful idea (not), just use the website 
if we are gonna go with website way, we should add a slash command that will send website link, and instructions about what to do
cant we literally just not deal with it and just give a warning that it is better to use a IANA timezone offset if they use a UTC offset?
then at least we dont have to look to website from somewhere
right okay now we're on the right line of thinking
Or even an hour:minute offset from the local time
oh my god you all need to shut up now this is going nowhere
you already have a finished solution thanks to lewi, either use that or implement your own better solution but shush now
Worth noting that this will only show up in dev builds
i think it's fine, mainly just a meme note anyway
wdym? @spark cove
it'll show up in any build as long as you have source maps enabled
how would you enable sourcemaps in a prod build as a user
I don't understand that question
source maps are part of the release and downloaded by the installer & updater
enable source maps in devtools and they'll work
ah i didnt know they were already downloaded
makes sense then
no way ur downloading the extension/userscript in a desktop installation
Well ig browser and userscript LEGAL.txt are essentially useless
but I kept them there for blah blah legal reasons
haha of course not
yea i figured that wasnt true
i realize u meant that they're used somewhere and u can pretty much deduce where they're used
desktop downloads renderer, preload and patcher js, js.map and LEGAL.txt, browser.js and css are used exclusively by armcord afaik but technically anyone can use them they just need to be ran in the renderer
user.js is well the userscript
yop

haha yeah
I meant all of them are used in some way or another
this conversation is so stupid
did you read entire conversation
no
yeah
Manti is stupid
(real)
No offense to manti
i wish timezones were classified based on near atomic clock precision on a given latitude and longitude 
might be horror for privacy guh
full offense to manti

hi manti
wait you're not manti
fucking hell
im your husband
lies
we had hot gay sex
False

NOP
Guys civilization
Be civil
Dont go to bottom of human evolution tree
this message is offensive to any manti in the area
@austere talon I will ask you one question
now you are aganist autocomplete and say people should just copy paste timezones
but in your situation if people use the web browser which has (maybe) newer version and gives some different string
how would discord client on old version work
oh
I thought they were hardcoded
nop
it pulls the available timezones from your OS' tzdb
so its the same regardless of version
also i saw your Etc/ request, those arent part of the tzdb
hence why they werent in the original gist
i could add them but mileage may vary
love
it doesnt has to be in timezonedb
people will use this for local timezones
also ven is aganist getting hardcoded timezones
shrug
horror
The aliucord counterpart does this better
๐
moment also has method to get all timezones
but it requires moment-timezones lib 
I dont think discord has
oh god this is making me insane
we hate Intl for not having this option in old chromium
because I wanna add autocomplete I thought maybe it would make sense to get list of timezones from somewhere updated
BUT I DONT KNOW ANYMORE
http://worldtimeapi.org/api/timezone like this website
may you explain your improvements in the pr description?
it doesn't
None
None
None
None
Bad Apples
One
may you explain what are your improvements in the pr description?
There isn't much to explain, it's overall patch improvements, migrating some plugins to the new settings api, #521 and a new option for the experiments plugin to enable the staging banner
oh yeah you asked whether you can merge
I didn't look but if it's all good then yeah probably
what's staging banner
I did some lookbehinds and lookaheads studies to improve performance lol
why did you rewrite so many SHC patches
I'm surprised those improve performance and don't worsen it
what's the purpose of this?
nothing. just visual
they were making it a bit worse, now they make it better
I feel like this is a feature less intelligent people will enable then ask for support with hiding the banner
wdym by that
then why did u add a patch for that, why would anyone want that little banner 
lets say I have this regex
/(?<=function (?<func>\i){.{0,900}.MESSAGES.BLABLA.+?}});/
this regex would first match the lookbehind, so it would try to match every function \i and look for .MESSAGES.BLABLA, which is not good
now I made it like this
/.MESSAGES.BLABLA.+?}};(?<=function (?<func>\i).+?)/
It's gonna match .MESSAGES.BLABLA first, which is not common, and then lookbehind for the first function \i to get the name and save to a group
someone asked, it's just something additional
By doing this I was also able to remove a lot of fixed size quantifiers which should make plugins break less
actually
I will make pronouns db not enable the experiment but still show the component
then I will merge
and what's the performance improvement?
cause if its not a lot you've just made loads of patches massively unreadable for no reason xd
also you seem to have a misunderstanding of how those operators work so i hope you didnt merge it
how so
well every example ive seen has shown the lookbehind come before
never after
and i can't get it to work in regex101
so i have no idea what your patches are matching
your own example doesnt compile either ๐ฅด
im just trying to understand how this actually is meant to work and if its speeding up anything or if its just making the regexes harder to maintain, or if its even working at all
but the more i look into it and the more i test, the more confused i get
If possible, it'd be better if it has Epoch/Unix timestamp format, so we can dynamically timestamp to other message.
I explained it in #๐งฉ-plugin-development
yes
i tried going through your explanation and even tried one of your patches in regex101 but it didnt match anything lol
select the ecma script flavor
Wait that's actually really smart. I'm going to update my regex to use lookbehinds
wtf is a look behind
" python " 
I'm still looking into it a bit more
Discord Account
No response
What happens when the bug or crash occurs?
keybinds not supported
no window control buttons
every other browser thing
What is the expected behaviour?
normal discord windows client behaviour
How do you recreate this bug or crash?
patch discord version 5341902 with installer 253183a
open discord
Errors
VM75 renderer_init.js:93 Unable to load preload script: C:\Users\mattis\AppData\Roaming\Vencord\dist\preload.js
(anonymous) @ V...
redownloaded installer

same results with this
YOOO A ONESHOT PLAYER
Just to make sure, did you try this?

you need to include the match in the lookbehind as well
Your install is missing files. Make sure you're using the latest Installer and reinstall / redownload files
mfw github weebhooks bad
oh i see
hm
thats still really confusing xd
Description: Searches Wikipedia for your requested query. (/wikisearch)
(If you have any better description ideas please comment I beg of you)

Image for any discordian lurkers
how do u use that @limber skiff
ah
i got confused cause you also edited context menu api
so i thought it used context menu
and was confused
I fixed it lol
if (!message.content.startsWith("@silent ")) message.content = "@silent " + message.content;
jeez I completely forgot about startsWith
lol
i thought for like 10 seconds "is there any specific reason they might have done slice instead of startsWith??"
i think startsWith might just do a slice (without creating a new string) and comparison
no lol I just forgot about it
I was like include wouldnt do what I want...
slice then.
how did that even happen
do u always copy paste the boilerplate from some other plugin or template or
what happened
2022
Don't think this dependency is needed? All it does is needlessly remove and readd the listener upon toggling
}, []);
It is needed
enabled doesnt update without it
idk kinda strange but it worked with it lol
onClick={() => setEnabled(prev => !prev)}
when using the old state you should always use the function update style instead of using the variable directly as it's not guaranteed the variable is up to date
wouldnt it be more reliable to set the flags on the message rather than appending <@&1073655264923881602> to the content? or is it fine in this case
can't
could also useReducer here
const [enabled, toggleEnabled] = React.useReducer(x => !x, false);
it's too early lol
mkay
maybe this could be a @util/react thing
eh
I think it's fine using useState there for now
we do it like that everywhere else
function useBoolean(initialValue: boolean) {
return React.useReducer(x => !x, initialValue);
}
// usage
const [value, toggle] = useBoolean(false);
<Switch value={value} onChange={toggle} />
can someone check if they can repro a strange bug where plugins don't enable when settings are synchronized, even after a full restart? not sure if it's a me thing or just some weird side effect of the way i import settings, but i experienced it earlier and couldn't replicate it after, so i can't give steps ๐
None
None
None
None
wtf is SettingsStore
I didn't know how to call it lol
i feel like that should be a webpack method instead
it requires patches to work with it
discord has basically this
each is an object which contains functions to manipulate that setting
get its value, update it, etc
to find it I need to patch to add additional information to the object
else they are all the same
should I update these
no
updating years in license headers is meaningless and ruins git history and is also misleading if you don't change anything else
but new files should use 2023
we will remove years from license headers
years are fine if they just correspond to the year the file was created
Discord Account
OhHim!#0777
What happens when the bug or crash occurs?
The bug in question is when vencord is enabled discord loses its ability to snap to sides of the screen or be used by fancy zones.
What is the expected behaviour?
The expected behavior is that ...
Sorry about fucking up the title, what more info could i provide for this, its a practically fresh install of the program, the only setting i have changed is the transparency setting, turned from off to on
It seems to work fine in ur video also. The first time it doesnt work but then it correctly swaps into place
i attached two videos, one where the behavior was normal ( vencord was not "injected" using the flag vanilla ) and where the behavior was weird ( vencord was injected )
At 00:05 in the first video it correctly snaps into place. What do you expect to be different there?
The window to resize like in the second window, let me attach a video super quick, Video 1 incorrect behavior. Video 2 correct behavior
Video 2 was cut really short and im not 100% sure why, but fancy zones resizes the window to fit in the specified area
have you tried disabling transparency? also what plugins do you have enabled? Just run /vencord-debug in the support channel and ping me
disabling transparency has solved the issue, but does this mean its an issue with transparency, or is it working as intended ?
issue with transparency but out of our control https://github.com/electron/electron/issues/6107#issuecomment-226989722
Ahhhh good ol electron, thank you Ven you qtpie
You love 33 open prs
ye
like half of them aren't even done / mergable
the other half I already reviewed mostly, gotta check again whether feedback was addressed
btw on the topic of feedback if I left some on ur pr and you fixed everything feel free to ping me for rereview
cause its not easy to keep track
Can you review my pr? Or is it too messy
ill review it
await fetch(`https://en.wikipedia.org/w/api.php?action=query&format=json&prop=info%7Cdescription%7Cimages%7Cimageinfo%7Cpageimages&list=&meta=&indexpageids=1&pageids=${firstres.pageid}&formatversion=2&origin=*`)
.then(data => data.json())
.then(data => alt_data = data.query.pages[0] || null);
thank you dedent
why are you doing this if your execute is async?
const data = await fetch(`https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&formatversion=2&origin=*&srsearch=${word}`)
.then(response => response.json())
also you need to handle errors correctly in case this fails
const alt_data = await fetch(`https://en.wikipedia.org/w/api.php?action=query&format=json&prop=info%7Cdescription%7Cimages%7Cimageinfo%7Cpageimages&list=&meta=&indexpageids=1&pageids=${firstres.pageid}&formatversion=2&origin=*`)
.then(data => data.json())
.then(data => data.query.pages[0] ?? null);
and same issue with error handling
@turbid hatch thank you, been a while since I coded so I forgor any and all kind of error handling
^^
and also did some cleaning up
cause they used a workaround
**index.tsx: **Lines 72-79
/*
many themes set "> button" to display: none, as the gift button is
the only directly descending button (all the other elements are divs.)
Thus, wrap in a div here to avoid getting hidden by that.
flex is for some reason necessary as otherwise the button goes flying off
*/
<div style={{ display: "flex" }}>
<Button
this is ready to be merged btw (unless someone wants to review some more)
None
None
None
None
Other than the feedback, don't use snake_case this isn't python. Use camelCase
if (!data.query?.search?.length) {
then u can just merge this if with the one below
return sendBotMessage(ctx.channel.id, { content: "There was an error. Check the console for more info" });
.then(res => res.json())
.then(data => data.query.pages[0])
const thumbnail = thumbnail_data && { url: .... };
I'd like to suggest a plugin similar to Voice Chat Utilities. I personally really like this plugin, as it allows you to move, mute or deafen, and disconnect all people from a voice channel.

:ablobwave:
The basic idea is to implement a plugin that would allow to join servers with custom api endpoints, there seems to have been a plugin for BD beforehand but seems SWC change killed it.
Should have resolved everything













