#👾-core-development
1 messages · Page 212 of 1
did you try codium?
nope but I am already used to webstorm by now
just hold shift while calling 😭
this reverses that behaviour
holding shift will ring the others
not holding it will start the call w/o ringing others
this is more meant for group DMs
I may want to hop on a call in case someone wants to join
doesn't mean I want to annoy them into joining
ig it will stay as a userplugin then
I love web storm
81f714a chore: reverse review order - lewisakura
why delete xd
NoTrack (found no module):
ID: -
Match: ```
.METRICS,
**__IgnoreActivities (found no module):__**
ID: `-`
Match: ```
.activityCardDetails,children
None
None
None
NoTrack (found no module):
ID: -
Match: ```
.METRICS,
**__IgnoreActivities (found no module):__**
ID: `-`
Match: ```
.activityCardDetails,children
None
None
None
I fixed the patch :)
(another small change from me as usual)
what
cause of external dependencies
I was too lazy to write new esbuild code to bundle it into the extension zip
so i just made it desktop only
love accidentally sending 2 gifs in core dev 
Is there any reason toolboxActions doesn't currently let you define your own MenuItems to put in it?
I chucked together a thing to let me do it which I'm sure could be done more gracefully but I didn't want to put too much effort in if it's an intentional choice
index.tsx: Lines 92-101
toolboxActions: {
async "Refetch Badges"() {
await loadBadges(true);
Toasts.show({
id: Toasts.genId(),
message: "Successfully refetched badges!",
type: Toasts.Type.SUCCESS
});
}
},
but the toolbox is not meant for anything more than simple actions
we dont want to add another place to change your settings, it is better to keep it centralised
Oh I know it takes functions but it just puts those in a basic MenuItem, I meant more so you can add other types of MenuItems like the checkbox
It's fine if it's not wanted, just figured I'd ask
yeah it complicates it a bit too much
I'll just save it for myself then
this is an awful idea
imagine once 20 plugins do that
Harsh but point taken
there was an idea to let users pin settings of the plugins they want up there
but it'll only be a shortcut that opens a modal, not all settings in there
(or maybe nested context menu)
Makes sense. For this specific use case I kinda just wanted something more easily accessible than going into the plugin settings but not important enough for the context menu
So toolbox felt like the good middle ground
I just realised if you really wanted to do this, it's doable via contextMenus anyway
So pointless overall but still good learning material poking around
context menu api so powerful
i'm currently modernizing the github worflow for the Vencord Installer to make it so that the workflow :
- use the new versions of the actions cause some will deprecate soon
- use a matrix for the OSes and gates for steps so there is less repetitions in case of needed changes
- always build on push but only release on tag push
issues i still face is windows taking an awfully long time because of msys2, but nothing i can really do for now, i have to dig deeper into it
is that change welcome as a PR or is the current thing fine and you don't care ?
don't change what's not broken
also that installer codebase is deprecated
it will be rewritten in rust with tauri
well it's not broken yet but will soon
there's a branch for it it's kinda been stale cause it's waiting on something else that's also been stale
ok fine then
i would guess a proper new workflow will be made for it then so no need
Did someone say nested context menu
horror
very kool
also discord has 4 layered
Isnt it being nested like that a vencord plugin tho
Yeah, and experiments menu too
It is indeed
I made it
This is such a good plugin and in my opinion should be merged immediately.
@ vee get on this!
Hypothetically, the install location could be moved to a shared directory like /Users/Shared/Vencord, then chmod -R 666 the directory.
That might cause some problems with installing, I'm not exactly sure how Vencord handles its installation.
I don't think this is something that needs fixing. you can just install discord for your own user instead of for everyone and won't have this issue
for example on mac drag it into your user application folder. on linux, there are various ways (e.g. user installed flatpak or discord in ~/.local/share)
NoTrack (found no module):
ID: -
Match: ```
.METRICS,
**__IgnoreActivities (found no module):__**
ID: `-`
Match: ```
.activityCardDetails,children
NoPendingCount (found no module):
ID: -
Match: ```
location:"use-message-requests-count"
findComponentByCode(".Millis.HALF_SECOND", ".bar", ".progress")
None
None
NoTrack (found no module):
ID: -
Match: ```
.METRICS,
**__IgnoreActivities (found no module):__**
ID: `-`
Match: ```
.activityCardDetails,children
NoPendingCount (found no module):
ID: -
Match: ```
location:"use-message-requests-count"
findComponentByCode(".Millis.HALF_SECOND", ".bar", ".progress")
None
None
make nuckyz ai to auto fix patches
i think someone already made a pr to fix NoTrack… so that’s already done for you
yeah
After multiple requests to fix my plugin i actually did. Please merge, i'm tired.
Resolves Issue #2664
Resolves Pulls #2798 #2665 #1783 #1669
Changelog
Fixed:
- [x] User profile popout patch
- [x] User profile modal patch
Removed:
- [x] Setting to disable header
Added:
- [x] Button to view the voice channel (eye)
- [x] Decorator to view channel when clicked (blue speaker)
Images

