#stage-discussion

1 messages · Page 6 of 1

finite monolith
#

every combo of what

unkempt hill
#

of possible tokens

#

splitting tokens

#

then recombining

#

into emote tokens

#

and text tokens

finite monolith
#

that's

#

i have literally no words

daring gale
#

unhinged

unkempt hill
#

so yeah

#

now you know

#

why when you copy paste 10 emotes

#

in the native chatbox

#

the site literally freezes

#

for 2 seconds

finite monolith
#

it would be better if i wouldn't know that

unkempt hill
#

i will probably try

#

at some point

#

to not do it in vue

#

wont be the end of the world

#

actually will simplify

#

some parts

#

i still have a good part of that stashed

#

atleast like chatbox replacement and stuff

#

so it looks the same and interacts the same but is actually custom rendered

#

but just the rendering is what i didnt implement because it bugged half way through

finite monolith
#

hmm yeah

unkempt hill
#

so its basically just a regular non wsywg chatbox

finite monolith
#

the only problem i see is that twitch implement a shit ton of features

#

and change everything

#

and have 10 billion experiments

unkempt hill
#

yeah

#

we will build in a way

#

to remotely

#

disable experiments

#

it just needs to be that way

finite monolith
#

that's good

unkempt hill
#

just have an api endpoint

#

that shuts some off

daring gale
#

^

unkempt hill
#

maybe with some burried

#

debug setting

#

to disable that

daring gale
#

cant do otherwise

#

it takes days to get an extension reviewed by google

#

if twitch changes something and extension breaks,
well

finite monolith
#

FeelsGoodMan 👏

daring gale
#

the discord gets some newfound activity

finite monolith
eternal iron
#

We can insert our own emotes into slate i believe

unkempt hill
#

no we cant not well

#

ive done this already

#

we can inject token names

#

but not images

#

they are hardcoded

eternal iron
#

but we also have to add an observer to hook the renderer

unkempt hill
#

in a context locked

#

place

#

and to do what you just said

#

requires hooking the funcs

#

that run 100s of times

eternal iron
#

I got it working on an old branch

unkempt hill
#

so i scrapped it

eternal iron
#

But yea, was bad

unkempt hill
#

yes you can mutation observe but that is very bad

#

the current input box code does hook slate tho

#

i added types

#

for all the slate funcs

#

it restores history in slate leaf form

eternal iron
#

They actually dont care what you add

unkempt hill
#

no slate doesnt yeah

eternal iron
#

They just rerender on any update

unkempt hill
#

yea

#

what you said is exactly how bttv does it

#

they just literally watch the dom

finite monolith
unkempt hill
#

how do you say dom outloud

#

it always feels weird for me to say it the way i'm inclined to

#

i usually end up saying "object model"

#

or "document"

#

but not DOM

finite monolith
#

just dom

eternal iron
#

I think settings should be merged once i have the other base types ready

#

So other branches can begin to use it

#

All the settings will just be unsorted, which is fine

finite monolith
#

who gives a shit about sorting

eternal iron
#

Well, more like grouping

#

Becomes very nice when there lots of customizeability

finite monolith
#

that's pretty hot

#

especially if you'll make the close button smaller

#

and the description text darker

shell schooner
#

this is my mockup i made earlier FeelsDankerMan

finite monolith
#

i approve

#

beside the small thing at the bottom left though

#

i don't really see why you'd need that

shell schooner
#

the login thingy?

finite monolith
#

yeah

shell schooner
#

ApuShrug could be useful for managing your sets through the extension etc

#

or for data sync

#

or cosmetics

finite monolith
#

i can tell by how you're talking

#

that you didn't think of any purpose and just think it looks nice

shell schooner
#

well its just a mockup

finite monolith
#

but actually

#

being able to control paints and badges through the extension is a really good idea

#

i wonder

#

if hijacking the chat identity thing from twitch itself would be better for that though

shell schooner
#

displaying all the paints in that tiny window would be kinda dank

finite monolith
#

hmm

#

ok lets not hijack too much

#

i bet melon wants to die with every new thing he has to hijack

eternal iron
#

You will be able to "log in" to the extension with you seventv account

#

And seventv emote links will be resolved to embeds directly in chat

#

So you can get a preview and click add withoug having to leave the chat

shell schooner
finite monolith
#

that's good

eternal iron
#

Also custom commands so you can do /add /alias /remove ... directly from chat

#

Those are actually working rn in the old extension

#

But we dont have a non jank way to authorize the old extension, so not released

finite monolith
#

how will we connect youtube to 7tv

eternal iron
#

Do you only do figma, or do you do css/html aswell? @shell schooner

shell schooner
#

nah im dank FeelsDankerMan

eternal iron
#

Was just wondering if you wanted to do some of the different setting types LULE

#

Most of them will probably be quite bland for the first release

shell schooner
#

i made a website for myself once and its super scuffed ayyybuLULE

#

i dont have the patience for this shit

unkempt hill
#

because excellify wants to add mini controls

#

so you can add and remove emotes on site

#

needs auth state for that

#

probably wont be a login log out thing

#

because it will probably pull from your state on 7tv.app I think

finite monolith
#

one thing i know is that i dont know anything

#

™️

eternal iron
#

