#stage-discussion

1 messages ยท Page 11 of 1

eternal iron
#

Yea, it works

#

Now, how should we implement this?

#

Make a new module just to hook this

#

?

unkempt hill
#

well what is it

#

whats the component

#

it depends

devout veldt
#

im assuming this is on the roadmap and just not a priority since its a minor visual thing; lack of emote padding makes some emote spam overlap

eternal iron
#

You can adjust it in the settings

devout veldt
#

oh

eternal iron
#

We might change the default a bit tho

#

Right now its set up so the emotes are inline

devout veldt
#

yeah maybe -0.5rem

eternal iron
#

I believe twitch uses -0.5rem, but 7tv emotes are a bit taller

devout veldt
#

i wonder if theres a way to make it pad dynamically

eternal iron
#

Uh, it kinda is, -10 wouldnt be any different than -1

devout veldt
#

what i mean is like overlap detection; red=reduce padding green=increase

eternal iron
#

Hmm

#

Probably not easily

devout veldt
#

yeah im guessing it would have to be some kind of javascript->inline css thing for every chatline so its probably not worth the overhead

eternal iron
#

I cant seem to figure out which component it is @unkempt hill

vapid veldt
#

why do all of you have ify in your name Apu

shell schooner
#

its a part of spotify sponsorship

vapid veldt
eternal iron
#

Is there a way i can set a limit on how many components i want the useComponentHook to find? @unkempt hill

unkempt hill
#

wdym

#

it only finds 1

#

and then hooks the class

#

it stops observing

#

after the first one

#

(or first set)

eternal iron
#

it returns an instance array

unkempt hill
#

yeah its safe to just do const [first] = hook.instances

#

and then just do a null check

#

you wont loose perf

eternal iron
#

But what if it hasnt found it yet?

unkempt hill
#

then it will observe until it finds one

#

you can add a mount hook

#

or just watch()

#

instances

#

its reactive

eternal iron
#

That is what im doing right now

unkempt hill
#

whats the issue with it?

eternal iron
#

Not really any issue

#

just wondered

unkempt hill
#

theres not really much of a performance impact

eternal iron
#

I call the unwatch after the first found anyway

unkempt hill
#

past the time the observer is active

#

oh

#

if you really dont care

#

about hooking it

#

just call awaitComponents

#

directly

#

that will give you one and only one

#

but it doesnt hook anything

eternal iron
#

Could do that yea

unkempt hill
#

with await components

#

check the promise type

#

if it returns an ObserverPromise

#

you can cancel it

#

if you dont need it

#

the promise will then just throw

#

so when you await it just set a catch(()=>undefined) since otherwise whatever is awaiting will get an uncaught error if the observer gets killed

eternal iron
#

I just do .then

unkempt hill
#

yeah thats fine

odd bone
#

it seems i need to use the new build Hmm

#

haven't had a chance yet

daring gale
#

alright had to deal with some backend stuff but i did what i could so back on this

odd bone
woeful stirrup
#

what is apu cooking

teal knoll
odd bone
#

idk suko uploaded the full one the other day thought it was neat

daring gale
#

@eternal iron Okayeg ๐Ÿ‘ cool find , thats one struggle removed

#

it seemed like a pain to acquire access to those opener functions

eternal iron
#

Only issue is that it does like 250 or 300 predicates to find it

#

but i couldnt find any better selector

daring gale
#

thats not too bad i think

#

each predicate call isnt that expensive if you dont do too much optional chaining

#

which you didnt here

#

so it's practically free

eternal iron
#

Could also consider modifying the awaitComponents with a timeout option or something

#

Since it never unsubscribes the observer if it dosnt find it

daring gale
#

true true OkeyThink

#

@unkempt hill does awaitComponents cancel on ummount?

eternal iron
#

Oh, i didnt realize it returns an observerpromise if it dosnt find anything

#

So should probably have done this instead ```ts
const a = awaitComponents<Twitch.ViewerCardComponent>({
parentSelector: ".stream-chat",
predicate: (n) => n.onShowViewerCard && n.onShowExtensionMessageCard,
});

a.then(([c]) => {
if (!c) return;
tools.onShowViewerCard = c.onShowViewerCard;
tools.onShowEmoteCard = c.onShowEmoteCard;
tools.setViewerCardPage = c.setViewerCardPage;
});

if (a instanceof ObserverPromise) {
setTimeout(() => {
a.disconnect();
}, 10000);
}```

#

And with a catch on the then

#

Would this work? @unkempt hill ```ts
const a = awaitComponents<Twitch.ViewerCardComponent>({
parentSelector: ".stream-chat",
predicate: (n) => n.onShowViewerCard && n.onShowExtensionMessageCard,
});

a.then(
([c]) => {
if (!c) return;
tools.onShowViewerCard = c.onShowViewerCard;
tools.onShowEmoteCard = c.onShowEmoteCard;
tools.setViewerCardPage = c.setViewerCardPage;
},
() => null,
);

if (a instanceof ObserverPromise) {
setTimeout(() => {
a.disconnect();
}, 10000);
}```

