maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [SFOS] [Announce] Rockpool - Pebble daemon for Sailfish (https://talk.maemo.org/showthread.php?t=96490)

Astaoth 2016-03-18 14:22

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501622)
That's the correct method, but not having a newer model Pebble I can't say for sure what your latest version should be. I think at this point it might be best to wait for the appstore UI and see if that makes a difference to the apps you're offered. ruff is steaming away at it on github!

That's not the latest version available for a PTS. When I check the available versions with org.rockwork.Pebble.CandidateFirmwareVersion, I get nothing. I think it's rather a problem with the remote connection to Pebble servers from Rockpool.

abranson 2016-03-18 14:51

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by Astaoth (Post 1501623)
That's not the latest version available for a PTS. When I check the available versions with org.rockwork.Pebble.CandidateFirmwareVersion, I get nothing. I think it's rather a problem with the remote connection to Pebble servers from Rockpool.

That is interesting, because Michael recently rewrote the firmware checking code because it wasn't detecting that 3.10 was more than 3.9. I've brought it over and upgraded with it myself, and you'll see he's greatly increased the amount of logging on that. Can you see anything interesting in there?

Fuzzillogic 2016-03-18 21:37

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501598)
ve had problems with pebbled starting again too, and had to remove it. If anyone else has connection problems like this, always check whether the watch thinks it's connected or not to rule out pebbled or another instance of rockpoold running.

A way to avoid this problem for later users might be to mark pebbled as conflicting package in the rpm. Not sure about the ethical implications, as it will silently remove someone else's software from user's phone. But given that rockpool is more than the spiritual successor of pebbled, and pebbled can apparently cause connection problems for rockpool even if pebbled is disabled, it might be the better option.

abranson 2016-03-18 21:43

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by Fuzzillogic (Post 1501648)
A way to avoid this problem for later users might be to mark pebbled as conflicting package in the rpm. Not sure about the ethical implications, as it will silently remove someone else's software from user's phone. But given that rockpool is more than the spiritual successor of pebbled, and pebbled can apparently cause connection problems for rockpool even if pebbled is disabled, it might be the better option.

That sounds mean, but it might make sense. I definitely saw pebbled launching even though I'd disabled it in the pebbled UI. I wonder if it's related to the reports I've seen of Android daemons starting even though they're supposed to be disabled. If so then it could be a Sailfish bug. I think it's a systemd call.

ruff 2016-03-18 22:13

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Mb more polite would be to add a clutch to servicecontrol to check pebbled status and stop it if alive?
Or to add conflict statement to the service unit

mrsellout 2016-03-19 00:12

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by Astaoth (Post 1501623)
That's not the latest version available for a PTS. When I check the available versions with org.rockwork.Pebble.CandidateFirmwareVersion, I get nothing. I think it's rather a problem with the remote connection to Pebble servers from Rockpool.

Have you got the latest version of Rockpool installed? The previous version didn't find an update, but the latest did and I upgraded my PTS with the dbus command supplied.

Astaoth 2016-03-19 01:46

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by mrsellout (Post 1501656)
Have you got the latest version of Rockpool installed? The previous version didn't find an update, but the latest did and I upgraded my PTS with the dbus command supplied.

You are damn right I didn't had the latest version. I had the 0.1-2 installed, but until now I didn't had a new version available on Warehouse :/. I will try to upgrade the firmware tomorrow and will tell you if there is anything new.

abranson 2016-03-19 06:20

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501651)
Or to add conflict statement to the service unit

^ I think this is the winner. Great idea.

Quote:

Originally Posted by Astaoth (Post 1501660)
You are damn right I didn't had the latest version. I had the 0.1-2 installed, but until now I didn't had a new version available on Warehouse :/. I will try to upgrade the firmware tomorrow and will tell you if there is anything new.

mzanetti's new firmware checking code was ported over in 0.2-1 so that may very well do it! Also, loads of other new things!

Fuzzillogic 2016-03-19 10:41

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501668)
^ I think this is the winner. Great idea.