Also the ability to swap emoteset, badges, paints

#

from the settings window

daring gale
#

also apu

finite monolith
#

yeah

#

those are all good

eternal iron
#

7tv.app will become obsolete Kapp

shell schooner
#

7tv mobile app in 2024

half glade
#

companies creating mobile apps with the same features they have in their website instead of fixing the bugs route PAGPAGPAGMANMANMAN

wet talon
#

in 2024 7tv is owned by tencent

#

toe and troy are a gay couple retired in new zealand

#

and kathy is there too doing... something

inner sorrel
#

kathy is gambling on gacha games

#

anatole is still coding cuz he's a degenerate

finite monolith
#

Aware genshit

wet talon
#

anatole and not troy?

inner sorrel
#

troy is searching in the 7th layer of the dark web for femboy streamers

random patrol
polar magnet
#

FFZ doesn't have the streamer's PFP

daring gale
#

anson show your ffz logo variant

polar magnet
#

I forgot it at home. Sorry class

#

The asymmetrical version looks super ugly at this size. I can probably fix it though

#

I'm not gonna show it

#

but here's the symmetrical version in the mean time:

#

Yeah I gotta fix some more stuff

finite monolith
#

Hey anyone have a clue on how you can do something like this

eternal iron
#

The ffz one dosnt have a pfp because they dont provide one when querying

odd bone
#

are ffz settings supposed to not work with the new chat

#

like for example if i was to put chat line separators

eternal iron
#

7tv overrides the chat, so yes x0r6ztGiggle

odd bone
#

is there a way to remove the moderation slider

finite monolith
#
:root {
    --xdd-color: #FFFFFF;
}
.xdd {
    color: var(--xdd-color) 45%
}


eternal iron
#

Will be, once settings are implemented

odd bone
#

Im just trying to see how it is compared to native chat which i usually mod on

#

theres been an annoying delay/lag for the broadcaster/mods on basically all large channels

finite monolith
#

That would be helpful for having a standard list of non transparent colors, so you can make any color transparent if you want to

eternal iron
#

That is scss only right?

odd bone
#

i thought it was compatible with ffz aputole

#

or is that only build 23

#

2*

daring gale
#

it's compatible in the sense that it doesnt crash when ffz is on

odd bone
#

i see

eternal iron
odd bone
#

but I cannot use ffz settings while on the chat itself

daring gale
#

it doesnt mean ffz actually affects the chat

#

no

odd bone
daring gale
#

very important distinction here

#

is that while other extensions only patch the chat

odd bone
#

im just trying to see it from a mods pov

#

if they're using native chat to mod

daring gale
#

or moreso, patch chat messages

polar magnet
#

If you open the emote menu before 7TV loads, the native twitch emote menu will open and there's no way to close it

daring gale
#

the new 7tv extension replaces the entire chat box

#

it's all custom rendering

polar magnet
#

the skill issue is not closing it fast enough

#

if you close it before 7tv finishes loading, then it's fine

eternal iron
#

It should close if you open the bits menu or something i believe

polar magnet
#

ah I didn't try that

odd bone
#

highlight looks nice

polar magnet
#

still, 7TV should probably close it if it's open

odd bone
#

predictions/pinned messages and other features with the chat banner don't seem to lag the chat as a mod using the extension anymore

daring gale
#

that would make sense as it's not using react anymore

#

so its not rerendering 10,000 times a second

#

which inherently boosts performance by a factor of 700

#

or so

eternal iron
daring gale
#

mathematically correct estimation

polar magnet
#

7tv will take over for that reason alone

daring gale
#

im pretty confident this new extension will be liked

#

yes it will fuck with your other extensions

#

however

#

do you really need anyone else

odd bone
finite monolith
#

Wtf

odd bone
#

happens when I ":" and then type an emote

daring gale
#

thats probably a clash with ffz

odd bone
#

probably

daring gale
#

both are inserting emotes in the autocomplete box i guess

odd bone
#

also, this might be the same thing

#

but I cannot @ people in the chat

finite monolith
#

@odd bone

odd bone
#

someone @'ed me in the chat and i just watched their chat line go by

#

and i tried to @ them back and the user never appeared

daring gale
#

yeah thats known its bc we artificially block the native twitch msg handlers

odd bone
#

@finite monolith yes what

finite monolith
#

I pinged you

odd bone
#

wide

finite monolith
#

tf ** ** ** ** ** ** ** **

odd bone
#

and im assuming theres no chat pause yet

daring gale
#

OkeyThink wdym? the chat pause i implemented is the best by far

#

actually unmatched

odd bone
#

how tf do you pause the chat

daring gale
#

scroll

#

up

odd bone
#

oh yeah

#

im just used to pressing shift

finite monolith
#

MODS

daring gale
#

PepoG todo: implement shift to pause

finite monolith
#

Yeah

odd bone
#

duplicate automod bug still appears

#

but does not lag the chat

finite monolith
daring gale
#

thats a twitch issue NODDERS

odd bone
daring gale
#

or maybe ffz

#

im not sure

odd bone
#

its twitch

daring gale
#

but yea probs just twitch

odd bone
#

it only started happening recently

#

makes modding on native chat impossible

#

can't even make a prediction or pin a message on native chat because of how much it lags

daring gale
#

