Fork me on GitHub
#hoplon
<
2016-06-15
>
leontalbot10:06:03

@micha @jumblerg speaking of which... I am running alpha15 and can't see my site with Windows 7 IE 9

leontalbot10:06:10

Really weird...

leontalbot10:06:12

IE 8 doesn't work either

leontalbot10:06:15

My terminal shows

2016-06-15 06:01:13.638:WARN:oejh.HttpParser:qtp997122451-776: Illegal character 0x16 in state=START for buffer HeapByteBuffer@26e46bb9[p=1,l=160,c=8192,r=159]=

leontalbot10:06:18

oh, it doesn't seem related. Can't reproduce the error message

leontalbot10:06:27

Trying with alpha16

leontalbot10:06:44

Got the same problem. Can't see anything with IE 8 and 9.

leontalbot10:06:22

with alpha12 also

leontalbot10:06:33

if (typeof goog != "undefined") { goog.require("boot.cljs.main808"); } else { console.warn("ClojureScript could not load :main, did you forget to specify :asset-path?"); };

dm310:06:00

you have no body there in the DOM

dm310:06:09

any console warnings?

leontalbot10:06:48

SCRIPT600: Invalid target element for this operation. 
index.html.js, line 535 character 201
SCRIPT600: Invalid target element for this operation. 
index.html.js, line 535 character 201

leontalbot10:06:32

