@dxos/messaging 0.4.10-main.fa5a270 → 0.4.10-main.fd8ea31
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/dist/lib/browser/index.mjs +156 -88
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +156 -89
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/types/src/signal-client/signal-client.d.ts +7 -14
- package/dist/types/src/signal-client/signal-client.d.ts.map +1 -1
- package/dist/types/src/signal-client/signal-rpc-client.d.ts +1 -0
- package/dist/types/src/signal-client/signal-rpc-client.d.ts.map +1 -1
- package/dist/types/src/signal-manager/index.d.ts +1 -0
- package/dist/types/src/signal-manager/index.d.ts.map +1 -1
- package/dist/types/src/signal-manager/memory-signal-manager.d.ts +2 -1
- package/dist/types/src/signal-manager/memory-signal-manager.d.ts.map +1 -1
- package/dist/types/src/signal-manager/signal-manager.d.ts +6 -6
- package/dist/types/src/signal-manager/signal-manager.d.ts.map +1 -1
- package/dist/types/src/signal-manager/utils.d.ts +7 -0
- package/dist/types/src/signal-manager/utils.d.ts.map +1 -0
- package/dist/types/src/signal-manager/websocket-signal-manager.d.ts +4 -2
- package/dist/types/src/signal-manager/websocket-signal-manager.d.ts.map +1 -1
- package/dist/types/src/signal-methods.d.ts +20 -0
- package/dist/types/src/signal-methods.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/signal-client/signal-client.test.ts +14 -14
- package/src/signal-client/signal-client.ts +11 -18
- package/src/signal-client/signal-rpc-client.ts +3 -0
- package/src/signal-manager/index.ts +1 -0
- package/src/signal-manager/memory-signal-manager.ts +2 -1
- package/src/signal-manager/signal-manager.ts +8 -8
- package/src/signal-manager/utils.ts +42 -0
- package/src/signal-manager/websocket-signal-manager.ts +21 -10
- package/src/signal-methods.ts +22 -0
|
@@ -393,7 +393,7 @@ var SignalRPCClient = class {
|
|
|
393
393
|
id: traceId
|
|
394
394
|
}), {
|
|
395
395
|
F: __dxlog_file2,
|
|
396
|
-
L:
|
|
396
|
+
L: 55,
|
|
397
397
|
S: this,
|
|
398
398
|
C: (f, a) => f(...a)
|
|
399
399
|
});
|
|
@@ -415,7 +415,7 @@ var SignalRPCClient = class {
|
|
|
415
415
|
} catch (err) {
|
|
416
416
|
log2.warn("send error", err, {
|
|
417
417
|
F: __dxlog_file2,
|
|
418
|
-
L:
|
|
418
|
+
L: 74,
|
|
419
419
|
S: this,
|
|
420
420
|
C: (f, a) => f(...a)
|
|
421
421
|
});
|
|
@@ -440,7 +440,7 @@ var SignalRPCClient = class {
|
|
|
440
440
|
await this._rpc.open();
|
|
441
441
|
log2(`RPC open ${this._url}`, void 0, {
|
|
442
442
|
F: __dxlog_file2,
|
|
443
|
-
L:
|
|
443
|
+
L: 95,
|
|
444
444
|
S: this,
|
|
445
445
|
C: (f, a) => f(...a)
|
|
446
446
|
});
|
|
@@ -457,7 +457,7 @@ var SignalRPCClient = class {
|
|
|
457
457
|
this._socket.onclose = async () => {
|
|
458
458
|
log2(`Disconnected ${this._url}`, void 0, {
|
|
459
459
|
F: __dxlog_file2,
|
|
460
|
-
L:
|
|
460
|
+
L: 116,
|
|
461
461
|
S: this,
|
|
462
462
|
C: (f, a) => f(...a)
|
|
463
463
|
});
|
|
@@ -476,7 +476,7 @@ var SignalRPCClient = class {
|
|
|
476
476
|
} catch (err) {
|
|
477
477
|
log2.catch(err, void 0, {
|
|
478
478
|
F: __dxlog_file2,
|
|
479
|
-
L:
|
|
479
|
+
L: 134,
|
|
480
480
|
S: this,
|
|
481
481
|
C: (f, a) => f(...a)
|
|
482
482
|
});
|
|
@@ -486,7 +486,7 @@ var SignalRPCClient = class {
|
|
|
486
486
|
url: this._url
|
|
487
487
|
}, {
|
|
488
488
|
F: __dxlog_file2,
|
|
489
|
-
L:
|
|
489
|
+
L: 138,
|
|
490
490
|
S: this,
|
|
491
491
|
C: (f, a) => f(...a)
|
|
492
492
|
});
|
|
@@ -495,7 +495,7 @@ var SignalRPCClient = class {
|
|
|
495
495
|
id: traceId
|
|
496
496
|
}), {
|
|
497
497
|
F: __dxlog_file2,
|
|
498
|
-
L:
|
|
498
|
+
L: 141,
|
|
499
499
|
S: this,
|
|
500
500
|
C: (f, a) => f(...a)
|
|
501
501
|
});
|
|
@@ -514,7 +514,7 @@ var SignalRPCClient = class {
|
|
|
514
514
|
} catch (err) {
|
|
515
515
|
log2.warn("close error", err, {
|
|
516
516
|
F: __dxlog_file2,
|
|
517
|
-
L:
|
|
517
|
+
L: 156,
|
|
518
518
|
S: this,
|
|
519
519
|
C: (f, a) => f(...a)
|
|
520
520
|
});
|
|
@@ -526,14 +526,14 @@ var SignalRPCClient = class {
|
|
|
526
526
|
peerId
|
|
527
527
|
}, {
|
|
528
528
|
F: __dxlog_file2,
|
|
529
|
-
L:
|
|
529
|
+
L: 161,
|
|
530
530
|
S: this,
|
|
531
531
|
C: (f, a) => f(...a)
|
|
532
532
|
});
|
|
533
533
|
await this._connectTrigger.wait();
|
|
534
534
|
invariant2(!this._closed, "SignalRPCClient is closed", {
|
|
535
535
|
F: __dxlog_file2,
|
|
536
|
-
L:
|
|
536
|
+
L: 163,
|
|
537
537
|
S: this,
|
|
538
538
|
A: [
|
|
539
539
|
"!this._closed",
|
|
@@ -542,7 +542,7 @@ var SignalRPCClient = class {
|
|
|
542
542
|
});
|
|
543
543
|
invariant2(this._rpc, "Rpc is not initialized", {
|
|
544
544
|
F: __dxlog_file2,
|
|
545
|
-
L:
|
|
545
|
+
L: 164,
|
|
546
546
|
S: this,
|
|
547
547
|
A: [
|
|
548
548
|
"this._rpc",
|
|
@@ -551,7 +551,8 @@ var SignalRPCClient = class {
|
|
|
551
551
|
});
|
|
552
552
|
const swarmStream = this._rpc.rpc.Signal.join({
|
|
553
553
|
swarm: topic.asUint8Array(),
|
|
554
|
-
peer: peerId.asUint8Array()
|
|
554
|
+
peer: peerId.asUint8Array(),
|
|
555
|
+
metadata: this._callbacks?.getMetadata?.()
|
|
555
556
|
});
|
|
556
557
|
await swarmStream.waitUntilReady();
|
|
557
558
|
return swarmStream;
|
|
@@ -561,13 +562,13 @@ var SignalRPCClient = class {
|
|
|
561
562
|
peerId
|
|
562
563
|
}, {
|
|
563
564
|
F: __dxlog_file2,
|
|
564
|
-
L:
|
|
565
|
+
L: 175,
|
|
565
566
|
S: this,
|
|
566
567
|
C: (f, a) => f(...a)
|
|
567
568
|
});
|
|
568
569
|
invariant2(!this._closed, "SignalRPCClient is closed", {
|
|
569
570
|
F: __dxlog_file2,
|
|
570
|
-
L:
|
|
571
|
+
L: 176,
|
|
571
572
|
S: this,
|
|
572
573
|
A: [
|
|
573
574
|
"!this._closed",
|
|
@@ -577,7 +578,7 @@ var SignalRPCClient = class {
|
|
|
577
578
|
await this._connectTrigger.wait();
|
|
578
579
|
invariant2(this._rpc, "Rpc is not initialized", {
|
|
579
580
|
F: __dxlog_file2,
|
|
580
|
-
L:
|
|
581
|
+
L: 178,
|
|
581
582
|
S: this,
|
|
582
583
|
A: [
|
|
583
584
|
"this._rpc",
|
|
@@ -597,13 +598,13 @@ var SignalRPCClient = class {
|
|
|
597
598
|
payload
|
|
598
599
|
}, {
|
|
599
600
|
F: __dxlog_file2,
|
|
600
|
-
L:
|
|
601
|
+
L: 187,
|
|
601
602
|
S: this,
|
|
602
603
|
C: (f, a) => f(...a)
|
|
603
604
|
});
|
|
604
605
|
invariant2(!this._closed, "SignalRPCClient is closed", {
|
|
605
606
|
F: __dxlog_file2,
|
|
606
|
-
L:
|
|
607
|
+
L: 188,
|
|
607
608
|
S: this,
|
|
608
609
|
A: [
|
|
609
610
|
"!this._closed",
|
|
@@ -613,7 +614,7 @@ var SignalRPCClient = class {
|
|
|
613
614
|
await this._connectTrigger.wait();
|
|
614
615
|
invariant2(this._rpc, "Rpc is not initialized", {
|
|
615
616
|
F: __dxlog_file2,
|
|
616
|
-
L:
|
|
617
|
+
L: 190,
|
|
617
618
|
S: this,
|
|
618
619
|
A: [
|
|
619
620
|
"this._rpc",
|
|
@@ -623,7 +624,8 @@ var SignalRPCClient = class {
|
|
|
623
624
|
await this._rpc.rpc.Signal.sendMessage({
|
|
624
625
|
author: author.asUint8Array(),
|
|
625
626
|
recipient: recipient.asUint8Array(),
|
|
626
|
-
payload
|
|
627
|
+
payload,
|
|
628
|
+
metadata: this._callbacks?.getMetadata?.()
|
|
627
629
|
});
|
|
628
630
|
}
|
|
629
631
|
};
|
|
@@ -637,12 +639,12 @@ var RECONCILE_INTERVAL = 5e3;
|
|
|
637
639
|
var SignalClient = class {
|
|
638
640
|
/**
|
|
639
641
|
* @param _host Signal server websocket URL.
|
|
640
|
-
* @param _onMessage
|
|
641
642
|
*/
|
|
642
|
-
constructor(_host, _onMessage, _onSwarmEvent) {
|
|
643
|
+
constructor(_host, _onMessage, _onSwarmEvent, _getMetadata) {
|
|
643
644
|
this._host = _host;
|
|
644
645
|
this._onMessage = _onMessage;
|
|
645
646
|
this._onSwarmEvent = _onSwarmEvent;
|
|
647
|
+
this._getMetadata = _getMetadata;
|
|
646
648
|
this._state = SignalState.CLOSED;
|
|
647
649
|
this._reconnectAfter = DEFAULT_RECONNECT_TIMEOUT;
|
|
648
650
|
this._connectionStarted = /* @__PURE__ */ new Date();
|
|
@@ -667,12 +669,12 @@ var SignalClient = class {
|
|
|
667
669
|
throw new Error(`Signal server requires a websocket URL. Provided: ${this._host}`);
|
|
668
670
|
}
|
|
669
671
|
}
|
|
670
|
-
open() {
|
|
672
|
+
async open() {
|
|
671
673
|
log3.trace("dxos.mesh.signal-client.open", trace3.begin({
|
|
672
674
|
id: this._instanceId
|
|
673
675
|
}), {
|
|
674
676
|
F: __dxlog_file3,
|
|
675
|
-
L:
|
|
677
|
+
L: 128,
|
|
676
678
|
S: this,
|
|
677
679
|
C: (f, a) => f(...a)
|
|
678
680
|
});
|
|
@@ -690,7 +692,7 @@ var SignalClient = class {
|
|
|
690
692
|
if (this._state === SignalState.CONNECTED) {
|
|
691
693
|
log3.warn("SignalClient error:", err, {
|
|
692
694
|
F: __dxlog_file3,
|
|
693
|
-
L:
|
|
695
|
+
L: 140,
|
|
694
696
|
S: this,
|
|
695
697
|
C: (f, a) => f(...a)
|
|
696
698
|
});
|
|
@@ -717,7 +719,7 @@ var SignalClient = class {
|
|
|
717
719
|
id: this._instanceId
|
|
718
720
|
}), {
|
|
719
721
|
F: __dxlog_file3,
|
|
720
|
-
L:
|
|
722
|
+
L: 169,
|
|
721
723
|
S: this,
|
|
722
724
|
C: (f, a) => f(...a)
|
|
723
725
|
});
|
|
@@ -725,7 +727,7 @@ var SignalClient = class {
|
|
|
725
727
|
async close() {
|
|
726
728
|
log3("closing...", void 0, {
|
|
727
729
|
F: __dxlog_file3,
|
|
728
|
-
L:
|
|
730
|
+
L: 173,
|
|
729
731
|
S: this,
|
|
730
732
|
C: (f, a) => f(...a)
|
|
731
733
|
});
|
|
@@ -741,7 +743,7 @@ var SignalClient = class {
|
|
|
741
743
|
this._setState(SignalState.CLOSED);
|
|
742
744
|
log3("closed", void 0, {
|
|
743
745
|
F: __dxlog_file3,
|
|
744
|
-
L:
|
|
746
|
+
L: 184,
|
|
745
747
|
S: this,
|
|
746
748
|
C: (f, a) => f(...a)
|
|
747
749
|
});
|
|
@@ -762,7 +764,7 @@ var SignalClient = class {
|
|
|
762
764
|
peerId
|
|
763
765
|
}, {
|
|
764
766
|
F: __dxlog_file3,
|
|
765
|
-
L:
|
|
767
|
+
L: 199,
|
|
766
768
|
S: this,
|
|
767
769
|
C: (f, a) => f(...a)
|
|
768
770
|
});
|
|
@@ -780,7 +782,7 @@ var SignalClient = class {
|
|
|
780
782
|
peerId
|
|
781
783
|
}, {
|
|
782
784
|
F: __dxlog_file3,
|
|
783
|
-
L:
|
|
785
|
+
L: 207,
|
|
784
786
|
S: this,
|
|
785
787
|
C: (f, a) => f(...a)
|
|
786
788
|
});
|
|
@@ -802,7 +804,7 @@ var SignalClient = class {
|
|
|
802
804
|
await this._clientReady.wait();
|
|
803
805
|
invariant3(this._state === SignalState.CONNECTED, "Not connected to Signal Server", {
|
|
804
806
|
F: __dxlog_file3,
|
|
805
|
-
L:
|
|
807
|
+
L: 216,
|
|
806
808
|
S: this,
|
|
807
809
|
A: [
|
|
808
810
|
"this._state === SignalState.CONNECTED",
|
|
@@ -816,7 +818,7 @@ var SignalClient = class {
|
|
|
816
818
|
peerId
|
|
817
819
|
}, {
|
|
818
820
|
F: __dxlog_file3,
|
|
819
|
-
L:
|
|
821
|
+
L: 221,
|
|
820
822
|
S: this,
|
|
821
823
|
C: (f, a) => f(...a)
|
|
822
824
|
});
|
|
@@ -830,7 +832,7 @@ var SignalClient = class {
|
|
|
830
832
|
peerId
|
|
831
833
|
}, {
|
|
832
834
|
F: __dxlog_file3,
|
|
833
|
-
L:
|
|
835
|
+
L: 227,
|
|
834
836
|
S: this,
|
|
835
837
|
C: (f, a) => f(...a)
|
|
836
838
|
});
|
|
@@ -852,7 +854,7 @@ var SignalClient = class {
|
|
|
852
854
|
status: this.getStatus()
|
|
853
855
|
}, {
|
|
854
856
|
F: __dxlog_file3,
|
|
855
|
-
L:
|
|
857
|
+
L: 246,
|
|
856
858
|
S: this,
|
|
857
859
|
C: (f, a) => f(...a)
|
|
858
860
|
});
|
|
@@ -864,13 +866,13 @@ var SignalClient = class {
|
|
|
864
866
|
state: this._state
|
|
865
867
|
}, {
|
|
866
868
|
F: __dxlog_file3,
|
|
867
|
-
L:
|
|
869
|
+
L: 251,
|
|
868
870
|
S: this,
|
|
869
871
|
C: (f, a) => f(...a)
|
|
870
872
|
});
|
|
871
873
|
invariant3(!this._client, "Client already created", {
|
|
872
874
|
F: __dxlog_file3,
|
|
873
|
-
L:
|
|
875
|
+
L: 252,
|
|
874
876
|
S: this,
|
|
875
877
|
A: [
|
|
876
878
|
"!this._client",
|
|
@@ -882,7 +884,7 @@ var SignalClient = class {
|
|
|
882
884
|
this._connectionCtx.onDispose(async () => {
|
|
883
885
|
log3("connection context disposed", void 0, {
|
|
884
886
|
F: __dxlog_file3,
|
|
885
|
-
L:
|
|
887
|
+
L: 259,
|
|
886
888
|
S: this,
|
|
887
889
|
C: (f, a) => f(...a)
|
|
888
890
|
});
|
|
@@ -898,7 +900,7 @@ var SignalClient = class {
|
|
|
898
900
|
onConnected: () => {
|
|
899
901
|
log3("socket connected", void 0, {
|
|
900
902
|
F: __dxlog_file3,
|
|
901
|
-
L:
|
|
903
|
+
L: 271,
|
|
902
904
|
S: this,
|
|
903
905
|
C: (f, a) => f(...a)
|
|
904
906
|
});
|
|
@@ -913,7 +915,7 @@ var SignalClient = class {
|
|
|
913
915
|
state: this._state
|
|
914
916
|
}, {
|
|
915
917
|
F: __dxlog_file3,
|
|
916
|
-
L:
|
|
918
|
+
L: 280,
|
|
917
919
|
S: this,
|
|
918
920
|
C: (f, a) => f(...a)
|
|
919
921
|
});
|
|
@@ -933,7 +935,7 @@ var SignalClient = class {
|
|
|
933
935
|
state: this._state
|
|
934
936
|
}, {
|
|
935
937
|
F: __dxlog_file3,
|
|
936
|
-
L:
|
|
938
|
+
L: 295,
|
|
937
939
|
S: this,
|
|
938
940
|
C: (f, a) => f(...a)
|
|
939
941
|
});
|
|
@@ -943,7 +945,8 @@ var SignalClient = class {
|
|
|
943
945
|
}
|
|
944
946
|
this._setState(SignalState.ERROR);
|
|
945
947
|
this._reconnectTask.schedule();
|
|
946
|
-
}
|
|
948
|
+
},
|
|
949
|
+
getMetadata: this._getMetadata
|
|
947
950
|
}
|
|
948
951
|
});
|
|
949
952
|
} catch (err) {
|
|
@@ -964,7 +967,7 @@ var SignalClient = class {
|
|
|
964
967
|
state: this._state
|
|
965
968
|
}, {
|
|
966
969
|
F: __dxlog_file3,
|
|
967
|
-
L:
|
|
970
|
+
L: 323,
|
|
968
971
|
S: this,
|
|
969
972
|
C: (f, a) => f(...a)
|
|
970
973
|
});
|
|
@@ -972,7 +975,7 @@ var SignalClient = class {
|
|
|
972
975
|
if (this._state === SignalState.RECONNECTING) {
|
|
973
976
|
log3.warn("Signal api already reconnecting.", void 0, {
|
|
974
977
|
F: __dxlog_file3,
|
|
975
|
-
L:
|
|
978
|
+
L: 327,
|
|
976
979
|
S: this,
|
|
977
980
|
C: (f, a) => f(...a)
|
|
978
981
|
});
|
|
@@ -995,7 +998,7 @@ var SignalClient = class {
|
|
|
995
998
|
const client = this._client;
|
|
996
999
|
invariant3(this._state === SignalState.CONNECTED, "Not connected to Signal Server", {
|
|
997
1000
|
F: __dxlog_file3,
|
|
998
|
-
L:
|
|
1001
|
+
L: 352,
|
|
999
1002
|
S: this,
|
|
1000
1003
|
A: [
|
|
1001
1004
|
"this._state === SignalState.CONNECTED",
|
|
@@ -1034,7 +1037,7 @@ var SignalClient = class {
|
|
|
1034
1037
|
swarmEvent
|
|
1035
1038
|
}, {
|
|
1036
1039
|
F: __dxlog_file3,
|
|
1037
|
-
L:
|
|
1040
|
+
L: 379,
|
|
1038
1041
|
S: this,
|
|
1039
1042
|
C: (f, a) => f(...a)
|
|
1040
1043
|
});
|
|
@@ -1054,7 +1057,7 @@ var SignalClient = class {
|
|
|
1054
1057
|
const client = this._client;
|
|
1055
1058
|
invariant3(this._state === SignalState.CONNECTED, "Not connected to Signal Server", {
|
|
1056
1059
|
F: __dxlog_file3,
|
|
1057
|
-
L:
|
|
1060
|
+
L: 392,
|
|
1058
1061
|
S: this,
|
|
1059
1062
|
A: [
|
|
1060
1063
|
"this._state === SignalState.CONNECTED",
|
|
@@ -1148,7 +1151,7 @@ var MemorySignalManager = class {
|
|
|
1148
1151
|
async join({ topic, peerId }) {
|
|
1149
1152
|
invariant4(!this._ctx.disposed, "Closed", {
|
|
1150
1153
|
F: __dxlog_file4,
|
|
1151
|
-
L:
|
|
1154
|
+
L: 102,
|
|
1152
1155
|
S: this,
|
|
1153
1156
|
A: [
|
|
1154
1157
|
"!this._ctx.disposed",
|
|
@@ -1189,7 +1192,7 @@ var MemorySignalManager = class {
|
|
|
1189
1192
|
async leave({ topic, peerId }) {
|
|
1190
1193
|
invariant4(!this._ctx.disposed, "Closed", {
|
|
1191
1194
|
F: __dxlog_file4,
|
|
1192
|
-
L:
|
|
1195
|
+
L: 138,
|
|
1193
1196
|
S: this,
|
|
1194
1197
|
A: [
|
|
1195
1198
|
"!this._ctx.disposed",
|
|
@@ -1221,13 +1224,13 @@ var MemorySignalManager = class {
|
|
|
1221
1224
|
...dec(payload)
|
|
1222
1225
|
}, {
|
|
1223
1226
|
F: __dxlog_file4,
|
|
1224
|
-
L:
|
|
1227
|
+
L: 158,
|
|
1225
1228
|
S: this,
|
|
1226
1229
|
C: (f, a) => f(...a)
|
|
1227
1230
|
});
|
|
1228
1231
|
invariant4(recipient, void 0, {
|
|
1229
1232
|
F: __dxlog_file4,
|
|
1230
|
-
L:
|
|
1233
|
+
L: 160,
|
|
1231
1234
|
S: this,
|
|
1232
1235
|
A: [
|
|
1233
1236
|
"recipient",
|
|
@@ -1236,7 +1239,7 @@ var MemorySignalManager = class {
|
|
|
1236
1239
|
});
|
|
1237
1240
|
invariant4(!this._ctx.disposed, "Closed", {
|
|
1238
1241
|
F: __dxlog_file4,
|
|
1239
|
-
L:
|
|
1242
|
+
L: 161,
|
|
1240
1243
|
S: this,
|
|
1241
1244
|
A: [
|
|
1242
1245
|
"!this._ctx.disposed",
|
|
@@ -1251,7 +1254,7 @@ var MemorySignalManager = class {
|
|
|
1251
1254
|
recipient
|
|
1252
1255
|
}, {
|
|
1253
1256
|
F: __dxlog_file4,
|
|
1254
|
-
L:
|
|
1257
|
+
L: 167,
|
|
1255
1258
|
S: this,
|
|
1256
1259
|
C: (f, a) => f(...a)
|
|
1257
1260
|
});
|
|
@@ -1263,7 +1266,7 @@ var MemorySignalManager = class {
|
|
|
1263
1266
|
recipient
|
|
1264
1267
|
}, {
|
|
1265
1268
|
F: __dxlog_file4,
|
|
1266
|
-
L:
|
|
1269
|
+
L: 172,
|
|
1267
1270
|
S: this,
|
|
1268
1271
|
C: (f, a) => f(...a)
|
|
1269
1272
|
});
|
|
@@ -1276,7 +1279,7 @@ var MemorySignalManager = class {
|
|
|
1276
1279
|
recipient
|
|
1277
1280
|
}, {
|
|
1278
1281
|
F: __dxlog_file4,
|
|
1279
|
-
L:
|
|
1282
|
+
L: 180,
|
|
1280
1283
|
S: this,
|
|
1281
1284
|
C: (f, a) => f(...a)
|
|
1282
1285
|
});
|
|
@@ -1288,7 +1291,7 @@ var MemorySignalManager = class {
|
|
|
1288
1291
|
...dec(payload)
|
|
1289
1292
|
}, {
|
|
1290
1293
|
F: __dxlog_file4,
|
|
1291
|
-
L:
|
|
1294
|
+
L: 184,
|
|
1292
1295
|
S: this,
|
|
1293
1296
|
C: (f, a) => f(...a)
|
|
1294
1297
|
});
|
|
@@ -1302,7 +1305,7 @@ var MemorySignalManager = class {
|
|
|
1302
1305
|
err
|
|
1303
1306
|
}, {
|
|
1304
1307
|
F: __dxlog_file4,
|
|
1305
|
-
L:
|
|
1308
|
+
L: 189,
|
|
1306
1309
|
S: this,
|
|
1307
1310
|
C: (f, a) => f(...a)
|
|
1308
1311
|
});
|
|
@@ -1313,7 +1316,7 @@ var MemorySignalManager = class {
|
|
|
1313
1316
|
peerId
|
|
1314
1317
|
}, {
|
|
1315
1318
|
F: __dxlog_file4,
|
|
1316
|
-
L:
|
|
1319
|
+
L: 194,
|
|
1317
1320
|
S: this,
|
|
1318
1321
|
C: (f, a) => f(...a)
|
|
1319
1322
|
});
|
|
@@ -1324,7 +1327,7 @@ var MemorySignalManager = class {
|
|
|
1324
1327
|
peerId
|
|
1325
1328
|
}, {
|
|
1326
1329
|
F: __dxlog_file4,
|
|
1327
|
-
L:
|
|
1330
|
+
L: 199,
|
|
1328
1331
|
S: this,
|
|
1329
1332
|
C: (f, a) => f(...a)
|
|
1330
1333
|
});
|
|
@@ -1372,8 +1375,9 @@ var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/core/mesh/messaging/sr
|
|
|
1372
1375
|
var MAX_SERVER_FAILURES = 5;
|
|
1373
1376
|
var WSS_SIGNAL_SERVER_REBOOT_DELAY = 3e3;
|
|
1374
1377
|
var WebsocketSignalManager = class {
|
|
1375
|
-
constructor(_hosts) {
|
|
1378
|
+
constructor(_hosts, _getMetadata) {
|
|
1376
1379
|
this._hosts = _hosts;
|
|
1380
|
+
this._getMetadata = _getMetadata;
|
|
1377
1381
|
this._servers = /* @__PURE__ */ new Map();
|
|
1378
1382
|
this._opened = false;
|
|
1379
1383
|
this.failureCount = /* @__PURE__ */ new Map();
|
|
@@ -1386,7 +1390,7 @@ var WebsocketSignalManager = class {
|
|
|
1386
1390
|
hosts: this._hosts
|
|
1387
1391
|
}, {
|
|
1388
1392
|
F: __dxlog_file5,
|
|
1389
|
-
L:
|
|
1393
|
+
L: 51,
|
|
1390
1394
|
S: this,
|
|
1391
1395
|
C: (f, a) => f(...a)
|
|
1392
1396
|
});
|
|
@@ -1394,7 +1398,7 @@ var WebsocketSignalManager = class {
|
|
|
1394
1398
|
if (this._servers.has(host.server)) {
|
|
1395
1399
|
continue;
|
|
1396
1400
|
}
|
|
1397
|
-
const server = new SignalClient(host.server, async (message) => this.onMessage.emit(message), async (data) => this.swarmEvent.emit(data));
|
|
1401
|
+
const server = new SignalClient(host.server, async (message) => this.onMessage.emit(message), async (data) => this.swarmEvent.emit(data), this._getMetadata);
|
|
1398
1402
|
server.statusChanged.on(() => this.statusChanged.emit(this.getStatus()));
|
|
1399
1403
|
this._servers.set(host.server, server);
|
|
1400
1404
|
this.failureCount.set(host.server, 0);
|
|
@@ -1409,7 +1413,7 @@ var WebsocketSignalManager = class {
|
|
|
1409
1413
|
hosts: this._hosts
|
|
1410
1414
|
}, {
|
|
1411
1415
|
F: __dxlog_file5,
|
|
1412
|
-
L:
|
|
1416
|
+
L: 78,
|
|
1413
1417
|
S: this,
|
|
1414
1418
|
C: (f, a) => f(...a)
|
|
1415
1419
|
});
|
|
@@ -1417,7 +1421,7 @@ var WebsocketSignalManager = class {
|
|
|
1417
1421
|
id: this._instanceId
|
|
1418
1422
|
}), {
|
|
1419
1423
|
F: __dxlog_file5,
|
|
1420
|
-
L:
|
|
1424
|
+
L: 79,
|
|
1421
1425
|
S: this,
|
|
1422
1426
|
C: (f, a) => f(...a)
|
|
1423
1427
|
});
|
|
@@ -1430,7 +1434,7 @@ var WebsocketSignalManager = class {
|
|
|
1430
1434
|
id: this._instanceId
|
|
1431
1435
|
}), {
|
|
1432
1436
|
F: __dxlog_file5,
|
|
1433
|
-
L:
|
|
1437
|
+
L: 87,
|
|
1434
1438
|
S: this,
|
|
1435
1439
|
C: (f, a) => f(...a)
|
|
1436
1440
|
});
|
|
@@ -1444,17 +1448,17 @@ var WebsocketSignalManager = class {
|
|
|
1444
1448
|
await Promise.all(Array.from(this._servers.values()).map((server) => server.close()));
|
|
1445
1449
|
}
|
|
1446
1450
|
async restartServer(serverName) {
|
|
1447
|
-
log5("
|
|
1451
|
+
log5("restarting server", {
|
|
1448
1452
|
serverName
|
|
1449
1453
|
}, {
|
|
1450
1454
|
F: __dxlog_file5,
|
|
1451
|
-
L:
|
|
1455
|
+
L: 103,
|
|
1452
1456
|
S: this,
|
|
1453
1457
|
C: (f, a) => f(...a)
|
|
1454
1458
|
});
|
|
1455
1459
|
invariant5(this._opened, "server already closed", {
|
|
1456
1460
|
F: __dxlog_file5,
|
|
1457
|
-
L:
|
|
1461
|
+
L: 104,
|
|
1458
1462
|
S: this,
|
|
1459
1463
|
A: [
|
|
1460
1464
|
"this._opened",
|
|
@@ -1464,7 +1468,7 @@ var WebsocketSignalManager = class {
|
|
|
1464
1468
|
const server = this._servers.get(serverName);
|
|
1465
1469
|
invariant5(server, "server not found", {
|
|
1466
1470
|
F: __dxlog_file5,
|
|
1467
|
-
L:
|
|
1471
|
+
L: 107,
|
|
1468
1472
|
S: this,
|
|
1469
1473
|
A: [
|
|
1470
1474
|
"server",
|
|
@@ -1479,18 +1483,18 @@ var WebsocketSignalManager = class {
|
|
|
1479
1483
|
return Array.from(this._servers.values()).map((server) => server.getStatus());
|
|
1480
1484
|
}
|
|
1481
1485
|
async join({ topic, peerId }) {
|
|
1482
|
-
log5("
|
|
1486
|
+
log5("join", {
|
|
1483
1487
|
topic,
|
|
1484
1488
|
peerId
|
|
1485
1489
|
}, {
|
|
1486
1490
|
F: __dxlog_file5,
|
|
1487
|
-
L:
|
|
1491
|
+
L: 120,
|
|
1488
1492
|
S: this,
|
|
1489
1493
|
C: (f, a) => f(...a)
|
|
1490
1494
|
});
|
|
1491
1495
|
invariant5(this._opened, "Closed", {
|
|
1492
1496
|
F: __dxlog_file5,
|
|
1493
|
-
L:
|
|
1497
|
+
L: 121,
|
|
1494
1498
|
S: this,
|
|
1495
1499
|
A: [
|
|
1496
1500
|
"this._opened",
|
|
@@ -1508,13 +1512,13 @@ var WebsocketSignalManager = class {
|
|
|
1508
1512
|
peerId
|
|
1509
1513
|
}, {
|
|
1510
1514
|
F: __dxlog_file5,
|
|
1511
|
-
L:
|
|
1515
|
+
L: 127,
|
|
1512
1516
|
S: this,
|
|
1513
1517
|
C: (f, a) => f(...a)
|
|
1514
1518
|
});
|
|
1515
1519
|
invariant5(this._opened, "Closed", {
|
|
1516
1520
|
F: __dxlog_file5,
|
|
1517
|
-
L:
|
|
1521
|
+
L: 128,
|
|
1518
1522
|
S: this,
|
|
1519
1523
|
A: [
|
|
1520
1524
|
"this._opened",
|
|
@@ -1527,15 +1531,17 @@ var WebsocketSignalManager = class {
|
|
|
1527
1531
|
}));
|
|
1528
1532
|
}
|
|
1529
1533
|
async sendMessage({ author, recipient, payload }) {
|
|
1530
|
-
log5(
|
|
1534
|
+
log5("signal", {
|
|
1535
|
+
recipient
|
|
1536
|
+
}, {
|
|
1531
1537
|
F: __dxlog_file5,
|
|
1532
|
-
L:
|
|
1538
|
+
L: 142,
|
|
1533
1539
|
S: this,
|
|
1534
1540
|
C: (f, a) => f(...a)
|
|
1535
1541
|
});
|
|
1536
1542
|
invariant5(this._opened, "Closed", {
|
|
1537
1543
|
F: __dxlog_file5,
|
|
1538
|
-
L:
|
|
1544
|
+
L: 143,
|
|
1539
1545
|
S: this,
|
|
1540
1546
|
A: [
|
|
1541
1547
|
"this._opened",
|
|
@@ -1553,7 +1559,7 @@ var WebsocketSignalManager = class {
|
|
|
1553
1559
|
err
|
|
1554
1560
|
}, {
|
|
1555
1561
|
F: __dxlog_file5,
|
|
1556
|
-
L:
|
|
1562
|
+
L: 148,
|
|
1557
1563
|
S: this,
|
|
1558
1564
|
C: (f, a) => f(...a)
|
|
1559
1565
|
});
|
|
@@ -1562,7 +1568,7 @@ var WebsocketSignalManager = class {
|
|
|
1562
1568
|
err
|
|
1563
1569
|
}, {
|
|
1564
1570
|
F: __dxlog_file5,
|
|
1565
|
-
L:
|
|
1571
|
+
L: 150,
|
|
1566
1572
|
S: this,
|
|
1567
1573
|
C: (f, a) => f(...a)
|
|
1568
1574
|
});
|
|
@@ -1572,7 +1578,7 @@ var WebsocketSignalManager = class {
|
|
|
1572
1578
|
err
|
|
1573
1579
|
}, {
|
|
1574
1580
|
F: __dxlog_file5,
|
|
1575
|
-
L:
|
|
1581
|
+
L: 153,
|
|
1576
1582
|
S: this,
|
|
1577
1583
|
C: (f, a) => f(...a)
|
|
1578
1584
|
});
|
|
@@ -1584,9 +1590,9 @@ var WebsocketSignalManager = class {
|
|
|
1584
1590
|
async checkServerFailure(serverName) {
|
|
1585
1591
|
const failureCount = this.failureCount.get(serverName) ?? 0;
|
|
1586
1592
|
if (failureCount > MAX_SERVER_FAILURES) {
|
|
1587
|
-
log5.warn(`
|
|
1593
|
+
log5.warn(`too many failures sending to ${serverName} (${failureCount} > ${MAX_SERVER_FAILURES}), restarting`, void 0, {
|
|
1588
1594
|
F: __dxlog_file5,
|
|
1589
|
-
L:
|
|
1595
|
+
L: 164,
|
|
1590
1596
|
S: this,
|
|
1591
1597
|
C: (f, a) => f(...a)
|
|
1592
1598
|
});
|
|
@@ -1597,15 +1603,17 @@ var WebsocketSignalManager = class {
|
|
|
1597
1603
|
this.failureCount.set(serverName, (this.failureCount.get(serverName) ?? 0) + 1);
|
|
1598
1604
|
}
|
|
1599
1605
|
async subscribeMessages(peerId) {
|
|
1600
|
-
log5(
|
|
1606
|
+
log5("subscribed for message stream", {
|
|
1607
|
+
peerId
|
|
1608
|
+
}, {
|
|
1601
1609
|
F: __dxlog_file5,
|
|
1602
|
-
L:
|
|
1610
|
+
L: 174,
|
|
1603
1611
|
S: this,
|
|
1604
1612
|
C: (f, a) => f(...a)
|
|
1605
1613
|
});
|
|
1606
1614
|
invariant5(this._opened, "Closed", {
|
|
1607
1615
|
F: __dxlog_file5,
|
|
1608
|
-
L:
|
|
1616
|
+
L: 175,
|
|
1609
1617
|
S: this,
|
|
1610
1618
|
A: [
|
|
1611
1619
|
"this._opened",
|
|
@@ -1615,15 +1623,17 @@ var WebsocketSignalManager = class {
|
|
|
1615
1623
|
await this._forEachServer(async (server) => server.subscribeMessages(peerId));
|
|
1616
1624
|
}
|
|
1617
1625
|
async unsubscribeMessages(peerId) {
|
|
1618
|
-
log5(
|
|
1626
|
+
log5("subscribed for message stream", {
|
|
1627
|
+
peerId
|
|
1628
|
+
}, {
|
|
1619
1629
|
F: __dxlog_file5,
|
|
1620
|
-
L:
|
|
1630
|
+
L: 181,
|
|
1621
1631
|
S: this,
|
|
1622
1632
|
C: (f, a) => f(...a)
|
|
1623
1633
|
});
|
|
1624
1634
|
invariant5(this._opened, "Closed", {
|
|
1625
1635
|
F: __dxlog_file5,
|
|
1626
|
-
L:
|
|
1636
|
+
L: 182,
|
|
1627
1637
|
S: this,
|
|
1628
1638
|
A: [
|
|
1629
1639
|
"this._opened",
|
|
@@ -1636,7 +1646,7 @@ var WebsocketSignalManager = class {
|
|
|
1636
1646
|
this._ctx = new Context5({
|
|
1637
1647
|
onError: (err) => log5.catch(err, void 0, {
|
|
1638
1648
|
F: __dxlog_file5,
|
|
1639
|
-
L:
|
|
1649
|
+
L: 189,
|
|
1640
1650
|
S: this,
|
|
1641
1651
|
C: (f, a) => f(...a)
|
|
1642
1652
|
})
|
|
@@ -1661,11 +1671,69 @@ _ts_decorate([
|
|
|
1661
1671
|
_ts_decorate([
|
|
1662
1672
|
synchronized
|
|
1663
1673
|
], WebsocketSignalManager.prototype, "checkServerFailure", null);
|
|
1674
|
+
|
|
1675
|
+
// packages/core/mesh/messaging/src/signal-manager/utils.ts
|
|
1676
|
+
import { invariant as invariant6 } from "@dxos/invariant";
|
|
1677
|
+
import { log as log6 } from "@dxos/log";
|
|
1678
|
+
import { DeviceKind } from "@dxos/protocols/proto/dxos/client/services";
|
|
1679
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/core/mesh/messaging/src/signal-manager/utils.ts";
|
|
1680
|
+
var setIdentityTags = ({ identityService, devicesService, setTag }) => {
|
|
1681
|
+
identityService.queryIdentity().subscribe((idqr) => {
|
|
1682
|
+
if (!idqr?.identity?.identityKey) {
|
|
1683
|
+
log6("empty response from identity service", {
|
|
1684
|
+
idqr
|
|
1685
|
+
}, {
|
|
1686
|
+
F: __dxlog_file6,
|
|
1687
|
+
L: 21,
|
|
1688
|
+
S: void 0,
|
|
1689
|
+
C: (f, a) => f(...a)
|
|
1690
|
+
});
|
|
1691
|
+
return;
|
|
1692
|
+
}
|
|
1693
|
+
setTag("identityKey", idqr.identity.identityKey.truncate());
|
|
1694
|
+
});
|
|
1695
|
+
devicesService.queryDevices().subscribe((dqr) => {
|
|
1696
|
+
if (!dqr || !dqr.devices || dqr.devices.length === 0) {
|
|
1697
|
+
log6("empty response from device service", {
|
|
1698
|
+
device: dqr
|
|
1699
|
+
}, {
|
|
1700
|
+
F: __dxlog_file6,
|
|
1701
|
+
L: 30,
|
|
1702
|
+
S: void 0,
|
|
1703
|
+
C: (f, a) => f(...a)
|
|
1704
|
+
});
|
|
1705
|
+
return;
|
|
1706
|
+
}
|
|
1707
|
+
invariant6(dqr, "empty response from device service", {
|
|
1708
|
+
F: __dxlog_file6,
|
|
1709
|
+
L: 33,
|
|
1710
|
+
S: void 0,
|
|
1711
|
+
A: [
|
|
1712
|
+
"dqr",
|
|
1713
|
+
"'empty response from device service'"
|
|
1714
|
+
]
|
|
1715
|
+
});
|
|
1716
|
+
const thisDevice = dqr.devices.find((device) => device.kind === DeviceKind.CURRENT);
|
|
1717
|
+
if (!thisDevice) {
|
|
1718
|
+
log6("no current device", {
|
|
1719
|
+
device: dqr
|
|
1720
|
+
}, {
|
|
1721
|
+
F: __dxlog_file6,
|
|
1722
|
+
L: 37,
|
|
1723
|
+
S: void 0,
|
|
1724
|
+
C: (f, a) => f(...a)
|
|
1725
|
+
});
|
|
1726
|
+
return;
|
|
1727
|
+
}
|
|
1728
|
+
setTag("deviceKey", thisDevice.deviceKey.truncate());
|
|
1729
|
+
});
|
|
1730
|
+
};
|
|
1664
1731
|
export {
|
|
1665
1732
|
MemorySignalManager,
|
|
1666
1733
|
MemorySignalManagerContext,
|
|
1667
1734
|
Messenger,
|
|
1668
1735
|
SignalClient,
|
|
1669
|
-
WebsocketSignalManager
|
|
1736
|
+
WebsocketSignalManager,
|
|
1737
|
+
setIdentityTags
|
|
1670
1738
|
};
|
|
1671
1739
|
//# sourceMappingURL=index.mjs.map
|