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)

Fuzzillogic 2016-03-31 14:32

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

Originally Posted by abranson (Post 1502528)
Ok, so if we implemented an account login in our version of the store client, it wouldn't be very useful to RockWork?

Depends on what actual purpose it has. Can apps do something useful with the actual store GUID? E.g., query the pebble store about the watch type? If not, a persistent generated GUID, would suffice. For added privacy, a GUID per app could be generated and used.

abranson 2016-03-31 14:49

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

Originally Posted by Fuzzillogic (Post 1502534)
Depends on what actual purpose it has. Can apps do something useful with the actual store GUID? E.g., query the pebble store about the watch type? If not, a persistent generated GUID, would suffice. For added privacy, a GUID per app could be generated and used.

I read in the docs that it's unique for every app anyway so you can't be tracked between apps.

Are we sure that apps aren't working because of this?

Fuzzillogic 2016-03-31 15:07

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
If the account token is useless beyond recognizing a user, I'd guess it shouldn't matter. The Pebble doc doesn't suggest otherwise. I.e., implementing the account system just for this seems pointless.

ruff 2016-03-31 15:27

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
There are two ways we can implement it - in the GUI only (make a login handhsake, obtain token, stream it down straight to the daemon via DBus - ugly and silica only.
Or we can do it right way - actually extend appstoreclient to do the login, add simple credentials entry dialog, add accountToken attribute to the pebble object, make it sync downwards via dbus to store in the libpebble/jskit. That way rokwork guys would just need to add their version of the simple credentials dialog. Worth checking with them though if they're planning to add this feature, it's quite an obvious miss.

ruff 2016-03-31 15:50

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
As per docs accountToken _may_ be used by apps to store user-specific data. It doesn't say it's an OAuth token which could be used by 3d parties to auth user against the store.

What it obviously carries back is user's store interaction: eg. which apps are marked by user as being liked. eg below is what I captured from my android client:
Code:

GET https://dev-portal.getpebble.com/api/users/me?access_token=<accessToken>
{
    "applications": [],                                                   
    "users": [
        {                                                                 
            "added_ids": [
                "566dc3ab7929075b2e000042",
                "550ccb556caaed4e0100006d",
                "540f7cafbc27450164000157"
            ],
            "applications": [],
            "flagged_ids": [],
            "href": "https://dev-portal.getpebble.com/api/users/<some uid>",
            "id": "<some uid>",
            "name": "ruff",
            "uid": "<some uid>",
            "voted_ids": []
        }
    ]
}

This data fetch doesn't require authentication - any request to the URL with valid accessToken returns my appstore details (I've tried private window fetching and curl). I'm not sure though what would be accountToken - accessToken, id or uid of the user.

To nail down app problem to the wrong usage of the accountToken we need to dump js code and see whether it attempts using it. But I still am thinking we should rather return empty string, since token is returned only when logged in to the store. Proper app then should suggest user to log into the store if it requires certain interaction with it using the token.

ruff 2016-03-31 16:12

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

Originally Posted by abranson (Post 1502535)
I read in the docs that it's unique for every app anyway so you can't be tracked between apps.

The question is really whether they are generated/stored by the appstore (and hence could be valid identifiers when interacting with the store) or they are really just unique per app/user so that if someone uses it - it will persist across phones/watches.

The docs are saying
Quote:

the account token of a user is identical across platforms and across all the developer's watchapps.
so it's not per app, it's really per user.

Quote:

Originally Posted by abranson (Post 1502535)
Are we sure that apps aren't working because of this?

Nope. Just a guess.

ruff 2016-03-31 16:21

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
oh wait, developer's watchapps, so it seems it's developer specific, has nothing to do with user. Red herring then.

ruff 2016-04-01 07:08

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Ok guys, so we need certain extensive testing of the gecko build to prove it worth merging - i.e. that despite fixed known bugs we didn't introduce some other.
Implemented functionality is similar to that of webkit - only itemSelector is implemented.

@abranson - would you prefer me posting it in the own openrepo or you can build and put in your with some tag (eg. gecko-test)?

abranson 2016-04-01 07:18

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

Originally Posted by ruff (Post 1502581)
Ok guys, so we need certain extensive testing of the gecko build to prove it worth merging - i.e. that despite fixed known bugs we didn't introduce some other.
Implemented functionality is similar to that of webkit - only itemSelector is implemented.

@abranson - would you prefer me posting it in the own openrepo or you can build and put in your with some tag (eg. gecko-test)?

Whichever is easier - if it's in yours then you can easily make new builds. A tag is probably essential anyway to avoid accidental upgradings.

I should do the same with the qtwebsockets branch. Is it easy to rename packages/rpms like that? How many places do you have to change it?

