#๐พ-core-development
1 messages ยท Page 140 of 1
i mean yeah thats super easy to grab
wtf no way
object dot create patch?
let me write the code
sec
let thing = null;
const sym = Symbol("wpgrabber.extract");
Object.defineProperty(Object.prototype, sym, {
get() {
thing = this;
},
set() { },
configurable: true,
})
await wreq.el(sym);
delete Object.prototype[sym];
it will be stored in the thing variable
literally same trick i used to grab private webpack cache xd
omg that's right
broooo we love javascript so much
this is so dumb but good at the same time ๐ญ
I was looking again at what you did and realized how it works
we abuse this
yeah
oh it's Record<EntryModuleId, chunkId[]>
yes
so we can just Object.keys(thing).map(wreq)
I honestly dont know what the keys represent here
for (const [entryModId, chunkIds] of Object.entries(thing)) {
await Promise.all(chunkIds.map(wreq.e));
wreq(entryModId);
}
chunk ids
nah
mapping of chunk id to filename
it's good we load all the chunks in u instead of using el
because we know if a module is duplicate and etc
u contains chunks with old code
Content
Discord Account
_darkuwu
What is it that you'd like to see?
I would like to see the VolumeBooster plugin brought to web
Request Agreement
- [X] I have read the requirements for opening an issue above
don't open identical issues in multiple repos.
@limber skiff are u working on it rn?
horror
what is it
- have hidden channels enabled
- open some hidden channel
- switch guild
- turn off hidden channels
- restart discord
- go back to the guild where you opened hidden channel
you will still be in that hidden channel and it'll error
oh
i dont normally use the plugin but i turned it on yesterday for testing and just got jumpscared by it
meh it's whatever honestly
thats how i noticed
yeah kinda. theres not really a good fix for it
yeah
probably confused chunk and module id or messed up otherwise
maybe wreq.el all the chunk ids before wreq, we might not actually be loading all chunks?
it will just be noop if already loaded
i think
@charred coyote ive got https://github.com/rniii/vencord-tokipona
horror
seems a lot of the translations still hold up but lots of new things are missing
tbf thats pretty cool plugin
nice! there's a server known as "ma pali pi toki pona" and i'd suggest you go there and post that
person who did the translations is in there
you love apache
also yeah one moment
I mentioned it in ma pona already
vee can i sneak in this plugin no one will notice ..
you will translate vencord loading quotes
soon
FIX
REPLACE IT WITH TOKI PPONA JOKESS
i forgot that server is toki pona only im scared to write a single sentence
you can try! i believe it's not toki pona only
like you can do it using spoilers
i can help you if you want
LMAO spoilers
as in like, write for you
english jumpscare
a a a
imagine using shithub for that
its a mirror
mi sona ala la mi ken ala ken toki e toki pona lon ma ni a a a
you will rewrite the readme in toki pona
kin la, mi pilin lape. mi pilin lape la toki pona mi li kama ike
a a a a sina ken ala 
it should be not too hard probably
does sina mean you
wow they stealing from finnish
nn.. toki pona mute li kepeken toki pi tenpo pini. sina sona ala e toki pi tenpo pini la sina ken pilin nasa
mm.. a lot of toki pona uses talking from time earlier. if you don't know what was being said earlier you can feel weird
true
translating toki pona literally is hard as well
hard
because it's
okay so example
words take up like giant spaces of like speech
after you speak for a while it's fine
why toki pona over esperanto
wreq.e(id) doesnt even require the module, it just loads the chunk, damn
yes
I though it required it
toki Epelanto li ike!! (/musi)
no xd
toki pona has better name imo
just spent like 10 minutes reading the code to find it didnt
is ike "not"
enough of a reason
or is it like me
kin la, toki pona li toki lili. nimi ale mute li lon taso a a
i don't speak the language
||also, toki pona is aa small language. there is only 120 words
yes I loaded all chunks
why not just if (wreq.m[id]) xd
nice
make sure it tests all finds
maybe temporarily make it print how many finds it tested
then we can check how many finds there actually are
still have to add waitFor testing
once we add it I think we are testing all finds?
nvm slightly more
waitFor filter can be string, string[] or function
so you'll have to add a few extra lines to the tester logic
wait I got an idea
I think if we load chunks first using the e mapping we can avoid issues like this
then we can load the rest later
try
I will continue this tomorrow
Hi all, wanted to report that the problem described in issue #142 is still present in the current version!
I myself didn't realize it was Vesktop bug so I actually spent a day looking at pavucontrol and banging my head against it. Thank you for reporting that it cannot be disabled, you put my mind at peace!
Definitely interested in this one, thank you everyone!
Seems over engineered as ven said but not sure how you can improve it
does vencord support detouring discord functions
or am I being a 
i.e hijacking functions to do logic before them
uuuhguh regex
im not sure if I can even import types for enqueue, dispatch, upload and download
Context Menu API changed
import { UserUtils, Clickable, Tooltip, Forms, Button, Text, useState, useEffect, ContextMenuApi, Menu, FluxDispatcher } from "@webpack/common";
ContextMenuApi.openContextMenu(e, () => <SoundContextMenu item={item} />)

