#👾-core-development
1 messages · Page 203 of 1
Alright @brazen bone, in 23 minutes: …
💡 Did you know you can set your timezone with "!timezone set"?
!remind 23m die
Alright @pine topaz, in 23 minutes: die
!remind 23m revive korbo
Alright @limber skiff, in 23 minutes: revive korbo
💡 Did you know you can set your timezone with "!timezone set"?
!remind 24m kill korbo again
Alright @glass jasper, in 24 minutes: kill korbo again
hii sorry to bother, have you guys already found a fix? i think i found 2 potential fixes no idea which one would be better
basically it used to explicitly pass message as a prop and now it does so by spreading this variable so it's not matching "message:" there, would it be better to make the patch bigger to match "message:" earlier on or to match this spread and attempt to do ?.message and if message doesnt exist it could be handled from _buildPopoverElements i think
sorry for my wording
thinking about it i dont think message could ever not exist in eZ here so maybe theres no need to handle that case (?)
got damn
import MessageTooltip from "./MessageTooltip";
replace: "$self.MentionTooltipWrapper,{Component:$1,vcProps:arguments[0],"
replace: "$self.ReplyTooltipWrapper,{Component:$1,vcProps:arguments[0],"
description: "Show message tooltip when hovering over message links",
this seems to duplicate a lot of code. for better maintainability, try to avoid duplicate code
is that automated reviewing?
shig sh
@brazen bone, <t:1722377393:R>: …
yeah. i got too lazy to review so i wrote a bot that uses AI to review prs
AI!
it definitely is AI
@pine topaz, <t:1722377416:R>: die

