@miso.ai/client-sdk-core 1.13.0-beta.3 → 1.13.0-beta.5

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.
@@ -27,20 +27,32 @@ class AnalyticsPlugin extends _commons.Component {
27
27
  install(MisoClient, context) {
28
28
  context.addSubtree(this);
29
29
  this._engagement = new _commons.UserEngagementObserver(this._handleEngagement.bind(this));
30
- // TODO: should we provide a way to stop the observer?
30
+ // TODO: should we provide a way to stop the observer?
31
+ window.addEventListener('beforeunload', this._handlePageExit.bind(this));
31
32
  MisoClient.on('create', this._injectClient.bind(this));
32
33
  }
33
34
  _injectClient(client) {
34
35
  client.on('workflow', this._injectWorkflow.bind(this));
35
36
  }
36
37
  _injectWorkflow(workflow) {
38
+ if (!this._shallInjectWorkflow(workflow)) {
39
+ return;
40
+ }
37
41
  workflow.analytics = new Analytics(this, workflow);
38
42
  }
43
+ _shallInjectWorkflow(workflow) {
44
+ return workflow._name === 'ask' && !workflow.previous || workflow._name === 'hybrid-search';
45
+ }
39
46
  _handleEngagement() {
40
47
  for (const member of this._members) {
41
48
  member._syncEngagementState();
42
49
  }
43
50
  }
51
+ _handlePageExit() {
52
+ for (const member of this._members) {
53
+ member._sendHeartbeat();
54
+ }
55
+ }
44
56
  }
45
57
  exports.default = AnalyticsPlugin;
46
58
  function normalizeOptions(_ref = {}) {
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = exports.default = '1.13.0-beta.3';
7
+ var _default = exports.default = '1.13.0-beta.5';
package/package.json CHANGED
@@ -18,7 +18,8 @@
18
18
  },
19
19
  "repository": {
20
20
  "type": "git",
21
- "url": "git+https://github.com/MisoAI/miso-client-js-sdk.git"
21
+ "url": "git+https://github.com/MisoAI/miso-client-js-sdk.git",
22
+ "directory": "packages/client-sdk-core"
22
23
  },
23
24
  "homepage": "https://misoai.github.io/miso-client-js-sdk/",
24
25
  "license": "MIT",
@@ -29,7 +30,7 @@
29
30
  "url": "https://github.com/MisoAI/miso-client-js-sdk/issues"
30
31
  },
31
32
  "dependencies": {
32
- "@miso.ai/commons": "1.13.0-beta.3"
33
+ "@miso.ai/commons": "1.13.0-beta.5"
33
34
  },
34
- "version": "1.13.0-beta.3"
35
+ "version": "1.13.0-beta.5"
35
36
  }
@@ -26,7 +26,8 @@ export default class AnalyticsPlugin extends Component {
26
26
  install(MisoClient, context) {
27
27
  context.addSubtree(this);
28
28
  this._engagement = new UserEngagementObserver(this._handleEngagement.bind(this));
29
- // TODO: should we provide a way to stop the observer?
29
+ // TODO: should we provide a way to stop the observer?
30
+ window.addEventListener('beforeunload', this._handlePageExit.bind(this));
30
31
  MisoClient.on('create', this._injectClient.bind(this));
31
32
  }
32
33
 
@@ -35,15 +36,28 @@ export default class AnalyticsPlugin extends Component {
35
36
  }
36
37
 
37
38
  _injectWorkflow(workflow) {
39
+ if (!this._shallInjectWorkflow(workflow)) {
40
+ return;
41
+ }
38
42
  workflow.analytics = new Analytics(this, workflow);
39
43
  }
40
44
 
45
+ _shallInjectWorkflow(workflow) {
46
+ return (workflow._name === 'ask' && !workflow.previous) || workflow._name === 'hybrid-search';
47
+ }
48
+
41
49
  _handleEngagement() {
42
50
  for (const member of this._members) {
43
51
  member._syncEngagementState();
44
52
  }
45
53
  }
46
54
 
55
+ _handlePageExit() {
56
+ for (const member of this._members) {
57
+ member._sendHeartbeat();
58
+ }
59
+ }
60
+
47
61
  }
48
62
 
49
63
  function normalizeOptions({ ...options } = {}) {
package/src/version.js CHANGED
@@ -1 +1 @@
1
- export default '1.13.0-beta.3';
1
+ export default '1.13.0-beta.5';