Happened after the recent update.


i still need a final opinion on whether to remove edits or not, i still think that it's a good feature but kode is against it
also i added that default because find doesn't support regex
(yes ik there are 2 other patches where i used default in regex, i removed that later just not pushed)
but it still finds it without .default
interesting
the patch might be completely removed depending on whether ven says edit support is need or not
rustacean
:3
:3
devil bro avatar
I got it to work
JUMPSCARE
We have to fight over who can stay in Austria
So I'm a SUSE user as well, and SUSE actually uses libuuid1 for this.
There's a dummy libuuid community-built package you can use to get through this, however. I was using the AppImage but just tested this and it works for me.
ughhh we have this @austere talon
oh true
and this
just build from source, changing the app name and id in the package.json file
@austere talon what do you think
you love
tbh this could just move the webpack finds outside of the proxyLazy
how so
lol they're banned ๐ญ
@austere talon bump
i almost feel bad for them
you're gonna have to stop bullying them otherwise they will remove the star
oh nvm
FAKE BRO
i got trolled
WHAT IS THAT HEADER
it's nearly 2024, catch up dude ๐ญ
no worries though I'm fixing broken patches gonna push a new commit soon
fun fact, all this time we werent testing patches with predicates inside the replacement
this was prob broken for so long
lol
ill review in a bit
This update makes the client updater use axios. this makes a lot of things easier such as the requests in general as http is outdated.
what did she mean by http is outdated
scratch the http is outdated was just told otherwise after they told me it was outdated ๐ญ
either way I feel axios is better over all!
just why
Not this guy adding himself to devs for a useless change
Why do this just to be added to devs? It works fine as is lol
what can you even do with axios that you cant with web apis now
no idea
every time i see a "update x because it is outdated" or "change to x package" without a reason its usually a badge/contrib hunter
Issue https://github.com/Vencord/Vesktop/issues/170
This pull request introduces a new feature in the Vesktop settings, enabling users to disable smooth scrolling throughout the application by integrating the --disable-smooth-scrolling flag.
nothing
axios has never not been terrible bloat
hihi, the current store implementation is pretty powerful and works well tbh I like it :)
what even is smooth scrolling
I'll post in in the PR brb
you posted that on an entirely different pr lol
LMAO
edit: I had multiple tabs with PRs opened, oops
I assume it has to be due to the instantaneous feel
96b0652 feat: Add option to disable smooth scrolling (#... - ZirixCZ
isLinux && ["middleClickAutoscroll", "Middle Click Autoscroll", "Middle-clicking scrolls instead of pasting content from PRIMARY (Requires a full restart)", false],
this message is also misleading. it still pastes anyway
avatar_url: "https://cdn.discordapp.com/icons/1015060230222131221/6101cff21e241cebb60c4a01563d0c01.webp?size=512",
@limber skiff are you sure we don't need some sleeps in the loops?
rn it will fetch so many things without any delay
rate limit
i didnt reach rate limit once when testing
though in some cases it was disk cached
we can add it later if we need
I really like the use of TypeScript in the project btw, it's vibrant ๐
I've got a question about this: https://github.com/Vencord/Vesktop/issues/179
is this something that web discord provides?
I'
we absolutely do
no
it doesnt have it
we reimplement it from scratch https://github.com/Vencord/Vesktop/blob/main/src/renderer/patches/spellCheck.tsx
can you add the ratelimit back nookies
the one that was there before
are you sure it it's gonna get rate limited?
yes
why do people use the context menu to copy paste
it did in the past, that's why i added the ratelimit in the first place
yeah i thought the same
i never use it xd
ctr lv
change the icon too then lol
that one we can't change properly
this gives it a proper displayName for react devtools
const LazyComponent = (props: T) => {
the second maybe
why
cuz we cant check for .Dots and !Menu and return . Dots with any other method
its not actually needed
the comment says it doesnt need to find the exact module
Dots is such a common name though
I think it's a good thing to keep that LazyComponentWebpack function
we can change the current uses of it but it may be needed in the future
no lol
it just looked strange without
found no module Filter:
that's how it looked
what do you think
hey gamers sorry i havent been contributing ive been rotting away at work and in bed recently
am not well
ill get back to doing the funny soon
aww, are you sick?
flu i think
unfortunately ive had to go into work regardless of sickness so i havent been resting well
feeling better now so im back to coding but i legit just wasnt online much for the past week
ow
awww poor you
lmao that came off so sarcastic
i know u didnt mean to thats hilarious tho
but yes i will be programming some crazy shit soon
ohhhh poooooor you had to work too?? should i get you a bandaid? 
but yeah thats NOT how i meant it ๐ญ
ill make it worse for you ;)
hope both of yall feel better soon
unsane things to do soon:
- IM GOING TO MERGE USERCSS
- ill write some usercss themes so its not completely useless
- will ask theme writers to try it out too
- telemetry development stuff maybe a/b it for a bit?
- poll?
- not telling :)
nvm im killing lewi first
usercss will be merged when hell freezes over
telementary bsaed
usercss merge will commence Soon.
do not the telemetry
(without consent i will not)
DO THE TELEMENTARY
(but i want my numbers)
okay ms microsoft
rini dearest im a self taught statistician i love them
Random working fork is better than not working at all but ok
it doesn't report in dev builds right
Vencord uses upstreams, not forks. The change needs to be made in arRPC before we will implement it.
sealed away forever
no, usually the numbers are crap
crap how
plugin/version number that doesnt exist for anyone else being reported is not useful
so i dont see why i should bother wasting the resources on it
but telemetry is later
usercss is now
version number i get but i think userplugin stats would be good
and is my priority
yea
how many people use userplugins in general would be a funny statistic
not specific ones cause why
maybe i can count that
e.g. 'plugins that dont exist in the plugins.json file'
but eh
not worrying about it for now
telemetry? what are you a wizard?
the only somewhat valuable thing would be plugin stats, but we could just add a voluntarily survey like steam survey