It's elegant, but will it be enough? What happens if the pebbled service is (mysteriously) started when rockpool is already running? Who "wins"? What happens if a user installs pebble after installing rockpool?

From systemd's manpage: "If a unit has a Conflicts= setting on another unit, starting the former will stop the latter and vice versa". This sounds much like the current situation: either pebbled is running, or rockpool, but you don't know which one.

I don't know if this kind of conflict resolution can be resolved using a systemd unit configuration.

Astaoth 2016-03-19 11:18

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Ok, so here is the logs when I start rockpoold from the command line : pastebin.com/p4brZPED .
If we take a look at the end, we can read that the new version is detected, but the internal status about available update is set to false. And with the calls from qdbus, I have the same results than before.
Maybe because my version number has an unexpected format rockpool can't define if my version is the latest or not ?

Edit : I did this with the 0.5-1 version

abranson 2016-03-19 18:01

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by Astaoth (Post 1501682)
Ok, so here is the logs when I start rockpoold from the command line : pastebin.com/p4brZPED .
If we take a look at the end, we can read that the new version is detected, but the internal status about available update is set to false. And with the calls from qdbus, I have the same results than before.
Maybe because my version number has an unexpected format rockpool can't define if my version is the latest or not ?

Thanks for that. I think Michael only anticipated that vX.Y.X format, probably because everyone was stopped on 3.9.1. I'll fix that tonight for you.

Edit: version 0.5-2 should be able to cope with you now.

Feathers McGraw 2016-03-19 21:01

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Code:

nemo ~ $ qdbus org.rockwork /org/rockwork/B0_B4_48_C6_10_B1 org.rockwork.Pebble.PerformFirmwareUpgrade
Now running firmware version 3.10.1 on my Pebble Time Steel. Thank you :)

ruff 2016-03-20 10:53

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by Fuzzillogic (Post 1501681)
It's elegant, but will it be enough?

Daemons are controlled by systemd or by user. Even when it is dbus unit it's still called and spawned via systemd. So either you start it in cli manually or via systemd.
Conflict statement allows isolation of the services to avoid "strange unpredictable" behaviour.
Pebbled app allows start/stopping the service and see its status. rockpoold is autostarted by app, moreover app locks down when daemon is not running (falls to waiting for service page).
This basically grants certain predictability, not providing ultimate solution. Bcz ultimate solution should be a user's choice, nor programmer's.

To be completely on the safe side we might implement checks for the stray pebbled processes (eg service is down but process is running) but that's too much overhead and unless reported with certain persistence by users - should be avoided.

abranson 2016-03-20 11:02

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501741)
Daemons are controlled by systemd or by user. Even when it is dbus unit it's still called and spawned via systemd. So either you start it in cli manually or via systemd.
Conflict statement allows isolation of the services to avoid "strange unpredictable" behaviour.
Pebbled app allows start/stopping the service and see its status. rockpoold is autostarted by app, moreover app locks down when daemon is not running (falls to waiting for service page).
This basically grants certain predictability, not providing ultimate solution. Bcz ultimate solution should be a user's choice, nor programmer's.

To be completely on the safe side we might implement checks for the stray pebbled processes (eg service is down but process is running) but that's too much overhead and unless reported with certain persistence by users - should be avoided.

I'd rather not have explicit references to other applications in the code, but we're not fixed to the RockWork design. A lot of that comes from workarounds for the Ubuntu platform. What would you think about having the same service control in Rockpool as Pebbled? I'd already partially migrated the ServiceControl over. It would be easy to add methods to enable or disable the service.

Tbh I'm coming round to the idea of declaring a conflict with pebbled in the RPM. I don't think smokku would mind really.

Btw I added a gitter chatroom. I thought it might be a good place to discuss finer implementation details in realer time.

https://gitter.im/abranson/rockpool

ruff 2016-03-20 11:19

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501743)
What would you think about having the same service control in Rockpool as Pebbled? I'd already partially migrated the ServiceControl over. It would be easy to add methods to enable or disable the service.

