#๐Ÿ‘พ-core-development

1 messages ยท Page 82 of 1

austere talon
#

Also vinstaller is a shit name I just named it that to have a unique repo name

#

venstaller soon

#

nah idk a good name

woeful sable
#

VSTALLER

lime stone
#

installicated

marsh cave
#

installercord

charred monolithBOT
olive aurora
#

malware

#

was about to make it so userplugins could override plugins if they had the same filename

#

but that already works if they have the same name trolley

charred monolithBOT
verbal pumice
#

it was actually renamed to vinstaller horror

#

wait that's the electron one

oak hull
#

almost read it as "vim installer"

#

fun

charred monolithBOT
#

Discord Account

gumballsupporter

What happens when the bug or crash occurs?

It happens when i start discord and go to settings --> vencord --> updater. it says unable to update and when clicking on check for updates, it does not wok and prints out an console log, which i dont understand.

What is the expected behaviour?

I expect vencord to check for updates and show available updates.

How do you recreate this bug or crash?

  1. open user settings
  2. click updater in the v...
pine wadi
#

this has now been addressed. currently, symlinks will have to be manually deleted to prevent modification of .shared.json files when .local.json files are added. if no .local.json files are present, .shared.json should not be overwritten. behavior will become fully correct once https://github.com/swellaby/vscode-workspace-config-plus/pull/144 is merged and a new Workspace Config+ release is cut.

GitHub

By symlinking settings.json to settings.shared.json and setting "workspaceConfigPlus.replaceMergedSymlinks": true in that file, users without Workspace Config+ will still use the shared s...

#

ugh, that repo had a bunch of little type errors

lime stone
verbal pumice
#

keep it forever

#

its natural selection

austere talon
#

^

olive aurora
charred monolithBOT
lime stone
#

intrusive thoughts

#

i could ban myself for thirty years~

pine wadi
#

write a plugin to keep yourself from doing it

olive aurora
#

write a builtin plugin that doesnt let people join this server

#

make them need to modify vencord to talk here

#

iq test

verbal pumice
#

true and real

lime stone
#

discord had a feature to have join applications

#

the moderators had to review them...

#

that would be great for this server!

willow garden
#

how would i install a custom plugin to vencord WHAT

#

linux

lime stone
#

hi linux

willow garden
#

hi :)

charred monolithBOT
austere talon
willow garden
#

yeah thats alot of work

#

i just want a bettersteaming plugin lmao

lime stone
#

hmm

#

has a plugin to stop those annoying resizing videos been made

tawny cipher
#

can't really fix that, corrupt webm metadata

lime stone
#

who thought, "yes we need a flexible format let's allow each frame to have a different size"

tawny cipher
#

hm, true, you can get the thumbnail size from attachments and embeds, and dunno perhaps like enforce the frame or whatever

#

not really a css person

charred monolithBOT
austere talon
#

should i just start porting the actual installer logic @spark cove

austere talon
#

up

woeful sable
#

me when cd vesktop

austere talon
#

real

spark cove
#

Yea do that imma get up and finish the ui

quick ibex
#

I dont get it, why are we rewriting the installer in electron?

#

Thought go was good enough

spark cove
#

Compatibility issues or something

#

Idk the cause exactly well I know is I've had the same issues before

charred monolithBOT
unborn garnet
#

merge merge merge merge

austere talon
#

real? @spark cove

#
document.getElementById("app").innerHTML = await Native.listInstalls()
    .map(i => `<p>${i.branch}: ${i.basePath}${i.isPatched ? " [PATCHED]" : ""}</p>`)
    .join("<br>");
#

so fire ๐Ÿ”ฅ

spark cove
#

LOL

#

Epic installer so epic

#

That's so real yess

#

I'm gonna got Popeyes rn

austere talon
#

lets make some dev branch

#

actually ig no

#

ill just push whatever

#

i just ported the go code

spark cove
#

Cus I have no perms

austere talon
#

what do u think this logs

austere talon
austere talon
#

okay fixed

#

this proabbly works

spark cove
spark cove
spark cove
austere talon
#

hmm

#

maybe instead of checking arguments we could check filename?

#

if file is named VencordInstaller, gui
if file is named VencordInstallerCli, cli

#

or is that too deranged

olive aurora
#

deranged

charred monolithBOT
lime stone
#

kekw

#

much kekw

austere talon
#

define crash

#

how did u crash

charred monolithBOT
austere talon
#

send the song

#

macos has HOME env var right?

#

works fine for me

#

run from command line and observe log output

azure jay
#

