New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Really odd UI issues with iOS 8.2 on iPhone 6 (Video included) #119
Comments
As a side-note, the stream of messages delivered this morning all have a
If these data points were collected throughout the night, then I was expecting these to be a time-series. Instead, they're all clumped around these two time points this morning when I fired up the phone, and in a semi-random order. |
@mrguessed You say Could you please install >= 1.3.4 and try again? You probably know that mosquitto.org/download has binary packages / repos for a bunch of distributions; it's basically a matter of configuring the repo, updating that and requesting an |
@mrguessed Thank you for the video; that is going to help us greatly, I think. I note you've set the app to Move Mode. Do things improve if you set it to Significant Changes? (Apart from better battery life :-) |
I'll work out how to get a newer version for my platform. I'm on Ubuntu/Linaro on a Odroid C1, so have to see what's available.
Sure, I'm just testing at the moment so it's not a hastle to run it in any more that reports ;) How do you tell what mode I'm in, I find the Menu selection widget totally confusing. I'm expecting a Checkmark next to the currently selected option when the menu pops up, but I'm assuming it's some variation in the icons that gets presented. I was playing with it back in February, and wasn't seeing this type of issue. Also note that the Android client, on my Nexus 7, wasn't having any of these issues, and was reporting enter/leave correctly - all using the same mosquito rev |
oops |
The second icon on top shows the mode:
Rereading your second comment, I'm rather confident it's a Mosquitto version issue, trigerred by more PUBs than the Android app used to send. Our iOS app has been more relilable in that respect. |
Re Mosquitto on your platform: if you can't get a package, building from source it is very straigtforward, and you don't have to install it in a final location: just stop the running instance, and launch from the build directory with |
ok. Still a little confused as to why the UI Thread would be pre-empted by any background MQTT Networking activity, and why it would queue up events if it's not seemingly moving (same time, lat-lon, etc)... unless it's the Still looking for a newer build, will make one if I have to ;) Mark |
Dequeing can be a problem if Mosquitto isn't picking up messages fast enough. I run it with
on my Mosquitto (with about 8 "friends"). May be worth your while increasing the default (as well as upgrading. :) |
Sorry, I meant whether the OwnTracks app was intending the Based upon what I'm seeing, it's used as the delivery-timestamp, but I haven't read the code to confirm. BTW: The reason I ask is that I used to work on something like this, and delivering them delayed, but out of order, can wreak havoc on things downstream... we used to graph the traversals and you'd get some really funny graphs ;) |
It's the event timestamp. At least it should be. |
Seems to me part of this is related to what I was describing on #111: accumulating hundreds of messages and slowing down UI as a consequence. |
Regarding the "mode" icon I agree (and most of the other colleagues using owntracks on iOS do) that there should be a clear indication of the current setting in the selection menu, or must try and select in order to discover where it was. |
If you don't like the Mode icon |
Yup, looks like #111 but I'm on the latest (shows as 7.4.2, but AppStore pushed another since then) It's still unclear why it was reporting 1000+ messages this morning, all with the same Given the timestamps observed, and knowing that it really is the event-time then I had several hundred, if not 1000 (total, per the icon), messages spew out of my iPhone this morning in the space of 1 second (technically 2x, 1-second events) There are only 3x devices on my [test] MQTT Server, they're all in the same room, and the Android device died overnight (flat batteries ;) ) |
There will be a new version 7.5, which does not persist unsent messages anymore like in version 7.3 |
That sounds like it'll nuke a backlog, but by the data I was seeing this morning it wasn't a backlog, but a flood (at the same time) from somewhere. All the timestamp values were one of these two: With a backlog, I'd expect the timestamps to be spread out, and the data to be different across. I was running PS: Stripping down mosquitto's make process atm to handle the libs/header differences I have in my env. |
... or perhaps no backoff if there are transmission problems (due to my older/buggy MQTT broker) |
Completed the local build of the 1.4 based Setup then proceeded to get 100's of this: {"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"}
{"cog":9,"batt":"100","lon":"-120.000","acc":"10","vel":1,"vac":3,"lat":"30.0002","t":"t","tst":"1426889679","alt":19,"_type":"location","tid":"NE"} until the battery dropped a little, then of course I got After a few minutes, the UI comes usable, but Map drag-ops take about 4-6 seconds to be executed. The Icon menu's, Settings (etc) respond normally at that time. Running in ">>" mode, phone flat on desk. |
What values for LocatorDisp and LocatorInterval in settings? Did you try ">" (Significant Changes) Mode? |
There is a bug in 7.4.3: Move mode fires every second. Pls use Significant Changes until 7.5 is available |
@mrguessed Rereading a bit of what you wrote earlier, it seems to me as though you've configured the same OwnTracks topic for your iPad and your iPhone? I'd like to recommend you use two different topic branches for that. :-) Also, congrats on the Mosquitto 1.4 install; I think -long term- you'll be happy with that. You may have also read that 1.4 has support for MQTT over Websockets, but I digress. Let's now all have a bit of patience; Christoph is working hard on the solution to this issue, and thank you, Mark, for your very valuable bug report! |
In case it may help: move mode on 7.4.3 here seems to be working according to the settings, not firing every second. Sorry for not trying to contribute or looking at the code I'm not too much into iOS. |
@mrguessed if you share your email with you, I put you on the beta test list for 7.5 |
They're default. ie. 200m and 180s resp.
Late last night, yes I switched over to SC Mode. The That said, even with |
They're on separate branches. I have 3 topics:
They all use the same UserID/Password for Auth (ON), all have a different DeviceID (like The iPad and Android devices have been switched off since 5(ish) pm yesterday (Pacific), just in case there was any interference, but it doesn't change the interaction.
I still have a ways to go to get it compiling fully. I just went in and pruned out the parts I didn't have ready access to (UUID lib, TLS, etc). I'm only testing atm, so those bits don't matter... yet. Looks like it's not until Ubuntu Vivid that we'll formally see newer versions of mosquitto (1.3.4-2). I'm on Ubuntu Trusty atm, and the Ubuntu package explorer shows mosquitto (0.15-2) until then.
No worries, I figured it's some combination of OS and Hardware that's triggering at least some of what I'm seeing, since it's so obvious, and without that it might be hard to repro. Mark |
Send to you via email... Mark |
No, it was definitely a bug, and @ckrey has squashed it. If, as he requested, you give him your email address, he'll add you to TestFlight, and you'll have immediate access to 7.5 which fixes that. (And to future betas of OwnTracks for iOS. ) |
Before I forget, for anyone else is following along and wanting to "rebuild" mosquitto MQTT in order to get a newer build version, the steps are [roughly] listed below. I used these to upgrade both my Odroid C1 (Ubuntu) and my RaspberryPi 1 B+ (Raspbian). Download the relevant source bundle from here: # Put everything in a predictable location
cd ~
# The filename may change, esp if they release a new version, so check!
wget http://www.eclipse.org/downloads/download.php?file=/mosquitto/source/mosquitto-1.4.tar.gz
gunzip *.gz
tar -xvf mosq*.tar
# Get the OS components generally up to date
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
# Get the named compile-time dependencies
sudo apt-get install uuid-dev libc-ares-dev libssl-dev
cd mosquitto
make clean all
./src/mosquitto Posted for discovery only, no action required. |
bug fixing version 7.5.1 released for external beta testers @mrguessed |
These issues are no longer present in the early access 7.5.1 version. I tested using an iPhone 6, iOS 8.2, against Some observations however:
Other than that, everything else seems fine. |
We decided to rely on iOS based region monitoring because this is Anyhow: I will change the coloring of the regions to be consistent with the enter/leave events (see #123). The |
And here it comes: Apple Watch --- Wrist ready as well as fixes and enhancements to a number of UI issues [NEW] Apple Watch shows your closes friends (all friends linked to address book) same as Today widget #113 [NEW] New more intuitive action sheets for Follow icon, Mode icon, and Ranging icon #119 #164 #165 #166 [NEW] Entering or leaving a region triggers location publish again (was lost when we moved events to subtopic) #159 [NEW] Authorisation settings in Hosted mode are picked up immediately after hitting return #157 [NEW] Editing/Adding waypoint is now possible by long-pressing on map and by dragging waypoints #156 #155 [FIX] Coloring of regions on map corresponds now to enter/leave events #123 [FIX] Connection idle (blue indicator) after startup is eliminated #109 closes #113 closes #119 closes #164 closes #165 closes #166 closes #159 closes #157 closes #165 closes #155 closes #123 closes #109
Last night my OwnTracks auto-upgraded to 7.4, and now it seems to be sending out a long stream of messages to my Mosquitto server.
Here's the trailing snippet of them, but they're all of the same general form:
The lat's weren't changing, but the lon's were only changing in the 4th dp, (values anonymized, but their relative values are correct)
It queued up over 1000 over night, without the phone moving, and then unloaded them when I started the app up this morning. It did this in "chunks", where it would pause in between and the screen had to be touched to get it going again.
Side-bar: It would be handy if these were "batched" into a smaller set of larger "array" messages. I think the round-trips are killing it when you get an opportunity to go online.
I suspect this is what's causing the weird non-responsive UI I saw last night (see Video on Box.net https://app.box.com/s/oyko2x0a363b0at2vdczko0m4i2az6p5). The timestamp on the video is real-time, so you'll get a sense for how the OwnTracks UI is reacting on my phone.
In that vid, you can see that when the App is started, it doesn't respond (No map) until the UI is touched, at which point the backlog counter in the corner starts to change. From then on, only when the UI is touched does this value change (up, or down) and the Map is unresponsive.
Env:
NB: The app is reporting Version 7.4.2 via the Settings UI, but the App Store indicated it updated it to 7.4 last night (Thu Mar 19th, sometime in the afternoon in California)
The text was updated successfully, but these errors were encountered: