#stage-discussion
1 messages · Page 5 of 1
like it only works well if you actually interupt the scroll first
otherwise it does that
like it gets stuck
only on chrome
yeah so i guess to support emojis we gotta add like half a meg to the extension bundle
pogchamp
tbf its not like other extensions dont have this
aware
This could be compressed a lot with a custom format tho
the old twemoji package probably had this too
Also it's distributed "offline" so meh
yeah its prob like 200KB in json format
i found the one for the old extension on some random gist i think
any json file prepublished or do we gotta make one
nah i dont think so
all this stuff should be in a separate subcategory, it gets really cancer if you have like a whole ass category for just one emote
pajbot has like a shitty python one but other than that i dont think so
subs > global > events
also
yeah i mean its fine easy to just process it into a json file
treuks, reminder from: zneix - https://www.youtube.com/watch?v=-EAvFIkEK08 (1m, 40s ago)
Gabe Newell talks about Half-Life 3
logs?

no errors?
is a good question
we do
f12
not these
and enable verbose level

D:
you and your resizable requests
make chat resizable
make the emote menu resizable
make the chat box resizable
make the video player resizable
make your cock resizable 
oh wtf

i didn't even do anything special?
wat
can u screenshot the goddamn LOGS
new ui helper just dropped
UiResizable

give me a second it might be an issue on my end
oh wait no ur self compiling
Beauty! firefox addon loaded fine when i loaded it in about:debugging 
this is why
did u even yarn
yep i did
vueuse will have nothing to do with emotes not loading
dev deps are installed though
idk why you keep screenshotting that
uhhh
not if you do a regular build with npm
without setting up the env
i dont think
like if you just clone then build
maybe it does
idk
H
i changed like everything
h
h 
which branch
feat/cosmetics
i prune sometimes
only once i know i cleared all my active branches
i only prune when i actually need to fetch
cause once i did that and fucking nuked a branch i was working on
like if im super behind
that i hadnt pushed
and just want to fetch all branches
prune shouldnt do that tho
prune only deletes the origin/ copies
you have to manually delete the tracked branches
unless theres another command, there probably is
but I usually just do fetch --prune
then manually delete the branches that were tracking the pruned ones
ok i switched to the cosmetics branch and i yarn ed again
and it's still the same

