#๐Ÿ‘พ-core-development

1 messages ยท Page 29 of 1

charred monolithBOT
charred monolithBOT
crude hearth
#

FREEEE ???

charred monolithBOT
charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

charred monolithBOT
#

Discord Account

lewisakura#1337

What happens when the bug or crash occurs?

The entire Discord client crashes due to the Card component not being found.

What is the expected behaviour?

The Card component renders.

How do you recreate this bug or crash?

  1. Open Vencord settings or any other page with a Vencord-provided Card

Errors

Error: Vencord could not find the Card Component
    at o (VencordWeb:12:248)
    at Sa (45eb806cdd178e4f93a2.js:1608:54)
  ...
quaint sapphire
#

This tyranny can no longer exist, I have uncovered all your secrets @austere talon

#

You prioritize the PRs of the people that play overwatch with you

#

You are corrupt

#

Therefore I elect myself as the new VEn

#

Yes, not Ven but VEn

#

The superior version

#

/s

charred monolithBOT
#

Discord Account

low#6421

What happens when the bug or crash occurs?

When i press any button about vencord in the settings tab my discord just crash. I was enabling some plugins and then after i enable and restarted the discord started to bug out. My friend installed vencord at the same time and the same thing was happening. Everything isn't working only the button "updater" is working.

What is the expected behaviour?

Not crash and work just fine.

How do you recreate this...

charred monolithBOT
#

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

charred monolithBOT
charred monolithBOT
charred monolithBOT
spark cove
charred monolithBOT
#

Discord Account

SilverEra#1828

What happens when the bug or crash occurs?

Ever since Vencord has needed to update, whenever I hit any button that has to do with vencord it crashes.

What is the expected behaviour?

Vencord should be opening menus as usual, but it crashes whenever I hit anything that has to do with it

How do you recreate this bug or crash?

Wait until Vencord needs an update. Then, just hit any vencord button.

Errors

There's no logs???

Request Ag...

charred monolithBOT
charred monolithBOT
jagged cloak
#

yop

charred monolithBOT
frail skyBOT
#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

ShowHiddenChannels (had no effect):
ID: 397131
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

ShowHiddenChannels (had no effect):
ID: 481367
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

charred monolithBOT
limber skiff
charred monolithBOT
charred monolithBOT
crude hearth
#

@agile gullJUMPSCARE

agile gull
#

explod

crude hearth
charred monolithBOT
tidal cloud
#

joobi jumpscare

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
golden gulch
#

