#๐Ÿ‘พ-core-development

1 messages ยท Page 183 of 1

rugged spire
#

Please do not give me permission to properly view it

limber skiff
#

@vagrant topaz you don't need to patch updateHangStatus

earlier I mentioned

okay but ideally we don't wanna cancel it
we want to avoid sending

and by that I mean finding the place where updateHangStatus is called with the default status

this is the module that does it:

c(this, "handleVoiceChannelSelect", e=>{
    const { channelId, guildId } = e;
    const { enableHangStatus, setDefaultStatus } = u.HangStatusExperiment.getCurrentConfig({
        guildId: guildId != null ? guildId : _.EMPTY_STRING_SNOWFLAKE_ID,
        location: "HangStatusManager"
    }, {
        autoTrackExposure: !0
    });

    if (guildId == null && channelId == null) {
        this.handleDisconnectFromVoiceChannel(),
        this.previousVoiceChannelId = channelId;
        return;
    }

    if (!enableHangStatus || channelId === this.previousVoiceChannelId)
        return;

    if (this.previousVoiceChannelId = channelId, guildId == null || channelId == null)
        return;

    const channel = s.default.getChannel(channelId);
    if (
        channel == null || channel.type !== _.ChannelTypes.GUILD_VOICE ||
        !canSetVoiceChannelStatus(channel, !0) || d.default.getCurrentHangStatus() != null
    )
        return;

    const currentDefaultStatus = d.default.getCurrentDefaultStatus();
    if (
        (currentDefaultStatus == null ? void 0 : currentDefaultStatus.expiresAt) != null &&
        (currentDefaultStatus == null ? void 0 : currentDefaultStatus.expiresAt) >= Date.now()
    ) {
        if (currentDefaultStatus.status === _.HangStatusTypes.CUSTOM && currentDefaultStatus.customHangStatus != null) {
            const { status, emoji } = currentDefaultStatus.customHangStatus;

            updateCustomHangStatus(status, emoji);
            return;
        }

        if (currentDefaultStatus.status == null)
            return;
        else {
            updateHangStatus(currentDefaultStatus.status);
            return;
        }
    }
    setDefaultStatus && updateHangStatus(_.HangStatusTypes.CHILLING);
});
#

you just need to make that function never executes, or return at the top

#

here is a find for it HangStatusTypes.CHILLING)

#

your implemention wouldn't work either because as you can see the same module calls the function with a second parameter in another case
updateCustomHangStatus(status, emoji);

#

If you feel like you can even make the plugin allow for choosing between allowing the default chilling status or a custom one when joining the voice chat, because the logic that chooses it is there

charred monolithBOT
woeful sable
#

Why do i sound so stupid

desert cosmos
woeful sable
#

PING ME WHEN YOU REPLY PLEASE

charred monolithBOT
woeful sable
uncut glen
woeful sable
woeful sable
#

