#๐Ÿ‘พ-core-development

1 messages ยท Page 8 of 1

limber skiff
#

fixed the conflict

austere talon
#

custom electron?

#

lovely

lament nimbus
#

oh is that a modern electron thing

#

yeah I use updated electron

austere talon
#

no

#

Read the last 2 lines

#

anyway that issue shouldn't be hard to fix

#

process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true';

#

slap this in patcher and enjoy troll

#

protocol.registerSchemesAsPrivileged([
{ scheme: 'http', privileges: { standard: true, bypassCSP: true, allowServiceWorkers: true, supportFetchAPI: true, corsEnabled: true, stream: true } },
{ scheme: 'https', privileges: { standard: true, bypassCSP: true, allowServiceWorkers: true, supportFetchAPI: true, corsEnabled: true, stream: true } },
{ scheme: 'mailto', privileges: { standard: true } },
]);

#

this also works

jagged cloak
#

LMAO

#

๐Ÿ—ฟ moment

charred monolithBOT
lament nimbus
#

Wha

#

Two of those things didn't happen, and the other two are pointless

#

The as T doesn't even work iirc

#

I tried messing with the types before

austere talon
#

oh god this guy opened multiple prs

lament nimbus
#

Lmao they are doing it in the web editor

austere talon
#

wtf is that second pr lmfao

lament nimbus
#

Doubt it builds lmao

austere talon
#

that code makes 0 sense

#

you love

lament nimbus
#

You should add invalid or spam tags

quick ibex
austere talon
lament nimbus
#

this guy needs a quick tutorial on how to contribute lmao

austere talon
#

INSULTS

#

LMAO

quick ibex
#

What the fuck

verbal pumice
#

based

quick ibex
lament nimbus
#

Me after I dick shit pussy your mother:

verbal pumice
lament nimbus
golden gulch
#

they've actually gotten some of their PRs on other repos merged

#

how

austere talon
#

lmaoo

quick ibex
#

Me when pneb prs my repo

lament nimbus
#

Yeah I'll fix all that stuff after I'm done with the user popout

#

I have a handful of unpushed changes

austere talon
#

ah alright

austere talon
#

some people have weird ocd that they want everything in all lowercase

#

maybe add a third format that makes everything lowercase

#

I know some servers where a bot auto lowercases everyone's name lmao

#

or even owner doing it manually

golden gulch
#

the original pronoundb plugin keeps those strings capitalized (not that we have to follow it exactly)

vestal grove
#

@austere talon holy shit

#

some actually got merged

rigid venture
charred monolithBOT
umbral hedge
#

fear

lament nimbus
#

HORROR

#

why so many merges husk

charred monolithBOT
golden gulch
#

rebases >>>>> merge

rare shale
#

FINALLY

#

IM FREE

#

I CAN NOW SET FART REVERB AS MY PING SOUND

charred monolithBOT
rare shale
# charred monolith

@austere talon does this even have a chance of being merged or should i just put it as a third party plugin

umbral hedge
#

sound changer is valid

charred monolithBOT
austere talon
#

btw

lament nimbus
#

why is nea here

austere talon
#

theres a module that exports a sound map lmao

mortal fractal
#

this

rare shale
mortal fractal
umbral hedge
mortal fractal
#

thanks megu

umbral hedge
austere talon
mortal fractal
#

it is

austere talon
#

browser moment

mortal fractal
#

its a common hack

umbral hedge
#

yeah

#

clipboard api has always been a meme

mortal fractal
#

yeah cause mozilla are fucking idiots

umbral hedge
mortal fractal
#

and think its harmful to have the clipboard api be a thing

rare shale
mortal fractal
#

implement it yourself cope

umbral hedge
rare shale
#

my head hurts

austere talon
#

wait

#

firefox no have navigator.clipboard?

mortal fractal
#

nop

#

lemme grab the proposals page

#

so you can see their bullshit stances

austere talon
#

its right here

rare shale
#

i wanna jump off a cliff

mortal fractal
#

is there a type for react components?

umbral hedge
#

for components, JSX.Element, for children it's supposed to be React.ReactNode

#

(React.ReactNode accepts things like fragments iirc)