I don't super feel like opening up github right now, but to the person who is in that discussion (you don't seem to have the same discord username): rather than add more platforms to the FxTwitter plugin, the fix that is generally wanted from the devs is to replace the plugin entirely with a generic text replace plugin (potentially with presets or something similar that can be used for those media platforms)

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
turbid hatch
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#
            match: /(?<=\i\.forEach\(\(function\((\i)\).{300,500})var (\i)=\i\[\i\];switch\(\i\)\{/,
            replace: "$&" + Object.entries(searchAnswers).map(([k, v]) => `case "${k}":$2.add($1.getData("${v['_dataKey']}"));break;`).join("")

You shouldn't hard code variable names in replaces. I used a lookbehind here to capture the search answer variable, and to not mess with the match replacement. Also using a limited wildcard match is kinda epic for things like this...

spark cove
#

I didnt test any of those im getting ready to go to a game

#

so pls test ๐Ÿ˜ญ

charred monolithBOT
spark cove
#

@umbral hedge

umbral hedge
#

h

#

sure

#

later tho

spark cove
#

real

charred monolithBOT
#

platform: w10
client: desktop
release: stable

error:
28d2894a3ee59d7bcf93.js:8755 Error: Vencord could not find the Card Component
at o (internal.tsx:26)
at Sa (28d2894a3ee59d7bcf93.js:1608)
at yu (28d2894a3ee59d7bcf93.js:1662)
at Oc (28d2894a3ee59d7bcf93.js:1655)
at Ic (28d2894a3ee59d7bcf93.js:1655)
at hc (28d2894a3ee59d7bcf93.js:1654)
at ic (28d2894a3ee59d7bcf93.js:1651)
at uc (28d2894a3ee59d7bcf93.js:1652)
at Fo (28d2894a3ee59d7bcf93.js:15...

austere talon
#

how do you see this and go "yes I should totally use the blank template"

spark cove
#

lmfao

#

can u put it on the bottom

austere talon
#

I think github just sorts by alphabet

#

I could change it to like z Blank template

spark cove
#

also is there a git hash displayed somewhere in standalone builds

#

like logged or something

austere talon
#

but if someone has the attention span of a hamburger to where they only see the first one and use it then they don't deserve help tbh

spark cove
#

im gonna eat a hamburger tpoday

austere talon
quick ibex
#

bro

#

that person actually braindead

austere talon
#

yeah

glass cedar
glass cedar
#

so they cant

#

ye i made it like this

austere talon
#

?

turbid hatch
#

there's a dedicated option called blank_issues_enabled which shoves it at the very bottom

austere talon
#

I know but I want the blank issue to still have a custom description and template

turbid hatch
#

suffer ig

#

people dont even read the template, they just click it because its the first one and then click the checkbox because its required

#

if its the actual blank_issues_enabled then its a tiny link at the bottom iirc

#

also if you really really still want a template, you can just create an issue_template.md in the .github folder and itll be used for blank issues only @austere talon

charred monolithBOT
frail skyBOT
#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

spark cove
#

L

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
cunning bobcat
charred monolithBOT
cunning bobcat
#

I really gotta stop doing that

cunning bobcat
charred monolithBOT
charred monolithBOT
cunning bobcat
#

the uppercase is because of this class

cunning bobcat
#

furthermore you could probably integrate this into the inbox as additional tab next to mentions
update: i am slamming my face into my keyboard

charred monolithBOT
charred monolithBOT
charred monolithBOT
quaint sapphire
#

If someone w/o the plugin sends a Twitter link, the plugin will do nothing

#

It only does stuff if I am the one sending it

#

Therefore kinda useless

#

It is useful for abbreviations as I said tho

#

Bc you might wanna type the abbreviation but send the expanded text

tawny cipher
#

might as well opt for a generalized plugin that embeds most common social media urls with custom components altogether

austere talon
#

no

turbid hatch
#

@quaint sapphire this is the generic text replacement plugin ven wanted

#

its not meant to be a "oh you only see it for yourself"

#

its meant to kill the plugins like fxtwitter that we have now

austere talon
#

I never said it couldn't also apply to others

#

optimally it would, and that behaviour would be configurable

turbid hatch
#

ye

umbral hedge
#

apparently some stuff broke on canary

#

gonna run the uh

#

test thing

frail skyBOT
#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

umbral hedge
#

so true

frail skyBOT
#
Bad Patches

VoiceChatDoubleClick (had no effect):
ID: 298716
Match: /onClick:([A-Za-z_$][\w$]*)(?=,.{0,30}className:"channelMention")/

MenuItemDeobfuscatorAPI (had no effect):
ID: 781069
Match: /function.{0,80}type===(.{1,3})\..{1,3}\).{0,50}navigable:.+?Menu API/s

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

RevealAllSpoilers (found no module):
ID: -
Match: .revealSpoiler=function

Bad Starts

None

Discord Errors

umbral hedge
#

lol

#

simply pay ven a good salary

rigid venture
#

there should be multiple ppl merging not just ven

#

ofc she's gonna get burned out and it becomes tedious to review

#

there are multiple smart people with enough knowledge about the structure and stuff other thsn ven by now i think

#

MROWR

quick ibex
#

Yeah

#

Solution is onboarding more reviewers

charred monolithBOT
charred monolithBOT
umbral hedge
#

@austere talon we don't use Tooltip.Positions anywhere so it should be safe to merge

#

should I just go for it

#

settings works :p

#

and user reviews

#

i dont really know anything about menuapi so I'll let someone else fix that trolley

#

i will merge

charred monolithBOT
umbral hedge
#

I leave menu api in your hands trolley

charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

@aubrey#6933

#

not here

#

why do people open issues/prs then not join the discord

#

makes it pain to communicate

charred monolithBOT
austere talon
#

why do people want their system to look like this

#

i think i know what they mean now

#

why does Discord even do custom titleBar on windows

somber ginkgo
#

because they want to be special

#

and eventually people just gave in

frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

Bad Starts

None

Discord Errors

austere talon
#

ah yeah

#

that one also needs fixing

quick ibex
frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

Bad Starts

None

Discord Errors

austere talon
#

maybe we should make dedicated channel for this

#

but also idrc

somber ginkgo
#

for bad patches? or complaining about github shidd

#

i support the latter

austere talon
#

reporter

somber ginkgo
#

nah i think reporter is fine in here

#

i mean, it is on builds so like, related

umbral hedge
#

what the dog doin

quaint sapphire
#

Did ven have a custom pronoun?

#

Or did you fall for the trap?

#

I don't know if this is legit a personal preference or ven is trolling

#

Which scares me

#

Ven is unpredictable

umbral hedge
#

ven is any pronoun

#

same as me blobcatcozy

quaint sapphire
#

I saw the rainbow flag on Ben's github, so ig it's not trolling

#

Man, in the past I could use the rainbow flag w/o it having a special meaning

#

I hate this

#

Why not have a diff flag?

#

(this is not about ven)

#

Like, I don't care about LGBT or whatever, they can do their thing

But do they have to steal the rainbow from me?

#

I didn't steal anything from them

#

It's unfair

umbral hedge
#

wha

#

nobody is stopping you from using a rainbow flag

quaint sapphire
#

But if I do, everyone will be sure that it is about LGBT (and Q?)

umbral hedge
#

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

#

use it or dont

quaint sapphire
#

I want to live in a world where the rainbow is not linked with having a different sexuality than your birth one.

#

Nothing wrong with having a diff sexuality, but why the rainbow?

umbral hedge
#

people have rainbow flag to say they're an ally

#

it doesnt have to mean you are lgbt

#

also

#

if anyone asks you can just say "it looks nice"

#

who cares

quaint sapphire
#

I ain't an ally
I ain't supporting straight people, why should I support the rest?

umbral hedge
quaint sapphire
#

I myself am straight, but I don't think of it as anything special

#

Cause it aint

#

If you are gay that's ok, but leave my rainbow alone

#

Yes I made it personal

#

Fight me

#

I want my rainbow

#

Do we have a flag for being straight? I hope not

umbral hedge
#

why are u mad over a rainbow painPeko

#

just use the rainbow and be smug that it just means rainbow to you

quaint sapphire
#

In the past I used to love pink, but everyone thought I was gay for wearing pink as a man

Like, why do people associate colors like that?

umbral hedge
#

???

quaint sapphire
#

Yes, real story

umbral hedge
#

the only time I've ever heard someone get called gay for wearing pink was in fucking school

modest venture
#

who knows and who cares

umbral hedge
#

who cares + who cares

modest venture
#

just wear pink

umbral hedge
#

wear whatever you want

#

its not your problem

modest venture
#

just use a rainbow

umbral hedge
quaint sapphire
modest venture
#

then boohoo

#

just simply don't care

quaint sapphire
#

But then I won't have smth to complain about

#

You mean to tell me that I can just be happy?

#

That sounds boring

modest venture
#

omg so true!

quiet cairn
#

Social media mindset

umbral hedge
quaint sapphire
#

I am Greek and I complain about global warming

#

It fucked our great weather

#

We had just the perfect amount of sun

But now it's either too cold or too hot

charred monolithBOT
austere talon
#

this is not the right channel for this lol

charred monolithBOT
charred monolithBOT
turbid hatch
#

sigh

#

well

charred monolithBOT
turbid hatch
#

whoever it was that said someone would ask for it

#

i guess you were right

austere talon
#

haha

#

i said they would ask for it in custom status

#

but message is another funny

#

i wonder if thats possible with only css

#

likely no

charred monolithBOT
umbral hedge
#

closing PR as not planned

spark cove
#

DEATH

austere talon
#

TRUE

umbral hedge
#

@spark cove closed as unsanitary code
please rewrite it another 3 times

spark cove
#

hand sanatizer on the code

charred monolithBOT
charred monolithBOT
quaint sapphire
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
crude hearth
#

@austere talon if you ever remember

#

there is a pull request called timezones exist

#

and its been 3-4 months since I opened

#

@placid wave aagaming do something

#

its gonna be half year

placid wave
#

nop

#

finish

crude hearth
#

its finished

#

i think

#

probably

#

yes yes finished

#

@quaint sapphire right

quaint sapphire
#

Uhh

crude hearth
#

this means yes

quaint sapphire
#

Did the select component change to the one with the search?

crude hearth
#

nop

quaint sapphire
#

I'm not talking about the plugin

crude hearth
#

o

#

idk

quaint sapphire
#

Iirc megu did smth

grave mangoBOT
quaint sapphire
#

Change the select to use that

#

That is the first step

#

And then we should move the list to somewhere else so it is not bundled together with vencord

#

And dynamically load it when needed

#

Only after that will ven consider merging

charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
grave mangoBOT
austere talon
#

why webpack search it

#

you can make the patch put the function directly on ur plugin object

limber skiff
#

that is true

#

I will do that instead

#

also how does handleComponentFailed even work, you only call checkForUpdates on startup, and when that component renders checkForUpdates isnt called so isOutdated will be false

#

@austere talon standalone versions can update right

austere talon
#

ye

limber skiff
#

this seems correct then

#

also since you know about armcord how do we perform a full restart?

austere talon
#

it indeed doesn't recheck, maybe it should

limber skiff
#

yeah I'm making it do that

austere talon
#

it likely has an ipc method to do so

#

but why do u need a full restart with armcord?

limber skiff
#

hmhm

#

I was thinking of full restarting it to maybe update vencord

#

but that seems bad

austere talon
#

nah

#

armcord users should just restart themselves

limber skiff
#

ye

#

wait web version cant be standalone right

#

those need the extension to update

austere talon
#

standalone doesn't have any special meaning

#

Well the updater ig

#

Web is still standalone but doesn't have any updater, isOutdated will always return false on Web

limber skiff
#

I'm just trying to understand what can update by itself

austere talon
#

extension updates are done by chrome

#

only desktop can update itself

limber skiff
#

okay

austere talon
#

adding an explicit IS_WEB check is not needed since isOutdated returns false on Web, however it is still good to add it because it will reduce dead code

#

idk if u know C macros

#

but IS_WEB and other globals are compiler variables that dynamically include or exclude code

limber skiff
#

okay this seems right now

austere talon
#

similar to a C #ifdef

limber skiff
#

I'm so confused on where the code decides to use git or http to update

austere talon
grave mangoBOT
austere talon
#

lol

limber skiff
#

OH

#

lmaoo

austere talon
#

they're two implementations that implement the same identical methods in their own way

#

the rest of the code isn't aware which updater backend is used

limber skiff
#

ya

#

I noticed it

quaint sapphire
#

could have used a class for more clarity
but thats not necessary

austere talon
#

nah

grave mangoBOT
quaint sapphire
#

not what i meant but ok

austere talon
#

using a class for that doesn't make much sense

quaint sapphire
#

considering that you wont add more backends, yes it doesnt make sense

#

it is useless

austere talon
#

plain object implementing an interface sure but this is fine

#

Well it would be trivial for someone to add their own updater shiggey

quaint sapphire
#

actually, the IPC is kinda like an interface

austere talon
#

yeah that's what I meant

quaint sapphire
#

it just feels wrong

#

Please note that the CSS Editor, Themes loaded from remote sources and co. will not work in the UserScript. Use the extension if you need any of those
@austere talon

the readme says that, but what is the reason?

#

CSP?

austere talon
#

yes

quaint sapphire
#

cant they be fetched using userscript APIs?

#

(the resources needing CSP)

austere talon
#

yes but I can't be bothered to reimplement everything just for userscript

#

and css editor no

quaint sapphire
#

do you go the extra mile to disable stuff that dont work in the userscript? if not I can try polyfilling them

austere talon
#

no

#

I guess making themes work would actually not be that hard. Does GM_addStyle bypass csp?

split hornet
quaint sapphire
austere talon
#

true

#

but does discords csp allow inline styles

#

if it doesn't we're screwed

#

I think it does

#

yeah it should

quaint sapphire
grave mangoBOT
# quaint sapphire I've been using myself a polyfill for GM_addStyle cause it never works https://g...

**steam-workshop-downloader.user.js: **Lines 30-52

function GM_addStyle(css) {
    const style =
        document.getElementById("GM_addStyleBy8626") ||
        (function () {
            const style = document.createElement("style");
            style.type = "text/css";
            style.id = "GM_addStyleBy8626";
            document.head.appendChild(style);
            return style;
        })();
    const sheet = style.sheet;
    sheet.insertRule(css, (sheet.rules || sheet.cssRules || []).length);
}
//

GM_addStyle(`
    .downloadIcon {
        top: 0px;
        left: 8px;
        width: 16px;
        background-position: 0px 0px;
        background-repeat: no-repeat;
    }`);
quaint sapphire
#

its from stackoverflow btw

austere talon
#

so you can recursively fetch resources

quaint sapphire
#

well yeah, it only works with a single selector per invocation

austere talon
#

otherwise if you fetch a theme and add it and that theme also uses imports, fonts, etc you're screwed

quaint sapphire
#

we could use base64 ig

#

data links

austere talon
#

no

quaint sapphire
#

but cors can block them

#

hmm

austere talon
#

discords csp likely doesn't allow data links

#

figure out how to get GM_addStyle to work and maybe it bypasses csp

#

if it does we're set

#

if it doesn't, it's basically impossible

quaint sapphire
#

that doesnt require parsing

#

lol

#

but that is unsafe

charred monolithBOT
quaint sapphire
#

no because discord users fall for any kind of scam

austere talon
#

it can't resolve imports, fonts, etc

quaint sapphire
#

or that

austere talon
#

since those are also remote sources thus also csp blocked

#

do you understand what I'm saying

quaint sapphire
#

yeah

#

i just tend to blame the user

austere talon
#

like say you're importing zelk.theme.css and zelk loads fonts.google.com/comic-sans, sure you can fetch zelk.theme.css and manually add it but now the browser sees hey Google fonts lemme fetch that and fails cause csp again. so you would need to fetch the theme, now parse all links in the theme, fetch that, recursively parse links in that and so on until you have everything, now you need to find a way to put it together and maybe use data links but those might not be allowed with their csp

#

just a huge headache

#

I don't see much reason to do this when people can just use the extension

#

but if GM_addStyle just works out of the box and bypasses csp that's perfect and definitely doable

#

so I don't think it will work

quaint sapphire
#

addStyle itself doesnt use links

austere talon
#

yes

#

but you can fetch it and add and maybe it works idk

#

anyway is there any reason for people not to just use the extension?

quaint sapphire
#

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

#

one reason could be mobile phones

#

you might have a userscript manager

#

but not extensions

#

(discord web on phones sucks either way)

quaint sapphire
#

pretty nice

austere talon
quaint sapphire
#

that is cursed tho

austere talon
#

it's essentially unusable but so is discord in web (it's the same thing)

quaint sapphire
#

an android app for a webview is so cursed

austere talon
austere talon
#

it's less than a MB

quaint sapphire
austere talon
#

it was more like

#

why tf is adguard of all things doing that

#

lmao

quaint sapphire
austere talon
#

that seems so strange how does it inject scripts into ur browser

#

does it rewrite responses

charred monolithBOT
#

Discord hides your user token in the local storage of an iframe, whenever you open the devtools. This is mostly meant to help prevent token grabbing through social engineering but has the side effect that you sometimes get logged out of Discord when Discord gets closed whilst you still have your dev tools open. This plugin basically just early-returns the hideToken function that usually takes care of the hiding.

quaint sapphire
#

it can do anything it wants

#

system apps ofc bypass it

limber skiff
#

ven ven review again

austere talon
# charred monolith

I'm 99% certain this behaviour is fixed if you enable the NoConsoleWarn plugin

#

@fossil otter

#

since that disables their devtools open handler

fossil otter
#

@umbral hedge said there's no plugin for it

#

so ๐Ÿคท

quaint sapphire
#

megu is dum dum

austere talon
#

check NoConsoleWarn

#

I'm pretty sure it's the same code

limber skiff
#

yeah it's here

fossil otter
#

hm

#

where even is that plugin

quaint sapphire
fossil otter
#

ah

limber skiff
#

seems to be encoded though

quaint sapphire
fossil otter
#

that's another function

limber skiff
#

ah

austere talon
limber skiff
#

thanks

#

3 digits long

#

please dont steal my account

fossil otter
austere talon
#

NoDevtoolsWarning, sorry

fossil otter
#

yeah no worries

#

i will close

austere talon
#

does it do it correctly?

quaint sapphire
#

wonderful

#

ig ill update

split hornet
quaint sapphire
#

why re-install discord when you can rebuild vencord?

austere talon
#

I think the code is like

if (someStuff && "0.0.0" != DiscordNative.remoteApp.getVersion()) {
    addDevToolsOpenHandler(() => {
        hideToken(); spamWarninfg();
    }
}```
#

and vencord just changes it to if (false)

#

so the handlers are never added and hideToken never called

#

don't quote me on that though I would double check that's the case

split hornet
austere talon
#

if you enable that plugin then search for Patched by NoConsoleWarn you can double check

quaint sapphire
#

oh, discord saves multiple tokens?

fossil otter
austere talon
#

ctrl shift f

fossil otter
#

yes for account switcher

austere talon
#

searches all files at once

split hornet
quaint sapphire
#

but dont you need to re-login even when you have multiple accounts?

austere talon
#

no

#

Well maybe I didn't fully understand

#

with the account switcher you can add multiple accounts and switch between them without logging in

quaint sapphire
#

last time I used the account switch feature it asked for a password

limber skiff
#

lol

austere talon
# limber skiff

yeah, so it's like I thought, they call hideToken() in the devtools callback

#

but NoDevtoolsWarning changes that code to never run

#

little side effect lol

#

maybe if you want update the plugin description of NoDevtoolsWarning to add something like "Also prevents Discord from hiding your token, preventing random logouts" @fossil otter

fossil otter
#

yeah will do

austere talon
# limber skiff

btw the code discord uses for checking devtools open is so silly

limber skiff
#

It's so cool seeing people that made the plugins I used on powercord here

austere talon
#

it runs an interval that checks a bunch of things like twice a second to guess if devtools are open

limber skiff
#

that prevents that right

austere talon
#

yeah

#

actually no

limber skiff
#

๐Ÿ™

austere talon
#

lol

limber skiff
#

what

austere talon
#

that code still runs

limber skiff
#

๐Ÿคข

fossil otter
#

Disables the 'HOLD UP' banner in the console. As a side effect, also prevents Discord from hiding your token, which prevents random logouts.

limber skiff
#

I will patch it

#

give me a hint to find that

fossil otter
#

does that sound good?

austere talon
grave mangoBOT
# austere talon https://github.com/sindresorhus/devtools-detect/blob/main/index.js

**index.js: **

/*!
devtools-detect
https://github.com/sindresorhus/devtools-detect
By Sindre Sorhus
MIT License
*/

const devtools = {
    isOpen: false,
    orientation: undefined,
};

const threshold = 170;

const emitEvent = (isOpen, orientation) => {
    globalThis.dispatchEvent(new globalThis.CustomEvent('devtoolschange', {
        detail: {
            isOpen,
            orientation,
        },
    }));
};

const main = ({emitEvents = true} = {}) => {
    const widthThreshold = globalThis.outerWidth - globalThis.innerWidth > threshold;
    const heightThreshold = globalThis.outerHeight - globalThis.innerHeight > threshold;
    const orientation = widthThreshold ? 'vertical' : 'horizontal';

    if (
        !(heightThreshold && widthThreshold)
        && ((globalThis.Firebug && globalThis.Firebug.chrome && globalThis.Firebug.chrome.isInitialized) || widthThreshold || heightThreshold)
    ) {
        if ((!devtools.isOpen || devtools.orientation !== orientation) && emitEvents) {
            emitEvent(true, orientation);
        }

        devtools.isOpen = true;
        devtools.orientation = orientation;
    } else {
        if (devtools.isOpen && emitEvents) {
            emitEvent(false, undefined);
        }

        devtools.isOpen = false;
        devtools.orientation = undefined;
    }
};

main({emitEvents: false});
setInterval(main, 500);

export default devtools;

austere talon
#

amazing

limber skiff
#

ew

austere talon
#

just search for Firebug

#

and you'll find

austere talon
limber skiff
#

oh its on the same mod

#

gonna eat rn though

austere talon
#

but tbh it's probably not worth disabling that

#

Maybe we can start a general Unbloat plugin that kills shit code like that

#

idk if there's many more instances

austere talon
#

me installing some random package off npm and checking my npm lock file only to see 20 new dependencies by sindresorhus

limber skiff
turbid hatch
#

sindre micromodules

limber skiff
#

and add things as we find

#

this will be the first

fossil otter
austere talon
#

vencord so bloatfree

#

I'm surprised we have nothing by him

#

since we have a shit ton of dev dependencies

limber skiff
#

it's here

austere talon
grave mangoBOT
# austere talon like https://github.com/Vendicated/Vencord/blob/main/package.json#L38-L64

**package.json: **Lines 38-64

"devDependencies": {
    "@types/diff": "^5.0.2",
    "@types/lodash": "^4.14.191",
    "@types/node": "^18.11.18",
    "@types/react": "^18.0.27",
    "@types/react-dom": "^18.0.10",
    "@types/yazl": "^2.4.2",
    "@typescript-eslint/eslint-plugin": "^5.49.0",
    "@typescript-eslint/parser": "^5.49.0",
    "diff": "^5.1.0",
    "discord-types": "^1.3.26",
    "esbuild": "^0.15.18",
    "eslint": "^8.28.0",
    "eslint-import-resolver-alias": "^1.1.2",
    "eslint-plugin-header": "^3.1.1",
    "eslint-plugin-path-alias": "^1.0.0",
    "eslint-plugin-simple-import-sort": "^8.0.0",
    "eslint-plugin-unused-imports": "^2.0.0",
    "highlight.js": "10.6.0",
    "moment": "^2.29.4",
    "puppeteer-core": "^19.6.0",
    "standalone-electron-types": "^1.0.0",
    "stylelint": "^14.16.1",
    "stylelint-config-standard": "^29.0.0",
    "type-fest": "^3.5.3",
    "typescript": "^4.9.4"
},
austere talon
#

kinda a lot

#

wait

#

type-fest is by sindre

austere talon
charred monolithBOT
#

Currently the Shiki Codeblocks plugin only affects code typed in fences. For inline code this isn't an issue as it allows for styling it to fit within a theme. But file previews are being rendered with whatever default Discord uses and that's plain ugly (something Shiki solves)

Shiki code block with custom TiffColors theme selected:
image

File preview in Discord Downbad
![image](h...

quaint sapphire
#

is this still not fixed?

frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

Bad Starts

None

Discord Errors

#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 541282
Match: /(?<=function [A-Za-z_$][\w$]*\((?<props>[A-Za-z_$][\w$]*)\).{1,2000}"more-options-popout"\)\);if\()/

Bad Starts

None

Discord Errors

austere talon
charred monolithBOT
austere talon
#

(the fix I added is just downloading old devtools)

#

they use some new extension api electron hasn't implemented

#

so the only fix is to downgrade which I did

charred monolithBOT
limber skiff
#

the only thing that could fail there would be forceUpdate but okay

austere talon
#

as i said just to be safe

limber skiff
#

yaya

austere talon
#

imagine theres an error in the updater that causes the crash

#

then it checks updates in the handleCrash (which of course causes the crash again) and makes it even worse somehow or causes an infinite loop because now we crashed again so crashhandler called again and it checks updates and..... u know where this is going

limber skiff
#

okay done

#

ewww

#

what is thiss

#

oh

austere talon
#

added indent

limber skiff
#

it's just the diff

#

I thought it was bad identation

austere talon
#

i think instead of the alert we could also use a vencord notif

limber skiff
#

ehh

#

I don't think so

austere talon
#

iirc the only discord thing it depends on is react & react-dom

limber skiff
#

lets keep it as simple as possible

austere talon
#

and if those are broken then vencord is so majorly broken that it doesnt matter i think

#

but yeah this is fine

charred monolithBOT
austere talon
#

actually no

#

notifications use forms and stuff

#

maybe should move away from that

#

eh nah its fine

#

theyre wrapped in errorboundy

#

worst thing that could happen is error box notif jumpscare

limber skiff
#

lol

#

lets hope no more cant update issues

austere talon
#

wait

#

i was testing errors in notifs

#

and noticed a flaw

limber skiff
#

what?

austere talon
#

the one responsible of dismissing the notif is the notif component

#

so if it errors it never dismisses the notif

#

aka no new notifs show

limber skiff
#

yikes

austere talon
#

easy fix

limber skiff
#

fix speedrun

#

timer has started

austere talon
#

guh i need to edit erorrboundary api

limber skiff
#

it's insane

#

I spend most of my time doing plugins just reverse engineering discord

austere talon
#

had tomake ErrorBoundary.wrap onError give u the props of the wrapped component

limber skiff
#

makes sense

charred monolithBOT
austere talon
#

there

#

wait

#

i didnt test

#

that types work

#

they do

limber skiff
#

lol

#

I just updated using crash handler

austere talon
#

HOW

#

did u porposely cause a cras

#

h

limber skiff
#

yeah

#

I triggered the react crash using dev options

austere talon
#

oh

#

sick it works

#

i didnt crash

limber skiff
#

yopp

austere talon
#

now catch libdiscord crashes

limber skiff
#

I dont think that's even possible

#

those crashes restart discord as a whole

austere talon
#

ye thats the joke

#

cause libdiscord is like c++

#

native lib

#

it segfaults discord i think

austere talon
#

idk how else to do it

#

ErrorBoundary now has slightly polluted props

#

cause if u use it like

<ErrorBoundary><div>balls</div></ErrorBoundary>```
#

those props no apply

limber skiff
#

no idea how to help

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
pure ledge
charred monolithBOT
charred monolithBOT
umbral hedge
#
suggestion
cunning bobcat
#

suggestion

verbal pumice
#
suggestion
charred monolithBOT
austere talon
#

happens when the suggestion is to delete that line lmao

umbral hedge
#

lmao

charred monolithBOT
#

A plugin that allows you to change the format of the date/clock (dd/mm/yyyy/ & mm/dd/yyyy, 24h/12h) from what you want.

Why?
Some people (me) want to use other languages like English without having to deal with the change of the date/clock format in every message.

austere talon
# charred monolith

btw @spark cove if you don't know why px is bad, basically it completely screws over users who change the default font size

spark cove
#

yea ikik

austere talon
#

if you use em or rem, the entire site will be scaled up or down if users change their default font size

spark cove
#

im converted by now but i first made spotimbed a WHILE ago

austere talon
#

ah

#

fair fair

spark cove
#

so the css is old and i havent rewritten it eet

austere talon
#

em feel very natural

#

since i just go, okay i want the margin to be half as big as the text so just 0.5em

spark cove
#

lol yea i like the multiples

#

i only use px these days if its fixing a visual bug or something

#

calc(2em - 1px)

austere talon
#

yeah its okay when you have a specific use it for

#

and border-radius

#

and something that explicitly needs a specific height and width

spark cove
#

real

#

im gonna do the code reivew in a sec

#

i have to setup my stuff on arch

austere talon
#

like this silly fella

#

there we go

spark cove
#

yea that fella is silly

austere talon
#

if you want tip for converting px to em/rem

#

default font size is smth like 16px i think

#

so just divide px amount by 16

#

and u get rem

spark cove
#

yop

austere talon
#

theres so many prs

charred monolithBOT
austere talon
#

i already spent like 25 messages reviewing

#

and only did like 3 prs

spark cove
#

yeaep

charred monolithBOT
austere talon
turbid hatch
#

yeah i just looked on mdn

austere talon
#

but u might have to implement it on the server side

#

probably

turbid hatch
#

yeah i will have to

#

working on it now

#

i was actually looking for something like it and couldnt find the right wording

#

so thank you for pointing me to it ^^

austere talon
#

:3

grave mangoBOT
austere talon
#

i use it here too

turbid hatch
#

oh thats cool

#
if ifm := c.Get("if-none-match"); ifm == written {
    return c.SendStatus(304)
}
#

holy fuck i love this language

limber skiff
#

when context menu api ven ๐Ÿ˜ข

turbid hatch
#

actually prefer the notifs

#

though not sure about the notifs on the setup procedure, i thought the toasts were alright

#

ill try them though

charred monolithBOT
#

Discord Account

No response

What happens when the bug or crash occurs?

I use a vencord firefox extension and i have issues with it.
When putting the css link, it shows:

Error: NetworkError when attempting to fetch resource.

It shows with any BetterDiscord Theme

What is the expected behaviour?

It applies the theme without any problems

How do you recreate this bug or crash?

  1. open discord settings
  2. click on themes in vencord section
  3. put in a css link
    ...
austere talon
#

but as soon as there's anything the user should read like error toasts are so bad

turbid hatch
#

meh, i changed it to notifs

#

i think i prefer them

austere talon
#

notifications are nice yeah

turbid hatch
#

also are more obvious

limber skiff
#

welp

turbid hatch
#

toasts i almost missed and i was wondering where they went

limber skiff
#

we should have put the promptToUpdate function here

austere talon
#

Also the benefit of notifications is that people can extend their duration or make them permanent

#

like some people are slooooow so the toast is too short for them

turbid hatch
#

ye

limber skiff
#

can't update cuz it's broken

turbid hatch
#

also there's a bug when you chain toasts together

#

xd

limber skiff
#

not good not good

austere talon
#

I deliberately made it so that you can't set notification duration via code

#

I think that's bad ux

turbid hatch
#

it is terrible

#

people who do that deserve to die (im kidding)

austere talon
#

the user should decide how long notifications are, not the dev

#

powercord had it that way

turbid hatch
#

yip

austere talon
#

although I think I wanna add some more switches to toast api

#

a boolean that lets you send permanent notifications

#

for important data

#

for example

turbid hatch
#

hmm

#

might be a good idea

#

also i submitted all the requested changes for you, feel free to play when you're available poi_thumbsup

limber skiff
#

what is this

#

happened when discord reloaded

austere talon
#

object has been destroyed

limber skiff
#

oh okay

austere talon
limber skiff
#

thanks

austere talon
# limber skiff what is this

I think this error means that something tried showing the browser window but it was already destroyed due to reloading

#

likely race condition in discords code

limber skiff
#

ah

austere talon
#

like maybe some async operation was done the same time you reloaded and then the callback tried using the browser window

limber skiff
#

ghost is typing

somber ginkgo
# limber skiff

could be worse, could have an ocd-triggering space just before a comma when typingtweaks is enabled... wait

charred monolithBOT
#

Discord Account

Whirr#4387

What happens when the bug or crash occurs?

When in settings, under any of the vencord tabs, nothing is rendered apart from an error box.

What is the expected behaviour?

Rendering the component

How do you recreate this bug or crash?

  1. Go to settings
  2. Click on one of the Vencord settings

Errors

TypeError: Cannot read property 'TOP' of undefined
    at Z1 (index.tsx:64)
    at Sa (3ce5a3a3ee1992708511.js:1654)
    at yu (3ce5a3a...
charred monolithBOT
#

Unable to open any kind of settings. Installed both vencord and asar.

at Z1 (VencordRenderer:70:7106)
at Sa (3ceSa3a3ee1992708511.js:1654:54)
at yu (3ce5a3a3ee1992708511.js:1708:146) at Oc (3ceSa3a3ee1992708511.js:1701:89)
at Ic (3ceSa3a3ee1992708511.js:1701:17) at he (3ce5a3a3ee1992708511.js:1700:867)
at is (3ce5a3a3ee1992708511.js:1697:642) at uc (3ceSa3a3ee1992708511.js:1698:49)
at Fo (3ce5a3a3ee1992708511.js:1637:577) at 3ce5a3a3ee1992708511.js:1695:555

limber skiff
#

me on my way to trigger a react crash and force an update

charred monolithBOT
#

as mentioned by lewi, Firefox has a bug that makes it not correctly apply our networking rules which makes it impossible for Vencord to load custom themes. This is an issue with Firefox and needs to be fixed by Firefox, not us

Solutions:

  • Use Discord desktop or Discord on a Chromium based Browser
  • You can still set custom css via the console: await VencordNative.ipc.invoke("VencordSetQuickCss", THE_CSS_TEXT_AS_STRING_HERE)
charred monolithBOT
charred monolithBOT
charred monolithBOT
limber skiff
#

@austere talon could it be the recover notification causing that Object got destroyed

solemn spoke
#

why the hell is the settings page breaking so much

limber skiff
#

discord being mean

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

InvisibleChat (had no effect):
ID: 457173
Match: /.=.\.activeCommand,.=.\.activeCommandOption,.{1,133}(.)=\[\];/

SilentTyping (had no effect):
ID: 457173
Match: /[A-Za-z_$][\w$]*=[A-Za-z_$][\w$]*\.activeCommand,[A-Za-z_$][\w$]*=[A-Za-z_$][\w$]*\.activeCommandOption,.{1,133}(.)=\[\];/

Bad Starts

None

Discord Errors

#
Bad Patches

InvisibleChat (had no effect):
ID: 457173
Match: /.=.\.activeCommand,.=.\.activeCommandOption,.{1,133}(.)=\[\];/

SilentTyping (had no effect):
ID: 457173
Match: /[A-Za-z_$][\w$]*=[A-Za-z_$][\w$]*\.activeCommand,[A-Za-z_$][\w$]*=[A-Za-z_$][\w$]*\.activeCommandOption,.{1,133}(.)=\[\];/

Bad Starts

None

Discord Errors

swift fjord
#

guh

charred monolithBOT