i believe its also caused by an experiment

polar magnet
#

here's the asymmetrical version of the low-poly ffz logo

daring gale
#

because the only two people ive heard of this happening to

odd bone
#

I don't have experiments on though

daring gale
#

is you and xqc

odd bone
finite monolith
#

We do a little experimenting

odd bone
#

nah

#

all of my mods using native chat have the same issue

daring gale
#

it doesnt matter if you have experiments on or not, whatever that means

#

twitch runs experiments

#

whether you like it or not

#

and you will be used for their experiments

odd bone
#

yeah but why would they degrade the quality of the chat for that

#

doesn't make sense

daring gale
#

you will accept being twitch's lab rat and you will like it

daring gale
#

twitch web engineers dont actually know what they are doing

finite monolith
#

React PepeAgony

odd bone
#

yeah but its just annoying to me who's always modded on native + ffz and all of a sudden like 1 month ago this lag bs starts

#

i thought it was cause they added shield mode tbh

#

cause it never had this issue before

#

its only if you're a mod/broadcaster on a large channel

#

if i go view other chats while im not a mod, theres nothing wrong with native chat

daring gale
#

i'll look at adding mitigation for duplicate modstate messages

#

so that twitch fuckery is artificially culled

eternal iron
#

Just render them natively

daring gale
#

it happens in general anyway

#

nah we need to handle those as well

#

otherwise no emotes

#

theres a lot of diff messages types we have to build UI for

odd bone
#

other than the customizability that ffz has which is why i used that over chatterino, the extension runs really well

eternal iron
#

natively as in vue i meant LULE

daring gale
#

like rewards, announcements, subs

#

oh, ye

#

i actually yoinked the icons twitch uses for those already

#

just need to build the visuals and support the message type

daring gale
woeful stirrup
#

yoink them like kick did

daring gale
#

well yeah, except its just for reusing them on twitch's own site

odd bone
#

sounds good peepoGlad would love to use the extension with the way it runs

daring gale
#

so its not actually stealing the icons i just needed to import them in our vue app to rebuild rendering LULE

odd bone
#

emote menu looks PeepoThumb imo

eternal iron
#

There is an unmerged pr that makes it look better

odd bone
#

although this big ass grandma font could be smaller

daring gale
#

its gonna be good, everyones been doing really good work on this

eternal iron
#

Think this is the lates iteration

#

The blur will be toggleable

finite monolith
#

How though

daring gale
#

excellify with the UI work (bubu with design mockups), melon who built the extensive hooks to cleanly interface twitch's framework and ive been mostly working out the background stuff like dev flow, core functionality etc

finite monolith
#

Oh right

#

Nvm

inner sorrel
#

anatole can you please fix colon completion

daring gale
#

what about it

#

oh that

inner sorrel
#

normally feelsstrongman should show on both cases

finite monolith
#

Oh right

odd bone
#

its the same thing i just asked

#

probably

inner sorrel
#

im too lazy to read chat

eternal iron
#

what rules does twitch use to determine startpoints?

daring gale
# inner sorrel

@unkempt hill i think you implemented colon complete, might want to look at this

inner sorrel
#

my attention span is kinda washed rn

odd bone
#

sounds like a brain skill issue

eternal iron
#

autocomplete is just twitchs native :complete right?

finite monolith
#

Anyways um

odd bone
#

well for mine i have ffz's

eternal iron
#

I usually use the inline tab complete from ffz

odd bone
#

yeah thats what i used in the recording above

naive hatch
#

the one thing I iss when using the new app over ffz is the larger emote on hover. def one thing I'd like to see in the future

daring gale
#

will probably have some kind of form during the beta for what people want added the most

#

ffz has a ton of features though i think only a fraction of them are used

#

also we will actually sync the ffz settings

#

so any existing config from ffz, if we support it, will be auto-set w/ the 7tv extension

odd bone
#

very smooth

daring gale
#

replacing the entire chat is quite an aggressive move however i now have decent confidence people will see the benefits of this, and appreciate it instead of getting upset a couple of their settings no longer works

#

it is unfortunately the only real good way to fix the issues with native chat on twitch

#

the default is just so bad nothing can save it

#

so far most people dont even seem to notice the chat even changes at all (at first glance), even though internally its completely different

woeful stirrup
#

instead of getting upset a couple of their settings no longer works
PEPW 👉 #help-old

finite monolith
#

I noticed one thing

#

You don't get the joined system message

naive hatch
daring gale
#

we'll do what is best for users

finite monolith
#

Like if you're a mod in a channel and you get all of the past history but there is no separation between the old and the new messages

odd bone
#

if you do sync the ffz settings that would work for me anyways

eternal iron
#

And all the ffz settings that dont affect the chat should still work like normal

daring gale
#

which lets be honest

#

when people experience this

#

they are not gonna want to go back to default

#

we'll work to support as many of the usual customizations as possible though it's impossible to support them all by the time frame we'd like to go live

odd bone
#

as long as the base things work i think that'd be fine

finite monolith
#

The only feature I need from ffz is auto channel point claiming

odd bone
#

my wide chat box isn't affected by the extension

#

my mod icons are though since they're through ffz

#

same with the split chat lines

daring gale
#

i do wonder

#