usercss is my main child
like popup upload your plugin list NOW
other than that i don't really think telemetry would be good
DONATE TOUR INFORMATION NWO
sad
i mean thats sorta what my implementation was doing
i didnt care about anything else
it just did it whenever you started rather than constantly, and there was an immediate opt out
but im not bothered about finishing it rn
i will give my themedeveloper friends the super awesome toolkit
Give us your credit card information together with your name, address etc and we will give you cool backgrounds to choose from in return (discord nitro be like) (small telemetry to consider for a nice reward ^~^)
@austere talon btw are you done reviewing or are you gonna look more into it
sure
if ur feeling up to it btw, can you poke around usercss and review so i can make changes and merge at some point when i stop rotting
if not its oki, i have things to do to it first anyway
i think it might be slightly broken now too so it needs to use the new components
ven you have to remove the dot from here too
if (text.length && !text.startsWith("Failed to load resource: the server responded with a status of") && !text.includes("found no module. Filter:")) {
wdym
where does it look like that
not in devtools
in the reporter script
horror
to be more precise, for us to use a fork over the original project, it has to be popular, trustworthy and well maintained.
None of these points are fulfilled by your linked fork. In fact, it is 19 commits behind the original, thus lacking important fixes and updates
If you want to see these changes in Vesktop, PR to the upstream repo
91d681c Reporter: support all lazy finds; cleanup; bett... - Nuckyz
it running rn
isnt .el a fetch
yeah but we fetched earlier all the chunks
oh i see
they are disk cached when .el fetched them again
it's cuz of the extra sleep prob
SortFriendRequests (had no effect):
ID: 717226
Match: /(user:(\i),.{10,50}),subText:(\i),(className:\i\.userInfo}\))/
WebContextMenus (had no effect):
ID: 399758
Match: /return \i\.\i\?/
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
there we go
working ๐
good job thank you
anyway uh
that WebContextMenus one is still a false positive right
and sortFriendRequests broken
oh
now run it again lol
yes
will do that later
and release browser update too
we can also tweak the sleeps
but like
ven detected
the entire reason they're there is cause it got rate limited xd
lol i just tried and you can .el all chunks with no sleep
mmm
well idk
can we remove them
them what?
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
sleeps
they are fixed ๐
do u use an alt or main for testing
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
https://github.com/Vendicated/Vencord/pull/2010
Is ready for review
horror
how do we fix it
no idea lmao
i think we have to copy paste
oh wait
steps:
- uses: actions/checkout@v3
if: ${{ github.event_name == 'schedule' }}
with:
ref: dev
- uses: actions/checkout@v3
if: ${{ github.event_name == 'workflow_dispatch' }}
? xd
I mean if it works ๐
pog
remove eeps
rini about to scream
@olive aurora scream in AGONY
oh is that why they complain
AAAAAAAAAAAAAAAAGH
yeah it makes it hard to merge their shit
cuz they have to force push to fix their branch too
i think
yes
i think shithub should be able to handle it
terrible
does XSOverlay support gif @jagged cloak
god im too lazy to review code
uh no its unity
malware
i think gif would just turn into static png
rather first frame
why discord does the things they do smh
@limber skiff ur webcontextmenus "fix" is wrong
like i said its a false positive
the old patch works
its just reporter false positives
likely due to duplicate find
i'll look if its duplicate
if it is, might be a good time to make find accept an array too
well yeah I have to see what are the differences on them
if I can just do another find and it works it's okay
function(t, e, n) {
"use strict";
n.r(e),
n.d(e, {
default: function() {
return s
}
});
var r = n("37983");
n("884691");
var i = n("77078")
, o = n("272030")
, u = n("773336")
, a = n("26051")
, l = n("782340");
function s(t) {
let {href: e, textContent: n, onSelect: s} = t
, c = (0,
a.default)(e, n);
return u.isPlatformEmbedded && null != c ? (0,
r.jsx)(i.Menu, {
contextMenuApiArguments: typeof arguments !== 'undefined' ? arguments : [],
navId: "image-context",
onClose: o.closeContextMenu,
"aria-label": l.default.Messages.IMAGE_ACTIONS_MENU_LABEL,
onSelect: s,
children: (0,
r.jsx)(i.MenuGroup, {
children: c
})
}) : null
}
}
this is the wrong one, the one reporter finds
function(t, e, n) {
"use strict";
n.r(e),
n.d(e, {
default: function() {
return c
}
});
var r = n("37983");
n("884691");
var i = n("77078")
, o = n("272030")
, u = n("773336")
, a = n("447651")
, l = n("26051")
, s = n("782340");
function c(t) {
let {src: e, onSelect: n} = t
, c = (0,
a.default)(e)
, d = (0,
l.default)(e, null);
return u.isPlatformEmbedded ? (0,
r.jsxs)(i.Menu, {
navId: "image-context",
onClose: o.closeContextMenu,
"aria-label": s.default.Messages.IMAGE_ACTIONS_MENU_LABEL,
onSelect: n,
children: [(0,
r.jsx)(i.MenuGroup, {
children: c
}), (0,
r.jsx)(i.MenuGroup, {
children: d
})]
}) : null
}
},
this is the correct one
shut up discord
the only difference they have is that the correct one has an extra prop
d = (0,l.default)(e, null);
(0,r.jsx)(i.MenuGroup, {
children: d
})]
that is so annoying
ohhhhh
wait
i get it
the first one is for embed images?
sec
so we should patch both
ohh
Is there a guide somehwere on how to create custom vencord plugins?
I cannot seem to find anything about it
{
find: 'navId:"image-context"',
all: true,
predicate: () => settings.store.addBack,
replacement: {
// return IS_DESKTOP ? React.createElement(Menu, ...)
match: /return \i\.\i(?=\?|&&)/,
replace: "return true"
}
},
how did you realize it, debugger?
and then realised yes embed images dont have the copy and save buttons
well im wrong xd
let me try on normal discord desktop if they have context menu for embed images
yes that always worked
thats normal images
embed images dont work
try this image here
so is my fix wrong?
even discord desktop doesnt have it
I dont use the plugin cuz I use desktop
there are TWO modules ^
the second one that has src and onSelect is CORRECT
the first one that has href, textContent and onSelect is WRONG
the reporter finds the wrong one. you fixed the patch to work on the wrong module
it was already correct, just reporter runs it on the wrong module
oh
399758 is the wrong one
i will see where it is imported to see what it is
467592 is correct
the thing I'm not understanding is how the menus are showing in the screenshots you sent
if the patch to add them back is wrong
the WRONG one is used for anything that has a href, the CORRECT one is used for anything with a src
i alr fixed it
or patch both ๐
uh
might be that??
remember how the "wrong" one has only one child
whereas the correct one has two
yeah
well its not that xd
i think i'll just patch both but the href one seems unused
just patch both
but it does seem like the one reporter is finding is unused
it's whatever that has happened many times
I still dont know how discord hasnt fixed their sentry
wait last try
nop not videos either
average discord code
why did they even write two components
context menu codes are so cursed
that image just doesnt have a context menu
actually how would they even add a context menu to an iframe im dumb xd
aight
what should we do about NoTrack
they aint adding that shit back
guh
why did youchange these to console.log
they were console.error for a reason
<img src="meow" href="https://crouton.net" target="_blank" onClick={() => window.open(this.href, this.target)}>
malware
oh
console.log = stdout
console.error = stderr
ci redirects stdout to job report
to create markdown file
I see
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
what about it
oh wtf
added ci for dev
wtf is nrr
horror
RUST
this better not be malware
Updating crates.io index