:(

uncut glen
woeful sable
rugged spire
#

A good plugin that I use

#

I explained why I felt stupid

woeful sable
#

Why did i sent that

rugged spire
woeful sable
#

Idk

rugged spire
woeful sable
#

Yes

#

Good

#

Idea

rugged spire
#

Then the number of fools will increase tenfold.

woeful sable
#

Rela

woeful sable
#

Samwich called me the best reaction glazer

still wasp
#

Oh fuck yeah dude

#

Mandatory

woeful sable
#

Ur the glazer

still wasp
#

No

#

Don't accept me.

#

included.

rugged spire
desert cosmos
#

horror to implement that and likely to explode your account

charred monolithBOT
woeful sable
#

JemWritesCode

desert cosmos
#

discord implementing SCOPE_GATEWAY_CONNECT erm

limber skiff
#

@uncut glen enjoy

woeful sable
#

Oo

#

lol

uncut glen
#

I'ma get home in like 15 min and look at it

charred monolithBOT
#

y'all who do i have to pay to get this plugin updated and merged into the main thing i'm so serious. do i have to become a sponsor of vencord? like genuinely the only thing that's stopping me from making the switch from BD is the lack of this plugin

do you not use your own dev build on all your devices?? why does it bother you?

Because others want to use this plugin too without needing to install someone else's builds.

limber skiff
#

this plugin is useful

charred monolithBOT
#

Discord Account

lewisakura

What happens when the bug or crash occurs?

Using both PlainFolderIcon and BetterFolders makes it difficult to see which folder is open due to BetterFolders also using a plain folder icon to indicate which folder is open.

What is the expected behaviour?

Ideally we should have some sort of indicator or more obvious colour change.

How do you recreate this bug or crash?

Enable both PlainFolderIcon and BetterFolders, then open a folder.

Erro...

uncut glen
charred monolithBOT
#

Discord Account

No response

What happens when the bug or crash occurs?

If you use a Discord emoji like \:sob: in a channel, where you have no permissions for embeds, the "missing permissions" pop-up appears.

What is the expected behaviour?

That the preflight pop-up didn't show up and the message sent.

How do you recreate this bug or crash?

  • Have FakeNitro enabled
  • Be in a channel where you have no embeds permission
  • Use a Discord native emoji (like \:sob:)

###...

limber skiff
#

oh really

#

huh that's odd

#

it does happen

uncut glen
#

@limber skiff just relised that the folder for my plugin has a capital R at the start not like the rest of the plugins is there a way to fix that?

limber skiff
#

I got it dont worry

uncut glen
#

ok ty

charred monolithBOT
limber skiff
#

where is the rename of the folder

#

??

charred monolithBOT
limber skiff
#

weird git configs

#

why is it even the default

#

okay so you are telling me now that it added the new folder and didnt delete the old

charred monolithBOT
limber skiff
#

oh my fucking god

charred monolithBOT
limber skiff
#

there we go

rugged spire
charred monolithBOT
limber skiff
#

HEH

#

broo what is happening ๐Ÿ˜ญ

charred monolithBOT
limber skiff
#

wait fuck

fair wolf
limber skiff
#

where are my commits what the fuck is happening

charred monolithBOT
limber skiff
#

come back to me

alpine jacinth
#

@limber skiff wth are happeneding

#

are you ok nuckyz?

limber skiff
#

i'm in a fight with git

#

give me a second

alpine jacinth
#

okay

#

good luck

charred monolithBOT
limber skiff
#

lets fucking go

woeful sable
#

Epic

alpine jacinth
#

congrats

limber skiff
#

it's okay I almost lost my progress of weeks

alpine jacinth
rugged spire
#

You LOVE git push --force

somber thorn
limber skiff
#

@vagrant topaz I'm gonna modify your patch to target here

#

so it calls handleDisconnect properly

#

I think we need it to clear the status

#

oh

#

that's true

#

yeah

#

that's enough

limber skiff
#

I guess I should have asked readmes for the plugins

#

forgot about that oops

#

yeah

charred monolithBOT
woeful sable
#

Gyad dyam, look at those beatiful commits

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

woeful sable
#

Oo

#

Update soon

limber skiff
#

nono

woeful sable
#

O

limber skiff
#

just testing if it's all working

woeful sable
#

Alr

#

Alr looks good

charred monolithBOT
charred monolithBOT
uncut glen
uncut glen
#

You could have told me and I would have changed in my PR no need for a full new PR husk

#

1 char or go wild

somber thorn
#

free PR

uncut glen
#

Real

austere talon
#

v+ contributor @uncut glen @bleak gyro

topaz thistle
#

v- admin @austere talon

lime stone
#

owo

#

v+ janitor @topaz thistle do my work for me

topaz thistle
#

What is your work

lime stone
#

janitoring

uncut glen
lime stone
#

gib ve me mod Perm @343383572805058560

somber thorn
charred monolithBOT
#

yeah, as pointed out by lewi, this current implementation is not very good. using css for this is hacky and not sustainable. HideAttachments suffers from very much the same problem and honestly needs a rewrite, it's just that it's very old (made within the first two months of vencord existing), that's why it doesn't follow the quality standard as much as other plugins

in the current state this is not mergeable for that reason. here are a few better approaches i can think of:

  • patch the m...
fringe basalt
# charred monolith

@austere talon didn't you say it yourself that svgs inside an <img src=""> are fine

austere talon
#

yeah should be

#

im just paranoid blobcatnom

charred monolithBOT
fringe basalt
#

going to nap now venniecozycat

austere talon
#

rest well blobcatcozystars

charred monolithBOT
woeful sable
#

i dont think it should open the avatar if u just click on it in the dm list

limber skiff
#

that's true

charred monolithBOT
austere talon
#

true

#

can repro

charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
limber skiff
#

oh that happened to me too

charred monolithBOT
median rapids
#

i thought it was a discord issue lmao

#

i did suspect the patch but never bothered investigating

limber skiff
#

to be honest no idea why it happens with before

median rapids
#

yea me neither

#

message caching is fucked

#

also don't think that fix is proper either but if it works ig it's fine

austere talon
#

yeah it doesn't look right but idek what that original patch was supposed to do

#

that's why i pinged nuckyz

limber skiff
#

just fix caching lol

#

the original method would simply clear the cache everytime

#

and keep fetching in a loop because it was clearing the cache

charred monolithBOT
stark flint
hollow heart
#

but after playing around with the patches, it turned out to be that one

austere talon
#

whats the eeee branch nuckyz lmao

charred monolithBOT
#
[Vendicated/Vencord] New branch created: my-testing-branch
#
[Vendicated/Vencord] branch deleted: my-testing-branch
austere talon
limber skiff
wary dew
#

Yall my bus just backshotted another bus wtf

jagged cloak
#

erm this is coredev

wary dew
#

Oops

austere talon
somber thorn
#

sooo how many lines of merge conflicts?

charred monolithBOT
desert cosmos
charred monolithBOT
charred monolithBOT
austere talon
#

๐Ÿ˜ญ

#

FIXED

#

thank god

charred monolithBOT
#
[Vendicated/Vencord] branch deleted: npm-types
austere talon
#

now vesktop doesnt use ancient types anymore

limber skiff
#

this is gonna have so many conflicts with immediate finds

#

๐Ÿ˜ญ

austere talon
#

๐Ÿ˜จ

#

sorry bestie

#

it shouldnt be too many...

limber skiff
#

it's okay...

austere talon
#

yeah no big deal lol

charred monolithBOT
#
[Vendicated/Vencord] New branch created: chore/loadingquotes
limber skiff
#

๐Ÿ™ ๐Ÿ™

charred monolithBOT
turbid hatch
#
  • the irony of it violating rule 3 here whilst being in the mod published for everyone kinda sucks
#

(the vaporeon quote)

austere talon
#

u should just leave a reveiw on the pr that rewrote the plugin instead

turbid hatch
#

didnt even know there was one

charred monolithBOT
austere talon
#

i merged for u

#

hopefully correctly

#

nvm

#

this needs to go

charred monolithBOT
limber skiff
#

don't you wanna remove the type from the one above

#

zustandCreate still has a proper type in that pr

austere talon
#

oh it didnt show that in the conflict resolver

limber skiff
#

it's above zustandPersist

charred monolithBOT
austere talon
#

yeah sorry

charred monolithBOT
turbid hatch
#

found it

#

wait why is it quotes.js

#

why not ts

charred monolithBOT
limber skiff
charred monolithBOT
somber thorn
#

fun fact - you already requested that change

#

also unrelated to your pr, but in hindsight the XOR encryption is a bit cursed... maybe we could instead move the quotes to a separate file quotes.txt (in plain text) and use

import QuoteLines from "~includeFile/quotes.txt"
turbid hatch
#

they moved it to a quotes.js

#

so they half did it

limber skiff
#

okay I need to fix view icons issue and review resurrect home fix

austere talon
#

tbh i hate this new folder xd

#

but how else should we do it

limber skiff
#

monorepo nightmares

charred monolithBOT
limber skiff
#

lmaooo really

#

when I did this find I discovered there were two matches

#

so I thought okay one is probably from another place I need to patch, so I will include it too

#

guess what, it's the place I did not want to patch

#

but this is bad because wtf am I going to put as a find here

austere talon
#

regex xd

limber skiff
#

it's probably gonna be needed yeah

austere talon
#

do u want the small or big one

limber skiff
#

small

#

it needs to be regex, there is no escape

austere talon
#

have to do like .recipients.length>=2(?<=\.memo.{0,400})

#

actually

#

you can do

limber skiff
#

im gonna do a negative look ahead

#

for __invalid_avatar

austere talon
#
(?!<isMultiUserDM.{0,50})\.recipients\.length>=2
#

๐Ÿ˜”

limber skiff
#

hmm

#

that's gonna make the regex engine attempt the lookbehind in so many modules

austere talon
#

then put it behind instead of in front

limber skiff
#

true lmao

#

smart

#

worked

charred monolithBOT
austere talon
#

๐Ÿ˜ญ bad commit name

limber skiff
#

๐Ÿ˜ญ

#

why is it

turbid hatch
#

"fix group icons being clickable"
uh, yeah, i sure hope they are

austere talon
#

ViewIcons: Fix Group Icons being clickable in channel list

limber skiff
#

oh

#

lma

austere talon
#

and does it still work in the um

limber skiff
#

sorry that was a little bit of skill issue

austere talon
#

actual group

limber skiff
#

huh

austere talon
limber skiff
#

yeah

#

we love

charred monolithBOT
median rapids
charred monolithBOT
austere talon
#

horror

limber skiff
#

huh

#

hm wait

austere talon
#

what

desert cosmos
#

in case discord actually adds the search to the client, seems like it excludes vencord settings completely

austere talon
#

probably easy to fix

limber skiff
#

if I'm reading it corectly it adds cache: true and force: true

#

but fetch messages does not accept those options

#

it failed

charred monolithBOT
austere talon
#

BRO

#

discord made it so that /users/:id will 404 for users without mutual guild / friends

#

I REALLY HOPE THATS AN ACCIDENT WTFFFFFFF

#

if its intended then fuck discord

limber skiff
#

aint no fucking way

limber skiff
# charred monolith

but yeah, it is indeed the fault of resurrect home patch messages disappearing

austere talon
#

killing myself

shell shuttle
limber skiff
#

discord cache is stupid bro

#

they fetch the message that started a thread and messages around it

#

the enough for a jump

#

but they dont just add to the cache of the channel

#

they completely reset the cache, and re-fetch everything after it

#

and because resurrect home makes them not reset it's fucking it up

#

I think I know how to fix though

#

nvm

limber skiff
#

I found the issue ๐Ÿ˜ญ

#
hasMoreBefore: null == jump && isAfter ? cache.hasMoreBefore : request.hasMoreBefore,
hasMoreAfter: null == jump && isBefore ? cache.hasMoreAfter : request.hasMoreAfter,
#

when we patch the fix for resurrectHome isBefore and isAfter is true

#

hmm wait

median rapids
#

horror

limber skiff
#

oh my god

#

I may have fixed this the most hacky way

#

@median rapids

#

it worked lmaoo

median rapids
#

๐Ÿ˜ญ๐Ÿ˜ญ๐Ÿ˜ญ

limber skiff
austere talon
median rapids
#

so it's just a typo

#

xd

limber skiff
#

but hasMoreBefore being false does not fuck it

#

so I just inverted and now hasMoreAfter is true :)

