@aws-amplify/pubsub 4.4.7 → 4.4.8-next.2

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/aws-amplify-pubsub.js +318 -8
  3. package/dist/aws-amplify-pubsub.js.map +1 -1
  4. package/dist/aws-amplify-pubsub.min.js +2 -2
  5. package/dist/aws-amplify-pubsub.min.js.map +1 -1
  6. package/lib/Providers/AWSAppSyncRealTimeProvider/constants.d.ts +4 -0
  7. package/lib/Providers/AWSAppSyncRealTimeProvider/constants.js +4 -0
  8. package/lib/Providers/AWSAppSyncRealTimeProvider/constants.js.map +1 -1
  9. package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +3 -0
  10. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +34 -5
  11. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  12. package/lib/index.d.ts +2 -0
  13. package/lib/index.js +3 -0
  14. package/lib/index.js.map +1 -1
  15. package/lib/types/index.d.ts +11 -0
  16. package/lib/types/index.js +36 -0
  17. package/lib/types/index.js.map +1 -1
  18. package/lib/utils/ConnectionStateMonitor.d.ts +40 -0
  19. package/lib/utils/ConnectionStateMonitor.js +159 -0
  20. package/lib/utils/ConnectionStateMonitor.js.map +1 -0
  21. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/constants.d.ts +4 -0
  22. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/constants.js +4 -0
  23. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/constants.js.map +1 -1
  24. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +3 -0
  25. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +36 -7
  26. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  27. package/lib-esm/index.d.ts +2 -0
  28. package/lib-esm/index.js +2 -0
  29. package/lib-esm/index.js.map +1 -1
  30. package/lib-esm/types/index.d.ts +11 -0
  31. package/lib-esm/types/index.js +36 -0
  32. package/lib-esm/types/index.js.map +1 -1
  33. package/lib-esm/utils/ConnectionStateMonitor.d.ts +40 -0
  34. package/lib-esm/utils/ConnectionStateMonitor.js +154 -0
  35. package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -0
  36. package/package.json +5 -5
  37. package/src/Providers/AWSAppSyncRealTimeProvider/constants.ts +5 -0
  38. package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +56 -4
  39. package/src/index.ts +3 -0
  40. package/src/types/index.ts +36 -0
  41. package/src/utils/ConnectionStateMonitor.ts +191 -0
@@ -80,3 +80,7 @@ export declare const START_ACK_TIMEOUT = 15000;
80
80
  * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message
81
81
  */
82
82
  export declare const DEFAULT_KEEP_ALIVE_TIMEOUT: number;
83
+ /**
84
+ * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
85
+ */
86
+ export declare const DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT: number;
@@ -87,4 +87,8 @@ exports.START_ACK_TIMEOUT = 15000;
87
87
  * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message
88
88
  */
89
89
  exports.DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;