whats wrong with the go installer

#

why u porting it

#

@agile gull will hate that

agile gull
#

what are you doing to vencord installer

spark cove
#

mmmmm

austere talon
#

actually one thing

you cannot run electron as root

agile gull
#

it was the best client mod installer ever because it didn't bundle entire electon just to install a fucking client mod lmao

austere talon
#

maybe we make linux cli only

spark cove
#

u can just spawn

#

shell that wants to elevate

austere talon
#

kinda

agile gull
#

100 MB installer is just horror

austere talon
#

its like 65mb

austere talon
#

too many limitations

agile gull
#

what limitations

azure jay
#

horror

austere talon
#

gui lib is shit
doesnt run if u dont have good gpu

agile gull
#

because you used some imgui lib

#

guh

austere talon
#

???? the same applies to other native libs

#

code

weary cave
#

so true

azure jay
austere talon
#
spark cove
#

software renderer fallback

azure jay
lunar ravine
#

does linux even need an installer? i feel like people just use package managers lol

austere talon
#

linus torvalds brother

weary cave
agile gull
spark cove
#

dirkgreef

agile gull
#

i don't think so

#

but idk haven't tried it tbh

austere talon
#

it literally uses the same backend as the current one

agile gull
#

there's https://gioui.org/ too

austere talon
azure jay
#

but again, why not tui?

austere talon
#

cause not everyone is a programmer like you familiar with the terminal

spark cove
#

too many normal people use vencord atp

austere talon
#

youre being ridiculous

#

use terrible gui lib that has the same issues as the current one
tui!!!

no. there's a reason electron is so popular

agile gull
austere talon
#

no they cant

#

thats exactly the issue the current installer has

#

you need proper opengl support

spark cove
nimble pendantBOT
lunar ravine
spark cove
#

thats not what vee's sayin

lunar ravine
#

ah that's what it sounded like

spark cove
#

it takes forever to initialize on low end setups (sometimes never)

dapper galleon
#

Elon Spokojnie

austere talon
#

anyway just stop discussing this its pointless

spark cove
#

now to the real discussion

#

tauri port when

olive aurora
#

we should just make a one-click installer that kills ur computer if it fails

agile gull
#

and ven why electron when you want web ui?

#

there are web uis for go too

#

i even made httptoolkit run in one

spark cove
#

yea this is basically tauri equivalent

agile gull
#

yeh

spark cove
#

thing with electron is it will just work

charred monolithBOT
azure jay
#

what about qt

agile gull
#

there's also qt yeah

austere talon
#

can you stop with this now its annoying me

you are more than welcome to make your own installer if you care
the current installer has a ton of issues and electron will solve all of them

agile gull
#

and gtk

spark cove
#

qtgui is like 36mb

#

i dont think this is abouit file size atp

charred monolithBOT
austere talon
#

omgggggg i have to download a 65mb file this is truly 1984 !!!!!!!

azure jay
#

yop

austere talon
#

anyway we need to work out early how elevation will work

#

the easiest solution would be to just make linux cli only

lunar ravine
#

what does said installer actually install?

azure jay
#

vencork

charred monolithBOT
spark cove
lunar ravine
austere talon
lunar ravine
#

like browser extension? patching existing discord? vesktop?

spark cove
#

patching existing discord

austere talon
#

entirely different cursed idea:
make a minimal server that starts a websocket and opens a html file in your browser and that then talks to the server ๐Ÿ”ฅ

spark cove
#

expldo

cloud jolt
#

Hello, i was just wondering how does fake nitro work. Mainly how does the source streaming work? It's conecting to other users by PPP or just using discord cloud or something else?

lunar ravine
#

you wouldn't even need websocket

olive aurora
#

i feel like ive actually seen this before

#

i mean

lunar ravine
#

just route an http request via a form in the page

olive aurora
#

make it open a webserver

olive aurora
#

sane

spark cove
#

u mean the source option in the resolution?

cloud jolt
#

yes

spark cove
#

thats a normal discord feature

olive aurora
#

so it can also be entirely in memory

#

yk

#

good idea

spark cove
#

it just uses the resolution of the window / screen ur streaming

olive aurora
#

ship it

agile gull
spark cove
#

cursed

azure jay
#

yop i love

#

epic

austere talon
#

thinking about it more i feel like that might actually be a better idea than electron so we can avoid issues like having to elevate on linux somehow

basically start a web server & websocket as root and open either in browser or using webview

#

then the browser sends commands to the server and the server does

#

basically electron ipc but via websocket instead

