#๐Ÿ‘พ-core-development

1 messages ยท Page 124 of 1

austere talon
#

and use it instead of hardcoded main

nimble plaza
#

or make it an esbuild constant

austere talon
#

just edit this

#

replace main with result of that

nimble plaza
#

oki

#

GUH

#

still shows the updates but no update button

#

do what it says :3

#

OH YOURE TALKING TO ME

#

no i dont

#

im dumb

charred monolithBOT
limber skiff
#

@nimble plaza I will merge that into dev and you test

nimble plaza
#

oki

limber skiff
#

it's gonna scream at you that your local copy has more recent commits though

nimble plaza
#

why

#

it doesnt have any

limber skiff
#

doesnt it have the fix you just made lol

charred monolithBOT
nimble plaza
#

nop

#

that was on another branch

#

branch typo blobcatcozy

limber skiff
#

well whatever then you will have to manually pull and build

nimble plaza
#

oh

#

?????

charred monolithBOT
limber skiff
#

lmao

#

we are checking for updates using origin/branch though

#

your origin dev won't have the upstream dev commits

#

so checking wont work

nimble plaza
#

origin is vendicated/vencord for me

limber skiff
#

ohh

nimble plaza
limber skiff
#

makes sense

charred monolithBOT
lime stone
#

on linux i use both

#

actually ctrl+w is used instead of alt+f4

livid heath
#

how do you close tabs in your browser fear

lime stone
#

ctrl+w

livid heath
#

brain.exe has crashed

charred monolithBOT
lime stone
# livid heath brain.exe has crashed

this is like in american english, crisps is chips, chips are fries, jam is jelly, jelly is jello, or the previous three terms are just used interchangably

#

ctrl+w closes a tab or the whole window

charred monolithBOT
lime stone
#

[X] I have read the requirements for opening an issue above

charred monolithBOT
rustic sigil
lime stone
#

@austere talon you might as well post a link to #1765

austere talon
#

what

lime stone
#

CustomSounds

nimble plaza
#

their vencord fork is just loadingquotes changes

charred monolithBOT
austere talon
placid wave
nimble plaza
#

what

#

where

charred monolithBOT
nimble plaza
#

(emoji causes emotecloner max size bad request, leaving it here for later)

royal bane
#

seems to be discord related

nimble plaza
#

hm

austere talon
iron summit
#

how was it uploaded in the first place if its too big for discord

austere talon
#

a long time ago you could make emotes bigggee than 256kb

iron summit
#

ohhhhh

austere talon
#

I have some emotes that are 1mb

nimble plaza
#

can we make it use a lower resolution?

iron summit
#

so it needs a resize

austere talon
#

you'd need to downscale it

#

good luck doing that for gifs

nimble plaza
#

mm

iron summit
#

theres ezgif

austere talon
#

I would personally just keep not supporting them, but maybe show a better error

iron summit
#

free online resize

austere talon
#

explaining why it happens

charred monolithBOT
iron summit
#

its 258ko

verbal pumice
iron summit
#

resized it

#

to below 256ko

#

and it works now

#

added it to my server

#

thanks for the help ๐Ÿ™

nimble plaza
#

since we use gifenc for fakenitro, can we use that to scale it down?

austere talon
#

gifenc

nimble plaza
austere talon
#

it's only encoder

nimble plaza
#

ah

austere talon
#

you'd also need decoder

nimble plaza
#

blehh

austere talon
#

you'd need to decode the gifs, resize the frames with canvas and then reencode

nimble plaza
#

eww

austere talon
#

and optimally do multiple runs to achieve the highest possible resolution

#

or somehow figure out how to do it with math

iron summit
#

seems complicated

#

i think a better error message saying to resize the gif yourself is a better option

nimble plaza
#

i might pr later

austere talon
#

yeah agreed

charred monolithBOT
royal bane
#

are there any emotes that are large in vencord that i can test with

austere talon
#

no

royal bane
#

rip

austere talon
#

it was only possible many years ago

charred monolithBOT
lime stone
#

how can i test fakenitro with nitro

#

๐Ÿ˜ญ

royal bane
#

make new account

lime stone
#

i am curious what works

#

good idea

royal bane
#

or enslave someone

#

cant you also change clientside premium type somewhere

stone horizon
royal bane
#

^

austere talon
#

or just devtools

#

get Current User ().premiumType = 0

lime stone
#

OK it looks like animated stickers are working

lime stone
#

LOL cursed

#

this is without fakenitro - more like fakenonitro

lime stone
#

= 0 breaks file uploads

