#πŸ‘Ύ-core-development

1 messages Β· Page 195 of 1

crude hearth
#

createSummaryFromServer

#

I think that causes the issue but whyy

desert cosmos
#

this is actually so cool

crude hearth
#

I came into conclusion that I have zero idea what is happening idk why messages wouldnt be an array, and I dont even touch messages partition. e.messages arent even a thing in gateway message since they get converted later

#

nvm its canary issue trolley

glass jasper
limber skiff
#

no one mentioned that here blobcatcozy

#

I appreciate the known issue however we also need to be made aware of it

charred monolithBOT
austere talon
#

cause it resets gateway

austere talon
limber skiff
#

oh

#

my bad, I was the one who didnt see it

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

sorry sunniee

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
odd heath
austere talon
#

so every time u get a summary update it reconnects to gateway

odd heath
#

silly

limber skiff
#

does the summary error still need a fix

austere talon
#

its still broken

#

cause of dupe find

limber skiff
#

are you gonna fix it or you want me to do

austere talon
#

manti was fixing it

#

but u can

#

mantri slow

limber skiff
#

aight

#

oh yeah it's my fault

#

I wrote this find

charred monolithBOT
rugged spire
#

@austere talon be like

limber skiff
#

you could instead do messages:

#

since the one we want is the one that includes messages

#

but it works either way

austere talon
#

isnt it other way round lol

rugged spire
#

and you too @limber skiff

limber skiff
#

is it?

odd heath
#

yeah its nuckyz xd

austere talon
#

this is what we want

rugged spire
#

yeah im still waking up too

limber skiff
#

oh right

#

it's the other way around

crude hearth
limber skiff
#

I was looking at it and confused myself

crude hearth
#

it causes error

limber skiff
#

yep

charred monolithBOT
rugged spire
# austere talon

wtf is summShort 😭 are they really abbreviating that too

limber skiff
#

let me see what this one even is

austere talon
#

some insane

#

WHAT THE HELL IS LOAD_GRAVITY_HYDRATED

limber skiff
#

LOL

austere talon
#

GravityStore

#

@median rapids wtf is GravityStore bro

long stream
#

you didn't know? the discord client controls the world's gravity now blobcatcozy

limber skiff
#

wtf is that lmaooo

austere talon
long stream
#

/j

austere talon
#

the hell is that insanity

long stream
#

oh its related to the incase you missed it tab

#

probably a codename or something then

limber skiff
#

looks like this duplicate is something new

#

it doesnt exist on non mangled build

median rapids
#

but I think they reused some home stuff

#

so I'm excited

#

(well as excited as any discord feature can make me anyway sk)

austere talon
#

i finally figured out why dolfies is so obsessed with server home

long stream
#

oh is it a mobile experiment

long stream
#

the build where it appeared in also includes stuff for mobile like the launchpad

charred monolithBOT
crude hearth
charred monolithBOT
rugged spire
#

Improve SupportHelper trolley

austere talon
#

yep

limber skiff
#

I need to update typings to include LOAD_GRAVITY_HYDRATED πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯

austere talon
#

noppp

crude hearth
#

yop we need that

fiery jungle
crude hearth
#

forced pull request review

charred monolithBOT
austere talon
#

you will match literally any function

#

if they ever add a new func to the file you might brick discord

fiery jungle
#

guh

limber skiff
#

look we have a new find

austere talon
#

match this instead

austere talon
austere talon
limber skiff
#

nah

austere talon
#

they add new ones so often

#

no point updating it

#

only update if needed

limber skiff
#

it gives all the exports

#

wait that's the wrong one haha

charred monolithBOT
limber skiff
#

should we add mapMangledModule to console shortcuts?

rugged spire
#

i need advice

#

how do I tell end users of my channeltabs fork that im not fixing it and that it's getting a rewrite instead

turbid hatch
#

"hey folks, i'm not fixing the channeltabs fork and i'll be rewriting it instead"

rugged spire
#

guh

#

at this point I think I've accidentally convinced people it is The ChannelTabs too 😭

#

which is why I must Be Careful with it

fiery jungle
#

okay i fixed

charred monolithBOT
limber skiff
#

btw here's a filter to remove a lot of annoying warnings from devtools console

#
-/prefetch-src/ -/Window\sstate\snot/ -/sh\sis\snot/ -/notosans-400-normalitalic.woff2/ -/use\s`subscribeWithSelector`/ -/'message' handler/ -/Tried\sgetting\sDispatch/ -/Forced\sreflow/ -/handler\stook/ -/Slow\snetwork\sis/ -/'interest-cohort'/ -/Unable\sto\sdetermine\srender/
#

paste here

#

that's so coool

charred monolithBOT
limber skiff
#

something happened here

#

can anyone confirm it happens to you too?

#

well they just pushed a build so

austere talon
#

horror

#

its on stable too

limber skiff
#

I dont know much of css

#

help me here

#
[class*="avatarWrapper"]:has([class*="canCopy"]) {
    min-width: 88px !important;
}
#

I want to select avatarWrapper that has the canCopy child

austere talon
#

yeah that works

#

but 92px is better

limber skiff
#

it doesnt though

median rapids
#

I'm excited abt you πŸ₯Ί