@limber skiff what did you mean by this#🌺-regulars message
oh sorry forgot to answer
I saw someone complain better folders broke clan pending invitations or something
yea
I havent tried to fix
saw that myself
feel free to do if you want
dont have time to fix this week due to school but will on weekend
might do this week if time opens up
i think its implimented as some kind of folder
oh
peak discord
Thanks a lot mate, i really appreciate it !
Do you have an idea when it will be merge ?
Discord Account
r4v3_b0y
What happens when the bug or crash occurs?
plugin does not display RPC completely
What is the expected behaviour?
The plugin should display RPC completely, lol
How do you recreate this ...
use our support channel if you need support.
find: ".METRICS" seems very imprecise imo
I'm not saying it doesn't work, but it's smelly
It's fine
can anyone confirm NoPendingCount with message requests still works
I got no message request
Do you wanna try dming me? I imagine that'd go in requests
can you dm me instead

None
None
None
None
None
None
None
None
e5a4db6 TimeBarAllActivities: Fix not working (#2847) - hauntii
9e7f882 CustomRPC: Fix activity preview styling - Nuckyz
868b2ea Fix SortFriendRequests received date - Nuckyz
56459bd new plugin AccountPanelServerProfile (#2836) - relitrix
a765212 NoTrack: Fix blocking analytics (#2857) - thororen1234
A very simple plugin that completely hides the server activity section in the users list.
it's literally just css
I love dom manip
It's dom manip, that runs once per second, and only works in english language
Lmao
div[aria-label="Members"]
{
display: none !important;
}
also don’t use DOM manipulation for vencord plugins. write proper patches
C# 
yes I looked at and immediately thought "What the fuck."
i ran it and it didnt work but took out the highest role
And the stop() doesn't even stop the setinterval :)
LMAO
though
I'm guilty of that
same
6 months ago I made a plugin that uses "dom manipulation" (setting event listeners on document.body) and I had the stop function add the event listener again
I only fixed it 2 days ago
also, if Discord wasn't using React and this wasn't possible with CSS, it'd be more appropriate to use MutationObserver
Yep
this is advice for Other Sites where this hacky logic is required i am begging the random person who reads this to not actually use this for a vencord plugin
If nothing else works, you can always just patch react's core
@brazen bone uses React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
Of course I don't, that'd get me fired
So that's some certified misinformation right there, gj
I used to add a mutation observer via devtools to fix a bunch of stuff that bugged me in discord before I found vencord
That is valid
Fun times rerunning it every time I needed to restart
Tell your local monkey to do it
Those times are behind me now
You end up with a long match with this and you aren't capturing the channel variable
dont add yourself to devs for minor changes
div[aria-label="Members"]
{
display: none !important;
}
Also this completely hides the members list
There's a builtin button to hide members list if that's what you want, which it probably isn't
I think they mean to say that CSS snippet would hide the members as well as activities when they don't want to but that's what #🎨-css-snippets message is for
Apple got rid of the old tools.applemediaservices.com search endpoint, so now we have to fetch from another iTunes API and extract the artist artwork by reading from JSON-LD in artists' Apple Music pages. Cheers!
im reviewing rn chiiill
nit: due to high complexity, i recommend storing this regex in a top level variable instead of having it inline. not just makes it more maintainable but also slightly improves performance
probably would be more robust to use the URL api and use urlSearchParams.set("whatever", "512x512"), same one line below
or is the size a path instead of search param?
size is part of the path, yeah
Isn't this just a fix of an already existing feature?
Isn't this just a fix of an already existing feature?
yeah, though the issue is labeled as a feature request. which should i follow?
now make ytmusic rpc
or just use a ytmusic desktop client that provides rich presence
there are two popular options
https://github.com/ytmdesktop/ytmdesktop
https://github.com/th-ch/youtube-music
💀
the apple music rpc does the equivalent of using powershell
ig it is better than having a third party program provide the rich presence data
Regex comparison:
old: \.embedWrapper(?=.+?channel_id:(\i)\.id) [.1-.2ms query]
current commit: \.container.+?a&&(this) [.1-.2ms query]
other soln's:
(?<=Invite\(t,\s*(n)\).+?)\.container [~201.8ms query] (+ positive lookbehind may not be supported, + non-fixed)
Invite\(t,\s*(n)\).+?\.container[.2-.5ms query]
the comment is wrong lmao
the current commit has .container(?=.+?a&&(this)) utilizing positive lookahead, already updated on PR
if this is gonna be hardcoded in the regex just hardcode it in the replace instead
fair point
ill do that
then the capturing group isnt necessary right
wtf is happening with my brain 
the whole lookahead isnt
also is that regex matching more than one place or not
if not make it non global
i just saw that now
there is only .container and i was so focused on making a regexp i didnt even oh my god
can i squash my commits
no need
pr will be merged squashed on merge anyway
don't rebase pr commits it's confusing and makes it harder to review
okie okie
what even is the obsession behind look-ahead/behinds
tunnel visioned
i was so concerned about .container repeating multiple times and getting the channel var i forgot to skim the actual file
Small update on this, I don't really know what causes something to come out in undoingPatchGroup or failedWebpack though tbh
No music this time
im not only talking about you
a ton of people suggest using lookaheads
whats the deal with that
except special syntax for eating more performance
for me it helps matching patterns based on surrounding context
esp if there are multiple matches and u only wanna match 1
they can be quite useful and also make cleaner matches
yeah I do the same
im mainly confused on what they can do that normal regexes cant
pretty much all my patches is target a context .+? to where I want
most of the time is for cleaner full match
but they can be used for powerful cheats too
i get that they are cleaner but like is that it
settings.tsx: Lines 67-68
match: /({(?=.+?function (\i).{0,120}(\i)=\i\.useMemo.{0,60}return \i\.useMemo\(\(\)=>\i\(\3).+?function\(\){return )\2(?=})/,
replace: (_, rest, settingsHook) => `${rest}$self.wrapSettingsHook(${settingsHook})`
index.tsx: Lines 280-281
match: /\.appDetailsHeaderContainer.+?children:\i.*?}\),(?<=application:(\i).+?)/,
replace: (m, props) => `${m}$self.renderToggleActivityButton(${props}),`
other cheat
@limber skiff this new plugin 9/10, cant wait for the #plugin-news in a few months about it
I dont understand what you said
me neither
im on 4 hours of sleep gang
It wont take months
I'll see if we have more news soon, if not then I will announce it alone or maybe with one more thing too
I just wanna avoid a ping for one plugin
they can look ahead or behind without matching
but thats not very useful when you can just do (match, _1, component) => `${_1}your_suff_here` right?
it's cleaner and more performant
more performant...?
and some things you can't do without lookarounds
when used correctly.
researching i only see people saying its less performant
is there any source of them being more performant?
genuinely curious
just googling, all the top results are already saying you should avoid them because of performance impact
in fact the only sources i find that are not against them are tutorials
now im extremely curious on the obsession of them
hm okay i guess
beause it has to create large strings
and uses more memory
if you're matching a few thousand bytes of garbage, it's better to not match them at all
some vencord patches that did exactly this got sped up a shit ton by just converting it to a lookaround
also lookarounds let u do super powerful stuff
like?
for example grabbing the closest match next to it
ah, makes sense then
assuming you have a file like this:
function a(b1) {
// random code here
}
function b(b2) {
// random code here
return "hi"
}
try capturing b2 inside a group without lookbehind
with lookaround it's super easy:
/return "hi"(?<=function \i\((\i)\).+?)/
if you do the same thing without lookaround it will match b1 instead
it's not really possible to match the closest thing that is before smth else
I literally showed u examples
the one case you are likely gonna cause your regex to get super slow is when u do this
/(?<=something.+?something_way_head)b/
or
/(?<=something.+?)b/
in other cases it has no difference, if not faster
the issue is not even that it's non fixed length
more that it's at the start of the regex
and it repeats steps over and over to try to match the look behind
on every fail it redoes the entire look behind, but with one more character
damn so thats why my query took 208ms
yeah
in those cases it's better to just match normally and re add in the replacement
lots of patches were changed to that for more performance
as vee showed this is not slow like when in the beginning
and it's non fixed length
yeah you can put lookbehind BEHIND your regex instead of in front
and it's so much faster most of the time xD
the worst performance is generic lookbehind that can match many characters
(?<=a.+?)hi
if you have a file like this
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai it will check for every a from left to right and have take exponential complexity
but if you just avoid that, e.g. via hi(?<=a.+?) boom fast again
😭
this is so funny btw
lmfao
@woeful bison
im stupid
@woeful bison ping
🏓 Pong!
Latency: 88ms
Shard Latency: 28ms
You need to provide an image/GIF to add a caption! (Tip: try right-clicking/holding on a message and press Apps -> Select Image, then try again.)
can we make the vencord installer install wires on my wireless device
i think i sponsor lewi for more than he sponsors me tho
idk how much are you sponsoring me for
uhhh idk

with notarizing, i need to get the certificate out of the vesktop action
because i uh
Lost My Certificate
lmaoo
and i Do Not Own A Mac Device
you'd have to push a new workflow to some branch that just posts the token to your api or smth
xD
yeah lmfao
the api keys i can get easily they're just listed on the website
but the signing cert i cannot
well it won't be as simple as just doing that
we also need the entitlements plist thingie
ye
i think personally
we should wait until we're going ahead with the rewritten installer
before we put the effort into notarizing
hmmm
cuz otherwise
tauri does support it ootb
we're gonna notarize this
and 1-2 releases later we're replacing it with a different system
xd
wait do u use windows or linux
both
i kinda lost motivation to work on the asar pr
it's essentially finished, just need to test updater on windows
my translators are sobbing in the corner right now hearing that
specifically because of file locking
if u wanna look into that it'd help greatly with getting it merged
uhh basically just the pr and you need to test the http updater
what you'll want to do is use just a normal vanilla vesktop install (NOT from source) and edit the repo variable in main.js / patcher.js to your vencord fork
and then you push the pr to your fork's main branch so it builds the new builds
then you should get an update, then once u restart it should migrate your install to asar and restart (it prints to terminal)
then from there on it uses asar and updates from asar
and the asar updater also needs testing
so just push some dummy commits to ur repo to trigger updates
basically that's all
hello from vesktop
okay
let me read a sec
okay, so i need to build a dev version of vencord, point the updater to a fork with the PR merged, and then trigger an update
then send some blank commits off
okie dokie
nooo
use vanilla official install
and just edit the bundled vencordDesktopMain.js
to change repo from Vendicated/Vencord to your repo
this makes it so you can test the migration proccess
where does vesktop store the files again
oh roaming
got it
i am
very confused
i've edited the files for vesktop's vencord install but they're still pointing to the old repo
are these the wrong files..?
whats their path
"C:\Users\Lewis\AppData\Roaming\vesktop\vencordDist"
is apparently where it should be getting them from
but that doesnt line up with the source code where it says "vencordFiles", and there is no such folder in the data directory
the state file also does not specify any path
the app just says "default location"
okay lemme play a valo match cuz i said id play with my friend and then ill come back to it
are u using custom vencord install
no, i clean installed vesktop and made sure to reset the location, then performed an update to make sure i was on latest vanilla
^^
from my understanding this should be DATA_DIR/vencordFiles but that literally doesnt exist xd
u did
one thing
i dont know why
it doesnt even matter how hard i try
keep that in mind when i tell you this rhyme
NOT THE TIME FOR LINKIN PARK
that i forgot to enable github actions~ 🎵
constants.ts: Lines 18-20
const LEGACY_DATA_DIR = join(app.getPath("appData"), "VencordDesktop", "VencordDesktop");
export const DATA_DIR =
process.env.VENCORD_USER_DATA_DIR || (PORTABLE ? join(vesktopDir, "Data") : join(app.getPath("userData")));
constants.ts: Line 40
const SESSION_DATA_DIR = join(DATA_DIR, "sessionData");
constants.ts: Lines 50-52
export const VENCORD_FILES_DIR =
(require("./settings") as typeof import("./settings")).State.store.vencordDir ||
join(SESSION_DATA_DIR, "vencordFiles");
yeah i misread it
i erased SESSION_ from that prefix
oh i need to setup a vencord builds repo
oopsies
no i dont xd
@austere talon is there nothing i need to do vesktop wise?
cuz its just stuck loading now
do i not need to switch to the asar version
it migrates once u update
run from terminal to see output
kay
[Vencord] Starting up...
(node:40284) UnhandledPromiseRejectionWarning: Error: Cannot find module 'C:\Users\Lewis\AppData\Local\vesktop\resources\app.asar\dist\_app.asar\package.json'
Require stack:
- C:\Users\Lewis\AppData\Roaming\vesktop\sessionData\vencordFiles\vencordDesktopMain.js
- C:\Users\Lewis\AppData\Local\vesktop\resources\app.asar\dist\js\main.js
-
at Module._resolveFilename (node:internal/modules/cjs/loader:1152:15)
at s._resolveFilename (node:electron/js2c/browser_init:2:120699)
at Module._load (node:internal/modules/cjs/loader:993:27)
at c._load (node:electron/js2c/node_init:2:17025)
at Module.require (node:internal/modules/cjs/loader:1240:19)
at require (node:internal/modules/helpers:179:18)
at VencordMain:5:5161
at VencordMain:5:225
at VencordMain:8:454
at VencordMain:5:225
(Use `Vesktop --trace-warnings ...` to show where the warning was created)
(node:40284) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
Update for version 1.5.3 is not available (latest version: 1.5.3, downgrade is disallowed).
checkForUpdatesAndNotify called, downloadPromise is null
The plugin allows to exclude bot mentions via the filter in recent mention panel or the plugin settings.
You should find the prop at the top-level instead of on every call to reloadMentions
vencord plugins dont use this
you should extract this into a function
eg .concat($self.patchMenu(arguments[0])
all_servers = all_servers ? null : getCurrentGuild()?.id;
Really quick PR to hide the Last.fm presence when any other activity is detected, e.g. when playing games.
add the pictures you put in the comments
also extract this into a function
@austere talon did u see this btw
@hushed flicker you can also discuss plugins here
None
None
None
None
None
None
None
None
use CamelCase for plugin names, so FilterBotMentions
might want to specify that it filters them in inbox
“Filter mentions by bots in the inbox”
CamelCase your plugin name as stated below
also reference the object you just created in Devs
authors: [Devs.taran],
thank you i did it. could you have a look at 4d9acac992dcd76d3ba948277b2269f06408c95e
:sob: HAHAHA yes sorry i forgot that. psure i updated that in one of the recent commits. thanks again.
For what it's worth, the https://amp-api-edge.music.apple.com/v1/catalog/us/search endpoint is very similar and is still active. It does require an API key, but you could just use the one hardcoded into https://music.apple.com.
You just have to add the search params platform=web&with=serverBubbles, and the response format is slightly different.
@n1ckoates I did look into that API, but the request body is much more complex and hardcoding a Bearer token is not such a good idea IMHO.
@limber skiff while im fixing betterfolders not rendering guild apps, should i also give it a readme.md
when rendering pending guild applications better folders breaks and will not let you see them, this fixes that
sure
can u fix formatting too
in your pr
just booted into windows 😭
time for github web editor
wait, what did i add that isnt formatted
spacing in if
ah, missed that
@limber skiff fixed the formatting and wrote a readme
not sure how good the readme is, if you dont like it just remove it or edit it
i eep now
alright thanks
!remind saturday dragging support for pindms
Alright @fossil inlet, in 2 days: dragging support for pindms
!remind saturday also drag favorite emotes
Alright @fossil inlet, in 2 days: also drag favorite emotes
DRAG AND DROP FOR PINDMS!
Adds the ability to "watch" a user, which will show a Toast when a user joins or leaves a VC in servers you share with them
ew..
Just add them as a friend and then look here 
ok creep
Unfortunate that this is the actual plugin and not a request for one so they already have and are probably using this
guh those changes are unsafe
This is an extremely creepy plugin which is in direct violation of the plugin rules. There is no legitimate usage for this, you can just ask your friends when they're on if they want you to know. Please do not resubmit this plugin to the repository.
just saw that
that is a horribly creepy plugin
ah yes please let me watch what this user is doing automatically
yeah i dont like that either and i find it creepy
i dont mind activity status since i dont mind if people see what im playing or where i am, but i find it weird to have a centralised place for people to work that out, and i find it especially creepy to have a plugin that automatically notifies what im up to to people that i dont know lol
like at least the built-in one is for your friends
of course this is discord, privacy is not to be expected
silent role 
but i would like to at least not be immediately stalked by software that i contribute to :p
hop on
vp silent
Adds a button to the chat bar to toggle sending a silent message.
Nuckyz, CatNoir
needs context menu only option for me to want to enable it lol
You don't need more than that
Your screen is puny
Collapsible chat bar buttons 
The idea of the plugin was to find when friends are in a LFG server, but ok
idk why there are three buttons that go to the same dialogue
Then ask them to message you, don't unconsensually stalk them.
what if we added silent message in here (similar to how silent typing does it)
biased about things cuz i've had a bit of a stalking incident as of late
yes that is exactly what I want
yop
yeah it should be pred in
Nah it's justified, imagine trying to vc in servers you enjoy and some creep just joins with you every time
iirc I made a plugin that did something like the plugin in question a long time ago when I started out with making plugins I think it was for friends only
i abandoned it because it got annoying
insane selector
YES
THAT DOESN'T SOUND VERY PROMISING
its not
is it not
no lol
ive been shown randos in there since like 2018 or whenever it was released
not the one in servers
i know
well i dont know because it specifically states >Friends
so maybe its because your friends are with randoms?
i've never seen anyone i dont know in that list
no

cnr
it did in the past?
it only shows one group of friends in a vc rn
i need to look into it
implict relationship
this part?
ye
you are right
if they rename folderNode to smth else
enjoy crash loop
always use try catch or optional chaining

Yop
eh
maybe
it should never error there
the error would be the find/match breaking
they can but i dont think its common
haters about to hate
it's redoing a commit
then base on main
dev is literally for that
base on main and I will change to dev before merging
I always do
i will base on dev
nuckyz gonna kill me
specially with the force pushes

What does this mean
I'm removing it, and I have a version on my PC but I'm at school rn lol, I might ssh into my PC later.
the reason it is removed is because of its native to the discord client now lol
Pull requests can be made either to the main or the dev branch. However, unless you're an advanced user, I recommend sticking to main. This is because the dev branch might contain unstable changes and be force pushed frequently, which could cause conflicts in your pull request.
😭
There are genuine reasons to force push branches to keep them properly inline, we have a similar workflow in a project I work on and a quick rebase fixes it
Not really all that annoying I guess
it's so useful to be able to rebase
how horror would it be to find the check for web on quests so they could be done on web/vesktop with arrpc
You can listen to radio stations through the Apple Music app, such as the BBC or France Inter. These return... unusual values as the current activity. This PR hides the irrelevant/missing info
not worth it
@austere talon do u want to try to tackle this tonight if ur free
ive got nothing to do for a while so
I'll check code in a bit
kay
but also try to figure out yourself why that happens
i couldnt spot anything obvious xd
patcher.ts: Lines 33-42
const asarName = require.main!.path.endsWith("app.asar") ? "_app.asar" : "app.asar";
// The original app.asar
const asarPath = join(dirname(injectorPath), "..", asarName);
const discordPkg = require(join(asarPath, "package.json"));
require.main!.filename = join(asarPath, discordPkg.main);
// @ts-ignore Untyped method? Dies from cringe
app.setAppPath(asarPath);
that's not used on vesktop
it is in my logs
then you did smth wrong xd
[Vencord] Starting up comes from here
what exactly did you do
clean installed vesktop
updated vencord
modified the instance of vencord to point to my repo at lewisakura/vencord (which has the PR on and built)
updated
restarted vesktop
hm
its definitely pulling it from my branch
so why oh why...
@austere talon i dont need the asar version of vesktop for this to work, right?
cause i know that's a PR
oh wait no of course not
we want it to load the downloaded files, not the asar
uhhh
I think you do
why did you tell me to use normal vesktop then 😭
still though i wanna see why its loading the patcher for discord desktop
i dont get it
i dont understand why its building the patcher into the vesktop bundle
wait what?
it's building a normal build for the vesktop files...?
that's why its broken
wtf
okay, let me try asar vesktop
@austere talon with asar vesktop, it downloads the (old) version of vencord from the main repo, and it seems to load it fine from there
neither the desktop.asar or the vesktop.asar file built from my repo works though
Skip checkForUpdates because application is not packed and dev update config is not forced
checkForUpdatesAndNotify called, downloadPromise is null
[Vencord] Starting up...
(node:32992) UnhandledPromiseRejectionWarning: TypeError: Cannot read properties of undefined (reading 'filename')
at VencordPatcher:5:5148
at VencordPatcher:5:225
at VencordPatcher:8:454
at VencordPatcher:5:225
at VencordPatcher:8:1136
at VencordPatcher:5:225
at VencordPatcher:23:1501
at VencordPatcher:5:225
at Object.<anonymous> (VencordPatcher:23:2763)
at Module._compile (node:internal/modules/cjs/loader:1373:14)
(Use `electron --trace-warnings ...` to show where the warning was created)
(node:32992) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
i think this is related to my faulty vesktop builds though
i dont know why it's building it wrong
it looks fine on the scripts
so... i guess it works fine??? but i dont know if the migration stuff does
xD
it "Works Fine" he says, with a massive error in his logs that breaks the whole app
well either way, i know it loads the asar fine
because it does on the older version
just discovered there is a chatbar button api
which is 90% what I needed
(my old patches from 2023 stopped working)
but it doesn't allow to insert a button in between other buttons 😔
is there a reason you would want to insert a button?
is there a reason in anything?
anyways, I gave up since I found a better solution that didn't need a new button
btw I am trying to revive this PR
https://github.com/Vendicated/Vencord/pull/992
Closing this, I'm remaking it from scratch.
And this time I am going to minimize the spaghetti.
oh wow
yeah it was THE spaghetti
I will try to keep the code as minimal as possible this time
the reason it is so many lines of code, is because I remade the entire sticker picker UI
from scratch
I am impressed that you took the time to rewrite the sticker panel code.
maybe if were able to patch where it loads the stickers and insert new stickers it would do better
instead of yk writing the thing from scratch
that wouldn't work well with what I want to achieve
but I plan to re-use components from the sticker picker
instead of recreating them
oh well do you
Adds sticker packs from other social media platforms. (e.g. LINE)
hmm?
btw for the line stickers, I have had a repo scrape the sticker store once per month
the json files contain a list of packs, as well as their thumbnails
I do not scrape the packs themselves, that would be done client side
anyways, gotta go sleep
does it pass a list?
that you append
The list is not exposed by the plugin api
You just register ur button, and the plugin api appends it
😔
someone explain why open.spotify.com links dont auto open in the desktop app from chome and firefox
infact spotify:// isnt even working in firefox at all 😭
None
None
None
None
None
None
None
None
potify
The stock profile effect setting still falsely shows the "Remove Effect" button
Or should I try to automatically detect preexisting FPTE strings and strings from other plugins, and remove them from the user's bio, showing an error if there still isn't enough space?
Bio processing is already in place, can you not just replace the detected/processed fpte string
Should I send an API request to save the user's bio, or should I have the user do it manually?
The user should do it m...
I don't go by f53 anywhere anymore
Github Username is permanent (or a pain in ass to change idk which)
But then I have to change remote origin on everything
make github bot account that is a mirror :3
okay nvm i see now
Also I'm not getting github.com/Cassie
Discord/users/Cassie
see what
i see the truth
the aur pkgbuild revolution is soon to be upon us
yop
Yop
I will continue using f53 as a way to get a unique easy to type tag
nop to minecraft username
CassieF53 
it will redirect untill someone else takes the new name
Remind me to make a bot that scrapes github for renamed accounts and registers the previous username
nop
!remindme 1day remind kyuu
Alright @somber thorn, in 1 day: remind kyuu
me when automatic redirect
recommended for u 🔥
I don't go by f53 anywhere anymore
On GitHub you do tho.
<details>
<summary>But I like stalking..</summary>
This is a joke.
</details>
Why the nested ternary? Putting all the conditions together is functionally equivalent. Also, playerPosition being 0 would be a perfectly valid value to put in timestamps.
timestamps: (Number.isNaN(trackData.duration) && settings.store.enableTimestamps ? {
- Use a less verbose variable name, like
isRadio. - Would it be possible to cut down on the amount of conditions? I feel like two or three of these (e.g.
Number.isNaN(trackData.duration) && trackData.playerPosition === 0) would be reasonably enough. - The comment is redundant.
.replaceAll("{album}", data.album ?? "")
.replaceAll("{artist}", data.artist ?? "");
Personal preference, works the same both ways.
Unnecessary nested ternaries here as well; merging them is possible.
you should actually
don't let enmitter team take over android
don't worry they are coping that I made a plugin like this ????? ago and never bothered to fix it when it exploded because i didnt find it useful and stopped maintaining it
Sources: #👾-core-development message https://github.com/Sqaaakoi/Vencord/issues/2
Would it be possible to cut down on the amount of conditions? I feel like two or three of these (e.g. Number.isNaN(trackData.duration) && trackData.playerPosition === 0) would be reasonably enough.
I'm not sure, Apple Music may return some of these values in other situations, e.g. if the track is not fully loaded. I did this long check for safety, but if you think some can be removed, please tell me which!
who did this
you
discord will never add those events to audit log
sometimes they just have bugs with channel order too
I vividly remember when my private channel #v kept changing position with other channel below it
megu and I were the only people with access to it so I asked about it and he said he hadn't done it
but i knew it wasn't me either so I figured it must have been megu, maybe by accident
anyway, I ended up reworking permissions to limit how many permissions mods have and it made megu no longer have access to it, but shortly after the channel changed order again 
turns out it was just a bug at the time
their fork is just them making issues saying "if it doesnt get fixed by the author or contributor" it gets dropped who does this person think they are 
lol yeah i noticed they removed my dead plugins after like... 3 months of them being broken?
they should just fix them 
i did fix something due to a bug being discovered there but thats because i actually liked the thing I made
REAL
(even I know how to fix some things)
oh my
what did they do 
probably fucked with the Devs constant
i was so kind here https://github.com/Sqaaakoi/Vencord/issues/3
.
good job 
oh
https://github.com/RobinRMC/VencordPlus/actions looks more fine though 
should i open an issue asking them to remove my plugins :3
no thats just toxic like what happened with equicord
difference was they were actual vencord plugins
i cant remember
my take on plugins is its fine as long as you aren't really harming people with it
the way voicechannelog is done is hurting me
burn*
yes
i did not cook
i did indeed burn
i probably copied this from some other place btw
and adapted it
and thought "this is fine"
the difference is that those places used findBulk
which can find multiple things in one go
are you trying to tell me that you are fixing my shitcode from ???? ago
yes
not properly aka im not fixing lazycomponent
that is beyond me
actually I might try
hm
Do I look like I know how it worked?
lmao
you could probably just use findbyprops outside
you can
Click spoiler if you want to hurt your soul
||I have stolen that hacky code for voice join/leave events at least 3 other times. No I am not joking.||
same lol
😭
brother wtf
how do you mess it up THAT bad
dont ask me lol
thats not even like
the mod doesnt even build???
because there's just missing props outright
and modules
they genuinely just dont know how to do a vencord fork
jfc
voicejoinmessages works

good lord this ugly plugin still works
after find fixes and removing divider stuff yes
a similar plugin got rejected from upstream for good reason btw dont consider submitting this to upstream 
would never
could maybe use embeds
yes but its something I made like too long ago and don't care about
this is fine now lol
best logging sys ever lmfao
this plugin upgrades the invite embed allowing you to see the inviter, preview the server before joining and view the invite relative expiration date
I like this plugin. I haven't loaded it into my client and tested it yet, but it is looking a lot better than the code you showed me recently. I'll try it out fully soon
this is ugly and you should just pass the features arg to the Set constructor instead by doing new Set(feature).has("DISCOVERABLE") directly in the if condition below
i am unsure about how this patch works and i need to look at it a bit better but it is very hard to read and could be refactored in a few ways
i am unsure about how this patch works and i need to look at it a bit better but it is very hard to read and could be refactored in a few ways
I am all into hearing those few ways I thought if I made the replace a function it would be much readable but ig I just made it longer
Holy hell, what is that patch?
gotta ask god
If discord pushes an update, wouldn't /assets/1f0bfc0865d324c2587920a7d80c609b.png?size=128 also cause problems?
it fine
that would probably make the patchs more cursed
it will be fine :trollface:
If discord pushes an update, wouldn't
/assets/1f0bfc0865d324c2587920a7d80c609b.png?size=128also cause problems?
that won't be a probably any soon
just let the CSS text-transform do its job, this will probably look cursed to screen readers and anyone reading the code or DOM in devtools
so ignore the potential of quickcss?
just let the CSS text-transform do its job, this will probably look cursed to screen readers and anyone reading the code or DOM in devtools
so ignore the potential of quickcss?
if someone disables text transform there it would look out of place, so i would just set it to regular sentence case in the code
Content
make an plugin like that plz
https://betterdiscord.app/plugin/RoleFilter
Request Agreement
- [X] I have read the requirements for opening an issue above
None
None
None
None
None
None
None
None
I think that Number.isNaN(trackData.duration) && trackData.playerPosition === 0 would theoretically suffice, but in the end you should test things and figure out if it actually works as it should
Odd indentation changes. Have you run lint?
how the fuck
are you changing shit and watching it break for "no reason"
when in reality its that you are using a space for a margin?
.vc-bi-inviter-avatar {
margin: 0;
margin-right: 5px;
...
}
this did it
I made it clear many times that i am no match for css
it does
@opaque silo hii
how
alien
the day of reckoning has come for Vesktop aur packages
Covking/pkgbuild into Vencord/pkgbuild 
soon
ok back to roblox
Use test for the privilege escalation logic instead of running commands and redirecting stdout.
Follow XDG directory specifications regardless if $XDG_CONFIG_HOME is set.
vesktop pr incoming
Test is redundant for this. My apologies!
the current code checks for a non error exit code which is the recommended and most robust way. your PR changes it to check for whether the command prints anything, which is a very bad way of doing it and could easily lead to false positives if some implementation printed 'command not found'
before trying to make further contributions, please consider whether your contributions are actually productive. there is little point changing code that is not broken. prs should add (good) features...
@fossil inlet, <t:1726119327:R>: dragging support for pindms
@fossil inlet, <t:1726119390:R>: also drag favorite emotes
??
what is wrong with that
the := part?
inside of the set command
@somber thorn, <t:1726207213:R>: remind kyuu
the current code checks for a non error exit code which is the recommended and most robust way.
I had not remembered that, I had made the assumption that using command substitution was the de facto way to compare exit codes. Thank you for pointing that out.
@brazen bone you have been reminded
what does they mean by "reduced movement"
Issue 268
maybe reduced motion
I reviewed 70-80% of plugin-requests
. some issues already have a pr pending but they aren't tagged or other that should be closed as they are fulfilled or creepy(1). could I like dm vee or nvhhr?
The Repository is archived just make your own list
Would it be possible to add the same visibility functionality for the emoji and sticker pickers?
guys what if I declare the variables in the component than used them in another patch?
I think separate it into multiple patches
and move what you can to a function $self
Would it be possible to add the same visibility functionality for the emoji and sticker pickers?
Yes, theoretically you can bring it over to the Sticker/Emoji pickers. Thooo it would probably warrant its own plugin.
but if i bring it to the others i might just consolidate all 3 into BetterExpressionsVisibility or some short name then retain GifPaste as is and put my changes towards paste functionality under GifPaste

Content
discord now adds the time bar on their own (for now?)
vesktop with TimeBarAllActivities enabled
completely stock discord
Request Agreement
- [X] I have read the requirements for opening an issue above
love



has chat commands