cloud jolt
spark cove
#

oh no discord just accepts it

#

theres no checks

#

its just disabled in the ui without nitro

cloud jolt
#

lmao

#

ok

olive aurora
#

not hard to do this

#

u will do it in rus ๐Ÿ™

austere talon
lunar ravine
#

strings

austere talon
#

we'd have to unironically load like installer.vencord.dev that has the web part

spark cove
#

guhhh

#

guhguhguhgugh

lunar ravine
#

like whatever the equivalent of include_str!("installer.html") is in your language

olive aurora
#

the files dont have to be on disk dummy

cloud jolt
austere talon
#

wait this is cursed

#

we will do this

spark cove
lunar ravine
#

yup

agile gull
#

ven loves go:embed

austere talon
azure jay
#

why is it cursed

olive aurora
#

FUCK OFF

azure jay
#

its funne

austere talon
#

okay this is unironically viable @spark cove

spark cove
#

LOL

austere talon
#

embed svelte frontend into go binary and serve it via webserver

spark cove
#

ok thats easy

austere talon
#

then load that with web

azure jay
#

you could even launch the browser in app mode

austere talon
#

and start a websocket that the frontend connects to

spark cove
#

the build process in my

austere talon
#

and then sends commands back and forth

spark cove
#

fork is static alr

agile gull
lunar ravine
#

why would you need svelte? isn't this just like a path to install & go button?

spark cove
#

u make me want to cry e

austere talon
#

can you stop questionign every single bit

lunar ravine
#

fair

austere talon
#

this is gonna be really cursed but kinda good probably

azure jay
spark cove
#

i feel like we're just gonna use

#

like

#

xdg open

cloud jolt
spark cove
#

open.exe

azure jay
#

yeah probably easier

austere talon
#

thats not that user friendly maybe

#

would webview be better

spark cove
#

vee just get rusty

austere talon
#

hmmm webview would be kinda meh

#

maybe browser it really is

agile gull
austere talon
#

who wants to install webkit packages just for installer

#

noone

agile gull
#

well that's linux only issue

azure jay
#

why not just app mode browser if chromium installed

agile gull
#

on windows edge webview2 is preinstalled

spark cove
#

u have to detect the browsers

azure jay
#

theres probably a library for thet

spark cove
#

im gonna hop on gaming

austere talon
#

i think just open in default browser would be fine

agile gull
#

steal from chromedp

spark cove
#

lmk if installer becomes real

olive aurora
#

which("chrome")

agile gull
#

it has detecting chrome

austere talon
#

simply explode

spark cove
#

i wonder if localhost:8000 is gonna scare windows users

austere talon
#

probably

azure jay
#

just add 127.0.0.1 to installer.vencord.dev A record

spark cove
#

LOL

austere talon
spark cove
#

DO

austere talon
#

thatd be kinda real

azure jay
#

it does

austere talon
#

well u cant have port

spark cove
#

true

austere talon
#

duckdns can somehow do port

agile gull
#

but still it will be less scary to see installer.vencord.dev:blehbleh

spark cove
#

proxy probably

azure jay
#

maybe its not A record

charred monolithBOT
#

Discord Account

SomeAspy

What happens when the bug or crash occurs?