limber skiff
#

the css didnt apply

austere talon
#

nvm 88px is correct

limber skiff
#

it does work

austere talon
#

but it looks off to me

#

do u have ur css off or forgot to build lol

abstract badge
limber skiff
#

neither

austere talon
#

anyway it works

median rapids
#

it lags the devtools and randomly stops filtering for a few secs

limber skiff
#

okay so now it worked

limber skiff
#

no way

#

electron loves breaking stuff

austere talon
limber skiff
limber skiff
#

other classes have the same name

austere talon
#

use this

limber skiff
#

so panels -> container -> avatarWrapper?

austere talon
#
[class*="panels"] [class*="avatarWrapper"] {
    min-width: 88px !important;
}
limber skiff
#

oh

austere talon
#

managed css cant hot reload

#

only unmanaged

limber skiff
#

ah

#

I see

charred monolithBOT
limber skiff
#

I removed the !important since it's more specific now

charred monolithBOT
limber skiff
#

bad msg

charred monolithBOT
rapid merlin
charred monolithBOT
rapid merlin
#

probably fastest bug fixing ever

charred monolithBOT
limber skiff
#

most force pushed branch

rugged spire
#

real

limber skiff
#

Vencord: v1.9.0 β€’ 495da113 (Dev) - 21 Jun 2024
Client: stable ~ Discord Desktop v1.0.9151
Platform: Win32
Last Crash Reason: N/A
⚠️ Vencord DevBuild
⚠️ Has UserPlugins

#

Enabled Plugins (96):

AlwaysTrust, AutomodContext, BetterGifAltText, BetterRoleContext, BetterSettings, BiggerStreamPreview, CallTimer, ClearURLs, ClientTheme, ConsoleShortcuts, CopyEmojiMarkdown, CopyUserURLs, CrashHandler, Dearrow, Decor, DisableCallIdle, DontRoundMyTimestamps, EmoteCloner, Experiments, FakeNitro, FakeProfileThemes, FavoriteGifSearch, FixSpotifyEmbeds, FixYoutubeEmbeds, ForceOwnerCrown, FriendsSince, GameActivityToggle, GreetStickerPicker, IgnoreActivities, iLoveSpam, ImageZoom, ImplicitRelationships, MaskedLinkPaste, MessageClickActions, MessageLatency, MessageLinkEmbeds, MessageLogger, MoreUserTags, Moyai, MutualGroupDMs, NewGuildSettings, NoDefaultHangStatus, NoDevtoolsWarning, NoOnboardingDelay, NoPendingCount, NormalizeMessageLinks, NoScreensharePreview, NoUnblockToJump, NSFWGateBypass, PauseInvitesForever, PermissionFreeWill, PermissionsViewer, petpet, PinDMs, PlatformIndicators, PronounDB, ReactErrorDecoder, ReadAllNotificationsButton, ReplaceGoogleSearch, ReplyTimestamp, RevealAllSpoilers, ReverseImageSearch, ReviewDB, RoleColorEverywhere, Summaries, SendTimestamps, ServerInfo, ShikiCodeblocks, ShowAllMessageButtons, ShowConnections, ShowHiddenThings, ShowTimeoutDuration, SilentMessageToggle, SortFriendRequests, SpotifyControls, SpotifyCrack, StartupTimings, SuperReactionTweaks, ThemeAttributes, TimeBarAllActivities, Translate, TypingIndicator, TypingTweaks, UnsuppressEmbeds, UserVoiceShow, USRBG, ValidReply, ValidUser, VencordToolbox, ViewIcons, ViewRaw, VoiceDownload, VoiceMessages, VolumeBooster, WatchTogetherAdblock, WhoReacted
```**Enabled UserPlugins (1):**

AliucordDetector

rugged spire
#

im about to force push over my own forks stable branch

limber skiff
#

leaked

rugged spire
#

πŸ‘€

limber skiff
#

that is not the commit of my version

#

Vencord: v1.9.0 β€’ 3a5859b8 (Dev) - 21 Jun 2024
Client: stable ~ Discord Desktop v1.0.9151
Platform: Win32
Last Crash Reason: N/A
⚠️ Vencord DevBuild
⚠️ Has UserPlugins

#

oh now it's right

crude hearth
limber skiff
#

OH MY GOD

#

WHAT IS THIS

crude hearth
#

I cursed your client

austere talon
limber skiff
crude hearth
#

Force push and I will curse you aswell

limber skiff
#

let me switch to dev and see if it happens

#

it does not

#

what did I break...

#

class probably

#

bet it's a duplicate find

#

it is not..

#

how come...

#

oh wait

#

in one it's Today at...

#

the other it's just 7:07pm

#

this is the issue I think

austere talon
#

spotifycontrols broke i think

frail skyBOT
#
Bad Patches

SpotifyControls (found no module):
ID: -
Match: ```
showTaglessAccountPanel:

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