Yes, I'm also leaning to this idea, hardcoded autostart is also a bit impolite. RPM conflict is probably way too much, F.i. I'd prefer having both apps on my jolla. Just in case ;)
Service conflict should fine. We may probably also add simple org.pebbled introspection to give a warning when target is published. A fairly simple call to implement in servicecontrol. May even do it right in QML - nemomobile dbus plugin by default is on board.
Chat is a good idea, will most probably need it while merging.

Astaoth 2016-03-20 14:13

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501698)
Thanks for that. I think Michael only anticipated that vX.Y.X format, probably because everyone was stopped on 3.9.1. I'll fix that tonight for you.

Edit: version 0.5-2 should be able to cope with you now.

Thank you, it's working now. :)

I have a feature to suggest, if you have enough time. Do you think it will be possible to use the PT microphone during a phone call, and to have the call sound from the phone speaker ? It could be usefull when driving for example.

abranson 2016-03-20 14:42

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by Astaoth (Post 1501758)
Thank you, it's working now. :)

I have a feature to suggest, if you have enough time. Do you think it will be possible to use the PT microphone during a phone call, and to have the call sound from the phone speaker ? It could be usefull when driving for example.

Are you apps working too?

I know there's an microphone elements to the API, but I thought it was for voice commands instead of Blake's 7 style communications. I don't have a Pebble Time though, so I have no idea. I should think the Voice stuff will be on our shared roadmap with RockWork, but that's a way off yet I should think.

ruff 2016-03-20 20:06

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Ok, so with latest commit interface is somewhat usable.
I didn't touch yet DeveloperPage part (includes screenshot page), firmware update and side-load (import page). The rest is more or less usable. (Finally I've set my fav. apps from jolla :) )

I've noticed that rockpoold segfaults occasionally on reconnection (need to enable coredumps to debug)
Code:

[D] Pebble::onPebbleDisconnected:494 - Pebble disconnected: "Pebble Time C229"
[D] WatchConnection::scheduleReconnect:38 - Attempting to reconnect in 10 seconds
Segmentation fault

Another observation is that app_icon is mostly generic. I.e. I'm receiving mail notifications however icon is still generic. probably because the source is still system event hub, will need to monitor dbus attributes and probably perform certain remapping.

abranson 2016-03-20 21:01

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501773)
Ok, so with latest commit interface is somewhat usable.
I didn't touch yet DeveloperPage part (includes screenshot page), firmware update and side-load (import page). The rest is more or less usable. (Finally I've set my fav. apps from jolla :) )

Brilliant, that's a great start! Let's get it out there!

Quote:

Originally Posted by ruff (Post 1501773)
I've noticed that rockpoold segfaults occasionally on reconnection (need to enable coredumps to debug)
Code:

[D] Pebble::onPebbleDisconnected:494 - Pebble disconnected: "Pebble Time C229"
[D] WatchConnection::scheduleReconnect:38 - Attempting to reconnect in 10 seconds
Segmentation fault


Thanks, I'll keep an eye out. Stability is next priority I think.

Quote:

Originally Posted by ruff (Post 1501773)
Another observation is that app_icon is mostly generic. I.e. I'm receiving mail notifications however icon is still generic. probably because the source is still system event hub, will need to monitor dbus attributes and probably perform certain remapping.

I'm not sure what you mean here, do you mean the icons on the notifications on watch? The current mapping of notifications to pebble icons is in SailfishPlatform:: onNotification. That chooses an icon based on notification owner, category, android package etc.

ruff 2016-03-20 22:03

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501775)
I'm not sure what you mean here, do you mean the icons on the notifications on watch? The current mapping of notifications to pebble icons is in SailfishPlatform:: onNotification. That chooses an icon based on notification owner, category, android package etc.

No, I mean icons which are used for notifications filter, presumably they should represent local apps which are emitting notifications. So far I see 3 in the filter, gmail, email and twitter, but all of them are having dialog-question-symbolic icon.

MikeHG 2016-03-20 22:13

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
What version are we looking out for for preliminary UI?

edit - and also, where should we report bugs? abranson's github page?

Thanks - looking forward to this!