ruff 2016-04-01 07:39

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Oh, I forgot about warehouse, was thinking people are just pulling it down manually :) in that case simple file renaming would suffice.
I don't know how warehouse is working - whether it uses metadata from inside RPM (parsing) or from the file name. Let me look onto the warehouse code to understand what does it consider as an update and what as a separate side packet.
In general i think worth creating second repo - rockpool-beta with all these packages.

abranson 2016-04-01 07:58

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

Originally Posted by ruff (Post 1502585)
Oh, I forgot about warehouse, was thinking people are just pulling it down manually :) in that case simple file renaming would suffice.
I don't know how warehouse is working - whether it uses metadata from inside RPM (parsing) or from the file name. Let me look onto the warehouse code to understand what does it consider as an update and what as a separate side packet.
In general i think worth creating second repo - rockpool-beta with all these packages.

It definitely fetches that data out, because it can automatically update the changelog from the rpm metadata. I would have though that would have been a bonus feature from already fetching the package name and version info.

ruff 2016-04-01 10:18

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
ops, hold on a bit, while picking up changes for the commit I've dropped prefs pre-initialization so now keyboard is not working, let me return init prefs section

Edit: ok it wasn't prefs after all but rather variable size loader and missing vkb metrics hints. moving loader off the web view restored builtin vkb handling.

abranson 2016-04-01 17:19

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Another important thing about the account token - it'll be necessary to subscribe to app timeline events in the future.

ruff 2016-04-01 18:53

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Finally managed to package workable rpm. Another issue was that with gecko lipstick refuses to launch rockpool under booster/invoker - was segfaulting. So disabled invoker and booster, which theoretically would cause startup time penalty. But practically still works ok to me. No questions webkit was starting faster, but still, .5 and 1sec is two timesm but only half sec.

MikeHG 2016-04-02 11:56

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Settings pages seem to be working well (e.g. DIN Time is fine), but there's a minor problem with scrolling: if you zoom into the page then scroll to the right, you can't scroll back left again (it interprets the swipe as 'back'). Obviously you can work around that by zooming back out, but it's a little awkward.

Another face that seems to be misbehaving (on 'release' as well as beta): CobbleStyle. You can set this to display your current location under the time, but it doesn't do anything here. I can't get it to do anything on Android either, but I suspect that's more to do with the state of my old and bust-up tablet (I can't even get Google Maps to identify my location).

http://pastebin.com/aY1ynHFD

https://forums.getpebble.com/discuss...s-and-whistles

ruff 2016-04-03 13:44

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
As a followup on complains regarding small amount of apps in the shop I've changed appstore client behaviour. In original code there's hardcoded filtering of the apps which crosses out apps
a) with companion
b) not being in any colleciton.
That, together with GUI glitch blocking Next button limits amount of visible apps in the appstore.
So I've moved now all the filtering to the model proxy (where it supposed to be done) while appstore would just behave properly and parse all the data AppStore JSON API supplies.

Also I've added missing feature to show apps by categories (rather than collections).
In current version apps with companion are also shown (just as proof of concept) with a warning that it requires companion app.
App details also modified to prevent installation of the apps with companion.

This commit touches native code - which would requrie merging to the rockwork tree, but honestly i don't see any reason why this functionality shouldn't be in the client - it's on the web and andriod/ios clients.

GUI glitch (collapsable search docker) will be subject of another fix, together with which I want to either block (in the gui) or provide a menu oiption to hide/show apps with companion.
Does it make sense to show them at all? I.e. for information only basically, as you won't be able to install it anyway.

abranson 2016-04-03 14:45

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
I've got some bug fixes and compatibility to release, so I'll bundle this up with those and push out another release today.

ruff 2016-04-03 15:00

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
ok, let me then submit actual ui glitch fix, this commit is pure _feature_, doesnt include fix

abranson 2016-04-03 15:24

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Smashing, I'll wait for your PR.

ruff 2016-04-03 19:45

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Done.
Companion apps are still enabled (not filtered out). Based on feedback will either disable completely (appsFilterModel.filterCompanion=true) or create toggle menu option.
In the end probably would need to move to Settings page, to offload pulleys. Together with appstore fetch size (currently 20 items per page) and either push to the daemon or store locally (makes more sense for GUI-specific settings) for permanent storage.

abranson 2016-04-03 19:58

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
I think it's a good idea to keep the companion apps in with the warning, as people need to know the app they were looking for exists even if it's useless to them.

Like the switch between categories and collections. I think it would be clearer if the page title switched between 'App Categories' and 'App Collections' instead of the current 'Add new Watchapp'. What do you think?

Added a comment on the github - the search isn't working because the results have no grouping set.