SpotifyControls (found no module):
ID: -
Match: ```
showTaglessAccountPanel:

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

glass jasper
#

ripπŸͺ¦

austere talon
#

im fixing rn

limber skiff
#

woah why is dateformat not the right one

austere talon
#

ahahhaha

austere talon
#

hmm

#

that didnt go right

#

please stop pring from main branch

#

it makes everything behave weird

#

use feature branches

charred monolithBOT
#
[Vendicated/Vencord] New branch created: MrDiamondDog-online-themes
limber skiff
#

@austere talon this is some weird esbuild error?

#

why is it using the value from the review db component

charred monolithBOT
limber skiff
#

or maybe this is a devtools mistake

#

because of the source map

limber skiff
#

oh

#

it is a devtools mistake

#

it's showing the value of the wrong variable when I hover

#

it's a duplicate find...

charred monolithBOT
limber skiff
# austere talon what?

to clarify devtools was showing the wrong value for the variable because of duplicate name
and the actual issue was the find for dateFormat was duplicate and since I changed the order it does mapMangledModule mappings it was matching the wrong function

austere talon
#

why change the order

#

i deliberately made it so it matches from top to bottom

#

sometimes you need to order correctly for it to work

limber skiff
#

well that could have been documented

#

I changed because I wanted to be able to break out of the new name loop instead of the export loop

#

it's still matching from top to bottom, but it prioritizes the order of the mappers

charred monolithBOT
austere talon
#

anyway we should make smth that automatically runs reporter on new discord build

fiery jungle
#

is using regex that matches balanced brackets okay in patches
or is it too slow

austere talon
#

and search for ur plugin name

#

look for Patch by Balls took ...ms

shell shuttle
#

πŸ’€

sterile oak
#

vee are you aware of PopoutActions doesn't apply css by quickcss or plugins; even if the style is applied into the component directly?

austere talon
fiery jungle
#

how do i get unformatted module by id

limber skiff
#

Vencord.Webpack.extract

#

or wpex if console shortcuts

#

then disable pretty print

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

foggy basin
#

yippee!!

charred monolithBOT
#
[Vendicated/Vencord] New tag created: v1.9.1
charred monolithBOT
austere talon
#

horror

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

jagged cloak
#

oh real i just changed my css for that lmao

spark pivot
#

anyone know whats going on i cant figure it out

limber skiff
#

vencord loaded too late perhaps

#

or localStorage just wasn't accessible somehow

#

I dont know what causes that, maybe vee knows

jagged cloak
#

ive only ever seen that error on web so mayhaps

austere talon
#

something to do with cache

#

or having two vencord's

#

extension + userscript

austere talon
#

sometimes it caches webpack stuff and it loads quicker than vencord somehow

limber skiff
#

the extension is marked to load before the website

#

if it was related to that many other people would have issues

austere talon
#

nah its actually cache lol

#

will have to experiment a bit more with this tmrw, maybe i can do smth about it

limber skiff
#

it shouldnt happen in chrome

#

before any other script is run

#

I don't really see how this rule would fail

#

and vencord is fully sync which means it should for sure run before anything else

austere talon
#

which then adds a script tag

grave mangoBOT
limber skiff
#

oh

#

now we have an issue

#

cuz well as soon as we do that we are no longer guaranteed to run before anything

#

and vencord really depends on that, it's impossible to avoid

#

and yeah, you are right

#

@austere talon lmaooo 😭

#

how long has this been an issue...

jagged cloak
#

at least a year

#

search getItem

#

and sort by oldest lol

limber skiff
#

well

#

not to be mean or anything but we know very well this is not the right approach

austere talon
#

there is no better way i don't think

#

and script should be sync

#

see where it's appended

#

if it's below discord scripts thats maybe why

limber skiff
#

it's in the document element

austere talon
#

it's the very first script

#

anyway i'm gonna sleep

#

feel free to experiment further if you want

#

the content script is wrong context so that's why script tag

limber skiff
#

maybe we should just avoid isolated context

#

if using a script tag doesn't work it's the only other way

austere talon
#

?

#

what

#

the only way to run in the page context is to use a script tag

limber skiff
#

you can change the world

#

but then you can't use browser.runtime.getUrl

austere talon
#

ohh interesting

austere talon
#

well we do

limber skiff
austere talon
#

you can have a separate script that does it

austere talon
austere talon
limber skiff
#

well then we can move to non isolated world

austere talon
#

try it

limber skiff
#

which means content.js will inject vencord

#

and that's always the first thing

#

how?

#

I dont know how to acess the vencord script from content.js

austere talon
#

just inject it directly

#

get rid of content.js

#

put the vencord bundle as content script with world main

limber skiff
#

oh

austere talon
#

and have a separate content script that adds the css

#

i think im gonna pull all niggter

#

im tired but need to fix my sleep schedule

limber skiff
#

shutt up

#

grr

austere talon
#

just remove that for now

limber skiff
#

works

austere talon
#

oh damn

austere talon
limber skiff
#

I didnt do the css part but yeah

limber skiff
austere talon
limber skiff
#

and it's gonna start to happen somehow

#

until it randomly turns consistent

#

dont ask me how

#

but yeah world: "MAIN" is awesome

#

I found about that making vencord-remote extension

austere talon
#

ohhh

limber skiff
#

beautiful

austere talon
#

well see if you can still repro the issue?

#

guh im so tired

limber skiff
#

nah it's impossible to fail now

#

it's executing vencord before anything else

austere talon
#

have u tested

limber skiff
#

yeah I put breaking points

austere talon
limber skiff
#

let me just fix the css

austere talon
#

ofv

austere talon
#

just put some meta tag in head

limber skiff
#

oh right

austere talon
#

or maybe use window.postMessage idk

#

that's probably cleaner

#

that's really nice tho

#

maybe will fix samaras safari issues too

#

ill have her test once we got it working fully

limber skiff
#

I never did extensions so I'm a little confused

#

but you want me to put those in the head

#

however in "MAIN" world we cant access browser.runtime.getUrl, getManifest

austere talon
#

you need a second content script

#

that's isolated

#

but dw i can do it lol

limber skiff
#

I will create a branch

#

fix this for me

charred monolithBOT
#
[Vendicated/Vencord] New branch created: main-world-extension
austere talon
#

thanks

#

ill do rest

limber skiff
#

no prob haha

#

I can't believe vencord was loading sync all this time on web

austere talon
#

async u mean

#

but it shouldn't be?

limber skiff
#

ye async

austere talon
#

script tag is literally blocking

limber skiff
#

yeah idk why

#

I tried script.async = false too

#

changed nothing

austere talon
#

it has to be blocking

#

idk how it isn't

limber skiff
#

maybe it's something to do with the fact that it's a chrome extension url

#

they see that it turns async

austere talon
#

maybe content.js runs same time as the document?

#

in a different thread

#

so race condition where sometimes it puts script later?

limber skiff
#

doubt

#

it's set to document_start

#

which is before any page script is ran

#

it would be horrible if it didnt follow it's own rule

austere talon
#

no i mean like

#

maybe chrome runs both the website and content.js at the same time

#

in different threads

#

so if you have tons of extensions it doesn't make page loading slow

limber skiff
#

oh

#

let me test a thing

austere talon
#

anyway i'll finish ur branch

limber skiff
#

do you know the script that does FAST CONNECT

#

the one placed inside the dom

#

when that one is ran we already have our vencord script in the html

austere talon
#

?

#

oh

limber skiff
#

and it still ran too late

#

it just seems to be async for some reason

#

either way it doesn't matter

#

the "MAIN" approach is more clean and less likely to cause issues anywways

austere talon
#

there

charred monolithBOT
limber skiff
#

nice

#

testing

austere talon
#

it works

limber skiff
#

another solution would maybe put vencord as innerText of the script

#

but whatever haha

austere talon
#

😭

#

this is best

limber skiff
#

it is

austere talon
#

and see if it fixes the cache issues

limber skiff
#

where is that metadata used?

#

Vencord: v1.9.1 β€’ 4fbf06b2 (Web) - 22 Jun 2024
Client: stable ~ Web (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36)
Platform: Win32
⚠️ Has UserPlugins

limber skiff
#

how do I have user plugins on web

#

oh wait nvm

austere talon
#

the version is unused for now

#

but the base url is needed to load assets

limber skiff
#

oh

#

works

#

nice

grave mangoBOT
# austere talon https://github.com/Vendicated/Vencord/blob/main/browser/VencordNativeStub.ts#L79...

VencordNativeStub.ts: Lines 79-87

async openEditor() {
    const features = `popup,width=${Math.min(window.innerWidth, 1000)},height=${Math.min(window.innerHeight, 1000)}`;
    const win = open("about:blank", "VencordQuickCss", features);
    if (!win) {
        alert("Failed to open QuickCSS popup. Make sure to allow popups!");
        return;
    }

    win.baseUrl = EXTENSION_BASE_URL;

monacoWin.html: Lines 26-34

const script = document.createElement("script");
script.src = new URL("/dist/monaco/index.js", baseUrl);

const style = document.createElement("link");
style.type = "text/css";
style.rel = "stylesheet";
style.href = new URL("/dist/monaco/index.css", baseUrl);

document.body.append(style, script);
limber skiff
#

yep, makes sense

austere talon
#

technically not needed for now because it's always chrome-extension://bikmehnoghcbakknhjfhmpoelnlkedce/

#

that's just the extension id

#

but

  1. if we don't hardcode, you can also build from source and have it work
  2. there's a setting to anonymise the urls, because in the old state, any website can check if you have specific extensions installed https://z0ccc.github.io/extension-detector/
limber skiff
#

😭

austere talon
#

😭

limber skiff
#

that's actually crazy

woeful sable
#

bitwarden gang

austere talon
#

but it also means that any website can just try to fetch it too

#

to see if you have the extension installed

limber skiff
#

funny

austere talon
limber skiff
#

discord is going to make a vencord detector that way

austere talon
#

😭

limber skiff
#

oh my fucking code

#

FIREFOX IS SO SHIT

austere talon
#

but it means you have to always use browser.runtime.getURL

austere talon
#

well

limber skiff
#

do we care about firefox or

austere talon
#

ahahahah its literally just firefox

limber skiff
#

they are so stupid

austere talon
#

wait its fixed?

#

25 days ago

limber skiff
#

no way

austere talon
#

its in 128

limber skiff
#

lets go

austere talon
#

soon...

limber skiff
#

I mean we could set innerText of script but

austere talon
#

nah

#

fuck firefox for now

limber skiff
#

we can probably just not care and wait for firefox

austere talon
#

wait for 128

limber skiff
#

yep

austere talon
#

we only support userscripper on furry browser

#

iirc userscript doesnt have this issue?

limber skiff
#

probably doesnt

austere talon
#

try maybe

limber skiff
#

how does userscript even load css

#

is it bundled into it

#

because I see Vencord.user.css

grave mangoBOT
# austere talon https://github.com/Vendicated/Vencord/blob/main/scripts/build/buildWeb.mjs#L183-...

buildWeb.mjs: Lines 183-194

const appendCssRuntime = readFile("dist/Vencord.user.css", "utf-8").then(content => {
    const cssRuntime = `