what is the same
this
u might be trying to load from a dev server
change .env.dev to ```NODE_ENV=development
VITE_APP_API_REST="https://7tv.io/v3"
VITE_APP_API_EVENTS="wss://events.7tv.io/v3"
then close out and yarn dev
could be skill issue
Also make sure you have all twitch windows closed
when
when u want to reload
oh right sure
Since they share data
because it uses a shared worker which stays alive until you close out all tabs
makes sense
all tabs are tracked and know of each others
OH

i get some 7tv errors but there is absolutely no 7tv ui
the emote picker is the native twitch one
no shit there aren't emotes


have you tried blurring the menu
what for
blur fucking everywhere
blur the player
as in frosted glass effect on the background to see chat behind?
yes very subtle

chatsen does it
it looks decent on tooltips but since emote menu has so much color nuance with the all the images it might be different
also there needs to be a universal icon for global emotes

it's my pfp cause it takes the emote set owner's
i was gonna just swap the global set's ownership to the 7tvapp account
ok i think i'm retarded
7tv doesn't give me any errors and it doesn't modify the page
unlucky
lets try using something instead of ungoogled chromium i guess

fuck i think i might have to install google chrome
Aware
that actually worked for me the other day with the v2
didnt compile myself though.
BRUHHHH
using google chrome just fucking straight up worked
okay now for the actual dankBusiness
goddamn it's so much faster. I can actually watch streams with chat open now and not freeze the video.

there we go
Thanks analtoe!
what kind of a shape

idk why it just stopped working
lovely
I guess the channel headers should use a transparent background aswell
working on it
it looks pretty fresh
Could just have used the branch that already did that 

so clean

looks much better now
just needs the same outline as the tooltip on the edges so it doesnt blend into chat maybe
looks nice
im gonna try to make the icons consistent tomorrow
i guess we are gonna need a search bar
hmm sure
holy fuck i cant stop looking at it 
main repo?
only if you have write access
Idk how many changes you made, but consider merging with this @finite monolith https://github.com/SevenTV/ExtensionV3/pull/30
of the extension
just fork
ExtensionV3
regular repo is temporarily unmaintained
until the new extension is live
how are you gonna do that
then this repo will be merged into the old one
hmm
is there some kind of a non kkona way to stash the changes and put them into a different repo
yes
git stash
then add a remote
when you clone
it just auto sets up a remote
called origin
but its not special
if you swap remotes then delete the old one
and clean your branches
you've effectively just switched repos
make sure you do git stash -S
Oh, and you can only contribute if your name ends in -ify
truckify
welcome to git
@eternal iron i should use hsla right?
idk, i used it for some values and then ended up using it for all 
ignore it
Since all the values i worked with were scaled from black to white hsla worked quite nice
decimal color ftw
vscode has a one click change type tho
ok nice i merged some of your changes with my own changes
i hope by this you mean rebase

of course i mean rebase
hey i mean go look at the kernel source tree
whats the record now
like a 38 way merge commit
1 commit with 38 parents
oh nice

the shadows combined with the outlines look nice
it does but also dont go overboard stacking effects
browsers are nutoriously very bad
at optimizing this
65% cpu usage like normal twitch
How does it look in light mode?
sick 

i haven't done anything for lightmode support
The variables i used for the base are from twitchs stuff
so they change according to theme
oh
do you set those out to a store
fdm
Great
Fuck light mode users
we should set vars like this to a store
so every component can use them
just hook some generic component
that has it exposed
yeah might as well just do a similar theming setup as the site
Should use varable names for colors
sorry i have no vue experience
no that sucks ass pls no
scss generates 50 million variations
whats the alternative though
i suppose
Switch between 2 root classes that hold the different variables for light/dark mode
what i do is just have color vars and then i have a media query which just switches the vars to a different color
after doing calc
i mean yeah thats sane
but we want to follow twitch's theme
twitch's approach is not horrible eather
sidestep the math problem and the scss problem
by using scss to pregen
a color scale
instead of a single value
then you just use the right var

yeah like this
oh wait a second that makes sense
color scale -> color value -> primary/secondary/text -> element var
-> use wherever relevant in component
no math no spaghetti
scss looks nice to the programmer
but thats it 
We should make a base css with a lot of variables we want to reuse multiple times
yea
And it should be possible to define them in the different modules aswell right
do it in a component though
i think doing it in a component is better
and then we can make the stylesheet reactive
Yea, but some "global" ones can be nice
all the colors are defined in the components themselves and then there are some random variables out of nowhere

not sure if it needs shadows
it looks clean without them
there is v-bind
yes
to set reactive values as css vars
yeah
thats what i mean
I think we should do this
instead of decomposing
into theme classes
we could actually just do all the color calcs in js
tbh
its an extension
js is always loaded regardless
yea
.seventv-dark > {
--color-black
}
.seventv-light > {
--color-1: white
}
Could each module define its own colors like this?
and then we just update a class on the root whenever theme changes?
even better if they point to a class i guess
not particularly a fan of this
I dont think themes need to be this seperate
it will be difficult to maintain consistency
nah we dont need per-component themes
just one global theme
bg color, shades, primary, accent, warning
I mean if they want more variety than the global theme
yeah instead of trying to allow ourselves to even become different per component
for something specific
we should instead
rethink our designs
to use a consistent scheme
and adapt our global theme
Im all for having a well defined global theme
as neccissary to allow
for anything specific
I dont even think it needs to be a css pure thing
just have a store
that has the theme
any component can read it
if it needs more specificity
excellify would you be okay with me making a pr to your emote-menu-styling branch
sure
👍
git reset
~1
checkout apply
yep
git reset --hard

at any given time i have like 5 stashes open
because i am a schizo
Im still kinda new to reactivity in vue
work on 10 different features
never actually finish a single one of them
melon went and made the best react hacks any extension has then just ditched 
Is there an elegant way of using them to just await normal htmlelements or am i just an idiot?
For example when inserting the settings button
do it in react
you should never need to touch html directly
ReactElements
in a custom render function
or tracked nodes if its anything complex
pr created
So you want me to hook the entire renderer of the navbar and insert a tracked element every time the render is called?
yes this is how it is supposed to work
Feels kinda overkill
it covers all edge cases
i mean
thats just react

Cant remember what, but think there were some element i couldnt get by climbing down childnodes, i had to climb up
old hooks didnt reach the right nodes always I dont think
it could be modified to go up
but then it becomes much less efficiant
because now basically you search just literally everything
any time anything changes
no specificity because you just go both directions towards the depth traversal limit
also
with these hooks
its not so important
that its on the same node
it doesnt really matter where the class selector is
it just has to be some parent
but if you really dont have a selector
you can omit it, it just wont be nice
because it will initally do a full tree search in react
and then scan the new joined trees
as they come up
on mutations
with no specificity or aim, just checking everything
<style lang="scss">
.tw-root--theme-dark {
}
.tw-root--theme-light {
}
</style>
Super easy solution is to just put this in either App.vue or Twitchsite.vue. Thoughts? @daring gale
And declare the colors there
hmm
the question is, what potential issues would that have
because if there are none then i don't see any issues with doing this
there is the tiny chance that twitch changes their class names from this, which would break all our colors
But i dont think theyve ever changed it
wouldn’t you have to write the same declarations just with different colors if you did this

too much repeating
no?
store the colors in variables and use that one themify library

then you can do background: themify(backgroundColor)
or whatever
ez
did it on 7tv.io
Either way is fine
But for right now there is literally 1 or 2 colors that need to be there
no
thats the fucking scss spaghetti shit
i was talking about
it looks nice to you
but the code it generates
is far from nice
gotcha
curious - is it just the fact that it’s an external library AND scss that makes it generate bad code
like when compiled right
or do you even compile extensions
"themify" isnt a library
it's just a sass mixin
the issue is that is that since sass is just a code generator, it has no knowledge of whats happening at runtime, which means it has to generate every possible scenario ahead of time
good to know
and damn
Is the firefox build for the nightly builds?
https://bugzilla.mozilla.org/show_bug.cgi?id=1320796 found the reason. Service workers don't work with some privacy settings
c'mon Mozilla
NEW (nobody) in Core - DOM: Service Workers. Last updated 2022-11-09.
Help. I do not understand how to install an extension from a file in the firefox browser. Should I use "install extension from file" option?
Try about:debugging
Do I need to install extensions from the. zip archive in firefox?
Install it from there. And make sure to disable any privacy options you have enabled. FYI not all 7TV features are available. You can verify your installation by looking at the new emotes menu. It should contain a 7TV section.
yeah zip
Supported features are announced in #stage-notes . Check and update accordingly.
If anyone's been using the extension since the latest build, how's it working? 
idk if it was refereed yet but auto scroll is kinda dank, it stops halfway
🔧
im not sure if the transparency on the hype train thing is part of the extension but if it is looks cool
i guess it will still be changed but the emote preview look a bit for ants 
only if it was a hoverable thing as well to see the emote(s)
the funny thing was, was that i was about to ask if that was gonna be implemented when next stage tester drops
text + big emote is a lil janky
the buttons for each "channel" on the emote menu don't immediately skip, you have to click them multiple times and only then they only go a little bit at a time
ye i noticed this to when doing something like this
I really like how the preview works for emote menu 
will there be added an option for a drop down emote menu like ffz has?
Even tho I don't mine this like this, but i sometimes like to have it like this
Good idea

idk if i'm missing something but can't send same message twice also 
Not implemented

filled bttv logo 
way better
I asked Anson to try a sharp/low poly edit on the ffz logo so it fits with the rest
might or might not do it id need to pass it by stendec if hes ok with it since that's actually modifying the shape of the logo
But it would look nice I think, since the 3 others have no round corners
can try i guess
Might or might not work but worth a try
also it would be better if the big areas of the logos were the same size instead of having their whole size fixed
this is how they look like when the whole icon has a fixed width/height
im just saying this method gives the best results visually
cause currently it looks like the bttv logo is the biggest one
then twitch then 7tv and then ffz
Well i didn't make the vectors
⬜
thats why their size has to be adjusted manually 
K. Kona
why is twitch purple btw 
cock and ball torture (CBT) thats why

@finite monolith the issue you experienced yesterday with extension loading was bc of this error, it wasnt being exposed in the console
im adding an handler to auto delete the DB in that case
this is a psychopathic svg
figma export be like 
it should warn you
like for settings
drop the other shit auto
but like warn the user to backup settings
before completion
yeah no im not deleting the db actually ill probably just add a UI warning
and yea
but like not auto delete
this should be a very rare case and in stable releases should never happen
but for people that use betas or dev builds it's more likely and dropping DB would result in the loss of all settings
for now it's a console warning which is enough to warn devs what went wrong
we should also just generally have a way
to backup settings
like ffz has
just dump to json -> import from json
sync them with your 7tv account 

sync them with chrome extension data
sync them with a google drive
sync them with a dropbox

Sync them via ftp

secure
Pag Stick
Tbh sync to 7tv account can work
i wouldnt be against that
makes it easy to share config per account if youre a multi-device andy

ok 
just get it back to how it was before
this was fine
dont change the grid in your PR, only the colors

?
trying to figure out how to spell his stupid name
so i can @ him
@finite monolith
make it like the trainwrecks site

rename him to trucks
you're acting like i know what it fucking looks like


your acting like im gonna go start the dev environment
to show you what it looks like
the site is defunct 
ok

because i have no cards in the extension
no cards?
no cum

why is it still missing a box
uhh theres like slightly not enough room
also you better not hardcode it
otherwise its gonna look like shit dog ass if we make the chat resizable
resizing should be in increments then
i have no clue what's wrong with this
but thats for later
you can not fit another card
you need to decrease margins
or something else
theres not enough room on the right

for padding + card margin
are you using border-box?
oh my fucking god is this it
if you still want a border
just use outline
it goes on the outside
like it says
outline is an outline

psychopath
and so is gachibass
who the fuck
lule
uploaded those
treuks

i still want an emote
thats the emote that
is drawing
it looks so fucked up
and cute
Apuepo

oh
those are considered as ratio 2
so they automatically get a width of 2 emotes
this is what happens when you try to squeeze them
looks pretty donk
yeah cause the box is now smaller
?
no
this is not what it looks like
you shrunk the box
the box for ayaya is so small
the whole point is that the boxes are all the same size
ok well not my problem 
i have pushed the changes for the header and the sidebar breaking the wrapping
yeah i did not touch the grid
anybody feel like cumming


antnatole
its buggy
yes
it is very buggy
i could not use it
when you call it multiple times
on chrome
im gonna remove it on trucks' PR
it'll be non animated
try
but thats fine i think for now, discord's emote menu is the same
adding a scrollto scrollheight
with no behavior
first
to cancel scroll
then call the smooth to the final position
I beleive that might work
The sidebar is shifted to the right by 1 pixel now 
hm?
but yeah
the same shit happened
when I did the uiscrollable
i wanted to make it behavior smooth and then decrease the poling rate
but i just couldnt on chrome because it did the shit its doing for you now
I think my implementation of smooth scroll for the chat works
Yea, but still
is this normal
for perf
scrollHeight and clientHeight are fine
because those are cached
and dont require layout info
but clientrects
is on screen size
so it sometimes causes a reflow
Settings menu is usable soon, can wait till after that
you should have seen it
bit more complex
i guess trucks' pr is mergeable
scrolling the page all the way up
then all the way down
and like stopping at random spots
it was so dank

their shit is just fucked
please note its merged into the SevenTV:fix/emote-menu-styling branch
not in the master branch
i saw

it'll stay in excelll's PR until theming is fixed i suppose
Need this on the sidebar
calc(4rem - 1px);
no god why dont please


increase the with of the 1px border and you can see that it pushes the sidebar out
yes this is what border-box is supposed to do
you can still use an outline
and it wont do that
But you cant have an outline on a single side?
no you cant
why do you need that
why dont you just set the border
on the inside of the sidebar
instead of on the main area
🤏 smol suggestion: make emojis appear as Twemoji instead of the default microsoft shit
this
oh already discussed 
yeah
Just loaded Dev3 - Cool, that channel sub emotes now at the top in the twitch tab 
did you import the zip directly?
Yeah
from about:debugging right?
no 
Ok I think that worked

Damn the new emote menu 
Chat rendering almost 1:1 with Chatterino
Very nice
With the new chat would it be possible to make this for 7tv emotes
Show it in the chatbox
I think it would be cool if there was a maintained emoji set that didn't bother including every variation of skin tone and gender and sexual orientation in all the different combinations
ansonx10 finished their beauty sleep: 🛏💤 (12h, 12m ago)
because that adds SO many more emojis
It's funny seeing the spam with the tiny emojis
🤏 🇺🇸

but yeah
i think
wysiwyg should be a setting
the issue with twitches wysiwyg was that the chat was super slow and untolerable
with the custom chat it might be not that bad
for me it wasn't that it's slow, it's that it's annoying when you hit tab and get the wrong emote 
(skill issue tbh)
hmm true
ok
this is probably a bad idea
or hard to do
ok no forget about it

I'm fine seeing the text of the emote because I'm not a NORMAN
If I use an emote, I know what it looks like
yeah
(at least in my usual streams. I've been embarrassed plenty of times sending emotes in rando's chats that have unexpected emote differences)

i have been down this path
and it is something we will probably do
i did two approaches
patching the native one
and then I realized how truely awful it is
and then I decided to scrap that and replace it
thank fuck
Aware
that sucks
yeah vue would crash completely
if you ever hit a composition sequence
because the browser
shifts the elements a tiny bit
and vue hates when that happens
and just crashes
you can block composition
but
that means that cjk languages will be impossible to type
and things like emojis with the windows . wont work
and dead keys wont work either
that's not good
but you should really see
how awful
the slate chat is
(what its called internally)
it doesnt
really?
theres a seperate slightly maintained fork
but it suffers
the same issue
remember
I tested the composition there
and it crashes vue too
its just a unavoidable
vue bug
it needs to be managed outside of vue
it cannot be in vue
time to handwrite some ts 
i was considering forking vite to fix some bug
i dont even know what would be fixable
its a bug with the way vue difs elements
but the browser
changes elements
during composition
so idk if its even really fixable
@finite monolith
but anyways the internal one
is very very very bad
there are several components which all have their own input box state
and they trigger eachother
during every keystroke
you mean the twitch one?
aintnoway
are you forreal
around 15 times
per keystroke
and it doesnt just stop there
it rerenders
the entire chatbox
as well
:pepw
yeah the twitch slate is something ELSE
fucking kill me 
but you have to see the fucking console logs
just put a console log in one of those funcs
and see it spam 100 times
DIESOFCRINGE
on every keystroke*


its coming together







