agora-rte-sdk 2.9.1 → 2.9.10
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.
- package/lib/configs/index.d.ts +4 -1
- package/lib/configs/index.js +5 -2
- package/lib/core/decorator/log/handler.d.ts +1 -1
- package/lib/core/decorator/log/handler.js +8 -15
- package/lib/core/decorator/log/index.js +2 -2
- package/lib/core/decorator/log/log-serializer.d.ts +8 -0
- package/lib/core/decorator/log/log-serializer.js +64 -0
- package/lib/core/decorator/log/logger.d.ts +1 -1
- package/lib/core/decorator/log/logger.js +2 -6
- package/lib/core/engine/index.d.ts +5 -2
- package/lib/core/engine/index.js +51 -45
- package/lib/core/log-upload/handler.d.ts +22 -0
- package/lib/core/log-upload/handler.js +241 -0
- package/lib/core/log-upload/scheduler.d.ts +9 -0
- package/lib/core/log-upload/scheduler.js +123 -0
- package/lib/core/log-upload/type.d.ts +20 -0
- package/lib/core/log-upload/type.js +6 -0
- package/lib/core/logger/constants.d.ts +11 -0
- package/lib/core/logger/constants.js +11 -0
- package/lib/core/logger/hijack.d.ts +4 -0
- package/lib/core/logger/hijack.js +63 -0
- package/lib/core/logger/index.d.ts +14 -38
- package/lib/core/logger/index.js +70 -328
- package/lib/core/logger/log-serializer.d.ts +6 -0
- package/lib/core/logger/log-serializer.js +2 -2
- package/lib/core/logger/log.worker.js +134 -20
- package/lib/core/logger/logger-impl.d.ts +19 -0
- package/lib/core/logger/logger-impl.js +110 -0
- package/lib/core/logger/manager-impl.d.ts +8 -0
- package/lib/core/logger/manager-impl.js +88 -0
- package/lib/core/logger/report-impl.d.ts +11 -0
- package/lib/core/logger/report-impl.js +139 -0
- package/lib/core/logger/type.d.ts +26 -0
- package/lib/core/logger/type.js +14 -0
- package/lib/core/logger/worker/db.d.ts +16 -0
- package/lib/core/logger/worker/db.js +42 -0
- package/lib/core/logger/worker/log.worker.d.ts +1 -0
- package/lib/core/logger/worker/log.worker.js +256 -0
- package/lib/core/logger/worker/mutex.d.ts +5 -0
- package/lib/core/logger/worker/mutex.js +84 -0
- package/lib/core/logger/worker-interactor.d.ts +28 -0
- package/lib/core/logger/worker-interactor.js +225 -0
- package/lib/core/media/loopback.d.ts +1 -1
- package/lib/core/media-player/stream-media-player.d.ts +1 -1
- package/lib/core/processor/message-handler.d.ts +1 -1
- package/lib/core/processor/sequence-msg/synchronizer.d.ts +1 -1
- package/lib/core/processor/type.d.ts +3 -1
- package/lib/core/processor/type.js +2 -0
- package/lib/core/rtc/adapter/base.d.ts +4 -1
- package/lib/core/rtc/adapter/electron/device.js +28 -7
- package/lib/core/rtc/adapter/electron/index.d.ts +5 -2
- package/lib/core/rtc/adapter/electron/index.js +42 -6
- package/lib/core/rtc/adapter/electron/stats.d.ts +1 -1
- package/lib/core/rtc/adapter/electron/thread.d.ts +1 -1
- package/lib/core/rtc/adapter/web/client.d.ts +4 -3
- package/lib/core/rtc/adapter/web/client.js +22 -2
- package/lib/core/rtc/adapter/web/device.d.ts +2 -0
- package/lib/core/rtc/adapter/web/device.js +193 -56
- package/lib/core/rtc/adapter/web/dispatcher.d.ts +1 -1
- package/lib/core/rtc/adapter/web/index.d.ts +5 -2
- package/lib/core/rtc/adapter/web/index.js +24 -5
- package/lib/core/rtc/adapter/web/player.js +1 -1
- package/lib/core/rtc/adapter/web/stats.d.ts +1 -1
- package/lib/core/rtc/adapter/web/thread.d.ts +1 -0
- package/lib/core/rtc/adapter/web/thread.js +3 -4
- package/lib/core/rtc/channel.d.ts +4 -1
- package/lib/core/rtc/channel.js +15 -0
- package/lib/core/rtc/index.d.ts +2 -0
- package/lib/core/rtc/index.js +13 -0
- package/lib/core/rtc/type.d.ts +22 -0
- package/lib/core/rtc/type.js +7 -1
- package/lib/core/rtm/index.js +2 -6
- package/lib/core/services/base.d.ts +1 -1
- package/lib/core/services/domain-region-map.js +1 -2
- package/lib/core/services/oss.js +47 -154
- package/lib/core/upload/index.d.ts +2 -0
- package/lib/core/upload/index.js +13 -0
- package/lib/core/upload/scheduler.d.ts +13 -0
- package/lib/core/upload/scheduler.js +127 -0
- package/lib/core/upload/type.d.ts +11 -0
- package/lib/core/upload/type.js +6 -0
- package/lib/core/utils/electron-log-file.d.ts +1 -0
- package/lib/core/utils/electron-log-file.js +101 -0
- package/lib/core/utils/file-reader.d.ts +1 -0
- package/lib/core/utils/file-reader.js +22 -0
- package/lib/core/utils/race-condition.d.ts +1 -0
- package/lib/core/utils/race-condition.js +20 -0
- package/lib/core/utils/thread.d.ts +1 -1
- package/lib/core/utils/utils.d.ts +0 -1
- package/lib/core/utils/utils.js +3 -9
- package/lib/core/worker/constants.d.ts +10 -0
- package/lib/core/worker/constants.js +18 -0
- package/lib/core/worker/handler/binary.d.ts +5 -0
- package/lib/core/worker/handler/binary.js +182 -0
- package/lib/core/worker/handler/db.d.ts +21 -0
- package/lib/core/worker/handler/db.js +46 -0
- package/lib/core/worker/handler/log.d.ts +12 -0
- package/lib/core/worker/handler/log.js +254 -0
- package/lib/core/worker/handler/reply.d.ts +3 -0
- package/lib/core/worker/handler/reply.js +22 -0
- package/lib/core/worker/index.d.ts +2 -0
- package/lib/core/worker/index.js +15 -0
- package/lib/core/worker/interactor.d.ts +25 -0
- package/lib/core/worker/interactor.js +285 -0
- package/lib/core/worker/mutex.d.ts +5 -0
- package/lib/core/worker/mutex.js +84 -0
- package/lib/core/worker/type.d.ts +1 -0
- package/lib/core/worker/type.js +6 -0
- package/lib/core/worker/worker-entry.d.ts +1 -0
- package/lib/core/worker/worker-entry.js +4 -0
- package/lib/core/worker/worker-factory.d.ts +1 -0
- package/lib/core/worker/worker-factory.js +14 -0
- package/lib/core/worker/worker-installer.d.ts +2 -0
- package/lib/core/worker/worker-installer.js +68 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js +6 -0
- package/lib/scene/index.d.ts +5 -2
- package/lib/scene/index.js +37 -15
- package/lib/scene/state-sync.d.ts +1 -1
- package/lib/type.d.ts +26 -0
- package/lib/type.js +10 -1
- package/lib/user/index.d.ts +1 -1
- package/package.json +6 -7
- package/README.md +0 -3
package/lib/configs/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AGRtcConfig } from '../core/rtc/adapter';
|
|
2
|
-
import { AgoraComponentRegion, AgoraLatencyLevel, AgoraRegion, AgoraRtcSDKExtension, AgoraRteLogLevel, AgoraRteOptions, AgoraRteRuntimePlatform, AgoraRteSequenceVersion, AgoraRteServiceConfig } from '../type';
|
|
2
|
+
import { AgoraCloudProxyType, AgoraComponentRegion, AgoraLatencyLevel, AgoraRegion, AgoraRtcSDKExtension, AgoraRteLogLevel, AgoraRteOptions, AgoraRteRuntimePlatform, AgoraRteSequenceVersion, AgoraRteServiceConfig } from '../type';
|
|
3
3
|
export declare class AgoraRteEngineConfig {
|
|
4
4
|
appId: string;
|
|
5
5
|
service: AgoraRteServiceConfig;
|
|
@@ -26,6 +26,9 @@ export declare class AgoraRteEngineConfig {
|
|
|
26
26
|
static consoleHijackEnabled: boolean;
|
|
27
27
|
static sequenceVersion: AgoraRteSequenceVersion;
|
|
28
28
|
static volumeIndicatorInterval: number;
|
|
29
|
+
static cloudProxyType?: AgoraCloudProxyType;
|
|
30
|
+
static rtcLogUploadEnabled: boolean;
|
|
31
|
+
static rtmLogUploadEnabled: boolean;
|
|
29
32
|
static setConfig(config: AgoraRteEngineConfig): void;
|
|
30
33
|
static get shared(): AgoraRteEngineConfig;
|
|
31
34
|
static get platform(): AgoraRteRuntimePlatform;
|
package/lib/configs/index.js
CHANGED
|
@@ -116,6 +116,9 @@ _class = AgoraRteEngineConfig;
|
|
|
116
116
|
AgoraRteEngineConfig._config = void 0;
|
|
117
117
|
// these settings should not depend on the shared instance therefore set to static
|
|
118
118
|
AgoraRteEngineConfig.logLevel = _type.AgoraRteLogLevel.INFO;
|
|
119
|
-
AgoraRteEngineConfig.consoleHijackEnabled =
|
|
119
|
+
AgoraRteEngineConfig.consoleHijackEnabled = true;
|
|
120
120
|
AgoraRteEngineConfig.sequenceVersion = _type.AgoraRteSequenceVersion.v2;
|
|
121
|
-
AgoraRteEngineConfig.volumeIndicatorInterval = 500;
|
|
121
|
+
AgoraRteEngineConfig.volumeIndicatorInterval = 500;
|
|
122
|
+
AgoraRteEngineConfig.cloudProxyType = void 0;
|
|
123
|
+
AgoraRteEngineConfig.rtcLogUploadEnabled = false;
|
|
124
|
+
AgoraRteEngineConfig.rtmLogUploadEnabled = false;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logger } from '../../logger';
|
|
1
|
+
import { Logger } from '../../logger/type';
|
|
2
2
|
import { Result } from '../../utils/interceptor';
|
|
3
3
|
import { InvocationEvent, InvocationHandler } from '../type';
|
|
4
4
|
export declare const createLogHandler: (logger: Logger) => (evt: InvocationEvent) => Result;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -12,26 +11,20 @@ require("core-js/modules/es.array.join.js");
|
|
|
12
11
|
require("core-js/modules/es.array.includes.js");
|
|
13
12
|
require("core-js/modules/es.string.includes.js");
|
|
14
13
|
require("core-js/modules/es.array.index-of.js");
|
|
15
|
-
var
|
|
16
|
-
var _upperCase = _interopRequireDefault(require("lodash/upperCase"));
|
|
17
|
-
var _type = require("../../../type");
|
|
18
|
-
var _logger = require("../../logger");
|
|
19
|
-
var _logSerializer = require("../../logger/log-serializer");
|
|
14
|
+
var _logSerializer = require("./log-serializer");
|
|
20
15
|
var _interceptor = require("../../utils/interceptor");
|
|
21
|
-
var
|
|
22
|
-
var formatLog = function formatLog(
|
|
23
|
-
|
|
24
|
-
return "".concat((0, _dayjs["default"])().format('YYYY-MM-DD HH:mm:ss'), " ").concat((0, _upperCase["default"])(_logger.logLevelMap[loglevel] || 'unknown'), " [").concat(identifier.className, ".").concat(identifier.methodName, "] [").concat(identifier.traceId, "] ").concat(msg);
|
|
16
|
+
var _type = require("../type");
|
|
17
|
+
var formatLog = function formatLog(msg, identifier) {
|
|
18
|
+
return "[".concat(identifier.traceId, "] [").concat(identifier.className, ".").concat(identifier.methodName, "] ").concat(msg);
|
|
25
19
|
};
|
|
26
20
|
var createLogHandler = exports.createLogHandler = function createLogHandler(logger) {
|
|
27
|
-
var level = _type.AgoraRteLogLevel.INFO;
|
|
28
21
|
return function (evt) {
|
|
29
|
-
if (evt.type ===
|
|
22
|
+
if (evt.type === _type.InvocationEventType.pre) {
|
|
30
23
|
var _evt$arguments;
|
|
31
24
|
evt.context.start = new Date().getTime();
|
|
32
|
-
evt.context.traceId = "trace-".concat(evt.context.start)
|
|
25
|
+
evt.context.traceId = "trace-".concat(evt.context.start);
|
|
33
26
|
var args = (_evt$arguments = evt.arguments) !== null && _evt$arguments !== void 0 ? _evt$arguments : [];
|
|
34
|
-
var msg = formatLog(
|
|
27
|
+
var msg = formatLog("args: [".concat((0, _logSerializer.serializeArgs)(args), "]"), {
|
|
35
28
|
className: evt["class"],
|
|
36
29
|
methodName: evt.method,
|
|
37
30
|
traceId: evt.context.traceId
|
|
@@ -47,7 +40,7 @@ var createLogHandler = exports.createLogHandler = function createLogHandler(logg
|
|
|
47
40
|
results.push("error: ".concat((0, _logSerializer.serialize)(evt.error)));
|
|
48
41
|
}
|
|
49
42
|
results.push("Time elapsed: ".concat(elapsed, "ms"));
|
|
50
|
-
var _msg = formatLog(
|
|
43
|
+
var _msg = formatLog(results.join(", "), {
|
|
51
44
|
className: evt["class"],
|
|
52
45
|
methodName: evt.method,
|
|
53
46
|
traceId: evt.context.traceId
|
|
@@ -17,7 +17,7 @@ var _logger2 = require("../../logger");
|
|
|
17
17
|
* @param descriptor
|
|
18
18
|
*/
|
|
19
19
|
var trace = function trace(proto, propertyName, descriptor) {
|
|
20
|
-
var handler = (0, _handler.createLogHandler)(_logger2.Logger
|
|
20
|
+
var handler = (0, _handler.createLogHandler)(_logger2.Logger);
|
|
21
21
|
var method = descriptor.value;
|
|
22
22
|
if (typeof method === 'function') {
|
|
23
23
|
descriptor.value = (0, _proxy.proxyMethod)(method, proto, propertyName, handler);
|
|
@@ -66,7 +66,7 @@ var silence = function silence(proto, propertyName) {
|
|
|
66
66
|
var attach = function attach(options) {
|
|
67
67
|
var proxyMethods = true;
|
|
68
68
|
var label = (options === null || options === void 0 ? void 0 : options.label) || 'default';
|
|
69
|
-
var logger = _logger2.Logger
|
|
69
|
+
var logger = _logger2.Logger;
|
|
70
70
|
if (options) {
|
|
71
71
|
proxyMethods = !!options.proxyMethods;
|
|
72
72
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface Serializer {
|
|
2
|
+
match(obj: any): boolean;
|
|
3
|
+
serialize(obj: any): string;
|
|
4
|
+
}
|
|
5
|
+
export declare const addSerializer: (serializer: Serializer) => void;
|
|
6
|
+
export declare const serialize: (data: unknown) => string;
|
|
7
|
+
export declare const serializeArgs: (args: unknown[]) => string;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.serializeArgs = exports.serialize = exports.addSerializer = void 0;
|
|
8
|
+
require("core-js/modules/es.function.name.js");
|
|
9
|
+
require("core-js/modules/es.array.find.js");
|
|
10
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
11
|
+
require("core-js/modules/es.string.match.js");
|
|
12
|
+
require("core-js/modules/es.array.join.js");
|
|
13
|
+
require("core-js/modules/es.array.map.js");
|
|
14
|
+
var _lodash = require("lodash");
|
|
15
|
+
var _utils = require("../../utils/utils");
|
|
16
|
+
var serializers = [];
|
|
17
|
+
var fileSerializer = {
|
|
18
|
+
match: function match(obj) {
|
|
19
|
+
return obj instanceof File;
|
|
20
|
+
},
|
|
21
|
+
serialize: function serialize(file) {
|
|
22
|
+
return (0, _utils.jsonstring)({
|
|
23
|
+
filename: file.name,
|
|
24
|
+
size: file.size
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var plainObjectSerializer = {
|
|
29
|
+
match: function match(obj) {
|
|
30
|
+
return (0, _lodash.isPlainObject)(obj);
|
|
31
|
+
},
|
|
32
|
+
serialize: function serialize(obj) {
|
|
33
|
+
return (0, _utils.jsonstring)(obj);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var functionSerializer = {
|
|
37
|
+
match: function match(obj) {
|
|
38
|
+
return typeof obj === 'function';
|
|
39
|
+
},
|
|
40
|
+
serialize: function serialize(obj) {
|
|
41
|
+
return '[Function]';
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var addSerializer = exports.addSerializer = function addSerializer(serializer) {
|
|
45
|
+
serializers.push(serializer);
|
|
46
|
+
};
|
|
47
|
+
var serialize = exports.serialize = function serialize(data) {
|
|
48
|
+
if (typeof data === 'string') {
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
var serializer = serializers.find(function (serializer) {
|
|
52
|
+
return serializer.match(data);
|
|
53
|
+
});
|
|
54
|
+
if (serializer) {
|
|
55
|
+
return serializer.serialize(data);
|
|
56
|
+
}
|
|
57
|
+
return "".concat(data);
|
|
58
|
+
};
|
|
59
|
+
var serializeArgs = exports.serializeArgs = function serializeArgs(args) {
|
|
60
|
+
return "".concat(args.map(serialize).join(' '));
|
|
61
|
+
};
|
|
62
|
+
addSerializer(fileSerializer);
|
|
63
|
+
addSerializer(plainObjectSerializer);
|
|
64
|
+
addSerializer(functionSerializer);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -9,14 +8,11 @@ exports.createFormatLogger = void 0;
|
|
|
9
8
|
require("core-js/modules/es.array.concat.js");
|
|
10
9
|
require("core-js/modules/es.object.freeze.js");
|
|
11
10
|
require("core-js/modules/es.function.name.js");
|
|
12
|
-
var _logger = require("../../logger");
|
|
13
11
|
var _type = require("../../../type");
|
|
14
|
-
var
|
|
15
|
-
var _upperCase = _interopRequireDefault(require("lodash/upperCase"));
|
|
16
|
-
var _logSerializer = require("../../logger/log-serializer");
|
|
12
|
+
var _logSerializer = require("./log-serializer");
|
|
17
13
|
var formatLog = function formatLog(loglevel, msg, indentifier) {
|
|
18
14
|
// `{date} {time} [threadName] [traceId] {level} {package} {method} {line}: {msg}`
|
|
19
|
-
return "
|
|
15
|
+
return "[".concat(indentifier, "] ").concat(msg);
|
|
20
16
|
};
|
|
21
17
|
var createFormatLogger = exports.createFormatLogger = function createFormatLogger(constructor, logger) {
|
|
22
18
|
return Object.freeze({
|
|
@@ -2,13 +2,15 @@ import { AGEventEmitter } from '../utils/events';
|
|
|
2
2
|
import { AgoraRteEngineConfig } from '../../configs';
|
|
3
3
|
import { AgoraRteScene } from '../../scene';
|
|
4
4
|
import { AgoraMediaControl } from '../media/control';
|
|
5
|
-
import {
|
|
5
|
+
import { AgoraCloudProxyType } from '../../type';
|
|
6
|
+
import { TagInfo } from '../log-upload/type';
|
|
6
7
|
export declare class AgoraRteEngine extends AGEventEmitter {
|
|
7
8
|
private _mediaControl;
|
|
8
|
-
private _logService;
|
|
9
9
|
private _rtmManager;
|
|
10
10
|
private _rtcManager;
|
|
11
11
|
private _apiServicePathPrefix;
|
|
12
|
+
private _logUploadScheduler;
|
|
13
|
+
private _electronLogUploadScheduler;
|
|
12
14
|
constructor(config: AgoraRteEngineConfig);
|
|
13
15
|
static createWithConfig(config: AgoraRteEngineConfig): AgoraRteEngine;
|
|
14
16
|
get apiServicePathPrefix(): string;
|
|
@@ -19,5 +21,6 @@ export declare class AgoraRteEngine extends AGEventEmitter {
|
|
|
19
21
|
static getRtcVersion(): string;
|
|
20
22
|
createAgoraRteScene(sceneId: string): AgoraRteScene;
|
|
21
23
|
getAgoraMediaControl(): AgoraMediaControl;
|
|
24
|
+
setCloudProxy(proxyType: AgoraCloudProxyType): void;
|
|
22
25
|
uploadSDKLogToAgoraService(tagInfo: TagInfo): Promise<void>;
|
|
23
26
|
}
|
package/lib/core/engine/index.js
CHANGED
|
@@ -29,6 +29,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
29
29
|
});
|
|
30
30
|
exports.AgoraRteEngine = void 0;
|
|
31
31
|
require("core-js/modules/es.array.concat.js");
|
|
32
|
+
require("core-js/modules/es.date.now.js");
|
|
33
|
+
require("core-js/modules/es.date.to-string.js");
|
|
32
34
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
33
35
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
34
36
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -39,11 +41,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
39
41
|
var _events = require("../utils/events");
|
|
40
42
|
var _configs = require("../../configs");
|
|
41
43
|
var _scene = require("../../scene");
|
|
42
|
-
var _logger = require("../logger");
|
|
43
44
|
var _control = require("../media/control");
|
|
44
45
|
var _rtc = require("../rtc");
|
|
45
46
|
var _rtm = require("../rtm");
|
|
46
|
-
var _log = require("../services/log");
|
|
47
47
|
var _awaitToJs = require("await-to-js");
|
|
48
48
|
var _error = require("../utils/error");
|
|
49
49
|
var _web = require("../rtc/adapter/web");
|
|
@@ -52,6 +52,11 @@ var _bound = require("../decorator/bound");
|
|
|
52
52
|
var _lodash = require("../decorator/lodash");
|
|
53
53
|
var _type = require("../../type");
|
|
54
54
|
var _report = require("../services/report");
|
|
55
|
+
var _logger = require("../logger");
|
|
56
|
+
var _electronLogFile = require("../utils/electron-log-file");
|
|
57
|
+
var _scheduler = require("../log-upload/scheduler");
|
|
58
|
+
var _upload = require("../upload");
|
|
59
|
+
var _handler = require("../log-upload/handler");
|
|
55
60
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
56
61
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
57
62
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -65,15 +70,15 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function (_AGEventEmi
|
|
|
65
70
|
// there will be only 1 rte engine exist at same time
|
|
66
71
|
// so it's safe to overwrite the config directly into global shared variable
|
|
67
72
|
_this._mediaControl = void 0;
|
|
68
|
-
_this._logService = void 0;
|
|
69
73
|
_this._rtmManager = void 0;
|
|
70
74
|
_this._rtcManager = void 0;
|
|
71
75
|
_this._apiServicePathPrefix = '';
|
|
76
|
+
_this._logUploadScheduler = new _scheduler.AgoraLogUploadScheduler();
|
|
77
|
+
_this._electronLogUploadScheduler = new _upload.AgoraUploadScheduler(new _handler.AgoraElectronLogUploadHandler());
|
|
72
78
|
_configs.AgoraRteEngineConfig.setConfig(config);
|
|
73
79
|
if (_configs.AgoraRteEngineConfig.consoleHijackEnabled) {
|
|
74
80
|
_logger.Logger.setupConsoleHijack();
|
|
75
81
|
}
|
|
76
|
-
_this._logService = new _log.AgoraLogService();
|
|
77
82
|
_this._rtmManager = new _rtm.AGRtmManager();
|
|
78
83
|
_this._rtcManager = new _rtc.AGRtcManager(config.rtcConfigs);
|
|
79
84
|
_this._mediaControl = new _control.AgoraMediaControl(_this._rtcManager);
|
|
@@ -120,7 +125,7 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function (_AGEventEmi
|
|
|
120
125
|
};
|
|
121
126
|
_context.next = 9;
|
|
122
127
|
return this._rtmManager.login(rtmToken, userId, {
|
|
123
|
-
uploadLog:
|
|
128
|
+
uploadLog: _configs.AgoraRteEngineConfig.rtmLogUploadEnabled
|
|
124
129
|
});
|
|
125
130
|
case 9:
|
|
126
131
|
return _context.abrupt("return", _context.sent);
|
|
@@ -157,78 +162,79 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function (_AGEventEmi
|
|
|
157
162
|
value: function getAgoraMediaControl() {
|
|
158
163
|
return this._mediaControl;
|
|
159
164
|
}
|
|
165
|
+
}, {
|
|
166
|
+
key: "setCloudProxy",
|
|
167
|
+
value: function setCloudProxy(proxyType) {
|
|
168
|
+
this._rtcManager.setCloudProxy(proxyType);
|
|
169
|
+
}
|
|
160
170
|
}, {
|
|
161
171
|
key: "uploadSDKLogToAgoraService",
|
|
162
172
|
value: function () {
|
|
163
173
|
var _uploadSDKLogToAgoraService = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(tagInfo) {
|
|
164
|
-
var err, consoleLog,
|
|
174
|
+
var err, consoleLog, _yield$to, _yield$to2, _yield$to3, _yield$to4, electronLog, _yield$to5, _yield$to6;
|
|
165
175
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
166
176
|
while (1) switch (_context2.prev = _context2.next) {
|
|
167
177
|
case 0:
|
|
168
|
-
consoleLog =
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
case 4:
|
|
178
|
+
consoleLog = undefined;
|
|
179
|
+
_context2.next = 3;
|
|
180
|
+
return (0, _awaitToJs.to)(_logger.Logger.collectLogs());
|
|
181
|
+
case 3:
|
|
173
182
|
_yield$to = _context2.sent;
|
|
174
183
|
_yield$to2 = (0, _slicedToArray2["default"])(_yield$to, 2);
|
|
175
184
|
err = _yield$to2[0];
|
|
176
185
|
consoleLog = _yield$to2[1];
|
|
177
|
-
if (err) {
|
|
178
|
-
_context2.next =
|
|
186
|
+
if (!(!err && consoleLog)) {
|
|
187
|
+
_context2.next = 21;
|
|
179
188
|
break;
|
|
180
189
|
}
|
|
181
|
-
_context2.next =
|
|
182
|
-
return (0, _awaitToJs.to)(this.
|
|
183
|
-
|
|
190
|
+
_context2.next = 10;
|
|
191
|
+
return (0, _awaitToJs.to)(this._logUploadScheduler.scheduleUploadTask({
|
|
192
|
+
id: Date.now(),
|
|
193
|
+
file: consoleLog,
|
|
194
|
+
tagInfo: tagInfo
|
|
195
|
+
}));
|
|
196
|
+
case 10:
|
|
184
197
|
_yield$to3 = _context2.sent;
|
|
185
198
|
_yield$to4 = (0, _slicedToArray2["default"])(_yield$to3, 1);
|
|
186
199
|
err = _yield$to4[0];
|
|
187
200
|
if (!err) {
|
|
188
|
-
_context2.next =
|
|
201
|
+
_context2.next = 17;
|
|
189
202
|
break;
|
|
190
203
|
}
|
|
191
|
-
_error.RteErrorCenter.shared.
|
|
192
|
-
_context2.next =
|
|
204
|
+
_error.RteErrorCenter.shared.handleThrowableError(_error.AGRteErrorCode.RTE_ERR_WEB_LOG_UPLOAD_ERR, err);
|
|
205
|
+
_context2.next = 19;
|
|
193
206
|
break;
|
|
194
|
-
case
|
|
195
|
-
_context2.next =
|
|
196
|
-
return (0, _awaitToJs.to)(_logger.Logger.
|
|
197
|
-
case
|
|
198
|
-
_context2.next =
|
|
207
|
+
case 17:
|
|
208
|
+
_context2.next = 19;
|
|
209
|
+
return (0, _awaitToJs.to)(_logger.Logger.flush());
|
|
210
|
+
case 19:
|
|
211
|
+
_context2.next = 22;
|
|
199
212
|
break;
|
|
213
|
+
case 21:
|
|
214
|
+
_error.RteErrorCenter.shared.handleThrowableError(_error.AGRteErrorCode.RTE_ERR_WEB_LOG_UPLOAD_ERR, err);
|
|
200
215
|
case 22:
|
|
201
|
-
|
|
202
|
-
case 23:
|
|
216
|
+
electronLog = null;
|
|
203
217
|
if (!(_configs.AgoraRteEngineConfig.platform === _type.AgoraRteRuntimePlatform.Electron)) {
|
|
204
|
-
_context2.next =
|
|
218
|
+
_context2.next = 31;
|
|
205
219
|
break;
|
|
206
220
|
}
|
|
207
221
|
_context2.next = 26;
|
|
208
|
-
return (0, _awaitToJs.to)(
|
|
222
|
+
return (0, _awaitToJs.to)((0, _electronLogFile.collectElectronLogs)(_electron.RtcAdapterElectron.logBasePath, _electron.RtcAdapterElectron.logFolderPath));
|
|
209
223
|
case 26:
|
|
210
224
|
_yield$to5 = _context2.sent;
|
|
211
225
|
_yield$to6 = (0, _slicedToArray2["default"])(_yield$to5, 2);
|
|
212
226
|
err = _yield$to6[0];
|
|
213
227
|
electronLog = _yield$to6[1];
|
|
214
|
-
if (err) {
|
|
215
|
-
|
|
216
|
-
|
|
228
|
+
if (!err && electronLog) {
|
|
229
|
+
this._electronLogUploadScheduler.addUploadTask({
|
|
230
|
+
id: Date.now(),
|
|
231
|
+
file: electronLog,
|
|
232
|
+
tagInfo: tagInfo
|
|
233
|
+
});
|
|
234
|
+
} else {
|
|
235
|
+
_error.RteErrorCenter.shared.handleThrowableError(_error.AGRteErrorCode.RTE_ERR_ELECTRON_LOG_UPLOAD_ERR, err);
|
|
217
236
|
}
|
|
218
|
-
|
|
219
|
-
return (0, _awaitToJs.to)(this._logService.uploadZipLogFile(tagInfo, electronLog));
|
|
220
|
-
case 33:
|
|
221
|
-
_yield$to7 = _context2.sent;
|
|
222
|
-
_yield$to8 = (0, _slicedToArray2["default"])(_yield$to7, 1);
|
|
223
|
-
err = _yield$to8[0];
|
|
224
|
-
if (err) {
|
|
225
|
-
_error.RteErrorCenter.shared.handleNonThrowableError(_error.AGRteErrorCode.RTE_ERR_ELECTRON_LOG_UPLOAD_ERR, err);
|
|
226
|
-
}
|
|
227
|
-
_context2.next = 40;
|
|
228
|
-
break;
|
|
229
|
-
case 39:
|
|
230
|
-
_error.RteErrorCenter.shared.handleNonThrowableError(_error.AGRteErrorCode.RTE_ERR_ELECTRON_LOG_UPLOAD_ERR, err);
|
|
231
|
-
case 40:
|
|
237
|
+
case 31:
|
|
232
238
|
case "end":
|
|
233
239
|
return _context2.stop();
|
|
234
240
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AgoraUploadHandler } from '../upload';
|
|
2
|
+
import { AgoraLogUploadTask } from './type';
|
|
3
|
+
export declare class AgoraLogUploadHandler implements AgoraUploadHandler<AgoraLogUploadTask> {
|
|
4
|
+
protected _policyHost: string;
|
|
5
|
+
protected _httpTimeout: number;
|
|
6
|
+
protected _osName: string | undefined;
|
|
7
|
+
protected _osVersion: string | undefined;
|
|
8
|
+
protected _appId: string;
|
|
9
|
+
protected _appVersion: string;
|
|
10
|
+
protected _platform: string;
|
|
11
|
+
constructor();
|
|
12
|
+
handleUpload(task: AgoraLogUploadTask): Promise<void>;
|
|
13
|
+
private _putFile;
|
|
14
|
+
private _fetchPresignedArgs;
|
|
15
|
+
private _getHttpHeaders;
|
|
16
|
+
}
|
|
17
|
+
export declare class AgoraWebLogUploadHandler extends AgoraLogUploadHandler {
|
|
18
|
+
constructor();
|
|
19
|
+
}
|
|
20
|
+
export declare class AgoraElectronLogUploadHandler extends AgoraLogUploadHandler {
|
|
21
|
+
constructor();
|
|
22
|
+
}
|