austere talon
#
var sounds = Vencord.Util.proxyLazy(() => {
    const DJ = find(m => m.resolve && m.keys && m.id && typeof m === "function" && m.keys()[0].endsWith(".mp3"))
    return Object.fromEntries(DJ.keys().map(sound => [sound.slice(2), DJ(sound)]))
})

console.log(sounds["call_ringing.mp3"])
#

@rare shale

umbral hedge
#

discord still has soundpacks code lmao

mortal fractal
#

yes

umbral hedge
#

cringe it isn't exported

mortal fractal
#

why not just patch this

austere talon
#

that too

rare shale
#

ive written so much shit today i genuinely wanna throw up

mortal fractal
#

merely an issue of skill

rare shale
#

can you make a pr or add to my code or something

umbral hedge
charred monolithBOT
austere talon
#

someone with idb knowledge check if this is okay please

limber skiff
#

here we go again

#

just noticed that now ๐Ÿ˜‚

tame escarp
# charred monolith

is there a good reason to write your own wrapper instead of using idb-keyval or smth @austere talon?

austere talon
#

funnily enough i decided just a minute ago to switch to idb-keyval

#

:)

tame escarp
#

lmao

austere talon
#

i didn't know of its existence, I only saw other wrappers and those are insanely bloated, that's why I implemented my own logic

tame escarp
#

lmao rip

austere talon
#

i discovered idb-keyval

#

and uhh

#

they literally stole my code I'm gonna DMCA

#

(on a more serious note their code is basically identical to mine)

tame escarp
#

L bozo

quick ibex
#

Message the owner to take it down ig

charred monolithBOT
austere talon
#

there done @tame escarp

woeful sable
#

bro put a license ๐Ÿ’€

tame escarp
#

I DIDNT MEAN LITERALLY COPY THEIR CODE

#

๐Ÿ’€

austere talon
austere talon
#

it offers no better way

tame escarp
#

guhh i guess

austere talon
#

also there's nothing wrong with copypasting source code trolley

tame escarp
#

can you not just like wrap around the functions

austere talon
#

no

#

well i can but why would I do that

#

copying the source code is simpler

tame escarp
#

export const get = async (val) => idbGet("com.vencord", val) or whatever

#

guh

austere talon
#

whats wrong with including the source code

tame escarp
#

your sanity

austere talon
#

its fine

charred monolithBOT
charred monolithBOT
austere talon
#

is there a less cursed way to do this

#

i tried

/**
 * jsdoc
*/
export * as Foo from "foo"```
 and ```js
import * as Foo from "foo"

export {
  /**
   * jsdoc
   */
  Foo
}```
#

neither of these work

charred monolithBOT
charred monolithBOT
charred monolithBOT
vestal grove
#

(latest has custom names but whatever)

#

((literally just openDB('name')))

austere talon
#

I am aware

#

but now u have to pass it to every function

#

const db = await openDb("ye")
get("key", db)

#

unusable

#

I could make wrappers like someone else said but why would I do that when simply editing source code is easier

vestal grove
#

because it's a terrible idea, but who am i to attempt discouraging you

quick ibex
austere talon
#

how is it a terrible idea

quick ibex
#

HD trolley jumpscare

austere talon
#

name one reason why it's a terrible idea

umbral hedge
vestal grove
#

you're locking yourself to an old version and it's difficult to update

austere talon
#

nah

#

and it's latest version

#

silly

vestal grove
#

if it was latest then you'd have an openDB function

#

as expected, you don't

austere talon
#

you're thinking of his other library

#
vestal grove
#

what exactly is the downside of using the other one

austere talon
#

none

#

but it's bigger and more complex

#

idb-keyval works fine and I have no problem with modifying it

golden gulch
#

idb's readme also suggests using idb-keyval if all you're doing is key based stuff

charred monolithBOT
charred monolithBOT
#

This is my refactor of this.

import { Devs } from "../utils/constants";
import definePlugin, { OptionType } from "../utils/types";

export const Sounds = {
    "call_calling": "c6e92752668dde4eee5923d70441579f.mp3",
    "call_ringing": "84a1b4e11d634dbfa1e5dd97a96de3ad.mp3",
    "call_ringing_beat": "b9411af07f154a6fef543e7e442e4da9.mp3",
    "call_ringing_halloween": "15b48ed7383b702ad2a3e9a0f7ebd2c0.mp3",
    "chaos_bootup": "74f5be9eb9457fbd255edfe86dd5e59d.mp3",
...
charred monolithBOT
mortal fractal
#

@austere talon is there a way to match the module as a whole or no

umbral hedge
#

i only found the one

mortal fractal
#

if i can grab the entire module by document.queryCommandEnabled("copy")||document.queryCommandSupported("copy") and then take the exported function by .default.copy(

austere talon
#

:formatted

#

what that

umbral hedge
#

when you've formatted a source file

#

it shows it

mortal fractal
#

the button in the bottom left

umbral hedge
#

mapMangledModule

austere talon
#
const Clipboard = mapMangledModuleLazy("string search", {
    cope: filters.byCode(".default.coy(")
})

Clipboard.cope()```
umbral hedge
#