is the source available? id love to look at that
looks like this is the end for ol' korbo.
@limber skiff, <t:1722377441:R>: revive korbo
@glass jasper, <t:1722377489:R>: kill korbo again
awww...
# UnreadCountBadge
Show a badge in the channel list for unread messages.
- please use a meaningful alt text (or if the image is not needed to understand the text, leave it blank for no alt text)
- please post images to the #1749
import "./styles.css";
const { NumberBadge } = findByPropsLazy("NumberBadge");
return <NumberBadge count={unreadCount} color="var(--brand-500)" className="vc-unreadCountBadge" />;
if you're not a neurosurgeon i think no
fire
what if i am a neurosurgeon
im scared
urbandictionary something?
@austere talon why did you blur that lol
cause it's unrelated
so uhh are you aware that last update to visual refresh breaks stuff like message action buttons
you mean the message popover api
maybe
oh I see now (only skimmed chat and missed anything related to it)
uhh i think i got some of a fix but i dont know if its good so im just using it for myself and didnt make a pr nor anything
in case it helps all i did was match /{...(\i)}/ to find all the props and get the message prop there -- the old broken patch was matching "message:" but its now passed via spread operator instead of explicitly so its not matching it anymore
yeah
okay easy fix
u forgot to escape .
oh
so it's actually matching 3 random characters
guess i got lucky that didnt break
replacement: {
// foo && !bar ? createElement(reactionStuffs)... createElement(blah,...makeElement(reply-other))
match: /\i&&!\i\?\(0,\i\.jsxs?\)\(.{0,200}renderEmojiPicker:.{0,500}\?(\i)\(\{key:"reply-other"(?<=message:(\i).+?)/,
replace: (m, makeElement, msg) => `...Vencord.Api.MessagePopover._buildPopoverElements(${msg},${makeElement}),${m}`
try that
let me know if it works
I missed a } but doesn't matter
that should work in both stable and canary also
works
srry git scares me
learning git is the best thing you could ever do as a programmer
yes that includes commands
i aint no programmer think ill go work in a barn instead
I don't mind whoever makes a pr, just someone do and I will merge
fix by Nuckyz (235834946571337729) #👾-core-development message
idk how to pr sorry if smth is wrong
ShowConnections (had no effect):
ID: 958120
Match: ```
/currentUser:\i,guild:\i,onOpenProfile:.+?})(?=])(?<=user:(\i),bio:null==(\i)?.+?)/
**__ShowHiddenThings (found no module):__**
ID: `-`
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
ShowConnections (had no effect):
ID: 958120
Match: ```
/currentUser:\i,guild:\i,onOpenProfile:.+?})(?=])(?<=user:(\i),bio:null==(\i)?.+?)/
**__ShowHiddenThings (found no module):__**
ID: `-`
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
outdated pr 😔
This is mainly a change for Vesktop users as the menu you're referencing does not exist. What this does is allow users to switch the "Filter List" to a blacklist so duplicate RPC detection can be blocked.
In this image you can see that genshin is detected as a "process" and via ipc. IPC is when the game itself adds rpc support and process is when discord scans the running processes and sees the game ru...
so it's not actually broken?
ShowConnections (had no effect):
ID: 958120
Match: ```
/currentUser:\i,guild:\i,onOpenProfile:.+?})(?=])(?<=user:(\i),bio:null==(\i)?.+?)/
**__ShowHiddenThings (found no module):__**
ID: `-`
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
ShowConnections (had no effect):
ID: 958120
Match: ```
/currentUser:\i,guild:\i,onOpenProfile:.+?})(?=])(?<=user:(\i),bio:null==(\i)?.+?)/
**__BetterUploadButton (found no module):__**
ID: `-`
Match: ```
Messages.CHAT_ATTACH_UPLOAD_OR_INVITE
ShowHiddenThings (found no module):
ID: -
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
oh lol
@rugged spire fix when
we need to add automatic pr testing somehow
but it's not possible safely 😭
maybe manual trigger
well anyway
can u push to main nuckyz
just the dev changes
my pc already off
u can fix the broken stuff first if u want but eh it's whatever
can fix it another time

White name is gonna complain. If an update that doesn’t fix these gets pushed.
i’m just saying if they fill support saying “ I just updated, but I still can’t see hidden things”
or something
I'm not with my pc still
going to travel friday so that's when I will be with it again
this is wayy too much and doesn't fit at all into the small profiles
Cherry-picked your ShowConnections fix via https://github.com/Vendicated/Vencord/commit/3013c669c035a9e6447aaa87d16c0f6a985c8f5f, thanks for the fix!
But the rest is not mergeable. Maybe in some compacted way but definitely not like this
e_ = ["en-US", "en-GB"].includes(em) ? H.Z.Messages.CHAT_ATTACH_PLUS_BUTTON_A11Y_LABEL : H.Z.Messages.MORE_OPTIONS
wtf is discord cooking
ShowHiddenThings (found no module):
ID: -
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
ShowHiddenThings (found no module):
ID: -
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
5c88284 feat(showHiddenChannels): Fix Broken Patch (#2726) - thororen1234
0f5cf37 fix(ShowHiddenThings): always render highest ro... - Sqaaakoi
51ae019 feat(plugins/openInApp) Refactor code and add A... - surgedevs
902a86c XSOverlay: Update to new API (#2736) - nyakowint
e460b5e Fix MessagePopoverAPI patch (#2746) - fres621
yes I just noticed
I looked into it earlier for a minute but it wasn't trivial so I didn't bother
they changed the logic
and I didn't know what exactly you were doing with the patch
basically just stealing variables from the normal role list mapper
ok after looking at my original screenshot of what I was doing, it turns out they just bombed one line
@austere talon do you recommend using a regex find and matching multiple unique Messages strings instead of these attributes?
thought so 
i will admit my original screenshot of what the patch does was kinda blehhhhh
oh i was looking at the wrong module
there's another module that has tooltipContentClassname right after that aria label
first tooltipClassname then tooltipContentClassname
I was looking at that
<Tooltip text="Copy Preset Hash">
copyWithToast(presetID);
thanks for looking into this :3
this doesn't seem very useful. why would anyone need this?
you forgot to update the descriptions
description: "Can kick, ban, or timeout people",
generally switches should be positive
showAtSymbol: {
type: OptionType.BOOLEAN,
description: "Whether the the @ symbol should be displayed",
default: true
}
please don't add yourself for such minor changes
authors: [Devs.Ven],
return settings.store.hideAtSymbol
? username;
: `@${username}`;
i had no idea this PR existed and I am glad it exists
replace: "[...$1, ...($self.isBotOrSelf(arguments[0].user) ? [] : [{section:'MUTUAL_GDMS',text:$self.getMutualGDMCountText(arguments[0].user)}])].map"
Please don't add yourself to authors for such minor changes
authors: [Devs.amia],
replace: '$self.isBotOrSelf(arguments[0].user)?null:$1"MUTUAL_GDMS",children:$self.getMutualGDMCountText(arguments[0].user)}),'
i think it's safe for us to use fetch instead of request now since even discord stable has electron 30
this is kinda confusing for users cause they will have no clue why it's missing
service: {
description: IS_WEB ? "Translation service (Not supported on Web!)" : "Translation service",
type: OptionType.SELECT,
disabled: () => IS_WEB,
options: [
{ label: "Google Translate", value: "google", default: true },
{ label: "DeepL Free", value: "deepl" },
{ label: "DeepL Pro", value: "deepl-pro" }
]
...
this is a bit messy. would be cleaner to define two functions googleTranslate() and deeplTranslate() and then use those based on if else
looks good other than that!
SHIGGYBOT
shiggybot is cool but when venniebot

neat. i haven't kept up with electron in a long while
unless i'm doing something wrong, it's just returning {} everytime haha. doesn't matter what i fetch
it's just nodejs
show code
i just have this within my native function
const res = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `DeepL-Auth-Key ${apiKey}`
},
body: payload
});
res is just {}. this is the same if i just do a random GET request, too.
body: JSON.stringify(payload)
it's already stringified before passed into native function
its typeof string already
because it's a class
and classes cant be serialised
you can only send serialisable stuff via ipc
i was only doing it for debugging so i could get the status code since logging doesn't seemingly work in native functions
Resolved all of the reviews 👍
why did bro not resolve the if spam
bro forgot to remove themselves from the devs constant??!
You forgot to also remove yourself from the devs constant after removing yourself from the plugin contributors
ok.
Why not just put "0 Mutual Groups"?
return `${count} Mutual Group ${count!==1?"s":""}`
idk how other people would feel about this minification, but :shrug:
I don't remember how it is but it should match how mutual friends and servers do it
this kid is fucking amazing lmao
WHAT THE FUCK I MADE A REVIEW FOR THIS SHIT A WEEK AGO AND ITS ON PENDING HELLO GITHUB WHAT IS THIS
am I insane
return `${count === 0 ? "No" : count} Mutual Group${count !== 1 ? "s" : ""}`;
you didn't send your review silly
pending means it's still a draft
you have to press "review changes" at the top for it to actually send the reviews
that would break bulk reviewing :p
grrrr
I look insane here now
then press the add comment button instead of the start review button !
should we rename findByProps -> findByEntries?
that would match Object.entries and I also don't really like how findByKeys sound
ig
It matches getOwnProperty and all that
findByPropsAndExtract -> findProp?
that is right
I forgot those were called properties there
if you don't remember that's
const getUser = findByPropsAndExtract("getUser", "fetchUser")
Would probably be more effort than it's worth
Break a ton of unofficial plugins
you dont know about my branch then lol
third party plugins are not supported and there's no api stability guarantee

and even then I'm still keeping backwards compatibility
anyway in case of change the old stuff would be left in for a while as deprecated
as transition period
yep
(if plausibly possible)
that's what I'm doing already
speaking of that I need to re add top level destructuring for backwards compatibility
temporarily
why
tf
why change a really important part more or less because you feel like it
i mean that was talked about a while ago anyway so just do it
The patch in Experiments that makes the Favourites Server experiment allow favouriting DMs and threads is seemingly broken
I tested the patch and it looks like it should work, but if you set a breakpoint where it should be injecting, it isn't applying
I remember I fixed that one
are you sure it's not applying
it changes a value to true or false I don't remember which so it's easy to miss it
I know which value it sets and it doesn't set it
manually changing it to false in the debugger fixes functionality
ShowHiddenThings (found no module):
ID: -
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
okay then it's maybe a duplicate find
ShowHiddenThings (found no module):
ID: -
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
loadLazyChunks() in console
and check if the find has more than one result
nope
search in the devtools
Demo of this
I first manually set a to false in my breakpoint at every step following right clicking a user. The "favorite dm" option is visible from doing this
I then right click a user and make no modification to a, and the "favorite dm" option isn't visible
a in this context is a=e.isDM()||e.isThread(), the patch target in question
only one instance of useCanFavoriteChannel in discord assets
even after doing loadLazyChunks()
Vencord.plugins.patches (iirc)
does it include that patch
might be Vencord.Plugins I'm not sure
no
which is odd because I have experiments enabled
where is the patch going then lmao
¯_(ツ)_/¯
wtf
it's definitely applying somewhere
okay hmm
if you wanna continue a little go to patchWebpack
insert in the line after the find check a log for the module id and the find
then check what's the id of the module being patched with that
trying to do that but struggling
show screenshot if you are confused
100% being stupid
id instead of module
pointed me back to the correct place
search for that id in devtools
okay so it is there
its properly patched too
does it work now lol
what the fuck
still works after removing console.log
I am so confused
cause this thing has been effecting me on vesktop and normal, dev or not, for a week
Would it be possible to keep support for the old UDP protocol? there are quite a few of us still using the last Unity UI build because it's significantly more stable.
@austere talon yay or nay
is there a way to conditionally use natives if not then no
just dont invoke anything
if you try to access a native in browser it's gonna be undefined
i dont think anyone gonna try to use this plugin in browser but more ppl use this than i thought lmao
but okay noted
not going to do it immediately
but yeah just saying there is no issue with having a native defined
if you are not gonna use just don't call any methods of it
alright banger
console shortcuts does it kinda
yeye
Alright @jagged cloak, in 3 days: maybe
maybe
Adds an API for listening to styles as they are added to the app via webpack
Replaces #2662
Will be used by future plugins of mine
@Nuckyz @Vendicated How can I make StyleListenerAPI require restart when enabled
Enabling it hot doesn't work because it doesn't have a way to retroactively fetch old styles
horror youtube added ads to embeds
would editing WatchTogetherAdblock injection conditions fix this
possibly
9cc42bf MutualGroupDms: make display consistent with Mu... - ZoamIl
6c12a33 fix(BetterFolders): Close folders when switchin... - n1ckoates
instead of passing all presets and doing a .some, why not just pass the activeDecorationPreset variable?
renderSectionHeader={section => <SectionHeader section={section} activePreset={activeDecorationPreset} />}
d47be6c MentionAvatars: Add option to hide @ symbol(#2725) - Luna-devv
new Logger("Translate").error("Failed to translate:", e);
i didn't mean to inline this if / else everywhery. i meant like
export function translate(text: string) {
return IS_WEB || settings.store.service === "google"
? googleTranslate(text)
: deeplTranslate(text);
}
function googleTranslate(text: string) {}
function deeplTranslate(text: string) {}
and then use that translate func everywhere
are you sure deepl supports the same languages as google? we likely need a separate list of supported languages
try {
const res = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `DeepL-Auth-Key ${apiKey}`
},
body: payload
});
const data = await res.text();
return { status: res.status, data };
} catch (e) {
return { status: -1, data: String(e) }
}
😭 no way i had already written the fixes in my local git commits
hahaha
no it's fine, it's your project. i'll revert what i've done and pull yours. but i'm almost done splitting the supported languages
DeepL has different languages supported for input & output, so there's a bit of logic rewrite but it's not bad
WHY
what is wrong with deepl 😭
it can take in more input than it can actually translate into, it seems
it also splits some things en-us and en-gb for output, but only accepts en for input
you should just go "I found stuff wrong with your PR, fix it" then let them figure out whats wrong themselves :3
and though it does support en for output, it says please don't use it and specify en-us or en-gb
oh wait
it's the same
there's no need to split
the only diff is that target lang has variants
like en-GB and en-US
OK i'll just revert everything then 
i respect it
or actually
i've already rewritten the logic anyways 
and only take first half
i just translated that
with the plugin
export function getLanguageObject(settingsKey: typeof LanguageSettingKeys[number]): Record<string, string> {
if (settings.store.service === "google") {
return GoogleLanguages;
} else if (settingsKey.includes("Input")) {
return DeepLSourceLanguages;
} else {
return DeepLTargetLanguages;
}
}
Object.entries(getLanguageObject(settingsKey)).map(...
Entrada 😭
ahhahaha
i was about to ask wtf Entrada is
😭
OK
just use the target languages
yes
kk
you got it
well you're gonna have to undo the change i made in my last commit xd
time to undo everything 
or ig no
that should work
also uhh
how bad is the deepl api quota
500,000 characters per month
idk how much that is
for the free one
personally i've never went over that quota
when i used the betterdiscord plugin
well in the future we might add a feature that will auto translate the entire chat
yeah i saw the PR
maybe we could add a setting to fallback to google api if deepl hits quota limit
maybe a good idea
if its auto-translating the whole chat, you might reach 500,000 characters in a month. i guess it depends on how often you use it
i once tried by doing a for loop that translated 10.000 times in less than a minute
no rate limit whatsoever


let me finish reverting this stuff right quick
discarding all of my hard work...
will this change the modal if they switch services?
i'm unfamiliar with how that works
well
oh cool it does
it changes the model but yeah they don't seem to be compatible
since it would be en-us on deepl and en on google
yea
and same with auto, it's "auto" on google but "" on deepl. i could change it to auto in the object and then explicitly check for "auto" when passing the source lang
since if you pass "auto" for source_lang it'll throw an invalid error since auto is not a language
you need to pass ""
right
it should be very rare for a user to switch service
ok epic
alright, i think that's everything then
i added the supported languages for deepl and made it set the settings to default on service change
looks good
actually wait
the deepl languages are sorted by language code rather than english alphabetically
let me fix that so it's consistent with google languages
ok there we go
you keep inlining / duplicating the implementation details everywhere
the translation modal doesn't care if you're using google or deepl, it only cares about the language list
handle the implementation logic in one single place and everything else just calls that
makes it much more maintainable
not just in vencord but in any project
imagine it like a black box (or an interface)
you need:
- getLanguages()
- translate(text)
you don't care what goes on inside the box
yeah i reckon, that's an issue i've had for a long time and i'm aware of it at least. i have trouble gauging what's worthy of its own function and what isn't, so i apologize for that
feel free to change any of the logic around to your liking
alr did xD
i'm just telling you cause I think it's good feedback
i appreciate it
obviously also don't overdo it, abstracting away too much makes it harder to maintain again
but there's a good balance
it's why languages like C# push interfaces so much
because generally you don't care about the implementation
idk if you ever worked with C#
C# is my primary language
oh sweet
and i do it much better in C# if you take a look at my github hahaha
so you know how there's ArrayList, LinkedList, etc
but you usually don't give a fuck what kinda List you are working with
so you use the generic List interface
which has operations like add, contains, but you don't know how exactly the methods work
yea. i'm very new to typescript in general and for me it was odd to take a language thats primary distinction was type freedom and then throw type safety into it, but i'm getting more into it as things go on
since i used javascript before
it's basically the same here
you don't care if it's DeeplLanguages or GoogleLanguages, you just need Languages
right

i appreciate the feedback
:3
i'm currently rewriting my primary project into typescript
it was made in javascript and i kinda frankensteined it so much at this point that it's just unmaintainable
should we do the falling back to google if deepl has hit limit?
it would just be one line of code i reckon
a bit more
nono
have to do a few translations
nb -> no
zn-hans -> zh-CN
zh-hant -> zh-TW
en-* -> en
for the fallback?
ye
so keep the settings, but just fall back for just that request

well
the temptation to post the gif
you probably want to uh display that the quota exceeded with a toast or something
doubling all requests is incredible
it's fine
like a once per session toast
yeah
Also, when are we making a plugin for https://www.deepl.com/en/write so I can sound more serious when typing on Discord?
it's the best solution
you don't really know how long it will last
yeah that's true
also uh
people are fucking stupid
so
we should add some handling for missing credentials
what credentials
api key
i did
yes but
users are stupid
they enable auto translate and then complain in support that vencord has "autocorrect"
what kind of handling do you have in mind then
missing credentials = * {display: none} body::after {content: 'MISSING DEEPL-API CREDENTIALS'; display: block; font-size: 50rem}
i will test
translate with google same request too?
when making plugins always keep in mind that the average user is a 13 yr old ntts viewer 
yes i know this is a joke this just kabooms everything i cant read message 
yea thats what its supposed to do 
you definitely just tested it
coz-overload...
i cant even read the error 
i love how i added this and it still didn't help
i think because too much text
i will fix
maybe need to add subway surfers gameplay
or maybe make the Disable the CTA

make the got it button disabled with a countdown for 10 seconds
also RED
force vencord users to do a dopamine detox
convert the whole Alerts.show to a proper modal
force them to type "I aknowledge that turning this option on will automatically translate all Discord messages."
you can then abuse code I already wrote to effectively force them to read the message
like I do for the changelog in my fork
i have a good idea
we hire the dumbest people from support as testers
and have them test new features
common problem in open source: all testers are smart competent people
you don't need them
you need the dumb users for testing
@austere talon https://github.com/Sqaaakoi/Vencord/commit/e9ddece5cb6c46d6560c37b0e799ac416e75092e is this commit a mistake?
every time i make anything for an average consumer i follow hakitas advice which is to dumb down everything as much as possible as every thousandth user is the absolute dumbest person on the entire planet
cool fact: at least one of your users has gone to aptilink, done their "IQ Test", got a bad result, and posted it to social media saying I'm smart
true
this motivated me to design my tea bags in a way where if you put the label into the water it explodes
you can simplify your documentation to short text a 5 year old would understand and users will still fuck up
this is why vencord can add crypto miner plugin that blatantly says "THIS USES YOUR PCS RESOURCES JUST LIKE MALWARE DOES AND YOU GAIN ABSOLUTELY NOTHING FROM IT" and users would still enable it
i really want to see Vencord analytics but because Nerds they would disable
these users arent even who we want the analytics from though 
there's an aliucord plugin called ThisWillCrashYourDiscord
people keep installing it
oh yes I remember that
😭 is it like built into aliucord like with vencord official plugins or
why do they keep installing it then 😭
go to all plugins, toggle on, restart
i would say recreate that in #1256395889354997771 however I also understand that because Vencord isn't designed to be extremely modular it would result in slightly more users requesting dev build in #🏥-vencord-support-🏥 just to be stupid
because users are genuinely single braincelled individuals
you have to design all ur software with that in mind
😭
if you have any switch
users will toggle it without reading what it does
Yop
it must be a good feature if it's a plugin
WRONG
same reason some people enable every single vencord plugin then complain in support
help i turned on norpc, why is my rpc not working
now imagine if vencord was modular and users started installing everything in #1256395889354997771
or why people enable NoProfileThemes then complain why they have no profile themes
and thats why we need the jumpscare plugin /j 
users will immediately call vencord malware
you lose.
betterdiscord 2 (users will now make low quality plugins because more people will be able to install [their garbage])
broken
truly incredible
incredible that someone is so stupid they not only refuse to read the channels, couldnt find vencord support and went to core development but also then realized that they cant type and decided that the best course of action is figure out how to create a thread and post a screenshot
THEY HAD VENCORD SUPPORT OPEN IN THE SCREENSHOT now im mad
me w/ you
problem solved
anything else i should be doing on the deepl fork
oh
onChange isnt triggered when changing via code
seems to work fine
but "translated from en"
gonna fix that

I'm going to go find an interesting sounding plugin request and make it
fuck it this is a 5-10 minute job
wait no i need thread to test
its a wall of yap
no one with a tiktok brain gonna read that
oh wtf
okay
so
i'm working on https://github.com/Vencord/plugin-requests/issues/975
me every day (most plugin requests are stupid or too large)
and I was wondering why the fuck is thread-context its own thing
Turns out, thread-context doesn't have the guild property
Why, discord
Why the fuck
we need to get an underpaid child or something to clean up plugin request issues i think
hiiiii
what do you think im doing (but with Effort)
So you're saying you're an underpaid child
most detailed git commit
i mean someone with collaborator because im seeing a bunch of requests that are already solved
I am not
no one reading allat
it will look great in the PR for a 2 file 2 lines total change
my honest reaction #👾-core-development message
Ai 
what program are you using to even write that message? i actually kinda like that ui
VSCode
vscode?
yes, it is vscode
i use webstorm leame alone
im sorry for you
i hope you can recover soon
i love using a text editor as an IDE
seems like you also love waiting like a year for indexing!
i wanted to make the translate button have a permanent tooltip when auto trans is enabled
but there's a problem with that
i literally just use vsc as a notepad alternative
it shows on top of modals too
SO GOOD
cursed
is there a way for plugins to store arbitrary data between sessions?
wdym
yes
but what kind of data
how?
settings maybe?
thats what id do at least
like just some json
i mean non-user configurable data
use settings for small, synced data
use DataStore for bulk, non synced data
hide the option :p
indexeddb can store gigabytes
I will make my own store and fill it with useless junk
isnt it sqlite?
and index stuff
no
implementation detail
oh
they said the thing
never could have guessed that indexeddb is indexed
😨
whats the actual difference between sql and sqlite
sqlite is an sql driver / library
kk
sql is the language you use to query data
Fixes https://github.com/Vencord/plugin-requests/issues/975
Read commit description for extra yapping
why not just put it in the pr message ;-;
you will read #👾-core-development message
i'd read it
anyway back to
LIST OF PLUGIN REQUESTS
i forgot how useless and stupid most of these were
how do we more clearly communicate to the user that auto translate is on
i am an unpaid volunteer
without a tooltip
bug report in plugin requests
yop
constant toast spam?/hj
and i fixed 
can you actually spam multiple toasts at once
- i think so
- i mean like, send one, once its gone, send another, etc.
Add a border around the chatbar that matches the enabled button color
they'll stack afaik
press tab
ppl would probably just think its that or something
Make it bigger 
can sm1
react that so i can as well
big text across the screen that says "auto translate is enabled"
they just wait until the current one expires
that's what I meant by that....
but where
change message placeholder
Message #general with auto translate 
send toast when message was successfully translated during auto translate, indicating that it is, in fact, translation plugin and not autocorrect
maybe something like this?
comic sans 
id just end up gettin it confused with the tab highlight
How about adding the translation icon next to messages sent with autotranslate on?
vc trans
![]()
how would you even detect
effort
I dunno
isnt the idea to warn before sending it?
presend listener setting property on the message?
had what on
shhh
Autotranslate ig
what language combination turned yop into yup
aaaaaaaaaa
well said <3
guess it will just show this every time 
incredible
i genuinely don't know any other solution that isn't awful
it's mainly windows testing
according to nuckyz it causes issues due to file locking
holy shit when was this added
I can already see people clicking the bottom text and complaining later 
oh ok interesting
you will read #plugin-news
what is this
wait i have an idea
is this for sending
also why are you still schrödinger's programmer
u could just make an obvious glowing translation icon next to the attachment button
im just kidding 😭 probably like under the message maybe? You already have a little label with dismiss you could maybe change that to "Auto translated from to" or whatever
my beloved
or use clyde messages
horror
"This message was translated from türk to türk by Vencord auto-translate"

cuz im actually contributing to the conversation, so i havent gotten blocked fully yet.
really all it means is i cant react to messages lol
also funi
insane
think of it as an achievement dont
true you could add translated message IDs to a store and then add a UI element to them too
im one of few, if not the only person to have this status, ill take it as a good thing
ehhh....
sounds like a lot of effort for not much reward
@austere talon this just reminded me, you know how Discord will warn you if you try to ping everyone in a large server, how do you feel about an API for that similar to the existing presend listener hook, where plugins could modify the text in the popup. this would probably be useful in SupportHelper in some way or another
this could be nice
vee i have no idea what the fuck that code is doing anymore
I actually played around with that module recently out of pure boredom
i think i slightly get it
OH
no its completely different to what I was originally thinking
I like that
it will show a tooltip on the chat bar button for 2secs whenever a message is automatically translated
but not the fade out bug
xD

please share your resources that you have already got
find(m=>Array.isArray(m)&&m.length===2&&m[0].check)
``` push to that array {check: functiok, body: the text you want to show}