90
+ /**
91
+ * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
92
+ */
93
+ exports.DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;
90
94
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/Providers/AWSAppSyncRealTimeProvider/constants.ts"],"names":[],"mappings":";;AAAa,QAAA,YAAY,GAAG,IAAI,CAAC;AAEpB,QAAA,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnD,IAAY,aAmDX;AAnDD,WAAY,aAAa;IACxB;;;OAGG;IACH,wDAAuC,CAAA;IACvC;;;OAGG;IACH,0DAAyC,CAAA;IACzC;;;OAGG;IACH,sDAAqC,CAAA;IACrC;;;OAGG;IACH,oCAAmB,CAAA;IACnB;;;OAGG;IACH,4CAA2B,CAAA;IAC3B;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,iDAAgC,CAAA;IAChC;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,0CAAyB,CAAA;IACzB;;;OAGG;IACH,oCAAmB,CAAA;AACpB,CAAC,EAnDW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAmDxB;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC9B,mEAAO,CAAA;IACP,uEAAS,CAAA;IACT,iEAAM,CAAA;AACP,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACxB,qDAAM,CAAA;IACN,mDAAK,CAAA;IACL,6DAAU,CAAA;AACX,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAEY,QAAA,cAAc,GAAG,CAC7B,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU;IAChE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC,CAAC,mBAAmB,CACZ,CAAC;AAEC,QAAA,4BAA4B,GAAG;IAC3C,MAAM,EAAE,mCAAmC;IAC3C,kBAAkB,EAAE,SAAS;IAC7B,cAAc,EAAE,iCAAiC;CACjD,CAAC;AAEF;;GAEG;AACU,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACU,QAAA,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACU,QAAA,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/Providers/AWSAppSyncRealTimeProvider/constants.ts"],"names":[],"mappings":";;AAAa,QAAA,YAAY,GAAG,IAAI,CAAC;AAEpB,QAAA,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnD,IAAY,aAmDX;AAnDD,WAAY,aAAa;IACxB;;;OAGG;IACH,wDAAuC,CAAA;IACvC;;;OAGG;IACH,0DAAyC,CAAA;IACzC;;;OAGG;IACH,sDAAqC,CAAA;IACrC;;;OAGG;IACH,oCAAmB,CAAA;IACnB;;;OAGG;IACH,4CAA2B,CAAA;IAC3B;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,iDAAgC,CAAA;IAChC;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,0CAAyB,CAAA;IACzB;;;OAGG;IACH,oCAAmB,CAAA;AACpB,CAAC,EAnDW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAmDxB;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC9B,mEAAO,CAAA;IACP,uEAAS,CAAA;IACT,iEAAM,CAAA;AACP,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACxB,qDAAM,CAAA;IACN,mDAAK,CAAA;IACL,6DAAU,CAAA;AACX,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAEY,QAAA,cAAc,GAAG,CAC7B,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU;IAChE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC,CAAC,mBAAmB,CACZ,CAAC;AAEC,QAAA,4BAA4B,GAAG;IAC3C,MAAM,EAAE,mCAAmC;IAC3C,kBAAkB,EAAE,SAAS;IAC7B,cAAc,EAAE,iCAAiC;CACjD,CAAC;AAEF;;GAEG;AACU,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACU,QAAA,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACU,QAAA,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD;;GAEG;AACU,QAAA,gCAAgC,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -30,8 +30,11 @@ export declare class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
30
30
  private socketStatus;
31
31
  private keepAliveTimeoutId?;
32
32
  private keepAliveTimeout;
33
+ private keepAliveAlertTimeoutId?;
33
34
  private subscriptionObserverMap;
34
35
  private promiseArray;
36
+ private readonly connectionStateMonitor;
37
+ constructor(options?: ProviderOptions);
35
38
  getNewWebSocket(url: any, protocol: any): WebSocket;
36
39
  getProviderName(): string;
37
40
  newClient(): Promise<any>;
@@ -109,6 +109,7 @@ var auth_1 = __importDefault(require("@aws-amplify/auth"));
109
109
  var PubSubProvider_1 = require("../PubSubProvider");
110
110
  var index_1 = require("../../index");
111
111
  var constants_1 = require("./constants");
112
+ var ConnectionStateMonitor_1 = require("../../utils/ConnectionStateMonitor");
112
113
  var logger = new core_1.Logger('AWSAppSyncRealTimeProvider');