p,q,r,t,v,x,C,G,K,S,Q,E,Ua,W,ba,Y,U,R,ca,ha,fa,Va,ob,oa,za,pb,mb,Qb,b,e,f,f,g,k,l,m,n),null),p,q,r,t,v,x,C,G,K,S,Q,E,Ua,W,ba,Y,U,R,ca,ha,fa,Va,ob,oa,za,pb,mb,Qb,b,e,f,f,g,k,l,m,n)).call(null,m,Ki)}();return tn.Ud?tn.Ud(p,q,r,t,v,x,C,G,K,S,Q,E,Ua,W,ba,Y,U,R,ca,ha,fa,Va,ob,oa,za,pb,mb,Qb,a):tn.call(null,p,q,r,t,v,x,C,G,K,S,Q,E,Ua,W,ba,Y,U,R,ca,ha,fa,Va,ob,oa,za,pb,mb,Qb,a)}a.G=0;a.H=function(a){a=A(a);return b(a)};a.l=b;return a}(),io=function(){function a(a){var d=null;if(0<arguments.length){for(var d=

leontalbot10:06:21

this is in the IE console

leontalbot10:06:16

no warnings in terminal

jumblerg11:06:28

@leontalbot: does it work in any versions of ie?

jumblerg12:06:11

@leontalbot: i’m looking into this now

jumblerg12:06:19

can you give me an example *.hl file to reproduce?

leontalbot12:06:50

ok, back to my laptop, on it...

leontalbot12:06:57

Any hl files cause this error

leontalbot12:06:08

I've copied the handler code just in case...

leontalbot12:06:00

static pages like error 404 works fine

jumblerg12:06:08

i'm looking into it now

leontalbot13:06:25

@jumblerg: Have you been able to reproduce?

jumblerg13:06:04

@leontalbot: yep, thanks, running through some x-browser testing now

jumblerg13:06:07

@leontalbot: do i understand correctly that this issue runs back to hoplon 6 alpha12?

leontalbot14:06:48

yeah that's wierd because it didn't work out with alpha12 this morning

leontalbot14:06:07

Maybe I tested to fastly and made a mistake

leontalbot14:06:32

I am not in front of my computer in the next minutes, so I won't be able to double check that

jumblerg14:06:08

@leontalbot, @micha: apparently the innerHTML property, which i introduced into alpha14 as part of a fix for this regression https://github.com/hoplon/hoplon/commit/128dc2134774bd6e3de74de88707745e34f99f5a (description is here, innerHTML was added in a subsequent commit), is read-only in ie 8.

jumblerg14:06:09

it also breaks in 9

jumblerg15:06:05

to summarize, in ie 8: (1) innerHTML write is unsupported on the body element which breaks alpha14 and (2) the type Node is not supported which breaks yesterday’s commits adding the extensible ->node fn. ie9 has similar issues, but i don’t want to spend any more time digging to understand better. i’m certain there’s a solution to the former with a bit of hacking (probably using removeChild instead); additionally, the fix for Node is relatively straightforward albeit less elegant. wrt to our conversations yesterday, the cost of continuing to support these ie versions is more tangible to me now, both in terms of time required for (1) xbrowser testing (2) hacking around to find non-mutually exclusive scenarios that satisfy ie 8, 9, and the other browsers and (3) managing the increased complexity of the codebase. in all cases, we appear to be in good shape with ie 10+.

jumblerg15:06:29

my vote is that we drop support for ies 8 & 9 moving forward. maybe we tag one last release reverted to alpha13 (this will reintroduce the bug with cells in the body tag) for people who need 8 & 9.

jumblerg15:06:00

it might also be worth noting that react dropped support for ie 8 early this year.

jumblerg15:06:16

i’m curious to know how this will impact other users here

flyboarder15:06:06

@jumblerg: I think it was you who pointed out that the number of webapp users on old versions of IE is probably minimal unless they are enterprise, I would agree with this. Personally I never care about old browser support with my projects, I have a “push-forward” view on these things, technology shouldn’t really care about the previous iteration, only the next one.

flyboarder15:06:28

My biggest support limitation was recently removed when we upgraded all the offline systems to IE 11, no more gov requirements for clearly vulnerable browsers 😛

jumblerg15:06:40

@flyboarder: thanks for weighing in, i agree. i’m using hoplon for financial services software, and even the banks who were using ie 6 a few years back have finally gotten with the program.

jumblerg15:06:17

ultimately @micha makes the calls around here though. i can only argue with him. 🙂

flyboarder15:06:12

Yeah I recently decided that IE 10+ was my benchmark for support, if it’s broken try edge, if that doesnt work, fix your infrastructure.

flyboarder15:06:54

But I also dont write a whole lot of apps with thousands of users.

jumblerg15:06:17

yeah, same, micha et. al might have different userbases to support

micha15:06:29

I'm open to change, especially if we conform to some widely adopted standard, like reactjs for example

flyboarder15:06:45

Generally whichever userbase is getting the most coverage area should be the target

jumblerg15:06:32

@micha: i do think react still supports 9, my suggestion, based more on development cost, is that we go one ie further.

jumblerg15:06:42

and establish ie 10+ as our benchbark

flyboarder15:06:06

I dont think much needs to be changed, more a decision for how to handle browser support for future issues? Also IE10 resolved a lot of IE specific differences

flyboarder15:06:35

I see more <IE10 statements in source 😛

jumblerg15:06:48

yeah. i was using an ie check that embedded google chrome frame for my financial services customers.

flyboarder15:06:03

@jumblerg: thats what I did too 🙂

jumblerg15:06:26

that was a clever product. then one day, i accidentally disabled it during xbrowser testing, happened to be on ten, and was temporarily confused when it worked anyway.

flyboarder15:06:02

Also MS is pushing windows 10 to clients now, my friend had to actually rollback his OS because he declined a (partially installed) update, bad microsoft 🙃

jumblerg15:06:37

yeah, that’s some sort of progress i suppose - even M$ can’t bear the cost any longer.

jumblerg15:06:01

although, next thing is that you’ll probably have to get a linkedin account to log into windows

micha15:06:18

yeah i think windows 9 is effectively dead now, because M$ force updated them

micha15:06:25

i mean ie9

micha15:06:37

it's like 0.1% market share

micha15:06:54

ie10 is about the same as ie8 i think

jumblerg15:06:55

awesome. after the way i spent my morning, this makes me happy to hear.

micha15:06:14

10 is evergreen, i believe

flyboarder15:06:25

@jumblerg: are you on windows 10? You have to make it create a local account instead of an MS Live account on fresh setup. Now it’s just a crappy apple.

jumblerg15:06:27

saucelabs is a pretty good product, btw https://saucelabs.com/

flyboarder15:06:17

@jumblerg: im forced to run VM’s on my mac 😕 but your windows logon is the same as iCloud password on OSX

jumblerg15:06:47

i found saucelabs to be a nice alternative to the vms this am, i was able to test the changes i was serving locally on their system rather painlessly.

flyboarder15:06:23

I have to VPN into client networks so I run a VM for each client env I use, waiting for windows containers so it’s more like docker, but back to Hoplon….. IE10+ support is my vote for future issues 😛

jumblerg15:06:07

thanks for the feedback

jumblerg16:06:45

@micha: if you decide to drop ie 8 and 9, there’s a thoroughly tested branch. ^^^

jumblerg16:06:36

figured i’d strip the ie8 stuff out now and test against use of the js/Node type while i had all the xbrowser testing machinery up.

leontalbot17:06:35

@jumblerg: thanks! Will land soon and catch up with new version

jumblerg17:06:29

@leontalbot: np! i think i might have taken things in the exact opposite direction you were hoping for though. :)

jumblerg17:06:01

are the ies 8 and 9 something you need support for?

leontalbot19:06:26

My biggests clients are governments

leontalbot19:06:43

which means slow tech adoption

leontalbot19:06:23

And as I do online polls as a living, we need to make sure we can offer the chance to any citizen to answer...

leontalbot19:06:09

even IE 8 and 9

leontalbot19:06:37

so I would need to stick to alpha9 or?

leontalbot19:06:01

Am I the only one in that position?

jumblerg19:06:40

@leontalbot: what percentage of your users are 8 and 9?

jumblerg19:06:52

(just curious)

leontalbot19:06:04

IE 8 17% of all IE, IE 9 10%

leontalbot19:06:12

though it is going down

jumblerg19:06:44

the last distribution that properly supported ie 8 is alpha13, i believe

jumblerg19:06:23

and what percentage of users are ie users?

leontalbot19:06:02

this I cannot say out of the box, because I didn't exclude my IP (which is gaming chrome a lot)

leontalbot19:06:48

And the IP of our people on the streets that fill polls with iOS and Android

jumblerg19:06:17

i did some testing on ios, android, everything worked fine there… mobile tends to be more progressive

jumblerg19:06:58

can you try alpha13 and confirm that this distro works correctly for you?

leontalbot20:06:54

Will do tonight

leontalbot20:06:37

With alpha13 I may come up with the "null" that gets added in head and body, no?

jumblerg20:06:10

@leontalbot: i thought that was in 13 but you’re correct. alpha12 is the last one that supports ie 8.

leontalbot20:06:31

So i should implement my own case-tpl etc. ?

micha21:06:45

I think we might want to keep the ie8 hacks in

micha21:06:07

i think we can figure out a way to make it work

micha21:06:55

the first step is to have a demo app that we can test in ie8, perhaps

micha21:06:28

and some method to test in ie8 without needing a windows computer, cause i don't have one

jumblerg21:06:20

@micha: i’m actually doing some experiments now on an innerHTML alternative

jumblerg21:06:34

innerHTML has a different implementation for ie 8 (read-only), 9 (who knows), and 10 (works)

micha21:06:50

iirc that was just for the reloadig support, the innerHTML change

micha21:06:05

so that's not as important

jumblerg21:06:23

we could take it out alltogether

micha21:06:30

or just do it if it's not ie8

jumblerg21:06:22

my thinking is that we have a major release that includes the latest features and supports ie 8

jumblerg21:06:42

then drop ie 8 and 9 after

jumblerg21:06:58

i don’t like the idea of leaving people hanging

micha21:06:28

hoplon itself doesn't necessarily need to drop support for ie8 i don't think

micha21:06:40

hoplon is so simple, it doesn

micha21:06:49

t seem like too bad to have those special cases in there

jumblerg21:06:54

i like the idea of supporting it, i think it is definitely a plus to, esp in an enterprise-grade thing, i just dislike paying the ie tax.

jumblerg21:06:58

@leontalbot: sorry, just saw your upstream message, i was trying some things here, one way or another we’ll have a fix soon.

leontalbot22:06:34

@micha: do you want an access to my browser VM account to test ?

jumblerg22:06:07

@micha: how ironic that the very way you check to see if the brower version is ie 8 is to (not (aget js/window "Node”)).

jumblerg22:06:27

my bug is your feature

micha22:06:15

lol yeah it was interfering with my plans as well

jumblerg23:06:11

@micha: just fixed @leontalbot’s issue with a direct call to (merge-kids elem nil nil)

jumblerg23:06:48

this iterates through all the script kids jammed into the body on load and calls removeChild on them

jumblerg23:06:02

instead of attempting to blow them away with a single innerHTML

jumblerg23:06:16

@leontalbot: can you check out master and give that a try?

jumblerg23:06:44

i did some x-browser testing here with a hello-world and it passed

leontalbot23:06:22

Sure! How to build again?

jumblerg23:06:42

clone master then boot build-jar

leontalbot23:06:20

Ok, i just tested with IE 8 9 and 10

leontalbot23:06:38

works only with IE 10

leontalbot23:06:39

question: i've first erased .m2 hoplon alpha16 repo

leontalbot23:06:43

then build-jar

leontalbot23:06:49

then I did boot dev

leontalbot23:06:04

Do I need to clean or smth, before?

jumblerg23:06:14

hm, that shouldn’t be necessary, you should be able to boot build-jar

jumblerg23:06:40

it will overwrite the existing jar in ~/.m2

jumblerg23:06:57

let me double check here to make sure i didn’t ovelook something that gave me a false positive

jumblerg23:06:01

(page "index.html")

(defc messages ["hello" "ie 8"])

(html
  (head)
  (body
   (for-tpl [m messages]
    (div m))))

leontalbot23:06:27

I checked out master

leontalbot23:06:31

The patch seems there, right?