charred monolithBOT
hollow heart
#

crazy how such a small thing can make such a difference

limber skiff
#

it's a super hacky fix

#

the true issue is here

if ((isBefore || isAfter) && null == jump && this.ready)
    cache = this.merge(fetchedMessages, isBefore, !0);
else {
    let pendingMessages = this._array.filter(e=>e.state === c.MessageStates.SENDING);
    cache = this.reset(fetchedMessages),
#

if it's not isBefore or isAfter it resets the cache, which leads to a loop fetching messages in the home screen

#

so the hack fix is to pretend it's a before or after fetch

#

but being before caused the other issue

#

so instead of adding a new option and like 3 new patches to actually fix the issue, I just make it pretend it's a after fetch now

charred monolithBOT
limber skiff
#

well that took a while

limber skiff
hollow heart
#

if there's one thing I learned today, its that discord's caching is a hot mess

lost smelt
charred monolithBOT
limber skiff
#

and the minifier really does not help

hollow heart
#

true

limber skiff
hollow heart
#

I just saw cache: null being used somewhere earlier so I tried cache: true on a whim and thought it worked but forgot to check for WebpackInterceptor in console

#

mb, still in the progress of learning how patching works

austere talon
limber skiff
#

wait actually why does the eeee branch exist

charred monolithBOT
#
[Vendicated/Vencord] branch deleted: eeee
limber skiff
#

I must have pushed in accident

austere talon
#

this change sucks for vencord cause

#

we can no longer fetch users

#

you will have to enter a bot token into ValidUser

#

and we can no longer fetch plugin devs

limber skiff
#

but didnt they revert

charred monolithBOT
austere talon
#

not users

limber skiff
#

bro really

austere talon
#

we will have to do like api.vencord.dev/plugindevs.json

limber skiff
#

horror

austere talon
#

alternatively

#

we can make vencord automatically create an application

#

๐Ÿ˜ญ

#

but thats cursed lmao

lost smelt
austere talon
#

yes

#

theyre reverting the change

#

but only for bots

lost smelt
#

where did they say taht

charred monolithBOT
limber skiff
#

what server is that lol

night fossil
#

so what's it gonna be like when you try to view the profile of like a former friend you dmed but share no servers with now

#

or a former member of a server with no current connections

limber skiff
#

@austere talon btw should probably add that to known issues

median rapids
charred monolithBOT
median rapids
#

this ep is unused in the client

austere talon
#

nah it isnt

#

its used in some places

median rapids
#

it is lol

austere talon
median rapids
#

there's a function that uses it but the function is unused

austere talon
#

is it

median rapids
#

ya

austere talon
#

lets fact check

median rapids
#

this ep used to 403 for user accounts years ago

#

they unlocked it when they made /profile require a mutual

lost smelt
austere talon
#

but none of these are gonna fetch users with no mutual guilds

median rapids
#

none of those code paths are reached pretty sure

#

actually the referral one might be

#

oh shit

#

there's an rpc command

#

@austere talon you could maybe report it breaking lol

austere talon
#

can any app use this

#

or do u need some scope

night fossil
# austere talon no change

is that because the information about the user is in the messages themselves sent by the server? is that gonna be up to date with their latest username/display name/profile picture/etc?

median rapids
#

try it :p

#

i doubt it looking at the code

#

iirc RPC_LOCAL_SCOPE means IPC required

lost smelt
#

which is cached by the client

#

IIRC

median rapids
#

yes

#

same with the dm channel object

lost smelt
#

yea

austere talon
#

what?

#

HORROR

#

USERS REALLY CANT USE IT

#

fucking discord

#

so yeah api.vencord.dev/devs.json it is

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

lost smelt
#

huh

austere talon
#

it is

#

but only on canary

lost smelt
#

oh

#

fr

austere talon
lost smelt
#

yea

#

i assume it doesn't work with users

austere talon
charred monolithBOT
austere talon
#

wait they fixed it for users too now

#

validuser works again

charred monolithBOT
limber skiff
#

is it time?

#

(it's not)

charred monolithBOT
#

add tweaks for token interaction and more serious customizations

The only thing I could really add is token input so users can upload files to their own gofile accounts if they want to, an option to upload to specific folders/naming folders specific names, and deleting previously uploaded files. I can only do so much because most of the gofile API requires premium accounts. But I'll do my best to implement the features I just listed as customizations within the next week or so.

charred monolithBOT
limber skiff
#

vendicated loves to troll me

charred monolithBOT
median rapids
#

so mean

austere talon
#

get trolled

charred monolithBOT
#

what's the point of such a plugin? why not just use sharex or manually upload?

with the new higher upload limit there's basically no use case for having this plugin

Even though Discord has increased its upload limits, I've still noticed that many users (especially those without nitro) still run into size limitations. Why not use ShareX? As a ShareX user myself, I love it, but it requires linking accounts or setting up API keys (or a custom domain), which many people don't want to ...

hollow heart
#

how did I spend almost an entire hour writing that husk

austere talon
#

i was skimming ur changes and that was the first thing i noticed lol

limber skiff
#

I hate how it's easy to make silly mistakes

#

that's why pull requests exists

austere talon
#

tbf if lint didnt fail for that then types are bad

#

it should be typed as nullable

charred monolithBOT
austere talon
#

also RE that pr: WTF i didnt know u can do multi line suggestions

#

click on a line number, hold Shift, click on a second line number and click the "+" button to the right of the second line number.

#

so useful

#

me making two suggestions for both match and replace ๐Ÿ˜ญ

limber skiff
#

you are joking

#

you didnt know that?

#

๐Ÿ˜ญ

#

you can also hold click on the line and move the mouse down the lines you want

#

๐Ÿ˜ญ

austere talon
#

yeah i just did multiple suggestions ๐Ÿ˜ญ

limber skiff
#

I feel sad for you

#

it's super useful I use all the time

#

and I barely do reviews, imagine for you...

charred monolithBOT
limber skiff
#

I realized it broke proper styling if you werent a friend of the person

charred monolithBOT
austere talon
#

you're the master of pushing something then shortly after noticing it's broken

limber skiff
#

FOR REAL

#

honestly I have a big skill of realizing problems before they occur

#

but it's never when I do the thing, always after

charred monolithBOT
charred monolithBOT
limber skiff
#

meh it doesn't matter much

#

specially after immediate-finds is merged

#

then it will make no difference

hollow heart
#

ah, I'll close the pr then

charred monolithBOT
charred monolithBOT
prime dew
charred monolithBOT
tropic wagon
#

badgeAPI does not inject in the new userprofiles or popouts btw

#

i don't think any plugin does yet

#

i mean, it's still an experiment so it doesen't really matter

#

but for my theme, i was able to support both, so maybe it's viable to support both userpopouts for plugins as well?

austere talon
tropic wagon
#

yop okay makes sense

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Discord Account

m9jd

What happens when the bug or crash occurs?

The title pretty much covers it all, the issue is that the plugin is not using the microphone I want it to use, and there's plenty of microphones connected to my PC so that's a problem.

What is the expected behaviour?

I expect it to use my settings in the [Voice & Video] section instead of providing it's on settings such as [Noise suppression, Echo cancellation], or provide a new 'own' setting that let's me choos...

charred monolithBOT
charred monolithBOT
#

Content

When Discord is in the background for a prolonged period of time, it sometimes unloads. When you come back, it takes a few seconds to "re-connect" and fetch new messages. Supposedly it also disconnects you from voice when this happens

There are many reports of this happening on stock Discord but according to some other people, it only happens with Vencord.

The following needs to be investigated:

  • Doe...
median rapids
charred monolithBOT
austere talon
jagged cloak
#

huhhh is that why grey solid moment

median rapids
#

none of the patches seem to do anything that could cause this

austere talon
#

well

#

it noops this

#

which prevents this code from running

handleIdleUpdate() {
    let e = d.default.getIdleSince();
    if (!E.isPlatformEmbedded)
        return;
    for (let e of (_.stop(),
    C.stop(),
    r.default.getAllActiveStreams()))
        if (e.state !== h.ApplicationStreamStates.ENDED)
            return;
    if (null == e)
        return;
    let t = c.default.getChannelId();
    if (null == t)
        return;
    C.start(18e6, ()=>{
        l.default.selectVoiceChannel(null)
    }
    );
    let n = u.default.getGuild(c.default.getGuildId());
    if (null == n || null == n.afkChannelId || n.afkChannelId === t || null == n.afkTimeout)
        return;
    let a = o.default.getChannel(t);
    if (null != a)
        !a.isGuildStageVoice() && _.start(e + n.afkTimeout * f.default.Millis.SECOND - Date.now(), ()=>{
            null != (n = u.default.getGuild(c.default.getGuildId())) && null != n.afkChannelId && l.default.selectVoiceChannel(n.afkChannelId)
        }
        )
}
#

which might have some relevance idk

#

well actually

#

that doesnt do anything on web

#

anyway its my best guess

jagged cloak
#

wait do you mean gateway dying or the entire app shitting itself/freezing

austere talon
charred monolithBOT
median rapids
#

wonder if the timer prevents the app from exploding somehow

austere talon
#

shrug

#

maybe if nothing is running chrome shuts down to save energy

#

and the interval somehow stops that

#

but shouldnt there be gateway heartbeat interval anyway

#

dude can people stop messaging me on telegram for support

#

so annoying

#

fuck off

silk cypress
#

pain

median rapids
#

that's what i was thinking

#

exactly the kind of hacky thing they'd do tho

fair wolf
austere talon
prime dew
#

nvm I just read on known issues

austere talon
prime dew
#

I never turned that plugin on, but it still happens

austere talon
prime dew
#

sure

#

I do have to note that every instance of this happening was while I wasn't in a VC

night fossil
#

how to install a dev instance of vencord as vesktop instead of needing the discord app?

somber thorn
#

you can change the vencord dist folder from vesktop settings (see screenshot & read vee)

#

(or symlink it from the default location)

austere talon
#

scroll down vesktop settings

somber thorn
night fossil
#

oh thanks

somber thorn
#

(ngl I originally didn't know I could change the location from the settings so I just ended up symlinking ~/.config/vesktop/vencordDist -> /opt/Vencord/dist)

jagged cloak
#

while were on the topic of discord moment

#

screenshares are somehow zoomed in for som ppl when streaming from desktop

#

but switching to vesktop fixes it

#

v work for discord when

austere talon
#

whats the use case?

#

anyway at the end, like data-emned-title-0

#

so themes can wildcard select it

#

otherwise u cant

median rapids
#

yorp

#

move to thread

austere talon
#

i disabled star notifs a few h ago btw blobcatcozy

median rapids
#

yay

glass jasper
charred monolithBOT
#

A plugin that allows users to appear invisible until they start typing.

  • Features two kinds of delays -- a delay useful for if you mistype and don't want to appear online, as well as a delay for switching back to invisible after not typing.

  • Users may pick between Online, Idle and Do Not Disturb as their desired status.

  • The chat bar may have a toggle if preferred, and may also switch to your desired status if you decide to toggle the plugin off.

Screenshot of plugin settings
...

#

ngl I don't really see any good use case for this plugin. At best it would just look weird when people see you going online and offline constantly

I totally see that, although it could have its use cases for people that don't want to seem online all the time, while not active particularly at the same time.
It's natural I don't want this rejected, but if anything it's a learning experience making this :3

median rapids
charred monolithBOT
limber skiff
austere talon
#

be invisible
start typing somewhere
notice im invisible
change to online quickly

#

but that plugin is also kinda insane

median rapids
#

usually when i'm avoiding something lol

charred monolithBOT
limber skiff
limber skiff
#

I'm lacking information to do anything

austere talon
#

just ignore it for now

limber skiff
#

okay

austere talon
#

it's not a big deal

limber skiff
#

aight

austere talon
#

just do that if you want

#

but the effect solution is just wrong

limber skiff
#

why does is it wrong?

austere talon
#

because it makes no sense to use an effect to update some state

#

that's just wrong

#

and it will trigger on change without real changes

#

the issue at hand is that you can only define the initial value but have no control over the actual value

#

which makes little sense

#

just need to let you control the raw value or something

limber skiff
#

so just dont use CheckedInput there because it really can't properly support changing from outside

austere talon
#

we need to rethink the code or something

#

but yeah just don't use it

limber skiff
#

aight

austere talon
#

the ytdlp idea is cool but wow that code seems really cursed on first glance

#

yeah true

charred monolithBOT
#

The way child_process.spawn passes arguments means that each string is a single argument, even if it contains spaces. E.g. if you were to try and pass "-o output.mp4" as an argument, you would get an error as yt-dlp as no arguments called o output.mp4.

I thought about splitting the string on spaces, but then you can't include multi-word arguments, unless I also implement some quote parser.

#

@Vendicated Appreciate you unlocking this PR, however I still need a response to my previous message regarding the approach you want me to take to implement notifications. I have attempted to get your response for this PR on numerous occasions in the last 7 months, all of which were ignored.

The outcome of whether or not you allow this plugin to use it's own notifications instead of Vencord's notification API heavil...

charred monolithBOT
#

i love this plugin idea!

however based on a quick skim of the code, the current implementation is very questionable. why is ytdlp stored in indexeddb? you need it on the native side, not in the browser

i honestly don't think the plugin should download it for you. why not simply test if it's available and if not show the user a popup with instructions how to install it?

installing programs from a plugin is not something I want to do and it might trip anti malware engines, not to ment...

#

@rozbrajaczpoziomow

Doesn't work under Linux (probably missing execute perm)
Nice catch, weird that it's interrupthing though, I thought I had error handling everywhere. I'll have to take a look at that.

Also, why redownload yt-dlp if it is already installed on the system? (like on mine)
Good point, should probably add a check.

@Vendicated

however based on a quick skim of the code, the current implementation is very questionable. why is ytdlp stored in indexeddb? you nee...

somber thorn
#

@sullen shoal

I'm not sure that would add it to PATH, would it? I've always had to manually add yt-dlp to the PATH unless I entered a Python venv.

rozbian:~$ pip list
Package            Version
------------------ ----------
[...]
yt-dlp             2024.4.9

rozbian:~$ ll $(which yt-dlp)
.rwxr-xr-x 1 205 root root 17 Apr 09:26 /usr/bin/yt-dlp

rozbian:~$ cat $(which yt-dlp)
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from yt_dlp import main
if __name__ == "__main__":
    sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0])
    sys.exit(main())
#

ยฏ_(ใƒ„)_/ยฏ

#

I don't use windows so idk how it looks on there

sullen shoal
#

I hope it's this easy on windows too, I'm getting a bit tired of this OS ๐Ÿ˜…

somber thorn
#

Yeah that's fair enough. I wanted to make it completely seamless, but halfway through I realised that doing the same to download ffmpeg would be a pain in the ass, so now it's in a bit of a weird state where half of the dependencies auto-install. This definitely makes more sense.
tbf ffmpeg is not actually a required dependency https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#dependencies
you could make it work without ffmpeg, Audio with -f ba and Video by avoiding -f anything (per man yt-dlp)

sullen shoal
somber thorn
# charred monolith

They added themselves to constants.ts but not actually into the authors: array lol @limber skiff

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

I know

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

they shouldnt be added to the authors for such small improvement

#

but at the same time they contributed, so they can add themselves to devs

somber thorn
#

fair enough ยฏ_(ใƒ„)_/ยฏ

#

dies in my MessageLatency PR again, idrc though /shrug

limber skiff
#

ยฏ_(ใƒ„)_/ยฏ

charred monolithBOT
heavy cedar
#

@limber skiff also since u made it so find can use regex, it only does it onBlur now

so if u import a patch as json, u need to click into the find field and then click out for it to load the module

#

it's not that big of a problem ig

limber skiff
#

yeah I know

#

it's okay

charred monolithBOT
limber skiff
#

I mean I could probably change this

#

and use a debounce

#

but idk it's still bad

#

wait I'm stupid

heavy cedar
limber skiff
#

it's easy fix ๐Ÿ˜ญ

#

yeah

austere talon
#

why not just set state on a paste?

limber skiff
#

I just need to move the set find up

#

one second let me see if this works

#

fucking shit

charred monolithBOT
limber skiff
#

you're the master of pushing something then shortly after noticing it's broken

#

vee you have cursed me

charred monolithBOT
limber skiff
#

lmao I could have done this all this time

heavy cedar
#

oh yeah true

somber thorn
#

also imagine merging new plugins and forgetting about #plugin-news

heavy cedar
#

they haven't bumped the version yet

#

so it's not on user installs

limber skiff
#

all the new plugins are on dev

#

not in main

heavy cedar
#

one of mine's on main but no version bump yet

#

when's the next bump ๐Ÿ™

limber skiff
#

do you know what version bump does?

heavy cedar
#

uh oh

#

in my mind i thought it was like

#

client checks version number and updates if it's higher

heavy cedar
#

does it not work liek that

limber skiff
#

I guess vee forgot about their own plugin lol

limber skiff
#

desktop clients and userscript receive any updates on the main branch

#

all the version bump does is release a new chrome webstore extension version

heavy cedar
#

oh

#

i swear my plugin wasn't there last time i checked

#

lemme check again

limber skiff
#

because google needs to review each version individually

heavy cedar
#

ty for the correction tho

limber skiff
#

@austere talon thoughts about this

#

it looks like since version 9 they dont allow you to mismatch a minor version which is so fucking annoying

austere talon
#

sure ig

#

where do u add that

#

package.json?

limber skiff
#

npmrc

desert cosmos
#

no clue if this is known, but MessageLinkEmbeds breaks after ~3 nested message references. not a huge issue but yeah blobcatcozy

austere talon
#

wha

desert cosmos
#

just copy the message link to the same messages over and over again

#

youll end up with that

still wasp
#

Yeah i just tested it

#

It just becomes MASSIVE after a few pastes

#

I had to zoom out that much to screenshot it

dapper crest
#

Shrimply use css to make embed margins less awfully large

#

Problem solved

charred monolithBOT
desert cosmos
#

horror

limber skiff
#

huh

#

it doesnt happen to me

desert cosmos
#

disable automod thingy

#

doesnt work for that type

limber skiff
#

ah

charred monolithBOT
fair wolf
#

Wait should PRs be made for dev instead of main?

limber skiff
#

it doesnt matter because we are gonna change them to dev before merging

#

but yeah

jagged cloak
#

horror what is that

limber skiff
#

fixed :)