if this is going to motivate twitch to improve their chat's performance

#

when they realize

#

most of the page's fucking cpu usage

#

is the chat

finite monolith
#

Profiling? NODONTTHINKSO

#

Actually

daring gale
#

memory too

odd bone
#

for the last 3 years that i've used Native + FFZ, I haven't had a problem with the native chat until recently

#

for that bug shit

daring gale
#

native chat uses a shit ton of mem

finite monolith
#

Are there profilers for the web

woeful stirrup
#

Nah they will implement another useless feature

daring gale
#

ye there is a profiler in devtools

finite monolith
#

Like with valgrind and shit

#

Where you can see which function takes the most cpu time

naive hatch
#

nah twitch either A) likes to pretend they dont make money or B) is operating at a net loss because they have 1200 employees who sit on their ass and 98% of them dont do shit

finite monolith
daring gale
#

and the 2% that do shit write shitty code

naive hatch
#

but because they do the job they roll with it.

finite monolith
#

But yeah

naive hatch
#

"kinda" the same shit with twitter. "omg musk fires like 90% of the staff sites gonna go down next week" KEKWait its still going because the people who stayed and still do work, aint shit changed for them

inner sorrel
#

aint no way thats clix's

finite monolith
#

It's surprising how none of the twitch staff give a shit about how slow the website is

inner sorrel
#

since when do they use emotes

finite monolith
#

It makes me think

#

How much can you improve the twitch site

daring gale
#

how to fix twitch:
no react

#

done

unkempt hill
#

Ffz does this too

finite monolith
#

Can we break the 40MB js bundle

inner sorrel
unkempt hill
#

Into?

odd bone
#

yeah it is @inner sorrel

finite monolith
#

Something more fucking sane

odd bone
#

i told you we influence them

#

they don't use them all the time just sometimes

#

they're learning

unkempt hill
#

Not much point

#

For an extension

#

It's hard to do right

finite monolith
#

No that's not what I meant

#

I meant like

inner sorrel
finite monolith
#

If you'd to recreate the website from scratch

unkempt hill
#

Oh you mean twitch's bundle?

#

What one is 40mb

finite monolith
#

Yeah

unkempt hill
#

There's like too many chunks

finite monolith
#

That's a rumor I've heard

unkempt hill
#

On twitch

finite monolith
#

Of the whole thing taking up 40 mb

unkempt hill
#

Nah they go overkill as fuck

daring gale
#

twitch kinda chunky

unkempt hill
#

Every feat

#

Is a chunk

#

30 reqs

#

For a channel page

#

Prolly less

finite monolith
#

Kill me

unkempt hill
#

But exaggerating

finite monolith
unkempt hill
#

Not far probably though

#

Very many

#

Is the point

daring gale
#

theres a point where chunking is a detriment

#

its nice to have small files

#

but

#

then each file becomes a request

#

which

#

if a user is not using HTTP/2

finite monolith
#

Http/3 FeelsOkayMan

daring gale
#

means it's 6 concurrent requests max

odd bone
#

the kino der toten zombies song was playing and they were typing that @inner sorrel PepeLaugh

daring gale
#

so they fetch 6 files

#

then must wait

#

so it ends up being slower than a larger bundle

#

chunking is actually kinda to do right

#

it needs to make sense

finite monolith
#

Yeah idk

daring gale
#

you cant just start chunking everything and say yep thats better "because"

finite monolith
#

Easy to just throw into roll-up and forget

unkempt hill
#

It only makes sense to chunk where there will be too much unran code

finite monolith
#

Every day this channel makes me Aware of how bad the twitch website is

unkempt hill
finite monolith
#

I wonder how bad the frontpage is

#

With the autoplaying clips and shit

daring gale
#

how quickly i went from "nah man aint no way we can just replace the twitch chat, it would mean people would complain every time twitch adds new useless fluff"

to

"holy fuck twitch native chat is so fucking bad lets get rid of it so we can singlehandedly save millions of dollars in electricity cost from people's cpus being pinned to 100% by juicers spamming a funny skeleton attached to spinning ceiling fan in chat"

unkempt hill
#

Aware

finite monolith
#

Aware

unkempt hill
#

Did the copypasta start out as real

#

Aware that poor kids laptop

finite monolith
#

I miss the old twitch frontend before the react

#

Aware

#

Emberjs Aware

eternal iron
daring gale
#

old twitch was actually not that bad

unkempt hill
#

Wtf no that's so bad I can't even read that

daring gale
#

though from a dev's standpoint it was probs annoying asf to work with after a while

finite monolith
unkempt hill
#

I mean yeah have it as an option

#

But I hate it

finite monolith
#

It makes message tracking easier for my eyes

daring gale
unkempt hill
#

How

finite monolith
#

Idk

eternal iron
#

Also, it only calls getBoundingClientRect once it finishes the scroll @unkempt hill

unkempt hill
#

Okayeg

#

Yeah that's fine

eternal iron
#

It works like the instant scroll if the duration is 0

unkempt hill
#

Although

#

I wonder

eternal iron
#

So that will just be default

unkempt hill
#

If you should move that code

#

Into an expose on uiscrollable

#

For utility

#

Make it usable elsewhere

eternal iron
#

That sounds like a job for melon guy