;document.addEventListener("DOMContentLoaded", () => document.documentElement.appendChild(
    Object.assign(document.createElement("style"), {
        textContent: \`${content.replaceAll("`", "\\`")}\`,
        id: "vencord-css-core"
    })
), { once: true });
`;

    return appendFile("dist/Vencord.user.js", cssRuntime);
});
limber skiff
#

hmm

#

userscript runs kinda late

#

nah it's okay

#

it's after the script embedded into the html

#

but before scripts loaded in the html

#

which is totally okay for what we need

#

oh hmm

grave mangoBOT
# austere talon https://github.com/Vendicated/Vencord/blob/main/browser/userscript.meta.js#L1-L1...

userscript.meta.js: Lines 1-17

// ==UserScript==
// @name            Vencord
// @description     A Discord client mod - Web version
// @version         %version%
// @author          Vendicated (https://github.com/Vendicated)
// @namespace       https://github.com/Vendicated/Vencord
// @supportURL      https://github.com/Vendicated/Vencord
// @license         GPL-3.0
// @match           *://*.discord.com/*
// @grant           GM_xmlhttpRequest
// @run-at          document-start
// @compatible      chrome Chrome + Tampermonkey or Violentmonkey
// @compatible      firefox Firefox Tampermonkey
// @compatible      opera Opera + Tampermonkey or Violentmonkey
// @compatible      edge Edge + Tampermonkey or Violentmonkey
// @compatible      safari Safari + Tampermonkey or Violentmonkey
// ==/UserScript==
austere talon
#

it already injects in correct place

limber skiff
#

makes no different it still loads after the script in the html

limber skiff
marble gust
austere talon
#

chromium is peak

limber skiff
#

yes I do prefer the option which has all the apis you need

#

instead of the one which things dont work and misses the apis you need

marble gust
#

i prefer privacy tbh

limber skiff
#

then use ungoogled-chromium

austere talon
#

firefox has way worse privacy ootb than brave or ungoogled chromium

marble gust
#

hardened firefox, firefox fork?

austere talon
#

what's your point

#

if you're gonna go hardened, you can have good privacy on both browser bases

limber skiff
#

you are using a fork regardless

marble gust
#

true but firefox also has better extension func (esp with manifest v3)

austere talon
#

manifest v3 is good tho lol

limber skiff
#

just change the base and use ungoogled-chromium lmao

austere talon
#

just need to also keep v2 / adblock alternative

marble gust
#

ublock: dies

austere talon
#

just use a fork that won't remove v2? 😭 or use brave where you don't really need ubo

marble gust
#

ig its personal prefrence as well

austere talon
#

yes

#

its just preference lol

limber skiff
#

rest vee

#

don't mess up your sleep

austere talon
#

nah

austere talon
limber skiff
#

just like I always do

marble gust
#

by hardening firefox i mean messing with about:config which allows you to have fine control over all the settings

charred monolithBOT
hexed star
#

btw if there's no antispam and I will remove RestAPI fully from my plugin and use only gateway to fetch users from mutual guilds, it's fine to fetch them just on plugin startup?

austere talon
#

dont do that

charred monolithBOT
austere talon
#

its way easier to fetch them on demand

#

you can use useStateFromStores() to subscribe to member store and automatically get ur component updated when user fetched

hexed star
austere talon
#

yes

#

fetch them when user opens modal

#

not immediately

charred monolithBOT
limber skiff
#

@austere talon did you know discord has a new thing on their webpack

#

I have no idea what its for haha

#

it's "The runtime id of the current runtime"

#

whatever that means

austere talon
#

fire

charred monolithBOT
austere talon
#

samara confirmed it fixes cache issue

limber skiff
#

lovely

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

should we push immediately and bump

austere talon
#

cant

#

i alr did earlier

limber skiff
#

oh we need to wait for them to approve previous?

austere talon
#

yes

limber skiff
#

dang

charred monolithBOT
limber skiff
#

how would the extension make a white screen tho

limber skiff
austere talon
#

outdated with showhiddenchannels

limber skiff
#

(without the fix)

austere talon
#

are u saying it still breaks sometimes

#

oh

limber skiff
#

nah but without the fix it doesnt work 100% of the time

#

at least with devtools enabled

#

well, much needed fix

austere talon
#

@limber skiff 😭

#

MAIN only works in firefox 128

#

which is not even released yet

#

ahahaha

#

but he needs to install up to date extension

limber skiff
#

ye

#

I also dont know what build I sent him

#

because my build command failed and I didnt see

#

😭

austere talon
#

uhdhusadhashoudsahdhsaudhfusa

#

sent the token logger build on accident

fiery jungle
#

what react version is discord using

limber skiff
#

"18.2.0"

fiery jungle
#

oh okay

grizzled stream
#

seems like quickcss monaco doesn't work on firefox

#

Security Error: Content at https://discord.com/channels/@me may not load or link to moz-extension://df75eefa-91d9-4c79-a06e-615ad6c9c449/dist/monaco/index.js.

#

grabbed the latest build from github

limber skiff
#

firefox users suffering from it not having the api already

glass jasper
#

I swear to god Firefox

#

Today has not been a good day… i’m about to fuckin EOL myself joke

fiery jungle
#

@rustic nova can i port some of vc-timezones into mainstream plugin
mantikas pr is dead im taking over

glass jasper
fiery jungle
#

vee locked it

fiery jungle
#

okay thanks

hexed star
potent kestrel
#

so I kinda wanna just make a quick fixer for the cloud settings cus of an earlier issue

(() => {
    Vencord.Settings.Cloud.authenticated = false
    Vencord.Settings.Cloud.url = "https://api.placeholder.dev/"
    Vencord.Settings.Cloud.settingsSync = false
})()

am I doin somethin wacko? feel like I'm goofing

limber skiff
#

@austere talon how to fix

potent kestrel
#

placholder.dev is just so I can see if it changes lol

austere talon
limber skiff
#

content.js

#

isolated

#

I'm sync fetching vencord src and putting inside the script tag

#

oh wait I could maybe create a blob

austere talon
limber skiff
#

yeah... 😭

austere talon
#

you need to do it in MAIN world

#

or

#

use csp key in manifest

limber skiff
#

oh

#

so annoying

austere talon
#

just do it in main world tho

#

and use (0, eval)()

#

lc.ocr

rancid idolBOT
# austere talon lc.ocr
const vencordRequest new XMLHttpRequest();
vencordRequest.open("GET", browser.runtime.getURL("dist/Vencord.js"), false);
vencordRequest.send(null);
limber skiff
#

I'm trying to not use the main world

austere talon
#

why not

limber skiff
#

because firefox moment

austere talon
#

who cares about firefox lmaoooo

limber skiff
#

but then it turns impossible to execute this shit

austere talon
#

you cant even install extensions on non nightly

#

just wait for firefox 128

#

and set min version

#

i think this person never heard of ctrl + t / ctrl + k

glass jasper
fiery jungle
limber skiff
#

I partially did it

charred monolithBOT
limber skiff
charred monolithBOT
limber skiff
#

how do I fix this setting vencord on the window

austere talon
limber skiff
#

I need something like this right

austere talon
#

why

#

stop

limber skiff
#

dsfdnsfs

#

I just wanna see if its possible

austere talon
#

run in main world

limber skiff
#

it worked 😭

austere talon
#

what did

limber skiff
#

this + this

#

it's running sync in isolated world

grave mangoBOT
#

index.tsx: Line 80

const match = str.match(/^(\/)?(.+?)(?:\/([gimsuy]*))?$/); // Regex to match regex
austere talon
#

wha

#

oh its textreplace

#
const match = str.match(/^(\/)?(.+?)(?:\1([gimsuy]*))$/); // Regex to match regex
#

try this

#

why are u even putting that into regex field 😭

austere talon
#

idk if thats possible to fix

limber skiff
austere talon
#

regex cant do that

#

well actually

"balls/g".match(/^\/(.+?)\/([gimsuy]*)|([^/].*?)$/)
#

cursed lol

#

still doesnt handle /balls correctly

limber skiff
#

wait that's so poggers we can use this to remote load vencord

#

the XMLHttpRequest sync request

#

@austere talon

#

this works

#

with absolutely no changes to vencord itself

#

(besides the dataset stuff of course)

austere talon
#

almost like i told u to do this 😭

limber skiff
#

I'm saying for a different purpose

#

remote load vencord

#

we don't need to delay anything of discord manually

#

because the sync fetch does for us

austere talon
#

ye

#

but its not good cause it will freeze discord hahaha

#

should instead impklement web updater

limber skiff
#

yeah but we can still abuse this in the web updater

#

it can be used for the initial fetch

#

we would have to freeze discord either way to avoid having to reload it

#

this just makes it way easier

crude hearth
#

I never understood

charred monolithBOT
crude hearth
#

(0,eval) just returns eval

crude hearth
#

so why???

austere talon
crude hearth
austere talon
#

/run ```js
global.banana = "global";

function someClosure() {
const banana = "closure";
eval('console.log("direct eval", banana)');
(0,eval)('console.log("indirect eval", banana)');
}

someClosure();

vital lionBOT
#

Here is your js(18.15.0) output @austere talon

direct eval closure
indirect eval global
crude hearth
#

oh

#

it executes globally

limber skiff
#

@austere talon I just discovered a stupid shit

#

when you construct a function like this they have a proper prototype with constructor

#

where is my other screenshot wait

#

BUT

#

if you do this

#

WHERE IS IT

#

WHERE IS THE PROTOTYPE

austere talon
#

makes sense

#

cause its an instance method

limber skiff
#

that's so stupid

#

I can't mimick classes like that

#

because they need a constructor

crude hearth
#

javascript black magic blobcatcozy

limber skiff
#

okaay it's impossible fake that

charred monolithBOT
somber thorn
#

ff - Nuckyz

charred monolithBOT
limber skiff
#

I keep getting the weirdest and most complicated errors

charred monolithBOT
hexed star
# austere talon fetch them when user opens modal

it's fine to fetch them on each time when modal opens? I'm using my own cache map instead UserStore to iterate only users with notes instead all of them and if some user update his global name or username I need to update it in my cache too. probably I can use gateway event USER_UPDATE but I'm not sure that I can get this event if discord hasn't loaded this user, if it's then will be easier

austere talon
#

why your own cache

hexed star
#

instead iterating all users from UserStore and matching global/usernamefor each user I'm iterating only my cache map with users who actually have notes

austere talon
#

why

#

just use the normal store

hexed star
# austere talon just use the normal store

anyway will need to fetch all users to get updated global and user names so storing have no sense, it isn't? even if USER_UPDATE calls if user hasn't loaded then some user can change name while ur client is close

still wasp
#

Would it be a bad idea to have a "list group" settings type? Something like this (a way it could be used in TextReplace as an example)

    {
        type: OptionType.LIST_GROUP,
        description: "The list of replacements to make in your message",
        group: () => 
        {
          return (
            {
              findString: {
                  type: OptionType.STRING,
                  description: "Find",
              },
              replaceString: {
                  type: OptionType.STRING,
                  description: "Replace",
              }
            }
          )
        }
    }

So it would be a built in list setting with add/remove buttons, and it returns an array of almost mini setting stores for groups- Would be pretty useful for replacing component settings in a lot of places

rugged spire
#

That doesnt need to be a function in there blobcatcozy

median rapids
hexed star
median rapids
#

@austere talon blehh

#

yk there's some really cursed stuff we could do here

hexed star
nimble plaza
#

whenever i repeatedly fetch i usually go with 1 or 1.5s cooldown

dawn coyote
#

isn’t it better just to follow the rate limit headers

#

β€œretry-after” or smth

nimble plaza
#

i tried that to no avail :c

#

it still ratelimits

shut vineBOT
#

Alright @median rapids, in 1 hour: …

hexed star
hexed star
#

so I can't get retry-after from nothing

hexed star
median rapids
#

@feral shell

#

hmm

#

this seems wrong

#

theres probs a sublimit

#

there it is

#

@hexed star the rl is slightly broken but it looks like the limiting one is 30/30

#

so 1s sleep is probably ideal

#

to fetch the stragglers

shut vineBOT
#

@median rapids, <t:1719073849:R>: …

hexed star
#

@austere talon I hope that's fine to use RestAPI for user fetching if I won't get timeouts for it?

#

to fetch users that don't have mutual guilds sure

charred monolithBOT
desert cosmos
charred monolithBOT
verbal pumice
#

is aliucord dot com an actual site horror

#

oh it is

silk cypress
#

the best app

charred monolithBOT
desert cosmos
#

truly hate amazon links

charred monolithBOT
median rapids
charred monolithBOT
dapper crest
#

IIRC you can shrink it down to something along the lines of
https://a.co/???/(productID)

proven wren
#

oh right i forgot they bought that and never use it

median rapids
nimble plaza
#

omg theyre collabing

median rapids
#

ikr

limber skiff
#

@austere talon you have the activity card in the member list right?

charred monolithBOT
charred monolithBOT
limber skiff
#

pending confirmation of that fix

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

spark pivot
#

well repairing worked so idk

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
charred monolithBOT
fallen vale
odd heath
charred monolithBOT
austere talon
rugged spire
#

how horrible is this?

austere talon
#

that means it for some reason redirected

#

error / redirect responses usually won't add CORS

#

like anti spam blocks and such

limber skiff
#

you are running that in thousands of things

rugged spire
#

wanna hear the worst part

limber skiff
#

send me that find

rugged spire
#

this hacky mess doesnt even work trolley

rugged spire
limber skiff
#

okay

rugged spire
#

I'm trying to steal the content class from the What's New changelog modal btw

austere talon
#

you'd have to like inspect the module that uses it to find the id

#

but it's easier to just copy paste the css

rugged spire
#

how different is actual message rendering?

#

reasonably different but I could hack something together

#

eh markup_d6076c messageContent_ec86aa can achieve what I want probably trolley

austere talon
#

i mean if it's just user plugin you can hardcode them

rugged spire
#

guh I hate proxyLazy called on a primitive value

limber skiff
#

find(m => m.modal && m.content && Object.keys(m).length === 2)

#

use this

rugged spire
#

i've opted to just steal the actual message classes for now

#

i will try that soon

limber skiff
#

good

austere talon
limber skiff
#

I'm not

austere talon
#

people won't read allat

rugged spire
austere talon
#

keep it compact, not so much text

limber skiff
#

well I tried

#

but I still wanted to explain enough

woeful sable
#

tldr πŸ™

austere talon
#

you need to realise that the average support user has tiktok brain

#

you need to put as little text as possible so they manage to read it without zoning out

limber skiff
#

should I have done

issue

wait.

#

anyways

#

you have that activity thing in the member list right? in this server

austere talon
limber skiff
#

thought so

austere talon
#

and firefox is irrelevant cause we don't officially support that

limber skiff
#

well yeah but still the current version works on it

limber skiff
austere talon
#

yes

#

i do have it

limber skiff
#

someone reported in my dms that ignore activities isn't working for that

#

I tried my best and found something which could be the cause

austere talon
#

i think it might not be fixable

limber skiff
#

however I still need to test

austere talon
#

discord leaking ur activity even if you're invisible from what ive heard

limber skiff
#

I know

#

I found discord is posting an activity track request

#

when you open and close a game

#

and I'm fairly sure that's used in the member list activity card

#

still I need your help when you can to see if it's showing me playing or not

#

(first without the fix and after with)

#

I had to reverse engineer this without being able to test because the experiment only works for certain users, as the server is what sends that information

#

either way it is fixable because that information is coming from your client regardless

charred monolithBOT
rugged spire
#

I HATE LAZY LOADING

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

verbal pumice
#

truee

austere talon
#

when u open support

#

a tiktok video shows up with current known issues

#

or better yet make vencord support tiktok account

haughty atlas
charred monolithBOT
#

ReviewDB removed because the owner doesn't care if his platform is abused for spam reviews (had a private conversation via Discord)! On the contrary, he even finds it funny! I know that it was a lot of work to develop this plugin, but nobody needs such a platform!

still wasp
nimble plaza
still wasp
#

I also love how it changes something else completely unrelated

charred monolithBOT
crude hearth
#

bro doesnt know ven is a reviewdb moderator

#

also the spam he is talking about was the copypastas

somber thorn
#

what spam is he talking about ​​​​​​​​​​​​​​​​​​​​​​​​​​

charred monolithBOT
nimble plaza
#

LMAO

#

go off

fallen vale
#

<3

charred monolithBOT
austere talon
#

oh wait the native one won't have the .env vars wont it

charred monolithBOT
austere talon
#

@turbid hatch

#

people kept asking for clarification of several values so i improved docs

turbid hatch
#

alr

dusk blaze
austere talon
#

oh wait the source command also won't work

#

πŸ€”

#

does docker compose dotenv support having export FOO=BAR

#

export $(grep -v '^#' .env | xargs)

#

is this too cursed 😭

charred monolithBOT
austere talon
charred monolithBOT
#

can you explain why this is necessary? it seems just the same as the normal docker-compose file, other than renaming .env to stack.env and adding

environment:
    PORT: 8080
    HOST: 0.0.0.0
    REDIS_URI: redis:6379
ports:
    - ${PORT}:8080/tcp

why are these necessary? the three environment variables are already specified in .env and PORT via the override. Why the rename to stack.env?

austere talon
#

lol i also forgot redis in native 😭 i'm dumb

charred monolithBOT
#

Portainer demands the stack.env when deploying via git, it doesn't read the .env file.

Sent from Proton Mail Android

-------- Original Message --------
On 6/23/24 4:28 PM, vee wrote:

can you explain why this is necessary? it seems just the same as the normal docker-compose file, other than renaming .env to stack.env and adding

environment

:

PORT

:

8080

HOST

:

0.0.0.0

REDIS_URI

:

redis:6379

ports

:
-

${PORT}:8080/tcp

why a...

austere talon
#

WHAT IS THAT EMBED

woeful sable
#

😭

austere talon
#

we should probably reject that pr

#

i feel like they should just make their own fork for that

#

but it's up to lewi ofc

#

what do you think? @turbid hatch

turbid hatch
#

i have no idea how to support portainer, so

#

yeah :p

austere talon
#

also please fact check me on my doc improvements MeiPray

turbid hatch
#

i kinda left it there in case anyone was up to working out wtf it meant

turbid hatch
charred monolithBOT
dusk blaze
# charred monolith

@crude hearth i think its time to add check to prevent reviews that already exists anywhere in db... this will prevent copypastas

#

(this is sarcasm btw)

crude hearth
#

copypastas are sometimes funny

dusk blaze
#

true

#

you should definitely bring back goodperson

crude hearth
#

tro

charred monolithBOT
#

well thank you for the contribution, but i don't think there is any interest from our side to merge this. we don't know how portainer works and it seems unreasonable to have two almost duplicated configs, especially considering it seems to me as if this config force-overrides some values specified in .env, which is poor user experience. at this time, we also have no plans to publish to any container hub; it seems kinda pointless, considering it's just one simple git clone

it would probably...

crude hearth
#

sad thing is I think not so many people realized goodperson reviewdb was a thing

dusk blaze
#

yeah

#

tbh it would be actually good to have

crude hearth
#

I mean it changes your reviews content

#

not so great to have all the time

austere talon
dusk blaze
#

let's make

crude hearth
#

is robot9000 basically a bot that prevents same message from being sent again

#

so you always have to write some new content

austere talon
#

yop

crude hearth
#

very good idea

austere talon
#

basically you cant repeat the same thing someone said before

#

it will stop "meow" spam

#

so good

crude hearth
#

agree

fallen vale
fallen vale
#

m30w m3ow meow moew meeow etc. etc.

verbal pumice
austere talon
#

why the hell do we have this @turbid hatch

#

bad