cope

austere talon
#

without lazy suffix if u want it immediately but if its a common then lazy

grave mangoBOT
# austere talon example https://github.com/Vendicated/Vencord/blob/main/src/utils/modal.tsx#L41-...

**modal.tsx: **Lines 41-47

export const Modals = mapMangledModuleLazy(".onAnimationEnd,", {
    ModalRoot: filters.byCode("headerIdIsManaged:"),
    ModalHeader: filters.byCode("children", "separator", "wrap", "NO_WRAP", "grow", "shrink", "id", "header"),
    ModalContent: filters.byCode("scrollerRef", "content", "className", "children"),
    ModalFooter: filters.byCode("HORIZONTAL_REVERSE", "START", "STRETCH", "NO_WRAP", "footerSeparator"),
    ModalCloseButton: filters.byCode("closeWithCircleBackground", "hideOnFullscreen"),
});
mortal fractal
#

is this valid: SUPPORTS_COPY: x => typeof x === "boolean",

austere talon
#

yea

#

the filter it expects is just (m) => boolean

#

I wonder when supports copy would be false

umbral hedge
#

sorry I only use Internet Explorerโ„ข๏ธ 8

mortal fractal
austere talon
#

oh

#

when would that be false

#

that explains why I never heard of that function before

mortal fractal
#

pushed changes

umbral hedge
austere talon
#

why do they use such an api

#

can't u try catch the copy

umbral hedge
#

my favourite function exported from ClipboardUtils.web.tsx

austere talon
#

trollage

#

why do they use promise reject mmm

umbral hedge
#

no clue

austere talon
#

just mark func as async and throw

#

it prettier

umbral hedge
#

yeah

mortal fractal
austere talon
#

balls

mortal fractal
#

i am uncreative with test strings

austere talon
#

nono I get it I use balls too

vestal grove
#

I use cock

umbral hedge
#

balls

charred monolithBOT
woeful sable
#

cock

austere talon
#

isn't object type like empty object with no props

umbral hedge
#

Record<string, any> my beloved

mortal fractal
umbral hedge
#

np

austere talon
#

oh

#

cyn the typescript baby

#

cute

umbral hedge
#

xd

tame escarp
#

when can i type array as Record<number, any> ๐Ÿ™„

austere talon
#

u can

#

lmao

umbral hedge
#

you can

austere talon
tame escarp
#

GUH

vestal grove
#

^

tame escarp
#

i was joking

#

that's goofy

austere talon
#

bro has never heard of an arraylike

woeful sable
umbral hedge
#

Arrays are actually objects anyways

austere talon
#

ArrayLike = object with length property and possibly integer indexes

vestal grove
#

yop

umbral hedge
#

you love typeof []

mortal fractal
#

its why you have to do Array.isArray instead of typeof

umbral hedge
#

yea

tame escarp
#

no i know that but like

#

i figured that TS wouldn't like me doing that for some reason ๐Ÿ’€

umbral hedge
#

Well I would rather you didn't

tame escarp
#

time to PR to change array types to this in vencord

lament nimbus
charred monolithBOT
#

Question/Issue