[small discussion about it in the #support channel](#๐Ÿฅ-vencord-support-๐Ÿฅ message)

Settings will be persisted across account changes, which has the possibility to cause issues on plugins that might rely on account specific data (such as pinDms pinning specific DMs)

What is the expected behaviour?

Settings should be unique to each account

How...

olive aurora
#

yeah A records cant have ports

#

i forgot the record type

#

but theres one w ports

azure jay
#

srv?

olive aurora
#

ya

spark cove
#

is there a standard srv for browsers

#

i feel like no

austere talon
olive aurora
austere talon
#

this would show which is kinda jumpscare

azure jay
#

arent you already running it as admin?

olive aurora
#

its dns

spark cove
#

srv records have to have a name

austere talon
#

hmm this is kjinda jumpscare

weary cave
spark cove
#

and the client thats accessing the domain has to intentionally look up and respect the record

#

so like do any browsers actually respect srv records

azure jay
charred monolithBOT
austere talon
#

how does duckdns do it

olive aurora
#

im pretty sure they all do

#

idk try it

#

ve

nimble pendantBOT
olive aurora
#

true

spark cove
#

ehhh idkk

austere talon
weary cave
spark cove
#

troll

#

chrome virus

weary cave
#

lmao

austere talon
#

hmm

#

we could also make it like load file url

charred monolithBOT
azure jay
austere talon
#

okay but seriously how does duckdns do it

spark cove
#

is duckdns the one doing the ssl

austere talon
#

yes

spark cove
#

or do u have ssl setup on your bitwarden

azure jay
#

letsencrypt probably

#

cuz everyone uses it

spark cove
#

they mean how does duckdns do port redirection

tawny cipher
austere talon
#

i have this

#

and then caddy locally handles it

spark cove
#

oh real lol

spark cove
#

thats what i figured

austere talon
#

it works nicely

azure jay
#

easy

#

just include caddy

#

in instalelr

spark cove
#

hijack their port 80

azure jay
#

and 443

austere talon
#

will self signed cert work

#

doubt

azure jay
#

no

austere talon
#

can u use this somehow

olive aurora
#

honestly just do localhost itsnot that bad

#

if they get scared away thats an iq test fail

austere talon
#

TLS handshake error from 127.0.0.1:51231: remote error: tls: unknown certificate

#

wtf

olive aurora
#

self signed cert will only work for u

austere talon
#

oh the bestie doesnt like it

olive aurora
#

whah

spark cove
#

the bestie doesnt like it
!!

olive aurora
#

WHO

agile gull
#

@austere talon other idea

#

just host frontend on guhhub pages

#

and connect to ws

#

that's how httptoolkit does it

#

trol

austere talon
#

yeah i already mentioned that above

#

but thats kinda RCE

#

since websocket will have native capabilities

azure jay
#

cant u setup it so it only works with one domain

agile gull
#

exactly ^

austere talon
#

ofc

agile gull
#

httptoolkit server is limited only to trusted domains

olive aurora
#

i mean people will only run that like once

austere talon
#

i mean that users would possibly not trust it

olive aurora
#

make the program exit once the ws is closed

#

oh

austere talon
#

but yeah we can probably just do that

olive aurora
#

idk

austere talon
#

wait

#

this is amazing actually if we do host it

#

cause then if you visit install.vencord.dev it will try to connect and if it cant it will give you file to download

#

and tells you to run it

#

๐Ÿ”ฅ

agile gull
#

yop

austere talon
#

this is gonna be fancy

azure jay
#

also people shouldn't cope about rce if you design the communication properly

olive aurora
#

i mean

#

how is it even rce

#

it could potentially overwrite files but thats only if u implement ur checks badly

agile gull
#

it will be limited only to like detecting discord install and installing vencord so

austere talon
#

well we can make it so that the web has no capabilities

agile gull
#

bleh

austere talon
#

like instead of adding arbitarry write ipc we will just add patch ipc that writes hardcoded files

azure jay
austere talon
#

^ yeah this

olive aurora
#

consider: dont

azure jay
#

yeah just respond to install or installcanary etc

austere talon
#

like if we made it so that

websocket.send({
  command: "writeFile",
  name: "C:/Some/Path/index.js",
  content: "evil stuffs"
})
#

this would be RCE

spark cove
#

WHY IS THIS CODE POPPING IN YOUR HEAD

austere talon
#

but instead we will just make it like

websocket.send({
  command: "patch",
  id: "1829192"
})
#

and it will be good

#

fire?

#

okay this is actually kinda fire ngl

#

jumpscare tho

azure jay
#

epic no more electron

#

i hate electron

austere talon
#

that's actually fire I will poc later

olive aurora
#

when ur not looking vap will riir ur installer backend

agile gull
austere talon
#

how else

agile gull
#

cmd.exe would be more backwards comaptible

#

bleh

austere talon
#

no

#

powershell always existed

#

it doesn't really matter

azure jay
#

what if someone tries to install on windows xp

olive aurora
#

why do you even have to invoke powershell cant u just run start

agile gull
olive aurora
#

or is start fake

azure jay
austere talon
#

start isn't an actual program

olive aurora
#

windows is fucked up

austere talon
#

it's a shell command

#

most things are shell conmands on Windows

#

that's also why current installer terminal jumpscares on Windows

#

hmm there's only one problem

agile gull
#

err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start()

#

even better

#

lmao

austere talon
#

horror

azure jay
#

insan

olive aurora
#

DO NOT

agile gull
#

why do not

austere talon
#

which is meh

agile gull
#

no shell overhead

olive aurora
#

overhead ๐Ÿ˜ญ

#

2 cpu cycles

#

WHO CARES

#

THIS IS GO

azure jay
agile gull
#

using shell will open a window for a microsecond

austere talon
#

this is actually gonna be so cursed but i love it

agile gull
#

windows user will say it is virus

austere talon
austere talon
olive aurora
#

free iq test

azure jay
#

ah then network jumpscare

austere talon
#

people complain a out that in support so much

#

it's so stupid cause why would anyone open a shell to nuke your pc they can just delete files directly

#

Windows users scared of terminal

agile gull
austere talon
#
func PreparePatch(di *DiscordInstall) {
    name := windowsNames[di.branch]
    fmt.Println("Killing " + name + "...")

    _ = exec.Command("powershell", "Stop-Process -Name "+name).Run()
}
#

this terminal jumpscares

azure jay
austere talon
#

can you show a message box from cli program

#

no right

agile gull
spark cove
#

is there a .browserlistrc but for cpu instructions

agile gull
austere talon
#

are u sure?

#

don't u need to be using winapi for that

olive aurora
#

vap

#

what are you cooking

agile gull
spark cove
austere talon
#
ret, _, _ := syscall.NewLazyDLL("user32.dll").NewProc("MessageBoxW").Call(
            uintptr(0), // hwnd (NULL)
            uintptr(unsafe.Pointer(Unwrap(syscall.UTF16PtrFromString(
                "Run me as a normal user, not administrator!\n"+
                    "If you didn't explicitly run me as Administrator, make sure you don't have UAC set to 'Never Notify'.\n\n"+
                    "VencordInstaller will close once you press OK.\n"+
                    "Alternatively, press Cancel to proceed anyway, but this may cause issues. Only choose this option as a last resort",
            )))),
            uintptr(unsafe.Pointer(Unwrap(syscall.UTF16PtrFromString("Do not run me as Administrator")))),
            uintptr(MB_OKCANCEL|MB_ICONEXCLAMATION), // flags
        )
#

I used this

spark cove
#

cooker

azure jay
olive aurora
#

unsafe

#

rust reference ? ? ? ? ???

agile gull
#

the one i sent has wrapper for all platforms

tawny cipher
austere talon
#

ig this is where we monorepo @spark cove

#

this is good right

austere talon
#

OHG YEAH

#

I NEED TO REQUEST INTELLIJ LICENSES

agile gull
#

insan

olive aurora
#

HOP OF INTELLIGUH

agile gull
#

(totally not a crack)

spark cove
#

ipfs real

austere talon
#

how many licenses do we need

olive aurora
#

0

agile gull
austere talon
#

i will request 5

spark cove
#

PCLMULQDQ

austere talon
#

oh

#

i said goland twice

charred monolithBOT
austere talon
#

AYOOOO

#

it failed to serialize the dioscords lmao

viscid rover
#

is there currently a way to patch into discord's voice module and get the voice stream for a specific user in a vc the user is in?

austere talon
#

well

#

the websocket backend will live along the rest of the installer

#

this is gonna be so fire

jagged cloak
#

chat so clutter shiggy

#

whats the ws for

charred monolithBOT
austere talon
#

it will be fire

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 508898
Match: /!([A-Za-z_$][\w$]*)(\)return null;var [A-Za-z_$][\w$]*=([A-Za-z_$][\w$]*)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
jagged cloak
#

o nice

frail skyBOT
#
Bad Patches

IgnoreActivities (had no effect):
ID: 133881
Match: /!([A-Za-z_$][\w$]*)(\)return null;var [A-Za-z_$][\w$]*=([A-Za-z_$][\w$]*)\.overlay.+?children:)(\[.{0,70}overlayStatusText.+?\])(?=}\)}\(\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Unable to process domain list delta: Client revision number is null
%c[FetchBlockedDomain] 
font-weight: bold;
color: purple;
 Downloading the full bad domains file ```
charred monolithBOT
cunning canyon
#

that wont give you badge trolley

alpine timber
#

Tuff lol

olive aurora
#

we should add a stupid people badge

#

for people who try to get badges

alpine timber
#

Badge goblins

solemn glacier
#

hacktoberfest

pine topaz
olive aurora
#

self-react

#

skull emoji

spark cove
#

refined github so real

charred monolithBOT
austere talon
austere talon
spark cove
charred monolithBOT
#
[Vencord/Installer] New branch created: webinstaller
austere talon
#

@spark cove

spark cove
#

o

#

branch

austere talon
#
const (
    OpError             = "ERROR"
    OpOk                = "OK"
    OpListInstalls      = "LIST_INSTALLS"
    OpPatch             = "PATCH"
    OpUnpatch           = "UNPATCH"
    OpRepair            = "REPAIR"
    OpInstallOpenAsar   = "INSTALL_OPENASAR"
    OpUninstallOpenAsar = "UNINSTALL_OPENASAR"
)
#

this is what it supports for now

#

you send payload like this

#
type Payload struct {
    Nonce string          `json:"nonce"`
    Op    string          `json:"op"`
    Data  json.RawMessage `json:"data"`
}
#

it replies back with same nonce and either OpError or OpOk

#

if OpError it gives message

spark cove
#

ez

#

do i have push access or ability to make new branch or smth

austere talon
#

where

#

what repo

austere talon
spark cove
#

idk are we monorepoing

austere talon
#

idk why its massive

austere talon
spark cove
#

ok real

austere talon
#

cause it needs to be in installer repo

#

so it can use imports

spark cove
#

huh

#

where are u thinking i should put the svelte code

#

rn

austere talon
#

different repo idk

#

like

#

put in Vnstaller or some shit

#

or uhm

spark cove
#

troll

austere talon
#

wait

spark cove
#

ok i'll put it in vinstaller

austere talon
#

nono

#

do i make public

spark cove
#

meh

#

ok i put there

austere talon
#

btw

#
var upgrader = websocket.Upgrader{
    CheckOrigin: func(r *http.Request) bool {
        return r.Header.Get("Origin") == "https://vencord.dev"
    },
}
#

just uh

#

change this to whatever u use for now

spark cove
#

yop

austere talon
#

Also don't focus on design rn

spark cove
#

i already did the design last night

austere talon
#

we should probably make style similar to the normal website

austere talon
#

hmm

spark cove
#

i used the

#

syn design

austere talon
#

ohhh fire

spark cove
#

he did alongside the webdesign using same design stuff

#

๐Ÿ”ฅ

austere talon
spark cove
#

i just have to make buttons do the button stuff

#

ye e

austere talon
#

idek if we need nonce cause there probably won't be concurrent requests

#

but imo better to have

#

just to make sure

spark cove
#

yea no definitely keep nonce

#

cus i will use to make them promises

austere talon
#

yeah but the installer isn't thread safe anyway

spark cove
#

yea lmoa

austere talon
#

So concurrent requests shouldn't happen

spark cove
#

just in case

austere talon
#

oh also port

#

I used some arbitrary port

#

we should probably make it try a range of ports once done

spark cove
#

oh wait just relized

#

this wont work on safari

austere talon
#

why

spark cove
#

safari doesnt allow connections to localhost

#

i think

austere talon
#

doubt

#

how else would you like develop shit on Safari

spark cove
#

no i mean like

#

oh wait no im thinking of

#

u cant connect to localhost from non-localhost origins

#

might be smoking drugs

#

teehee

austere talon
#

I think we can do update check and stuff inside browser m

#

when you connect to websocket it could immediately send you the native installer version and some more info

spark cove
#

yee

austere talon
#

but technically it should already have full functionality now, other than custom path

spark cove
#

theres an area for that

austere talon
#

for custom path we can just use html directory picker I think

#
<input type="file" webkitdirectory directory />
#

is this real

olive aurora
#

why webkitdir

austere talon
olive aurora
#

just dir works

#

oh

#

nvm

austere talon
#

doesn't

olive aurora
#

the other way

spark cove
#

REAL

austere talon
#

it doesn't...

#

it just gives you the files in that dir

spark cove
#

fake

olive aurora
#

fake

austere talon
#

it's joever

spark cove
#

oh yea wait this isnt a thing on web

austere talon
#

question is do we even need custom dir option

#

I don't think anyone ever used it for a valid discord install

olive aurora
#

true

#

keep it cli only

austere talon
#

we could just leave it out and if noone complains we good

spark cove
#

yea

#

if they need it then

#

can just be raw path

#

no ui needed

austere talon
#

true

spark cove
#

or leave it for cli only

austere talon
#

once it's done we should reconsider whether using some webview thing would be good

spark cove
#

yea

olive aurora
#

or like

#

just make user pick asar

spark cove
#

mm

austere talon
#

we need the directory it's at

olive aurora
#

m

spark cove
#

make user pick dir

#

give us perms to dir

#

we write insane file name

#

and search whole pc for file name

#

this is a good idea trust

olive aurora
#

A file input's value attribute contains a string that represents the path to the selected file(s).

#

try

austere talon
#

I don't think you can write files

spark cove
#

u can

austere talon
olive aurora
#

cringe

spark cove
#

theres a file system api

olive aurora
#

ig it makes sense since people would keep leaking their real names lmaooo

#

why do so many people put their real name on their pc

austere talon
#

yes

spark cove
#

mine is super

#

cus it cut off my email

olive aurora
#

it's cuz you're super

#

du

spark cove
#

supa

olive aurora
#

dummy

spark cove
#

mf doom

olive aurora
#

super GAY

#

fa

spark cove
#

J%#<@&1118512957396107336>$IQWTHEP#

austere talon
#

my windows name is ven

#

I wanna change it to vee but major inconvenience

spark cove
#

yea

olive aurora
#

shrimply shiddohwell

austere talon
spark cove
#

this is so sad

olive aurora
#

data is stored in the balls

spark cove
#

i just remember i have a 2tb drive that still is broken

#

my arch install so sad

austere talon
#

the name nvme volume implies your c isn't an nvme

#

and now I'm worried

spark cove
#

no just sata ssd

austere talon
#

uh oh

spark cove
#

ttrolley

austere talon
#

both my drives are nvmes

spark cove
#

i think i only have 1

#

slot

#

m.2

austere talon
#

I have one more left

olive aurora
#

nvm drive

charred monolithBOT
olive aurora
#

my second ssd is just my dvd reader plugged off and replaced w that

#

i love thinkpads

spark cove
#

LOL

rancid dragon
#

i have two network locations that always forget their passwords when i turn on my computer

olive aurora
#

no it so funny theres like

#

a lil lock below the laptop

#

you just slide it

#

and then theres another slide

#

u pull off ur dvd reader

#

wth sata is hotpluggable

jagged cloak
#

of sillyness

#

separate badge for readme changes trolley

weary cave
jagged cloak
#

husk

weary cave
#

990 pro and 980 pro

#

zoom

azure jay
lime stone
#

hm

#

big hmm

teal halo
#

p0 PR

tawny cipher
torn knot
teal halo
#

priority 0

#

highest prio

torn knot
#

doesn't really make sense for a pr that just fixes a string to be high priority

teal halo
#

thatโ€™s the funny thing

charred monolithBOT
tawny cipher
# torn knot p0?

p0/p1 are classified as highest prio because they crash the client

torn knot
#

I mean

#

this won't crash the client

#

it just create a lot of visual inconsistencies

tawny cipher
#

yes lumap was being funny, dtesters mentality

torn knot
#

ye ik

#

dtester?

charred monolithBOT
charred monolithBOT
teal halo
# charred monolith

me when you can install 3 different instances of discord and only install vencord on one of them or use vesktop or use web

charred monolithBOT
austere talon
#

like gtk or qt on linux, winforms on Windows, etc

slender pewter
#

how tal in css channel?

#

talk*

charred monolithBOT
slender pewter
olive aurora
#

god just close that pr

slender pewter
#

i dont know or use github

#

i just wanna give and post my css

slender pewter
#

gh is confusin to use

tawny cipher
austere talon
#

how is it not great

#

it contains all the info you would want

slender pewter
#

HELLOOOO????

tawny cipher
#

the grammar points they made and the casing consistency were valid

#

but the rest was unnecessary changes

austere talon
#

most of those changes were unnecessary and the rephrased sentences sounded worse after the fact

slender pewter
#

is any1 gon help me or uh

tawny cipher
#

I mean I fixed it in the review comments kyujinkek

austere talon
#

can you stop being annoying oh my god

slender pewter
#

it can happen again

austere talon
#

though i will never not heavily dislike readme prs

#

vban @slender pewter annoying + "it can happen again"

royal bane
#

shouldve asked him to run vyeet <@&1118512954137128961>eii trolley

tawny cipher
austere talon
tawny cipher
#

I used to do a lot of djs docs so I just kinda have a habit of reviewing language PRs

torn knot
#

in the topic of readmes, are you planning on making localized readmes?

austere talon
#

nohusk

#

if anything the readme should be refactored to remove most content and direct people to our website instead

#

then put the content on the website

torn knot
#

idk, I have seen it be done one too many times

#

but it is just extra work for nothing in the end

tawny cipher
#

did you happen to like or dislike the proof of concept repo for autosupport btw, just wondering if I should keep it around

lime stone
#

I feel like the ban threshold has got a bit too low

lime stone
#

i think everyone can be annoying at times

#

I definitely can lol

weary cave
lime stone
#

yeah but they weren't being very annoying

weary cave
#

They were

lime stone
#

*very

weary cave
#

They wouldn't have contributed anything meaningful anyway

lime stone
#

yesterday somebody mentioned me 13 times

weary cave
#

@lime stone

#

@lime stone

#

I would have done it 11 more times if I was ballsy

lime stone
#

well, they also called me the n word (I'm white though, so it was weird) so I banned them

weary cave
#

Lol

lime stone
#

they were pretty much trolling

royal bane
#

average newjoin

lime stone
#

i think it was somebody ban evading too lol

austere talon
austere talon
lime stone
#

may have just been a typo

#

their last message didn't make sense to me

azure jay
austere talon
#

no

lime stone
austere talon
#

you need a gui lib

weary cave
austere talon
#

๐Ÿค”

#

how

torn knot
# austere talon no

technically speaking there are, just, in the form of a design language that you have to follow

charred monolithBOT
royal bane
#

husk

charred monolithBOT
torn knot
#

and microsoft has very detailed documentation on all of their design languages

#

for all win32, uwp/winui2 and winui3

charred monolithBOT
olive aurora
#

HSUT UP

austere talon
torn knot
#

oh

austere talon
#

you cannot open a file picker dialog without using a gui lib

torn knot
#

sorry, I misunderstood

austere talon
#

you need something like winforms to use the winforms picker

torn knot
#

I thought that they just all make calls to the windows exporer on windows

lime stone
# austere talon how

firstly, I don't think people would unironically threaten to be slightly annoying that seems like a joke

torn knot
#

since the ui is part of it, I would assume

austere talon
torn knot
#

seen it one too many times on bd, ppl just being extremely entitled and shit

torn knot
#

wait, that's the winforms api

austere talon
#

but that's very cursed

torn knot
#

it very much is

olive aurora
#

myusefulrepo

austere talon
#

and that only covers Windows, now you also need to implement it for Mac and Linux

torn knot
#

winforms are already shit as they are

olive aurora
#

simply bundle tcl

torn knot
austere talon
#

this shit is fire ๐Ÿ”ฅ

#

it doesn't even open a gui window so it's not a viable solution

torn knot
austere talon
#

on linux it seems not possible without some dependency the user would need to install

torn knot
#

Isn't there any sort of global api call that initiates the file dialog UI of the default file manager?

torn knot
#

macos just has finder, so this should also be straightforward

austere talon
#

but that still doesn't cover Linux and now you already nerd to write two native scripts

olive aurora
austere talon
#

fire

olive aurora
#

tk_chooseDirectory

#

yop

torn knot
#

tiling manager SKULL_SKELETON

charred monolithBOT
azure jay
#

does this require gpu? cuz i feel like it doesnt

agile gull
#

you don't need gui lib

#

for sqweek/dialog

austere talon
#

then give me code

agile gull
#

ok := dialog.Message("%s", "Do you want to continue?").Title("Are you sure?").YesNo()

#

guh

austere talon
#

dialog picker

agile gull
#

it calls win32 dll on guhdows

azure jay
agile gull
olive aurora
#

uninstalling gtk

austere talon
#

Also this still uses gui libs bleh just abstracts it away for you

#

thanks though I will try that lib

austere talon
#

I don't think 100% will have gtk

#

but they will simply cope

olive aurora
#

i dont think electron even runs without gtk

#

i remember it being a dep

agile gull
#

yeah electron has gtk as runtime dep on linux too

olive aurora
charred monolithBOT
olive aurora
#

skull

austere talon
#

thank you

charred monolithBOT
austere talon
#

@spark cove when r u gonna push ur web installer progress?

#

(no rush or anything, take ur time, just asking cause i wanna experiment with it as well)

limber skiff
#

what are you guys doing with the go installer?

austere talon
woeful sable
#

ven removed banana from vinstaller :(

austere talon
limber skiff
#

ooo

austere talon
#

it makes u run a small daemon on your system

#

the web part interfaces with it via websocket

limber skiff
#

did you ditch the electron idea

woeful sable
austere talon
#

not deployed yet

austere talon
woeful sable
#

LOL

limber skiff
#

icic

#

seems cool

austere talon
limber skiff
#

hot

woeful sable
austere talon
#

wdym

woeful sable
#

vinstaller

#

or are you just going with web installer

austere talon
#

vinstaller is already cancelled

#

we will keep using the old go installer but repurposing it to a simple daemon and the gui will be in ur browser

#

i already did most of the work

austere talon
#

the way it'll work is you just visit https://install.vencord.dev in ur browser, it makes u download and run the exe, then connects to the exe via websocket and the entire ui is in ur browser

#

will be cozy

woeful sable
#

can we continue using the exe? terrorist

austere talon
#

i know but its also hot

austere talon