abranson 2016-03-20 22:28

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501781)
No, I mean icons which are used for notifications filter, presumably they should represent local apps which are emitting notifications. So far I see 3 in the filter, gmail, email and twitter, but all of them are having dialog-question-symbolic icon.

Ah I see. Looking at that list I should probably add a prefix to the Email notifications. I have an empty one in there that comes out with a web bookmark name...

Do you think you're ready for a PR? People are itching for a UI, and there's more than enough to be going on with.

Quote:

Originally Posted by MikeHG (Post 1501782)
What version are we looking out for for preliminary UI?

edit - and also, where should we report bugs? abranson's github page?

Thanks - looking forward to this!

Yeah, my Github would be a good place to collect bugs for now. I'll release a new version with the UI as soon as ruff sends me a pull request!

ruff 2016-03-20 22:53

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501783)
Do you think you're ready for a PR? People are itching for a UI, and there's more than enough to be going on with.

Yes, just made couple fixups and now submitting the PR. After that I cannot just squash the fixups pretending I didn't do those stupid mistakes :)

Astaoth 2016-03-20 23:13

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501760)
Are you apps working too?

Yes, all the apps work fine.


Quote:

Originally Posted by abranson (Post 1501760)
I know there's an microphone elements to the API, but I thought it was for voice commands instead of Blake's 7 style communications. I don't have a Pebble Time though, so I have no idea. I should think the Voice stuff will be on our shared roadmap with RockWork, but that's a way off yet I should think.

Indeed, it is made for voice command. I thought it was cool if we also have the possibility to use it as microphone during call, but I don't know if it is possible.

taixzo 2016-03-20 23:23

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
I would really like to be able to get the microphone working with Saera for voice recognition. I have a Pebble Time now so if microphone is added I'd be able to test it.

abranson 2016-03-21 09:06

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
0.6-1 released with ruff's UI!

I had to make a couple of changes. It wouldn't build unless I uncommented some of the includes in main.cpp. I also fixed the URLs in the pebblemodels image list to include a 'qrc:///' because they were originally relative in RockWork because they include the qml in the binary with the artwork. The pebble page looks really nice with the latest screenshot overlaid on a picture of your watch model.

I'd forgotten that I'd set the cover action to take a screenshot! That needs another icon.

ruff 2016-03-21 09:54

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Yes, there's no suitable cover icons for that, the only one which comes to my mind is https://sailfishos.org/develop/docs/...e-download.svg - which somehow reflects the fact you're requesting something from the device.
Re includes - also stumbled on it in the morning while attempting to package the rpm. I think I need to cleanup main.cpp even more, just need to make sure standard silica initialisation is suitable (which I'm sure is the case).

Edit: I mean suitable icons from the standard themed resources - i.e. ambient.

Bundyo 2016-03-21 09:59

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Yay, we have Settings! :)

Astaoth 2016-03-21 15:26

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Nice work ! Thank you very much !!
Everything work fine but one thing : the parameters of "Studio Clock". The menu (language, date format, and color selection) are not well displayed.

MikeHG 2016-03-21 18:12

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
It's a really great start - I like the feel of it the UI, and notifications and everything seem to work nicely. But unfortunately the search feature for Watchapps / Watchfaces doesn't seem to do anything for me at the moment (always returning the same results), meaning I can't get very far testing it.

Is everyone else seeing the same?

Using 0.6-1 (according to Warehouse - the app's own 'About' page still says 0.5-2 :), Pebble Time 3.9.1, Sailfish 2.0.1.7.

abranson 2016-03-21 18:37

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Yep, the search isn't working for me either. Also, some of the configuration screens just come up blank e.g. Misfit, and those that work won't let me change dropdown list values. If I tap them they get selection but don't present a choice of values.

Seeing the app store as a silica list instead of a web page is really something though. And the installation sequence is really solid.

ruff 2016-03-21 20:41

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Ok so it seems there's certain problem in how webkit works in silica, it tries to intercept elements like popups and lists mapping them to silica-based components, and hence would require separate handling for that to work properly. Trying to figure that out but on each line WebKit scream on me it's highly experimental and I shouldn't use internals :) Another possible solution would to attempt using browserWindow instead of WebView - the critical part though is an ability to intercept link clicks (to catch pebblejs://close call).

Will check the search, didn't try it yet actually.
Edit: well, the search works to me, but works a bit odd. I.e. I enter apps page, type snowy in the bottom docker, hit search - and it returns me plethora of weather and health apps, but of course not snowy. Also for the search some host with strange name (algloia.io) and hardcoded api key is used. which hints me it's some third-party search engine.
Edit2: oops, sorry, fixed :) one of those stupid mistakes.