unkempt hill
#

Because behavior smooth is just useless on chrome

odd bone
#

is the delay on this chat the same as chatterino's

unkempt hill
#

Close

#

Sometimes chatterino is slower

#

But that's just twitch

eternal iron
unkempt hill
#

I still want windows XP theme chat

hollow geyser
#

@daring gale I want to describe my impression and wishes in one message, based on the current build of the extension (dev3). Some points may probably be extremely individual for me, but I tried to take into account the experience for the rest of the community.

#

Essential Issues:

  1. Twitch emotes are not displayed in the menu:

a. Follower emotes (displayed if there is no sub)
b. tier 2 and 3 emotes
c. Animated emotes
d. Twitch unlocked event emotes without their own category

  1. Emotesare not displayed in pinned messages, ads, and presentation messages
  2. autofill of nicknames via @ does not work
  3. sometimes mentioning me in messages does not display the nickname in the message
  4. sometimes your own message in the chat is displayed with a delay (about 2 seconds)

Secondary Issues:

  1. Timestamps for new messages are not displayed
  2. The user card does not open when clicking on the nickname
  3. Instead of the slider mod, the old messages and new introduction messages display standard moderation buttons

Cosmetic remarks:

  1. The font of the hints of the names of emotes is too big
  2. More information in the tips about emoticons when you hover over them in the chat (name, from where (7tv, bttv, ffz, twitch or subscriber channel dash *))
  3. It would be nice to add a mini icon above zero-width emotes in the menu
  4. In the twitch -> "channel_points" category, the twitch points icon would be better suited
  5. There is no steamer avatar in the ffz > "channel_emotes" category

What I liked:

  1. Search for emotes through the message input window when the emoticons menu is open
  2. Design and animation of the new menu as a whole
  3. Highlighting messages with a mention of the nickname

What I would like:

  1. A favorite feature or a category with frequently used emotes
  2. The ability to collapse individual categories (as it is done in ffz)
  3. It would be great to be able to sort emotes (by name or by date added). It would also probably be great if new emotes on the channel were displayed at the top of the category for some time (like discord, for example).
  4. The ability to open the emotes page on the extension site via ctrl+shift+lmb

PS: thank you for your work dankHug

eternal iron
unkempt hill
#

So that's what you were typing

hollow geyser
odd bone
#

holy shit

#

im sure this is known, but gifted subs do this

unkempt hill
#

Huh

#

No, it shouldn't do that

inner sorrel
#

yea it does that

odd bone
#

oh

#

yeah it does it for every set of gifted subs

#

same with moderator actions

#

the lines go through the messages, but only like 25% of the time does it show which mod did it and for how long

finite monolith
#

damn

#

chat pausing in the new extension feels super nice

#

especially compared to native chat

#

its like chatterino level

shell schooner
#

new release when PauseManSit

peak shuttle
peak shuttle
#

Something I missed switching to the new chat is knowing where twitch sub emote came from. Some emotes are interesting and I would like to know which channel sub give them.

#

it would be nice to bring back this popup

merry elk
#

known that the animated emotes are missing here?

#

from every channel

finite monolith
#

are they entirely missing or are they not animated

empty dawn
#

they're entirely missing but it has been mentioned before

woeful stirrup
#

also how does clicking the icon works
it doesnt navigate me to the section all the way
requires few clicks to get to it

finite monolith
#

yeah

#

it's a chromium bug

#

where the smooth scrolling is fucked

#

it's probably getting removed

woeful stirrup
#

you mean smooth scrolling is removed
or the whole tab section is removed

finite monolith
#

smooth scrolling ofc

woeful stirrup
vapid veldt
woeful stirrup
#

i assume not all twitch functionality is back yet?
like showing channel point redeem

shell schooner
#

you got it wrong

#

there is no twitch functionality kek

unkempt hill
#

when did this change?

#

did it break or intentional

#

its not falling back to any native message types anymore in this build

#

giftsubs, point redeems

woeful stirrup
#

yeah not even highlight

#

but saw no error in console

unkempt hill
#

no not that type of error

#

its just treating everything as a basic message Apu

#

wether or not it even has a text content, like for giftsubs its just showing blank

shell schooner
#

Usercards as well kek

finite monolith
#

@eternal iron now that the settings pr has been merged, is it time to port the colors and shit into App.vue PauseChamp

#

the emote menu styling branch will have to be merged first though

#

or rebased

#

i guess

twilit haloBOT
#

Hey treuks, - I just private messaged you 1 private reminder(s) - make sure to check them out!

eternal iron
#

Check where or not you think the emote menu looks fine now @finite monolith

finite monolith
#

uhh well

#

twitch is dying

#

zamn

#

ok

#

there are a few things i should fix first

#

but it looks good overall

#

well

#

i cant fucking see shit

#

dead streamer dead chat dead platform

#

ok

#

i actually cant test shit

daring gale
#

twitch is down

shell schooner
#

do yall need the black twitch icon

#

i mean mean non colored version

finite monolith
#

yeah sure

#

uhhh @daring gale

#

you did this concurrent build thing

#

is this all the worker building gives you

#

because this feels wrong

daring gale
#

wdym

#

the worker is a single file yes

finite monolith
#

it doesn't say that it's built

#

