aboutsummaryrefslogtreecommitdiff
path: root/pirc.js
diff options
context:
space:
mode:
Diffstat (limited to 'pirc.js')
-rw-r--r--pirc.js39
1 files changed, 30 insertions, 9 deletions
diff --git a/pirc.js b/pirc.js
index fd7a4b8..3eece89 100644
--- a/pirc.js
+++ b/pirc.js
@@ -1,4 +1,4 @@
-// PiRC extension 0.1.9-dev+a5547ed59210. Third-party code in this file: @bufbuild/protobuf@2.16.0, ws@8.22.0; see NOTICE.
+// PiRC extension 0.1.9-dev+ec68348def36. Third-party code in this file: @bufbuild/protobuf@2.16.0, ws@8.22.0; see NOTICE.
import { createRequire as __pircCreateRequire } from "node:module";
const require = __pircCreateRequire(import.meta.url);
var __create = Object.create;
@@ -7139,7 +7139,7 @@ var wrapper_default = import_websocket.default;
var file_pirc_v1alpha1_common = /* @__PURE__ */ fileDesc("ChpwaXJjL3YxYWxwaGExL2NvbW1vbi5wcm90bxINcGlyYy52MWFscGhhMSJHCgpTZXNzaW9uUmVmEhAKCGhvc3Rfa2V5GAEgASgMEhIKCnNlc3Npb25faWQYAiABKAkSEwoLaW5zdGFuY2VfaWQYAyABKAkiVAoFRXJyb3ISJgoEY29kZRgBIAEoDjIYLnBpcmMudjFhbHBoYTEuRXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSq6AwoJRXJyb3JDb2RlEhoKFkVSUk9SX0NPREVfVU5TUEVDSUZJRUQQABIeChpFUlJPUl9DT0RFX1VOQVVUSEVOVElDQVRFRBABEiAKHEVSUk9SX0NPREVfUEVSTUlTU0lPTl9ERU5JRUQQAhIiCh5FUlJPUl9DT0RFX1ZFUlNJT05fVU5TVVBQT1JURUQQAxIWChJFUlJPUl9DT0RFX0lOVkFMSUQQBBIYChRFUlJPUl9DT0RFX1RPT19MQVJHRRAFEiAKHEVSUk9SX0NPREVfU0VTU0lPTl9OT1RfRk9VTkQQBhIbChdFUlJPUl9DT0RFX1NFU1NJT05fR09ORRAHEhMKD0VSUk9SX0NPREVfQlVTWRAIEhYKEkVSUk9SX0NPREVfVElNRU9VVBAJEhwKGEVSUk9SX0NPREVfVE9LRU5fSU5WQUxJRBAKEhsKF0VSUk9SX0NPREVfUkFURV9MSU1JVEVEEAsSFwoTRVJST1JfQ09ERV9JTlRFUk5BTBAMEhgKFEVSUk9SX0NPREVfUElfRkFJTEVEEA0SHwobRVJST1JfQ09ERV9BUFBST1ZBTF9QRU5ESU5HEA5CrAEKEWNvbS5waXJjLnYxYWxwaGExQgtDb21tb25Qcm90b1ABWjVwaXJjLmRldi9yZWxheS9pbnRlcm5hbC9wYi9waXJjL3YxYWxwaGExO3BpcmN2MWFscGhhMaICA1BYWKoCDVBpcmMuVjFhbHBoYTHKAg1QaXJjXFYxYWxwaGEx4gIZUGlyY1xWMWFscGhhMVxHUEJNZXRhZGF0YeoCDlBpcmM6OlYxYWxwaGExYgZwcm90bzM");
// protocol/gen/pirc/v1alpha1/relay_pb.ts
-var file_pirc_v1alpha1_relay = /* @__PURE__ */ fileDesc("ChlwaXJjL3YxYWxwaGExL3JlbGF5LnByb3RvEg1waXJjLnYxYWxwaGExIvEICgVGcmFtZRIlCgVoZWxsbxgBIAEoCzIULnBpcmMudjFhbHBoYTEuSGVsbG9IABItCgljaGFsbGVuZ2UYAiABKAsyGC5waXJjLnYxYWxwaGExLkNoYWxsZW5nZUgAEiMKBGF1dGgYAyABKAsyEy5waXJjLnYxYWxwaGExLkF1dGhIABIpCgd3ZWxjb21lGAQgASgLMhYucGlyYy52MWFscGhhMS5XZWxjb21lSAASOgoQc2Vzc2lvbl9hbm5vdW5jZRgKIAEoCzIeLnBpcmMudjFhbHBoYTEuU2Vzc2lvbkFubm91bmNlSAASMAoLc2Vzc2lvbl9lbmQYCyABKAsyGS5waXJjLnYxYWxwaGExLlNlc3Npb25FbmRIABI+ChJzdWJzY3JpYmVfc2Vzc2lvbnMYFCABKAsyIC5waXJjLnYxYWxwaGExLlN1YnNjcmliZVNlc3Npb25zSAASJwoGYXR0YWNoGBUgASgLMhUucGlyYy52MWFscGhhMS5BdHRhY2hIABInCgZkZXRhY2gYFiABKAsyFS5waXJjLnYxYWxwaGExLkRldGFjaEgAEj8KE3dhdGNoX3BlbmRpbmdfaG9zdHMYFyABKAsyIC5waXJjLnYxYWxwaGExLldhdGNoUGVuZGluZ0hvc3RzSAASMgoMYXBwcm92ZV9ob3N0GBggASgLMhoucGlyYy52MWFscGhhMS5BcHByb3ZlSG9zdEgAEjAKC3JlamVjdF9ob3N0GBkgASgLMhkucGlyYy52MWFscGhhMS5SZWplY3RIb3N0SAASLgoKd2F0Y2hfa2V5cxgaIAEoCzIYLnBpcmMudjFhbHBoYTEuV2F0Y2hLZXlzSAASLgoKcmVuYW1lX2tleRgbIAEoCzIYLnBpcmMudjFhbHBoYTEuUmVuYW1lS2V5SAASMgoMc2Vzc2lvbl9saXN0GB4gASgLMhoucGlyYy52MWFscGhhMS5TZXNzaW9uTGlzdEgAEjgKD3Nlc3Npb25fdXBkYXRlZBgfIAEoCzIdLnBpcmMudjFhbHBoYTEuU2Vzc2lvblVwZGF0ZWRIABI0Cg1zZXNzaW9uX2VuZGVkGCAgASgLMhsucGlyYy52MWFscGhhMS5TZXNzaW9uRW5kZWRIABI0Cg1wZW5kaW5nX2hvc3RzGCEgASgLMhsucGlyYy52MWFscGhhMS5QZW5kaW5nSG9zdHNIABIyCgxob3N0X2RlY2lkZWQYIiABKAsyGi5waXJjLnYxYWxwaGExLkhvc3REZWNpZGVkSAASIwoEa2V5cxgjIAEoCzITLnBpcmMudjFhbHBoYTEuS2V5c0gAEjAKC2tleV9jaGFuZ2VkGCQgASgLMhkucGlyYy52MWFscGhhMS5LZXlDaGFuZ2VkSAASJwoGcm91dGVkGCggASgLMhUucGlyYy52MWFscGhhMS5Sb3V0ZWRIABIlCgVlcnJvchgyIAEoCzIULnBpcmMudjFhbHBoYTEuRXJyb3JIAEIGCgRib2R5IrUBCgVIZWxsbxI4ChBwcm90b2NvbF92ZXJzaW9uGAEgASgOMh4ucGlyYy52MWFscGhhMS5Qcm90b2NvbFZlcnNpb24SIQoEcm9sZRgCIAEoDjITLnBpcmMudjFhbHBoYTEuUm9sZRISCgpwdWJsaWNfa2V5GAMgASgMEhoKEnJlZ2lzdHJhdGlvbl90b2tlbhgEIAEoCRINCgVsYWJlbBgFIAEoCRIQCghzb2Z0d2FyZRgGIAEoCSIaCglDaGFsbGVuZ2USDQoFbm9uY2UYASABKAwiGQoEQXV0aBIRCglzaWduYXR1cmUYASABKAwibgoHV2VsY29tZRI4ChBwcm90b2NvbF92ZXJzaW9uGAEgASgOMh4ucGlyYy52MWFscGhhMS5Qcm90b2NvbFZlcnNpb24SFwoPbWF4X2ZyYW1lX2J5dGVzGAIgASgNEhAKCHNvZnR3YXJlGAMgASgJIk4KD1Nlc3Npb25Bbm5vdW5jZRIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmEg8KB3BheWxvYWQYAiABKAwiOAoKU2Vzc2lvbkVuZBIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmIhMKEVN1YnNjcmliZVNlc3Npb25zIjQKBkF0dGFjaBIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmIjQKBkRldGFjaBIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmIpEBCgxTZXNzaW9uRW50cnkSKgoHc2Vzc2lvbhgBIAEoCzIZLnBpcmMudjFhbHBoYTEuU2Vzc2lvblJlZhISCgpob3N0X2xhYmVsGAIgASgJEg8KB3BheWxvYWQYAyABKAwSMAoMYW5ub3VuY2VkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJKCgtTZXNzaW9uTGlzdBItCghzZXNzaW9ucxgBIAMoCzIbLnBpcmMudjFhbHBoYTEuU2Vzc2lvbkVudHJ5EgwKBG1vcmUYAiABKAgiPAoOU2Vzc2lvblVwZGF0ZWQSKgoFZW50cnkYASABKAsyGy5waXJjLnYxYWxwaGExLlNlc3Npb25FbnRyeSI6CgxTZXNzaW9uRW5kZWQSKgoHc2Vzc2lvbhgBIAEoCzIZLnBpcmMudjFhbHBoYTEuU2Vzc2lvblJlZiJZCgZSb3V0ZWQSKgoHc2Vzc2lvbhgBIAEoCzIZLnBpcmMudjFhbHBoYTEuU2Vzc2lvblJlZhISCgpjbGllbnRfa2V5GAIgASgMEg8KB3BheWxvYWQYAyABKAwiEwoRV2F0Y2hQZW5kaW5nSG9zdHMiggEKC1BlbmRpbmdIb3N0EhIKCnB1YmxpY19rZXkYASABKAwSDQoFbGFiZWwYAiABKAkSEAoIc29mdHdhcmUYAyABKAkSDgoGcmVtb3RlGAQgASgJEi4KCmZpcnN0X3NlZW4YBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjkKDFBlbmRpbmdIb3N0cxIpCgVob3N0cxgBIAMoCzIaLnBpcmMudjFhbHBoYTEuUGVuZGluZ0hvc3QiRAoLQXBwcm92ZUhvc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRISCgpwdWJsaWNfa2V5GAIgASgMEg0KBWxhYmVsGAMgASgJIjQKClJlamVjdEhvc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRISCgpwdWJsaWNfa2V5GAIgASgMIiEKC0hvc3REZWNpZGVkEhIKCnJlcXVlc3RfaWQYASABKAkiCwoJV2F0Y2hLZXlzIpMBCg1SZWdpc3RlcmVkS2V5EhIKCnB1YmxpY19rZXkYASABKAwSIQoEcm9sZRgCIAEoDjITLnBpcmMudjFhbHBoYTEuUm9sZRINCgVsYWJlbBgDIAEoCRIsCghhZGRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGb25saW5lGAUgASgIIjIKBEtleXMSKgoEa2V5cxgBIAMoCzIcLnBpcmMudjFhbHBoYTEuUmVnaXN0ZXJlZEtleSJCCglSZW5hbWVLZXkSEgoKcmVxdWVzdF9pZBgBIAEoCRISCgpwdWJsaWNfa2V5GAIgASgMEg0KBWxhYmVsGAMgASgJIiAKCktleUNoYW5nZWQSEgoKcmVxdWVzdF9pZBgBIAEoCSpSCg9Qcm90b2NvbFZlcnNpb24SIAocUFJPVE9DT0xfVkVSU0lPTl9VTlNQRUNJRklFRBAAEh0KGVBST1RPQ09MX1ZFUlNJT05fVjFBTFBIQTEQASo8CgRSb2xlEhQKEFJPTEVfVU5TUEVDSUZJRUQQABINCglST0xFX0hPU1QQARIPCgtST0xFX0NMSUVOVBACQqsBChFjb20ucGlyYy52MWFscGhhMUIKUmVsYXlQcm90b1ABWjVwaXJjLmRldi9yZWxheS9pbnRlcm5hbC9wYi9waXJjL3YxYWxwaGExO3BpcmN2MWFscGhhMaICA1BYWKoCDVBpcmMuVjFhbHBoYTHKAg1QaXJjXFYxYWxwaGEx4gIZUGlyY1xWMWFscGhhMVxHUEJNZXRhZGF0YeoCDlBpcmM6OlYxYWxwaGExYgZwcm90bzM", [file_google_protobuf_timestamp, file_pirc_v1alpha1_common]);
+var file_pirc_v1alpha1_relay = /* @__PURE__ */ fileDesc("ChlwaXJjL3YxYWxwaGExL3JlbGF5LnByb3RvEg1waXJjLnYxYWxwaGExIqEJCgVGcmFtZRIlCgVoZWxsbxgBIAEoCzIULnBpcmMudjFhbHBoYTEuSGVsbG9IABItCgljaGFsbGVuZ2UYAiABKAsyGC5waXJjLnYxYWxwaGExLkNoYWxsZW5nZUgAEiMKBGF1dGgYAyABKAsyEy5waXJjLnYxYWxwaGExLkF1dGhIABIpCgd3ZWxjb21lGAQgASgLMhYucGlyYy52MWFscGhhMS5XZWxjb21lSAASOgoQc2Vzc2lvbl9hbm5vdW5jZRgKIAEoCzIeLnBpcmMudjFhbHBoYTEuU2Vzc2lvbkFubm91bmNlSAASMAoLc2Vzc2lvbl9lbmQYCyABKAsyGS5waXJjLnYxYWxwaGExLlNlc3Npb25FbmRIABI+ChJzdWJzY3JpYmVfc2Vzc2lvbnMYFCABKAsyIC5waXJjLnYxYWxwaGExLlN1YnNjcmliZVNlc3Npb25zSAASJwoGYXR0YWNoGBUgASgLMhUucGlyYy52MWFscGhhMS5BdHRhY2hIABInCgZkZXRhY2gYFiABKAsyFS5waXJjLnYxYWxwaGExLkRldGFjaEgAEj8KE3dhdGNoX3BlbmRpbmdfaG9zdHMYFyABKAsyIC5waXJjLnYxYWxwaGExLldhdGNoUGVuZGluZ0hvc3RzSAASMgoMYXBwcm92ZV9ob3N0GBggASgLMhoucGlyYy52MWFscGhhMS5BcHByb3ZlSG9zdEgAEjAKC3JlamVjdF9ob3N0GBkgASgLMhkucGlyYy52MWFscGhhMS5SZWplY3RIb3N0SAASLgoKd2F0Y2hfa2V5cxgaIAEoCzIYLnBpcmMudjFhbHBoYTEuV2F0Y2hLZXlzSAASLgoKcmVuYW1lX2tleRgbIAEoCzIYLnBpcmMudjFhbHBoYTEuUmVuYW1lS2V5SAASLgoKcmVtb3ZlX2tleRgcIAEoCzIYLnBpcmMudjFhbHBoYTEuUmVtb3ZlS2V5SAASMgoMc2Vzc2lvbl9saXN0GB4gASgLMhoucGlyYy52MWFscGhhMS5TZXNzaW9uTGlzdEgAEjgKD3Nlc3Npb25fdXBkYXRlZBgfIAEoCzIdLnBpcmMudjFhbHBoYTEuU2Vzc2lvblVwZGF0ZWRIABI0Cg1zZXNzaW9uX2VuZGVkGCAgASgLMhsucGlyYy52MWFscGhhMS5TZXNzaW9uRW5kZWRIABI0Cg1wZW5kaW5nX2hvc3RzGCEgASgLMhsucGlyYy52MWFscGhhMS5QZW5kaW5nSG9zdHNIABIyCgxob3N0X2RlY2lkZWQYIiABKAsyGi5waXJjLnYxYWxwaGExLkhvc3REZWNpZGVkSAASIwoEa2V5cxgjIAEoCzITLnBpcmMudjFhbHBoYTEuS2V5c0gAEjAKC2tleV9jaGFuZ2VkGCQgASgLMhkucGlyYy52MWFscGhhMS5LZXlDaGFuZ2VkSAASJwoGcm91dGVkGCggASgLMhUucGlyYy52MWFscGhhMS5Sb3V0ZWRIABIlCgVlcnJvchgyIAEoCzIULnBpcmMudjFhbHBoYTEuRXJyb3JIAEIGCgRib2R5IrUBCgVIZWxsbxI4ChBwcm90b2NvbF92ZXJzaW9uGAEgASgOMh4ucGlyYy52MWFscGhhMS5Qcm90b2NvbFZlcnNpb24SIQoEcm9sZRgCIAEoDjITLnBpcmMudjFhbHBoYTEuUm9sZRISCgpwdWJsaWNfa2V5GAMgASgMEhoKEnJlZ2lzdHJhdGlvbl90b2tlbhgEIAEoCRINCgVsYWJlbBgFIAEoCRIQCghzb2Z0d2FyZRgGIAEoCSIaCglDaGFsbGVuZ2USDQoFbm9uY2UYASABKAwiGQoEQXV0aBIRCglzaWduYXR1cmUYASABKAwibgoHV2VsY29tZRI4ChBwcm90b2NvbF92ZXJzaW9uGAEgASgOMh4ucGlyYy52MWFscGhhMS5Qcm90b2NvbFZlcnNpb24SFwoPbWF4X2ZyYW1lX2J5dGVzGAIgASgNEhAKCHNvZnR3YXJlGAMgASgJIk4KD1Nlc3Npb25Bbm5vdW5jZRIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmEg8KB3BheWxvYWQYAiABKAwiOAoKU2Vzc2lvbkVuZBIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmIhMKEVN1YnNjcmliZVNlc3Npb25zIjQKBkF0dGFjaBIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmIjQKBkRldGFjaBIqCgdzZXNzaW9uGAEgASgLMhkucGlyYy52MWFscGhhMS5TZXNzaW9uUmVmIpEBCgxTZXNzaW9uRW50cnkSKgoHc2Vzc2lvbhgBIAEoCzIZLnBpcmMudjFhbHBoYTEuU2Vzc2lvblJlZhISCgpob3N0X2xhYmVsGAIgASgJEg8KB3BheWxvYWQYAyABKAwSMAoMYW5ub3VuY2VkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJKCgtTZXNzaW9uTGlzdBItCghzZXNzaW9ucxgBIAMoCzIbLnBpcmMudjFhbHBoYTEuU2Vzc2lvbkVudHJ5EgwKBG1vcmUYAiABKAgiPAoOU2Vzc2lvblVwZGF0ZWQSKgoFZW50cnkYASABKAsyGy5waXJjLnYxYWxwaGExLlNlc3Npb25FbnRyeSI6CgxTZXNzaW9uRW5kZWQSKgoHc2Vzc2lvbhgBIAEoCzIZLnBpcmMudjFhbHBoYTEuU2Vzc2lvblJlZiJZCgZSb3V0ZWQSKgoHc2Vzc2lvbhgBIAEoCzIZLnBpcmMudjFhbHBoYTEuU2Vzc2lvblJlZhISCgpjbGllbnRfa2V5GAIgASgMEg8KB3BheWxvYWQYAyABKAwiEwoRV2F0Y2hQZW5kaW5nSG9zdHMiggEKC1BlbmRpbmdIb3N0EhIKCnB1YmxpY19rZXkYASABKAwSDQoFbGFiZWwYAiABKAkSEAoIc29mdHdhcmUYAyABKAkSDgoGcmVtb3RlGAQgASgJEi4KCmZpcnN0X3NlZW4YBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjkKDFBlbmRpbmdIb3N0cxIpCgVob3N0cxgBIAMoCzIaLnBpcmMudjFhbHBoYTEuUGVuZGluZ0hvc3QiRAoLQXBwcm92ZUhvc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRISCgpwdWJsaWNfa2V5GAIgASgMEg0KBWxhYmVsGAMgASgJIjQKClJlamVjdEhvc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRISCgpwdWJsaWNfa2V5GAIgASgMIiEKC0hvc3REZWNpZGVkEhIKCnJlcXVlc3RfaWQYASABKAkiCwoJV2F0Y2hLZXlzIpMBCg1SZWdpc3RlcmVkS2V5EhIKCnB1YmxpY19rZXkYASABKAwSIQoEcm9sZRgCIAEoDjITLnBpcmMudjFhbHBoYTEuUm9sZRINCgVsYWJlbBgDIAEoCRIsCghhZGRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGb25saW5lGAUgASgIIjIKBEtleXMSKgoEa2V5cxgBIAMoCzIcLnBpcmMudjFhbHBoYTEuUmVnaXN0ZXJlZEtleSJCCglSZW5hbWVLZXkSEgoKcmVxdWVzdF9pZBgBIAEoCRISCgpwdWJsaWNfa2V5GAIgASgMEg0KBWxhYmVsGAMgASgJIjMKCVJlbW92ZUtleRISCgpyZXF1ZXN0X2lkGAEgASgJEhIKCnB1YmxpY19rZXkYAiABKAwiIAoKS2V5Q2hhbmdlZBISCgpyZXF1ZXN0X2lkGAEgASgJKlIKD1Byb3RvY29sVmVyc2lvbhIgChxQUk9UT0NPTF9WRVJTSU9OX1VOU1BFQ0lGSUVEEAASHQoZUFJPVE9DT0xfVkVSU0lPTl9WMUFMUEhBMRABKjwKBFJvbGUSFAoQUk9MRV9VTlNQRUNJRklFRBAAEg0KCVJPTEVfSE9TVBABEg8KC1JPTEVfQ0xJRU5UEAJCqwEKEWNvbS5waXJjLnYxYWxwaGExQgpSZWxheVByb3RvUAFaNXBpcmMuZGV2L3JlbGF5L2ludGVybmFsL3BiL3BpcmMvdjFhbHBoYTE7cGlyY3YxYWxwaGExogIDUFhYqgINUGlyYy5WMWFscGhhMcoCDVBpcmNcVjFhbHBoYTHiAhlQaXJjXFYxYWxwaGExXEdQQk1ldGFkYXRh6gIOUGlyYzo6VjFhbHBoYTFiBnByb3RvMw", [file_google_protobuf_timestamp, file_pirc_v1alpha1_common]);
var FrameSchema = /* @__PURE__ */ messageDesc(file_pirc_v1alpha1_relay, 0);
// protocol/gen/pirc/v1alpha1/session_pb.ts
@@ -7353,10 +7353,10 @@ var RelayConnection = class {
this.setState({ kind: "pending", reason });
this.retryTimer = setTimeout(() => this.connect(), this.opts.approvalRetryMs ?? 1e4);
}
- refuse(code, reason) {
+ refuse(code, reason, removed) {
this.teardown();
this.stopped = true;
- this.setState({ kind: "refused", code, reason });
+ this.setState({ kind: "refused", code, reason, ...removed && { removed } });
}
connect() {
if (this.stopped) return;
@@ -7438,6 +7438,9 @@ var RelayConnection = class {
});
ws.on("close", (code, reason) => {
if (this.ws !== ws) return;
+ if (phase === "ready" && code === 1008 && reason.toString() === "key revoked") {
+ return this.refuse(1 /* UNAUTHENTICATED */, "this key was removed from the relay", true);
+ }
this.retry(`connection closed (${code}${reason.length ? ` ${reason}` : ""})`);
});
ws.on("error", (err) => {
@@ -7476,12 +7479,19 @@ function loadConfig() {
keyFile: f.keyFile || join(dirname2(path), "host.key"),
label: f.label || hostname(),
token: process.env.PIRC_TOKEN || void 0,
+ removed: f.removed,
path
};
}
function saveRelay(relay) {
+ const { removed: _, ...f } = readFile(configPath());
+ write({ ...f, relay });
+}
+function saveRemoved(at) {
+ write({ ...readFile(configPath()), removed: at.toISOString() });
+}
+function write(f) {
const path = configPath();
- const f = { ...readFile(path), relay };
mkdirSync2(dirname2(path), { recursive: true, mode: 448 });
const tmp = `${path}.${process.pid}.tmp`;
writeFileSync2(tmp, JSON.stringify(f, null, 2) + "\n", { mode: 384 });
@@ -9164,7 +9174,7 @@ var Host = class _Host {
return this.showStatus();
}
this.config = config;
- if (!config.relay) return this.showStatus();
+ if (!config.relay || config.removed) return this.showStatus();
try {
this.key = loadOrCreateKey(config.keyFile);
} catch (e) {
@@ -9193,6 +9203,15 @@ var Host = class _Host {
onState(s) {
this.state = s;
this.log(`relay ${s.kind}${"reason" in s ? `: ${s.reason}` : ""}`);
+ if (s.kind === "refused" && s.removed && this.config) {
+ const at = /* @__PURE__ */ new Date();
+ this.config = { ...this.config, removed: at.toISOString() };
+ try {
+ saveRemoved(at);
+ } catch (e) {
+ this.fail("config", e);
+ }
+ }
if (s.kind === "ready") {
if (this.live) this.announce(this.live);
if (this.suspended) this.announce(this.suspended);
@@ -9203,6 +9222,7 @@ var Host = class _Host {
statusText() {
const s = this.state;
if (!this.config?.relay) return "pirc: not enrolled";
+ if (this.config.removed) return "pirc: removed from the relay";
switch (s.kind) {
case "ready":
return "pirc: online";
@@ -9231,6 +9251,7 @@ var Host = class _Host {
if (this.live) lines.push(`session ${this.live.sessionId}, instance ${this.instanceId}`);
if (this.dialogs.problem) lines.push(this.dialogs.problem);
if (this.lastError) lines.push(`last error: ${this.lastError}`);
+ if (c?.removed) lines.push(`removed from the relay ${c.removed}; to join again: /pirc enrol <relay-url> [token]`);
if (!c?.relay) lines.push("enrol with: /pirc enrol <relay-url> [token]; without a token, approve this key in the web app or with pirc-relay approve");
return lines.join("\n");
}
@@ -9238,7 +9259,7 @@ var Host = class _Host {
// takes no line.
showStatus() {
try {
- this.live?.ctx.ui.setStatus("pirc", this.state.kind === "ready" && this.config?.relay ? void 0 : this.statusText());
+ this.live?.ctx.ui.setStatus("pirc", this.state.kind === "ready" && this.config?.relay && !this.config.removed ? void 0 : this.statusText());
} catch {
}
}
@@ -9342,7 +9363,7 @@ var Host = class _Host {
};
// extension/src/index.ts
-var EXTENSION_VERSION = true ? "0.1.9-dev+a5547ed59210" : "dev";
+var EXTENSION_VERSION = true ? "0.1.9-dev+ec68348def36" : "dev";
function piVersion() {
try {
let dir = dirname3(realpathSync(process.argv[1]));
@@ -9357,7 +9378,7 @@ function piVersion() {
}
return "unknown";
}
-var LOAD = true ? "0.1.9-dev+a5547ed59210" : `dev ${randomBytes4(4).toString("hex")}`;
+var LOAD = true ? "0.1.9-dev+ec68348def36" : `dev ${randomBytes4(4).toString("hex")}`;
var KEY = /* @__PURE__ */ Symbol.for("pirc.extension");
var proc = globalThis[KEY] ??= {};
if (!proc.host || proc.load !== LOAD) {