there
a
🐫
test
the horror
what are you doing now
seems like it doesn't work for channels without loaded messages
oh
not really sure how one would fix that but it decreases usefulness
the fix is significant amounts of api abuse (unacceptable solution)
also wow i hate that plugin
i turned it on and it makes me think i have pings everywhere
😭
i know i keep saying "can be done with css shouldn't be a plugin" but at this point maybe we could add a plugin that hides various annoyances because it is such a commonly asked thing
holy shit you finally admit it
This. This is the plugin that actually does stuff not possible with CSS yet people INSIST on using CSS to hide store and shop pages in DMs
wdym
why are you keyboard navigating up there
keyboard navigation so good
yes but
you're in some dm channel
and alt tab / down to switch channel
why are you going above the channel list
it's so rare that you need the friends tab
nono
its because the friends tab is the default
and you have 2 useless pages between there and your dms
true
but also at the same time I had the idea to bomb friends tab being the default and add real homepage with USEFUL FUNCTIONALITY (Inbox as a full page and also less shit Active Now)
i still think its a Good Idea
Yeah I don’t think it’s useful at all because why would you need to know the amount of unread messages in a channel, if they were directed at you they would probably ping you
though end users would probably have no idea what "Annamox" does
Anxiety Plugin
obv it wouldn't be called that
Yeah i was hoping someone would have had an answer to that
lc.gem what is the relation of annamox and nitro
Annamox and Nitro: A Clarification
There seems to be a misunderstanding.
Annamox
- Annamox is a biological process where ammonium ions (NH₄⁺) are oxidized to nitrite ions (NO₂⁻) under anaerobic conditions. It's a crucial part of the nitrogen cycle.
Nitro
- Nitro is a common prefix used in chemistry and biology, often referring to compounds containing nitrogen.
- Nitrite (NO₂⁻), a product of annamox, is a nitro compound.
- Nitrate (NO₃⁻), another nitrogen compound, is often produced from nitrite through nitrification.
Relationship
Therefore, the relationship between annamox and nitro is that:
- Annamox is a process that produces nitrite, a nitro compound.
Would you like to know more about the nitrogen cycle or the specific role of annamox in it?
ai should tell me to kill myself
Love yourself now
What would a discord homepage even be
Discord does not need a home page
Yop
there was server home
are the API endpoints for that dead yet?
i know client side code is gone
no its not
different thing
oh?
this is Summaries
yes
my brain skipped over it
mfw the message manufactured to trigger filters triggers filters
yop
idk i still find it funny that it is possible
anyway
does anyone think that pre-send warning message should be a feature in MessageEventsAPI
a
i wonder if discord gets paid to put ads into embeds?
oh?
discord has no control over youtube embeds
never seen them before
Try Rocket Money for free: https://RocketMoney.com/ltt (US Residents Only)
Save 10% and get Free Shipping at Ridge by using the code LINUS at https://www.ridge.com/LINUS
Join Linus and Luke as the go through the LTT Staffs gaming setups and roast, laugh, score and judge them! There are computer issues, Monitor issues, and even swords? Who wil...
let me test something stupid
sponsor block for youtube embeds next?
c407da8 FakeNitroThemes: fix crash when encountering in... - ingobeans
hmm i feel like it would be more useful if it worked via modifier key?
normal paste -> embed
shift + paste -> suppress embed
horror why are u watching entire videos inside discord
hmm i feel like it would be more useful if it worked via modifier key?
normal paste -> embed shift + paste -> suppress embed
I'd argue otherwise purely because the point of masked links is to keep messages with links neat and tidy, another issue with embeds is they strip URL parameters so things like game invits break often.
Having it be a toggle without the need to restart vencord worked well and I recon most people would opt to have links not embed when masking them.
cause why not
nuh uh, I can’t afford it
ShowHiddenThings (found no module):
ID: -
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
ShowHiddenThings (found no module):
ID: -
Match: ```
Messages.GUILD_MEMBER_MOD_VIEW_PERMISSION_GRANTED_BY_ARIA_LABEL,tooltipContentClassName
None
None
None
youtube 2: costs $69.99 a month
None
None
None
None
LOL i do this
while im here
bump #2692
None
None
None
None
note to self: do not send dummy token
i sometimes forget im in discord
lol
I did get my answer though
sometimes i also watch entire videos inside discord if they're a few minutes
i fullscreen the videos
but if it's longer than 5 minutes i'm opening in browser
No, Discord does not popup the warning
you get sent videos?
i might watch videos inside discord if there was sponsorblock
expose install extension util to devtools when /j
9cc42bf MutualGroupDms: make display consistent with Mu... - ZoamIl
6c12a33 fix(BetterFolders): Close folders when switchin... - n1ckoates
d47be6c MentionAvatars: Add option to hide @ symbol(#2725) - Luna-devv
2382294 Decor: add copy preset id button (#2737) - jenkuuuuuu
f8b01c1 Translate: Add DeepL support (#2721) - AshtonMemer
agreed this is why we need it
imo there could be some sort of in-app "theme store" which has stuff like hiding annoyances or similar - I would be against having like 10 plugins that only remove/hide ui/do stuff possible with css. Doesn't have to be anything super advanced
could just have a single plugin with a lot of toggle settings
wouldnt that require page manipulating
What do you mean page manipulation
like document.whatever
Why would it?
how else do you load css like that?/genq
Isnt theme stuff the one acceptable use case for DOM manipulation
I agree that is much more fun
But if you do want to css, there's apis for manipulating stylesheets at runtime
Like ML's highlight style
(Don't really see the point of that though, just add a class to root)
do what quickcss does
hmm i feel like it would be more useful if it worked via modifier key?
normal paste -> embed shift + paste -> suppress embedI'd argue otherwise purely because the point of masked links is to keep messages with links neat and tidy, another issue with embeds is they strip URL parameters so things like game invits break often.
Having it be a toggle without the need to restart vencord worked well and I recon most people would opt to have links not embed when masking them.
...