113
114
  var dispatchApiEvent = function (event, data, message) {
114
115
  core_1.Hub.dispatch('api', { event: event, data: data, message: message }, 'PubSub', constants_1.AMPLIFY_SYMBOL);
@@ -117,12 +118,21 @@ var standardDomainPattern = /^https:\/\/\w{26}\.appsync\-api\.\w{2}(?:(?:\-\w{2,
117
118
  var customDomainPath = '/realtime';
118
119
  var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
119
120
  __extends(AWSAppSyncRealTimeProvider, _super);
120
- function AWSAppSyncRealTimeProvider() {
121
- var _this = _super !== null && _super.apply(this, arguments) || this;
121
+ function AWSAppSyncRealTimeProvider(options) {
122
+ if (options === void 0) { options = {}; }
123
+ var _this = _super.call(this, options) || this;
122
124
  _this.socketStatus = constants_1.SOCKET_STATUS.CLOSED;
123
125
  _this.keepAliveTimeout = constants_1.DEFAULT_KEEP_ALIVE_TIMEOUT;
124
126
  _this.subscriptionObserverMap = new Map();
125
127
  _this.promiseArray = [];
128
+ _this.connectionStateMonitor = new ConnectionStateMonitor_1.ConnectionStateMonitor();
129
+ // Monitor the connection state and pass changes along to Hub
130
+ _this.connectionStateMonitor.connectionStateObservable.subscribe(function (ConnectionState) {
131
+ dispatchApiEvent(index_1.CONNECTION_STATE_CHANGE, {
132
+ provider: _this,
133
+ connectionState: ConnectionState,
134
+ }, "Connection state is " + ConnectionState);
135
+ });
126
136
  return _this;
127
137
  }
128
138
  AWSAppSyncRealTimeProvider.prototype.getNewWebSocket = function (url, protocol) {
@@ -169,6 +179,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
169
179
  __assign({}, new graphql_1.GraphQLError(index_1.CONTROL_MSG.REALTIME_SUBSCRIPTION_INIT_ERROR + ": " + err)),
170
180
  ],
171
181
  });
182
+ _this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
172
183
  observer.complete();
173
184
  });
174
185
  return function () { return __awaiter(_this, void 0, void 0, function () {
@@ -270,6 +281,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
270
281
  _k.label = 3;
271
282
  case 3:
272
283
  _k.trys.push([3, 5, , 6]);
284
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.OPENING_CONNECTION);
273
285
  return [4 /*yield*/, this._initializeWebSocketConnection({
274
286
  apiKey: apiKey,
275
287
  appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,
@@ -284,6 +296,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
284
296
  err_2 = _k.sent();
285
297
  logger.debug({ err: err_2 });
286
298
  message = (_b = err_2['message']) !== null && _b !== void 0 ? _b : '';
299
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
287
300
  observer.error({
288
301
  errors: [
289
302
  __assign({}, new graphql_1.GraphQLError(index_1.CONTROL_MSG.CONNECTION_FAILED + ": " + message)),
@@ -379,14 +392,19 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
379
392
  this.socketStatus = constants_1.SOCKET_STATUS.CLOSED;
380
393
  return;
381
394
  }
395
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSING_CONNECTION);
382
396
  if (this.awsRealTimeSocket.bufferedAmount > 0) {
383
397
  // Still data on the WebSocket
384
398
  setTimeout(this._closeSocketIfRequired.bind(this), 1000);
385
399
  }
386
400
  else {
387
401
  logger.debug('closing WebSocket...');
388
- if (this.keepAliveTimeoutId)
402
+ if (this.keepAliveTimeoutId) {
389
403
  clearTimeout(this.keepAliveTimeoutId);
404
+ }
405
+ if (this.keepAliveAlertTimeoutId) {
406
+ clearTimeout(this.keepAliveAlertTimeoutId);
407
+ }
390
408
  var tempSocket = this.awsRealTimeSocket;
391
409
  // Cleaning callbacks to avoid race condition, socket still exists
392
410
  tempSocket.onclose = null;
@@ -394,9 +412,11 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
394
412
  tempSocket.close(1000);
395
413
  this.awsRealTimeSocket = undefined;
396
414
  this.socketStatus = constants_1.SOCKET_STATUS.CLOSED;
415
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
397
416
  }
398
417
  };
399
418
  AWSAppSyncRealTimeProvider.prototype._handleIncomingSubscriptionMessage = function (message) {
419
+ var _this = this;
400
420
  logger.debug("subscription message from AWS AppSync RealTime: " + message.data);
401
421
  var _a = JSON.parse(message.data), _b = _a.id, id = _b === void 0 ? '' : _b, payload = _a.payload, type = _a.type;
402
422
  var _c = this.subscriptionObserverMap.get(id) || {}, _d = _c.observer, observer = _d === void 0 ? null : _d, _e = _c.query, query = _e === void 0 ? '' : _e, _f = _c.variables, variables = _f === void 0 ? {} : _f, startAckTimeoutId = _c.startAckTimeoutId, subscriptionReadyCallback = _c.subscriptionReadyCallback, subscriptionFailedCallback = _c.subscriptionFailedCallback;
@@ -430,13 +450,19 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
430
450
  subscriptionFailedCallback: subscriptionFailedCallback,
431
451
  });
432
452
  }
433
- // TODO: emit event on hub but it requires to store the id first
453
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CONNECTION_ESTABLISHED);
434
454
  return;
435
455
  }
436
456
  if (type === constants_1.MESSAGE_TYPES.GQL_CONNECTION_KEEP_ALIVE) {
437
457
  if (this.keepAliveTimeoutId)
438
458
  clearTimeout(this.keepAliveTimeoutId);
439
- this.keepAliveTimeoutId = setTimeout(this._errorDisconnect.bind(this, index_1.CONTROL_MSG.TIMEOUT_DISCONNECT), this.keepAliveTimeout);
459
+ if (this.keepAliveAlertTimeoutId)
460
+ clearTimeout(this.keepAliveAlertTimeoutId);
461
+ this.keepAliveTimeoutId = setTimeout(function () { return _this._errorDisconnect(index_1.CONTROL_MSG.TIMEOUT_DISCONNECT); }, this.keepAliveTimeout);
462
+ this.keepAliveAlertTimeoutId = setTimeout(function () {
463
+ _this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.KEEP_ALIVE_MISSED);
464
+ }, constants_1.DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT);
465
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.KEEP_ALIVE);
440
466
  return;
441
467
  }