see you in 3 months
so true ๐ญ
ts was mad about the extra prop
ummm aksually react components should not have $$get 
btw $$get is a kinda terrible name
cause react also uses $$
๐
inb4 conflict in future react version
$$explode
I copied from vencord patcher
return new class { #get = get }
(they dont have proper handling for it)
who gonna care about gif in short toast popup
I WILL BEHEAD ANYONE WHO USES HASH PRIVATES
#get i hate
oceanic.js does
for the love of god how is this so slow
why does it index the entire crates.io repo on your pc????
have they ever heard of API????
you love the registry https://github.com/rust-lang/crates.io-index
Registry index for crates.io. Contribute to rust-lang/crates.io-index development by creating an account on GitHub.
1 commit every second
me when
GET https://api.crates.io/crates/nrr
bro come on why do you need to index the entirety of malware.io on my pc
WHY IS IT A SHITHUB REPO
how is that not against shithub tos
rust

its literally a npm feature
??
its every field https://docs.npmjs.com/cli/v9/using-npm/scripts#packagejson-vars
ok
@oak hull
skill issue
horror
is that bad
why do you provide compat flag
error: failed to compile nrr v0.1.0 (https://github.com/ryanccn/nrr.git#ce8e4fb9), intermediate artifacts can be found at C:\Users\Ven\AppData\Local\Temp\cargo-installbPDK4M
Caused by:
package clap_derive v4.4.7 cannot be built because it requires rustc 1.70.0 or newer, while the currently active rustc version is 1.65.0
Either upgrade to rustc 1.70.0 or newer, or use
cargo update -p clap_derive@4.4.7 --precise ver
where ver is the latest version of clap_derive supporting rustc 1.65.0
just do the sane thing by default
vee did u see my thread on masto
fear
mastodon app so pretty now
rust was a mistake
im kinda with emma here
yeah i hate how rust users treat C like the devil
why does this thing need 76 dependencies and why does compiling it take like 30 seconds
WHY DOES IT DEPEND ON NIX
ryan is so bloated
this is worse than npm
rust fans had npm as the perfect negative role model to make something better
and they just made npm 2??
๐ญ
at least its not gradle dependency management
rust so bad
im actually gonna go back in time and stop whoever wrote rust
bro added all the bloat crates
rust will never exist
vesktop should be rewritten in rust
its just ansi color
WHY IS IT CALLED OWO
why do you need a crate
what the fuck ๐ญ
wasted opportunity
the downard spiral
invert ur if statements ๐ญ
if !this_pkg.exists() || !this_pkg.is_file() {
continue
}
the first condition seems redundant anyway
does is_file panic if it doesnt exist??
no i dont think
u still have that pfp
YEAH hahaha
first thing on my feed
yes
mastodon nitro
OLD PFP
how can we save rust users? would shock therapy help? exposure therapy to unsafe c code?
BAD
get cached idiot
why does default masto embed not have pfp
cringe
i love that i can just unsuppress embeds
animates in the mobile app
we should do this
i mean ive been doing it
but like automate it
sorry buddy dont use bigotware if u want support
eatinf a burger w ur friend (shes gone and you havent finished it)
autodelete issues from nix and hyprland users
YOP
ban user if they have starred nix or hyprland repo
ur insane
are you not using std::process
did vencord/vesktop remove "search in google" from message context menus or was it discord?
cargo is worse imo
thats literally what she said
nah its worse than npm 2 could be
my laptop goes through hell when i do cargo build --release
the amount if things the compiler does slows it down a lot
rust has a very complex type system thats (ab)used a lot
but also some Kinds Of People love adding useless crates
you do not like adding adding 2 crates which could have been easily mitigated by writing a 50 line function? /s
vns
youd be surprised, i can count multiple pkg managers that do this, including nix
nix ๐คฎ
wtf
Is there any specific reason that hyprland issues are always closed as not planned?
speaking of auto-closing hyprland-related issues
meanwhile https://github.com/archlinux/aur
(3 billion branches)
people dont abuse every git feature challenge
CANT EVEN LOAD IT
Platformindicators does not work with the streaming activity, at least in chats
in general*
is this a known issue?
worst example ever
kill lewi
try saucer but I don't have a request interception API yet
it needs to be approved
Yes
Huh
exactly
resolving the conversation doesn't approve it
Ah got it
no worries, I was just curious cus I hadn't seen that before
it doesn't know when it's been changed anyway
still cant believe tinycolor survived not being mangled
holy shit
wtf shitcord compression
anyway for some reason i cant seem to find a good version of the colorpickermodal that i can get to 
wonder if i will have to reimplement myself
@limber skiff have you worked with colorpicking yet?
i saw something you were doing relating to it
if so did you find a colorpicker modal?
yes look at client theme
wait
yes, which means it doesnt work
you want to load the modules that load on user setting opened?
all color pickers discord has are lazy loaded
wait
you are gonna have to manually load the chunk
hm one second
search for "UserSettings"
nvm
mine doesn't work either
you need to find that module and Regex match the chunk id
then call wreq.el on it and then wreq(id)
i need just the modal, not the actual full button component
:P
i have a custom button implementation for reasons
actually hm i could just use their button
eh why not
If you find the chunk for the colorpicker please send it
I'm also looking for it
(spoiler: it will never load)
409214
no not the id, don't these change either way?
(I mean the code that loaded the chunk also changed but whatever)
im giving u the id so you can do what nookies describes :P
tbh im surprised how reliable usercss has been
the colorpicker has always been the most troubled part of it but it barely broke
though i do need a way of force loading it hmm
so opening settings loads 11 modules
these should be them, if discord/webpack doesn't scramble load them
any good issues for a begginnerish software dev to work on?
based
those are 11 chunks actually
calling agent @Nuckyz for support on the colorpicker when they're free
chunks are a set of modules that are lazy loaded only when needed
what the vscode bullshit happened there??
"[go]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}
this doesnt even make sense?????????
maybe vscode just decided to change settings?

so I seem to have loaded the right chunks that user settings load
but the colorpicker is still unloaded
It is supported now, but it's waiting for review
but if I open the settings with the modules already loaded, the colorpickers load fine
literally the same modules
you cant load the chunks using their hardcoded ids
^^^
I have a utility for this 
I might just remake it in dev
cuz we also have to make reporter test for it
ok




i never even noticed