austere talon
#

huh

#

really?

#

that's strange lol

#

discord moment

lime stone
#

yes

livid heath
# stone horizon

that doesnt work for me, i have to Vencord.Webpack.findStore("UserStore").getCurrentUser().premiumType = <type here>

lime stone
#

it's like it thinks you have nitro type 0 which doesn't exist ๐Ÿ˜ญ

charred monolithBOT
lime stone
#

hm

#

well it doesn't seem to exist on the client

#

IDK ๐Ÿ˜ญ

#

your premium type is null

limber skiff
#

discord code moment

livid heath
#

at this point i just want to completely rewrite the client

limber skiff
#

that makes so much sense, that's why everything kept breaking when I set premium type to 0

livid heath
#

omfg this company

limber skiff
#

horror

#

okay wait for the dev to fix

#

we maintain plugins, not themes

simple surge
limber skiff
#

it's okay

austere talon
charred monolithBOT
oblique belfry
lime stone
charred monolithBOT
woeful sable
#

hypershiggy imdespair
[Vendicated/Vencord] New star added

distant flax
#

did the updater break on dev?

nimble plaza
#

UHHHH

#

@limber skiff NOOKIES

#

I FUCKED IT UP

limber skiff
#

lmao

#

dont worry it's dev

#

we can fuck it up

nimble plaza
#

i thought the git function returned a string waaa

#

OH I NEED .stdout.trim()

#

ill pr

limber skiff
#

nah its fine

#

I will fix

nimble plaza
#

oki

charred monolithBOT
nimble plaza
#

sorry

distant flax
#

no problem haha, just noticed while trying to debug my plugin

limber skiff
#

thanks for reporting lol

charred monolithBOT
distant flax
#

np

charred monolithBOT
charred monolithBOT
limber skiff
charred monolithBOT
austere talon
#

why would role name be blank

limber skiff
#

look at your roles lmao

#

that's how I found the issue

lime stone
#

huh

#

the length can't be zero

#

isn't that role just a space

#

wait how ๐Ÿ˜ญ

austere talon
lime stone
#

how???

limber skiff
lime stone
#

if it's empty it gets reset and the asterisk clearly indicates it needs to have a value

half shell
limber skiff
#

no idea if it's a space or what

charred monolithBOT
half shell
#

\uFEFF

lime stone
#

oh i think the check is client-sided

#

lol yeah you can get a blank role with fetch

limber skiff
#

lmao

austere talon
#

AVERAGE DISCORD

limber skiff
#

broo this bundler uses so much comma

#

all of this and I can't even see the semicolon

charred monolithBOT
austere talon
#

yeah it's annoying lmao

#

tbf those are all variables

limber skiff
#

ye

#

nice

#

got it to render without the rest

charred monolithBOT
mortal fractal
#

i do it all the time when i dont care to find the return/a break in variables

limber skiff
#

I just inserted my thing there though

mortal fractal
#

i mean if you're adding to props anyways yeah that works

limber skiff
#

ye

austere talon
#

what i did in some patches was changing it to themeOverride_$: r = myOwnValue

rigid viper
#

.<

austere talon
#

forcing r to always be my own value

charred monolithBOT
charred monolithBOT
dire thicket
#

betterfolders stll dead?

jovial forge
charred monolithBOT
jovial forge
nimble plaza
#

oooo new plugin

#

custom app icons

charred monolithBOT
#

Hello,

That's a native issue too but I may have a suggestion to make it work.

When you're streaming on discord (at least on wayland via xwayland or pipewire for now) the framerate of the app or game are extremely slow. But when discord is the focused window it's smooth again.

