aniketker / webiopi

Automatically exported from code.google.com/p/webiopi
0 stars 0 forks source link

Safari Mobile Bug #10

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
If you want to control webiopi with your IPhone/IPad you can use every button 
only once. After activating and deactivating a buttonk, they stop working.

Tested on an IPhone 5 (6.0) and IPad 3 (6.0.1) 

Original issue reported on code.google.com by oliver.r...@googlemail.com on 26 Nov 2012 at 5:23

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Tested with an iPhone 4 on iOS 6 and I cannot reproduce the bug

Original comment by tro...@trouch.com on 10 Dec 2012 at 8:05

GoogleCodeExporter commented 9 years ago
I can confirm this. Tested with an iPhone 4S on iOS 6.1.

Original comment by nwndarkness@gmail.com on 12 Dec 2012 at 8:12

GoogleCodeExporter commented 9 years ago
I can also confirm there is a problem with iPhone 5 and iPad 3 running IOS 6.1. 
 However it works fine with iPhone 3G IOS 4.1.
It looks to me like a timing issue where an update of the pin state clashes 
with the change pin state request from safari. The appearance is, you tap the 
pin and it briefly changes colour then is reset within a second without 
affecting the IO port.

Original comment by kim.hopm...@alcatel-lucent.com on 17 Dec 2012 at 5:22

GoogleCodeExporter commented 9 years ago
Need some javascript console error log.
Cannot reproduce it on my side :
Works on iPhone 4@6.0.1 and Safari 6.0.6

Original comment by tro...@trouch.com on 20 Dec 2012 at 10:41

GoogleCodeExporter commented 9 years ago
iPhone 5 does not work. The pin states changes then rests to off with no action 
taken. 

Using Chrome on iPhone 5 the functions work correctly.

Original comment by acbmeis...@gmail.com on 4 Jan 2013 at 2:46

GoogleCodeExporter commented 9 years ago
Hi. This seems to be a Mobile-Safari-only bug. When you change a pin state it 
goes back to what it was before.

I activated debugging and checked the mobile javascript console but there is no 
error output.
Actually, checking the page requests from the inspector shows that the POST 
requests with the new values are sent successfully and they even get a response 
from the server with the new current value, as if it had changed. I mean, the 
server is responding as if it changed the value, but in fact nothing happened.

However, on Chrome for iOS, as mentioned above, works fine.

My guess... Is there anything on the server-side, in the http code, that 
verifies the agent from the POST requests? Because, if I am not mistaken, 
Chrome for iOS uses Mobile Safari's engine to render the pages, so if it was a 
Javascript problem, this would happen on both browsers.

Thanks!

Original comment by macecchi on 11 Jan 2013 at 9:41

GoogleCodeExporter commented 9 years ago
If you got it working with other browser, this is not a server issue.
There is no agent filtering (not yet)
Do you have plugged something on the GPIO like a LED to see if the output has 
changed ?

You may try to start webiopi in a teminal to see if there is error
to stop existing webiopi service :
sudo /etc/init.d/webiopi stop
then to start webiopi foreground :
sudo python -m webiopi

Original comment by tro...@trouch.com on 11 Jan 2013 at 9:48

GoogleCodeExporter commented 9 years ago
I can confirm that this issue exists (running iPhone 5 ios6.0.2), would very 
much appreciate if anyone could come up with a solution other than using chrome.
Im willing to help if need help testing or such.

Original comment by gustaf.n...@jayway.com on 14 Jan 2013 at 11:41

GoogleCodeExporter commented 9 years ago
You may try to start webiopi in a teminal to see if there is error
to stop existing webiopi service :
sudo /etc/init.d/webiopi stop
then to start webiopi foreground :
sudo python -m webiopi

On my side it works fine on Safari Mobile with an iPhone 4 on iOS6.
I think I need an iPhone 5 to try it out...

Original comment by tro...@trouch.com on 14 Jan 2013 at 4:58

GoogleCodeExporter commented 9 years ago
I tried running it in foreground but no messages shown in the log.

Original comment by gustaf.n...@jayway.com on 14 Jan 2013 at 11:38

GoogleCodeExporter commented 9 years ago
I found this thread on SO that seems to be quite relevant to this issue.
http://stackoverflow.com/questions/12506897/is-safari-on-ios-6-caching-ajax-resu
lts

Original comment by Gustaf.N...@gmail.com on 26 Jan 2013 at 10:16

GoogleCodeExporter commented 9 years ago
Very nice post, thanks.
I just made some changes on the trunk to add the cache control header.
Can you checkout sources, install and give a try ?

Original comment by tro...@trouch.com on 27 Jan 2013 at 12:52

GoogleCodeExporter commented 9 years ago

Original comment by tro...@trouch.com on 27 Jan 2013 at 10:16

GoogleCodeExporter commented 9 years ago
That seems to do the trick! The sample index.html works like a charm.
At first my own page didn't work but after resetting safari it's working aswell.

Thank you for a your fast feedback! great job with the project! 

Original comment by Gustaf.N...@gmail.com on 27 Jan 2013 at 2:46

GoogleCodeExporter commented 9 years ago
thanks for feedback, I close the issue so.
the fix will be included in the next release.

Original comment by tro...@trouch.com on 27 Jan 2013 at 2:55