442
468
  if (type === constants_1.MESSAGE_TYPES.GQL_ERROR) {
@@ -477,6 +503,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
477
503
  });
478
504
  this.subscriptionObserverMap.clear();
479
505
  if (this.awsRealTimeSocket) {
506
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
480
507
  this.awsRealTimeSocket.close();
481
508
  }
482
509
  this.socketStatus = constants_1.SOCKET_STATUS.CLOSED;
@@ -618,6 +645,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
618
645
  logger.debug("WebSocket connection error");
619
646
  };
620
647
  newSocket.onclose = function () {
648
+ _this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CONNECTION_FAILED);
621
649
  rej(new Error('Connection handshake error'));
622
650
  };
623
651
  newSocket.onopen = function () {
@@ -675,6 +703,7 @@ var AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {
675
703
  }
676
704
  function checkAckOk(ackOk) {
677
705
  if (!ackOk) {
706
+ this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CONNECTION_FAILED);
678
707
  rej(new Error("Connection timeout: ack from AWSRealTime was not received on " + constants_1.CONNECTION_INIT_TIMEOUT + " ms"));
679
708
  }
680
709
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Providers/AWSAppSyncRealTimeProvider/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Providers/AWSAppSyncRealTimeProvider/index.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -7,6 +7,8 @@ declare enum CONTROL_MSG {
7
7
  SUBSCRIPTION_ACK = "Subscription ack",
8
8
  TIMEOUT_DISCONNECT = "Timeout disconnect"
9
9
  }
10
+ export declare const CONNECTION_STATE_CHANGE = "ConnectionStateChange";
11
+ export { ConnectionState } from './types';
10
12
  export { PubSub, CONTROL_MSG };
11
13
  /**
12
14
  * @deprecated use named import
package/lib/index.js CHANGED
@@ -27,6 +27,9 @@ var CONTROL_MSG;
27
27
  CONTROL_MSG["TIMEOUT_DISCONNECT"] = "Timeout disconnect";
28
28
  })(CONTROL_MSG || (CONTROL_MSG = {}));
29
29
  exports.CONTROL_MSG = CONTROL_MSG;
30
+ exports.CONNECTION_STATE_CHANGE = 'ConnectionStateChange';
31
+ var types_1 = require("./types");
32
+ exports.ConnectionState = types_1.ConnectionState;
30
33
  /**
31
34
  * @deprecated use named import
32
35
  */
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;GAWG;AACH,mCAAkC;AAYzB,iBAZA,eAAM,CAYA;AAVf,iCAA4B;AAE5B,IAAK,WAMJ;AAND,WAAK,WAAW;IACf,sDAAuC,CAAA;IACvC,sDAAuC,CAAA;IACvC,4FAA6E,CAAA;IAC7E,oDAAqC,CAAA;IACrC,wDAAyC,CAAA;AAC1C,CAAC,EANI,WAAW,KAAX,WAAW,QAMf;AAEgB,kCAAW;AAE5B;;GAEG;AACH,kBAAe,eAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;GAWG;AACH,mCAAkC;AAezB,iBAfA,eAAM,CAeA;AAbf,iCAA4B;AAE5B,IAAK,WAMJ;AAND,WAAK,WAAW;IACf,sDAAuC,CAAA;IACvC,sDAAuC,CAAA;IACvC,4FAA6E,CAAA;IAC7E,oDAAqC,CAAA;IACrC,wDAAyC,CAAA;AAC1C,CAAC,EANI,WAAW,KAAX,WAAW,QAMf;AAKgB,kCAAW;AAHf,QAAA,uBAAuB,GAAG,uBAAuB,CAAC;AAC/D,iCAA0C;AAAjC,kCAAA,eAAe,CAAA;AAIxB;;GAEG;AACH,kBAAe,eAAM,CAAC"}
@@ -6,3 +6,14 @@ export interface SubscriptionObserver<T> {
6
6
  error(errorValue: any): void;
7
7
  complete(): void;
8
8
  }
9
+ /** @enum {string} */
10
+ export declare enum ConnectionState {
11
+ Connected = "Connected",
12
+ ConnectedPendingNetwork = "ConnectedPendingNetwork",
13
+ ConnectionDisrupted = "ConnectionDisrupted",
14
+ ConnectionDisruptedPendingNetwork = "ConnectionDisruptedPendingNetwork",
15
+ Connecting = "Connecting",
16
+ ConnectedPendingDisconnect = "ConnectedPendingDisconnect",
17
+ Disconnected = "Disconnected",
18
+ ConnectedPendingKeepAlive = "ConnectedPendingKeepAlive"
19
+ }
@@ -1,3 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** @enum {string} */
4
+ var ConnectionState;
5
+ (function (ConnectionState) {
6
+ /*
7
+ * The connection is alive and healthy
8
+ */
9
+ ConnectionState["Connected"] = "Connected";
10
+ /*
11
+ * The connection is alive, but the connection is offline
12
+ */
13
+ ConnectionState["ConnectedPendingNetwork"] = "ConnectedPendingNetwork";
14
+ /*
15
+ * The connection has been disconnected while in use
16
+ */
17
+ ConnectionState["ConnectionDisrupted"] = "ConnectionDisrupted";
18
+ /*
19
+ * The connection has been disconnected and the network is offline
20
+ */
21
+ ConnectionState["ConnectionDisruptedPendingNetwork"] = "ConnectionDisruptedPendingNetwork";
22
+ /*
23
+ * The connection is in the process of connecting
24
+ */
25
+ ConnectionState["Connecting"] = "Connecting";
26
+ /*
27
+ * The connection is not in use and is being disconnected
28
+ */
29
+ ConnectionState["ConnectedPendingDisconnect"] = "ConnectedPendingDisconnect";
30
+ /*
31
+ * The connection is not in use and has been disconnected
32
+ */
33
+ ConnectionState["Disconnected"] = "Disconnected";
34
+ /*
35
+ * The connection is alive, but a keep alive message has been missed
36
+ */
37
+ ConnectionState["ConnectedPendingKeepAlive"] = "ConnectedPendingKeepAlive";
38
+ })(ConnectionState = exports.ConnectionState || (exports.ConnectionState = {}));
3
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;AAsBA,qBAAqB;AACrB,IAAY,eAiCX;AAjCD,WAAY,eAAe;IAC1B;;OAEG;IACH,0CAAuB,CAAA;IACvB;;OAEG;IACH,sEAAmD,CAAA;IACnD;;OAEG;IACH,8DAA2C,CAAA;IAC3C;;OAEG;IACH,0FAAuE,CAAA;IACvE;;OAEG;IACH,4CAAyB,CAAA;IACzB;;OAEG;IACH,4EAAyD,CAAA;IACzD;;OAEG;IACH,gDAA6B,CAAA;IAC7B;;OAEG;IACH,0EAAuD,CAAA;AACxD,CAAC,EAjCW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAiC1B"}
@@ -0,0 +1,40 @@
1
+ import Observable from 'zen-observable-ts';
2
+ import { ConnectionState } from '../index';
3
+ declare type LinkedConnectionState = 'connected' | 'disconnected';
4
+ declare type LinkedHealthState = 'healthy' | 'unhealthy';
5
+ declare type LinkedConnectionStates = {
6
+ networkState: LinkedConnectionState;
7
+ connectionState: LinkedConnectionState | 'connecting';
8
+ intendedConnectionState: LinkedConnectionState;
9
+ keepAliveState: LinkedHealthState;
10
+ };
11
+ export declare const CONNECTION_CHANGE: {
12
+ [key in 'KEEP_ALIVE_MISSED' | 'KEEP_ALIVE' | 'CONNECTION_ESTABLISHED' | 'CONNECTION_FAILED' | 'CLOSING_CONNECTION' | 'OPENING_CONNECTION' | 'CLOSED' | 'ONLINE' | 'OFFLINE']: Partial<LinkedConnectionStates>;
13
+ };
14
+ export declare class ConnectionStateMonitor {
15
+ /**
16
+ * @private
17
+ */
18
+ private _linkedConnectionState;
19
+ private _linkedConnectionStateObservable;
20
+ private _linkedConnectionStateObserver;
21
+ private _networkMonitoringSubscription?;
22
+ constructor();
23
+ /**
24
+ * Turn network state monitoring on if it isn't on already
25
+ */
26
+ private enableNetworkMonitoring;
27
+ /**
28
+ * Turn network state monitoring off if it isn't off already
29
+ */
30
+ private disableNetworkMonitoring;
31
+ /**
32
+ * Get the observable that allows us to monitor the connection state
33
+ *
34
+ * @returns {Observable<ConnectionState>} - The observable that emits ConnectionState updates
35
+ */
36
+ get connectionStateObservable(): Observable<ConnectionState>;
37
+ record(statusUpdates: Partial<LinkedConnectionStates>): void;
38
+ private connectionStatesTranslator;
39
+ }
40
+ export {};
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2017-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
6
+ * the License. A copy of the License is located at
7
+ *
8
+ * http://aws.amazon.com/apache2.0/
9
+ *
10
+ * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
11
+ * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ var __assign = (this && this.__assign) || function () {
15
+ __assign = Object.assign || function(t) {
16
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
17
+ s = arguments[i];
18
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
19
+ t[p] = s[p];
20
+ }
21
+ return t;
22
+ };
23
+ return __assign.apply(this, arguments);
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var core_1 = require("@aws-amplify/core");
30
+ var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
31
+ var index_1 = require("../index");
32
+ exports.CONNECTION_CHANGE = {
33
+ KEEP_ALIVE_MISSED: { keepAliveState: 'unhealthy' },
34
+ KEEP_ALIVE: { keepAliveState: 'healthy' },
35
+ CONNECTION_ESTABLISHED: { connectionState: 'connected' },
36
+ CONNECTION_FAILED: {
37
+ intendedConnectionState: 'disconnected',
38
+ connectionState: 'disconnected',
39
+ },
40
+ CLOSING_CONNECTION: { intendedConnectionState: 'disconnected' },
41
+ OPENING_CONNECTION: {
42
+ intendedConnectionState: 'connected',
43
+ connectionState: 'connecting',
44
+ },
45
+ CLOSED: { connectionState: 'disconnected' },
46
+ ONLINE: { networkState: 'connected' },
47
+ OFFLINE: { networkState: 'disconnected' },
48
+ };
49
+ var ConnectionStateMonitor = /** @class */ (function () {
50
+ function ConnectionStateMonitor() {
51
+ var _this = this;
52
+ this._networkMonitoringSubscription = undefined;
53
+ this._linkedConnectionState = {
54
+ networkState: 'connected',
55
+ connectionState: 'disconnected',
56
+ intendedConnectionState: 'disconnected',
57
+ keepAliveState: 'healthy',
58
+ };
59
+ this._linkedConnectionStateObservable =
60
+ new zen_observable_ts_1.default(function (connectionStateObserver) {
61
+ connectionStateObserver.next(_this._linkedConnectionState);
62
+ _this._linkedConnectionStateObserver = connectionStateObserver;
63
+ });
64
+ }
65
+ /**
66
+ * Turn network state monitoring on if it isn't on already
67
+ */
68
+ ConnectionStateMonitor.prototype.enableNetworkMonitoring = function () {
69
+ var _this = this;
70
+ // Maintain the network state based on the reachability monitor
71
+ if (this._networkMonitoringSubscription === undefined) {
72
+ this._networkMonitoringSubscription = new core_1.Reachability()
73
+ .networkMonitor()
74
+ .subscribe(function (_a) {
75
+ var online = _a.online;
76
+ _this.record(online ? exports.CONNECTION_CHANGE.ONLINE : exports.CONNECTION_CHANGE.OFFLINE);
77
+ });
78
+ }
79
+ };
80
+ /**
81
+ * Turn network state monitoring off if it isn't off already
82
+ */
83
+ ConnectionStateMonitor.prototype.disableNetworkMonitoring = function () {
84
+ var _a;
85
+ (_a = this._networkMonitoringSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
86
+ this._networkMonitoringSubscription = undefined;
87
+ };
88
+ Object.defineProperty(ConnectionStateMonitor.prototype, "connectionStateObservable", {
89
+ /**
90
+ * Get the observable that allows us to monitor the connection state
91
+ *
92
+ * @returns {Observable<ConnectionState>} - The observable that emits ConnectionState updates
93
+ */
94
+ get: function () {
95
+ var _this = this;
96
+ var previous;
97
+ // The linked state aggregates state changes to any of the network, connection,
98
+ // intendedConnection and keepAliveHealth. Some states will change these independent
99
+ // states without changing the overall connection state.
100
+ // After translating from linked states to ConnectionState, then remove any duplicates
101
+ return this._linkedConnectionStateObservable
102
+ .map(function (value) {
103
+ return _this.connectionStatesTranslator(value);
104
+ })
105
+ .filter(function (current) {
106
+ var toInclude = current !== previous;
107
+ previous = current;
108
+ return toInclude;
109
+ });
110
+ },
111
+ enumerable: true,
112
+ configurable: true
113
+ });
114
+ /*
115
+ * Updates local connection state and emits the full state to the observer.
116
+ */
117
+ ConnectionStateMonitor.prototype.record = function (statusUpdates) {
118
+ // Maintain the network monitor
119
+ if (statusUpdates.intendedConnectionState === 'connected') {
120
+ this.enableNetworkMonitoring();
121
+ }
122
+ else if (statusUpdates.intendedConnectionState === 'disconnected') {
123
+ this.disableNetworkMonitoring();
124
+ }
125
+ // Maintain the socket state
126
+ var newSocketStatus = __assign(__assign({}, this._linkedConnectionState), statusUpdates);
127
+ this._linkedConnectionState = __assign({}, newSocketStatus);
128
+ this._linkedConnectionStateObserver.next(this._linkedConnectionState);
129
+ };
130
+ /*
131
+ * Translate the ConnectionState structure into a specific ConnectionState string literal union
132
+ */
133
+ ConnectionStateMonitor.prototype.connectionStatesTranslator = function (_a) {
134
+ var connectionState = _a.connectionState, networkState = _a.networkState, intendedConnectionState = _a.intendedConnectionState, keepAliveState = _a.keepAliveState;
135
+ if (connectionState === 'connected' && networkState === 'disconnected')
136
+ return index_1.ConnectionState.ConnectedPendingNetwork;
137
+ if (connectionState === 'connected' &&
138
+ intendedConnectionState === 'disconnected')
139
+ return index_1.ConnectionState.ConnectedPendingDisconnect;
140
+ if (connectionState === 'disconnected' &&
141
+ intendedConnectionState === 'connected' &&
142
+ networkState === 'disconnected')
143
+ return index_1.ConnectionState.ConnectionDisruptedPendingNetwork;
144
+ if (connectionState === 'disconnected' &&
145
+ intendedConnectionState === 'connected')
146
+ return index_1.ConnectionState.ConnectionDisrupted;
147
+ if (connectionState === 'connected' && keepAliveState === 'unhealthy')
148
+ return index_1.ConnectionState.ConnectedPendingKeepAlive;
149
+ // All remaining states directly correspond to the connection state
150
+ if (connectionState === 'connecting')
151
+ return index_1.ConnectionState.Connecting;
152
+ if (connectionState === 'disconnected')
153
+ return index_1.ConnectionState.Disconnected;
154
+ return index_1.ConnectionState.Connected;
155
+ };
156
+ return ConnectionStateMonitor;
157
+ }());
158
+ exports.ConnectionStateMonitor = ConnectionStateMonitor;
159
+ //# sourceMappingURL=ConnectionStateMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionStateMonitor.js","sourceRoot":"","sources":["../../src/utils/ConnectionStateMonitor.ts"],"names":[],"mappings":"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"}
@@ -80,3 +80,7 @@ export declare const START_ACK_TIMEOUT = 15000;
80
80
  * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message
81
81
  */
82
82
  export declare const DEFAULT_KEEP_ALIVE_TIMEOUT: number;
83
+ /**
84
+ * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
85
+ */
86
+ export declare const DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT: number;
@@ -85,4 +85,8 @@ export var START_ACK_TIMEOUT = 15000;
85
85
  * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message
86
86
  */
87
87
  export var DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;
88
+ /**
89
+ * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
90
+ */
91
+ export var DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;
88
92
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/Providers/AWSAppSyncRealTimeProvider/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,MAAM,CAAC,IAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAN,IAAY,aAmDX;AAnDD,WAAY,aAAa;IACxB;;;OAGG;IACH,wDAAuC,CAAA;IACvC;;;OAGG;IACH,0DAAyC,CAAA;IACzC;;;OAGG;IACH,sDAAqC,CAAA;IACrC;;;OAGG;IACH,oCAAmB,CAAA;IACnB;;;OAGG;IACH,4CAA2B,CAAA;IAC3B;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,iDAAgC,CAAA;IAChC;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,0CAAyB,CAAA;IACzB;;;OAGG;IACH,oCAAmB,CAAA;AACpB,CAAC,EAnDW,aAAa,KAAb,aAAa,QAmDxB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC9B,mEAAO,CAAA;IACP,uEAAS,CAAA;IACT,iEAAM,CAAA;AACP,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACxB,qDAAM,CAAA;IACN,mDAAK,CAAA;IACL,6DAAU,CAAA;AACX,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,MAAM,CAAC,IAAM,cAAc,GAAG,CAC7B,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU;IAChE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC,CAAC,mBAAmB,CACZ,CAAC;AAEZ,MAAM,CAAC,IAAM,4BAA4B,GAAG;IAC3C,MAAM,EAAE,mCAAmC;IAC3C,kBAAkB,EAAE,SAAS;IAC7B,cAAc,EAAE,iCAAiC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,IAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,IAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/Providers/AWSAppSyncRealTimeProvider/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,MAAM,CAAC,IAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAN,IAAY,aAmDX;AAnDD,WAAY,aAAa;IACxB;;;OAGG;IACH,wDAAuC,CAAA;IACvC;;;OAGG;IACH,0DAAyC,CAAA;IACzC;;;OAGG;IACH,sDAAqC,CAAA;IACrC;;;OAGG;IACH,oCAAmB,CAAA;IACnB;;;OAGG;IACH,4CAA2B,CAAA;IAC3B;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,iDAAgC,CAAA;IAChC;;;OAGG;IACH,kCAAiB,CAAA;IACjB;;;OAGG;IACH,0CAAyB,CAAA;IACzB;;;OAGG;IACH,oCAAmB,CAAA;AACpB,CAAC,EAnDW,aAAa,KAAb,aAAa,QAmDxB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC9B,mEAAO,CAAA;IACP,uEAAS,CAAA;IACT,iEAAM,CAAA;AACP,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACxB,qDAAM,CAAA;IACN,mDAAK,CAAA;IACL,6DAAU,CAAA;AACX,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,MAAM,CAAC,IAAM,cAAc,GAAG,CAC7B,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU;IAChE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC,CAAC,mBAAmB,CACZ,CAAC;AAEZ,MAAM,CAAC,IAAM,4BAA4B,GAAG;IAC3C,MAAM,EAAE,mCAAmC;IAC3C,kBAAkB,EAAE,SAAS;IAC7B,cAAc,EAAE,iCAAiC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,IAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,IAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,IAAM,gCAAgC,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -30,8 +30,11 @@ export declare class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
30
30
  private socketStatus;
31
31
  private keepAliveTimeoutId?;
32
32
  private keepAliveTimeout;
33
+ private keepAliveAlertTimeoutId?;
33
34
  private subscriptionObserverMap;
34
35
  private promiseArray;
36
+ private readonly connectionStateMonitor;
37
+ constructor(options?: ProviderOptions);
35
38
  getNewWebSocket(url: any, protocol: any): WebSocket;
36
39
  getProviderName(): string;
37
40
  newClient(): Promise<any>;