ruff 2016-04-03 20:10

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
ehm, yes, that title is a bit silly. Would you prefer a new PR with title stuff in addition to search fix?
I mean to skip this single commit PR and add another one with title to the batch.

abranson 2016-04-03 20:11

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
I've not merged the search fix yet so feel free to change it

ruff 2016-04-03 20:20

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Since I already foresee complexities with translations I'll make it "Watchapps: Collections", "Watchapps: Categories", "Watchfaces: Collections" and "Watchfaces: Categories".
Although thinking to add a hook to block face cats - as there's only one - Faces. It may change in the future on the other hand.

abranson 2016-04-03 20:22

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Very good plan.

ruff 2016-04-03 20:46

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Ok, now it looks right, when times come it will be easy to reverse 09f8128 to enable cats for faces.

taixzo 2016-04-04 16:09

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
How do I connect it to a pebble? I have the app open and it just says "No Pebble smartwatches configured yet. Please connect your Pebble smartwatch using System settings." I have gone into System settings and paired with my Pebble, but the screen doesn't change.

abranson 2016-04-04 16:25

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
What's the name of your pebble on the bluetooth page?

taixzo 2016-04-04 19:15

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

Originally Posted by abranson (Post 1502792)
What's the name of your pebble on the bluetooth page?

Pebble Time ECD2.

abranson 2016-04-04 19:37

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
That should be picked up and connected to. Did you try a restart? Or you can disable then restart the service in the developer tools.

Otherwise, we really need to get the log harvesting working to make this easier :)

ruff 2016-04-04 19:50

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

Originally Posted by MikeHG (Post 1502671)
Another face that seems to be misbehaving (on 'release' as well as beta): CobbleStyle. You can set this to display your current location under the time, but it doesn't do anything here. I can't get it to do anything on Android either, but I suspect that's more to do with the state of my old and bust-up tablet (I can't even get Google Maps to identify my location).

Did you enter api key for the weather? It sets location in the weather update call, however that call returns at the very beginning when api key is empty. I.e. location is always updated in the weather update. And it's all the same for ios/android/rockpoold.
Edit: Moreover - it's processed in the weather callback - will be set only if weather data successfully received and parsed. So you cannot enter some fake string to pass key check phase, it will fail at second phase then - which is weather fetch.

ruff 2016-04-04 20:02

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
just for info - updated fmw to 3.11 - which proves fmw update works ok on PTR :)

abranson 2016-04-04 21:00

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

Originally Posted by ruff (Post 1502812)
just for info - updated fmw to 3.11 - which proves fmw update works ok on PTR :)

Ah good, I can see if I can get the update alert on the watch working. As far as I know it's never worked.

ruff 2016-04-04 21:37

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
I'll also add an alert to the gui. In original rockwork the fact that firmware update button is available on the main page was an indicator of the update, but since I've decided to enable it permanently (to be able to see fmw version) - this alerting method doesn't work. So I'll add an icon to the status field.

taixzo 2016-04-04 22:55

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

Originally Posted by abranson (Post 1502808)
That should be picked up and connected to. Did you try a restart? Or you can disable then restart the service in the developer tools.

Otherwise, we really need to get the log harvesting working to make this easier :)

Restarting the Jolla fixed it. Thanks - I really should have tried that before asking for help! :)

abranson 2016-04-05 06:27

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
There's a reason why that's the First Question of IT. The daemon does occasionally seem to get stuck in a stage where it can't connect though. That needs looking at.

MikeHG 2016-04-05 12:37

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

Originally Posted by ruff (Post 1502810)
Did you enter api key for the weather? ...

Thanks, it worked - it didn't occur to me that they'd be related (not actually that surprising now I think about it)

:)

MikeHG 2016-04-05 13:35

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

Originally Posted by Fuzzillogic (Post 1502406)
Is there a map app which works on Rockpool? Most of them seem to need a companion phone app. Maptastic starts, but it has never shown a map.

Nonetheless, it's amazing to see so many apps just work :)

This 'get back to' app now lets you enter a street address in its settings page (it says it needs a lat / long, but that's a lie), and will give you a heading / distance. Not a map, but it's a start...

https://forums.getpebble.com/discuss...navigation-app

ruff 2016-04-05 20:05

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Managed to fix gecko boostable launch (as always trivial mishap) so will publish now 0.8-3gecko2 rpm in beta - also with horizontal scrolling fix. And if there won't be any complain - should be ready to merge.

piggz 2016-04-06 20:39

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Ive tried the regular rockpool, and the new beta. I know the authenticator app cannot work yet, but thought i'd point out a difference in behaviour. In the regular app, no settings page is shown, in the beta, a page is show which says 're-open settings page for security reasons, ........'


All times are GMT. The time now is 19:34.

vBulletin® Version 3.8.8