unkempt hill
#

that should work

#

i would maybe somewhere clear the timeout depending on when you do that

daring gale
#

bros the fucking twitch emote conversion is so expensive

unkempt hill
#

like if the module unloads

unkempt hill
daring gale
#

im gonna have to-

unkempt hill
#

i was a little curious why we decided to do that ApuArt

daring gale
#

well it makes the rest of the code very easy

#

no need to handle multiple types

#

but yea needs to be deferred to the worker, it lags the page for a solid half second otherwise

unkempt hill
#

dont we already do it on worker though?

#

also wtf

daring gale
#

we didnt

unkempt hill
#

what does it do

daring gale
#

the screenshot?

unkempt hill
#

no

#

the transformer

#

does it just expand everything out

daring gale
#

it just creates an object

unkempt hill
#

im curious why that takes so long

#

even if there was like 10000, creating 10000 objects

#

is not that slow

#

like not that slow

daring gale
#

i think it is that slow tbh

unkempt hill
#

weird

daring gale
#

deferring works here i thin k

#

bc

#

we only need that data for the emote menu

unkempt hill
#

actually curious

daring gale
#

so its fine if its done lazily

unkempt hill
#

what calls

#

the sync functions

#

if its from a react prop hook

#

its likely being called more than neccissary

#

we should set it out into a ref

#

and watch that ref instead

daring gale
#

i made a debounce

daring gale
unkempt hill
#

yeah i know

daring gale
#

gathers all calls for a second before running

unkempt hill
#

but thats not really what I mean

#

i mean like because of the way react works

#

if ANY prop gets set on the component we're listening to

#

we get a trigger for the prop value which might be trying to convert multiple times

#

with unneccissary data that didnt really change

#

setting to a ref will use vues diffing functions for us automatically

#

unless

#

we already do this

#

react is basically setting back props

#

every time

#

with a spread operator

#

thats how react just is, it keeps state immutable

#

so like its possible to imagine twitch is being stupid somewhere and like unneccissarily setting something many times, on the same component

#

that we listen to

#

making us accidentally reprocess emotes

daring gale
unkempt hill
#

do you want me to test it?

#

although idk what Either<> is for

#

doesnt the union operator accomplish this already?

daring gale
#

one or the other

unkempt hill
#

yeah but isnt that just what | does

daring gale
#

so u cant have both input or output

#

i mean kinda but then you dont know which it is

unkempt hill
#

@daring gale uh wait

#

dont you need to clear timeout here

#

clearTimeout and timeout = undefined

#

otherwise it only runs once

daring gale
#

it clears the timeout when it runs

#

before i had it so it reset it each time

#

but figured that was inefficient

#

and not necessary / could lead to it never actually calling back

unkempt hill
#

yes but i mean you never unset timeout

#

so the second time you run the debounce func

#

it just quits out

#

because timeout is still the old key

#

even if the timeout has already expired

daring gale
#

oh right

#

that cleartimeout is useless

unkempt hill
#

yea

daring gale
#

i wouldve meant to unset the var

unkempt hill
#

i wonder when the timeout numbers run out

#

like im pretty sure theyre incremental

#

so i wonder if you just set a shit ton of 0 timeouts

#

if you hit a cap somewhere

#

although

#

they must be massive

daring gale
#

probably at 2^31

unkempt hill
#

because requestanimationframe

#

works the same way

daring gale
#

or actually no higher

unkempt hill
#

and you never run out of frames

#

actually on that point

#

yeah when do javascript number run out

#

are they like python

daring gale
#

it must be 2^53?

unkempt hill
#

where they're multiprecision

#

and just keep getting larger

daring gale
#

okey

#

i guess its fine

unkempt hill
#

yeah the rest looks good

#

also it seems like ints become bigints

#

if its not integer though then its maxed out at 64 bits

#

whatever value that is

#

for a float

#

idk

#

float math is dank FeelsDankMan

daring gale
#

ok the emote menu being on v-show

#

kind of lags things

#

when the twitch emotes are being inserted

#

because it's async it's causing a reactivity update

#

for each set

#

so the menu is rendering shit in the background

unkempt hill
#

so wait it does

#

i though excel tested

#

i mean, it makes sense that it does

#

im still on the side i was then a few days ago

#

that we should just store the users position

#

and drop the menu completely

daring gale
#

yeah

unkempt hill
#

no need to keep all the component fluff around when its not even neccissary

#

and most of the time the user wont even want the emotes

#

that we have open for them

#

in the background

#

also ant natole

#

what fucking channel are you on