Is it possible/how to load QuickCss.css in using the Browser extension?
When I open Vencord settings in the browser this is all I see, where is the QuickCss.css file supposed to be placed/located for the web version? The screenshot attached is all I see as options.

Motivation

A pretty Discord.
Vencord is love, Vencord is life.

Vencord web settings page:

![msedge_1Yj0E9jZTR](https://user-images.githubusercontent.com/39604793/197218761-f55bc268-b099-4c64...

charred monolithBOT
charred monolithBOT
deft cobalt
#

my fork

#

oh no

charred monolithBOT
charred monolithBOT
jagged cloak
#

works for me ig

jagged cloak
mortal fractal
halcyon salmon
#

lmao

mortal fractal
#

@austere talon look at this shit lmfao

austere talon
#

gonna use

#

lmao wtf

#

he just renamed and removed everything

#

and removed license info

mortal fractal
#

hf!linvite Ks6ncwqxH8

grave mangoBOT
# mortal fractal hf!linvite Ks6ncwqxH8
Invite Info: `Ks6ncwqxH8`
Guild

AlphaCord ๐ŸŽƒ (1025507832013004911)

Channel

announcements (1025508158552154193)

Member Count

online9 online offline17 members

Features

Community, News

Inviter

zinx#9999 (887059055770730499)

โ€‹
austere talon
#

dmca time? bruh

quick ibex
austere talon
#

they don't

#

they removed the entire licensing section from readme

#

this is why you add license headers to every file

#

github lines support when @mortal fractal

#

lol they switched from esbuild to webpack

#

amazing

limber skiff
#

changing the license moment KEKW

charred monolithBOT
#

Please let me know if teverything works fine

Thanks Ven-oniichan-kun-senpai, with Dev Build 4b1e96b everything works fine and looks beautiful.

It doesn't work in inPrivate (incognito) mode in MS Edge, but that's not a frequent enough use case for me to matter, just something I noticed, even after allowing the extension in private windows, could be related to rant bellow.

_Chromium is so annoying with unpacked extensions, that warning triggers me massively, I ended up having t...

quick ibex
#

BRO THEY CHANGED THE FUCKING LICENCE

charred monolithBOT
half shell
#

Lmaoooo

charred monolithBOT
jagged cloak
#

tharkicord moment

#

is this made by tharki actually hold on

#

dkd

charred monolithBOT
charred monolithBOT
austere talon
#

lol it nuked the userscript header

charred monolithBOT
maiden fog
austere talon
#

eslint plugin more useful

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

oops wrong branch

#

git cherry-pick time

charred monolithBOT
opaque pewter
charred monolithBOT
deft cobalt
#

yes.

charred monolithBOT
#

The repo uses eslint??

What does it matter that the repo uses eslint?

I have prettier as a vscode extension, the repo doesn't need to have it configured for it to work.

And also, most of the famous linters/formatters can detect the prettier-ignore comments, in the same way that prettier can detect eslint comments.

As long as the formatter you use is popular enough, it will support other formatters' comments.

Finally, it is just a fucking comment, what's your problem?

austere talon
#

be nice

fierce gale
#

github have scary people

charred monolithBOT
golden gulch
#

you love to see reverting upstream commits instead of merging/rebasing them into your pr

austere talon
deft cobalt
#

why im so stupid :<

charred monolithBOT
woeful sable
#

zamn

charred monolithBOT
woeful sable
#

are you done

austere talon
#

ye

limber skiff
#

just let people customize the url to anything they want trolley

charred monolithBOT
woeful sable
#

cant figure out how to revert

#

๐Ÿ—ฟ

austere talon
#

what

woeful sable
#

how df do i go back

austere talon
#

without -b

woeful sable
#

oh its git switch

woeful sable
#

ty

tidal cloud
woeful sable
#

where kyzamode plugin

charred monolithBOT
jagged cloak
#

i too Vencord Installer

umbral hedge
#

true

jagged cloak
#

huh i guess my discord is too out of date to patch discord dev trollzoom

#

cant test pr

verbal pumice
#

can you not waitFor a module if you provide your own FilterFn instead of a prop array or am i just stuoid

jagged cloak
#

jk i had stupid shidd in dev so it didnt pick up anything

#

installer should probably error propely though instead of exploding the Vencord Installer

umbral hedge
#

the filters.byProps and stuff just generate functions

limber skiff
#

good eslint rule

austere talon
#

good plugin

charred monolithBOT
charred monolithBOT
verbal pumice
austere talon
#

trollage

#

use lazyWebpack

#

go into src/webpack/patchWebpack.ts and on line 104 change <3 => <=3

charred monolithBOT
fathom herald
#

explode

charred monolithBOT
limber skiff
#

good luck

#

smh eslint errors

austere talon
#

what the fuck is that

limber skiff
#

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

rancid dragon
#

what the hell is an activity

limber skiff
#

like playing games

umbral hedge
#

horror

limber skiff
#

lmao

umbral hedge
#

xd

limber skiff
#

I wanted to re-use discord component

#

that's what turned it into that horror

austere talon
#

would it be less horror to make ur own

umbral hedge
#

what's the purpose of this function

#

seems kinda useless vs just calling DataStore.set(...) and just ignoring the result

charred monolithBOT
limber skiff
#

eh

#

It's fine to do it that way

#

idk why I made it tbh

austere talon
#

but yeah youre not wrong

umbral hedge
#

xd

austere talon
#

i hate how i need to manually approve workflow runs

#

is that actually a securty concern?

#

can u show an updated screenshot @tropic wagon

umbral hedge
#

I mean if the workflow doesn't have a gh token or anything then its not a problem

#

but otherwise ppl can abuse it to leak your creds

#

I've approved a few workflows as well xd

austere talon
#

if the pull request is from a different repo then it'll use that repos tokens

#

i think

umbral hedge
#

hm

austere talon
#

I don't think Microsoft would have a feature that could let others steal ur tokens

fathom herald
charred monolithBOT
golden gulch
umbral hedge
#

ebic

golden gulch
#

and it makes sense to use your repo's tokens in case you have external integrations, like setting PRs up on a staging instance or something

#

people won't have those secrets on their own repos

tropic wagon
#

i think it's clean

austere talon
#

????

quick ibex
charred monolithBOT
charred monolithBOT
#

image

TypeError: Cannot read property 'localeCompare' of undefined
at VencordRenderer:31
at Array.sort ()
at VencordRenderer:31
at Object.useMemo (WebpackModule364448:2)
at Object.t.useMemo (62be08f0b264e26179c8.js:1642)
at VencordRenderer:31
at ua (WebpackModule364448:2)
at $s (WebpackModule364448:2)
at ku (WebpackModule...

charred monolithBOT
charred monolithBOT
austere talon
#

@halcyon salmon

#

anyway I will sleep I can help u more tmrw

halcyon salmon
#

kk

charred monolithBOT
charred monolithBOT
jagged cloak
#

bruh

tame escarp
#

and showed his full name ๐Ÿ’€

#

and has 3ds modding guides up for some reason ๐Ÿ’€

#

actually it might not even be 3ds

#

i think it's dsi

#

so why do they have twilight menu up ๐Ÿ’€

charred monolithBOT
austere talon
#

@light crag why do you have two accounts btw

light crag
#

i don't

#

@swift horizon is a friend of mine

austere talon
#

why do you have the same name

light crag
#

cause we're friend (and we found cool duck pics)

swift horizon
#

๐Ÿฆ†

charred monolithBOT
#

I just used pnpm build and got this error:

> vencord@1.0.0 build C:\Users\NoName\Downloads\Vencord-main
> node scripts/build/build.mjs

fatal: not a git repository (or any of the parent directories): .git
node:internal/errors:841
  const err = new Error(message);
              ^

Error: Command failed: git rev-parse --short HEAD
fatal: not a git repository (or any of the parent directories): .git

    at checkExecSyncError (node:child_process:828:11)
    at execSync (node:...
tidal cloud
#

average bencord user

austere talon
#

@light crag it still tries to navigate to hidden channels

#

which leads to a 403 api request and fucks up the member list

light crag
#

****

quaint sapphire
#

duck

#

You had one job

swift horizon
light crag
#

๐Ÿ˜ญ

charred monolithBOT
charred monolithBOT
austere talon
#

what now

#

moment

swift horizon
#

๐Ÿซก

austere talon
#

cant you just prevent the original logic?

austere talon
#

anyway uh

#

this is probably what u need

#

it's the only thing in discord that calls selectChannel(

#

just hook into this and check if that channel is hidden

#

if it is, show modal and return early

#

then u can alos remove ur selectChannel patch

charred monolithBOT
halcyon salmon
#

wen review my commit

austere talon
#

oh yeah i was gonna look but my browser cucked me

hot pecan
#

suck it echo

rare shale
#

i will unconsentually do terrible things to you

halcyon salmon
austere talon
austere talon
verbal pumice
#

...is this normal

austere talon
#

what's wrong?

#

slow build time?

#

not normal no

#

it builds in a few ms usually

verbal pumice
#

yeah thats what i meant

#

it did a funny

#

seems to have fixed itself after closing and reopening cmd but still

rare shale
#

dw nea is my e-onahole

charred monolithBOT
austere talon
#

uh i wouldnt

#

just make sure it doesnt look terrible

fair mantle
#

facts

charred monolithBOT
quick ibex
#

@hot pecan yo, i made NoCanaryMessageLinks and saw you pushed an update to it before I could add my name to the copyright part of the header. How should I list your name in there?

hot pecan
#

wdy,m copyright header

#

oh you mean just

#

replace the * Copyright (c) 2022 Vendicated and contributors

quick ibex
#

this

quick ibex
#

what name do i put for you

#

just nea? or...

hot pecan
#

Linnea Grรคf

quick ibex
#

Alright

hot pecan
#

if you want i can also post my full residential address

quick ibex
#

Nah

charred monolithBOT
#

This introduces a new build flag "standalon"

Build behaviour:

  • standalone true: Build universal platform build that fetches built files from github releases. This is what normal users should use
  • standalone false: Build platform specific build (doesn't include code for other platforms like the windows specific updater hook) with old updater that uses git and node to update & build from source. This is what you would use to develop Vencord or Plugins
austere talon
#

standalon

quick ibex
#

standalon

umbral hedge
#

standalon

quick ibex
#

btw

#

Ven is this ok?

austere talon
#

ya

quick ibex
#

Perfect

charred monolithBOT
charred monolithBOT
charred monolithBOT
lament nimbus
limber skiff
#

tbh it's just a lot of simple regex to manipulate the components trolley

austere talon
#

requests to github are sent with node https

#

that doesn't have the chromium limitations

charred monolithBOT
lament nimbus
#

Oh that's in node

#

Ok

#

Electron is weird

austere talon
#

i also updated pronoundb

austere talon
#

to use the UserAgent constant

#

(still using that custom header)

austere talon
#

i renamed all the virtual modules to have @ prefix

#

git-hash -> @git-hash

#

idk why i didnt do that from the start

lament nimbus
# austere talon y

They literally took nodejs and chromium, slapped them together, and now you have a "desktop app"

austere talon
#

yea

#

its cool tho

#

cause it's more than just nodejs and chromium

lament nimbus
austere talon
#

the processes can actually interact and share data

austere talon
#

~git-hash

umbral hedge
#

why not ~

#

yea

lament nimbus
#

Maybe @constants/

#

Or ~

#

Or #

umbral hedge
#

we're using @ for @components so it might get confusing

charred monolithBOT
austere talon
#

there

umbral hedge
#

meow

austere talon
#

my favourite virtual module is

import pkg from "~fileContent/../package.json";
#

it just gives u the content of that file as a string

#

github is drunk again

austere talon
#

other than those looks good

#

i like that u added more sanity checks

charred monolithBOT
charred monolithBOT
austere talon
umbral hedge
#

ye

austere talon
#

mm

umbral hedge
#

i mean the bg would be weird if i added that

#

but it uses the code font

austere talon
umbral hedge
#

lmao why can i edit your reviews

austere talon
#

because you can edit anyone's comments on github

#

as a collaborator

umbral hedge
#

huh

lament nimbus
#

literally 1984

umbral hedge
#

gonna change all of ur comments to im cute

keen lance
charred monolithBOT
austere talon
#

oh god

#

why not just put a script in the repo

#

that reads the files and does a super basic regex search

lament nimbus
#

or just use the already existing esbuild stuff to read plugins

hot pecan
#

or just actually load the files

lament nimbus
#

esbuild already transpiles all of the plugins so they are easily loadable

#

yeah

hot pecan
#

why use regex we already are in a repo with all the code existing

#

exactly ๐Ÿฑ

quick ibex
#

Bad script
You guys cant read

austere talon
#

Well you could just run it yeah

#

but you gotta run it with electron lmao

#

oh actually uh

#

just make a js file that imports @plugins

#

and does the readme generation

#

but actually I would push the generated stuff to a private gist on my account

#

so it doesn't spam repo with 3 trillion commits

charred monolithBOT
lament nimbus
#

so it changes with prs

lament nimbus
austere talon
#

wait why did u close it

#

@light crag

light crag
austere talon
#

oh i see

light crag
#

it has the same changes + more

charred monolithBOT
#
        if (!channel) return false;

discord crashes on startup for me without this

66716e85bf16d7f6a198.js:6052 TypeError: Cannot read property 'type' of undefined
    at Object.channelSelected (VencordRenderer:14)
    at vce (VM3171 WebpackModule583156:2)
    at i.handleHistoryChange (VM3171 WebpackModule583156:2)
    at e.t.addRouteChangeListener (66716e85bf16d7f6a198.js:4115)
    at o.i.componentDidMount (VM3171 WebpackModule583156:2)
    at Ss (WebpackModu...
quick ibex
lament nimbus
#

And if you really don't want to then make gh CI check that

austere talon
#

do u think we should have non minified releases of Vencord as well

lament nimbus
#

Do you have source maps setup

austere talon
#

yes

quick ibex
#

oh wtf

austere talon
#

not for renderer tho

quick ibex
#

you minify builds

austere talon
#

well

#

the default build is minified with no source maps

#

the build with pnpm watch is non minified with sourcemaps

#

i wonder if using https:// url for sourcemaps in renderer file would work

#

yes right?

#

the issue with that is that it would fetch bad sourcemaps for outdated builds

umbral hedge
#

o

#

cant u just vencord://owo/uwu.js

#

idk how webpack does it

austere talon
#

could

#

yeah thats a good idea actually

#

thanks megu

#

i hope that will work

umbral hedge
#

hopefully

austere talon
#

i never thought of that

#

because the only other solution i know was inline sourcemaps

#

which is ugly cause it bloats size a lot

umbral hedge
#

ah so its uh

#

vencord://./path/to/file.js

#

needs to be relative apparently

#

thats how webpack does it

austere talon
#

nah just do vencord://renderer.js.map

#

should work fine

umbral hedge
#

mayb

austere talon
#

since i have to handle it manually anyway

#

lemme try

umbral hedge
austere talon
#

mmmh

#

esbuild doesn't have an api for custom sourcemap url

#

oh

#

i can use external with footer

umbral hedge
#

a

#

yea

austere talon
#

its right there u liar

quick ibex
austere talon
#

what

quick ibex
#

I tried and it wont budge

#

Like

#

I try using require

#

and it no workie

austere talon
#

you cant

#

make a typescript file lol

quick ibex
#

I genuinely cant figure out how to use ts

lament nimbus
#

Then let someone else do it

#

You would probably need to mess with esbuild too

quick ibex
#

bru

austere talon
#

horror

umbral hedge
#

horror

lament nimbus
#

horror

golden gulch
austere talon
#

i dont get it

umbral hedge
#

yay

austere talon
#

but still meh stacktrace

umbral hedge
#

ah

#

if its saying Object.j

#

pain

lament nimbus
#

Does browser source maps not actually use the source maps correctly

#

What

umbral hedge
#

I just think the sourcemaps aren't configured properly lol

austere talon
#

wdym

#

it's saying the right filename

#

webpack.ts:66:15

umbral hedge
#

o

austere talon
#

thats the right location

#

well it tells u the exact location

umbral hedge
#

then whats the problem, just the stack trace?

austere talon
#

so good enough for me

austere talon
#

what even is that

umbral hedge
#

yea thats a config thing

#

the sourcemaps should be able to convert that