#๐Ÿ‘พ-core-development

1 messages ยท Page 184 of 1

austere talon
#

and inside initialize it gets data and initialises self

crude hearth
#

so theoritically we can just patch that

austere talon
#

and theres a persist method thats called for backing up

#

hmmmmm

#

i have a good idea how to patch this store in a performant way

#

but its hard to explain

#

WAITTT

#

nvm

crude hearth
#

WHAT

austere talon
#
RECEIVE_CHANNEL_SUMMARIES_BULK(data) {
  ...

  y = {
      ...y,
      ...s.summariesByChannel
  },
  P = {
      ...P,
      ...s.summaryFetchStatusByChannel
  }
#

you just need to dispatch that evenbt

#

with all summaries

crude hearth
#

do I just give it the flux dispatcher event

#

also what kind of objects will those be

crude hearth
#

it would be easier if we could enable discord to persist it

#

but if that doesnt prob modifying store is better

austere talon
austere talon
#

it will cause freezing and localStorage has 256kb total size limit

crude hearth
#

hmm yeah that wont work

#

how does discord cache other stuff then

#

do they not use idb

median rapids
#

hmmm maybe we could make getLocalVars use that

austere talon
austere talon
#

not normal stores

median rapids
#

better than nothing

crude hearth
austere talon
# median rapids better than nothing
AccessibilityStore
AppIconPersistedStoreState
ApplicationCommandFrecencyV2
ApplicationFrecency
ApplicationStoreUserSettingsStore
ApplicationStreamingSettingStore
ChannelSectionStore2
ClanSetupStore
ClientThemesBackgroundStore
ClipsStore
CollectiblesPersistedStoreV2
CollectiblesProductFreshnessStore
CommandsMigrationStore
DefaultRouteStore
DevToolsSettingsStore
DeveloperActivityShelfStore
DismissibleContentFrameworkStore
DraftStore
EmbeddedActivities
EmojiCaptionsStore
EmojiStoreV2
ExpandedGuildFolderStore
FavoritesSuggestionStore
FrecencyStore
GameStore
GuildAffinitiesStore
GuildAutomodMessages
GuildOnboardingHomeNavigationStore
GuildProgressStore
GuildSettingsOnboardingHomeSettingsStore
HangStatusStore
HighlightsTestStore
InventoryStore
LayoutStore
LoginRequiredActionStore
MultiAccountStore
MyGuildApplicationsStore
NewlyAddedEmojiStore
NotificationCenterItemsStore_v2
NotificationCenterStore
OverlayStoreV2
OverridePremiumTypeStore
PhoneStore
PoggermodeAchievementStore
PoggermodeSettingsStore
PopoutWindowStore
PremiumGuildGracePeriodNoticeStore
PremiumGuildProgressBarPersistedStore
PromotionsPersistedStore
PurchasedItemsFestivityStore
QuickSwitcherStore
RTCRegionStore
SelectedGuildStore
SelectivelySyncedUserSettingsStore
SoundboardEventStore
StageMusicStore
StickersPersistedStoreV2
StreamerModeStore
SummaryStore
SurveyStore
TTSStore
TenureRewardStore
TestModeStore
ThemeStore
TopEmojiStore
UnreadSettingNoticeStore
UnsyncedUserSettingsStore
UpcomingEventNotices
UserAffinitiesStore
UserOfferStore
UserSettingsOverridesStore
UserSettingsProtoStore-Cache
ViewHistoryStore
VoiceChannelEffectsPersistedStore
collapsedCategories
collapsedChannels
collapsedGuilds
habitualDND
hotspots
keybinds
liveChannelNotices_v2
notifications
austere talon
#

getState() tells it what to back up basically

crude hearth
austere talon
#

UNKNOWN

crude hearth
#

ok its channelid

#

not guildid

#

(prob because recursion incident)

austere talon
#

anyway try using RECEIVE_CHANNEL_SUMMARIES_BULK event

#

just feed it that array u have

#

maybe it will work

crude hearth
#

fiiiine

austere talon
#

LMAOOO why does devtools search find my message json

crude hearth
#

I was just gonna map those to channelid:array map and directly modify store but whateveer

crude hearth
#

and fails to find the original match

austere talon
#
let {summaries: t, receivedAt: n, error: i, requestArgs: {channelIds: r}} = e
#

heres what to pass

crude hearth
#

is channelIds required

median rapids
#

idk how to make it stop

crude hearth
#

and wth is error

austere talon
#

maybe manual is indeed easier but then you have to do this hell

a = I().toPairs(t).reduce((e,t)=>{
                    let[n,i] = t
                      , r = I().chain(i.map(e=>(0,
                    D.createSummaryFromServer)(e, n))).sortBy(e=>v.default.extractTimestamp(e.startId)).takeRight(75).reverse().filter(e=>Object.keys(e).length > 0).value();
                    return e[n] = r,
                    e
                }
austere talon
median rapids
#

howw

crude hearth
#

I will omit requestArgs and error

#

and fill others

median rapids
#

wtf chrome adblocking

crude hearth
#

is summaries a map or array of this

median rapids
#

probs an array of the inner summaries object

austere talon
median rapids
#

not the event lol

austere talon
#

if chroem detects a site has too intrusive ads it will block ads

median rapids
#

i thought that was mobile only

austere talon
crude hearth
austere talon
#

it works really well xd

#

maybe just doing what i said is easier

crude hearth
#

anyway I gotta eat

#

will look soon

charred monolithBOT
charred monolithBOT
charred monolithBOT
crude hearth
#

@median rapids would this be a problem trolldayruined

#

ig plenty of bad requests arent good

median rapids
#

it would be nice if it didn't

#

just patch fetchSummaries() to check for the feature

crude hearth
#

if we had monkey patching this would be so easy sadJoe

spark pivot
fair wolf
crude hearth
#

ok I patched shouldFetch too

#
shouldFetch(channelId: string) {
    const channel = ChannelStore.getChannel(channelId);

    return (!channel.hasFlag(1 << 11) && GuildStore.getGuild(channel.guild_id).hasFeature("SUMMARIES_ENABLED"));
}
#

ig this is enough

charred monolithBOT
median rapids
austere talon
#

doubt?

#

doesn't it fetch when you expand the summaries

#

maybe if u scroll down or smth

#

doubt they check it elsewhere or it wouldn't fetch in the first place

median rapids
#

that fetch doesn't fail anyways

#

the flag just hides the summaries client side

crude hearth
crude hearth
#

but also I think it was in shouldFetch function

#

eeeeh maybe just leave it as it is

crude hearth
median rapids
median rapids
crude hearth
#

oh okat

median rapids
crude hearth
#

okay pushed

#

maybe I should remove the oldest ones trolldayruined

#

and limit to 25 or smthn

median rapids
#

yea one sec

#

lemme see what the api limit is

#

@crude hearth limit to 50

#

api returns 50

crude hearth
#

okay

#

okay good

#

does shift make a new array hm

#

time to test

#

nvm it returns removed element

#

or do I just splice(0, summaries.length - 50)

#

actually it should fine this way

#

whatever

charred monolithBOT
crude hearth
#

well

#

I decided 3 days is fine

desert cosmos
#

discord apparently broke the edit message logger on canary, no clue if theyll push it to stable though blobcatcozy

somber thorn
#

tbf stuff broke

#

so that might've too /shrug

desert cosmos
#

pretty sure that report wasnt on the main branch

median rapids
crude hearth
median rapids
#

u could make it configurable maybe

crude hearth
#

hmm

#

oh god I was getting random errors

#

then realized copilot made a patch dread

#

also I am now checking both
return guild.hasFeature("SUMMARIES_ENABLED") || guild.hasFeature("SUMMARIES_ENABLED_GA");

#

because even on servers that have summaries enabled "SUMMARIES_ENABLED" is not present

rugged spire
crude hearth
#

ok also added settings

median rapids
#

SUMMARIES_ENABLED got removed

#

you have to check SUMMARIES_ENABLED_GA

charred monolithBOT
crude hearth
#

I am only checking GA then

#

pushed

fair wolf
#

do we have any snowflake utils?

crude hearth
#

One is GA

jagged cloak
#

gateway probably

median rapids
#

one doesn't exist

#

GA = general access

jagged cloak
#

oh

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
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
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
#

look I fixed false positives

#

๐Ÿ™‚

median rapids
limber skiff
#

good

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
#
[Vendicated/Vencord] New branch created: immediate-finds-modules-proxy
limber skiff
#

now the question is, do they work with each other?

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

limber skiff
#

okay that's fucking fire

frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

charred monolithBOT
limber skiff
#

really

charred monolithBOT
limber skiff
#

sorry for the spam ๐Ÿ˜ญ

#

fuck

charred monolithBOT
austere talon
#

nuckyz never escaping the Incomplete URL substring sanitization allegations

limber skiff
#

๐Ÿ˜ญ

charred monolithBOT
median rapids
#

nookies hates me

limber skiff
#

sorry :/

limber skiff
#

I'm debating whether we should apply patches when the module needs to be executed or when it's pushed to .m

#

my new implementation supports both, I'm just not sure which one I should do

#

it currently does when it needs to be executed, that means faster startup timings but means it needs apply the patches when it needs to be executed, so technically lazy required stuff will take a little longer (but it's pretty much nothing)

#

changing it is as easy as making the patch occur in the set instead of get

median rapids
#

personally I think faster startup is better

#

you could always make it an option too no?

limber skiff
#

hmmm I could but idk

#

but yeah it's super easy to make it an option

median rapids
#

idk might as well

woeful sable
charred monolithBOT
woeful sable
#

lmfao

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
crude hearth
#

Horror gateway implementation

#

Idk how comfortable I'd be while using this

charred monolithBOT
fair wolf
charred monolithBOT
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

charred monolithBOT
#

54f58cd Fix: Canonicalize regex finds - Nuckyz
0460374 Fix: Plugins without start/stop function failin... - waresnew
c0c897f extractAndLoadChunksLazy: Cache result to avoid... - Nuckyz
7b4ecff feat(MessageLatency): Show milliseconds option ... - rozbrajaczpoziomow
09f8944 MessageLatency: Fix wrong constant & false posi... - Nuckyz

#
[Vendicated/Vencord] New tag created: v1.8.5
crude hearth
#

DIE

#

SO EARLY

#

MY PR WASNT MERGED

austere talon
#

soonit will be

crude hearth
#

STOP REACTING BLOBCATCOZY

#

evฤฑl

charred monolithBOT
charred monolithBOT
#

exactly

you can use one of these to connect to ur other accounts, listen to messages and then show desktop notifications whenever u receive a ping or dm. much much lighter than doing it inside discord and also safer cause these libraries are well crafted (well idk anything about the last one but it seems very popular so its probably decent quality)

https://github.com/diamondburned/arikawa
https://github.com/dolfies/discord.py-self
https://github.com/aiko-chan-ai/discord.js-selfbot-v13

#

vencord itself will never include any selfbot features due to the inherent risks and wanting to keep it as tos friendly as we can (considering the circumstances). thus yes you should use an external program instead of including it inside vencord (it makes very little sense to even do so, if you make it a self contained solution you can run it without needing discord open

and yes, I am suggesting to use well crafted and battle tested libraries instead of rolling your own, because yours migh...

turbid hatch
#

so yes, the viable alternatives are just

#

selfbots

#

we don't want to include these features like vee said

#

vencord has a goal of being as "legitimate" as possible, but this pushes that boundary too far

charred monolithBOT
#

Yeah, my bad for not being clear. It's totally understandable for you to not want to include code like that in Vencord. It just came across as a bit self-contraditory how you said it's "extremely risky" (when in practice there's very little risk with gateway connections today) and yet went on to suggest people to do it anyway (just outside Vencord). But then again, Discord could in theory decide to suddenly start a crackdown overnight, and even if they don't, it's understandable that you wa...

night fossil
charred monolithBOT
#

to give an immediate example of why you should not use your own solution: this identify payload is very wrong. user accounts do not use intents, they use capabilities. this is missing a shit ton of properties that a real client would send, e.g. presence, client state, referrer, os version, discord version, and much much more

thus this identify payload is very suspicious and could easily get your account flagged

here's a proper identify properties payload to show just how off this implem...

turbid hatch
austere talon
# charred monolith

i said it's risky to do it manually, not that it's risky in general

because you will most likely get it wrong. ^

hence why you should use a library instead

night fossil
#

oh

austere talon
night fossil
#

yeah, have used that one before

austere talon
#

okay bot doesn't wanna embedablobbonk

median rapids
# charred monolith

tbf probably nothing would happen if you're just connecting to the gateway

#

but there's plenty of other problems with this

#

i.e. the logistics (and resource usage) of multiple active gateway connections in a client

#

and people are gonna be confused as to why their other accounts are randomly online

#

etc.

median rapids
austere talon
#

how so

median rapids
#

no headers

#

for starters

austere talon
#

because it's intended for bots and users

#

but it allows you to set custom headers

#

obviously you'd just do that :p

#

you can see example of it in dissent

median rapids
#

it does not make that obvious xd

grave mangoBOT
# austere talon https://github.com/diamondburned/arikawa/blob/9289cfc9e82057f823dbc8adc08d11ac67...

identify.go: Lines 97-135

// DefaultIdentity is used as the default identity when initializing a new
// Gateway.
var DefaultIdentity = IdentifyProperties{
    OS:      runtime.GOOS,
    Browser: "Arikawa",
    Device:  "Arikawa",
}

// IdentifyCommand is a command for Op 2. It is the struct for a data that's
// sent over in an Identify command.
type IdentifyCommand struct {
    Token      string             `json:"token"`
    Properties IdentifyProperties `json:"properties"`

    Compress       bool `json:"compress,omitempty"`        // true
    LargeThreshold uint `json:"large_threshold,omitempty"` // 50

    Shard *Shard `json:"shard,omitempty"` // [ shard_id, num_shards ]

    Presence *UpdatePresenceCommand `json:"presence,omitempty"`

    // ClientState is the client state for a user's accuont. Bot accounts should
    // NOT touch this field.
    ClientState *ClientState `json:"client_state,omitempty"`

    // Capabilities defines the client's capabilities when connecting to the
    // gateway with a user account. Bot accounts should NOT touch this field.
    // The official client sets this at 125 at the time of this commit.
    Capabilities int `json:"capabilities,omitempty"`
    // Intents specifies which groups of events the gateway
    // connection will receive.
    //
    // For user accounts, it must be nil.
    //
    // For bot accounts, it must not be nil, and
    // Gateway.AddIntents(0) can be used if you want to
    // specify no intents.
    Intents option.Uint `json:"intents"`
}
austere talon
#

it provides a default identify payload but you can override it for users

median rapids
#

mm

#

at this point you're basically figuring out everything yourself though

crude hearth
#

btw why gateway connection

#

cant you reverse push notifs on android

#

probably would require firebase tinkerng tho hmm

jagged cloak
#

whar

#

this is for desktop

austere talon
#

to just use firebase

#

probably doesn't work anymore cause no updates in 5 years

#

but yeah duke

crude hearth
#

and nearly 0 code

#

like 60 line

#

and 40 line constants

median rapids
#

would also be great for docs meowlien

#

i've never bothered cuz idk how firebase works

#

i could probs figure it out though

crude hearth
#

hmm

#

btw firebase supports web too

#

we can directly use the library and use creds from android app maybe

#

actually wait is this even same

jagged cloak
#

oh

#

horror

austere talon
#

no lol

#

oh wait maybe?

#

yeah actually try that

surreal compass
#

quick question; when Vencord injects it currently just selects the latest app-x.x.xxxx folder based on the version number being higher, however, it seems like in some cases it is possible that Discord will pull down a later version but still elect to launch the older version. For example, I currently (without doing anything special) have ended up with these two builds on my machine, and that as a result has seemingly interrupted the Vencord installation process as it is only injecting into the [unused] newer version.

Is there a reason we don't inject into all app versions present? This is likely a rare issue but I'd be inclined to contribute to add a app version selector in the cli installer if that is useful, as it would be in this instance.

crude hearth
#

their android service extends firebase messaging service

#

so I'd assume they are same

charred monolithBOT
austere talon
#

if your discord isn't using the latest version something went wrong

surreal compass
#

ah ok

crude hearth
#

<string name="google_api_key">AIzaSyCY8pVLbcOlWDz6NdLbaGckvwhOmfNu02U</string>
<string name="google_app_id">1:162066849712:android:db38e83be74de1b6</string>

#

<string name="firebase_database_url">https://adept-ethos-91518.firebaseio.com</string>
<string name="gcm_defaultSenderId">162066849712</string>
<string name="google_crash_reporting_api_key">AIzaSyCY8pVLbcOlWDz6NdLbaGckvwhOmfNu02U</string>
<string name="google_storage_bucket">adept-ethos-91518.appspot.com</string>

#

I wonder if I can set up a firebase messaging on web with these

median rapids
median rapids
surreal compass
crude hearth
#

how does that python libwork though

#

oh nice

median rapids
#

just a couple of protos

#

this could def be made to work

crude hearth
#

google moment

median rapids
#

other acc notifs from acc switcher on desktop using fcm would be rlly cool

crude hearth
#

btw how does it know which account you are logged into

median rapids
#

oh

#

you send discord a req with that first token

crude hearth
#

then it registers you

median rapids
#

yea

crude hearth
#

how does it identify device though

#

google_api_key is same on all apks

#

does it generate a id per device

median rapids
#

idk what the api key is for

#

all i needed was the id

#

162066849712

median rapids
crude hearth
#

nice

median rapids
#

oh they send ACKs over fcm too

crude hearth
#

oh now I understood the loop

#

when you estabilish a FCM connection it gives you a unique string

#

you sendthat to discord

#

okokokok

median rapids
#

ya

#

and you persist the creds

crude hearth
#

then theres 2 options

#

which would add lots of bloat probably

#

unless we dynamically load it

#

or implement it ourselfes

#
<script src="https://www.gstatic.com/firebasejs/10.12.0/firebase-app-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/10.12.0/firebase-firestore-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/10.12.0/firebase-auth-compat.js"></script>
median rapids
#

wtf typo in googledocs

median rapids
#

it uses vapid

#

we don't have discord vapid keys i don't think

#

unless it's AIzaSyCY8pVLbcOlWDz6NdLbaGckvwhOmfNu02U

crude hearth
#

where did you see vapid

median rapids
#

unless you don't have to do this

crude hearth
#

hmm

#

that might be problem

#

but it has to exist on client right

median rapids
#

no i think this is web only

crude hearth
#

guhhh

austere talon
#

yeah its web only

crude hearth
#

so bad

#

then is our only option implement mobile one on web trolldayruined

median rapids
#

you can work off this

#

that's what the one i'm using is based off

#

it's very simple, probs doesn't need much fixing

#

at worst we steal the prs

austere talon
#

message logger edit logs broke huh

#

but patch isnt broken

median rapids
#

lmao

median rapids
austere talon
#

what did i forget

somber thorn
#

ShowTimeoutDuration from v1.8.3

#

as for current v1.8.5
NoServerEmoji
NoDefaultHangStatus
is what I could find

shell shuttle
somber thorn
#

march 13th

shell shuttle
#

wha

#

ngl its justified because the code originally was really shit

#

so it took me a few months to polish it

#

with advice and help from the community

somber thorn
#

is it now ๐Ÿ‡ต๐Ÿ‡ฑed?

shell shuttle
somber thorn
#

dobrze wiedzieฤ‡

charred monolithBOT
#

Frankly, I don't remember why I wrote this... I don't know which "anti nitro upsell" theme/plugin I was referencing here and why it's even relevant, because I'm not doing anything upsell related and those themes don't exactly brick the functionality of the plugin either. Unless they force profile colours off, at which point I don't really see it as my problem anymore. (why set your profile colours if you're so against them?)

median rapids
#

looks like the window suspension isn't related to DisableCallIdle

#

i can fully repro with the plugin disabled

charred monolithBOT
austere talon
#

discord.exe --disable-renderer-backgrounding

median rapids
#

ya i just added it

#

we'll see

austere talon
#

make sure u pass itr to discord.exe not the updater.exe

#

or shit wont work

charred monolithBOT
median rapids
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Webpack Finds

findComponentByCode("renderSimpleAccessories)")

Bad Starts

None

Discord Errors

Cannot read properties of undefined (reading 'call')

#
Bad Patches

None

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

austere talon
#

false positive?

#

works on my machine

median rapids
#

technically the plural of emoji is emoji

desert cosmos
#

๐Ÿ‘ฝ

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

austere talon
#

it really was a false positive wtf

#

@limber skiff look at this lol

#

wtf happened here

limber skiff
#

idk what is happening

median rapids
#

cosmic wave bit shift

limber skiff
#

I noticed it yesterday too

#

it's a false positive and only happens sometimes

austere talon
#

it doesnt seem related to a discord change, they did push a new update between those two tests but we would have noticed

median rapids
#

it's probably just discord shitcode lol

austere talon
#

somehow it fails

#

but makes no sense

limber skiff
austere talon
#

Cannot read properties of undefined (reading 'call')

limber skiff
#

you see the call error?

austere talon
#

where does that come from

#

ye

limber skiff
#

thats when trying to get the module factory

austere talon
#

btw look how rarely they push updates to stable

what if we made it so patchhelper automatically runs whenever they push stable

limber skiff
#

m[id].call(...)

austere talon
#

maybe we somehow dont load some chunk sometimes?

#

rng

median rapids
#

yea they're not insanely frequent usually

austere talon
#

nah it runs once a day

limber skiff
austere talon
#

we could also make it so that if there is more than 10 broken things it pings us

limber skiff
#

so it's a require inside a nested module

median rapids
austere talon
#

users will already do that

median rapids
#

i will ping you when there are no broken things blobcatcozy

limber skiff
austere talon
#

how does it only sometimes fail

limber skiff
#

the false positive is always the same webpack find

austere talon
#

thats so weird lol

median rapids
#

something's racing somewhere

limber skiff
#

so it's always the same factory not existing

limber skiff
austere talon
median rapids
#

i should learn more abt how webpacker works

austere talon
#

how do we detect new stable push

#

do u just fetch every 5 mins or smth and see if hash changed

median rapids
#

yea you could fetch every second even lol

austere talon
#

EVERY SECOND

median rapids
austere talon
#

is there no rate limit

median rapids
#

no it's a static json

austere talon
#

LMAO what is this error bro

#

i tried to spam requests to the endpoint to see if theres truly no rate limit

#

but chromium said nuh uh

#

maybe sending 10k requests at once is not a good idea

median rapids
#

use python blobcatcozy

#
import asyncio
import aiohttp

session = aiohttp.ClientSession()
await asyncio.gather(*[session.get('https://discord.com/assets/version.stable.json') for _ in range(10000)])
charred monolithBOT
shell shuttle
#

o

limber skiff
#

okay anyways

#

if the false positive is a racing condition it's gonna be hard to debug I think

#

one because it only happens sometimes, and second because the code for force loading chunks uses cursed logic

#

but also I don't think it's a lazy loaded module?

#

it's simply this

austere talon
#

yeah it's weird

#

maybe it's somehow being accessed too early

limber skiff
#

very weird

#

hmm it is not caused by the webpack finding at least

#

because it errors before it finishes loading chunks

#

I guess I will just have to keep trying until it happens

#

fucking shit

#

@austere talon I can't get it to happen without headless

median rapids
#

husk

limber skiff
#

okay I got more info

#

it is literally the component

#

lazy loaded by this

#

chunk is 86557

limber skiff
#

when I want this shit to happen it doesnt

somber thorn
charred monolithBOT
tropic wagon
limber skiff
#

why?

wary dew
#

Quest IDs for the quest bypass thing:

Honkai Star Rail V2.2 Bundle: 1232852290197655573
Genshin Impact V4.6 Bundle: 1227767407154561034
Lost Ark Mokoko: 1227395355193118750
PUBG Erangel Classic: 1235258834524700703

desert cosmos
#

doesnt quest bypass just fetch the latest quest

jagged cloak
#

yea i think lol

tulip radish
#

hey uh

#

contributor badge doesn't show on the new profiles

#

might be known already

jagged cloak
#

prob

#

well now its ultra known cause you posted it here

tulip radish
long stream
tulip radish
#

Poggers, dare I say

long stream
#

i wonder if it would be worth making a pr for simplified profiles now?

#

since it's being rolled out

jagged cloak
#

yea

charred monolithBOT
charred monolithBOT
#

Reviewed with care, now crystal clear! ๐Ÿ’ป๐Ÿ› ๏ธ
Lines of code in harmony sing,
Ready to merge, a wondrous thing! ๐ŸŽถ๐Ÿ”

๐Ÿ‘€ Eyes have scanned, each detail checked,
Collaborative spirit, all hands decked. ๐Ÿค๐Ÿ”ง
Comments resolved, conflicts are gone,
Together we code, from dusk till dawn. ๐ŸŒ…๐ŸŒŒ

The tests all pass, the checks are green, โœ…๐ŸŸข
The cleanest code youโ€™ve ever seen. ๐Ÿงผ๐Ÿ“œ
In the branch, new features lurk,
Ready to join the masterโ€™s work. ๐ŸŒณโœจ

Merge button glows with a golden hue,
With one c...

desert cosmos
turbid hatch
#

badgeapi hasnt been updated :p

charred monolithBOT
austere talon
#

flop

sterile oak
#

@austere talon perfect timing, is this really worth being added to the authors of RoleColorEverywhere?

#

I am creating the pr rn

somber thorn
#

AI is not worth the effort

#

Right it's GPT-4 so it's not that shit

#

That's probably just a copy from the original code though still

halcyon salmon
#

github is fucking with me rn

#

its for plugin request #219

somber thorn
charred monolithBOT
topaz thistle
#

thank god

austere talon
#

lucky, i was about to kill u

topaz thistle
charred monolithBOT
austere talon
#

(hes replying to the last reply on that pr, not the pr itself)

verbal pumice
#

i did not realize it had replies, thanks github mobile thumbsup

crude hearth
#

@austere talon ai has no words to say

#

its good

austere talon
charred monolithBOT
#

PR Review ๐Ÿ”

<table>
<tr>
<tr><td> โฑ๏ธย <strong>Estimatedย effortย toย review [1-5]</strong></td><td>

4, because the PR introduces a significant amount of new functionality, including settings configuration, data handling, and integration with multiple stores and utilities. The complexity of the patches and the interactions with asynchronous data updates also contribute to the effort required to thoroughly review and test the changes.

</td></tr>
<tr><td> ๐Ÿงชย <strong>Re...

somber thorn
#

ohgod

crude hearth
#

we alr talked about performance concern and regex is ur regex

charred monolithBOT
crude hearth
#

WHY

#

WHY ARE YOU DOING THAT

austere talon
charred monolithBOT
#

PR Code Suggestions โœจ

<table><thead><tr><td>Category</td><td align=left>Suggestionย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  &nbsp...

somber thorn
#

ย 

#

To prevent potential memory leaks

crude hearth
#

die ai agent

charred monolithBOT
jagged cloak
#

i dont think it responds to me

crude hearth
#

it doe

somber thorn
#

it will

crude hearth
#

vindicated

jagged cloak
#

i forgot slash

lime stone
#

chatgpt

charred monolithBOT
#

PR Review ๐Ÿ”

<table>
<tr>
<tr><td> โฑ๏ธย <strong>Estimatedย effortย toย review [1-5]</strong></td><td>

4, because the PR introduces a significant amount of new functionality with multiple components interacting with each other, including UI elements, sound handling, and plugin settings. The complexity of the code and the integration with external modules like webpack and react require careful review to ensure everything works as expected and follows best practices.

</td></...

rugged spire
charred monolithBOT
#

This plugin allows to completely hide all user messages from a chat.

I don't like the idea of a query after removal or adding to a list, but without updating (like hovering, for example), the message wouldn't be updated and hidden, but patching works well for new messages :3

Some users have requested this plugin previously: https://github.com/Vencord/plugin-requests/issues/466 https://github.com/Vencord/plugin-requests/issues/484, so it might be really useful for someone.

#

PR Code Suggestions โœจ

<table><thead><tr><td>Category</td><td align=left>Suggestionย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  &nbsp...

somber thorn
#

ย 

rugged spire
# charred monolith

ah yes "ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย "

limber skiff
#

did I fuck it up

#

how though, it was working after my changes

austere talon
#

skill issue?

#

maybe broken on canary

limber skiff
#

okay so it's not a fault of me maybe

lime stone
#

oh guh i actually forgot

#

or something

#

it was like this originally

austere talon
#

wait was the ai actually useful for once

lime stone
#

ye

charred monolithBOT
limber skiff
#

I wonder what the ai thinks of my prs

austere talon
#

ask it for review on waitfor finds

limber skiff
#

lets see

charred monolithBOT
#

PR Code Suggestions โœจ

<table><thead><tr><td>Category</td><td align=left>Suggestionย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  &nbsp...

rugged spire
# charred monolith

yes more ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  we love husk

charred monolithBOT
#

PR Code Suggestions โœจ

<table><thead><tr><td>Category</td><td align=left>Suggestionย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  &nbsp...

rugged spire
#

explode

austere talon
#

TERROR

limber skiff
austere talon
limber skiff
#

lmaoooo

austere talon
#

HAHAHHAHA it knows

limber skiff
#

it doesn't know it returns a proxy

#

๐Ÿ˜‚

#

okay but where is the review

median rapids
#

sanest js

austere talon
median rapids
#
throw @ven
austere talon
median rapids
#

nobody catching me aliening ๐Ÿ›ธ

woeful bisonBOT
median rapids
#

some exceptions apply

jagged cloak
#

me when i FINALLY you

sterile oak
limber skiff
#

I still have to finish debugging the false positives of the reporter

#

it's so annoying cuz I have to keep trying until it happens every time I add a new debug

#

but it's crazy how the latest thing I did to change how we patch modules is helping me with it

#

because I have super easy control of when a module is being accessed or set

median rapids
#

that wouldn't work too well

median rapids
#

discor gateway won't rly care blobcatcozy

limber skiff
#

troll

austere talon
#

i mean yeah u won't have everyone's banner

#

but the cached ones

#

plus usrbg

median rapids
#

most people's wouldn't be cached

cunning canyon
austere talon
#

huh

#

can u see where it breaks

#

like put breakpoints

#

idk it just works for me

limber skiff
#

it's gonna be something I did blobcatcozy

austere talon
#

what did u change

limber skiff
#

regex exec -> matchAll

austere talon
#

wait why did you limit nest length

limber skiff
#

and that

#

because after 3 it wouldn't fit anymore

austere talon
#

meh

#

there's not much reason to limit it

#

it wasn't ever a problem was it

limber skiff
#

no but it looked bad

#

and you couldn't see the info either way

austere talon
#

yes need to reset

#

you always need to reset after .test()

limber skiff
#

bro wtf

#

you need to reset after test??

austere talon
#

ofc because it is stateful

limber skiff
#

I searched it up and it only talked about exec

median rapids
#

that's horrifying

limber skiff
#

that's so dumb

austere talon
#

ve ```js
const re = /a/g

console.log(re.test("a"))
console.log(re.test("a"))

nimble pendantBOT
limber skiff
#

jeez...

median rapids
#

js devs try not to make normal devs cry challenge

#

(impossible)

limber skiff
#

I thought it was something about exec

austere talon
limber skiff
#

because it makes sense you want to get the other matches

#

but with test

austere talon
#

with test too

limber skiff
#

๐Ÿ˜ž

austere talon
#

you're operating on a global regex

#

whenever you use a global regex you want all matches

#

so it's important that test and exec keep state

#

so you can keep calling .test and get next and next matches

#

if you don't want that behaviour that means you shouldn't be using global regex

limber skiff
#

that makes sense

austere talon
#
const re = /a/g;
const indexesOfAInText = []
while (re.test(longText)) {
    indexesOfAInText.push(re.lastIndex)
}
limber skiff
#

can content of a message ever be null?

#

or empty string always

austere talon
#

empty string

limber skiff
#

okay good

austere talon
#

anyway just undo that change it's wrong

median rapids
austere talon
#

how

median rapids
#

tho tbf I'm pretty sure js devs stole this from java

#

so can't fully blame them

austere talon
#

nah java regex is very different

median rapids
#

I think it's also stateful

#

iirc

median rapids
#

to operate on

austere talon
median rapids
#

with a .math() or something

austere talon
#

test has different purpose

limber skiff
#

ngl matchAll is fire

#

the fact it returns an iterable with easy access for the groups of every match is so good

#

and no special handling cuz if no match the iterable is just empty

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
#

dac2d75 bump to v1.8.5 - Vendicated
f384fe6 fakeProfileThemes: settings UI improvements (#966) - lexisother
9c092b9 feat(BetterRoleContext): Add option to view rol... - schoeneBiene
08d7de0 ShowHiddenThings: more effectively explode Algo... - dolfies
44d7081 fix(MessageLogger): correctly blur spoilered im... - k26pl

limber skiff
#

why is it not loaded

#

I mean, yeah i know why, the factory was null when it tried to call it

#

hmmm, super small chunk is trying to require it

#

@austere talon so it's actually a racing condition, we are force loading a chunk for a context menu item, but it doesnt specify the dependencies correctly because it's a context menu, which makes it try to require the message component because the chunk that contains it loaded

#

ultra fix

charred monolithBOT
charred monolithBOT
jagged cloak
#

nicest vencord user

charred monolithBOT
jagged cloak
#

it loves commit

charred monolithBOT
limber skiff
#

brooo what is this typing

#

m is an object why is it typed as a function

charred monolithBOT
jagged cloak
#

oh yeah wtf that entirely explodes discord

limber skiff
#

I am currently documenting the webpack require

inland fable
limber skiff
#

it does require some searching...

charred monolithBOT
limber skiff
#

idk how this didnt cause issues

charred monolithBOT
limber skiff
#

I see, that functions simply removes already loaded chunks from the chunkIds to avoid checking if they are loaded again

#

webpack code is just crazy

charred monolithBOT
limber skiff
#

I did it people

charred monolithBOT
charred monolithBOT
somber thorn
#

most descriptive commit message

charred monolithBOT
somber thorn
#

more descriptive commit message

charred monolithBOT
somber thorn
#

but here's the fixer

charred monolithBOT
austere talon
limber skiff
#

nah it's just wrong

#

you can see because of the comment

charred monolithBOT
#

This plugin allows editing any Rich Presence's type from playing to watching, listening or competing.

It also has an option to remove the large image text, which tends to be used as a way to show version info. This large image text gets shown as the 3rd line of the RPC when the listening, watching, competing types are used.
Vesktop_kvFAZpFJvv

Currently not finished, the actual rpc changing lo...

charred monolithBOT
charred monolithBOT
#

I have added a submodule to the user plugin officially supported by WakaTime, which was created by NeonGamerBot-QK.

I don't think this should require a DevBuild to install and will be much more accessible when added to the main repository. (I'm not affiliated in any way with this plugin or WakaTime. I'm only submitting a submodule pull request.)

austere talon
#

should we just add that flag in vencord

lone briar
#

makes sense to me, fixes quite a few minor bugs

charred monolithBOT
shell shuttle
#

soft crash

#

to where discord feeezes up and doesn't respond when its alt tabbed for a certain time

austere talon
#

yes

jagged cloak
#

oh that happened to me yesterday

#

foreground grey screen hasnt happened in a while

charred monolithBOT
#

Discord Account

.1corkie

What happens when the bug or crash occurs?

This issue occurs when I am on red or DND status, I tested with another account and the notification went through without issue.

What is the expected behaviour?

The notification goes through without worrying about discord status.

How do you recreate this bug or crash?

Go on DND or red and attempt a message or notification.

Errors

No console logs.

Request Agreement

  • [X] I am using Discord St...
somber thorn
#

<title>

austere talon
#

someone translate please

austere talon
#

i mean that makes sense

#

if you're on dnd it won't notify

median rapids
median rapids
#

i don't see how it could be a vencor issue

jagged cloak
#

i think its just stock

#

has anyone actually tested w/o vencor

austere talon
#

idk bro, it def happens on stock too but vencord apparently makes it more likely to happen

#

some person said disabling NoCallIdle fixes it for them but for other people it doesnt

then some other people say its fixed once they uninstall vencord, but then you also have people on reddit complaining about it with stock discord

#

its a really strange issue so i have 0 info

verbal pumice
#

it happens to me on stock a lot

austere talon
#

but if the flag fixes it then we can just add it blobcatcozy

median rapids
#

vencor now fixing stock issues blobcatcozy

jagged cloak
verbal pumice
#

vencord will send a later to jason's house telling him to fix the bug

median rapids
#

we need a vencor to staff backchannel

austere talon
#

tbf idk how discord could fix it either

#

its a really weird bug

#

basically chrome for some reason deciding ur page should be hibernated to save battery

#

there are really cursed workarounds like playing silent audio 24/7

#

that people apply in production

charred monolithBOT
limber skiff
#

btw vee where should I put the file for wreq typings?

#

I'm not sure it it should be in common

charred monolithBOT
#

Discord Account

No response

What happens when the bug or crash occurs?

When using a twitch subscriber emote while being subscribed to the streamer, FakeNitro will still replace it

What is the expected behaviour?

It should not be replaced

How do you recreate this bug or crash?

  1. Try to use some twitch sub emote that you have access to use
  2. Observe that it gets turned into a FakeNitro emote

Errors

No response

Request Agreement

  • [X] I am using Discord ...
median rapids
#

they also have a custom electron fork anyway

median rapids
#

meowlien

#

hm

somber thorn
charred monolithBOT
#

Discord Account

draze999

What happens when the bug or crash occurs?

When i'm writing a message and editing it after, only the default behavior is there, i don't see any history or logs. Same thing for others's message

What is the expected behaviour?

When a message is edited, it should log the old message content above

How do you recreate this bug or crash?

  1. Write a message
  2. Edit the message
  3. Take note.

Errors

No response

Request Agreement

  • [X] I a...
somber thorn
#

awaiting ย 

charred monolithBOT
#

PR Review ๐Ÿ”

<table>
<tr>
<tr><td> โฑ๏ธย <strong>Estimatedย effortย toย review [1-5]</strong></td><td>

4, due to the complexity and size of the PR, which includes a significant amount of new functionality involving regex operations, state management, and UI components. The PR integrates deeply with existing data stores and user interfaces, requiring careful review to ensure compatibility and performance.

</td></tr>
<tr><td> ๐Ÿงชย <strong>Relevant tests</strong></td><td>

...

jagged cloak
#

horror

#

thats worse than ย 

charred monolithBOT
charred monolithBOT
median rapids
#

yorp

frail skyBOT
#
Bad Patches

AnonymiseFileNames (had no effect):
ID: 294734
Match: /(\i.uploadFiles\((\i),)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

AnonymiseFileNames (had no effect):
ID: 294734
Match: /(\i.uploadFiles\((\i),)/

Bad Webpack Finds

None

Bad Starts

None

Discord Errors

None

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

charred monolithBOT
#

f384fe6 fakeProfileThemes: settings UI improvements (#966) - lexisother
9c092b9 feat(BetterRoleContext): Add option to view rol... - schoeneBiene
08d7de0 ShowHiddenThings: more effectively explode Algo... - dolfies
44d7081 fix(MessageLogger): correctly blur spoilered im... - k26pl
0751722 QuickReply: skip blocked messages if NoBlockedM... - pwall2222

austere talon
jagged cloak
# charred monolith

@dusk blaze if you wanna yoink my plugin you can lol i had no intentions on pr'ing it

dusk blaze
#

I missed it

#

I'll steal some things from it

#

cough settings UI trolleyzoom

jagged cloak
#

u might need to unshittify it lol

#

i can't react

charred monolithBOT
dusk blaze
#

I can't react too

#

but i do try

jagged cloak
#

premix apparently claims they can do listening without a mod now

dusk blaze
#

guh

#

I don't think so

jagged cloak
#

yeah me neither lol

dusk blaze
#

since discord automatically explodes any rpc that isn't playing

#

or doesn't have matching name and app name

#

so maybe with arRPC

#

since it doesn't check

median rapids
#

iirc they got approved for the activities.write scope

#

which allows direct api access to create activities

jagged cloak
#

oh i remember seeing a scope like that earlier

#

it didn't work tho xd

median rapids
#

it needs approval

#

idk why

#

it's not like it's very dangerous

#

just presence

jagged cloak
#

i mean app set ur presence to phishing boom

#

just don't be dum tho

austere talon
#

yeah maybe that

#

could be abused

#

for ads, scams etc

and clueless users "help why is my discord advertising stuff"

dusk blaze
#

i mean a malicious app could do same with a playing status

#

"Playing 50$ steam gift card giveaway"

median rapids
#

seems a lot less bad than something like

#

guilds.join

dusk blaze
#

gdm.join

#

or something

#

very bad

#

anyway