#👾-core-development

1 messages · Page 136 of 1

olive aurora
#

you can comment on multiple lines

misty raptor
#

oh comment

olive aurora
#

click then shift click

misty raptor
#

yeah idk how to comment either

#

this is too hard

#

figured out how to comment

fresh cloak
#

you click the blue plus

olive aurora
#

okay so first

cunning canyon
#

when the big update 3 weeks ago ven merged fixing prs so fast no one notice my code disappeared twice trolley

olive aurora
fresh cloak
misty raptor
#

i would have to make like 8 comments to do the thing i wanted to do

#

and it ddidnt really matter

fresh cloak
#

that's how a review works, yeah

misty raptor
#

i just wanted to add newlines to a function so everything wasnt scrunched up

olive aurora
#

you can click start a review

#

and then it makes all the comments at once

#

or in that case you just tell the person their formatting sucks

fresh cloak
#

yeah lol

olive aurora
#

just like my first pr vee made a commit "give code room to breathe"

charred monolithBOT
olive aurora
#

never forgetting

misty raptor
#

im such a helper

#

what is the cute person role i see peopel with it and dont know what it is

olive aurora
#

it is the "not a whitename" role

fresh cloak
#

it simply means i'm cute

olive aurora
#

wrong look again

misty raptor
fresh cloak
#

wow

olive aurora
#

the average whitename has negative iq it seems

fresh cloak
#

if (condition) action(); in one line is such blashphemy

#

it obviously should be

if (condition)
    action();
olive aurora
#

action() if condition 😇

misty raptor
#

python

fresh cloak
#

if condition do action() otherwise do otherAction()

olive aurora
#

wrong its ruby

misty raptor
#

well its also python

#

x if condition else y

fresh cloak
olive aurora
#

it only works with the else

fresh cloak
#

i just want to code in plain english

misty raptor
#

applescript

olive aurora
#

true

fresh cloak
#

real

olive aurora
#

we should remove english from programming languages

#

simply make everything symbols

fresh cloak
#

no

#

make every programming language localized

misty raptor
olive aurora
#