charred monolithBOT
limber skiff
desert cosmos
limber skiff
#

hmm I wonder why automod embeds dont nest

#

I guess they just dont have accessories

#

yeah...

#

tf

#

oh deleted

charred monolithBOT
limber skiff
#

these might come handy once

#

but like this is more interesting

#

logging the full module that it tried to match

desert cosmos
charred monolithBOT
crude hearth
#

lets see which one will happen first

#

discord rolls out feature or my pr gets merged

jagged cloak
#

neither

#

they will@cancel trol

limber skiff
#

guys

#

I cooked hard

#

vencord no longer needs to patch .push method

#

and no longer patches modules before they are actually used

charred monolithBOT
#
[Vendicated/Vencord] New branch created: modules-proxy-patches
frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 943362
Match: /(?<=getChannel\(\i\);if\(null!=(\i))(?=.{0,100}?selectVoiceChannel)/

VoiceChatDoubleClick (had no effect):
ID: 943362
Match: /onClick:(\i)(?=,.{0,30}className:"channelMention".+?(\i)\.inContent)/

WebContextMenus (found no module):
ID: -
Match: .SLASH_COMMAND_SUGGESTIONS_TOGGLED,{

WebContextMenus (found no module):
ID: -
Match: "add-to-dictionary"

Bad Webpack Finds

None

Bad Starts

None

Discord Errors
[Vencord] BetterSettings: Failed to find some components ```
limber skiff
#

oop

#

so it doesnt work completely

#

hmm extractAndLoadChunks can fuck it up for sure

charred monolithBOT
limber skiff
#

horror

charred monolithBOT
limber skiff
#

anywayss

#

enough trying for now I sleep

charred monolithBOT
charred monolithBOT
median rapids
# charred monolith

nah changing presence isn't that spammy as long as you don't patch settings

charred monolithBOT
crude hearth
austere talon
#

FIXXX THEN

crude hearth
#

MINE IS working

median rapids
#

there's 3 million of those checks

#

7 to be exact

#

you love

austere talon
crude hearth
median rapids
#

yea

austere talon
#

wrong reply

median rapids
#

wait what's the GA one for

#

let's see

#

man what

austere talon
#

nah manti is just patching this (canGuildUseConversationSummaries)

function l(e) {
            var t;
            let n = !(arguments.length > 1) || void 0 === arguments[1] || arguments[1];
            if (null == e)
                return !1;
            return !!((null == (t = e.id) || t !== r.ME && t !== r.FAVORITES) && e.hasFeature(r.GuildFeatures.SUMMARIES_ENABLED_GA)) && (!n || e.hasFeature(r.GuildFeatures.SUMMARIES_ENABLED_BY_USER))
        }
crude hearth
#

okay I just ran the script and replaced flux events

crude hearth
austere talon
#

i updated comment

#

try

crude hearth
#

yop worked

austere talon
#

INSANE

#

go backwards so you can just use the current index

#

instead of having to walk entire array to find index

#

you saw that it will contain thousands of elements

#

imagine 200 times checking 3000 elements

median rapids
#

which you probably don't want

crude hearth
#

btw dolfies do you know if discord somehow stores them locally

median rapids
#

actually you might need to patch this one

crude hearth
#

because rn I am storing them in indexxeddb

median rapids
#

don't think so

crude hearth
median rapids
#

tf does that do then lol

crude hearth
#

yea lmao

crude hearth
#

all done

#

but honestly I am worried about dispatching few thausand flux events

austere talon
crude hearth
#

bad stuff are happening

median rapids
#

oh wait

#

this is another settings section

#

xd

median rapids
crude hearth
#

I think this is because of dispatches trolldayruined

#

it cant handle all of them

#

yeah I should figure out how to use BULK one

#

this wont work

austere talon
#

theres an event for bulk summaries

median rapids
#

or just

#

modify the summary store directly

austere talon
#

yeah that also works

crude hearth
#

actually wait issue is resolved i think

#

I tested this before and it wasnt causing recursion

#

but it did before it seems

#

if it includes time I return now and looks chill

austere talon
#
CONVERSATION_SUMMARY_UPDATE(e) {
                var t, n, i;
                let {channel_id: r, summaries: a, guild_id: s} = e
                  , o = Date.now()
                  , l = I().chain(a).sortBy(e=>v.default.extractTimestamp(e.start_id)).filter(e=>Object.keys(e).length > 0).map(e=>(0,
                D.createSummaryFromServer)(e, r)).reverse().value()
                  , u = null !== (n = y[r]) && void 0 !== n ? n : []
                  , d = I().chain(l).concat(u).sortBy(e=>v.default.extractTimestamp(e.startId)).takeRight(75).uniqBy("id").reverse().value();
                y[r] = d,
                P[r] = {
                    ...P[r],
                    error: void 0,
                    fetching: null !== (i = null === (t = P[r]) || void 0 === t ? void 0 : t.fetching) && void 0 !== i && i,
                    lastReceivedAt: o
                }
            },
#

horror code

crude hearth
#

lets see how we can edit summary store

austere talon
#

maybe we can instead backup y

#

lets see what y is

#

random object

crude hearth
#

maybe thats entire store trolldayruined

austere talon
#

wait

#

the store has a method that returns that object

crude hearth
#

is it exported

austere talon
#
const SummariesStore = findByPropsLazy("allSummaries", "findSummary");
#

allSummaries() method returns the object

#

you can just put summaries on there

crude hearth
#

kk

#

lets try

austere talon
#

actually wait

#

discord already backs it up

#

its a PersistedStore

#

but it doesnt store the necessary data

crude hearth
#

maybe we can somehow make it store the neccesary data

austere talon
#

looks like it has a method

getState() {
    return {
        shouldShowTopicsBar: i
    }
}
#

i guess thats what determines what it should backup