My suggestion would be to have a toggle (via a plugin or directly integrated) to keep the screenshare preview without having the window focused. (Disabled by default because I don't know it this issue affect wi...

limpid badger
#

sounds alright imo

nimble plaza
#

guh

#

absolutely not

#

im on mobile so cant review but can someone yell at them for that patch

junior olive
#

it's fine but who is using the app icons feature on desktop to begin with

#

๐Ÿ’€

nimble plaza
#

the replacement is a function

#

OH WAIT I MISREAD

#

nvm theyre fine

junior olive
#

it makes sense but it's bad but it MAKES SENSE

#

there's better ways to do imo but

nimble plaza
#

yeah

#

ill review it later

junior olive
#

good

limpid badger
shy veldt
#

ofc its cash grabbing

#

duh

austere talon
long stream
#

you could say the same about the banger plugin

jagged cloak
#

yeah true

#

banger a real banger

wooden dawn
#

I'm having a smooth brain no wrinkles moment - I vaguely recall seeing a doc about setting up and creating a vencord plugin but I cannot find it for the life of me

austere talon
#

docs folder

wooden dawn
#

oh my god im dumb

#

thank you

dire trench
#

fake profile colors and effect using only 13 3y3 chars

#

there are 126 possible 3y3 values
im using the 126th as the separator and encoding the base10 profile colors and profile effect id to base125

charred monolithBOT
mortal fractal
dire trench
#

discord counts it as 38 chars

mortal fractal
#

exactly

dire trench
#

im just comparing it to the other plugin

#

anyone know why navigator.clipboard.writeText() converts \u{0000d} to \u{00020}?
it seems to only be happening with this character
not using this to copy in the plugin, just using it to test

austere talon
#

this is such an oversight

#

they should perm whitelist debugger scripts imo

dire trench
austere talon
#

ya

#

ik

#

it copies a newline for me lol

charred monolithBOT
limber skiff
#

I have something to say

woeful sable
austere talon
#

thanks i would have forgot nookies lmao

charred monolithBOT
dire trench
limber skiff
#

I did something

austere talon
#

that shit would have still been there in 2 years

limber skiff
#

GOD THIS TOOK SO LONG

#

I basically rewrote it

woeful sable
dire trench
woeful sable
#

ah

#

i zee

mortal fractal
dire trench
mortal fractal
#

its a cross platform wrapper

limber skiff
#

it uses what discord uses for copying

#

so yeah cross platform

dire trench
#

hopefully whatever that is wont change codepoints

mortal fractal
#

if you're on web it checks queryCommandEnabled("copy") and queryCommandSupported("copy")

#

otherwise it'll use the copy function in DiscordNative

austere talon
#

it uses deprecated apis trol

#

just try it

mortal fractal
#

yeah it doesnt use the modern clipboard api

#

otherwise it uses DiscordNative.clipboard.copy

#

interesting

frail skyBOT
#
Bad Patches

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

Bad Starts

None

Discord Errors

None

limber skiff
#

@austere talon we love

mortal fractal
#

๐Ÿ˜ฉ

austere talon
#

FEAR

mortal fractal
#

firefox does

#

and discord used to parse it

#

endpwn had an install method that abused the fact it parsed it

#

using onload and onerror

#

the onerror would trigger when parsing the image for the upload shelf

austere talon
#

thats what i was about to say

#

isnt it xss potential

mortal fractal
#

yeah it was

#

not anymore tho

#

this was like 2018 so

#

and it also abused the fact that native module require wasnt sandboxed properly

#

thus set the webapp/update endpoint to target for installing endpwn

frail skyBOT
#
Bad Patches

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

Bad Starts

None

Discord Errors

None

limber skiff
#

wait

#

I forgot to add predicate to some patches

charred monolithBOT
austere talon
#

yop

#

ill check it out soon

mortal fractal
#

idk when im going to fix highlight pr for rspack

#

cause i also have to fix folder structure

dire trench
#

Clipboard does the same thing

#

\u{0000d} gets changed to \u{00020}

#
import { Clipboard } from "@webpack/common";

const num: bigint = 1139323101881061467n;
const base125Num: Array<number> = [];
for (let i: bigint = num; i > 0n; i /= 125n)
    base125Num.unshift(Number(i % 125n + 1n));

const testString: string = String.fromCodePoint(...base125Num);
for (let i: number = 0; i < testString.length; i++)
    console.log(testString.codePointAt(i).toString(16));

Clipboard.copy(testString);
austere talon
#

why the redundant type annotations fear

dire trench
#

i like types

#

it correctly prints d at index 6 but \u{00020} gets copied to clipboard

#

though if i do Clipboard.copy("\u{000d}") it works

#

this makes 0 sense

austere talon
dire trench
#

no way im gonna manually build strings of escaped codepoints

#

thats so scuffed

charred monolithBOT
dire trench
charred monolithBOT
#

The Vesktop app seems to ignore Equalizer APO settings after joining a VC. I can open the settings and hear myself with the Equalizer APO properly processing my audio until I go into a voice channel, after this the Vesktop app starts to use unprocessed audio even after a restart.

Another audio related thing I've noticed is that it shows microphones twice in the Vesktop app, while only showing one in the official app. Not sure if that is related.
![ะธะทะพะฑั€ะฐะถะตะฝะธะต](https://github.com/Vencord/V...

austere talon
#

should fix this undefined

dire trench
#
import { Clipboard } from "@webpack/common";

const num: bigint = 1139323101881061467n;
const base125Num: Array<number> = [];
for (let i: bigint = num; i > 0n; i /= 125n)
    base125Num.unshift(Number(i % 125n + 1n));

const testString: string = String.fromCodePoint(...base125Num);
let stringToBeCopied: string = '"';
for (let i: number = 0; i < testString.length; i++) {
    const h: string = testString.codePointAt(i).toString(16);
    console.log(h);
    stringToBeCopied += "\\u{" + h.padStart(5, "0") + "}";
}

Clipboard.copy(eval(stringToBeCopied + '"'));
#

not even this works

charred monolithBOT
#

This is not a bug. This happens b/c whenever dev tools is open, discord hides your token to prevent dumb users from being scammed. if your discord reloads for any reason (such as running out of memory due to having the dev tools open), discord can't find your token and you are logged out.

Fix: enable the NoDevtoolsWarning plugin

Enabling the plugin does in fact prevent forced log outs, however dev tools are still inaccessible given that Discord will reload a few seconds past relea...

dire trench
austere talon
#

actually wrong autumn

cunning canyon
#

ah
so it's just discord broke it

charred monolithBOT
jagged cloak
#

elements tab is just broken cause discord stupid lol

austere talon
#

seems to be windows only issue

#

doesnthappen for me lol

jagged cloak
#

yeah

#

whatever they did

white bear
#

doesnt happen on vesktop but it does on vencord

charred monolithBOT
proper badge
#

Hi Noah, this seems to be a function that captures the screen on an electron application however Discord's client doesn't make use of getUserMedia, they use their native node module instead

austere talon
#

to answer your question: no there isn't, and it doesn't seem possible without replacing discords electron with standard electron

#

discord removed getUserMedia from their electron fork, so it is not available on discord desktop. unless there is a way to do it without it, it likely isn't possible

#

in any case, vesktop strives for (mostly) feature parity with discord desktop, so you don't really notice you're not using the desktop app

there are only a few features not ported, for example global keybinds

junior olive
#

venmic for macos

austere talon
#

does discord support audio on mac

junior olive
#

kinda

#

it's annoying and lame

austere talon
#

I heard you need a kernel module or smth

junior olive
#

yeah they have a extension that adds it

#

idk if its a kernel or system

#

it's lame tho bc it's not needed

austere talon
junior olive
#

nuh uh..

austere talon
#

Also need to figure out windows audio share soon

proper badge
austere talon
#

the quality is so bad for some reason

proper badge
#

they have some patches that they apply on every release

glass elm
#

hi, is it possible to make plugin that improves the perfomance of discord? Make it less cpu usage and etc?

austere talon
#

no

#

use vesktop or discord in your web browser

proper badge
#

but why would you use getUserMedia on the client? the biggest advantage of the client is it not using conventional webrtc

junior olive
#

nvm idgaf ab venmic on macos anymore

#

i updated the kernel extension

#

its still lame but it works

glass elm
junior olive
#

obs captures audio w/o it

#

and discord doesn't even ship a updated version of it

austere talon
junior olive
#

so apple silicon users need to get it directly from rouge amoeba

austere talon
#

do you have any better idea?

junior olive
#

venbot not support

frail skyBOT
#
Bad Patches

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

Bad Starts

None

Discord Errors

None

proper badge
#

they managed to add support for wayland and there's also an experimental branch for audio

#

my idea was rewriting the whole discord-voice module

white bear
#

btw is this a vesktop bug that the text just appears behind the titlebar when using transparancy(for context this isnt a real mac os titlebar its done with css)

austere talon
frail skyBOT
#
Bad Patches

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

Bad Starts

None

Discord Errors

None

white bear
proper badge
#

my idea was to rewrite the module from scratch

#

this was as far as I got

austere talon
proper badge
#

I haven't worked on it since january tho

dire trench
austere talon
#

your naming is really strange

#

iD3y3

dire trench
#

yeah im not proud of that variable name

#

i wanted to use i for the index of the for loop

#

but i also needed an index variable for the array

#

this took me 12 hours ๐Ÿ’€

proper badge
# proper badge

this is basically a rewrite of the module, so far it has the basic skeleton, some stubs, it can list input, output and video input devices, it can ping discord's servers and rank them and it can also capture a webcam and present on video settings with 2 ways. What it can't do is everything else

livid heath
austere talon
#

stock discord issue.

charred monolithBOT
limber skiff
#

I did this on mobile

limber skiff
#

lets see if I got it right

proper badge
#

it basically handles everything when it comes to calls

limber skiff
#

shit I forgot to uncomment

knotty narwhal
#

anyone know name of watermark in top left corner

proper badge
#

Might seem stupid now but I didn't know much about it when I made it

charred monolithBOT
limber skiff
#

@austere talon can you test if that option works for me?

austere talon
#

no lol

#

im in bed gonna sleep now

#

sorry

limber skiff
#

it's okay, thanks

charred monolithBOT
#

When running under game mode, if Vesktop can successfully determine its GameID, this will prompt the user to install a steam input layout that allows you to control Discord using the Steam Deck controls.

Also, when Vesktop detects it is running under game mode (SteamOS = 1 && SteamGamepadUI = 1), apply a steamos-specific keyboard fix, and adjust the splash to fit the UI scaling better.

There's a lot of slightly confusing code, and some stuff is in places i couldn't fully decide on on my own...

charred monolithBOT
charred monolithBOT
rugged spire
jagged cloak
#

horrrooorrrr

#

wedlock

#

oh god this is like stupiditydb for discord edating

rare shale
jagged cloak
#

you will be mantikafanesi soon

olive aurora
#

not the eslint ignore ๐Ÿ˜ญ

rare shale
jagged cloak
#

not the guh()

olive aurora
#

you are both the same people

rare shale
olive aurora
#

insane

jagged cloak
#

@hidden perch explod

#

probably wrong nea

rare shale
#

yeah wrong nea

olive aurora
#

wrong nea

rare shale
#

@hot pecan ๐Ÿฅฐ

olive aurora
#

poor wrong nea

jagged cloak
#

kid named nea

topaz thistle
charred monolithBOT
oak hull
junior olive
#

like why does the func u use to get the user's auth directly open the modal to auth

charred monolithBOT
patent flint
#

@cunning canyon considering you're the pro here. Do you think, this way to fix it is acceptable? It was something with the animation i suppose

charred monolithBOT
reef summit
#

sry if this is the wrong channel but how do i enable transparency on themes

reef summit
#

ok thanky

patent flint
#

You have to know css

reef summit
#

oh

reef summit
#

i was using that website online that edits stuff but i gave up rly fast and just decided to use dark+

#

purple cool so idm

patent flint
charred monolithBOT
#
[Vencord/venmic] New tag created: v1.7.0
patent flint
limber skiff
#

hmm

#

I think it's not the animation fault though

#

it's it combined with something else

patent flint
limber skiff
#

the something else is the issue I haven't figured it yet

patent flint
limber skiff
#

either way ty for helping

#

if I can't solve it I might use your solution

cunning canyon
#

it can freeze with only sideBar on alone
disable any of 1st 4th 6th 8th 11th patch stop it
exclude 1st 6th 11th, those just disable sidebar
4th is just for export value so i think issue on 8th patch

charred monolithBOT
turbid hatch
#

thanks git for the shit pr title

#

smh

charred monolithBOT
topaz thistle
#

@austere talon Do you know if the native module is contained in the Discord binary or if it is in a separate file?

turbid hatch
#

%localappdata%/Discord/app-xxxxx/modules

#

they're .node files

topaz thistle
#

Happen to know where they are on linux

turbid hatch
#

wherever your app installs!

topaz thistle
#

I have no modules folder in /opt/discord

turbid hatch
#

check your .config folder or equivalent

#

my best guess

topaz thistle
#

Good call

#

There's a log at least

#

And the modules

#

Nice

turbid hatch
#

interesting they're put there, wonder if its an autoupdater thing

topaz thistle
#

Happen to know if the screenshare audio stuff is in the voice or rpc module?

turbid hatch
#

vvvvvvvvvoice

#

i believe

#

voice should handle anything relating to voice chat natives

austere talon
#

they can't write to discord dir

austere talon
#

rpc is game activity and such

topaz thistle
#

And does anyone by chance know which functions are responsible for the screen-share audio stuff?

austere talon
#

you can require them in console to inspect

#

DiscordNative.nativeModules.requireModule("discord_voice")

topaz thistle
#

I can see them in Ghidra as well xd

topaz thistle
#

discord::media::soundshare

That's probably the namespace we're looking for

#

I could reverse it and detour it at runtime when venmic is loaded to implement our own logic there

#

discord::media::soundshare::AudioDevice::Attach(unsigned int)

This is probably the method that's used to start the screenshare, not sure if the id that's passed there is useful for us, I can debug that when I'm at my PC at home

#

If that is indeed the method called for starting the audio share I could hook it and just start venmic

#

@austere talon Loading the Node Module in the desktop client is feasible right?

topaz thistle
#

Perfect

#

Why the fuck are there 3 exports for the destructor of AudioDevice lmao

charred monolithBOT
austere talon
#

desktop works quite the same as vesktop, you'd also need to just use ipc

topaz thistle
austere talon
topaz thistle
austere talon
#

ya that's super easy

topaz thistle
#

Nice, I'll look into it then

austere talon
topaz thistle
#

Alr nice

#

Will look into it when I find the time ^^

#

But if it's as simple as hooking the attach method that should be a quick implementation

charred monolithBOT
austere talon
topaz thistle
#

Why would you hide the UI for venmic if a virtual device is selected

#

I guess you could add a warning box above the venmic stuff stating that you probably don't want to use both at the same time

hot pecan
tacit marten
#

Can I get some help with updating my PR for the new Discord update?

cinder moon
#

debian repo wen

tacit marten
#

Mine is a plugin that edits the loading quotes, but the problem is that I need help with using an async function to assign a value in normal (synchronous) context.

charred monolithBOT
tacit marten
#

._loadingText=function(){
How can I replace this with a call to an asynchronous function?

#

Before the update, I used Promise .then(), but this time it casues a react error.

austere talon
charred monolithBOT
dire trench
#

discord-types is so outdated :(

elder garnet
#

the platformindicator plugin doesnt update in chat for some people, until you click the profile and load it, is it possible to force it to update?

elder garnet
#

LMAO

topaz thistle
#

At least the module has a lot of symbols which makes reversing easier

#

The module was compiled on Ubuntu 7

#

Holy fuck

long stream
#

are they ok do they need a hug

cunning canyon
#

ven rejected it

tacit marten
lime stone
#

hm

#

where were you putting .then?

tacit marten
lime stone
#

i looked at that but it's not totally clear

#

return e[o.random(n.length - 1)].then?

tacit marten
lime stone
#

well you matched the random

#

hm, then you look for a semicolon, but idk where it would have been in the previous build ๐Ÿ˜ญ

tacit marten
#

The important part (currently) is this._loadingText=function() {
Vee changes it by adding return self.quote like this:

this._loadingText=function() {
return self.quote;
[rest of default code]
}
lime stone
#

oh, i'm stupid

tacit marten
#

Anyway, I hope you now understand what my problem is.

tacit marten
#

Since the function returns a promise.

#

Mine uses fetch, which is async, to get a random fact from Wikipedia.

lime stone
#

what did the patched code look like before

tacit marten
#

Before, I did something like this:
;$self.quote().then(quoteText => somvariable._loadingText = quoteText);

#

The semicolon is there because it was just a part of the code? As in, it was like ;somevariable._loadingText=someOtherVariable;

#

Hence it was easy to just replace someOtherVariable and use .then().

#

I hope I am making any sense.

#

Right now, it is included in an array, if I understood the code properly.

#

A constructor initializes the variables in an array.

tacit marten
tacit marten
lime stone
#

so maybe make the function return this.randomQuoteLoadingText or something

charred monolithBOT
lime stone
#

then you can set that

tacit marten
lime stone
#

this._loadingText = function() { return this.randomQuoteLoadingText; }; $self.quote().then(quoteText => this.randomQuoteLoadingText = quoteText);

charred monolithBOT
tacit marten
tacit marten
#

self.quote() is an async function.

#
async quote() {
  return quoteText
}```
`quoteText` is the value extracted from `fetch()`'s json.
lime stone
#

nvm, im stupidยฒ

#

your old code should work

#

something very small probably changed

tacit marten
lime stone
#

what is the error

tacit marten
#

Any clue how to get the proper error?

tacit marten
#

Just tell me how to get the proper error and I'll send it here.

lime stone
#

it usually has a link, doesn't it?

tacit marten
#

One sec please, let me reproduce.

charred monolithBOT
tacit marten
#

Btw in this case, I'll have to replace the whole existing function because it will be obsolete.

#

Aka use this rule:
match: /(.{0,10}\._loadingText)=function\(\)\{.+\}/

lime stone
#

are you sure that matches the function?

charred monolithBOT
lime stone
#

that will match past the function ๐Ÿ˜ญ

tacit marten
lime stone
#

if it's greedy it will swallow other functions

tacit marten
lime stone
#

if it's lazy it might get stuck on something inside the function

tacit marten
#

How to make it lazy and not greedy?

#

Add ??

lime stone
#

yes

tacit marten
#

match: /(.{0,10}\._loadingText)=function\(\)\{.+?\}/,

#

Better?

lime stone
#

then it might stop before the end of the function

tacit marten
#

Yup, it does.

lime stone
#

so try putting random

charred monolithBOT
lime stone
#

{.+?random.+?} ๐Ÿ—ฟ that's ugly but it should work

tacit marten
lime stone
#

makes it work some of the time

tacit marten
#

Btw another and cleaner fix is to change it to }(),.

lime stone
#

it matches the call to random

tacit marten
#

Updated:
match: /(.{0,10}\._loadingText)=function\(\)\{.+?\}\(\),/,

#

Time to test.

#

Now I get this:

#

Current replacement rules:

replacement: [
            {
                match: /(.{0,10}\._loadingText)=function\(\)\{.+?\}\(\),/,
                replace: "$self.quote().then(quoteText => $1 = quoteText),",
            },
            {
                match: /(.{0,10}\._eventLoadingText)=function\(\)\{.+?\}\(\),/,
                replace: "$self.quote().then(quoteText => $1 = quoteText),",
                predicate: () => settings.store.replaceEvents
            }
        ]
#

}(), should match the ending of the function.

#

Tried testing the match on a regex site, looks good, thankfully.

#

Actually turns out it matches earlier than it should.

#

Now it magically works, thankfully!

#

Thanks for the help!

#

Had to use Notepad++ to format the code to be able to properly read it, how the #%&#$ do you format it in VS Code? When I paste the minified code, it just LAGS.

austere talon
#

what

#

devtools can format code for u

tacit marten
limber skiff
tacit marten
#

Btw the bot apparently doesn't include force pushs.

#

I mean the GitHub webhook.

turbid hatch
#

it does

charred monolithBOT
turbid hatch
#

it doesnt log your PRs

#

that would involve us leaking our webhook info to your forks, which is a bad idea

tacit marten
turbid hatch
#

y

#

yes

#

your commits are made on your fork

#

not our repo

tacit marten
#

Okay I guess I am dumb.

#

My bad.

tacit marten
#

Didn't notice that button before.

charred monolithBOT
turbid hatch
#

the notifications are done through github's notification system - our repo has the notification hook, yours won't, so when you push code we don't get told about it because your PR's commits is hosted on a different repo

tacit marten
#

My bad.

#

Got it, thanks for the explanation!

charred monolithBOT
topaz thistle
#

The JS-Code on Linux doesn't even call into the native module on Linux (at least for the Screenshare part, for audio it obviously does)

So to debug this there'd need to be some serious patching to the JS side and I'd probably need the JS-Code that's loaded on the Windows client to cross reference some stuff

(I've enabled soundshare in the index.js of the module, so this seems to not impact the other loaded js code in any way)

#

This new Media Gallery thing looks so fucked lmao

charred monolithBOT
topaz thistle
summer hull
#

i got a plugin idea that could be useful

charred monolithBOT
nimble plaza
summer hull
#

they closed it

austere talon
#

WHY IS IT ZOOMING IN LIKE THAT

#

HORRID

charred monolithBOT
lime stone
charred monolithBOT
woeful sable
lime stone
#

it shouldn't be

#

it looks like multiple images to me

austere talon
#

IT DIDNT SHOW ME IMAGE 2 AND 3 WTF

lime stone
#

diskord moment

woeful sable
topaz thistle
#

Instantly enabled Disable Mosaic lmao

austere talon
#

discord moment

topaz thistle
#

Would you be willing to help me dig through that?

#

I can reverse the native stuff

#

Just need to get Discord to actually call it lmao

austere talon
#

the audio stuff?

topaz thistle
#

the screenshare stuff yeah

midnight raven
#

happens on stock discord too

#

beautiful

topaz thistle
#

diskot moment

proper badge
#

hey all

rancid dragon
#

*hey y'all

proper badge
#

I smell soundshare talk

charred monolithBOT
austere talon
#

i have as little of an idea as you

#

we'd both have to look into it

topaz thistle
#

Yeah

proper badge
#

what's the issue?

topaz thistle
topaz thistle
austere talon
topaz thistle
#

Ah lmao

proper badge
#

for screenshare

topaz thistle
#

Yes, all the functions that would signal that soundshare is supported are hard coded to error out

#

(In JS)

lime stone
#

vencloud + firefox + violentmoney nyaboom (I don't know where the problem is)

tacit marten
tidal cloud
# charred monolith

any reason why telemetry is opt in on next restart? I understand it's very little but it just reads like "oh so we are going to collect data about you next time, unless you do something it about it lol"

charred monolithBOT
turbid hatch
#

that's if it gets merged

junior olive
#

yah

lime stone
#

you can put that in the pr

turbid hatch
proper badge
turbid hatch
#

i dont quite understand how that is a bad read

#

it's more ethical than any telemetry solution i've ever seen

lime stone
turbid hatch
#

we aren't constantly sending data

tidal cloud
#

in my opinion telemetry should be very opt in, like if the user decides one day

turbid hatch
#

we send it once after startup and it's over

charred monolithBOT
turbid hatch
lime stone
#

why not send it once when you accept and once on startup from then on

turbid hatch
#

because it's easier just to say "hey we'll send telemetry next time if you don't turn it off"

junior olive
#

Yeah this is harmless telemetry

turbid hatch
#

..how

#

we're informing you of its existence, we havent sent anything yet, we'll send something next time if you leave it on

#

is it the wording?

junior olive
#

Lewi just turn telemetry into a userplugin /j

lime stone
#

if you leave it on

#

๐Ÿ˜ญ

turbid hatch
#

???

#

yes thats the point

#

you get an option to turn it off

#

before we send anything

lime stone
#

that will make people feel like you are taking advantage of laziness

turbid hatch
#

and if you dont turn it off

charred monolithBOT
tidal cloud
turbid hatch
#

if you're that lazy that you cant click two buttons to turn it off then god help you when you want to add a theme that takes more than that

#

i literally give you a link to settings, and then it's there in the settings where to turn it off

#

i dont understand how i can make that any easier

#

hm

#

oh i know

lime stone
#

just say

do you want telemetry?
yes | no

turbid hatch
#

i could make it show the two buttons

#

yeah

lime stone
#

shrimple as that

#

like atom

turbid hatch
#

that'll work

topaz thistle
tidal cloud
#

I'm ok with telemetry personally, just that starting to probe on next restart seems fishy to me

turbid hatch
#

ah but what if you dismiss it

junior olive
#

ok but use the power of Jedi mind tricks and have it be no / yes with no grey and yes green

turbid hatch
junior olive
#

we all know what most users will do with that

topaz thistle
turbid hatch
#

i would prefer it if software asked me first before sending telemetry

#

rather than sending telemetry then asking me

#

like most software does

#

the "on the next restart" thing is literally developer convenience lol

tidal cloud
#

wait sorry worded it wrong

calm wharf
#

It's the fact it's not opt in - yes it's better than telling you after the fact, but it's still not opt in

tidal cloud
#

yeah this thanks

calm wharf
#

People don't like opt out for tracking/telemetry

proper badge
lime stone
#

i meant to not ping you in that message ๐Ÿ˜ญ

proper badge
calm wharf
proper badge
#

it will log all functions called

#

and the arguments passed

lime stone
#

some dialogs already do that

topaz thistle
lime stone
#

remove the X

#

don't allow clicking on the background

proper badge
topaz thistle
#

No not the module but the all of the JS that's loaded on the client

junior olive
calm wharf
#

That's basically admitting that you need to be scummy to get data

oak hull
#

is it not simple as asking the user if they consent for data or not

#

and is that not what is happening here

tidal cloud
#

mostly yes and no

proper badge
turbid hatch
turbid hatch
proper badge
#

I think these are the same regardless of the platform

turbid hatch
#

we arent sending a live feed of what you're doing

turbid hatch
proper badge
#

I will take an extensive look on the module in about an hour

turbid hatch
#

it took me a little bit because i've obviously been looking at this one way

proper badge
#

what have you done so far?

turbid hatch
#

the point is that the current notice assumes an implicit "yes" from the user

#

when it should ask explicitly

proper badge
#

how deep are you in?

turbid hatch
#

otherwise what's the point of notifying at all

topaz thistle
topaz thistle
oak hull
calm wharf
turbid hatch
#

heh

#

well vencord wouldnt exist if they could

proper badge
#

I will check again to see if things changed

topaz thistle
#

Yes, the set callback function is indeed called but the callback passed to it is never called nor the failed callback

turbid hatch
#

@tidal cloud @calm wharf how's this

topaz thistle
#

Yep

turbid hatch
proper badge
#

did you declare it as supported on index.js?

#

@austere talon would a #soundshare-dev channel be a good idea?

austere talon
#

you can make a thread if you really want, but i generally just prefer normal channel

#

more accessible

ancient timber
#

hey! I made a lil theme that replaces the default throbber with a lil shiggy gif

#

cant put it in css-snippets

austere talon
#

now you can

topaz thistle