Notices


Reply
Thread Tools
Posts: 287 | Thanked: 862 times | Joined on Dec 2015
#201
Originally Posted by ruff View Post
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.
Built and works well for me. Didn't see much difference from webkit, but I could see the failure page for Authenticator.

Progress on this: the authenticator app won't show the proper config page until it's finished loading its tokens from the watch, which it tries to trigger by sending an AppMessage: AMReadTokenList. This, and the subsequent AMSetUTCOffset messages both return NACK from the watch and no message comes back, so the settings page is never enabled. I assume there's something wrong with the messages being sent out, but I don't know what yet.

Last edited by abranson; 2016-04-06 at 23:10.
 

The Following 2 Users Say Thank You to abranson For This Useful Post:
Posts: 207 | Thanked: 482 times | Joined on Mar 2016
#202
Originally Posted by abranson View Post
This, and the subsequent AMSetUTCOffset messages both return NACK from the watch and no message comes back, so the settings page is never enabled. I assume there's something wrong with the messages being sent out, but I don't know what yet.
The only thing which comes to my mind is improper serialisation of the data which leads to big packet and consequent inbox overflow.
What's the app is it? Can try to debug dumping wireformat packets.
 

The Following 2 Users Say Thank You to ruff For This Useful Post:
Posts: 287 | Thanked: 862 times | Joined on Dec 2015
#203
Originally Posted by ruff View Post
The only thing which comes to my mind is improper serialisation of the data which leads to big packet and consequent inbox overflow.
What's the app is it? Can try to debug dumping wireformat packets.
It's this one:

https://apps-prod.getpebble.com/en_U...tion=watchapps

While you're at it, could you tell me what happens when you upload a watch language file? There's a hint in the pebbled source to upload it as a file called 'lang', but I'm getting nothing but NACKs here.
 

The Following 2 Users Say Thank You to abranson For This Useful Post:
Posts: 207 | Thanked: 482 times | Joined on Mar 2016
#204
Originally Posted by abranson View Post
It's this one:

https://apps-prod.getpebble.com/en_U...tion=watchapps
Am I doing it right?. Installed the app - it writes No Tokens. Went to settings - it says - Create new token.
So that's it? Till that stage it work for everyone I presume, and I need to store actual token to get to the issue?
 
Posts: 287 | Thanked: 862 times | Joined on Dec 2015
#205
Originally Posted by ruff View Post
Am I doing it right?. Installed the app - it writes No Tokens. Went to settings - it says - Create new token.
So that's it? Till that stage it work for everyone I presume, and I need to store actual token to get to the issue?
My settings pages always says 'Re-open settings page'. Never get to the 'create new token' bit. Both the attempted app messages in the JS app fail in the logs, so it fails to initialize. Would love to see what your logs say.
 
Posts: 207 | Thanked: 482 times | Joined on Mar 2016
#206
Ahha, it worked right after install, now when I relaunch it it also shows me "Re-open" stuff.
Now, restarted daemon (to debug) and again got new token page. something strange


Edit: Ok, so to me it works differently. When I click settings when app is not running I'm getting Re-open page.
But subsequent reuqest (swipe right, click settings again) opens Create New Token page.