#

that your getting all this emote lag

#

all of a sudden

daring gale
#

idk i got like a million gifted subs recently

unkempt hill
#

7tv twitchmedia23

daring gale
#

so i have more twitch emotes than usual

daring gale
#

@unkempt hill should i just submit to the chrome store now ApuThink

#

i feel like it's pretty decent

#

actually i need to fix a few things with cosmetics

unkempt hill
#

i mean might as well probably

#

probably going to take longer

#

for initial approval

#

than update approval

#

also why does it take google so long to verify the regular extension

#

like wtf

#

they literally gave the extension

#

a special badge on the chrome store

#

i cant remember if it says recommended or verified

daring gale
#

both

#

featured and verified

unkempt hill
#

useless verification

#

aint no way

daring gale
#

im overusing the fuck of vueuse until()

eternal iron
daring gale
#

dankWave excel

#

almost done implementing personal emotes

eternal iron
#

Why was this https: needed? @daring gale ts .map((f, i) => `https:${host.url}/${f.name} ${i + 1}x`)

daring gale
#

consistency

eternal iron
#

Breaks bits tho

#

Since their url already contains the https

daring gale
#

just do the same for bits then

#

imean as in

#

remove the https

#

from the bits url

eternal iron
#

I get the url like this ts url: data.images?.dark["1x"].split("/").slice(0, -1).join("/") ?? "",

daring gale
#

.slice(5)?

#

or .replace("https:", "")

eternal iron
#

Time to waste bits to test again jaseGrumpy

finite monolith
forest pawn
#

Im testin my emotes in Anatoles chat

#

Also do they live update?

daring gale
#

they should live update yes

#

not fully tested though

#

may or may not work

forest pawn
#

I cant use my own private emote

#

for personal set

ruby otter
finite monolith
#

oh jesus

#

8px font

ruby otter
#

WutFace change to dark mode

finite monolith
#

no

ruby otter
#

WutFace my eyes

finite monolith
#

no

ruby otter
#

WutFace AAAAAAAAAAAAAA

#

also yes font is for ants

finite monolith
#

i'll pr a fix

#

kkonaw

ruby otter
#

pajaDank something weird i just came across, you can only pin messages after reloading the page? is that a twitch thing or is it broken with the extension?

finite monolith
#

not implemented yet

#

the reason you can pin it right after reloading the page is because the extension hasn't loaded yet

ruby otter
#

i see

scarlet rover
#

why its so blurry FeelsDAnkMan

finite monolith
#

what is

scarlet rover
#

hover preview on emotes

finite monolith
#

show

scarlet rover
#

bad emote? FeelsDAnkMan

finite monolith
#

link me the emote

finite monolith
#

what is your monitor size

scarlet rover
#

uhhhhhhh 1920x1080

finite monolith
#

ok interesting

#

i'll take a look

scarlet rover
#

ok i zoomed in 300% and it looks normal LULE

ruby otter
scarlet rover
finite monolith
#

fuck i cant add the emote

#

what chat are you in

ruby otter
#

use mine treu

finite monolith
#

oh

#

interesting

scarlet rover
#

hmm its blur in your chat too on channel emotes

finite monolith
#

@daring gale did you not fix emote scaling in the tooltips?

ruby otter
scarlet rover
#

zoom in 300% => preview not blurry, but the emote itself is blurry

ruby otter
scarlet rover
ruby otter
#

actually it's all emotes are blury

#

even sub emotes

half glade
#

someone link me approved emotes for personal use

scarlet rover
#

it dont need to be approved

#

just use yours in your channel

half glade
#

oh

#

readers PepeLa

#

my bad

ruby otter
#

ThinkO_O and for some reason not all sub emtoes are showing
this are anny follower emotes not subs
but on pajlada i have all pajaDank

half glade
#

bttv emote takes priority over personal emote

#