oh

daring gale
#

? FeelsDankMan

finite monolith
#

@eternal iron i see you added a blur to the set headers

eternal iron
#

Yea, that made it look good when using the same background color as the main window

finite monolith
#

it looks donk and transparent so please don't do it

#

look its like blurred but not at the same time

#

that's why i didn't add it

eternal iron
#

Stare @shell schooner

shell schooner
unkempt hill
#

EZ how to make good design'

#

look up design

#

add circle

#

add blur

#

done

shell schooner
finite monolith
#

ok

#

i adjusted the set header color so it looks nicer

#

the only thing i'm thinking of is that the currently selected tab color looks donk

#

but i can't think of what to replace it with

#

i tried making it look lighter instead

#

and it looks eh

#

@shell schooner need thoughts

shell schooner
#

good kek

#

not sure if the tabs need to be visible if they are not highlighted tho

finite monolith
#

yeah

#

makes sense

#

i have a small idea i'll see how that will look

finite monolith
#

maybe something like this

shell schooner
#

nah

#

it kinda looks out of place

finite monolith
#

?

shell schooner
#

i need to see how twitch does it

finite monolith
#

👍

unkempt hill
#

this is bubus design process

#

see above

#

look at other design, make more round

#

add blur

#

add dropshadow

shell schooner
#

kek if it works it works

unkempt hill
#

add gradient

daring gale
#

rip bozo anyone with a branch that modified imports

unkempt hill
#

get mad at dev

#

for implementing gradient

#

tell them to remove gradient

shell schooner
#

also we are technically editing twitch so the style has to match

finite monolith
#

ok well

shell schooner
#

so it doesnt look out of place

eternal iron
#

Consider thinking of the colors as a more global theme, so all the 7tv stuff can be styled similarly

finite monolith
#

that means

#

we need to do this

shell schooner
#

nah

vapid veldt
#

FeelsGoodMan light mode

unkempt hill
#

LULE wtf is wrong with twitch

#

are they down again

shell schooner
unkempt hill
#

the status site just retracted the resolved status

#

and its back to major outage

finite monolith
#

ok

#

i still think that having a bit of an outline makes it look nice

eternal iron
#

You can re add the drop shadow that twitch uses

shell schooner
#

i adjusted the size of the icons and put them in a container so they will scale properly now i guess

eternal iron
#

I think it looks good for the emote menu

shell schooner
finite monolith
#

👍 excellify

#

i'll take a look at that

#

also

#

thanks ayyybubu

unkempt hill
#

why do we use the colored twitch logo?

eternal iron
#

Since i just copied one random one from twitch site

#

I asked for a proper one LULE

unkempt hill
#

it'd be neat tho

#

if we did actually use the colored one

#

when the user is in that section

daring gale
#

oh true

unkempt hill
#

just the primary color for each brand

#

not the fulcolor image

finite monolith
#

so wait

#

what dropshadow are you talking about

shell schooner
#

worth a try i guess

eternal iron
#

box-shadow: var(--shadow-elevation-2);

finite monolith
#

no no

#

i mean like, dropshadow on what

eternal iron
#

From the emote menu on the chat

unkempt hill
#

perhaps actually though

finite monolith
unkempt hill
#

these tabs should just be replaced

finite monolith
#

that's pretty dank

unkempt hill
#

with some other controls

#

it feels a bit redundant and weird

#

to have two tab systems

#

simoultaniously

#

on the same view

#

and just have the 7tv ffz and bttv channel emotes on the top of your emote selector

#

on the vertical one, maybe with a small gap

shell schooner
#

its gonna turn into a mess

unkempt hill
#

seperating them

#

well i'd argue its kinda already a mess

#

how to I find this one emote i want

eternal iron
#

search

unkempt hill
#

well first I have to go to the twitch tab

#

then i have to click the channel

#

and then i have to look through all of them

#

so thats already 3 clicks

#

worst case

eternal iron
#

You dont have to click the channel

#

Just scroll

unkempt hill
#

to me

#

it just feels like they're there

#

to be there

#

to fill space

shell schooner
#

today im gonna find an emote with no way to segregate them

eternal iron
#

I mean, we could still group by set type rather than provider

unkempt hill
#

because your pointing to something

#

that will be exactly identical

eternal iron
#

And maybe twitch in its own tab, since that's still your emotes rather than the channel's

unkempt hill
#

your current design doesnt fix this

#

im not sure what your point is

#

well what I'm saying is I think we should just drop the "tabs"

#

and put them all inline

half glade
#

if a channel uses origin feature will those sets be separated in the new emote menu or just grouped together

eternal iron
#

But 7tv, ffz, bttv can be changed to channel and global

unkempt hill
#

yeah thats perhaps better

#

I just feel like its confusing

#

to have two grouping mechanisms

#

in the same spot

#

we're tabbing but also infinite scroll grouping but not the same spot?

daring gale
#

what yall sayn

unkempt hill
#

the vertical one and the horizontal one

daring gale
#

whats the second tabbing mechanism

eternal iron
#

I mean, there are tabs on the top

unkempt hill
#

the providers

#

are a second set of tabs

daring gale
#

whats the second set of tabs

unkempt hill
#

the channels

eternal iron
#

Those are not tabs tho