./run ```golfscript
{"this is rael"p}5*

vital lionBOT
#

Here is your golfscript(1.0.0) output @olive aurora

"this is rael"
"this is rael"
"this is rael"
"this is rael"
"this is rael"

olive aurora
#

expldoe

fresh cloak
#

wenn (condition) zurückkehren;

misty raptor
#

make every programming language rust

livid heath
fresh cloak
#

während (condition) {} german while loop

olive aurora
fresh cloak
#

oh god

#

no way

#

HAHAHA

#

ROST

livid heath
#

lmao

olive aurora
fresh cloak
#

HAHAHAHA

olive aurora
#
外部 टोकरा unirust;

استخدم std::collections::사전 zoals Dico;

eigenschaft CléValeur {
    függvény écrire(&soi, clé: 문자열, valeur: Lanka);
    функція lire(&soi, clé: Zsinór) -> 結果<Möglichkeit<&Ĉeno>, Cxeno>;
}

statisk μεταβλητος DICTIONNAIRE: Opcja<Dico<Styga, Naskah>> = Geen;

типок Concrète;

kivitelezés CléValeur minden Concrète {
    funkcio écrire(&soi, clé: สตริง, valeur: Συμβολοσειρα) {
        द्या dico = 安全じゃない {
            DICTIONNAIRE.خذ_او_ادخل_ب(Predefinito::каквсегда)
        };
        dico.ekle(clé, valeur);
    }
    пацикисделают lire(&soi, clé: Catena) -> निकाल<Malnepra<&Retaz>, Низ> {
        nếu द्या มี(dico) = असुरक्षित { DICTIONNAIRE.sebagai_referensi() } {
            よし(dico.lire(&clé))
        } không_thì {
            실패("fetchez le dico".ke_dalam())
        }
    }
}
fresh cloak
#

love how they're all forked from the french one

fresh cloak
#

what are you talking about

#

looks normal to me

livid heath
#

i'm just abnormal

fresh cloak
#

no this is all normal rust syntax

#

very normal code

livid heath
#

okay someone needs to explain to me the difference between using the jsx function and calling my react component directly
cause when adding hooks in my component the former works and the latter crashes

#

the cause of crash was difference in number hooks being rendered

fresh cloak
#

jesus lol

charred monolithBOT
livid heath
olive aurora
#

insanity

fresh cloak
#

lol what

livid heath
#

spare me for the dumb questions

charred monolithBOT
#
willow@localhost:~/Downloads> sudo zypper install VencordDesktop-0.4.3.x86_64.rpm 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides 'libuuid' needed by the to be installed VencordDesktop-0.4.3-1.x86_64
 Solution 1: do not install VencordDesktop-0.4.3-1.x86_64
 Solution 2: break VencordDesktop-0.4.3-1.x86_64 by ignoring some of its dependencies

Related:

livid heath
#

lmao

olive aurora
#

skull

livid heath
#

pog it works

#

had to use Vencord.Webpack.Common.React.createElement

olive aurora
#

horrifying

livid heath
#

suggest a better alternative which doesn't crash

olive aurora
#

vencord's jsx is supposed to call that

livid heath
#

peak code

livid heath
olive aurora
#

oh

#

what you do is make your ui code into a function on the plugin object

#

then make the patch use $self.renderComponent()

livid heath
#

so i do

renderAllowedMentionsUI(props) {
  return <this.AllowedMentionsUI {..props}>
}
olive aurora
#

cant you do $self.AllowedMentionsUI(...)

livid heath
#

when needsAllowedMentions is undefined/null the component doesn't render but when it does there's a difference in hooks being rendered and react explodes

olive aurora
#

webdev was a mistake i think

livid heath
#

👍

olive aurora
#

and well move it out of the plugin

#

so you dont have to use this.

livid heath
#

okay pog that works thanks

livid heath
charred monolithBOT
grave mangoBOT
olive aurora
#

cursed function lmao

#

before lazy was real probably

livid heath
livid heath
#

someone should review packmanager catstare

charred monolithBOT
olive aurora
#

would if i had the override

charred monolithBOT
jagged cloak
#

bro said Devs.Ven

tidal cloud
#

add me to Devs

fresh cloak
#

Haha love it

livid heath
#

the prop is updating but my component isn't reflecting the change
(it's supposed to show 2 selects by the end of this gif (it doesnt))

#

i assume i have to use some hooks but idk which

charred monolithBOT
spark cove
#

pretty sure this will break lol

#

ive been too lazy to fix but i think its not that different

#

something like this js { find: "renderEmbeds(", replacement: { match: /renderEmbeds\((\i)\){/, replace: "$&$1=$self.patchMessage($1);" } }

charred monolithBOT
livid heath
#

guh the prop passed gets updated but the component isn't updating
i'm gonna explode someone help

charred monolithBOT
#

Although the question here is, is it beneficial to do this, when we'd need a separate, likely more low-level implementation for windows/mac? from my understanding libuiohook works on all platforms

For windows one could use RegisterHotKey, which allows for less combinations of keys but also comes with less drawbacks, not sure on MacOS though, I'd suspect they also have some sort of system API for hotkeys instead of allowing for low level hooks

livid heath
#

maybe i'm jsut having a skill issue agony

#

okay it works if i dont use useState

#

???

#

but my switches wont work without useState agony

woeful sable
#

edging the button

livid heath
#

i'm reading the docs 🙏

woeful sable
#

wtf are you even making

livid heath
#

basically you can mention a user or role or @everyone/@here without actually pinging them

cunning bobcat
#

huh

#

didnt know users could use that

livid heath
#

they sure can

cunning bobcat
#

im gonna do so much trolling with that

livid heath
#

and i'm having a major skill issue trying to make the UI

cunning bobcat
#

what's the issue

livid heath
#

useState

#

i have to find a way to update the initial value

cunning bobcat
#

the initial value in usestate?

livid heath
#

imagine readin this out of context

cunning bobcat
#

and setstate doesnt work, i presume?

livid heath
#

i have a potential solution but idk if it'll work if at all

cunning bobcat
livid heath
#

apparently it is intended behaviour blobcatcozy

cunning bobcat
#

didnt even know you could change props on the fly

livid heath
#

i can maybe use key trolley

#

okay pog key works

#

totally not a cursed sight

charred monolithBOT
livid heath
#

guh key works but it's janky

livid heath
#

WHY IS IT STUTTERING

#

this is not discord support

grizzled halo
#

This is the wrong channel too

charred monolithBOT
livid heath
#

👀

#

is there a multi select component in vencord?

lime stone
livid heath
lime stone
#

yeah

#

that makes sense imo

livid heath
#

for now i'm struggling with making a UI for this thing agony

livid heath
crude hearth
#

if you have github student pack its free

livid heath
#

they dont seem to have student pack
assuming by missing "pro" badge on profile since gh student also gives you gh professional

livid heath
#

inchresting

limber skiff
#

same I got it for free months ago

#

prob from vencord too

cunning canyon
#

it says "A maintainer of a popular open source project is defined as someone who has write or admin access to one or more of the most popular open source projects on GitHub" https://github.com/pricing#faq-copilot

lime stone
#

lol thanks? i don't want it

crude hearth
#

copilot is good

#

why do you not want it

lime stone
#

because i prefer suffering

crude hearth
#

h

lime stone
#

i wouldn't call it "one of the most popular" projects

#

i qualify with a repository of 4.2 stars

#

ah

#

:(

#

huh you don't maintain it lmao

livid heath
#

afaik it renews

lime stone
#

trial?

livid heath
#

@lime stone with perms vs no perms

lime stone
#

nice!

#

the ui looks good now

#

what if you are replying too though?

livid heath
lime stone
#

horror

#

vencord makes your discord look like an ie toolbar

livid heath
#

now time to write a multi select component to add option to (un)ping specific users and roles

lime stone
#

does discord have one of those?

livid heath
# lime stone horror

it's discord code\™️ i just patched to component to add allowed mentions bar before reply

lime stone
#

hm

#

i wonder if you could add the toggle next to the ping toggle

livid heath
lime stone
#

maybe you could have an ON/OFF but with an * icon for everyone/here

#

maybe that's cursed

livid heath
#

currently i'm rendering allowed mention bar only when the content has atleast 1 user/role/everyone/here mention

#

actually @lime stone i could do it like this render a separate bar if not replying, or render the options in the reply bar when replying

lime stone
#

yeah

charred monolithBOT
#

libuiohook may not be using these exact things, but it already supports all these platforms.. why reinvent the wheel? It also seemingly has less limitations than RegisterHotKey

Low Level Keyboard Hooks are not exactly a good practice imo.

We've been using them in soundux and have faced several issues:

  • Due to their nature, they will not work on Wayland at all

  • Low-Level keyboard hooks require custom logic that is not always the same as that implemented by the system and may confuse ...

livid heath
#

@vivid marsh replying to others, self, and cancelling reply

lime stone
livid heath
#

oops wrong kode

#

sorry other kode blobcatcozy

lime stone
#

:O nice

dusky sonnet
#

wow that looks amazing

livid heath
#

i have no clue how i'm gonna write a multi select NotLikeHaachama

lime stone
#

what if you just added it to the text itself

#

or just open a context menu with checkboxes

livid heath
#

rough mockup

lime stone
#

that's pretty much a context menu, right?

livid heath
#

yop

#

execpt that it has a mutually exclusive option "ALL" at the top

lime stone
#

you can have it like this where it doesn't appear at the cursor but instead below the button

lime stone
livid heath
#

time to extract the component for server dropdown

livid heath
#

okay that's progress

#

now i just gotta make it list individual users and make all & ids mutually exclusive

#

thanks for the help kode, now i wont have to spend hours writing a multi select, i can just use this

#

finally mutually exclusive selects

split berry
#

Hello!

I put together a small project that simply retrives the latest download link for a given discord download link.
Its needed as from next month, download links will be only valid for 24 hours, this project will make them not expire. https://github.com/ShufflePerson/Discord_CDN

I am wondering if anyone is able to make a small Vencord script that can add a Prefix to the copied download link, when copying a download link.

livid heath
#

this is very much unnecessary

#

discord will always show you an updated link in the client

#

as for downloading you either download on the spot or you come back to get a new link

split berry
livid heath
#

^

split berry
#

its free & fast

#

the entire point is that you share the link.

spark pivot
split berry
#

slower + expensive

spark pivot
#

Or y’know, your hard drive

livid heath
#

guys off topic

split berry
#

i never wanted it inside vencord?

#

I am wondering if anyone is able to make a small Vencord script that can add a Prefix to the copied download link, when copying a download link.

split berry
#

yes?

spark pivot
#

This implies it’s in vencord

split berry
#

yeah, for those who add the script manually

#

all that it does is add prefix to the start of the download link

glass jasper
#

That’s useless for discord altogether, who in their right mind, treats Discord like a file sharing website

spark pivot
#

It’s just a feature of a larger whole

split berry
#

if you want to trash talk, then just be quiet, bunch of egoistic teens in here.

spark pivot
glass jasper
spark pivot
#

Exactly

#

I dont store files on discord so I just use mediafire for files to large for discord

nimble pendantBOT
charred monolithBOT
austere talon
#

@idle hamlet

proven sandal
#

I wonder if I can add my own badge

#

to the platform

charred monolithBOT
proven sandal
#

ah I see.

#

Could you also tell me how I can possibly make a client like vencord

#

does it require any additional knowledge than Javascript or what

#

have you made a client before?

spark pivot
#

It’s not just “oh let me import this and add this” and you’re done

#

It takes a lot of work

#

You’d need a lot of experience

#

In JavaScript/typescript

proven sandal
proven sandal
#

If you like

void echo
spark pivot
proven sandal
#

it's just that i don't know where to start from.

#

since no one else in here would help me

void echo
#

It's a massive undertaking

proven sandal
#

well it's true

#

well if vee did it, zerebos did it, then why we can't

#

i mean we could start small and expand it

void echo
proven sandal
#

doesn't mean we can regain that knowledge :p

void echo
#

I can give you the rundown of what I know?

proven sandal
void echo
livid heath
#

vencord is the best mod ever we do not another mod
k bye
thanks for listening to my ted talk

hoary raptor
#

ched chalk

lethal vault
#

looks like the dev tutorial is outdated, what would I put in the "find" section?

{
            find: "",
            replacement: {
                match: /\/(\w+)\.isStaff=function\(\){return\s*!1};\//,
                replace: "$1.isStaff=function(){return true};"
            }
        },
cold swift
#

Is there any plugin that lets you fake playing a game? / Is it possible if there isn't already one?

lethal vault
#

nvm found updated guide, still no idea of how to find the function name that i want to replace

charred monolithBOT
livid heath
#

discord doesn't use rtmp tho

charred monolithBOT
livid heath
#

@lime stone please review my shitcode 🙏

lime stone
#

i'm just a moderator, not a genius

#

these people smarter

livid heath
#

okay blobcatcozy

lime stone
#

actually i'm pretty good at programming outside of js so i often do and just try my best

spark pivot
#

I usually review new prs and this one looks good

livid heath
#

i'm very sad about this part
using setState would require me to reconstruct the set (nuh uh not doing that) but not using that means i've to use forceupdater

dusky sonnet
#

Really neat plugin, but what would it be useful for?

livid heath
#

honestly someone gave me the idea and i just wanted to try and implement it

#

it's pretty useful when you want to mention someone without pinging them

dusky sonnet
#

So like:
@board.#0000 is a person that exists

#

Wow and the mention fails

livid heath
#

@dusky sonnet

#

not using @silent and that didn't ping

dusky sonnet
#

Huh yeah that could be useful

pine topaz
livid heath
#

megu troll reacted me when i said that

dusky sonnet
#

what happens to the select menu when youre mentioning a lot of people?

#

like mentioning everyone

livid heath
#

this could lead to overflow issues hmm

#

but like who's mentioning 20 people in one message

lime stone
#

honestly you shouldn't do that

#

so just display a dialog saying skill issue

#

i think it has a scrollbar though?

charred monolithBOT
inland fable
#

i wanted to make that for vendetta but lazy

dusky sonnet
livid heath
livid heath
strange iris
livid heath
#

lmao github what

spark pivot
#

0 repositories

spark pivot
lethal vault
#

this shit is so confusing

dire trench
lethal vault
#

why does this not make all of my messages "balla"

start() {
        this.preSend = addPreSendListener((_, msg) => this.testListen(msg));
    },

    testListen(msg: MessageObject) {
        msg.content = "balla";
    },

i think i might have a fundimential missunderstand of how addPreSendListener works

#

do i need a patch or something to get this to work? Am i not motifying the content correctly?

idle hamlet
#

hi

livid heath
glass jasper
void echo
livid heath
void echo
livid heath
#

aigh't i pushed fuzzy searching

livid heath
#

i could also make a plugin to search and mention users in a server but that's a different story :clueless:

#

gn

glass jasper
olive aurora
#

when you type @ it already searches what you're typing ??

lime stone
#

imagine if the org contained everyone

dire trench
#

this is crazy

#

since the relationshipDB servers are down, my show badges plugin is making so many requests that it is using the max amount of pending requests
and profile images, emotes, etc. are failing to load

charred monolithBOT
dire trench
#

wishes to stay anonymous i guess

olive aurora
#

then we cant get back to them

dire trench
#

why removed Devs.Ven

olive aurora
#

they added ven bc authors is required

#

their account is a throwaway

dire trench
#

no point in merging a plugin that you will have to support when hiding super reactions is possible in pure css

#

literally just this

tidal cloud
#

just send that and close the pr

#

no point in keeping something that's doable with css

tidal cloud
dire trench
#

who tf thought changing how ctrl+tab and ctrl+shift+tab work in vscode was a good idea
ctrl+tab should be forward and ctrl+shift+tab should be backwards
vscode is the only application that does it this way

charred monolithBOT
spark pivot
charred monolithBOT
olive aurora
#

not when ur contributing from a throwaway like that

spark pivot
#

Fair enough

dire trench
#

there is currently one person in the dev constants with 0n as their id
and they at least made their pull request from their main github account

olive aurora
#

that's adryd and its bc they made the oneko code

#

ven is the plugin author

dire trench
#

and clearURLs

olive aurora
#

oh huh

dire trench
charred monolithBOT
olive aurora
#

what was anton cooking

void echo
#

i havent looked since

#

is it bad

olive aurora
#

yes

void echo
dire trench
#

OptionType.NUMBER does not let you input values over Number.MAX_SAFE_INTEGER but it lets you input values below Number.MIN_SAFE_INTEGER

void echo
#

@olive aurora wait why this one

olive aurora
#

read the first suggestion

#

cachedWhitelist is ur insane thing

void echo
#

doesnt that stop it from having to parse the whole list each message event

olive aurora
#

yeah but its not a lot

void echo
#

i get the way im doing it is dumb but i was aiming for performance really

olive aurora
#

this is discord

void echo
#

i know but SPEEEEEEEEED

#

what if some psyco has like 50 IDs in there

olive aurora
#

you'll see the speed of the car that runs over you soon

void echo
#

for EVERY MESSAGE

olive aurora
#

that isnt a lot

void echo
#

poor little vencord having to parse all those ids

#

over and over

olive aurora
#

its just splitting an array

void echo
#

sooo tiring

#

ugh ill remove the caching

#

I GUESS

#

@austere talon caching or no caching pls vote

#

i think caching is cool

spark pivot
#

no caching

void echo
#

mmpfhfjhdhfdjfkhskjf fine

#

cache haters

spark pivot
#

ugh no image perms

olive aurora
#

its not even that faster 🙄

spark pivot
#

took 0.09ms to do split a string 223 times

limber skiff
#

fake nitro has a recursive function that runs on every message lol

olive aurora
#

real

void echo
#

or

#

what

olive aurora
#

yes

void echo
#

SEE CACHING WINS

#

or loses

#

i cant tell

#

its just so cool

void echo
#

it will split it in 0.000000000000000 cz IT DOES IT ONCE

spark pivot
#

it'd be faster by like 0.08ms

void echo
#

n those 8ms add up

spark pivot
#

do you care about not even 1 ms

void echo
#

thousands of messages a day

#

youve saved like

spark pivot
void echo
#

30s of CPU time a day

void echo
limber skiff
#

but it's fine

void echo
olive aurora
#

why do u do isValidUserId

void echo
#

why is that bad

olive aurora
#

if its an invalid id the === will never be true

void echo
olive aurora
#

all that for performance and you do this smh

void echo
#

so if i fixed that

#

i couldve saved WAY MORE TIME

#

alr yk what im gna make my own that caches

#

n its gna add up all the time saved

#

like that wacky fake counter on brave brower

#

@olive aurora ALSO MESSAGE LOGGER DOES

#

IT CACHES

#

SO IM NOT ALONE

austere talon
#

on the raw string

void echo
#

i am become devilbro

austere talon
#

so?

#

don't enter that

dire trench
#

the error checking function could be improved

austere talon
#

no

#

this is a non issue

#

noone is entering a number like that

dire trench
#

it has an upper limit at Number.MAX_SAFE_INTEGER but none at Number.MIN_SAFE_INTEGER

#

this is the current function:

function handleChange(newValue) {
    const isValid = option.isValid?.call(definedSettings, newValue) ?? true;

    setError(null);
    if (typeof isValid === "string") setError(isValid);
    else if (!isValid) setError("Invalid input provided.");

    if (option.type === OptionType.NUMBER && BigInt(newValue) >= MAX_SAFE_NUMBER) {
        setState(`${Number.MAX_SAFE_INTEGER}`);
        onChange(serialize(newValue));
    } else {
        setState(newValue);
        onChange(serialize(newValue));
    }
}
austere talon
#

stop creating fake problems

olive aurora
#

but maybe

dire trench
austere talon
#

the odds of that are lower than winning the lottery

dire trench
spark pivot
#

if you enter a very small negative number like that then you are asking for problems

#

it doesn't matter

austere talon
spark pivot
#

it is

austere talon
#

the only reason someone would enter a number like that is if they are deliberately trying to break it

#

why would we care

dire trench
#

why did you add a check for max safe number in the first place if it doesnt matter tho

austere talon
#

don't fix what's not broken

#

you're wasting everyone's time

austere talon
#

maximum log entries setting

person just spams 9999999999999... to get "infinity"

dire trench
#

i think it would be nice to add definable upper and lower limits to OptionType.NUMBER for plugins to use

austere talon
#

yes

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

Bad Starts

None

Discord Errors

None

#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

Bad Starts

None

Discord Errors

None

charred monolithBOT
dire trench
tidal cloud
#

logs "imagine actually explaining this and NOT using node.js?" to the console

tidal cloud
#

ok?

dire trench
#

consle
console

#

it logs nothing

#

because console is spelled wrong

spark pivot
#

Can not read properties of undefined (reading “consle”)

tidal cloud
#

the what gen

#

decimal gen?? bro

tidal cloud
dire trench
#

show code

tidal cloud
#

use vscode

dire trench
tidal cloud
#

eh I couldn't login into github properly with it on linux without doing some 3rd grade jank

#

might be better now

charred monolithBOT
charred monolithBOT
#

Hello! I recently updated from Vesktop 0.4.2 to 0.4.3 and it seems that the audio sharing is no longer compatible. I find this odd, as 0.4.3 specifically is supposed to add compatibility.

Vesktop tells me I need glibc version 2.36 or higher (which I cannot install on Ubuntu 22.04/Linux Mint 21.2), but 0.4.2 seems to work as intended.

$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.4) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for c...
dire trench
#

i relaunch vencord and the module im making a patch for got updated 💀

jagged cloak
#

fix immediately

dire trench
#

char counter with fully customizable text

dire trench
#

even shows here

charred monolithBOT
dire trench
#

found this

charred monolithBOT
dire trench
#

since i cant make multiple forks, how do i make a new branch on my fork that isnt polluted by the commits for my other plugin

#

i simply deleted the other plugin on the branch i made

#

but it still keeps all of the commits in the commit history which is very scuffed

#

should i just pr as is?

livid heath
#

just create a branch from upstream rather than your fork

dire trench
#

how would i do that

livid heath
#

this is how i'd do it in vscode

#

iirc git checkout -b <new_branch_name> <remote_name>/<remote_branch_name> is the cli version

dire trench
#

so i dont think i can do that

livid heath
#

yeah just use the cli command

dire trench
#

i am not authenticated 💀

livid heath
dire trench
#

easiest way to do so?

#

i have a gh pat

charred monolithBOT
dire trench
#

i think i locally created the branch on upstream tho

charred monolithBOT
dire trench
#

its gonna take me longer to figure git out than it took me to make the mf plugin

charred monolithBOT
dire trench
#

finally done

woeful sable
#

What mobile modified client should I use except aliucord

dire trench
#

or vencord trolley

woeful sable
#

Android thx

dire trench
#

mf asking the bots

woeful sable
#

I'm dumb af

dire trench
dire trench
livid heath
#

love memory leaks

topaz thistle
#

I'm flattered 😊

dire trench
#

@cunning canyon i disagree

#

that is worse practice

#

it does not need that

#

or are you trying to make it easily selectable by userstyles?

#

if so then i guess thats better practice

#

i will sleep

cunning canyon
#

yes

charred monolithBOT
charred monolithBOT
vital brook
#

Is there any 3rd party plugin which stops/lowers the volume of the extremely loud videos? or make them impossible to reduce their size to 0 (or whatever so u cant pause them)?

void echo
vital brook
#

alright ty for info, but the videos haven't been fixed or atleast the one I've seen today.

charred monolithBOT
dire trench
# cunning canyon yes

this good?

import { classNameFactory } from "@api/Styles";
// ...
const cl = classNameFactory("vc-charcounter-");
// ...
get charCounter() {
    return (
        <span className={cl("text")}>
            <style>{`.${cl("text")}{${settings.store.useMonospacedFont ? "fontFamily:var(--font-code);" : ""}position:absolute;right:0;bottom:-32px;white-space:nowrap}`}</style>
            {settings.store.characterCounterText
                .replaceAll(/(?<!(?:^|[^\\])\\(?:\\\\)*)\$[mM]/g, maxChars.toString())
                .replaceAll(/(?<!(?:^|[^\\])\\(?:\\\\)*)\$[cC]/g, currChars.toString())
                .replaceAll(/(?<!(?:^|[^\\])\\(?:\\\\)*)\$[rR]/g, (maxChars - currChars).toString())
                .replaceAll(/\\(.|$)/g, "$1")}
        </span>
    );
}
// ...
#

or should i make a styles.css

livid heath
#

make styles.css

dire trench
#

like the monospaced font

livid heath
#

use variables then

#

--vc-char-counter-font

dire trench
#

doesnt that just further complicate

livid heath
#

more readable

#

and explicit

dire trench
#

this wasnt more readable?

#

one file

#

if only there was a better way

#

ill put it in a separate css file if i have to i guess

cunning canyon
#

why does it have setting to theme it

livid heath
#

you can also just

.vc-charcounter-monospaced {
    font-family: var(--font-code);
}

.vc-charcounter {
    // base styles here
}
livid heath
dire trench
livid heath
#

so you can just use quickcss for that?

dire trench
#

its there if anyone wants it

#

the numbers move around way too much tho

livid heath
#

if anyone wants it then the correct way to be css rather than plugin settings

dire trench
#

you cant expect the average vencord user to do that tho

#

im not gonna add any more styles to it

#

i think just having a monospaced option is fine

livid heath
#

if the average vencord user can install themes then they can take 2 minutes to ask how to change char counter font in #🎨-theme-development

#

imo theming shouldn't be a part of plugin settings

dire trench
#

i guess ill remove it then

livid heath
#

👍

austere talon
#

well i think the codeberg mirror sometimes might cause issues

#

if you push multiple commits too fast

dire trench
#

the instant i saw ur typing indicator i knew exactly what u were gonna say

austere talon
#

what if you had to solve a coding challenge to access this channel

#

you get a Javascript code snippet and have to answer what it does

dire trench
#

make it a trick question
there will be a misspelling in the code

#

like this trolley

topaz thistle
#

Make it UC File Analyzer style and given several asm snippets

dire trench
#

ask js interview questions 💀

topaz thistle
#

Can we implement that

#

Like right now

crude hearth
#

medium difficulty

#

actually does leetcode have api

livid heath
#

make it ask for new {x}DB plugin ideas

crude hearth
#

horror just had the idea

#

an api validate users via code problem

austere talon
#

CAPTCHA BUT WITH CODE PROBLEMS

#

let's goo

dire trench
#

using us to train vencord copilot

void echo
#

we can all be prompt engineers 😍

charred monolithBOT
charred monolithBOT
misty raptor
#

make them debug

lime stone
austere talon
topaz thistle
misty raptor
#

also what’s the criteria for having a color role 💀

spark pivot
austere talon
shy veldt
topaz thistle
#

We can either have higher glibc requirement or higher libstdc++ requirement

lime stone
long stream
# shy veldt

i hate that all of the images are ai generated

topaz thistle
long stream
#

no wonder the captcha is getting shittier and shittier

austere talon
#

well installing more recent glibcxx is doable

long stream
misty raptor
austere talon
#

glibc you just can't

topaz thistle
#

yeah

dire trench
# shy veldt

i hate the ones that say click all squares with the sign
am i supposed to click the squares with slivers of the sign too?

topaz thistle
lime stone
#

say hi

dire trench
misty raptor
#

chat is this real

dire trench
#

its whatever the lowest amount github lets u donate

misty raptor
#

oh ur serious

austere talon
topaz thistle
#

Bruuuuh

misty raptor
#

i have a pr open

#

and have made comments and reviews

topaz thistle
#

I got fooled bad

misty raptor
#

on peoples thingies

#

many such users are looking forward to the incorporation of keywordnotify

dire trench
charred monolithBOT
shy veldt
#

virus

charred monolithBOT
#
[Vencord/venmic] New tag created: v2.1.3
misty raptor
#

the keyword really wants to notify

dire trench
#

the char really wants to counter

misty raptor
#

true...

lime stone
charred monolithBOT
lime stone
#

/hj

misty raptor
spark pivot
#

it is

#

(from a whitename)

misty raptor
#

well that’s not cool if someone can’t control it

spark pivot
#

well that sucks ig

dire trench
#

but you can

spark pivot
#

deal with it

misty raptor
#

no

lime stone
spark pivot
#

if you are offended by someone saying your discord name color is white then you must explode

dire trench
#

is used jokingly tho

#

cuz 99% of white names are asking for support in general

misty raptor
#

i mean it’s used “jokingly” but that doesn’t stop people from internalizing actual disdain

spark pivot
#

i've been here for a while and I don't ask for support because i have basic problem solving skills

misty raptor
#

we have seen this kind of joking-bigotry form on corners of the internet and by the end it’s never joking anymore

#

something something poe’s law idk

lime stone
#

how is it bigotry xD

misty raptor
#

well obv it’s not 1:1 comparison

#

there’s a difference in severity and scale

#

but the underlying structures have similarities

#

non-representational subsection of wider population does annoying thing, blame is attributed to the entire population, and a self-fulfilling prophecy forms where all dumb behavior is attributed to the trait

#

(real)

lime stone
#

lol it's just discord roles

misty raptor
#

smh let me do critical analysis on pointless things

spark pivot
#

you are analyzing a word used to describe people who don't have a role in a discord server

lime stone
#

you can have the infinite i'm new here role

misty raptor
#

and it was fun to do

#

so idk what the problem is

spark pivot
#

it isn't a problem

#

just saying

misty raptor
#

god forbid women have hobbies

dire trench
lime stone
misty raptor
#

i agree with that

topaz thistle
#

hcaptcha just straight up sends me to captcha hell even though I'm doing the captchas 100% right

misty raptor
#

is there a plug-in yet that will put messages longer than the char limit into a txt file

#

or is that a discord built in feature

#

if not maybe i make one

topaz thistle
#

builtin

dire trench
#

thats a built-in feature

misty raptor
#

damn

#

m💀

lime stone
#

what does m💀 mean

misty raptor
#

i mistyped m

dire trench
#

m💀

lime stone
#

m

misty raptor
#

ok i have an idea for a plug-in i might make

#

dm typing notifications

#

like snapchat

#

it’ll probably be someone’s jam

austere talon
spark pivot
misty raptor
#

twas an exaggeration 😭

austere talon
#

YES IT'S SO ANNOYING

verbal pumice
misty raptor
dire trench
dire trench
#

no longer a filthy white

void echo
misty raptor
#

see now that’s crazy

dire trench
void echo
charred monolithBOT
#

I agree that Linux Vesktop should be using xdg-desktop-portal GlobalShortcuts.
Compared to my previous suggestion, it has the benefit of being Desktop Environment-agnostic. It would also make it compatible with Flakpak, for the folks who use that. The DBus interface is at org.freedesktop.portal.GlobalShortcuts.

It would be nice to have it implemented in Electron as a part of the existing global shortcuts API, then Vesktop could use it and be OS agnostic.
https://github.com/elect...

charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Rich presence doesn't work on Linux. Applications can see Vencord's ipc socket and will connect to it, but Vencord's rich presence handler errors when this happens:
image
index.tsx here leads to (vencordDesktopRenderer.js.map)/src/plugins/arRPC.web/index.tsx

Rich presence doesn't work on Linux. Applications can see Vencord's ipc socket and will connect to it, but Vencord's rich presence handler errors when this happens:
image
index.tsx here leads to (vencordDesktopRenderer.js.map)/src/plugins/arRPC.web/index.tsx

charred monolithBOT
charred monolithBOT
dire trench
#

any way to disable a settings based on the current state of a SettingBooleanComponent?

dire trench
#

kinda scuffed how i have to save settings, close the settings modal, then reopen the settings modal in order for the setting to no longer be disabled

tidal goblet
#

i swear somebody asked this exact same thing a bit ago

#

onChange iirc

dire trench
void echo
#

cz its the almbum cover

#

of an album i like

charred monolithBOT
charred monolithBOT
#

Ok so I've tested today and it seems to be what's on screen, for some reasons Discord struggle to send it correctly as when there aren't that much movement it's smooth but when it's moving a lot it's a literal slide show (see video)

I also tried my theory about the focused window with this little code in the console :

document.hasFocus = function() {
    return true;
};

But it seems that the preview is smooth even thought the other client receive a slide show... So it ha...

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

Bad Starts

None

Discord Errors

None

#
Bad Patches

IgnoreActivities (had no effect):
ID: 52028
Match: /LISTENING.+?}\),(?<=(\i)\.push.+?)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=renderLevel:(\i\(this,\i\)\?\i\.Show:\i\.WouldShowIfUncollapsed).+?renderLevel:).+?(?=,)/

ShowHiddenChannels (had no effect):
ID: 319839
Match: /(?<=activeJoinedRelevantThreads.+?renderLevel:.+?,threadIds:\i\(this.record.+?renderLevel:)(\i)\..+?(?=,)/

PinDMs (had no effect):
ID: 631316
Match: /===\i\.DMS&&0/

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=

Experiments (found no module):
ID: -
Match: ("showNewSearch")

Bad Starts

None

Discord Errors

None

primal idol
primal idol
charred monolithBOT
charred monolithBOT
limber skiff
spark pivot
#

that sucks

#

can't help you much if you dont tell us anything

charred monolithBOT
charred monolithBOT
tidal cloud
#

you should use volta/fnm/nvm for managing node versions

real zenith
#

Can I open a yes/no modal using the Vencord API exposed in the console?

tidal cloud
#

yes

crude hearth
charred monolithBOT
charred monolithBOT
charred monolithBOT
rugged plaza
#

Hello!

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
void echo
#

@verbal pumice how am i sposed to test my fix??

verbal pumice
#

i dont really see why that'd need testing tbh, if it replaces the code like it did before then it works

void echo
#

Idk if it replaces like before cz i cant actually find whats its sposed to be patching properly

#

they've changed it

#

a lot

verbal pumice
#

oh

void echo
#

That part of the patch doesnt even seem to apply to like 90% of people too

#

Its been broken for days now and thats the first guy whos had an issue

verbal pumice
#

well then no idea

#

just, poke around and hope it works i guess
if it doesn't affect 99% of people neither will the fix

void echo
#

I js cant really tell if itll work or not

fading steppe
#

does anybody know roughly how often do new plugins get merged into the main build?

fading steppe
#

good answer

void echo
#
{
    match: /section === l\.DMS/,
    replace: "section -1 === l.DMS"
},
pine topaz
limber skiff
#

that has been fixed already

fading steppe
void echo
#

the PinDMS?

limber skiff
#

yes

#

everything broken in the reporter is fixed

#

in dev

void echo
#

Why's it not in main yet

grave mangoBOT
limber skiff
woeful sable
#

are the vc join and leave sounds client side?
if yes would be great to have a silent mode

#

or if they are server side yet changeable it's even better

limber skiff
verbal pumice
livid heath
#

500% still cannot make it out husk

woeful sable
limber skiff
#

ohh I see

#

no

woeful sable
#

no what

#

not possible?

livid heath
#

join sounds are client side

charred monolithBOT
dire trench
#

is hardware accel enabled on vesktop?

#

i get the craziest artifacts

#

ive always been getting them

#

only when watching screen shares tho

#

i have had hardware accel off on everything chromium based since a win 11 dev channel insider build broke shit a year ago

#

if i watch a youtube video with hardware accel my system unrecoverably freezes

void echo
#

I don't think it can use accel for streaming

dire trench
void echo
#

Oh that's weird

charred monolithBOT
#

So, I built from source in the hope of achieving streaming audio on Steam Deck, but Vesktop says it cannot find pipewire, which Steam Deck has by default.
Since flatpak isn't available, I'm running AppImage through AppImageLauncher.
I ran Vesktop in the console to see if it outputs anything and that's the result:

Failed to initialise venmic. Make sure you're using pipewire Error: Cannot find module '/tmp/.mount_VesktoDO4Ekq/resources/app.asar/static/dist/venmic-x64.node'
Require st...
dire trench
#

i need container queries but regular discord is on chrome 108

#

should be supported right?

#

yeah nvm

elder garnet
#

speaking of merging USERCSS!!!!

charred monolithBOT
#

Just download the AppImage from the latest release right-click it in Dolphin, select Add to Steam and you're done. I have personally created an Applications folder in my home directory, moved it in there as Vesktop.AppImage and customized the Steam entry afterwards using Decky's SteamGridDB plugin.

As for building, I didn't build Vesktop on the Deck itself but on my PC
Rough instructions for this:

git clone https://github...
livid heath
#

steam deck uses kde?

topaz thistle
#

Yes

livid heath
#

til

charred monolithBOT
#

Just download the AppImage from the latest release right-click it in Dolphin, select Add to Steam and you're done. I have personally created an Applications folder in my home directory, moved it in there as Vesktop.AppImage and customized the Steam entry afterwards using Decky's SteamGridDB plugin.

As for building, I didn't build Vesktop on the Deck itself but on my PC Rough instructions for this:

git clone ...
#

I removed venmic from optional to see some more output and you might be right, guess VM it is then:

`node_modules/@vencord/venmic: Running install script, failed in 16.7s
node_modules/@vencord/venmic install$ pkg-prebuilds-verify ./lib/options.js || cmake-js compile --CDvenmic_ad…
│ info TOOL Using Ninja generator, because ninja is available.
│ info CMD BUILD
│ info RUN [
│ info RUN 'cmake',
│ info RUN '--build',
│ info RUN '/Users/xxxxx/Documents/Vesktop/node_modules/@vencord...

wet trellis
#

i'm not sure if this is the right channel, but does anyone know what happened to the reviewdb plugin?

topaz thistle
#

vns

nimble pendantBOT
wet trellis
charred monolithBOT
#

You don't need to compile venmic from source though, simply installing the node package should usually be enough as it contains arm as well as x86 builds already

Won't it try to build it anyway and fail? I'm not exactly sure how to install it without compilation 🤔

The npm package already contains pre-builts which normally shouldn't be rebuilt - However I suspect the recompilation may occur because of this:

│ ninja: error: loading 'build.ninja': No such file or directory
...
livid heath
#

how do i set an "on cancel" handler for plugin settings so my plugin reverts anything it has written to the DataStore

charred monolithBOT
lime stone
charred monolithBOT
pine topaz
charred monolithBOT
void echo
#

It was an arduous process

#

To get that slap to the quality it needs to be

pine topaz
#

i branched it off of my other PR then removed the changes, then realized somehow my fork's webpack shit is fucked up, so i had to fix that

pine topaz
#

@void echo where

void echo
dire trench
charred monolithBOT
woeful sable
#

is it possible to make like a silent mode

wet trellis
#

hi, how do I install my own vencord plugin?

dire trench
#

@olive aurora give them <@&1175181271010390067>

olive aurora
#

no

elder garnet
olive aurora
#

vencord is a virus

livid heath
#

it logs your token

turbid hatch
charred monolithBOT
elder garnet
#

will the quickcss window understand nested selectors and stuff at some point?

dire trench
#

skull

wet trellis
livid heath
dire trench
#

it is related

turbid hatch
#

its not really

#

this is where development is meant to happen, not to post screenshots of people who have strange ideas

wet trellis
solid granite
turbid hatch
#

you already have a whole plugin framework, so i dont quite understand the purpose of a different injection system

wet trellis
# turbid hatch im not lying, it is strange

for me it's just easier 🙂

  • before using the app I used browser
  • this way I could easily remove/change things
  • i could get easy updates
  • i was using the official extension lol
livid heath
#

vencord plugin patches:

turbid hatch
#
  • desktop wont support it
  • making your vencord instance unstable as fuck
  • ..?
  • you can build your own version of the extension with your changes
wet trellis
dire trench
turbid hatch
#

yes, actually, vencord doesnt support what you're doing at all

limber skiff
#

does anyone know if discord stores the call time in the desktop app

dire trench
#

you can easily remove and change things
and you can easily get updates

limber skiff
#

in the mobile one you can view it

turbid hatch
#

you can't dynamically add plugins like that and not expect weirdness, vencord has a very specific set of rules for how plugins work

turbid hatch
#

i think

#

if not then just use vctimer as a base

turbid hatch
limber skiff
#

nono, call timer does it manually when you join

turbid hatch
#

hm

#

i don't think the desktop app does then