(don't have bttv, just ffz)

#

actually wait can't tell if it's just the preview thing Hmm

scarlet rover
#

yeah i think animated sub emotes are not showing

forest pawn
#

Its random

daring gale
#

known

peak shuttle
#

Yay personal emotes at last PagStick

noble terrace
#

I can't get the personal emotes to show up in my chat after typing themApu

finite monolith
#

did you actually install the new extension

noble terrace
#

unless I add it to my channel set instead

finite monolith
noble terrace
#

yes I did

half glade
noble terrace
daring gale
#

@noble terrace browser / browser version?

noble terrace
#

opera 94.0.4606.38

finite monolith
#

LOOOOOOOOOOOOOOOOL

#

ok

daring gale
#

uh

#

yea idk about that one chief

#

maybe use a newer browser

noble terrace
#

wait wdym

#

ahhhh, my bad my bad

forest pawn
#

The beta works on Opera?

noble terrace
#

works fine

daring gale
#

what was the issue

noble terrace
#

just needed an update Apu

daring gale
noble terrace
#

I mean, I thought the browser updates itself automatically so uhh yea

finite monolith
#

ok

#

sorry for this question

noble terrace
#

just went into about tab and updated manually that's it

finite monolith
#

but why do you even use opera

#

xd

noble terrace
#

because I like it

half glade
#

unrelated to the testing rn but does the new extension provide a smaller size emote now

noble terrace
#

the design

finite monolith
#

ok

#

guess that works

#

that's better

#

the font sizes

#

i mean

#

@daring gale does it get the colors from the backend

#

i think this order looks better

half glade
#

yeah that's better

#

tf ๐Ÿค

forest pawn
#

TANOSHI WHY

#

MY OCD OMEGALUL

ruby otter
finite monolith
ruby otter
finite monolith
#

meh

scarlet rover
ruby otter
finite monolith
#

hm

#

i think placing the zerowidth emotes in a vertical column would look better

half glade
#

forgot to test zero widths

finite monolith
#

nvm

half glade
#

emote name

emote type
by user

zero width emote name(s)
by user

#

but if someone uses like 10 different zero widths

scarlet rover
finite monolith
#

good idea

#

no wait

scarlet rover
#

if there's 2 or more 0-width then just show:
Zero-width Emote
emote + name | emote + name | ...

finite monolith
scarlet rover
#

maybe add yellow Zero-width Emote(s) at the end?

half glade
shell schooner
#

Thats the point of these dashes FeelsDankerMan

half glade
#

yeah maybe show the user of the person who made the zero width only if there's 1 zero width in the message

finite monolith
#

i gotta think of a good way to display the zero width emotes

#

in a way that makes sense

half glade
#

OR don't show duplicate zero widths

#

to reduce the clutter

finite monolith
#

might be a good idea

half glade
#

and just a

finite monolith
#

but that doesn't stop it from being like

half glade
#

x2 x3 x4

finite monolith
#

20 emotes

half glade
#

count

finite monolith
#

different ones

daring gale
#

@eternal iron dedupe zerowidth at the tokenization

scarlet rover
#

dont duplicate 0width emoets and a new line for each?

finite monolith
scarlet rover
#

by my idea this would show:
TakingNotes
MathTime
vp

#

eShrug 3 lines

finite monolith
#

oh wait

#

so like

#

TakingNotes (3 times)

#

MathTime (5 times)

half glade
finite monolith
#

i think that could be a good idea

scarlet rover
#

yeah maybe (x3)

finite monolith
#

x3

half glade
#

xfour times

scarlet rover
#

i need we need () or people might think "x3" is the part of the emote

#

or 3 times but too long

finite monolith
#

nah

#

just

#

( 3 times )

#

would work

eternal iron
#

I think my ip has been banned from accessing bttv emotes omegaLUL

half glade
#

"(x2)" or "(2 times)"

finite monolith
#

nah

#

no need for "

half glade
#

yeah obviously lmao

scarlet rover
#

he meant (x2)

half glade
#

(x2) or (2 times)

finite monolith
#

Poll:
1๏ธโƒฃ for (2 times)
2๏ธโƒฃ for (x2)

#

ok

half glade
safe otter
#

looks like (x2)

daring gale
#

why though

scarlet rover
daring gale
#

just don't show the same zero width multiple times

#

it has no effect

finite monolith
#

oh

#

ok

#

that works too then

#

its not like chatterino

daring gale
#

but ignore that we'll just dedupe it at the tokenization

finite monolith
#

where zero width emotes work in a weird way

#

so you can stack them

daring gale
#

Chatterino zerowidth is donk

finite monolith
#

hm

#

is there a way

#

to hide the line

#

oh right

#

i thought of something

scarlet rover
#

FeelsStrongMan my idea won

finite monolith
#

hiding the divider if there are no zero-width emotes

scarlet rover
#

we dont need the extra - after 0width emote i think

#

VrPg vp

low wadi
#

Yesterday I reported ffz and ffz AP badges not showing up in the chat is it still gonna be this way? AP badge is subscription based so I would like to see it in my chat FeelsGoodMan

daring gale
#

we won't support AP badges

#

ffz though yes

finite monolith
#

will probably be a plugin

#

though

#

like the chatterino badges plugin

#

for ffz

#

wtf

#

the little 7tv logo is basically invisible

low wadi
eternal iron
#

flex-shrink: 0

finite monolith
#

danke schon

eternal iron
#

I couldnt figure out why the intersection observer in the emote menu wasnt working madge

#

the issue was that the computed value was just replaced with the imageHostToSrcSet

#

ReallyMad @finite monolith

finite monolith
#

i wasn't the one who changed that

#

actually

#

git blame tf

eternal iron
#

ReallyMad @daring gale *

empty dawn
#

Could someone post the chat comparison video again for chat in 7tv 3.0 vs native?

Want to show a colleague at work and can't find it ๐Ÿ˜„

vapid veldt
#

is the emote preview size gonna be increased? shits really blurry rn as is

daring gale
#

I guess that's why

#

Lule

#

Didn't expect it was implemented this way

eternal iron
#

Would be nice if we could just v-show on the emote component

#

but we have to clear the srcset for the download to cancel

daring gale
#

Ill look into using a service worker

#

im web worker andy

eternal iron
#

Front end developers who really like backend LULE

#

I changed some stuff on the emote menu

#

So your branch is gonna have some conflics

eternal iron
#

Just fixing a few other minor things here and there before merging

#

Support for moderated messages (chat filter) and dedupe zerowidth

#

Just replacing the overlaid: [] with a record

polar jackal
#

idk why but a lot isn't working for me

#

badges, paints, personal emotes, more

#

oh it just took a lot to load

peak shuttle
#

Yep

polar jackal
eternal iron
#

Should probably just replace long names with its beginning followed by ...

#

So WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO would be WOOOOOOO...

polar jackal
#

probably

eternal iron
#

@finite monolith

safe otter
#

is it possible to just make the font size shrink the longer the text?

finite monolith
#

that's stupid

#

don't do that

#

yes it is possible excellify

#

but it misses the point too

#

i'll just wordwrap it

polar jackal
#

You never shrink anything like that

eternal iron
#

Make a setting for it, so people can choose @finite monolith

finite monolith
#

how would you be able to tell what the emote is called

#

though

#

if its cut out

eternal iron
#

You have the start

#

So you can still autocomplete it

finite monolith
#

hm

#

fair enough

#

but still

#

i'm not sure

eternal iron
#

A setting is nice anyway

#

Just default it to long names

finite monolith
#

good enough

#

alright

#

i'll create a pr of what i thought of so far

#

and what i did and whatnot

#

i'm gonna create a checklist for issues we need to solve to get the tooltips into a good shape

eternal iron
#

Mind adding Treuks to the clickup? @daring gale

daring gale
#

sure when i get home

#

Was out sorting some corpa stuff

eternal iron
finite monolith
shell schooner
#

elon musk bought 7tv

eternal iron
#

Half of the employees laid off PEPW

sinful schooner
#

can u make it so emotes can be autocompleted even if it's not beginning of emote name

#

that works in dankchat and chatterino but not native

forest pawn
#

Wait how does that work?

#

Like with tab?

sinful schooner
#

yeah

#

im subbed to some people whose entire name is their emote code

forest pawn
#

Were you trying on personal emotes?

sinful schooner
#

so instead of mouzahSad for mouzahSad I type "hsad" and it pops up

forest pawn
#

The end of the emote?

sinful schooner
#

ok well now discord is putting emote instead of name but w/e

forest pawn
#

So illogical

sinful schooner
#

what

vapid veldt
#

tilde key

sinful schooner
#

i type "ostrong" to see peepoStrong before feelsstrongman too

forest pawn
#

hsad is the end of the emote no?

sinful schooner
#

it's very fast and easy

#

tilde key is different on nordic keyboard

vapid veldt
forest pawn
#

The tab action works with the start of the emote

sinful schooner
#

oh u meant on here

#

not chat

#

nvm

vapid veldt
#

forsenHead

sinful schooner
#

it works with any combination of the emote on dankchat pieter

#

idk what to tell you

forest pawn
vapid veldt
forest pawn
#

Im used to use : yea

sinful schooner
#

I still have to type beginning of emote in native to see

#

and I don't wanna type out entire usernames and have to cycle through them

vapid veldt
#

probably just something they could add in Lime

sinful schooner
#

that's what I'm asking .

vapid veldt
#

ye

#

I'd like it too

#

bc I also tab sub emotes like that

#

and long emotes

sinful schooner
#

yeah

vapid veldt
#

being able to type :strong and see what feelsstrongman variation is enabled is so nice

forest pawn
#

Im used to type the start if the emote shrugr

#

Otherwise I use :

sinful schooner
#

visual examples for pieter

#

u never use : in dankchat tbf but i hate having to cycle through

#

it's neat for chats that have lots of similar names too, like empi that has like 58 omegalul and giga variants

vapid veldt
#

happE 1000 emote channels

sinful schooner
#

1500 kek

vapid veldt
sinful schooner
#

discord has it too btw

vapid veldt
#

I swore it never worked on discord LULE

daring gale
#

@finite monolith @eternal iron try to get your fixes done today, i'm looking to send the extension to the chrome store by tomorrow morning

eternal iron
#

Pushing the last thing i had planned right now

finite monolith
#

monkaOMEGA deadline

daring gale
#

not really deadline but makes things tidy for the first beta build

#

since a lot of people are prob gonna be trying it

finite monolith
#

ok

#

well i'm creating a p

#

r

eternal iron
#

Should probably go over the styling for some of the messagetypes

finite monolith
#

ok

#

i gotta figure out why the emotes are blurry in the tooltips

eternal iron
#

Since we scale it up

#

and the browser dosnt actually know what resolution of the images is

#

The 2x/3x/4x just means that if we are zooming to 2x size use this instead

finite monolith
#

alright

#

so

#

can i create a function which will given an emote size ratio scale it up correctly

#

and return the srcsets

vapid veldt
#

any of you devges have an answer for what saffy was saying Lime

finite monolith
#

ah yeah

#

we obviously can make it

vapid veldt
sinful schooner
#

ok i know it's physically possible for you to code

eternal iron
#

So either just infer the highest resolution as the source or create a srcset that of type //..../1x 32w, //..../2x 64w, //..../3x 96w, //..../4x 128w

sinful schooner
#

im asking is this something you're willing to implement

vapid veldt
eternal iron
#

Just using the highest resolution is probably the easiest

finite monolith
#

it's a pretty important feature

sinful schooner
#

W

vapid veldt
#

W

daring gale
#

7tv 3.0 will accept nothing less than perfection

vapid veldt
sinful schooner
#

pin that

eternal iron
#

I guess im fired then Sadge

sinful schooner
#

ur great dw ๐Ÿฅน

eternal iron
#

What did you ask for btw @sinful schooner

devout veldt
#

badges and paints show up in message history but not live chat for me

sinful schooner
#

hyru linked the msg

daring gale
#

that means you have another extension conflicting

#

since we dont even handle chat history

finite monolith
#

fleet recognizes vue

eternal iron
#

We currently support : autocomplete matching anywhere in the emotename

finite monolith
#

if it will actually work properly i'm gonna paaaaaaaaaaaaaaaaag

daring gale
#

thats just a temporary dumb workaround though

finite monolith
#

oh yeah

#

one thing i also noticed

#

nvm

#

i forgor

daring gale
#

skull

finite monolith
#

i'm not sure if the issue is gone or not

devout veldt
#

well even with my ttv extensions disabled its not working LULEO

finite monolith
#

but zerowidth emotes don't have a tag in the : menu

daring gale
#

@devout veldt show console with verbose logs

sinful schooner
daring gale
#

tick this

#

then screenshot the thing

#

(f12)

#

@devout veldt

vapid veldt
finite monolith
daring gale
#

docnotL downloads the extension, complains, proceeds not to give any info

devout veldt
#

i was dealing with another thing hang on

finite monolith
vapid veldt
finite monolith
vapid veldt
#

probably didn't disable the main 7tv extension kek

devout veldt
#

the red is just adblock shit

eternal iron
#

Close all other tabs @devout veldt

#

And reopen the window where you want to check

#

Or rather close all twitch tabs, including popouts

devout veldt
#

i'll clear twitch cache

eternal iron
#

Its a different cache, so wont help

devout veldt
#

i can only find the option to clear all cache anyways

forest pawn
#

Hope reply is in for beta Prayge

devout veldt
#

it keeps ratelimiting me even after closing tabs and clearing cache

daring gale
#

you'll have to wait 60 seconds

#

i am running an experiment limiting the amount of emote downloads in a short time

devout veldt
#

yesterday it was telling me 60 minutes

daring gale
#

huh FDM

#

that wasnt active yesterday

devout veldt
#

that was for adding to emote sets

daring gale
#

how many twitch tabs do you have open

devout veldt
#

i had 3 open but they were sleeping

vapid veldt
daring gale
#

close all twitch tabs

#

then reopen

#

one

#

should fix any issues

peak shuttle
#

Some animated emotes are loaded as avif in Firefox in Dev6 such as Dance.

finite monolith
devout veldt
#

ok yeah now its working

peak shuttle
#

NaN

indigo niche
#

Animated emotes aren't animating in chat, but in the tooltip they animate fine, Firefox Dev6

finite monolith
#

how did this happen Bruhge

daring gale
#

fix this in your pr excell

eternal iron
#

Is there somewhere we are not passing imagetype?

daring gale
#

pass the preferred format to the srcset function

#

also if u have time try to implement the reply button and reply ui

#

today

#

then i think we're prime for beta

#

im going bedge tho

eternal iron
#

Wait, wouldnt it be easier for the ImageToSrcset to have a reference to the imagetype directly

#

So we dont need to pass it through multiple layers

daring gale
#

uh yea

finite monolith
eternal iron
#

The imagehost to srcset should include some logic to handle different providers aswell tbh

finite monolith
#

ohweird

#

can you not add both widths and heights to srcset

daring gale
#

but yea do all the small fixes and try to get replies in or i can already sense the hoarde of xqc viewers complaining

eternal iron
#

Replies AWARE

daring gale
#

its not too hard i think u have the data in the message itself

#

or so the id

#

which we map

eternal iron
#

Mentions are probably even more important

daring gale
#

oh right

#

mentions dont work

#

do that first actually LULE

#

replies second to that in priority

eternal iron
#

I have no idea where twitch tracks active users tho LULE

daring gale
#

time to scour through react props again PagStick

eternal iron
#

PagStick My favourite

peak shuttle
eternal iron
#

It would surprise me if it wasnt somewhere we already hook

daring gale
#

yea id think we must have it somewhere

#

though might not be typed

eternal iron
#

Unless its some different messagehandler that tracks it

#

I wonder what other ffz/bttv stuff we break by hooking the messagehandler

#

Could look at a way of keeping some of the messagehandles in the future for compatability

finite monolith
peak shuttle
#

I don't know if this helps but only 7TV emotes are loadad as avif. BTTV emotes animate just fine.

finite monolith
#

No shit

eternal iron
#

Okayge Yea, figured

#

but ty anyway

finite monolith
#

Sorry xd

peak shuttle
#

I thought they were hosted in 7TV ApuShrug

eternal iron
#

How difficult is it to change the default imagetype based on useragent on the api side? @daring gale

daring gale
#

wdym

finite monolith
daring gale
#

user agent is parsed in the main store

eternal iron
#

Have it return avif if chrome and webp if firefox

vapid veldt
daring gale
#

theres no api though

#

it just reads the local useragent FDM

peak shuttle
#

No you Madge

daring gale
#

its just this

eternal iron
#

I mean, when it fetches the emotesets

vapid veldt
daring gale
#

if chrome > 100 = avif supported

unkempt hill
daring gale
#

if not chrome > 100
avif not supported

#

nah p sure edge has a diff agent

unkempt hill
#

nah

daring gale
#

so its cucked out of that check

unkempt hill
#

edge reports chrome

#

109

#

or something

daring gale
#

ok well fuck edge users

#

download a better browser

unkempt hill
#

what even are you using

#

is it like

#

just parsing

#

the first useragent?

daring gale
#

package named ua-parser-js

unkempt hill
#

yeah but

#

there is no 1 browser ua i dont get it

finite monolith
#

๐Ÿ‡บ๐Ÿ‡ฆ

unkempt hill
#

every browser reports like 50

#

which one is it picking

daring gale
unkempt hill
#

is it using a big table

#

to look up

#

the real browser based on the signature

devout veldt
unkempt hill
#

and hardcoding it?

daring gale
#

im the one who added the label number 2

#

but i shouldve swapped FF to partial support alongside it

#

maybe ill make another pr

devout veldt
#

safari says supported even though it doesnt support animated either so i guess it depends on if most devs consider animated avif important enough to constitute it being labeled partial support if it doesnt have it?

#

for iOS and TP versions

daring gale
#

yeah theres a misconception from media people who keep comparing avif to jpeg

#

hence why you'll see a lot of people disregard the actual purpose of avif which is animation

#

comparing avif to jpeg is an apples to oranges moment

vapid veldt
#

both fruit PagStick

devout veldt
#

webp shows partial support for non-animated so for consistency avif should too probably

daring gale
#

ya

devout veldt
#

poor jxl

daring gale
#

i'll make a new PR for this given its been a while by now

devout veldt
#

even though it'll never get implemented because google, has there been any tests to see how animated jxl performs vs avif on emotes?

devout veldt
finite monolith
#

ok thats not what i meant but thank you

devout veldt
finite monolith
#

fuck

#

put the w in the wrong place

#

@eternal iron

unkempt hill
#

I was going to say I think its the other way

finite monolith
#

crispy tooltips

eternal iron
#

Should we change it to 3x now?

unkempt hill
#

change what to 3x?

eternal iron
#

The tooltip image

#

its currently twice the size of the one in the chat

#

Maybe default it to 2x and add a setting for styling

finite monolith
#

it is 3x

eternal iron
#

We should have a setting for minimal tooltips

finite monolith
#

good idea

eternal iron
#

that just show the name like with badges

unkempt hill
#

we should have a setting for maximal tooltips

eternal iron
#

Fullscreen tooltips PagStick

unkempt hill
#

full 7tv emote page

finite monolith
unkempt hill
#

in the tooltip

finite monolith
#

this looks a bit donk

unkempt hill
#

every flag every tag

#

alias display

eternal iron
#

It opens 7tv.app on hover LULE

wet talon
#

@finite monolith does the name and emote category color correspond to the one of a role of a user?

unkempt hill
#

pagde

finite monolith
#

yes it does

eternal iron
#

name color is 7tv role color yea

unkempt hill
wet talon
#

why is the category text not colored though ppL

finite monolith
#

emote category is based on user

eternal iron
#

It is?

finite monolith
#

no wait

#

i wanted to say

#

the emote category is either white for the channel emote

#

yellow for personal

#

or green for global

unkempt hill
#

green goblin

wet talon
#

because it's yellow on the website?

finite monolith
#

idk

vapid veldt
#

why is the 7tv logo lower than the emote code LULE

finite monolith
#

it feels right to me

unkempt hill
#

because subs are yellow

wet talon
#

I'd make it light'ish red instead of yellow

wet talon
#

just so that people could know it's restricted

unkempt hill
#

to get them to fix it NOOOO

#

it was fixed

#

for a little

#

atleast

eternal iron
#

aling baseline or middle @finite monolith

unkempt hill
#

its inline now?

eternal iron
#

Idk if that actually works for flex but we

unkempt hill
#

nope

#

it wont

eternal iron
#

probably wont work yea

unkempt hill
#

unless they're flowed inline

#

just make that row a div

eternal iron
#

inline-flex PagStick

unkempt hill
#

not the same thing

eternal iron
#

ik

wet talon
#

I think red fits more for the personal emote

finite monolith
#

what row

unkempt hill
#

its yellow

finite monolith
#

yellow fits personal emotes more because you need to be a sub

unkempt hill
#

because subs

#

are yellow

finite monolith
#

to have personal emotes

unkempt hill
#

and

#

on the site

#

personal emote

#

are yellow

wet talon
#

quit farming message stats will ya Kapp

unkempt hill
#

no

eternal iron
#

Also, does the tooltip adhere to unlisted rules?

unkempt hill
#

read my newlines

#

as pauses

#

i type

finite monolith
#

nope @eternal iron i'm not sure what to do with that

unkempt hill
#

like a stt

wet talon
#

std

unkempt hill
#

its just open captioning'

eternal iron
#

Look at the implementation from the emote component

finite monolith
#

i could just cv paste the blur code from the emote

#

but whats the point

#

you can just fucking hide the image

#

in the tooltips

eternal iron
#

ReallyMad Blur

unkempt hill
#

what we should do

#

for

#

the tooltips

#

is have it say hold shift or something

#

to view emote

#

if you want to peek at an unlisted emote

finite monolith
#

yes and it'll also appear after 2 seconds

#

or something

eternal iron
#

nah

#

key is better

finite monolith
#

hm

#

yeah shift is a good idea

#

is clickup a place where you can just pile on ideas to the task

unkempt hill
#

Imagine a place.

finite monolith
#

old discord

#

does vue have something like

#

onkey

#

oh yeah

unkempt hill
#

huh

#

just add a keydown event listener

finite monolith
#

are there docs for it

unkempt hill
#

its just the regular

#

event

finite monolith
#

interesting

unkempt hill
#

vue doesnt have special events

#

the @ syntax

#

just adds a native dom event listener

#

but also here if your planning on doing it this way

#

we might want to check if shift is held first

#

before the card opens

#

not sure the best way to do that without a global listener

finite monolith
unkempt hill
#

ppl

finite monolith
#

tf we do a little trolling

#

cant do anything

#

its perfectly centered

unkempt hill
#

who

#

the fuck

#

made that svg

finite monolith
#

git blame @shell schooner

shell schooner
#

you werent suppose to use that one anyway

#

only the bttv one

finite monolith
#

don't care

#

ok

#

honestly

#

i dont care much

#

pretty pog changes if you ask me

unkempt hill
#

pretty lame changes

#

if you ask me

#

idk i didnt look at them

finite monolith
#

it scales the emotes in the tooltips properly

shell schooner
#

@eternal iron found a better solution for these icons how to make them look even

devout veldt
#

ok now this is weird

#

my paints and badges went back to not showing up but others' still do

shell schooner
#

๐Ÿ’€

devout veldt
eternal iron
#

Well, did you ImAsking

finite monolith
devout veldt
#

console

unkempt hill
#

because it had literal exposed tit

#

she wasnt wearing any top

finite monolith
#

apollo

unkempt hill
#

Pepege ๐Ÿ“ฃ WHY DID YOU DELETE MY EMOTEEEEEE

finite monolith
scarlet rover
unkempt hill
#

@sinful schooner tf you should tell them it is deleted

#

we deleted it the other day

sinful schooner
#

thanks

#

funny u caught that

dull siren
#

idk if this if it's supposed to be like this (and if its been reported before) but native mod icons (delete message, timeout, ban) arent showing Okayeg

sinful schooner
#

i always thought it was a bit too much

dull siren
#

also. tab seems to prioritize twitch emotes rather than third party apuThink (maybe could be a settings idk)

unkempt hill
#

weird

#

it should be the opposite

#

unless the emotemap contains twitch emotes now

#

oh you mean actual tab