Skip to content

Commit cf36b4c

Browse files
authored
Merge pull request #774 from nemtech/dev
Dev -> Main
2 parents 3208d6e + e6f186c commit cf36b4c

File tree

5 files changed

+26
-7
lines changed

5 files changed

+26
-7
lines changed

CHANGELOG.md

+12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file.
44

55
The changelog format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

7+
## [1.0.0] - 13-Mar-2021
8+
9+
**Milestone**: Symbol Mainnet
10+
Package | Version | Link
11+
---|---|---
12+
SDK Core| v1.0.0 | [symbol-sdk](https://www.npmjs.com/package/symbol-sdk)
13+
Catbuffer | v0.1.1 | [catbuffer-typescript](https://www.npmjs.com/package/catbuffer-typescript)
14+
Client Library | v0.11.1 | [symbol-openapi-typescript-fetch-client](https://www.npmjs.com/package/symbol-openapi-typescript-fetch-client)
15+
16+
- Added callback function in websocket listener for client to handle unsolicited websocket close event.
17+
- Release for Symbol mainnet.
18+
719
## [0.23.3] - 5-Mar-2021
820

921
**Milestone**: Catapult-server main(0.10.0.8)

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "symbol-sdk",
3-
"version": "0.23.4",
3+
"version": "1.0.0",
44
"description": "Reactive symbol sdk for typescript and javascript",
55
"scripts": {
66
"pretest": "npm run build",

src/infrastructure/IListener.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ import { CosignatureSignedTransaction } from '../model/transaction/CosignatureSi
2323
import { Transaction } from '../model/transaction/Transaction';
2424
import { TransactionStatusError } from '../model/transaction/TransactionStatusError';
2525

26+
export type OnWsCloseCallback = (event: { client: string; code: any; reason: any }) => void;
27+
2628
/**
2729
* Listener service
2830
*/
@@ -35,7 +37,7 @@ export interface IListener {
3537
* Open web socket connection.
3638
* @returns Promise<Void>
3739
*/
38-
open(): Promise<void>;
40+
open(onUnsolicitedCloseCallback?: OnWsCloseCallback): Promise<void>;
3941

4042
/**
4143
* returns a boolean that repressents the open state

src/infrastructure/Listener.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { Deadline } from '../model/transaction/Deadline';
2929
import { Transaction } from '../model/transaction/Transaction';
3030
import { TransactionStatusError } from '../model/transaction/TransactionStatusError';
3131
import { UInt64 } from '../model/UInt64';
32-
import { IListener } from './IListener';
32+
import { IListener, OnWsCloseCallback } from './IListener';
3333
import { MultisigHttp } from './MultisigHttp';
3434
import { MultisigRepository } from './MultisigRepository';
3535
import { NamespaceRepository } from './NamespaceRepository';
@@ -109,7 +109,7 @@ export class Listener implements IListener {
109109
* Open web socket connection.
110110
* @returns Promise<Void>
111111
*/
112-
public open(): Promise<void> {
112+
public open(onUnsolicitedCloseCallback?: OnWsCloseCallback): Promise<void> {
113113
return new Promise((resolve, reject) => {
114114
if (this.webSocket === undefined || this.webSocket.readyState === this.webSocket.CLOSED) {
115115
if (this.websocketInjected) {
@@ -127,11 +127,16 @@ export class Listener implements IListener {
127127
return;
128128
}
129129
if (closeEvent) {
130-
reject({
130+
const event = {
131131
client: this.uid,
132132
code: closeEvent.code,
133133
reason: closeEvent.reason,
134-
});
134+
};
135+
if (onUnsolicitedCloseCallback) {
136+
onUnsolicitedCloseCallback(event);
137+
} else {
138+
reject(event);
139+
}
135140
}
136141
};
137142
this.webSocket.onmessage = (msg: any): void => {

0 commit comments

Comments
 (0)