works on my laptop’s firefox if I force it to dark
Link Mauve
Oh, do you build it with Qt support?
jonas’
Link Mauve, no, but I don’t have any gtk tooling
Link Mauve
I didn’t know it still supported that.
jonas’
I use whatever debian does
Link Mauve
Debian most likely builds Firefox with GTK.
jonas’
sooo... on the platform which most natively supports dark mode (android), firefox (fennec) fails to respect it for websites, while it does for its own ui?
jonas’
hm, I find the syntax highlighting hard to read
jonas’
not sure this is an improvement
Link Mauve
I could make it fully white if you prefer.
jonas’
yes, that or fixing the stylesheet of the syntax highlighter
Link Mauve
Or figure out XML colours which go better on a dark background.
I was under the impression you only changed xmpp.css
jonas’
I didn’t update prettify.css on my webserver
jonas’
much better
jonas’
this is great, thanks!
Link Mauve
:)
jonas’
pushed
jonas’
need to poke the docker stuff once it’s done, but lunch first
adiaholichas joined
Link Mauve
I should have done that years ago…
adiaholichas left
jonas’
no, that would’ve been with the old CSS ;)
jonas’
huh
jonas’
the change didn’t make it into the docker image
jonas’
not sure why, need to look at it later, lunch first
Link Mauve
Enjoy. :)
peetahhas left
peetahhas joined
krauqhas left
krauqhas joined
adiaholichas joined
Zash
Ooooh
mukt2has left
pasdesushihas joined
adiaholichas left
matkorhas left
matkorhas joined
larma
jonas’, I am not a big fan of Blurhash. I think it's not really well documented. https://github.com/woltapp/blurhash/blob/master/Algorithm.md is all you get. It uses custom, digit-based base 83 encoding, doesn't support alpha channel. And as far as I can see, it's not even heavily popular. Mastodon and Signal use it, and that's basically it. It just happen to be circulated within XMPP people for some reason and the word Blurhash is even used here as a synonym for "very small image scaled up in a blurry way" by some.
pasdesushihas left
jonas’
larma, no, I specifically talk about blurhash
jonas’
by that I mean the entire package, because I looked at it and I consider it a reasonable and smart solution to the problem
jonas’
in contrast to taking an 8x8 JPEG/PNG and scaling that up with a bilinear filter
jonas’
I’m not sure how alpha channels would even work with such a technology, that needs more thought
amuza@riseup.nethas left
larma
why do you think it's smart comparing to a simple bitmap? I wouldn't take jpeg or png because they have huge overhead for small size images
larma
classic pc bitmap, you now this old .bmp, is much better for very small images
pasdesushihas joined
adiaholichas joined
larma
4x3 = 12 32-bit colors are just 48 byte, encode them using base64 and you get 64 ascii chars. Yes a 4x3 blurhash is "just" 28 ascii chars. But given the overall overhead we have in XMPP that's not a huge thing. Also as quality of blurhash isn't exactly comparable with 32-bit color, we can easily reduce this by half (using 16-bit colors) and reach a size that is pretty close.
jonas’
Link Mauve, there, it’s live (cc @ Zash)
Zash
Shiny, thanks Link Mauve
Link Mauve
Woohoo!
larma
jonas’,
test image: http://larma.de/blur_sample_base.jpg
4x3 blurhash: http://larma.de/blur_sample_blurhash_4x3.jpg
image scaled to 4x3, reduced color depth to 12-bit (no alpha) and then scaled up again, both scaling used cubic interpolation: http://larma.de/blur_sample_cubic_scaled_4x3.jpg
Link Mauve
Tbh I don’t recognise any feature of the original image in either of the 4×3.
moparisthebesthas left
jonas’
larma, can you use cubic in browsers?
larma
well, you can see a rough estimate of the color
pasdesushihas left
Link Mauve
jonas’, you can use any algorithm with the <canvas> API.
Zash
Point is to have something to show until you download the actual image
jonas’
Link Mauve, sure
chronosx88has left
larma
The problem is that if you don't have alpha in the preview you can't correctly display it if the final image has alpha and you want to display it on background of varying color (which we need to consider in a heterogenous environment like public XMPP network). You certainly could add an alpha component to blurhash, but then you couldn't reuse existing implementations, making it probably harder to use (and not smaller in size) than just using bitmap data.
jonas’
larma, not wrong, but I wonder how that cubic interpolation of yours would look like with alpha
Calvinhas joined
chronosx88has joined
moparisthebesthas joined
larma
I guess cubic interpolation isn't that good for images that typically have alpha. It works good for photos, not necessarily for graphics
but blurhash also doesn't work well for anything that is not photos, so that's a general issue for these kinds of things
jonas’
exactly
eevvoorhas joined
lorddavidiiihas joined
jonas’
but I guess one could pick a blurhash-y thing for JPEG input and a simple downscaled bitmap for non-JPEG input
pasdesushihas left
larma
with alpha: http://larma.de/blur_cat_base.png
image scaled to 4x4 (32-bit with alpha) and scaled up to original: http://larma.de/blur_cat_cubic_scaled_4x4.png
in any case scaling down to very small images and reducing color depth and then scaling up again gives decent enough results, at least on the same level of blurhash, if you use some more advanced interpolation. If for some reason your platform does not allow you to do this, but you can do gaussian blur, an alternative would be to use no interpolation when scaling up and then apply gaussian blur (with radius set to scaling factor) on the few "very large pixels". Results should be similar.
larma
especially implementation work for everyone who can't use any of the existing encoder and decoders is going to be much less when being based on simple rgb bitmaps instead of complex encodings.
lovetoxhas left
Andrzejhas left
Andrzejhas joined
LNJhas left
Shellhas left
jonas’
sure
jonas’
makes sense
LNJhas joined
papatutuwawahas left
papatutuwawahas joined
Andrzejhas left
Andrzejhas joined
lovetoxhas joined
antranigvhas left
antranigvhas joined
deuillhas joined
goffihas joined
deuillhas left
peetahhas left
peetahhas joined
LNJhas left
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
Vaulorhas left
papatutuwawahas joined
Sevehas left
papatutuwawahas left
moparisthebesthas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
moparisthebesthas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
papatutuwawahas joined
papatutuwawahas left
antranigvhas left
Vaulorhas joined
Sevehas joined
Shellhas joined
lovetoxhas left
lorddavidiiihas left
adiaholichas left
adiaholichas joined
Andrzejhas left
Andrzejhas joined
lovetoxhas joined
Andrzejhas left
Andrzejhas joined
Yagizahas joined
Andrzejhas left
Andrzejhas joined
LNJhas joined
MattJhas left
MattJhas joined
lorddavidiiihas joined
sonnyhas left
Zash
MattJ, jcbrand, either of you happen to have an updated XEP-0317: Hats somewhere in your TODOs?
MattJ
Yes
MattJ
edhelas also expressed an interest in it recently, maybe he'll beat me to it
SamWhited
I think a lot of distros (maybe Debian?) enable Firefox's anti-fingerprinting protections by default (which disables dark mode entirely)
SamWhited
For whomever was saying it wasn't working in Firefox.
Zash
Wasn't that Firefox mobile? Worksforme with Firefox on Debian
xeckshas left
xeckshas joined
werdanhas joined
Andrzejhas left
SamWhited
oh, fair, I just saw "doesn't work in Firefox" in the history and was taking a wild-ass guess. So grain of salt.
adiaholichas left
LNJhas left
peetahhas left
archas left
archas joined
andrey.ghas left
peetahhas joined
debaclehas joined
lovetoxhas left
Andrzejhas joined
antranigvhas joined
LNJhas joined
lovetoxhas joined
LNJhas left
LNJhas joined
archas left
archas joined
Andrzejhas left
moparisthebest
Zash: https://addons.mozilla.org/en-US/firefox/addon/darkreader/ actually seems to work great on almost all sites
papatutuwawahas joined
mathieui
moparisthebest, yes but is quite heavy
mathieui
(I mean if you don’t have a recent multicore machine you will struggle on anything but simple pages like linkmauve.fr)
Link Mauve
linkmauve.fr once again > *
moparisthebest
I haven't noticed any problems, I even use it on my android firefox
Zash
Good thing I broke my new laptop and only use a 9 year old thinkpad.
Zash
(stationary thinkpad, grown stuck to my desk)
Shellhas left
Shellhas joined
mathieui
moparisthebest, I noticed on an i7-7700k with 16GB of ram
etacan't reach linkmauve.fr
Link Mauve
:o
eta
Link Mauve, oh, you don't do port 80
Link Mauve
No, only port 443.
Link Mauve
It should be part of hsts preload though.
Andrzejhas joined
eta
huh, so it is
eta
(checking hstspreload.org)
eta
that reminds me, I need to fix HSTS on theta.eu.org
sonnyhas joined
j.rhas left
j.rhas joined
Ge0rG
HSTS preload. Whoever had that idea needs to be punished in horrible ways. I mean, yes, it works for something like the top 1000, but how are you supposed to bundle all the crypto nerds' homepages into all the browsers?
moparisthebest
seems to be working no?
Ge0rG
So I need to submit all my websites to make it break?
moparisthebest
submit them all, it'll be fine
Zash
inb4 Ge0rG submits <every uuid>.example
Andrzejhas left
Zash
Aren't browsers also shipping CRLs embedded? And all sorts of stuff
krauqhas left
krauqhas joined
krauqhas left
krauqhas joined
Andrzejhas joined
Zash
Ge0rG: Looks like it's only 12MB uncompressed JSON
https://github.com/chromium/chromium/blob/master/net/http/transport_security_state_static.json
Ge0rG
Zash: well yes, that's *before* I submitted all my domain names! 😁
jonas’
SamWhited, I have the issue on android, and it’s officially not supported according to MDN
Yagizahas left
Andrzejhas left
Andrzejhas joined
Andrzejhas left
j.rhas left
j.rhas joined
Lancehas left
lorddavidiiihas left
Lancehas joined
DebXWoodyhas left
pasdesushihas joined
Andrzejhas joined
Lancehas left
pasdesushihas left
Lancehas joined
Nekithas left
werdanhas left
mp5has left
pasdesushihas joined
Andrzejhas left
LNJhas left
pasdesushihas left
strypeyhas joined
strypeyhas left
lovetox
that there is a execute action and an execute attribute and both have defaults if absent
lovetox
is beyond confusin in 0050
Zash
yeah
Andrzejhas joined
lovetox
The action "execute" is equivalent to the action specified in the "execute" attribute. If the "execute" attribute is absent, it defaults to "next".
lovetox
that sentence is a real treat
lovetox
what default to next here
lovetox
the action or the attribute
Zash
You're telling me it's still confusing after this went trough council? :/
lovetox
actually no
lskdjfhas left
lskdjfhas joined
lovetox
the way this is written, it must be the attribute that is meant
lskdjfhas left
lskdjfhas joined
lskdjfhas left
lskdjfhas joined
papatutuwawahas left
lskdjfhas left
lskdjfhas joined
Ge0rG
It was even more confusing, and then there was a long discussion how to remove the confusion without changing any normative text
strypeyhas joined
strypeyhas left
lskdjfhas left
lskdjfhas joined
Andrzejhas left
lovetox
it would be so much clearer if the execute action simply did not exist
lskdjfhas left
lskdjfhas joined
Zash
I was thinking that execute = start
lovetox
execute = everything
werdanhas joined
lskdjfhas left
lskdjfhas joined
lskdjfhas left
lskdjfhas joined
lskdjfhas left
lskdjfhas joined
lskdjfhas left
lskdjfhas joined
Calvinhas left
moparisthebesthas left
lskdjfhas left
lskdjfhas joined
Arnehas left
Arnehas joined
Dele Olajidehas joined
lskdjfhas left
lskdjfhas joined
lskdjfhas left
lskdjfhas joined
lovetox
wait, is the execute action a real action element?
you MAY, or not. it's the only option at that point, so redundant
lovetox
ok that makes it simpler
lovetox
because from a gui standpoint, if i draw buttons next, prev, etc
lovetox
but when clicking on them i send "execute" suddenly
Dele Olajidehas joined
Zash
Link Mauve, p.box (Note: ...) has black text
Lance
you can send action=execute any time. but it's the "idk what i want, you decide for me" option. so the responder decides what actually happens
Link Mauve
Zash, do you want to fix it, or should I do it?
Zash
Link Mauve: Do *you* want to? I can, but not now.
Lance
i'd wouldn't send action=execute if a user actually clicked on a prev/next/complete button, just the explicit action the user chose
Link Mauve
Zash, I’m working on Jingle stuff.
Link Mauve
I can do it at some point too.
lovetox
yeah Lance thats what i also think
Lance
only time id consider using action=execute would for some automated exchange, where i just want to fast track though the default happy path the responder wants
moparisthebesthas joined
Lance
but even then, ehhh
lskdjfhas left
lskdjfhas joined
lovetox
oh wow just found this
lovetox
If the <actions/> possesses the "execute" attribute, that value is the default button or option. If the <actions/> does not possess the "execute" attribute, there is no default button or option.
lovetox
thats what i was actually searching
lovetox
so i just pick whatever the execute attr tells me and color my button
lskdjfhas left
lskdjfhas joined
lovetox
and i never have to actually send execute or even care what it "defaults" to if its not htere
lskdjfhas left
lskdjfhas joined
Lance
yeah, the whole execute attribute thing is entirely for UI guidance/hinting on the submitter side. if you're the responder and receive action=execute it just means you get to choose what happens instead of the submitter choosing
goffihas left
lskdjfhas left
Lance
the ambiguity in the model comes from when the responder provides (or doesn't provide any) UI hints that match what it would choose
Zash
Ought to have been called "default", but oh well
pasdesushihas joined
Lance
err, UI hints that _do not match_ what it would choose
pasdesushihas left
pasdesushihas joined
Nekithas joined
pasdesushihas left
chronosx88has left
chronosx88has joined
Mikaelahas left
Dele Olajidehas left
lovetox
i think the problem is that i trys to fill 2 jobs
lovetox
first provide a UI hint
lovetox
2. for this rare usecase where i just want to send "execute"
lovetox
i wonder how a xmpp lib fullfills both things
lovetox
because the xep says, execute defaults to "next"
chronosx88has left
lovetox
but obviously a xmpp lib should not fill the var with "next" otherwise the UI doesnt know that there was no default action and no UI hint should be given
lovetox
either way, after working this out now, i treat it only as UI hint client side
Tobiashas left
lovetox
and i dont default it to "next", because not set means no hint should be given