daring gale
#

not tabs?

#

just scroll points

unkempt hill
#

its really the same concept though

daring gale
#

not really

unkempt hill
#

just the a different presentation

daring gale
#

i think its fine as is

unkempt hill
#

just because they're linked doesnt make them different

daring gale
#

we should persist the selected provider tab though

#

like most users are gonna care about the 7tv tab

#

not so much twitch or the rest

#

actually

#

just use <KeepAlive>

#

on the menu

#

that would work

finite monolith
#

does this look okay

#

i made the main tab bolder and the other tabs a little less pronounced

daring gale
#

transparency removed?

finite monolith
#

nope

#

its impossible to see in lightmode

eternal iron
#

You still see colors pretty well through it

finite monolith
daring gale
#

remember to rebase from my latest commit btw if u modify any import its fucked

#

i made imports autosort

#

because ocd

eternal iron
#

What do you mean by keepalive btw?

daring gale
finite monolith
#

ok whatever i think it looks good enough

daring gale
#

it retains state of a component

shell schooner
#

it do be lookin fresh

unkempt hill
#

if its contents make it drop from the tree

#

it retains it in memory

#

until it gets readded

daring gale
#

this is a good use case of it here

#

should be used for settings too

unkempt hill
#

dunno if that will even work tho anatole

eternal iron
#

True, right now i just use a v-show instead

unkempt hill
#

i dont remember exactly how exellify did the emote menu button

#

but

eternal iron
#

Which is not really that good

finite monolith
#

hmm guys

unkempt hill
#

if its using a component hook it will probably make a new component per channel

finite monolith
#

should i prioritise twitch colors over custom colors or not

unkempt hill
#

voiding keepalive

finite monolith
eternal iron
#

You can set a max @unkempt hill

daring gale
#

max it to 1

eternal iron
#

yea

daring gale
#

if channel switches it's reset

eternal iron
#

But did you mean that we should keepalive the entire emote menu or each tab?

unkempt hill
#

then how is it better than v-show?

daring gale
#

v-show is just css visibility: hidden

unkempt hill
#

yes

daring gale
#

means all logic is still active

unkempt hill
#

and keepalive is just vue vnode hidden

#

it cannot stop the logic

#

if it was able to it'd cause the components onunmount

#

to trigger

#

breaking everything

daring gale
#

it does mean the component is effectively halted though

unkempt hill
#

keepalive keeps the components in memory like they're still loaded

#

their own code will still run

#

they get a deactivate event

#

but like thats it

daring gale
#

it's still a better way to do it

eternal iron
#

I would assume it means that it dosnt react to reactive variable updates

daring gale
#

v-show isnt good practice in general

#

i believe thats the case yea

#

u can test it

unkempt hill
#

i mean i see nothing wrong with using visibilty changes

#

youtube does this for alot of its ui

#

it just sets visibility hidden

#

but never removes it

daring gale
#

put a reactive variable, do a settimeout, set a watch, close menu, see if it triggers

#

it shouldnt trigger

#

though it will with v-show

#

this means

#

anytime we change the emotemap right now

#

the emote menu, even if closed, is rerendering

#

and costing in performance

unkempt hill
#

ok yeah that is true

#

i still dont really like keepalive at all but yeah it should be unmounted

#

in some way

#

keepalive or not

finite monolith
#

residential sleeper

daring gale
#

i dont see whats wrong with keepalive tho

#

like it can be bad if used incorrectly

#

but this is literally one case where the use is valid

unkempt hill
#

i mean yeah

#

but I just dont like the concept

#

of keeping all this unneccissary state

#

in memory

#

like its keeping too much

#

just feels like a waste to me

#

when you could just save the active tab

daring gale
#

i mean, alternatively we could also just store the active tab

unkempt hill
#

and scroll loc

daring gale
#

and scroll height

#

aintnoway

#

but then a bunch of logic in the menu component has to run again

#

each time you open

polar magnet
unkempt hill
#

true but also like your saving every single chatemote and every single dom node and vue vnode

#

and

#

likelyhood is

#

it will have to rerender again anyways the next time you open it unless it was like 5 minutes ago

#

people who dont use the emote menu at all will probably only open it to look at something specific

#

which will probably not be the thing

#

that they were looking at before

#

so keeping all of those emotes in memory just feels like a waste when they're just gonna scroll away or switch tabs

#

immediately

daring gale
#

might need to benchmark

#

and profile

#

see what works best in terms of memory to ux

unkempt hill
#

what do we do right now

daring gale
#

nothing

unkempt hill
#

do we just render everything?

finite monolith
#

ux > everything Okayeg

unkempt hill
#

no i mean like do we have any intersection observers or anything intelligent

daring gale
#

right now it's just visibility: hidden so literally nothing happens

#

yes

unkempt hill
#

or do we render the users entire emote library

#

that would be bad

#

to do

#

often

daring gale
#

intersection observer is used

#

only emotes in frame load

unkempt hill
#

then realistically its probably not that big of a deal

eternal iron
#

I dont think vue recalculates the computed() values if v-show is false

unkempt hill
#

since like i was saying above

#

the chances that someone opens the menu

#

and the emote they are looking for

#

is already there

#

are slim to none

#

they will probably move around or switch tabs, voiding the things that we kept anyways

