Skip to content

Commit f39eb38

Browse files
authored
Merge pull request #17 from Vatis-Tech/refactor/VAT-385-453
VAT-385/453: fix 429 error and add disconnect packet when disconnecting
2 parents 61882a8 + 6404cf3 commit f39eb38

File tree

11 files changed

+154
-42
lines changed

11 files changed

+154
-42
lines changed

dist/cjs/components/InstanceReservation.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ var InstanceReservation = /*#__PURE__*/function () {
7373
key: "onLoad",
7474
value: function onLoad() {
7575
if (this.xmlHttp.status !== 200) {
76-
this.onError(JSON.parse(this.xmlHttp.responseText));
76+
this.onError({
77+
status: this.xmlHttp.status
78+
});
7779
return;
7880
}
7981

dist/cjs/components/MicrophoneGenerator.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ var MicrophoneGenerator = /*#__PURE__*/function () {
6060
value: function destroy() {
6161
if (this.mediaRecorder && this.mediaRecorder.state !== "inactive") {
6262
this.mediaRecorder.stop();
63+
this.onDataCallback({
64+
data: "",
65+
flush: "True",
66+
close: "True"
67+
});
6368
}
6469

6570
if (this.stream) {
@@ -115,7 +120,9 @@ var MicrophoneGenerator = /*#__PURE__*/function () {
115120

116121
reader.onloadend = function () {
117122
// You can upload the base64 to server here.
118-
_this2.onDataCallback(reader.result.replace("data:audio/webm;codecs=opus;base64,", "").replace("data:audio/webm; codecs=opus; base64,", ""));
123+
_this2.onDataCallback({
124+
data: reader.result.replace("data:audio/webm;codecs=opus;base64,", "").replace("data:audio/webm; codecs=opus; base64,", "")
125+
});
119126
};
120127

121128
reader.readAsDataURL(e.data); // if (e.data.size > 0) {

dist/cjs/components/SocketIOClientGenerator.js

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ var SOCKET_IO_CLIENT_NAMESPACE = _index["default"].SOCKET_IO_CLIENT_NAMESPACE,
2626
SOCKET_IO_CLIENT_BUFFER_OFFSET = _index["default"].SOCKET_IO_CLIENT_BUFFER_OFFSET,
2727
SOCKET_IO_CLIENT_AUDIO_FORMAT = _index["default"].SOCKET_IO_CLIENT_AUDIO_FORMAT,
2828
SOCKET_IO_CLIENT_SENDING_HEADERS = _index["default"].SOCKET_IO_CLIENT_SENDING_HEADERS,
29+
SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES = _index["default"].SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES,
30+
SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION = _index["default"].SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION,
31+
SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION = _index["default"].SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION,
32+
SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION = _index["default"].SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION,
2933
MICROPHONE_FRAME_LENGTH = _index["default"].MICROPHONE_FRAME_LENGTH,
3034
MICROPHONE_TIMESLICE = _index["default"].MICROPHONE_TIMESLICE;
3135

@@ -51,6 +55,7 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
5155
(0, _defineProperty2["default"])(this, "frameOverlap", void 0);
5256
(0, _defineProperty2["default"])(this, "bufferOffset", void 0);
5357
(0, _defineProperty2["default"])(this, "errorHandler", void 0);
58+
(0, _defineProperty2["default"])(this, "sendClosePacket", void 0);
5459
this.errorHandler = errorHandler;
5560
this.logger = logger;
5661
this.logger({
@@ -63,6 +68,7 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
6368
this.frameLength = frameLength;
6469
this.frameOverlap = frameOverlap;
6570
this.bufferOffset = bufferOffset;
71+
this.sendClosePacket = true;
6672
}
6773

6874
(0, _createClass2["default"])(SocketIOClientGenerator, [{
@@ -92,7 +98,11 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
9298
FrameOverlap: this.frameOverlap ? this.frameOverlap : SOCKET_IO_CLIENT_FRAME_OVERLAP,
9399
BufferOffset: this.bufferOffset ? this.bufferOffset : SOCKET_IO_CLIENT_BUFFER_OFFSET,
94100
AudioFormat: SOCKET_IO_CLIENT_AUDIO_FORMAT,
95-
SendingHeaders: SOCKET_IO_CLIENT_SENDING_HEADERS
101+
SendingHeaders: SOCKET_IO_CLIENT_SENDING_HEADERS,
102+
DisableDisfluencies: SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES,
103+
EnablePunctuationCapitalization: SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION,
104+
EnableEntitiesRecognition: SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION,
105+
EnableNumeralsConversion: SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION
96106
}
97107
});
98108
this.socketRef.on("connect", function () {
@@ -138,14 +148,24 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
138148
}, {
139149
key: "emitData",
140150
value: function emitData(data) {
141-
this.socketRef.emit(SOCKET_IO_CLIENT_REQUEST_PATH, {
142-
data: data
143-
});
151+
if (data.close === "True" || data.flush === "True") {
152+
this.sendClosePacket = false;
153+
}
154+
155+
this.socketRef.emit(SOCKET_IO_CLIENT_REQUEST_PATH, data);
144156
}
145157
}, {
146158
key: "destroy",
147159
value: function destroy() {
148160
this.socketRef.off("disconnect");
161+
162+
if (this.sendClosePacket) {
163+
this.socketRef.emit(SOCKET_IO_CLIENT_REQUEST_PATH, {
164+
close: "True",
165+
data: ""
166+
});
167+
}
168+
149169
this.socketRef.disconnect();
150170
}
151171
}]);

dist/cjs/helpers/constants/index.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,25 @@ exports["default"] = void 0;
77
var API_URL = "https://vatis.tech/api/v1";
88
var API_URL_PATH = "/asr-client/auth?service=<service>&model=<model>&language=<language>";
99
var RESERVATION_URL = "<service_host>/asr/v1/registry/stream/reserve";
10-
var WAIT_AFTER_MESSAGES = 5;
10+
var WAIT_AFTER_MESSAGES = 10;
1111
var SOCKET_IO_CLIENT_NAMESPACE = "/asr_stream";
1212
var SOCKET_IO_CLIENT_TRANSPORTS = ["websocket"];
1313
var SOCKET_IO_CLIENT_PATH = "/live/transcribe/socket.io";
1414
var SOCKET_IO_CLIENT_RESULT_PATH = "/asr_result";
1515
var SOCKET_IO_CLIENT_REQUEST_PATH = "/asr_request";
1616
var SOCKET_IO_CLIENT_RESPONSE_SPLIT_PACKET = "SplitPacket";
1717
var SOCKET_IO_CLIENT_RESPONSE_FINAL_SPLIT_PACKET = "FinalSplitPacket";
18-
var SOCKET_IO_CLIENT_FRAME_OVERLAP = 0.3;
19-
var SOCKET_IO_CLIENT_BUFFER_OFFSET = 0.3;
18+
var SOCKET_IO_CLIENT_FRAME_OVERLAP = 1.0;
19+
var SOCKET_IO_CLIENT_BUFFER_OFFSET = 0.5;
2020
var SOCKET_IO_CLIENT_AUDIO_FORMAT = "webm";
2121
var SOCKET_IO_CLIENT_SENDING_HEADERS = "True";
22-
var MICROPHONE_FRAME_LENGTH = 0.3;
23-
var MICROPHONE_BIT_RATE_SAMPLES = 8000;
24-
var MICROPHONE_TIMESLICE = 250;
22+
var SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES = "True";
23+
var SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION = "True";
24+
var SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION = "True";
25+
var SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION = "True";
26+
var MICROPHONE_FRAME_LENGTH = 0.6;
27+
var MICROPHONE_BIT_RATE_SAMPLES = 16000;
28+
var MICROPHONE_TIMESLICE = 500;
2529
var projectConstants = {
2630
API_URL_PATH: API_URL_PATH,
2731
API_URL: API_URL,
@@ -38,6 +42,10 @@ var projectConstants = {
3842
SOCKET_IO_CLIENT_BUFFER_OFFSET: SOCKET_IO_CLIENT_BUFFER_OFFSET,
3943
SOCKET_IO_CLIENT_AUDIO_FORMAT: SOCKET_IO_CLIENT_AUDIO_FORMAT,
4044
SOCKET_IO_CLIENT_SENDING_HEADERS: SOCKET_IO_CLIENT_SENDING_HEADERS,
45+
SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES: SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES,
46+
SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION: SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION,
47+
SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION: SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION,
48+
SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION: SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION,
4149
MICROPHONE_FRAME_LENGTH: MICROPHONE_FRAME_LENGTH,
4250
MICROPHONE_BIT_RATE_SAMPLES: MICROPHONE_BIT_RATE_SAMPLES,
4351
MICROPHONE_TIMESLICE: MICROPHONE_TIMESLICE

dist/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vatis-tech/asr-client-js",
3-
"version": "1.3.0",
3+
"version": "1.3.0-next.3",
44
"description": "JavaScript client for Vatis Tech ASR services.",
55
"main": "cjs/index.js",
66
"scripts": {
@@ -9,7 +9,8 @@
99
"build:cjs": "babel src -d dist/cjs",
1010
"build:umd": "browserify --entry dist/cjs/index.js --outfile dist/umd/vatis-tech-asr-client.umd.js --standalone VatisTechClient",
1111
"build": "npm-run-all --sequential build:*",
12-
"deploy": "npm run install:clean && rm -rf dist && npm run build && cp package.json ./dist && cp README.md ./dist && cp LICENSE.md ./dist && cp CHANGELOG.md ./dist && cp CODE_OF_CONDUCT.md ./dist && cp CONTRIBUTING.md ./dist && cd dist && npm publish --access=public && cd ../"
12+
"deploy:latest": "npm run install:clean && rm -rf dist && npm run build && cp package.json ./dist && cp README.md ./dist && cp LICENSE.md ./dist && cp CHANGELOG.md ./dist && cp CODE_OF_CONDUCT.md ./dist && cp CONTRIBUTING.md ./dist && cd dist && npm publish --access=public && cd ../",
13+
"deploy:next": "npm run install:clean && rm -rf dist && npm run build && cp package.json ./dist && cp README.md ./dist && cp LICENSE.md ./dist && cp CHANGELOG.md ./dist && cp CODE_OF_CONDUCT.md ./dist && cp CONTRIBUTING.md ./dist && cd dist && npm publish --tag=next --access=public && cd ../"
1314
},
1415
"repository": {
1516
"type": "git",

dist/umd/vatis-tech-asr-client.umd.js

Lines changed: 49 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,9 @@ var InstanceReservation = /*#__PURE__*/function () {
166166
key: "onLoad",
167167
value: function onLoad() {
168168
if (this.xmlHttp.status !== 200) {
169-
this.onError(JSON.parse(this.xmlHttp.responseText));
169+
this.onError({
170+
status: this.xmlHttp.status
171+
});
170172
return;
171173
}
172174

@@ -254,6 +256,11 @@ var MicrophoneGenerator = /*#__PURE__*/function () {
254256
value: function destroy() {
255257
if (this.mediaRecorder && this.mediaRecorder.state !== "inactive") {
256258
this.mediaRecorder.stop();
259+
this.onDataCallback({
260+
data: "",
261+
flush: "True",
262+
close: "True"
263+
});
257264
}
258265

259266
if (this.stream) {
@@ -309,7 +316,9 @@ var MicrophoneGenerator = /*#__PURE__*/function () {
309316

310317
reader.onloadend = function () {
311318
// You can upload the base64 to server here.
312-
_this2.onDataCallback(reader.result.replace("data:audio/webm;codecs=opus;base64,", "").replace("data:audio/webm; codecs=opus; base64,", ""));
319+
_this2.onDataCallback({
320+
data: reader.result.replace("data:audio/webm;codecs=opus;base64,", "").replace("data:audio/webm; codecs=opus; base64,", "")
321+
});
313322
};
314323

315324
reader.readAsDataURL(e.data); // if (e.data.size > 0) {
@@ -470,6 +479,10 @@ var SOCKET_IO_CLIENT_NAMESPACE = _index["default"].SOCKET_IO_CLIENT_NAMESPACE,
470479
SOCKET_IO_CLIENT_BUFFER_OFFSET = _index["default"].SOCKET_IO_CLIENT_BUFFER_OFFSET,
471480
SOCKET_IO_CLIENT_AUDIO_FORMAT = _index["default"].SOCKET_IO_CLIENT_AUDIO_FORMAT,
472481
SOCKET_IO_CLIENT_SENDING_HEADERS = _index["default"].SOCKET_IO_CLIENT_SENDING_HEADERS,
482+
SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES = _index["default"].SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES,
483+
SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION = _index["default"].SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION,
484+
SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION = _index["default"].SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION,
485+
SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION = _index["default"].SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION,
473486
MICROPHONE_FRAME_LENGTH = _index["default"].MICROPHONE_FRAME_LENGTH,
474487
MICROPHONE_TIMESLICE = _index["default"].MICROPHONE_TIMESLICE;
475488

@@ -495,6 +508,7 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
495508
(0, _defineProperty2["default"])(this, "frameOverlap", void 0);
496509
(0, _defineProperty2["default"])(this, "bufferOffset", void 0);
497510
(0, _defineProperty2["default"])(this, "errorHandler", void 0);
511+
(0, _defineProperty2["default"])(this, "sendClosePacket", void 0);
498512
this.errorHandler = errorHandler;
499513
this.logger = logger;
500514
this.logger({
@@ -507,6 +521,7 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
507521
this.frameLength = frameLength;
508522
this.frameOverlap = frameOverlap;
509523
this.bufferOffset = bufferOffset;
524+
this.sendClosePacket = true;
510525
}
511526

512527
(0, _createClass2["default"])(SocketIOClientGenerator, [{
@@ -536,7 +551,11 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
536551
FrameOverlap: this.frameOverlap ? this.frameOverlap : SOCKET_IO_CLIENT_FRAME_OVERLAP,
537552
BufferOffset: this.bufferOffset ? this.bufferOffset : SOCKET_IO_CLIENT_BUFFER_OFFSET,
538553
AudioFormat: SOCKET_IO_CLIENT_AUDIO_FORMAT,
539-
SendingHeaders: SOCKET_IO_CLIENT_SENDING_HEADERS
554+
SendingHeaders: SOCKET_IO_CLIENT_SENDING_HEADERS,
555+
DisableDisfluencies: SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES,
556+
EnablePunctuationCapitalization: SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION,
557+
EnableEntitiesRecognition: SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION,
558+
EnableNumeralsConversion: SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION
540559
}
541560
});
542561
this.socketRef.on("connect", function () {
@@ -582,14 +601,24 @@ var SocketIOClientGenerator = /*#__PURE__*/function () {
582601
}, {
583602
key: "emitData",
584603
value: function emitData(data) {
585-
this.socketRef.emit(SOCKET_IO_CLIENT_REQUEST_PATH, {
586-
data: data
587-
});
604+
if (data.close === "True" || data.flush === "True") {
605+
this.sendClosePacket = false;
606+
}
607+
608+
this.socketRef.emit(SOCKET_IO_CLIENT_REQUEST_PATH, data);
588609
}
589610
}, {
590611
key: "destroy",
591612
value: function destroy() {
592613
this.socketRef.off("disconnect");
614+
615+
if (this.sendClosePacket) {
616+
this.socketRef.emit(SOCKET_IO_CLIENT_REQUEST_PATH, {
617+
close: "True",
618+
data: ""
619+
});
620+
}
621+
593622
this.socketRef.disconnect();
594623
}
595624
}]);
@@ -608,21 +637,25 @@ exports["default"] = void 0;
608637
var API_URL = "https://vatis.tech/api/v1";
609638
var API_URL_PATH = "/asr-client/auth?service=<service>&model=<model>&language=<language>";
610639
var RESERVATION_URL = "<service_host>/asr/v1/registry/stream/reserve";
611-
var WAIT_AFTER_MESSAGES = 5;
640+
var WAIT_AFTER_MESSAGES = 10;
612641
var SOCKET_IO_CLIENT_NAMESPACE = "/asr_stream";
613642
var SOCKET_IO_CLIENT_TRANSPORTS = ["websocket"];
614643
var SOCKET_IO_CLIENT_PATH = "/live/transcribe/socket.io";
615644
var SOCKET_IO_CLIENT_RESULT_PATH = "/asr_result";
616645
var SOCKET_IO_CLIENT_REQUEST_PATH = "/asr_request";
617646
var SOCKET_IO_CLIENT_RESPONSE_SPLIT_PACKET = "SplitPacket";
618647
var SOCKET_IO_CLIENT_RESPONSE_FINAL_SPLIT_PACKET = "FinalSplitPacket";
619-
var SOCKET_IO_CLIENT_FRAME_OVERLAP = 0.3;
620-
var SOCKET_IO_CLIENT_BUFFER_OFFSET = 0.3;
648+
var SOCKET_IO_CLIENT_FRAME_OVERLAP = 1.0;
649+
var SOCKET_IO_CLIENT_BUFFER_OFFSET = 0.5;
621650
var SOCKET_IO_CLIENT_AUDIO_FORMAT = "webm";
622651
var SOCKET_IO_CLIENT_SENDING_HEADERS = "True";
623-
var MICROPHONE_FRAME_LENGTH = 0.3;
624-
var MICROPHONE_BIT_RATE_SAMPLES = 8000;
625-
var MICROPHONE_TIMESLICE = 250;
652+
var SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES = "True";
653+
var SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION = "True";
654+
var SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION = "True";
655+
var SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION = "True";
656+
var MICROPHONE_FRAME_LENGTH = 0.6;
657+
var MICROPHONE_BIT_RATE_SAMPLES = 16000;
658+
var MICROPHONE_TIMESLICE = 500;
626659
var projectConstants = {
627660
API_URL_PATH: API_URL_PATH,
628661
API_URL: API_URL,
@@ -639,6 +672,10 @@ var projectConstants = {
639672
SOCKET_IO_CLIENT_BUFFER_OFFSET: SOCKET_IO_CLIENT_BUFFER_OFFSET,
640673
SOCKET_IO_CLIENT_AUDIO_FORMAT: SOCKET_IO_CLIENT_AUDIO_FORMAT,
641674
SOCKET_IO_CLIENT_SENDING_HEADERS: SOCKET_IO_CLIENT_SENDING_HEADERS,
675+
SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES: SOCKET_IO_CLIENT_DISABLE_DISFLUENCIES,
676+
SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION: SOCKET_IO_CLIENT_ENABLE_PUNCTUATION_CAPITALIZATION,
677+
SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION: SOCKET_IO_CLIENT_ENABLE_ENTITIES_RECOGNITION,
678+
SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION: SOCKET_IO_CLIENT_ENABLE_NUMERALS_CONVERSION,
642679
MICROPHONE_FRAME_LENGTH: MICROPHONE_FRAME_LENGTH,
643680
MICROPHONE_BIT_RATE_SAMPLES: MICROPHONE_BIT_RATE_SAMPLES,
644681
MICROPHONE_TIMESLICE: MICROPHONE_TIMESLICE

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vatis-tech/asr-client-js",
3-
"version": "1.3.0",
3+
"version": "1.3.0-next.3",
44
"description": "JavaScript client for Vatis Tech ASR services.",
55
"main": "cjs/index.js",
66
"scripts": {
@@ -9,7 +9,8 @@
99
"build:cjs": "babel src -d dist/cjs",
1010
"build:umd": "browserify --entry dist/cjs/index.js --outfile dist/umd/vatis-tech-asr-client.umd.js --standalone VatisTechClient",
1111
"build": "npm-run-all --sequential build:*",
12-
"deploy": "npm run install:clean && rm -rf dist && npm run build && cp package.json ./dist && cp README.md ./dist && cp LICENSE.md ./dist && cp CHANGELOG.md ./dist && cp CODE_OF_CONDUCT.md ./dist && cp CONTRIBUTING.md ./dist && cd dist && npm publish --access=public && cd ../"
12+
"deploy:latest": "npm run install:clean && rm -rf dist && npm run build && cp package.json ./dist && cp README.md ./dist && cp LICENSE.md ./dist && cp CHANGELOG.md ./dist && cp CODE_OF_CONDUCT.md ./dist && cp CONTRIBUTING.md ./dist && cd dist && npm publish --access=public && cd ../",
13+
"deploy:next": "npm run install:clean && rm -rf dist && npm run build && cp package.json ./dist && cp README.md ./dist && cp LICENSE.md ./dist && cp CHANGELOG.md ./dist && cp CODE_OF_CONDUCT.md ./dist && cp CONTRIBUTING.md ./dist && cd dist && npm publish --tag=next --access=public && cd ../"
1314
},
1415
"repository": {
1516
"type": "git",

src/components/InstanceReservation.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ class InstanceReservation {
5050
}
5151
onLoad() {
5252
if (this.xmlHttp.status !== 200) {
53-
this.onError(JSON.parse(this.xmlHttp.responseText));
53+
this.onError({
54+
status: this.xmlHttp.status,
55+
});
5456
return;
5557
}
5658

src/components/MicrophoneGenerator.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ class MicrophoneGenerator {
3535
destroy() {
3636
if (this.mediaRecorder && this.mediaRecorder.state !== "inactive") {
3737
this.mediaRecorder.stop();
38+
this.onDataCallback({
39+
data: "",
40+
flush: "True",
41+
close: "True",
42+
});
3843
}
3944
if (this.stream) {
4045
this.stream.getTracks().forEach(function (track) {
@@ -79,11 +84,11 @@ class MicrophoneGenerator {
7984
let reader = new FileReader();
8085
reader.onloadend = () => {
8186
// You can upload the base64 to server here.
82-
this.onDataCallback(
83-
reader.result
87+
this.onDataCallback({
88+
data: reader.result
8489
.replace("data:audio/webm;codecs=opus;base64,", "")
85-
.replace("data:audio/webm; codecs=opus; base64,", "")
86-
);
90+
.replace("data:audio/webm; codecs=opus; base64,", ""),
91+
});
8792
};
8893

8994
reader.readAsDataURL(e.data);

0 commit comments

Comments
 (0)