Feathers McGraw 2016-03-21 21:50

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
The store UI is really slick! Thank you for all your hard work on this.

Exploring watch apps and faces for the first time on my PTS, really enjoying it :)

ruff 2016-03-22 07:37

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Ok, so after long night I realised what I ended up with is basically resembling smoku's (or javispedro's) AppConfigPage, so would probably just copy that page and underlying components from his repo.

abranson 2016-03-22 08:47

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501891)
Ok, so after long night I realised what I ended up with is basically resembling smoku's (or javispedro's) AppConfigPage, so would probably just copy that page and underlying components from his repo.

Ok, I'll have a go at that then. I'll cherry pick those other two fixes while I'm at it.

ruff 2016-03-22 09:20

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
I'm still contemplating on it, don't like the idea of having whole dialog for simple selection, trying to get simple floating listview instead. can PR those two though if you think they worth mainlining without delay.

abranson 2016-03-22 10:58

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501897)
I'm still contemplating on it, don't like the idea of having whole dialog for simple selection, trying to get simple floating listview instead. can PR those two though if you think they worth mainlining without delay.

Sure, but you can't beat using something that already works. I notice the pebbled one puts the appname in the header too. That's nice.

ruff 2016-03-22 11:58

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
yes, I've intentionally dropped that header thinking it's just useless screen-space consuming rudiment, usually one knows what is he configuring, and sometimes config screens are already full of various headers banners etc. so for actual controls need to scroll down.
Atm making offline cleanup of the developer page, trying to squeeze max from it. Conceptual problem there is ContentPicker which doesn't exist in public api, either need to grab it from internals or make own.
Will nail down settings in the evening once back to the sdk - either own or pebbled version.

abranson 2016-03-22 13:34

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501903)
yes, I've intentionally dropped that header thinking it's just useless screen-space consuming rudiment, usually one knows what is he configuring, and sometimes config screens are already full of various headers banners etc. so for actual controls need to scroll down.
Atm making offline cleanup of the developer page, trying to squeeze max from it. Conceptual problem there is ContentPicker which doesn't exist in public api, either need to grab it from internals or make own.
Will nail down settings in the evening once back to the sdk - either own or pebbled version.

Sounds good to me! We'll look forward to it.

ronny_b 2016-03-22 17:57

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Hello,

how do I finish the recovery mode of the Pebble Time Round? The firmware-check of rockpoold announces the following:

Code:

FirmwareDownloader::checkForNewFirmware:169 - fetching firmware info: "https://pebblefw.s3.amazonaws.com/pebble/spalding/release-v3.8/latest.json"
[D] FirmwareDownloader::checkForNewFirmware:175 - firmware info reply: "{
    "normal": {
        "friendlyVersion": "v3.10.1",
        "notes": "We've refined Health notifications, made emoji more fun, fixed bugs, and improved performance. Learn more at blog.getpebble.com.",
        "sha-256": "fbde84eed5d27abe314efb7bb7a99ca760b1adb27200ea095b3cc6be04541a44",
        "timestamp": 1457631509,
        "url": "https://pebblefw.s3.amazonaws.com/pebble/spalding/release-v3.8/pbz/Pebble-3.10.1-spalding.pbz"
    }
}
"
[D] FirmwareDownloader::checkForNewFirmware:186 - current: "v3.2-prf5" candidate: "v3.10.1"
[D] FirmwareDownloader::checkForNewFirmware:200 - Watch firmware is up to date
[D] Pebble::slotUpdateAvailableChanged:687 - update available false ""

Ronny


All times are GMT. The time now is 04:57.

vBulletin® Version 3.8.8