@moddable/pebbleproxy 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/proxy.js +52 -10
package/package.json
CHANGED
package/proxy.js
CHANGED
|
@@ -73,7 +73,7 @@ function appMessageReceived(e) {
|
|
|
73
73
|
function readyReceived(e) {
|
|
74
74
|
if (state.log)
|
|
75
75
|
console.log("readyReceived")
|
|
76
|
-
|
|
76
|
+
sendAppMessage({
|
|
77
77
|
[READY_MESSAGE]: PROXY_VERSION
|
|
78
78
|
});
|
|
79
79
|
}
|
|
@@ -199,7 +199,7 @@ function httpMessage(id, e) {
|
|
|
199
199
|
}
|
|
200
200
|
request.xhr.onerror = function () {
|
|
201
201
|
console.log("ON error!!!!")
|
|
202
|
-
|
|
202
|
+
sendAppMessage({
|
|
203
203
|
[HTTP_BASE + 1]: request.id,
|
|
204
204
|
[HTTP_BASE + 9]: -1 // done. failure.
|
|
205
205
|
});
|
|
@@ -266,7 +266,7 @@ function wsMessage(id, e) {
|
|
|
266
266
|
request.state = "connected";
|
|
267
267
|
request.messages = [];
|
|
268
268
|
request.messages.sending = false;
|
|
269
|
-
|
|
269
|
+
sendAppMessage({
|
|
270
270
|
[WS_BASE + 1]: request.id,
|
|
271
271
|
[WS_BASE + 2]: 0 // connected. success.
|
|
272
272
|
});
|
|
@@ -275,7 +275,7 @@ function wsMessage(id, e) {
|
|
|
275
275
|
if (state.log)
|
|
276
276
|
console.log("websocket connection failed");
|
|
277
277
|
request.state = "error";
|
|
278
|
-
|
|
278
|
+
sendAppMessage({
|
|
279
279
|
[WS_BASE + 1]: request.id,
|
|
280
280
|
[WS_BASE + 3]: -1 // disconnected error.
|
|
281
281
|
});
|
|
@@ -391,6 +391,47 @@ function wsMessage(id, e) {
|
|
|
391
391
|
}
|
|
392
392
|
}
|
|
393
393
|
|
|
394
|
+
const sendQueue = [];
|
|
395
|
+
let sending = false;
|
|
396
|
+
|
|
397
|
+
function sendAppMessageSuccess() {
|
|
398
|
+
// console.log("sendAppMessageSuccess");
|
|
399
|
+
sending = false;
|
|
400
|
+
const sent = sendQueue.shift();
|
|
401
|
+
if (sent.success)
|
|
402
|
+
sent.success();
|
|
403
|
+
if (!sending && sendQueue.length) {
|
|
404
|
+
// console.log("Send from success");
|
|
405
|
+
sending = true;
|
|
406
|
+
Pebble.sendAppMessage(sendQueue[0].message, sendAppMessageSuccess, sendAppMessageFailure);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
function sendAppMessageFailure() {
|
|
411
|
+
// console.log("sendAppMessageFailure");
|
|
412
|
+
sending = false;
|
|
413
|
+
const sent = sendQueue.shift();
|
|
414
|
+
if (sent.failure)
|
|
415
|
+
sent.failure();
|
|
416
|
+
if (!sending && sendQueue.length) {
|
|
417
|
+
// console.log("Send from failure");
|
|
418
|
+
sending = true;
|
|
419
|
+
Pebble.sendAppMessage(sendQueue[0].message, sendAppMessageSuccess, sendAppMessageFailure);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
function sendAppMessage(message, success, failure) {
|
|
424
|
+
// console.log("sendAppMessage");
|
|
425
|
+
sendQueue.push({message, success, failure});
|
|
426
|
+
if (sending)
|
|
427
|
+
return;
|
|
428
|
+
|
|
429
|
+
// console.log("Send initial");
|
|
430
|
+
sending = true;
|
|
431
|
+
Pebble.sendAppMessage(sendQueue[0].message, sendAppMessageSuccess, sendAppMessageFailure);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
|
|
394
435
|
function sendRequestMessage(request) {
|
|
395
436
|
if ("http" === request.kind)
|
|
396
437
|
sendRequestMessageHTTP(request);
|
|
@@ -402,7 +443,7 @@ function sendRequestMessage(request) {
|
|
|
402
443
|
|
|
403
444
|
function sendRequestMessageHTTP(request)
|
|
404
445
|
{
|
|
405
|
-
|
|
446
|
+
sendAppMessage(
|
|
406
447
|
request.messages.shift(),
|
|
407
448
|
function () {
|
|
408
449
|
if (request.messages.length)
|
|
@@ -411,9 +452,9 @@ function sendRequestMessageHTTP(request)
|
|
|
411
452
|
request.state = "done";
|
|
412
453
|
},
|
|
413
454
|
function () {
|
|
414
|
-
console.log("message send FAILED");
|
|
455
|
+
console.log("http message send FAILED");
|
|
415
456
|
|
|
416
|
-
|
|
457
|
+
sendAppMessage({
|
|
417
458
|
[HTTP_BASE + 1]: request.id,
|
|
418
459
|
[HTTP_BASE + 9]: -1 // done. failure.
|
|
419
460
|
});
|
|
@@ -422,7 +463,7 @@ function sendRequestMessageHTTP(request)
|
|
|
422
463
|
}
|
|
423
464
|
|
|
424
465
|
function sendRequestMessageWS(request) {
|
|
425
|
-
|
|
466
|
+
sendAppMessage(
|
|
426
467
|
request.messages.shift(),
|
|
427
468
|
function () {
|
|
428
469
|
if (request.messages.length)
|
|
@@ -431,9 +472,9 @@ function sendRequestMessageWS(request) {
|
|
|
431
472
|
request.messages.sending = false;
|
|
432
473
|
},
|
|
433
474
|
function (e) {
|
|
434
|
-
console.log("message send FAILED " + JSON.stringify(e));
|
|
475
|
+
console.log("ws message send FAILED " + JSON.stringify(e));
|
|
435
476
|
|
|
436
|
-
|
|
477
|
+
sendAppMessage({
|
|
437
478
|
[WS_BASE + 1]: request.id,
|
|
438
479
|
[WS_BASE + 3]: -1 // done. failure.
|
|
439
480
|
});
|
|
@@ -486,6 +527,7 @@ function stringToArray(str) {
|
|
|
486
527
|
const state = {
|
|
487
528
|
appMessageReceived,
|
|
488
529
|
readyReceived,
|
|
530
|
+
sendAppMessage,
|
|
489
531
|
log: false
|
|
490
532
|
};
|
|
491
533
|
|