eternal iron
#

So the menu dosnt refilter on emote changes when its not showing

daring gale
#

that makes sense i guess

eternal iron
#

Also, is there a difference between visibility: hidden and display: none?

unkempt hill
#

not much

#

but technically

daring gale
#

display none removes bounds

#

visibility only hides/show but keeps bounds

unkempt hill
#

visibility hidden does too

daring gale
#

so the element can still affect layout

unkempt hill
#

i think your thinking of opacity 0

finite monolith
#

oh interesting

#

oh right

daring gale
#

no , visibility keeps bounds

unkempt hill
#

ApuArt then what one am I thinking of

#

there are two ways

#

to prevent layout

eternal iron
#

I think its fine to just use v-show for now

unkempt hill
#

but I dont remember what the other is then

eternal iron
#

since it dosnt recalculate unless open

daring gale
#

thats still keeping a lot of shit in the dom tho OkeyThink

#

especially rendering it all even when most users dont need to open the menu

unkempt hill
#

in dom vs non in dom doesnt really matter here i dont think

#

vue will keep these dom nodes around

#

i think

daring gale
#

keepalive removes dom

unkempt hill
#

no it detaches dom

#

the nodes stay alive while detatched

#

because vue is dom dependant

daring gale
#

it removes it from tree yea

#

only keeps it in mem

unkempt hill
#

i beleive detatched dom nodes have identical overhead though

#

like for example you can load in images and such

#

without ever attaching it

#

and it will still delay graphics

#

same with canvas and other elements

#

so I imagine the browser makes no destinction

daring gale
#

eshrug

eternal iron
daring gale
#

@eternal iron can we merge your pr yet?

#

fix/emote-menu-styling

#

then treuks' branch can be base-swapped to master

eternal iron
#

Treuks's is based on mine right?

daring gale
#

ye

eternal iron
#

I just wanted to check if there are inconsistencies now with the highlight colors since he swapped some of them, but not all

#

Also, cant we just merge it into mine and rebase mine after?

daring gale
#

ok sure

finite monolith
#

FUCK

#

fucking vscode

#

autostage forsenGa

eternal iron
#

git update-index --assume-unchanged .env.dev LULE

finite monolith
#

i accidentally clicked a button that staged all of the files

#

and then i didn't see anything and pushed it

eternal iron
#

But i think anatole set the dev api to the live one in an unmerged branch

#

So wont have to change it locally

daring gale
#

i reverted

#

that was in my massive commit

finite monolith
daring gale
#

im pretty happy with the new worker

#

definitely less jank than how it worked before

finite monolith
#

web workers FeelsGoodMan

daring gale
#

it even tracks tab closures so it's able to unsubscribe from events of a given tab

eternal iron
#

Ill merge inn your pr now, but considering keeping mine up and updating the header with color for the selected tab

#

Not sure if im a fan of the selected tab being lighter since it different for the sidebar

#

Btw, is there gonna be a cd on cosmetics updates once the eventapi is in use instead?

#

@daring gale

daring gale
#

wdym?

eternal iron
#

Wouldnt badge changes fan out immediately?

#

aswell as paints

daring gale
#

only if you didnt receive a given cosmetic before

finite monolith
#

you're saying like

#

a cooldown between cosmetic changes?

eternal iron
#

So people will still have to refresh to see if ive changed it?

daring gale
#

no?

#

im confused what u mean

finite monolith
#

ok i am confused too

daring gale
#

the event api fans out create events only if the given cosmetic hasnt already been dispatched previously

#

entitlements however always dispatch

eternal iron
#

So if i change paint the eventapi wont update my presence?

daring gale
#

it will

#

it's designed to be dynamic

eternal iron
#

So people can change paint and it will update in chat without having to refresh?

daring gale
#

ye

eternal iron
#

Thats why i was wondering if there was a cooldown

daring gale
#

theres one on personal emote sets

#

dont see a need for paint/badge really though

eternal iron
#

Might not be an issue i guess

#

Just make some code that swaps my paint every second

#

So it looks animated

daring gale
#

i mean ofc theres gonna be a rate limit

#

but it prob doesnt need to be hours long like for emote sets

eternal iron
#

yea

#

thats what i mean

daring gale
#

maybe like 3-4 changes an hour, enough to allow the user to change if they made a mistake

finite monolith
#

be able to change it like 3 times in 5 seconds and then lock it for a minute

#

oh yeah

#

thats better

eternal iron
#

Okayeg "YOU ARE BEING RATELIMITED! Please decide on a paint"

finite monolith
#

that's such a discord thing to do

#

forsenGa 📣 YOU ARE BEING RATELIMITED

daring gale
#

did u guys see my strongly typed event listeners

#

for worker messaging

#

kinda wickedge

eternal iron
#

Think i glanced over it

finite monolith
#

generics in typescript

polar magnet
finite monolith
#

oh yeah

#

that's good too

daring gale
#

that would cost me a hot minute of actual work

eternal iron
#

I think wardrobe in the 7tv menu is gonna be poggers

daring gale
#

7tv wardrobe in the twitch identity menu

finite monolith
#

i proposed that idea

#

already

shell schooner
#

It won’t fit

daring gale
#

no i did

#

wdym buber