Code:
[D] JSKitManager::startJsApp:216 - starting JS app "Authenticator" 
[D] JSKitManager::loadJsFile:187 - evaluating js file ":/jskitsetup.js" 
[D] JSKitManager::loadJsFile:195 - JS script evaluated 
[D] JSKitManager::loadJsFile:187 - evaluating js file ":/typedarray.js" 
[D] JSKitManager::loadJsFile:195 - JS script evaluated 
[D] JSKitManager::startJsApp:250 - loaded script "undefined" 
[D] JSKitPebble::invokeCallbacks:357 - invoking callback "ready" "function() { \[code\] }" 
[D] JSKitPebble::sendAppMessage:55 - sendAppMessage QMap(("AMReadTokenList", QVariant(int, 1) ) )  
[D] AppMsgManager::mapAppKeys:168 - Have appkeys: ("AMReadTokenList_Result", "AMSetTokenListOrder", "AMSetUTCOffset", "AMClearTokens", "AMReadTokenList_Finished", "AMReadTokenList", "AMDeleteToken", "AMCreateToken_Name", "AMUpdateToken", "AMCreateToken", "AMCreateToken_ID") 
[D] AppMsgManager::send:88 - Queueing appmsg 4 to QUuid("{da96ea4e-7793-4301-9d9a-68714a902730}") with dict QMap((6, QVariant(int, 1) ) )  
[D] JSKitManager::loadJsFile:187 - evaluating js file ":/cacheLocalStorage.js" 
[D] JSKitManager::loadJsFile:195 - JS script evaluated 
[D] JSKitManager::startJsApp:274 - going to launch config for QUuid("{da96ea4e-7793-4301-9d9a-68714a902730}") 
[D] JSKitManager::showConfiguration:50 - requesting configuration 
[D] JSKitPebble::invokeCallbacks:357 - invoking callback "showConfiguration" "function() { \[code\] }" 
[D] AppMsgManager::handlePushMessage:358 - Received appmsg PUSH from QUuid("{da96ea4e-7793-4301-9d9a-68714a902730}") with QMap((8, QVariant(int, 1) ) )  
[D] AppMsgManager::mapAppKeys:199 - checking app key 8 "AMReadTokenList_Finished" 
[D] AppMsgManager::handlePushMessage:361 - Mapped dict QMap(("AMReadTokenList_Finished", QVariant(int, 1) ) )  
[D] AppMsgManager::handlePushMessage:374 - ACKing transaction 1 
[D] JSKitManager::handleAppMessage:109 - handling app message QUuid("{da96ea4e-7793-4301-9d9a-68714a902730}") QMap(("AMReadTokenList_Finished", QVariant(int, 1) ) )  
[D] JSKitPebble::invokeCallbacks:357 - invoking callback "appmessage" "function() { \[code\] }" 
[D] JSKitManager::loadJsFile:187 - evaluating js file ":/cacheLocalStorage.js" 
[D] JSKitManager::loadJsFile:195 - JS script evaluated 
[D] AppMsgManager::handleAckMessage:404 - Got  ACK  to transaction 4 
[D] JSKitPebble::sendAppMessage:55 - sendAppMessage QMap(("AMSetUTCOffset", QVariant(double, 7200) ) )  
[D] AppMsgManager::mapAppKeys:168 - Have appkeys: ("AMReadTokenList_Result", "AMSetTokenListOrder", "AMSetUTCOffset", "AMClearTokens", "AMReadTokenList_Finished", "AMReadTokenList", "AMDeleteToken", "AMCreateToken_Name", "AMUpdateToken", "AMCreateToken", "AMCreateToken_ID") 
[D] AppMsgManager::send:88 - Queueing appmsg 5 to QUuid("{da96ea4e-7793-4301-9d9a-68714a902730}") with dict QMap((0, QVariant(double, 7200) ) )  
[D] AppMsgManager::handleAckMessage:404 - Got  ACK  to transaction 5
here it failed to open proper page, and then next attempt

Code:
[D] JSKitManager::showConfiguration:50 - requesting configuration 
[D] JSKitPebble::invokeCallbacks:357 - invoking callback "showConfiguration" "function() { \[code\] }"
worked ok.

Also added alert-box control to gecko bcz the page complains that my token is invalid (cannot decode token). Without alert box clicking on Add button does nothing. Only in logs it's seen that page attempts to raise alert (AsyncMessage: embed:alert)

But settings page accepted token Blah Blah. So now my authenticator can authenticate me for Blah
I've tried to enter OAuth token, seems it's for something different

Last edited by ruff; 2016-04-07 at 13:09.
 
Posts: 287 | Thanked: 862 times | Joined on Dec 2015
#207
Originally Posted by ruff View Post
here it failed to open proper page, and then next attempt

Code:
[D] JSKitManager::showConfiguration:50 - requesting configuration 
[D] JSKitPebble::invokeCallbacks:357 - invoking callback "showConfiguration" "function() { \[code\] }"
worked ok.
That's normal - the AMReadTokenList_Finished message has to be received by the watch *before* the ShowConfiguration function is called, otherwise it shows you the re-open page. You're meant to start the app beforehand, which is what that page tells you to do. The difference between your log and mine is that you're getting a response message back, while I'm just getting a NACK:

