@novasamatech/product-sdk 0.7.5-2 → 0.7.5-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.
@@ -153,9 +153,15 @@ __fallback, internal) {
153
153
  const [withRuntime] = params;
154
154
  const syntheticSubId = getNextSubId();
155
155
  const subscription = hostApi.chainHeadFollowSubscribe(enumValue(version, { genesisHash, withRuntime }), payload => {
156
- if (payload.tag === version) {
157
- const jsonRpcEvent = convertTypedEventToJsonRpc(payload.value);
158
- sendFollowEvent(syntheticSubId, jsonRpcEvent);
156
+ if (payload.tag !== version)
157
+ return;
158
+ const typed = payload.value;
159
+ sendFollowEvent(syntheticSubId, convertTypedEventToJsonRpc(typed));
160
+ // Stop ends the follow server-side; the consumer's substrate-client
161
+ // won't issue chainHead_v1_unfollow, so we release the host-api
162
+ // subscription here to let the host clean up its end.
163
+ if (typed.tag === 'Stop' && activeFollows.delete(syntheticSubId)) {
164
+ subscription.unsubscribe();
159
165
  }
160
166
  });
161
167
  activeFollows.set(syntheticSubId, { syntheticSubId, subscription, genesisHash });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@novasamatech/product-sdk",
3
3
  "type": "module",
4
- "version": "0.7.5-2",
4
+ "version": "0.7.5-3",
5
5
  "description": "Polkadot product SDK: integrate and run your product inside Polkadot browser.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -27,7 +27,7 @@
27
27
  "dependencies": {
28
28
  "@polkadot/extension-inject": "^0.63.1",
29
29
  "@polkadot-api/json-rpc-provider-proxy": "^0.4.0",
30
- "@novasamatech/host-api": "0.7.5-2",
30
+ "@novasamatech/host-api": "0.7.5-3",
31
31
  "polkadot-api": ">=2",
32
32
  "neverthrow": "^8.2.0"
33
33
  },