core-3nweb-client-lib 0.41.14 → 0.42.0
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/build/core/asmail/inbox/inbox-events.d.ts +16 -2
- package/build/core/asmail/inbox/inbox-events.js +91 -17
- package/build/core/asmail/inbox/index.d.ts +2 -0
- package/build/core/asmail/inbox/index.js +9 -2
- package/build/core/asmail/index.d.ts +2 -0
- package/build/core/asmail/index.js +6 -0
- package/build/core/index.js +8 -2
- package/build/core/storage/index.d.ts +2 -19
- package/build/core/storage/index.js +10 -3
- package/build/core/storage/synced/remote-events.d.ts +2 -0
- package/build/core/storage/synced/remote-events.js +19 -3
- package/build/core/storage/synced/storage.d.ts +2 -0
- package/build/core/storage/synced/storage.js +7 -1
- package/build/lib-client/server-events.d.ts +1 -3
- package/build/lib-client/server-events.js +6 -32
- package/build/lib-client/xsp-fs/common.d.ts +2 -0
- package/build/lib-client/xsp-fs/common.js +3 -1
- package/build/lib-index.d.ts +1 -1
- package/build/lib-index.js +1 -2
- package/package.json +1 -1
- package/{test-data-10-1759456540615/util/logs/2025-10-03.log.txt → test-data-1-1759545630658/util/logs/2025-10-04.log.txt} +4 -4
- package/test-data-10-1759545670471/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-11-1759545670472/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-12-1759545674484/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-13-1759545675527/util/logs/2025-10-04.log.txt +28 -0
- package/test-data-2-1759545630661/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-3-1759545636022/util/logs/2025-10-04.log.txt +28 -0
- package/test-data-4-1759545642255/util/logs/2025-10-04.log.txt +28 -0
- package/test-data-5-1759545652091/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-6-1759545654150/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-7-1759545656281/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-8-1759545665798/util/logs/2025-10-04.log.txt +14 -0
- package/test-data-9-1759545666746/util/logs/2025-10-04.log.txt +28 -0
- package/test-data-1-1759456500985/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-11-1759456540616/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-12-1759456544627/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-13-1759456545560/util/logs/2025-10-03.log.txt +0 -14
- package/test-data-2-1759456500988/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-3-1759456506409/util/logs/2025-10-03.log.txt +0 -14
- package/test-data-4-1759456512650/util/logs/2025-10-03.log.txt +0 -14
- package/test-data-5-1759456522373/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-6-1759456524407/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-7-1759456526517/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-8-1759456536045/util/logs/2025-10-03.log.txt +0 -7
- package/test-data-9-1759456536980/util/logs/2025-10-03.log.txt +0 -14
|
@@ -14,8 +14,22 @@ type Observer<T> = web3n.Observer<T>;
|
|
|
14
14
|
* Hence, this should do restarts to server around wakeup events.
|
|
15
15
|
*/
|
|
16
16
|
export declare class InboxEvents {
|
|
17
|
-
|
|
18
|
-
private
|
|
17
|
+
private readonly getMsg;
|
|
18
|
+
private readonly rmMsg;
|
|
19
|
+
private readonly logError;
|
|
20
|
+
private readonly newMsgs;
|
|
21
|
+
private readonly newMsg$;
|
|
22
|
+
private listeningProc;
|
|
23
|
+
private readonly makeServerEvents;
|
|
24
|
+
private networkActive;
|
|
25
|
+
constructor(msgReceiver: MailRecipient, getMsg: (msgId: string) => Promise<IncomingMessage>, rmMsg: (msgId: string) => Promise<void>, logError: LogError);
|
|
26
|
+
private startListening;
|
|
19
27
|
subscribe<T>(event: InboxEventType, observer: Observer<T>): () => void;
|
|
28
|
+
close(): void;
|
|
29
|
+
get isListening(): boolean;
|
|
30
|
+
private shouldRestartAfterErr;
|
|
31
|
+
private stopListening;
|
|
32
|
+
suspendNetworkActivity(): void;
|
|
33
|
+
resumeNetworkActivity(): void;
|
|
20
34
|
}
|
|
21
35
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Copyright (C) 2017, 2019, 2022, 2024 3NSoft Inc.
|
|
3
|
+
Copyright (C) 2017, 2019, 2022, 2024 - 2025 3NSoft Inc.
|
|
4
4
|
|
|
5
5
|
This program is free software: you can redistribute it and/or modify it under
|
|
6
6
|
the terms of the GNU General Public License as published by the Free Software
|
|
@@ -13,13 +13,16 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.InboxEvents = void 0;
|
|
20
|
+
const rxjs_1 = require("rxjs");
|
|
19
21
|
const retrieval_1 = require("../../../lib-common/service-api/asmail/retrieval");
|
|
20
22
|
const server_events_1 = require("../../../lib-client/server-events");
|
|
21
23
|
const operators_1 = require("rxjs/operators");
|
|
22
24
|
const utils_for_observables_1 = require("../../../lib-common/utils-for-observables");
|
|
25
|
+
const sleep_1 = require("../../../lib-common/processes/sleep");
|
|
23
26
|
const SERVER_EVENTS_RESTART_WAIT_SECS = 5;
|
|
24
27
|
/**
|
|
25
28
|
* Instance of this class handles event subscription from UI side. It observes
|
|
@@ -32,25 +35,56 @@ const SERVER_EVENTS_RESTART_WAIT_SECS = 5;
|
|
|
32
35
|
* Hence, this should do restarts to server around wakeup events.
|
|
33
36
|
*/
|
|
34
37
|
class InboxEvents {
|
|
35
|
-
constructor(msgReceiver, getMsg, logError) {
|
|
36
|
-
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
(0, operators_1.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
constructor(msgReceiver, getMsg, rmMsg, logError) {
|
|
39
|
+
this.getMsg = getMsg;
|
|
40
|
+
this.rmMsg = rmMsg;
|
|
41
|
+
this.logError = logError;
|
|
42
|
+
this.newMsgs = new rxjs_1.Subject();
|
|
43
|
+
this.newMsg$ = this.newMsgs.asObservable().pipe((0, operators_1.share)());
|
|
44
|
+
this.listeningProc = undefined;
|
|
45
|
+
this.networkActive = true;
|
|
46
|
+
this.makeServerEvents = () => new server_events_1.ServerEvents(() => msgReceiver.openEventSource(this.logError), this.logError);
|
|
47
|
+
this.startListening();
|
|
48
|
+
Object.seal(this);
|
|
49
|
+
}
|
|
50
|
+
startListening() {
|
|
51
|
+
if (this.listeningProc || !this.networkActive) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
function clearListeningProc() {
|
|
55
|
+
if (this.listeningProc === sub) {
|
|
56
|
+
this.listeningProc = undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const sub = this.makeServerEvents()
|
|
60
|
+
.observe(retrieval_1.msgRecievedCompletely.EVENT_NAME)
|
|
61
|
+
.pipe((0, operators_1.mergeMap)(async (ev) => {
|
|
44
62
|
try {
|
|
45
|
-
|
|
46
|
-
return msg;
|
|
63
|
+
return await this.getMsg(ev.msgId);
|
|
47
64
|
}
|
|
48
65
|
catch (err) {
|
|
49
|
-
|
|
50
|
-
await logError(err, `Cannot get message ${ev.msgId}`);
|
|
66
|
+
await this.rmMsg(ev.msgId);
|
|
67
|
+
await this.logError(err, `Cannot get message ${ev.msgId}, and removing it as a result`);
|
|
51
68
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
69
|
+
}, 5))
|
|
70
|
+
.subscribe({
|
|
71
|
+
next: msg => {
|
|
72
|
+
if (msg) {
|
|
73
|
+
this.newMsgs.next(msg);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
complete: () => {
|
|
77
|
+
clearListeningProc();
|
|
78
|
+
},
|
|
79
|
+
error: async (exc) => {
|
|
80
|
+
clearListeningProc();
|
|
81
|
+
if (this.shouldRestartAfterErr(exc)) {
|
|
82
|
+
await (0, sleep_1.sleep)(SERVER_EVENTS_RESTART_WAIT_SECS);
|
|
83
|
+
this.startListening();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
this.listeningProc = sub;
|
|
54
88
|
}
|
|
55
89
|
subscribe(event, observer) {
|
|
56
90
|
if (event === 'message') {
|
|
@@ -61,6 +95,46 @@ class InboxEvents {
|
|
|
61
95
|
throw new Error(`Event type ${event} is unknown to inbox`);
|
|
62
96
|
}
|
|
63
97
|
}
|
|
98
|
+
close() {
|
|
99
|
+
this.newMsgs.complete();
|
|
100
|
+
}
|
|
101
|
+
get isListening() {
|
|
102
|
+
return !!this.listeningProc;
|
|
103
|
+
}
|
|
104
|
+
shouldRestartAfterErr(exc) {
|
|
105
|
+
if (!exc.runtimeException) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (exc.type === 'connect') {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
else if (exc.type === 'http-request') {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
else if (exc.type === 'websocket') {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
stopListening() {
|
|
122
|
+
var _a;
|
|
123
|
+
(_a = this.listeningProc) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
124
|
+
this.listeningProc = undefined;
|
|
125
|
+
}
|
|
126
|
+
suspendNetworkActivity() {
|
|
127
|
+
this.networkActive = false;
|
|
128
|
+
if (this.isListening) {
|
|
129
|
+
this.stopListening();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
resumeNetworkActivity() {
|
|
133
|
+
this.networkActive = true;
|
|
134
|
+
if (!this.isListening) {
|
|
135
|
+
this.startListening();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
64
138
|
}
|
|
65
139
|
exports.InboxEvents = InboxEvents;
|
|
66
140
|
Object.freeze(InboxEvents.prototype);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Copyright (C) 2015 - 2020, 2022 3NSoft Inc.
|
|
3
|
+
Copyright (C) 2015 - 2020, 2022, 2025 3NSoft Inc.
|
|
4
4
|
|
|
5
5
|
This program is free software: you can redistribute it and/or modify it under
|
|
6
6
|
the terms of the GNU General Public License as published by the Free Software
|
|
@@ -51,7 +51,7 @@ class InboxOnServer {
|
|
|
51
51
|
this.logError = logError;
|
|
52
52
|
this.procs = new synced_1.NamedProcs();
|
|
53
53
|
this.recentlyOpenedMsgs = (0, timed_cache_1.makeTimedCache)(60 * 1000);
|
|
54
|
-
this.inboxEvents = new inbox_events_1.InboxEvents(this.msgReceiver, this.getMsg.bind(this), this.logError);
|
|
54
|
+
this.inboxEvents = new inbox_events_1.InboxEvents(this.msgReceiver, this.getMsg.bind(this), this.removeMsg.bind(this), this.logError);
|
|
55
55
|
Object.seal(this);
|
|
56
56
|
}
|
|
57
57
|
static async makeAndStart(cachePath, syncedFS, r) {
|
|
@@ -71,6 +71,7 @@ class InboxOnServer {
|
|
|
71
71
|
}
|
|
72
72
|
async close() {
|
|
73
73
|
this.index.stopSyncing();
|
|
74
|
+
this.inboxEvents.close();
|
|
74
75
|
}
|
|
75
76
|
makeCAP() {
|
|
76
77
|
const service = {
|
|
@@ -309,6 +310,12 @@ class InboxOnServer {
|
|
|
309
310
|
}
|
|
310
311
|
return m;
|
|
311
312
|
}
|
|
313
|
+
suspendNetworkActivity() {
|
|
314
|
+
this.inboxEvents.suspendNetworkActivity();
|
|
315
|
+
}
|
|
316
|
+
resumeNetworkActivity() {
|
|
317
|
+
this.inboxEvents.resumeNetworkActivity();
|
|
318
|
+
}
|
|
312
319
|
}
|
|
313
320
|
exports.InboxOnServer = InboxOnServer;
|
|
314
321
|
Object.freeze(InboxOnServer.prototype);
|
|
@@ -129,6 +129,12 @@ class ASMail {
|
|
|
129
129
|
await this.keyring.close();
|
|
130
130
|
await this.sendingParams.close();
|
|
131
131
|
}
|
|
132
|
+
suspendNetworkActivity() {
|
|
133
|
+
this.inbox.suspendNetworkActivity();
|
|
134
|
+
}
|
|
135
|
+
resumeNetworkActivity() {
|
|
136
|
+
this.inbox.resumeNetworkActivity();
|
|
137
|
+
}
|
|
132
138
|
}
|
|
133
139
|
exports.ASMail = ASMail;
|
|
134
140
|
Object.freeze(ASMail.prototype);
|
package/build/core/index.js
CHANGED
|
@@ -326,8 +326,14 @@ class Core {
|
|
|
326
326
|
getStorages() {
|
|
327
327
|
return this.storages.wrap();
|
|
328
328
|
}
|
|
329
|
-
async onDeviceSystemSuspend() {
|
|
330
|
-
|
|
329
|
+
async onDeviceSystemSuspend() {
|
|
330
|
+
this.asmail.suspendNetworkActivity();
|
|
331
|
+
this.storages.suspendNetworkActivity();
|
|
332
|
+
}
|
|
333
|
+
async onDeviceSystemResume() {
|
|
334
|
+
this.storages.resumeNetworkActivity();
|
|
335
|
+
this.asmail.resumeNetworkActivity();
|
|
336
|
+
}
|
|
331
337
|
}
|
|
332
338
|
exports.Core = Core;
|
|
333
339
|
Object.freeze(Core.prototype);
|
|
@@ -46,6 +46,8 @@ export declare class Storages implements FactoryOfFSs {
|
|
|
46
46
|
* @param dst is a path starting with core app folder name
|
|
47
47
|
*/
|
|
48
48
|
migrateCoreAppDataOnFirstRun(type: StorageType, src: string, dst: string): Promise<void>;
|
|
49
|
+
suspendNetworkActivity(): void;
|
|
50
|
+
resumeNetworkActivity(): void;
|
|
49
51
|
}
|
|
50
52
|
export interface FactoryOfFSs {
|
|
51
53
|
makeSyncedFSForApp(appFolder: string): Promise<WritableFS>;
|
|
@@ -57,23 +59,4 @@ export interface FactoryOfFSs {
|
|
|
57
59
|
export declare function reverseDomain(domain: string): string;
|
|
58
60
|
type Service = web3n.storage.Service;
|
|
59
61
|
type StoragePolicy = web3n.caps.common.StoragePolicy;
|
|
60
|
-
export declare class PerAppStorage {
|
|
61
|
-
private readonly appFSsFactory;
|
|
62
|
-
private readonly policy;
|
|
63
|
-
private readonly appFSs;
|
|
64
|
-
private readonly revAppDomain;
|
|
65
|
-
constructor(appFSsFactory: FactoryOfFSs, appDomain: string, policy: StoragePolicy);
|
|
66
|
-
wrap(): ReturnType<Storages['makeStorageCAP']>;
|
|
67
|
-
private getAppSyncedFS;
|
|
68
|
-
private getAppLocalFS;
|
|
69
|
-
/**
|
|
70
|
-
* This throws up, if given file system is not allowed to be opened.
|
|
71
|
-
* @param appFolder
|
|
72
|
-
* @param type
|
|
73
|
-
*/
|
|
74
|
-
private ensureAppFSAllowed;
|
|
75
|
-
private getUserFS;
|
|
76
|
-
private getSysFS;
|
|
77
|
-
private close;
|
|
78
|
-
}
|
|
79
62
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Copyright (C) 2015 - 2017, 2019 - 2022 3NSoft Inc.
|
|
3
|
+
Copyright (C) 2015 - 2017, 2019 - 2022, 2025 3NSoft Inc.
|
|
4
4
|
|
|
5
5
|
This program is free software: you can redistribute it and/or modify it under
|
|
6
6
|
the terms of the GNU General Public License as published by the Free Software
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.
|
|
19
|
+
exports.Storages = void 0;
|
|
20
20
|
exports.reverseDomain = reverseDomain;
|
|
21
21
|
const fs_1 = require("../../lib-client/xsp-fs/fs");
|
|
22
22
|
const storage_1 = require("./synced/storage");
|
|
@@ -386,6 +386,14 @@ class Storages {
|
|
|
386
386
|
await this.local.migrateCoreAppDataOnFirstRun(src, dst);
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
|
+
suspendNetworkActivity() {
|
|
390
|
+
var _a;
|
|
391
|
+
(_a = this.synced) === null || _a === void 0 ? void 0 : _a.storage.suspendNetworkActivity();
|
|
392
|
+
}
|
|
393
|
+
resumeNetworkActivity() {
|
|
394
|
+
var _a;
|
|
395
|
+
(_a = this.synced) === null || _a === void 0 ? void 0 : _a.storage.resumeNetworkActivity();
|
|
396
|
+
}
|
|
389
397
|
}
|
|
390
398
|
exports.Storages = Storages;
|
|
391
399
|
Object.freeze(Storages.prototype);
|
|
@@ -482,7 +490,6 @@ class PerAppStorage {
|
|
|
482
490
|
this.appFSs.clear();
|
|
483
491
|
}
|
|
484
492
|
}
|
|
485
|
-
exports.PerAppStorage = PerAppStorage;
|
|
486
493
|
Object.freeze(PerAppStorage.prototype);
|
|
487
494
|
Object.freeze(PerAppStorage);
|
|
488
495
|
async function applyPolicyToFSItem(fsi, policy, path) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Copyright (C) 2019 - 2020, 2022 3NSoft Inc.
|
|
3
|
+
Copyright (C) 2019 - 2020, 2022, 2025 3NSoft Inc.
|
|
4
4
|
|
|
5
5
|
This program is free software: you can redistribute it and/or modify it under
|
|
6
6
|
the terms of the GNU General Public License as published by the Free Software
|
|
@@ -36,8 +36,14 @@ class RemoteEvents {
|
|
|
36
36
|
Object.seal(this);
|
|
37
37
|
}
|
|
38
38
|
startAbsorbingRemoteEvents() {
|
|
39
|
-
const serverEvents = new server_events_1.ServerEvents(() => this.remoteStorage.openEventSource(this.logError),
|
|
40
|
-
|
|
39
|
+
const serverEvents = new server_events_1.ServerEvents(() => this.remoteStorage.openEventSource(this.logError),
|
|
40
|
+
// SERVER_EVENTS_RESTART_WAIT_SECS,
|
|
41
|
+
this.logError);
|
|
42
|
+
this.absorbingRemoteEventsProc = (0, rxjs_1.merge)(this.absorbObjChange(serverEvents), this.absorbObjRemoval(serverEvents),
|
|
43
|
+
// XXX commenting out to see if unknownEvent exception goes away
|
|
44
|
+
// Is server doesn't know it?
|
|
45
|
+
// this.absorbObjVersionArchival(serverEvents),
|
|
46
|
+
this.absorbArchVersionRemoval(serverEvents))
|
|
41
47
|
.subscribe({
|
|
42
48
|
next: noop,
|
|
43
49
|
error: async (err) => {
|
|
@@ -117,6 +123,16 @@ class RemoteEvents {
|
|
|
117
123
|
});
|
|
118
124
|
}, 1));
|
|
119
125
|
}
|
|
126
|
+
suspendNetworkActivity() {
|
|
127
|
+
// XXX
|
|
128
|
+
// - set haveNetwork flag to false
|
|
129
|
+
// - press breaks on events from server
|
|
130
|
+
}
|
|
131
|
+
resumeNetworkActivity() {
|
|
132
|
+
// XXX
|
|
133
|
+
// - set haveNetwork flag to true
|
|
134
|
+
// - restart watching events from server
|
|
135
|
+
}
|
|
120
136
|
}
|
|
121
137
|
exports.RemoteEvents = RemoteEvents;
|
|
122
138
|
Object.freeze(RemoteEvents.prototype);
|
|
@@ -53,5 +53,7 @@ export declare class SyncedStore implements ISyncedStorage {
|
|
|
53
53
|
saveObj(objId: ObjId, version: number, encSub: Subscribe): Promise<void>;
|
|
54
54
|
removeObj(objId: string): Promise<void>;
|
|
55
55
|
close(): Promise<void>;
|
|
56
|
+
suspendNetworkActivity(): void;
|
|
57
|
+
resumeNetworkActivity(): void;
|
|
56
58
|
}
|
|
57
59
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Copyright (C) 2015 - 2020, 2022 3NSoft Inc.
|
|
3
|
+
Copyright (C) 2015 - 2020, 2022, 2025 3NSoft Inc.
|
|
4
4
|
|
|
5
5
|
This program is free software: you can redistribute it and/or modify it under
|
|
6
6
|
the terms of the GNU General Public License as published by the Free Software
|
|
@@ -248,6 +248,12 @@ class SyncedStore {
|
|
|
248
248
|
await this.logError(err);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
+
suspendNetworkActivity() {
|
|
252
|
+
this.remoteEvents.suspendNetworkActivity();
|
|
253
|
+
}
|
|
254
|
+
resumeNetworkActivity() {
|
|
255
|
+
this.remoteEvents.resumeNetworkActivity();
|
|
256
|
+
}
|
|
251
257
|
}
|
|
252
258
|
exports.SyncedStore = SyncedStore;
|
|
253
259
|
Object.freeze(SyncedStore.prototype);
|
|
@@ -3,11 +3,10 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { LogError } from './logging/log-to-file';
|
|
4
4
|
export declare class ServerEvents<N extends string, T> {
|
|
5
5
|
private readonly subscribeToServer;
|
|
6
|
-
private restartWaitSecs;
|
|
7
6
|
private readonly logError;
|
|
8
7
|
private server;
|
|
9
8
|
private openningServer;
|
|
10
|
-
constructor(subscribeToServer: () => Promise<SubscribingClient>,
|
|
9
|
+
constructor(subscribeToServer: () => Promise<SubscribingClient>, logError: LogError);
|
|
11
10
|
/**
|
|
12
11
|
* This method creates an observable of server's events.
|
|
13
12
|
* @param event is an event on server, to which to subscribe.
|
|
@@ -15,5 +14,4 @@ export declare class ServerEvents<N extends string, T> {
|
|
|
15
14
|
observe(event: N): Observable<T>;
|
|
16
15
|
private setServer;
|
|
17
16
|
private shouldRestartAfterErr;
|
|
18
|
-
private restartObservation;
|
|
19
17
|
}
|
|
@@ -19,12 +19,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
19
19
|
exports.ServerEvents = void 0;
|
|
20
20
|
const rxjs_1 = require("rxjs");
|
|
21
21
|
const synced_1 = require("../lib-common/processes/synced");
|
|
22
|
-
const sleep_1 = require("../lib-common/processes/sleep");
|
|
23
|
-
const operators_1 = require("rxjs/operators");
|
|
24
22
|
class ServerEvents {
|
|
25
|
-
constructor(subscribeToServer,
|
|
23
|
+
constructor(subscribeToServer,
|
|
24
|
+
// private restartWaitSecs: number,
|
|
25
|
+
logError) {
|
|
26
26
|
this.subscribeToServer = subscribeToServer;
|
|
27
|
-
this.restartWaitSecs = restartWaitSecs;
|
|
28
27
|
this.logError = logError;
|
|
29
28
|
this.server = undefined;
|
|
30
29
|
this.openningServer = new synced_1.SingleProc();
|
|
@@ -35,7 +34,7 @@ class ServerEvents {
|
|
|
35
34
|
* @param event is an event on server, to which to subscribe.
|
|
36
35
|
*/
|
|
37
36
|
observe(event) {
|
|
38
|
-
|
|
37
|
+
return new rxjs_1.Observable(observer => {
|
|
39
38
|
// simple sync creation of detach function
|
|
40
39
|
if (this.server) {
|
|
41
40
|
return this.server.subscribe(event, observer);
|
|
@@ -57,9 +56,7 @@ class ServerEvents {
|
|
|
57
56
|
obs = undefined;
|
|
58
57
|
})
|
|
59
58
|
.catch(err => {
|
|
60
|
-
|
|
61
|
-
obs.error(err);
|
|
62
|
-
}
|
|
59
|
+
obs === null || obs === void 0 ? void 0 : obs.error(err);
|
|
63
60
|
obs = undefined;
|
|
64
61
|
});
|
|
65
62
|
return () => {
|
|
@@ -71,22 +68,7 @@ class ServerEvents {
|
|
|
71
68
|
obs = undefined;
|
|
72
69
|
}
|
|
73
70
|
};
|
|
74
|
-
})
|
|
75
|
-
.pipe(
|
|
76
|
-
// XXX tap to log more details
|
|
77
|
-
(0, operators_1.tap)({
|
|
78
|
-
complete: () => this.logError(null, `ServerEvents.observe('${event}') stream completes`),
|
|
79
|
-
error: err => this.logError(err, `ServerEvents.observe('${event}') stream has error`)
|
|
80
|
-
}), (0, operators_1.catchError)(err => {
|
|
81
|
-
if (this.shouldRestartAfterErr(err)) {
|
|
82
|
-
// console.error(stringifyErr(err));
|
|
83
|
-
return this.restartObservation(event);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
return (0, rxjs_1.throwError)(() => err);
|
|
87
|
-
}
|
|
88
|
-
}));
|
|
89
|
-
return event$;
|
|
71
|
+
});
|
|
90
72
|
}
|
|
91
73
|
setServer(server) {
|
|
92
74
|
this.server = server;
|
|
@@ -113,14 +95,6 @@ class ServerEvents {
|
|
|
113
95
|
return false;
|
|
114
96
|
}
|
|
115
97
|
}
|
|
116
|
-
restartObservation(event) {
|
|
117
|
-
return (0, rxjs_1.from)((0, sleep_1.sleep)(this.restartWaitSecs * 1000))
|
|
118
|
-
.pipe(
|
|
119
|
-
// XXX tap to log more details
|
|
120
|
-
(0, operators_1.tap)({
|
|
121
|
-
next: () => this.logError(null, `ServerEvents.restartObservation of ${event} events`)
|
|
122
|
-
}), (0, operators_1.mergeMap)(() => this.observe(event)));
|
|
123
|
-
}
|
|
124
98
|
}
|
|
125
99
|
exports.ServerEvents = ServerEvents;
|
|
126
100
|
Object.freeze(ServerEvents.prototype);
|
|
@@ -120,6 +120,8 @@ export interface SyncedStorage extends Storage {
|
|
|
120
120
|
dropCachedLocalObjVersionsLessOrEqual(objId: ObjId, localVersion: number): void;
|
|
121
121
|
uploadObjRemoval(objId: ObjId): Promise<void>;
|
|
122
122
|
status(objId: ObjId): Promise<SyncedObjStatus>;
|
|
123
|
+
suspendNetworkActivity(): void;
|
|
124
|
+
resumeNetworkActivity(): void;
|
|
123
125
|
}
|
|
124
126
|
export interface SyncedObjStatus extends LocalObjStatus {
|
|
125
127
|
syncStatus(): SyncStatus;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Copyright (C) 2015 - 2017, 2019 - 2020, 2022 3NSoft Inc.
|
|
3
|
+
Copyright (C) 2015 - 2017, 2019 - 2020, 2022, 2025 3NSoft Inc.
|
|
4
4
|
|
|
5
5
|
This program is free software: you can redistribute it and/or modify it under
|
|
6
6
|
the terms of the GNU General Public License as published by the Free Software
|
|
@@ -136,6 +136,8 @@ function wrapSyncStorageImplementation(impl) {
|
|
|
136
136
|
wrap.dropCachedLocalObjVersionsLessOrEqual = impl.dropCachedLocalObjVersionsLessOrEqual.bind(impl);
|
|
137
137
|
wrap.adoptRemote = impl.adoptRemote.bind(impl);
|
|
138
138
|
wrap.updateStatusInfo = impl.updateStatusInfo.bind(impl);
|
|
139
|
+
wrap.suspendNetworkActivity = impl.suspendNetworkActivity.bind(impl);
|
|
140
|
+
wrap.resumeNetworkActivity = impl.resumeNetworkActivity.bind(impl);
|
|
139
141
|
return Object.freeze(wrap);
|
|
140
142
|
}
|
|
141
143
|
function isSyncedStorage(storage) {
|
package/build/lib-index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export * from "./core";
|
|
3
3
|
export { SignUp, CreatedUser } from './core/startup/sign-up';
|
|
4
4
|
export { IdManager } from './core/id-manager';
|
|
5
|
-
export { Storages, FactoryOfFSs, reverseDomain
|
|
5
|
+
export { Storages, FactoryOfFSs, reverseDomain } from './core/storage';
|
|
6
6
|
export { SignIn, GenerateKey, CompleteInitWithoutCache } from './core/startup/sign-in';
|
|
7
7
|
export { ASMail } from './core/asmail';
|
|
8
8
|
export { makeServiceLocator, ServiceLocatorMaker } from "./lib-client/service-locator";
|
package/build/lib-index.js
CHANGED
|
@@ -30,7 +30,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
30
30
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
31
31
|
};
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.makeLogger = exports.DeviceFS = exports.sysFolders = exports.appDirs = exports.makeNetClient = exports.makeServiceLocator = exports.ASMail = exports.SignIn = exports.
|
|
33
|
+
exports.makeLogger = exports.DeviceFS = exports.sysFolders = exports.appDirs = exports.makeNetClient = exports.makeServiceLocator = exports.ASMail = exports.SignIn = exports.reverseDomain = exports.Storages = exports.IdManager = exports.SignUp = void 0;
|
|
34
34
|
__exportStar(require("./core"), exports);
|
|
35
35
|
var sign_up_1 = require("./core/startup/sign-up");
|
|
36
36
|
Object.defineProperty(exports, "SignUp", { enumerable: true, get: function () { return sign_up_1.SignUp; } });
|
|
@@ -39,7 +39,6 @@ Object.defineProperty(exports, "IdManager", { enumerable: true, get: function ()
|
|
|
39
39
|
var storage_1 = require("./core/storage");
|
|
40
40
|
Object.defineProperty(exports, "Storages", { enumerable: true, get: function () { return storage_1.Storages; } });
|
|
41
41
|
Object.defineProperty(exports, "reverseDomain", { enumerable: true, get: function () { return storage_1.reverseDomain; } });
|
|
42
|
-
Object.defineProperty(exports, "PerAppStorage", { enumerable: true, get: function () { return storage_1.PerAppStorage; } });
|
|
43
42
|
var sign_in_1 = require("./core/startup/sign-in");
|
|
44
43
|
Object.defineProperty(exports, "SignIn", { enumerable: true, get: function () { return sign_in_1.SignIn; } });
|
|
45
44
|
var asmail_1 = require("./core/asmail");
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
|
-
Core version 0.
|
|
2
|
+
Fri Oct 03 2025 22:40:50 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
4
|
Log level: error.
|
|
5
5
|
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
6
|
|
|
7
7
|
Error message: undefined
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
Core version 0.
|
|
9
|
+
Fri Oct 03 2025 22:40:50 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
11
|
Log level: error.
|
|
12
12
|
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
13
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:41:14 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:41:14 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:41:14 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:41:14 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:41:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:41:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:41:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:41:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
15
|
+
|
|
16
|
+
Fri Oct 03 2025 22:41:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
17
|
+
Core version 0.42.0
|
|
18
|
+
Log level: error.
|
|
19
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
20
|
+
|
|
21
|
+
Error message: undefined
|
|
22
|
+
|
|
23
|
+
Fri Oct 03 2025 22:41:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
24
|
+
Core version 0.42.0
|
|
25
|
+
Log level: error.
|
|
26
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
27
|
+
|
|
28
|
+
Error message: undefined
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:40:52 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:40:52 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:40:42 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:40:42 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
15
|
+
|
|
16
|
+
Fri Oct 03 2025 22:40:42 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
17
|
+
Core version 0.42.0
|
|
18
|
+
Log level: error.
|
|
19
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
20
|
+
|
|
21
|
+
Error message: undefined
|
|
22
|
+
|
|
23
|
+
Fri Oct 03 2025 22:40:42 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
24
|
+
Core version 0.42.0
|
|
25
|
+
Log level: error.
|
|
26
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
27
|
+
|
|
28
|
+
Error message: undefined
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:40:48 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:40:48 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
15
|
+
|
|
16
|
+
Fri Oct 03 2025 22:40:48 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
17
|
+
Core version 0.42.0
|
|
18
|
+
Log level: error.
|
|
19
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
20
|
+
|
|
21
|
+
Error message: undefined
|
|
22
|
+
|
|
23
|
+
Fri Oct 03 2025 22:40:48 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
24
|
+
Core version 0.42.0
|
|
25
|
+
Log level: error.
|
|
26
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
27
|
+
|
|
28
|
+
Error message: undefined
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:40:54 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:40:54 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:40:56 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:40:56 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:41:05 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:41:05 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:41:10 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:41:10 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
Fri Oct 03 2025 22:41:10 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
+
Core version 0.42.0
|
|
4
|
+
Log level: error.
|
|
5
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
6
|
+
|
|
7
|
+
Error message: undefined
|
|
8
|
+
|
|
9
|
+
Fri Oct 03 2025 22:41:10 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
+
Core version 0.42.0
|
|
11
|
+
Log level: error.
|
|
12
|
+
WebSocket to wss://localhost:8088/asmail/retrieval/events closed with error
|
|
13
|
+
|
|
14
|
+
Error message: undefined
|
|
15
|
+
|
|
16
|
+
Fri Oct 03 2025 22:41:10 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
17
|
+
Core version 0.42.0
|
|
18
|
+
Log level: error.
|
|
19
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
20
|
+
|
|
21
|
+
Error message: undefined
|
|
22
|
+
|
|
23
|
+
Fri Oct 03 2025 22:41:10 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
24
|
+
Core version 0.42.0
|
|
25
|
+
Log level: error.
|
|
26
|
+
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
27
|
+
|
|
28
|
+
Error message: undefined
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Thu Oct 02 2025 21:55:48 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
-
Core version 0.41.14
|
|
4
|
-
Log level: error.
|
|
5
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
6
|
-
|
|
7
|
-
Error message: undefined
|
|
8
|
-
|
|
9
|
-
Thu Oct 02 2025 21:55:48 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
-
Core version 0.41.14
|
|
11
|
-
Log level: error.
|
|
12
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
-
|
|
14
|
-
Error message: undefined
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Thu Oct 02 2025 21:55:12 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
-
Core version 0.41.14
|
|
4
|
-
Log level: error.
|
|
5
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
6
|
-
|
|
7
|
-
Error message: undefined
|
|
8
|
-
|
|
9
|
-
Thu Oct 02 2025 21:55:12 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
-
Core version 0.41.14
|
|
11
|
-
Log level: error.
|
|
12
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
-
|
|
14
|
-
Error message: undefined
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Thu Oct 02 2025 21:55:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
-
Core version 0.41.14
|
|
4
|
-
Log level: error.
|
|
5
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
6
|
-
|
|
7
|
-
Error message: undefined
|
|
8
|
-
|
|
9
|
-
Thu Oct 02 2025 21:55:18 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
-
Core version 0.41.14
|
|
11
|
-
Log level: error.
|
|
12
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
-
|
|
14
|
-
Error message: undefined
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Thu Oct 02 2025 21:55:40 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
3
|
-
Core version 0.41.14
|
|
4
|
-
Log level: error.
|
|
5
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
6
|
-
|
|
7
|
-
Error message: undefined
|
|
8
|
-
|
|
9
|
-
Thu Oct 02 2025 21:55:40 GMT-0400 (Eastern Daylight Saving Time) ==================================
|
|
10
|
-
Core version 0.41.14
|
|
11
|
-
Log level: error.
|
|
12
|
-
WebSocket to wss://localhost:8088/3nstorage/owner/events closed with error
|
|
13
|
-
|
|
14
|
-
Error message: undefined
|