Code:
[D] JSKitManager::startJsApp:216 - starting JS app "Authenticator"
[D] JSKitManager::loadJsFile:187 - evaluating js file ":/jskitsetup.js"
[D] JSKitManager::loadJsFile:195 - JS script evaluated
[D] JSKitManager::loadJsFile:187 - evaluating js file ":/typedarray.js"
[D] JSKitManager::loadJsFile:195 - JS script evaluated
[D] JSKitManager::startJsApp:250 - loaded script "undefined"
[D] JSKitPebble::invokeCallbacks:357 - invoking callback "ready" "function() { \[code\] }"
[D] JSKitPebble::sendAppMessage:55 - sendAppMessage QMap(("AMReadTokenList", QVariant(int, 1) ) )
[D] AppMsgManager::mapAppKeys:168 - Have appkeys: ("AMReadTokenList", "AMClearTokens", "AMReadTokenList_Finished", "AMCreateToken_ID", "AMReadTokenList_Result", "AMSetUTCOffset", "AMDeleteToken", "AMUpdateToken", "AMCreateToken", "AMCreateToken_Name", "AMSetTokenListOrder")
[D] AppMsgManager::mapAppKeys:172 - "AMReadTokenList"  found as  6  for value  QVariant(int, 1)
[D] AppMsgManager::send:88 - Queueing appmsg 4 to QUuid("{da96ea4e-7793-4301-9d9a-68714a902730}") with dict QMap((6, QVariant(int, 1) ) )
[D] JSKitManager::loadJsFile:187 - evaluating js file ":/cacheLocalStorage.js"
[D] JSKitManager::loadJsFile:195 - JS script evaluated
[D] AppMsgManager::handleAckMessage:405 - Got  NACK  to transaction 4
[D] JSKitConsole::log:61 - "AM transmit failed: NACK from watch, continuing"
[D] JSKitPebble::sendAppMessage:55 - sendAppMessage QMap(("AMSetUTCOffset", QVariant(double, 7200) ) )
[D] AppMsgManager::mapAppKeys:168 - Have appkeys: ("AMReadTokenList", "AMClearTokens", "AMReadTokenList_Finished", "AMCreateToken_ID", "AMReadTokenList_Result", "AMSetUTCOffset", "AMDeleteToken", "AMUpdateToken", "AMCreateToken", "AMCreateToken_Name", "AMSetTokenListOrder")
[D] AppMsgManager::mapAppKeys:172 - "AMSetUTCOffset"  found as  0  for value  QVariant(double, 7200)
[D] AppMsgManager::send:88 - Queueing appmsg 5 to QUuid("{da96ea4e-7793-4301-9d9a-68714a902730}") with dict QMap((0, QVariant(double, 7200) ) )
[D] AppMsgManager::handleAckMessage:405 - Got  NACK  to transaction 5
[D] JSKitConsole::log:61 - "AM transmit failed: NACK from watch, continuing"
I'm thinking that it might be a hardware thing - I have a classic and you're on a time round which may have some extra token capability. I think if we release the gecko version, people can test and we'll know for sure.
 

The Following 2 Users Say Thank You to abranson For This Useful Post:
Posts: 207 | Thanked: 482 times | Joined on Mar 2016
#208
Ok, so I'm merging then gecko+wip(notifications) into the master and raising PR?
 

The Following 2 Users Say Thank You to ruff For This Useful Post:
Posts: 287 | Thanked: 862 times | Joined on Dec 2015
#209
Let's do it! The gecko dependency is really unnoticeable, and is probably best switched while we're still calling it beta!

It'd be nice to do the language thing before we call it 1.0, but not necessary. A few more watchapp debugs and I think I'll do it. We already support a lot more than pebbled and rockwork do.
 

The Following 2 Users Say Thank You to abranson For This Useful Post:
Posts: 207 | Thanked: 482 times | Joined on Mar 2016
#210
yeah, translations is exactly what I've spent last several hours for.
Shouldn't we include websockets to 1.0? I.e. full pebble jskit support.
Ah, actually it works (translation) just not under debugger. Normal icon tap launches translated app (in sdk it's always "C")

Last edited by ruff; 2016-04-07 at 16:54.
 

The Following User Says Thank You to ruff For This Useful Post:
Reply

Tags
pebble, smartwatch


 
Forum Jump


All times are GMT. The time now is 22:25.