@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
package/dist/lib/node/index.cjs
CHANGED
|
@@ -32,7 +32,8 @@ __export(node_exports, {
|
|
|
32
32
|
MemorySignalManagerContext: () => MemorySignalManagerContext,
|
|
33
33
|
Messenger: () => Messenger,
|
|
34
34
|
SignalClient: () => SignalClient,
|
|
35
|
-
WebsocketSignalManager: () => WebsocketSignalManager
|
|
35
|
+
WebsocketSignalManager: () => WebsocketSignalManager,
|
|
36
|
+
setIdentityTags: () => setIdentityTags
|
|
36
37
|
});
|
|
37
38
|
module.exports = __toCommonJS(node_exports);
|
|
38
39
|
var import_async = require("@dxos/async");
|
|
@@ -71,6 +72,9 @@ var import_invariant5 = require("@dxos/invariant");
|
|
|
71
72
|
var import_keys5 = require("@dxos/keys");
|
|
72
73
|
var import_log5 = require("@dxos/log");
|
|
73
74
|
var import_protocols5 = require("@dxos/protocols");
|
|
75
|
+
var import_invariant6 = require("@dxos/invariant");
|
|
76
|
+
var import_log6 = require("@dxos/log");
|
|
77
|
+
var import_services = require("@dxos/protocols/proto/dxos/client/services");
|
|
74
78
|
var MESSAGE_TIMEOUT = 1e4;
|
|
75
79
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/mesh/messaging/src/messenger.ts";
|
|
76
80
|
var ReliablePayload = import_protocols.schema.getCodecForType("dxos.mesh.messaging.ReliablePayload");
|
|
@@ -420,7 +424,7 @@ var SignalRPCClient = class {
|
|
|
420
424
|
id: traceId
|
|
421
425
|
}), {
|
|
422
426
|
F: __dxlog_file2,
|
|
423
|
-
L:
|
|
427
|
+
L: 55,
|
|
424
428
|
S: this,
|
|
425
429
|
C: (f, a) => f(...a)
|
|
426
430
|
});
|
|
@@ -442,7 +446,7 @@ var SignalRPCClient = class {
|
|
|
442
446
|
} catch (err) {
|
|
443
447
|
import_log3.log.warn("send error", err, {
|
|
444
448
|
F: __dxlog_file2,
|
|
445
|
-
L:
|
|
449
|
+
L: 74,
|
|
446
450
|
S: this,
|
|
447
451
|
C: (f, a) => f(...a)
|
|
448
452
|
});
|
|
@@ -467,7 +471,7 @@ var SignalRPCClient = class {
|
|
|
467
471
|
await this._rpc.open();
|
|
468
472
|
(0, import_log3.log)(`RPC open ${this._url}`, void 0, {
|
|
469
473
|
F: __dxlog_file2,
|
|
470
|
-
L:
|
|
474
|
+
L: 95,
|
|
471
475
|
S: this,
|
|
472
476
|
C: (f, a) => f(...a)
|
|
473
477
|
});
|
|
@@ -484,7 +488,7 @@ var SignalRPCClient = class {
|
|
|
484
488
|
this._socket.onclose = async () => {
|
|
485
489
|
(0, import_log3.log)(`Disconnected ${this._url}`, void 0, {
|
|
486
490
|
F: __dxlog_file2,
|
|
487
|
-
L:
|
|
491
|
+
L: 116,
|
|
488
492
|
S: this,
|
|
489
493
|
C: (f, a) => f(...a)
|
|
490
494
|
});
|
|
@@ -503,7 +507,7 @@ var SignalRPCClient = class {
|
|
|
503
507
|
} catch (err) {
|
|
504
508
|
import_log3.log.catch(err, void 0, {
|
|
505
509
|
F: __dxlog_file2,
|
|
506
|
-
L:
|
|
510
|
+
L: 134,
|
|
507
511
|
S: this,
|
|
508
512
|
C: (f, a) => f(...a)
|
|
509
513
|
});
|
|
@@ -513,7 +517,7 @@ var SignalRPCClient = class {
|
|
|
513
517
|
url: this._url
|
|
514
518
|
}, {
|
|
515
519
|
F: __dxlog_file2,
|
|
516
|
-
L:
|
|
520
|
+
L: 138,
|
|
517
521
|
S: this,
|
|
518
522
|
C: (f, a) => f(...a)
|
|
519
523
|
});
|
|
@@ -522,7 +526,7 @@ var SignalRPCClient = class {
|
|
|
522
526
|
id: traceId
|
|
523
527
|
}), {
|
|
524
528
|
F: __dxlog_file2,
|
|
525
|
-
L:
|
|
529
|
+
L: 141,
|
|
526
530
|
S: this,
|
|
527
531
|
C: (f, a) => f(...a)
|
|
528
532
|
});
|
|
@@ -541,7 +545,7 @@ var SignalRPCClient = class {
|
|
|
541
545
|
} catch (err) {
|
|
542
546
|
import_log3.log.warn("close error", err, {
|
|
543
547
|
F: __dxlog_file2,
|
|
544
|
-
L:
|
|
548
|
+
L: 156,
|
|
545
549
|
S: this,
|
|
546
550
|
C: (f, a) => f(...a)
|
|
547
551
|
});
|
|
@@ -553,14 +557,14 @@ var SignalRPCClient = class {
|
|
|
553
557
|
peerId
|
|
554
558
|
}, {
|
|
555
559
|
F: __dxlog_file2,
|
|
556
|
-
L:
|
|
560
|
+
L: 161,
|
|
557
561
|
S: this,
|
|
558
562
|
C: (f, a) => f(...a)
|
|
559
563
|
});
|
|
560
564
|
await this._connectTrigger.wait();
|
|
561
565
|
(0, import_invariant3.invariant)(!this._closed, "SignalRPCClient is closed", {
|
|
562
566
|
F: __dxlog_file2,
|
|
563
|
-
L:
|
|
567
|
+
L: 163,
|
|
564
568
|
S: this,
|
|
565
569
|
A: [
|
|
566
570
|
"!this._closed",
|
|
@@ -569,7 +573,7 @@ var SignalRPCClient = class {
|
|
|
569
573
|
});
|
|
570
574
|
(0, import_invariant3.invariant)(this._rpc, "Rpc is not initialized", {
|
|
571
575
|
F: __dxlog_file2,
|
|
572
|
-
L:
|
|
576
|
+
L: 164,
|
|
573
577
|
S: this,
|
|
574
578
|
A: [
|
|
575
579
|
"this._rpc",
|
|
@@ -578,7 +582,8 @@ var SignalRPCClient = class {
|
|
|
578
582
|
});
|
|
579
583
|
const swarmStream = this._rpc.rpc.Signal.join({
|
|
580
584
|
swarm: topic.asUint8Array(),
|
|
581
|
-
peer: peerId.asUint8Array()
|
|
585
|
+
peer: peerId.asUint8Array(),
|
|
586
|
+
metadata: this._callbacks?.getMetadata?.()
|
|
582
587
|
});
|
|
583
588
|
await swarmStream.waitUntilReady();
|
|
584
589
|
return swarmStream;
|
|
@@ -588,13 +593,13 @@ var SignalRPCClient = class {
|
|
|
588
593
|
peerId
|
|
589
594
|
}, {
|
|
590
595
|
F: __dxlog_file2,
|
|
591
|
-
L:
|
|
596
|
+
L: 175,
|
|
592
597
|
S: this,
|
|
593
598
|
C: (f, a) => f(...a)
|
|
594
599
|
});
|
|
595
600
|
(0, import_invariant3.invariant)(!this._closed, "SignalRPCClient is closed", {
|
|
596
601
|
F: __dxlog_file2,
|
|
597
|
-
L:
|
|
602
|
+
L: 176,
|
|
598
603
|
S: this,
|
|
599
604
|
A: [
|
|
600
605
|
"!this._closed",
|
|
@@ -604,7 +609,7 @@ var SignalRPCClient = class {
|
|
|
604
609
|
await this._connectTrigger.wait();
|
|
605
610
|
(0, import_invariant3.invariant)(this._rpc, "Rpc is not initialized", {
|
|
606
611
|
F: __dxlog_file2,
|
|
607
|
-
L:
|
|
612
|
+
L: 178,
|
|
608
613
|
S: this,
|
|
609
614
|
A: [
|
|
610
615
|
"this._rpc",
|
|
@@ -624,13 +629,13 @@ var SignalRPCClient = class {
|
|
|
624
629
|
payload
|
|
625
630
|
}, {
|
|
626
631
|
F: __dxlog_file2,
|
|
627
|
-
L:
|
|
632
|
+
L: 187,
|
|
628
633
|
S: this,
|
|
629
634
|
C: (f, a) => f(...a)
|
|
630
635
|
});
|
|
631
636
|
(0, import_invariant3.invariant)(!this._closed, "SignalRPCClient is closed", {
|
|
632
637
|
F: __dxlog_file2,
|
|
633
|
-
L:
|
|
638
|
+
L: 188,
|
|
634
639
|
S: this,
|
|
635
640
|
A: [
|
|
636
641
|
"!this._closed",
|
|
@@ -640,7 +645,7 @@ var SignalRPCClient = class {
|
|
|
640
645
|
await this._connectTrigger.wait();
|
|
641
646
|
(0, import_invariant3.invariant)(this._rpc, "Rpc is not initialized", {
|
|
642
647
|
F: __dxlog_file2,
|
|
643
|
-
L:
|
|
648
|
+
L: 190,
|
|
644
649
|
S: this,
|
|
645
650
|
A: [
|
|
646
651
|
"this._rpc",
|
|
@@ -650,7 +655,8 @@ var SignalRPCClient = class {
|
|
|
650
655
|
await this._rpc.rpc.Signal.sendMessage({
|
|
651
656
|
author: author.asUint8Array(),
|
|
652
657
|
recipient: recipient.asUint8Array(),
|
|
653
|
-
payload
|
|
658
|
+
payload,
|
|
659
|
+
metadata: this._callbacks?.getMetadata?.()
|
|
654
660
|
});
|
|
655
661
|
}
|
|
656
662
|
};
|
|
@@ -662,12 +668,12 @@ var RECONCILE_INTERVAL = 5e3;
|
|
|
662
668
|
var SignalClient = class {
|
|
663
669
|
/**
|
|
664
670
|
* @param _host Signal server websocket URL.
|
|
665
|
-
* @param _onMessage
|
|
666
671
|
*/
|
|
667
|
-
constructor(_host, _onMessage, _onSwarmEvent) {
|
|
672
|
+
constructor(_host, _onMessage, _onSwarmEvent, _getMetadata) {
|
|
668
673
|
this._host = _host;
|
|
669
674
|
this._onMessage = _onMessage;
|
|
670
675
|
this._onSwarmEvent = _onSwarmEvent;
|
|
676
|
+
this._getMetadata = _getMetadata;
|
|
671
677
|
this._state = import_signal.SignalState.CLOSED;
|
|
672
678
|
this._reconnectAfter = DEFAULT_RECONNECT_TIMEOUT;
|
|
673
679
|
this._connectionStarted = /* @__PURE__ */ new Date();
|
|
@@ -692,12 +698,12 @@ var SignalClient = class {
|
|
|
692
698
|
throw new Error(`Signal server requires a websocket URL. Provided: ${this._host}`);
|
|
693
699
|
}
|
|
694
700
|
}
|
|
695
|
-
open() {
|
|
701
|
+
async open() {
|
|
696
702
|
import_log2.log.trace("dxos.mesh.signal-client.open", import_protocols2.trace.begin({
|
|
697
703
|
id: this._instanceId
|
|
698
704
|
}), {
|
|
699
705
|
F: __dxlog_file3,
|
|
700
|
-
L:
|
|
706
|
+
L: 128,
|
|
701
707
|
S: this,
|
|
702
708
|
C: (f, a) => f(...a)
|
|
703
709
|
});
|
|
@@ -715,7 +721,7 @@ var SignalClient = class {
|
|
|
715
721
|
if (this._state === import_signal.SignalState.CONNECTED) {
|
|
716
722
|
import_log2.log.warn("SignalClient error:", err, {
|
|
717
723
|
F: __dxlog_file3,
|
|
718
|
-
L:
|
|
724
|
+
L: 140,
|
|
719
725
|
S: this,
|
|
720
726
|
C: (f, a) => f(...a)
|
|
721
727
|
});
|
|
@@ -742,7 +748,7 @@ var SignalClient = class {
|
|
|
742
748
|
id: this._instanceId
|
|
743
749
|
}), {
|
|
744
750
|
F: __dxlog_file3,
|
|
745
|
-
L:
|
|
751
|
+
L: 169,
|
|
746
752
|
S: this,
|
|
747
753
|
C: (f, a) => f(...a)
|
|
748
754
|
});
|
|
@@ -750,7 +756,7 @@ var SignalClient = class {
|
|
|
750
756
|
async close() {
|
|
751
757
|
(0, import_log2.log)("closing...", void 0, {
|
|
752
758
|
F: __dxlog_file3,
|
|
753
|
-
L:
|
|
759
|
+
L: 173,
|
|
754
760
|
S: this,
|
|
755
761
|
C: (f, a) => f(...a)
|
|
756
762
|
});
|
|
@@ -766,7 +772,7 @@ var SignalClient = class {
|
|
|
766
772
|
this._setState(import_signal.SignalState.CLOSED);
|
|
767
773
|
(0, import_log2.log)("closed", void 0, {
|
|
768
774
|
F: __dxlog_file3,
|
|
769
|
-
L:
|
|
775
|
+
L: 184,
|
|
770
776
|
S: this,
|
|
771
777
|
C: (f, a) => f(...a)
|
|
772
778
|
});
|
|
@@ -787,7 +793,7 @@ var SignalClient = class {
|
|
|
787
793
|
peerId
|
|
788
794
|
}, {
|
|
789
795
|
F: __dxlog_file3,
|
|
790
|
-
L:
|
|
796
|
+
L: 199,
|
|
791
797
|
S: this,
|
|
792
798
|
C: (f, a) => f(...a)
|
|
793
799
|
});
|
|
@@ -805,7 +811,7 @@ var SignalClient = class {
|
|
|
805
811
|
peerId
|
|
806
812
|
}, {
|
|
807
813
|
F: __dxlog_file3,
|
|
808
|
-
L:
|
|
814
|
+
L: 207,
|
|
809
815
|
S: this,
|
|
810
816
|
C: (f, a) => f(...a)
|
|
811
817
|
});
|
|
@@ -827,7 +833,7 @@ var SignalClient = class {
|
|
|
827
833
|
await this._clientReady.wait();
|
|
828
834
|
(0, import_invariant2.invariant)(this._state === import_signal.SignalState.CONNECTED, "Not connected to Signal Server", {
|
|
829
835
|
F: __dxlog_file3,
|
|
830
|
-
L:
|
|
836
|
+
L: 216,
|
|
831
837
|
S: this,
|
|
832
838
|
A: [
|
|
833
839
|
"this._state === SignalState.CONNECTED",
|
|
@@ -841,7 +847,7 @@ var SignalClient = class {
|
|
|
841
847
|
peerId
|
|
842
848
|
}, {
|
|
843
849
|
F: __dxlog_file3,
|
|
844
|
-
L:
|
|
850
|
+
L: 221,
|
|
845
851
|
S: this,
|
|
846
852
|
C: (f, a) => f(...a)
|
|
847
853
|
});
|
|
@@ -855,7 +861,7 @@ var SignalClient = class {
|
|
|
855
861
|
peerId
|
|
856
862
|
}, {
|
|
857
863
|
F: __dxlog_file3,
|
|
858
|
-
L:
|
|
864
|
+
L: 227,
|
|
859
865
|
S: this,
|
|
860
866
|
C: (f, a) => f(...a)
|
|
861
867
|
});
|
|
@@ -877,7 +883,7 @@ var SignalClient = class {
|
|
|
877
883
|
status: this.getStatus()
|
|
878
884
|
}, {
|
|
879
885
|
F: __dxlog_file3,
|
|
880
|
-
L:
|
|
886
|
+
L: 246,
|
|
881
887
|
S: this,
|
|
882
888
|
C: (f, a) => f(...a)
|
|
883
889
|
});
|
|
@@ -889,13 +895,13 @@ var SignalClient = class {
|
|
|
889
895
|
state: this._state
|
|
890
896
|
}, {
|
|
891
897
|
F: __dxlog_file3,
|
|
892
|
-
L:
|
|
898
|
+
L: 251,
|
|
893
899
|
S: this,
|
|
894
900
|
C: (f, a) => f(...a)
|
|
895
901
|
});
|
|
896
902
|
(0, import_invariant2.invariant)(!this._client, "Client already created", {
|
|
897
903
|
F: __dxlog_file3,
|
|
898
|
-
L:
|
|
904
|
+
L: 252,
|
|
899
905
|
S: this,
|
|
900
906
|
A: [
|
|
901
907
|
"!this._client",
|
|
@@ -907,7 +913,7 @@ var SignalClient = class {
|
|
|
907
913
|
this._connectionCtx.onDispose(async () => {
|
|
908
914
|
(0, import_log2.log)("connection context disposed", void 0, {
|
|
909
915
|
F: __dxlog_file3,
|
|
910
|
-
L:
|
|
916
|
+
L: 259,
|
|
911
917
|
S: this,
|
|
912
918
|
C: (f, a) => f(...a)
|
|
913
919
|
});
|
|
@@ -923,7 +929,7 @@ var SignalClient = class {
|
|
|
923
929
|
onConnected: () => {
|
|
924
930
|
(0, import_log2.log)("socket connected", void 0, {
|
|
925
931
|
F: __dxlog_file3,
|
|
926
|
-
L:
|
|
932
|
+
L: 271,
|
|
927
933
|
S: this,
|
|
928
934
|
C: (f, a) => f(...a)
|
|
929
935
|
});
|
|
@@ -938,7 +944,7 @@ var SignalClient = class {
|
|
|
938
944
|
state: this._state
|
|
939
945
|
}, {
|
|
940
946
|
F: __dxlog_file3,
|
|
941
|
-
L:
|
|
947
|
+
L: 280,
|
|
942
948
|
S: this,
|
|
943
949
|
C: (f, a) => f(...a)
|
|
944
950
|
});
|
|
@@ -958,7 +964,7 @@ var SignalClient = class {
|
|
|
958
964
|
state: this._state
|
|
959
965
|
}, {
|
|
960
966
|
F: __dxlog_file3,
|
|
961
|
-
L:
|
|
967
|
+
L: 295,
|
|
962
968
|
S: this,
|
|
963
969
|
C: (f, a) => f(...a)
|
|
964
970
|
});
|
|
@@ -968,7 +974,8 @@ var SignalClient = class {
|
|
|
968
974
|
}
|
|
969
975
|
this._setState(import_signal.SignalState.ERROR);
|
|
970
976
|
this._reconnectTask.schedule();
|
|
971
|
-
}
|
|
977
|
+
},
|
|
978
|
+
getMetadata: this._getMetadata
|
|
972
979
|
}
|
|
973
980
|
});
|
|
974
981
|
} catch (err) {
|
|
@@ -989,7 +996,7 @@ var SignalClient = class {
|
|
|
989
996
|
state: this._state
|
|
990
997
|
}, {
|
|
991
998
|
F: __dxlog_file3,
|
|
992
|
-
L:
|
|
999
|
+
L: 323,
|
|
993
1000
|
S: this,
|
|
994
1001
|
C: (f, a) => f(...a)
|
|
995
1002
|
});
|
|
@@ -997,7 +1004,7 @@ var SignalClient = class {
|
|
|
997
1004
|
if (this._state === import_signal.SignalState.RECONNECTING) {
|
|
998
1005
|
import_log2.log.warn("Signal api already reconnecting.", void 0, {
|
|
999
1006
|
F: __dxlog_file3,
|
|
1000
|
-
L:
|
|
1007
|
+
L: 327,
|
|
1001
1008
|
S: this,
|
|
1002
1009
|
C: (f, a) => f(...a)
|
|
1003
1010
|
});
|
|
@@ -1020,7 +1027,7 @@ var SignalClient = class {
|
|
|
1020
1027
|
const client = this._client;
|
|
1021
1028
|
(0, import_invariant2.invariant)(this._state === import_signal.SignalState.CONNECTED, "Not connected to Signal Server", {
|
|
1022
1029
|
F: __dxlog_file3,
|
|
1023
|
-
L:
|
|
1030
|
+
L: 352,
|
|
1024
1031
|
S: this,
|
|
1025
1032
|
A: [
|
|
1026
1033
|
"this._state === SignalState.CONNECTED",
|
|
@@ -1059,7 +1066,7 @@ var SignalClient = class {
|
|
|
1059
1066
|
swarmEvent
|
|
1060
1067
|
}, {
|
|
1061
1068
|
F: __dxlog_file3,
|
|
1062
|
-
L:
|
|
1069
|
+
L: 379,
|
|
1063
1070
|
S: this,
|
|
1064
1071
|
C: (f, a) => f(...a)
|
|
1065
1072
|
});
|
|
@@ -1079,7 +1086,7 @@ var SignalClient = class {
|
|
|
1079
1086
|
const client = this._client;
|
|
1080
1087
|
(0, import_invariant2.invariant)(this._state === import_signal.SignalState.CONNECTED, "Not connected to Signal Server", {
|
|
1081
1088
|
F: __dxlog_file3,
|
|
1082
|
-
L:
|
|
1089
|
+
L: 392,
|
|
1083
1090
|
S: this,
|
|
1084
1091
|
A: [
|
|
1085
1092
|
"this._state === SignalState.CONNECTED",
|
|
@@ -1161,7 +1168,7 @@ var MemorySignalManager = class {
|
|
|
1161
1168
|
async join({ topic, peerId }) {
|
|
1162
1169
|
(0, import_invariant4.invariant)(!this._ctx.disposed, "Closed", {
|
|
1163
1170
|
F: __dxlog_file4,
|
|
1164
|
-
L:
|
|
1171
|
+
L: 102,
|
|
1165
1172
|
S: this,
|
|
1166
1173
|
A: [
|
|
1167
1174
|
"!this._ctx.disposed",
|
|
@@ -1202,7 +1209,7 @@ var MemorySignalManager = class {
|
|
|
1202
1209
|
async leave({ topic, peerId }) {
|
|
1203
1210
|
(0, import_invariant4.invariant)(!this._ctx.disposed, "Closed", {
|
|
1204
1211
|
F: __dxlog_file4,
|
|
1205
|
-
L:
|
|
1212
|
+
L: 138,
|
|
1206
1213
|
S: this,
|
|
1207
1214
|
A: [
|
|
1208
1215
|
"!this._ctx.disposed",
|
|
@@ -1234,13 +1241,13 @@ var MemorySignalManager = class {
|
|
|
1234
1241
|
...dec(payload)
|
|
1235
1242
|
}, {
|
|
1236
1243
|
F: __dxlog_file4,
|
|
1237
|
-
L:
|
|
1244
|
+
L: 158,
|
|
1238
1245
|
S: this,
|
|
1239
1246
|
C: (f, a) => f(...a)
|
|
1240
1247
|
});
|
|
1241
1248
|
(0, import_invariant4.invariant)(recipient, void 0, {
|
|
1242
1249
|
F: __dxlog_file4,
|
|
1243
|
-
L:
|
|
1250
|
+
L: 160,
|
|
1244
1251
|
S: this,
|
|
1245
1252
|
A: [
|
|
1246
1253
|
"recipient",
|
|
@@ -1249,7 +1256,7 @@ var MemorySignalManager = class {
|
|
|
1249
1256
|
});
|
|
1250
1257
|
(0, import_invariant4.invariant)(!this._ctx.disposed, "Closed", {
|
|
1251
1258
|
F: __dxlog_file4,
|
|
1252
|
-
L:
|
|
1259
|
+
L: 161,
|
|
1253
1260
|
S: this,
|
|
1254
1261
|
A: [
|
|
1255
1262
|
"!this._ctx.disposed",
|
|
@@ -1264,7 +1271,7 @@ var MemorySignalManager = class {
|
|
|
1264
1271
|
recipient
|
|
1265
1272
|
}, {
|
|
1266
1273
|
F: __dxlog_file4,
|
|
1267
|
-
L:
|
|
1274
|
+
L: 167,
|
|
1268
1275
|
S: this,
|
|
1269
1276
|
C: (f, a) => f(...a)
|
|
1270
1277
|
});
|
|
@@ -1276,7 +1283,7 @@ var MemorySignalManager = class {
|
|
|
1276
1283
|
recipient
|
|
1277
1284
|
}, {
|
|
1278
1285
|
F: __dxlog_file4,
|
|
1279
|
-
L:
|
|
1286
|
+
L: 172,
|
|
1280
1287
|
S: this,
|
|
1281
1288
|
C: (f, a) => f(...a)
|
|
1282
1289
|
});
|
|
@@ -1289,7 +1296,7 @@ var MemorySignalManager = class {
|
|
|
1289
1296
|
recipient
|
|
1290
1297
|
}, {
|
|
1291
1298
|
F: __dxlog_file4,
|
|
1292
|
-
L:
|
|
1299
|
+
L: 180,
|
|
1293
1300
|
S: this,
|
|
1294
1301
|
C: (f, a) => f(...a)
|
|
1295
1302
|
});
|
|
@@ -1301,7 +1308,7 @@ var MemorySignalManager = class {
|
|
|
1301
1308
|
...dec(payload)
|
|
1302
1309
|
}, {
|
|
1303
1310
|
F: __dxlog_file4,
|
|
1304
|
-
L:
|
|
1311
|
+
L: 184,
|
|
1305
1312
|
S: this,
|
|
1306
1313
|
C: (f, a) => f(...a)
|
|
1307
1314
|
});
|
|
@@ -1315,7 +1322,7 @@ var MemorySignalManager = class {
|
|
|
1315
1322
|
err
|
|
1316
1323
|
}, {
|
|
1317
1324
|
F: __dxlog_file4,
|
|
1318
|
-
L:
|
|
1325
|
+
L: 189,
|
|
1319
1326
|
S: this,
|
|
1320
1327
|
C: (f, a) => f(...a)
|
|
1321
1328
|
});
|
|
@@ -1326,7 +1333,7 @@ var MemorySignalManager = class {
|
|
|
1326
1333
|
peerId
|
|
1327
1334
|
}, {
|
|
1328
1335
|
F: __dxlog_file4,
|
|
1329
|
-
L:
|
|
1336
|
+
L: 194,
|
|
1330
1337
|
S: this,
|
|
1331
1338
|
C: (f, a) => f(...a)
|
|
1332
1339
|
});
|
|
@@ -1337,7 +1344,7 @@ var MemorySignalManager = class {
|
|
|
1337
1344
|
peerId
|
|
1338
1345
|
}, {
|
|
1339
1346
|
F: __dxlog_file4,
|
|
1340
|
-
L:
|
|
1347
|
+
L: 199,
|
|
1341
1348
|
S: this,
|
|
1342
1349
|
C: (f, a) => f(...a)
|
|
1343
1350
|
});
|
|
@@ -1377,8 +1384,9 @@ var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/core/mesh/messaging/sr
|
|
|
1377
1384
|
var MAX_SERVER_FAILURES = 5;
|
|
1378
1385
|
var WSS_SIGNAL_SERVER_REBOOT_DELAY = 3e3;
|
|
1379
1386
|
var WebsocketSignalManager = class {
|
|
1380
|
-
constructor(_hosts) {
|
|
1387
|
+
constructor(_hosts, _getMetadata) {
|
|
1381
1388
|
this._hosts = _hosts;
|
|
1389
|
+
this._getMetadata = _getMetadata;
|
|
1382
1390
|
this._servers = /* @__PURE__ */ new Map();
|
|
1383
1391
|
this._opened = false;
|
|
1384
1392
|
this.failureCount = /* @__PURE__ */ new Map();
|
|
@@ -1391,7 +1399,7 @@ var WebsocketSignalManager = class {
|
|
|
1391
1399
|
hosts: this._hosts
|
|
1392
1400
|
}, {
|
|
1393
1401
|
F: __dxlog_file5,
|
|
1394
|
-
L:
|
|
1402
|
+
L: 51,
|
|
1395
1403
|
S: this,
|
|
1396
1404
|
C: (f, a) => f(...a)
|
|
1397
1405
|
});
|
|
@@ -1399,7 +1407,7 @@ var WebsocketSignalManager = class {
|
|
|
1399
1407
|
if (this._servers.has(host.server)) {
|
|
1400
1408
|
continue;
|
|
1401
1409
|
}
|
|
1402
|
-
const server = new SignalClient(host.server, async (message) => this.onMessage.emit(message), async (data) => this.swarmEvent.emit(data));
|
|
1410
|
+
const server = new SignalClient(host.server, async (message) => this.onMessage.emit(message), async (data) => this.swarmEvent.emit(data), this._getMetadata);
|
|
1403
1411
|
server.statusChanged.on(() => this.statusChanged.emit(this.getStatus()));
|
|
1404
1412
|
this._servers.set(host.server, server);
|
|
1405
1413
|
this.failureCount.set(host.server, 0);
|
|
@@ -1414,7 +1422,7 @@ var WebsocketSignalManager = class {
|
|
|
1414
1422
|
hosts: this._hosts
|
|
1415
1423
|
}, {
|
|
1416
1424
|
F: __dxlog_file5,
|
|
1417
|
-
L:
|
|
1425
|
+
L: 78,
|
|
1418
1426
|
S: this,
|
|
1419
1427
|
C: (f, a) => f(...a)
|
|
1420
1428
|
});
|
|
@@ -1422,7 +1430,7 @@ var WebsocketSignalManager = class {
|
|
|
1422
1430
|
id: this._instanceId
|
|
1423
1431
|
}), {
|
|
1424
1432
|
F: __dxlog_file5,
|
|
1425
|
-
L:
|
|
1433
|
+
L: 79,
|
|
1426
1434
|
S: this,
|
|
1427
1435
|
C: (f, a) => f(...a)
|
|
1428
1436
|
});
|
|
@@ -1435,7 +1443,7 @@ var WebsocketSignalManager = class {
|
|
|
1435
1443
|
id: this._instanceId
|
|
1436
1444
|
}), {
|
|
1437
1445
|
F: __dxlog_file5,
|
|
1438
|
-
L:
|
|
1446
|
+
L: 87,
|
|
1439
1447
|
S: this,
|
|
1440
1448
|
C: (f, a) => f(...a)
|
|
1441
1449
|
});
|
|
@@ -1449,17 +1457,17 @@ var WebsocketSignalManager = class {
|
|
|
1449
1457
|
await Promise.all(Array.from(this._servers.values()).map((server) => server.close()));
|
|
1450
1458
|
}
|
|
1451
1459
|
async restartServer(serverName) {
|
|
1452
|
-
(0, import_log5.log)("
|
|
1460
|
+
(0, import_log5.log)("restarting server", {
|
|
1453
1461
|
serverName
|
|
1454
1462
|
}, {
|
|
1455
1463
|
F: __dxlog_file5,
|
|
1456
|
-
L:
|
|
1464
|
+
L: 103,
|
|
1457
1465
|
S: this,
|
|
1458
1466
|
C: (f, a) => f(...a)
|
|
1459
1467
|
});
|
|
1460
1468
|
(0, import_invariant5.invariant)(this._opened, "server already closed", {
|
|
1461
1469
|
F: __dxlog_file5,
|
|
1462
|
-
L:
|
|
1470
|
+
L: 104,
|
|
1463
1471
|
S: this,
|
|
1464
1472
|
A: [
|
|
1465
1473
|
"this._opened",
|
|
@@ -1469,7 +1477,7 @@ var WebsocketSignalManager = class {
|
|
|
1469
1477
|
const server = this._servers.get(serverName);
|
|
1470
1478
|
(0, import_invariant5.invariant)(server, "server not found", {
|
|
1471
1479
|
F: __dxlog_file5,
|
|
1472
|
-
L:
|
|
1480
|
+
L: 107,
|
|
1473
1481
|
S: this,
|
|
1474
1482
|
A: [
|
|
1475
1483
|
"server",
|
|
@@ -1484,18 +1492,18 @@ var WebsocketSignalManager = class {
|
|
|
1484
1492
|
return Array.from(this._servers.values()).map((server) => server.getStatus());
|
|
1485
1493
|
}
|
|
1486
1494
|
async join({ topic, peerId }) {
|
|
1487
|
-
(0, import_log5.log)("
|
|
1495
|
+
(0, import_log5.log)("join", {
|
|
1488
1496
|
topic,
|
|
1489
1497
|
peerId
|
|
1490
1498
|
}, {
|
|
1491
1499
|
F: __dxlog_file5,
|
|
1492
|
-
L:
|
|
1500
|
+
L: 120,
|
|
1493
1501
|
S: this,
|
|
1494
1502
|
C: (f, a) => f(...a)
|
|
1495
1503
|
});
|
|
1496
1504
|
(0, import_invariant5.invariant)(this._opened, "Closed", {
|
|
1497
1505
|
F: __dxlog_file5,
|
|
1498
|
-
L:
|
|
1506
|
+
L: 121,
|
|
1499
1507
|
S: this,
|
|
1500
1508
|
A: [
|
|
1501
1509
|
"this._opened",
|
|
@@ -1513,13 +1521,13 @@ var WebsocketSignalManager = class {
|
|
|
1513
1521
|
peerId
|
|
1514
1522
|
}, {
|
|
1515
1523
|
F: __dxlog_file5,
|
|
1516
|
-
L:
|
|
1524
|
+
L: 127,
|
|
1517
1525
|
S: this,
|
|
1518
1526
|
C: (f, a) => f(...a)
|
|
1519
1527
|
});
|
|
1520
1528
|
(0, import_invariant5.invariant)(this._opened, "Closed", {
|
|
1521
1529
|
F: __dxlog_file5,
|
|
1522
|
-
L:
|
|
1530
|
+
L: 128,
|
|
1523
1531
|
S: this,
|
|
1524
1532
|
A: [
|
|
1525
1533
|
"this._opened",
|
|
@@ -1532,15 +1540,17 @@ var WebsocketSignalManager = class {
|
|
|
1532
1540
|
}));
|
|
1533
1541
|
}
|
|
1534
1542
|
async sendMessage({ author, recipient, payload }) {
|
|
1535
|
-
(0, import_log5.log)(
|
|
1543
|
+
(0, import_log5.log)("signal", {
|
|
1544
|
+
recipient
|
|
1545
|
+
}, {
|
|
1536
1546
|
F: __dxlog_file5,
|
|
1537
|
-
L:
|
|
1547
|
+
L: 142,
|
|
1538
1548
|
S: this,
|
|
1539
1549
|
C: (f, a) => f(...a)
|
|
1540
1550
|
});
|
|
1541
1551
|
(0, import_invariant5.invariant)(this._opened, "Closed", {
|
|
1542
1552
|
F: __dxlog_file5,
|
|
1543
|
-
L:
|
|
1553
|
+
L: 143,
|
|
1544
1554
|
S: this,
|
|
1545
1555
|
A: [
|
|
1546
1556
|
"this._opened",
|
|
@@ -1558,7 +1568,7 @@ var WebsocketSignalManager = class {
|
|
|
1558
1568
|
err
|
|
1559
1569
|
}, {
|
|
1560
1570
|
F: __dxlog_file5,
|
|
1561
|
-
L:
|
|
1571
|
+
L: 148,
|
|
1562
1572
|
S: this,
|
|
1563
1573
|
C: (f, a) => f(...a)
|
|
1564
1574
|
});
|
|
@@ -1567,7 +1577,7 @@ var WebsocketSignalManager = class {
|
|
|
1567
1577
|
err
|
|
1568
1578
|
}, {
|
|
1569
1579
|
F: __dxlog_file5,
|
|
1570
|
-
L:
|
|
1580
|
+
L: 150,
|
|
1571
1581
|
S: this,
|
|
1572
1582
|
C: (f, a) => f(...a)
|
|
1573
1583
|
});
|
|
@@ -1577,7 +1587,7 @@ var WebsocketSignalManager = class {
|
|
|
1577
1587
|
err
|
|
1578
1588
|
}, {
|
|
1579
1589
|
F: __dxlog_file5,
|
|
1580
|
-
L:
|
|
1590
|
+
L: 153,
|
|
1581
1591
|
S: this,
|
|
1582
1592
|
C: (f, a) => f(...a)
|
|
1583
1593
|
});
|
|
@@ -1589,9 +1599,9 @@ var WebsocketSignalManager = class {
|
|
|
1589
1599
|
async checkServerFailure(serverName) {
|
|
1590
1600
|
const failureCount = this.failureCount.get(serverName) ?? 0;
|
|
1591
1601
|
if (failureCount > MAX_SERVER_FAILURES) {
|
|
1592
|
-
import_log5.log.warn(`
|
|
1602
|
+
import_log5.log.warn(`too many failures sending to ${serverName} (${failureCount} > ${MAX_SERVER_FAILURES}), restarting`, void 0, {
|
|
1593
1603
|
F: __dxlog_file5,
|
|
1594
|
-
L:
|
|
1604
|
+
L: 164,
|
|
1595
1605
|
S: this,
|
|
1596
1606
|
C: (f, a) => f(...a)
|
|
1597
1607
|
});
|
|
@@ -1602,15 +1612,17 @@ var WebsocketSignalManager = class {
|
|
|
1602
1612
|
this.failureCount.set(serverName, (this.failureCount.get(serverName) ?? 0) + 1);
|
|
1603
1613
|
}
|
|
1604
1614
|
async subscribeMessages(peerId) {
|
|
1605
|
-
(0, import_log5.log)(
|
|
1615
|
+
(0, import_log5.log)("subscribed for message stream", {
|
|
1616
|
+
peerId
|
|
1617
|
+
}, {
|
|
1606
1618
|
F: __dxlog_file5,
|
|
1607
|
-
L:
|
|
1619
|
+
L: 174,
|
|
1608
1620
|
S: this,
|
|
1609
1621
|
C: (f, a) => f(...a)
|
|
1610
1622
|
});
|
|
1611
1623
|
(0, import_invariant5.invariant)(this._opened, "Closed", {
|
|
1612
1624
|
F: __dxlog_file5,
|
|
1613
|
-
L:
|
|
1625
|
+
L: 175,
|
|
1614
1626
|
S: this,
|
|
1615
1627
|
A: [
|
|
1616
1628
|
"this._opened",
|
|
@@ -1620,15 +1632,17 @@ var WebsocketSignalManager = class {
|
|
|
1620
1632
|
await this._forEachServer(async (server) => server.subscribeMessages(peerId));
|
|
1621
1633
|
}
|
|
1622
1634
|
async unsubscribeMessages(peerId) {
|
|
1623
|
-
(0, import_log5.log)(
|
|
1635
|
+
(0, import_log5.log)("subscribed for message stream", {
|
|
1636
|
+
peerId
|
|
1637
|
+
}, {
|
|
1624
1638
|
F: __dxlog_file5,
|
|
1625
|
-
L:
|
|
1639
|
+
L: 181,
|
|
1626
1640
|
S: this,
|
|
1627
1641
|
C: (f, a) => f(...a)
|
|
1628
1642
|
});
|
|
1629
1643
|
(0, import_invariant5.invariant)(this._opened, "Closed", {
|
|
1630
1644
|
F: __dxlog_file5,
|
|
1631
|
-
L:
|
|
1645
|
+
L: 182,
|
|
1632
1646
|
S: this,
|
|
1633
1647
|
A: [
|
|
1634
1648
|
"this._opened",
|
|
@@ -1641,7 +1655,7 @@ var WebsocketSignalManager = class {
|
|
|
1641
1655
|
this._ctx = new import_context5.Context({
|
|
1642
1656
|
onError: (err) => import_log5.log.catch(err, void 0, {
|
|
1643
1657
|
F: __dxlog_file5,
|
|
1644
|
-
L:
|
|
1658
|
+
L: 189,
|
|
1645
1659
|
S: this,
|
|
1646
1660
|
C: (f, a) => f(...a)
|
|
1647
1661
|
})
|
|
@@ -1666,12 +1680,65 @@ _ts_decorate([
|
|
|
1666
1680
|
_ts_decorate([
|
|
1667
1681
|
import_async5.synchronized
|
|
1668
1682
|
], WebsocketSignalManager.prototype, "checkServerFailure", null);
|
|
1683
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/core/mesh/messaging/src/signal-manager/utils.ts";
|
|
1684
|
+
var setIdentityTags = ({ identityService, devicesService, setTag }) => {
|
|
1685
|
+
identityService.queryIdentity().subscribe((idqr) => {
|
|
1686
|
+
if (!idqr?.identity?.identityKey) {
|
|
1687
|
+
(0, import_log6.log)("empty response from identity service", {
|
|
1688
|
+
idqr
|
|
1689
|
+
}, {
|
|
1690
|
+
F: __dxlog_file6,
|
|
1691
|
+
L: 21,
|
|
1692
|
+
S: void 0,
|
|
1693
|
+
C: (f, a) => f(...a)
|
|
1694
|
+
});
|
|
1695
|
+
return;
|
|
1696
|
+
}
|
|
1697
|
+
setTag("identityKey", idqr.identity.identityKey.truncate());
|
|
1698
|
+
});
|
|
1699
|
+
devicesService.queryDevices().subscribe((dqr) => {
|
|
1700
|
+
if (!dqr || !dqr.devices || dqr.devices.length === 0) {
|
|
1701
|
+
(0, import_log6.log)("empty response from device service", {
|
|
1702
|
+
device: dqr
|
|
1703
|
+
}, {
|
|
1704
|
+
F: __dxlog_file6,
|
|
1705
|
+
L: 30,
|
|
1706
|
+
S: void 0,
|
|
1707
|
+
C: (f, a) => f(...a)
|
|
1708
|
+
});
|
|
1709
|
+
return;
|
|
1710
|
+
}
|
|
1711
|
+
(0, import_invariant6.invariant)(dqr, "empty response from device service", {
|
|
1712
|
+
F: __dxlog_file6,
|
|
1713
|
+
L: 33,
|
|
1714
|
+
S: void 0,
|
|
1715
|
+
A: [
|
|
1716
|
+
"dqr",
|
|
1717
|
+
"'empty response from device service'"
|
|
1718
|
+
]
|
|
1719
|
+
});
|
|
1720
|
+
const thisDevice = dqr.devices.find((device) => device.kind === import_services.DeviceKind.CURRENT);
|
|
1721
|
+
if (!thisDevice) {
|
|
1722
|
+
(0, import_log6.log)("no current device", {
|
|
1723
|
+
device: dqr
|
|
1724
|
+
}, {
|
|
1725
|
+
F: __dxlog_file6,
|
|
1726
|
+
L: 37,
|
|
1727
|
+
S: void 0,
|
|
1728
|
+
C: (f, a) => f(...a)
|
|
1729
|
+
});
|
|
1730
|
+
return;
|
|
1731
|
+
}
|
|
1732
|
+
setTag("deviceKey", thisDevice.deviceKey.truncate());
|
|
1733
|
+
});
|
|
1734
|
+
};
|
|
1669
1735
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1670
1736
|
0 && (module.exports = {
|
|
1671
1737
|
MemorySignalManager,
|
|
1672
1738
|
MemorySignalManagerContext,
|
|
1673
1739
|
Messenger,
|
|
1674
1740
|
SignalClient,
|
|
1675
|
-
WebsocketSignalManager
|
|
1741
|
+
WebsocketSignalManager,
|
|
1742
|
+
setIdentityTags
|
|
1676
1743
|
});
|
|
1677
1744
|
//# sourceMappingURL=index.cjs.map
|