@vex-chat/libvex 1.0.2 → 1.1.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/dist/Client.d.ts CHANGED
@@ -343,6 +343,8 @@ export interface IClientOptions {
343
343
  saveHistory?: boolean;
344
344
  /** Platform-specific adapters (WebSocket + Logger). When omitted, defaults to Node.js ws. */
345
345
  adapters?: IClientAdapters;
346
+ /** Platform label for device registration (e.g. "ios", "macos", "linux"). */
347
+ deviceName?: string;
346
348
  }
347
349
  export declare interface Client {
348
350
  /**
@@ -657,7 +659,7 @@ export declare class Client extends EventEmitter {
657
659
  private isAlive;
658
660
  private reading;
659
661
  private fetchingMail;
660
- private cookies;
662
+ private ax;
661
663
  private log;
662
664
  private pingInterval;
663
665
  private mailInterval?;
@@ -665,6 +667,7 @@ export declare class Client extends EventEmitter {
665
667
  private token;
666
668
  private forwarded;
667
669
  private prefixes;
670
+ private options?;
668
671
  private constructor();
669
672
  /**
670
673
  * Returns the current HTTP API origin with protocol.
@@ -684,7 +687,7 @@ export declare class Client extends EventEmitter {
684
687
  */
685
688
  getKeys(): IKeys;
686
689
  /**
687
- * Authenticates with username/password and stores the auth token/cookie.
690
+ * Authenticates with username/password and stores the Bearer auth token.
688
691
  *
689
692
  * @param username Account username.
690
693
  * @param password Account password.
@@ -698,9 +701,14 @@ export declare class Client extends EventEmitter {
698
701
  */
699
702
  login(username: string, password: string): Promise<Error | null>;
700
703
  /**
701
- * Returns the authorization cookie details. Throws if you don't have a
702
- * valid authorization cookie.
704
+ * Authenticates using the device's Ed25519 signing key.
705
+ * No password needed — proves possession of the private key via
706
+ * challenge-response. Issues a short-lived (1-hour) JWT.
707
+ *
708
+ * Used by auto-login when stored credentials have a deviceKey
709
+ * but no valid session.
703
710
  */
711
+ loginWithDeviceKey(deviceID?: string): Promise<Error | null>;
704
712
  /**
705
713
  * Returns details about the currently authenticated session.
706
714
  *
@@ -722,7 +730,7 @@ export declare class Client extends EventEmitter {
722
730
  */
723
731
  logout(): Promise<void>;
724
732
  /**
725
- * Connects your device to the chat. You must have an valid authorization cookie.
733
+ * Connects your device to the chat. You must have a valid Bearer token.
726
734
  * You can check whoami() to see before calling connect().
727
735
  */
728
736
  connect(): Promise<void>;
@@ -746,8 +754,6 @@ export declare class Client extends EventEmitter {
746
754
  private retrieveEmojiByID;
747
755
  private leaveServer;
748
756
  private kickUser;
749
- private addCookie;
750
- private getCookies;
751
757
  private uploadEmoji;
752
758
  private retrieveOrCreateDevice;
753
759
  private registerDevice;
package/dist/Client.js CHANGED
@@ -2,9 +2,7 @@
2
2
  import { sleep } from "@extrahash/sleep";
3
3
  import { xConcat, xConstants, xDH, xEncode, xHMAC, xKDF, XKeyConvert, xMakeNonce, xMnemonic, XUtils, } from "@vex-chat/crypto";
4
4
  import { MailType } from "@vex-chat/types";
5
- import ax, { AxiosError } from "axios";
6
- import { isBrowser, isNode } from "browser-or-node";
7
- // btoa is native in browsers and Node 16+
5
+ import axios, { AxiosError } from "axios";
8
6
  import pc from "picocolors";
9
7
  import { EventEmitter } from "eventemitter3";
10
8
  import { Packr } from "msgpackr";
@@ -25,14 +23,10 @@ const msgpack = {
25
23
  import objectHash from "object-hash";
26
24
  import nacl from "tweetnacl";
27
25
  import * as uuid from "uuid";
28
- // Storage (Kysely/better-sqlite3) loaded lazily — only when no external storage is provided.
29
26
  import { capitalize } from "./utils/capitalize.js";
30
- // createLogger (winston) loaded lazily — only in Node when no adapter logger is provided.
31
27
  import { formatBytes } from "./utils/formatBytes.js";
32
28
  import { sqlSessionToCrypto } from "./utils/sqlSessionToCrypto.js";
33
29
  import { uuidToUint8 } from "./utils/uint8uuid.js";
34
- ax.defaults.withCredentials = true;
35
- ax.defaults.responseType = "arraybuffer";
36
30
  const protocolMsgRegex = /��\w+:\w+��/g;
37
31
  /**
38
32
  * Client provides an interface for you to use a vex chat server and
@@ -445,7 +439,7 @@ export class Client extends EventEmitter {
445
439
  isAlive = true;
446
440
  reading = false;
447
441
  fetchingMail = false;
448
- cookies = [];
442
+ ax;
449
443
  log;
450
444
  pingInterval = null;
451
445
  mailInterval;
@@ -453,8 +447,10 @@ export class Client extends EventEmitter {
453
447
  token = null;
454
448
  forwarded = [];
455
449
  prefixes;
450
+ options;
456
451
  constructor(privateKey, options, storage) {
457
452
  super();
453
+ this.options = options;
458
454
  this.log = options?.adapters?.logger ?? {
459
455
  info() { },
460
456
  warn() { },
@@ -490,6 +486,7 @@ export class Client extends EventEmitter {
490
486
  throw new Error("No adapters provided. Use Client.create() which resolves adapters automatically.");
491
487
  }
492
488
  this.adapters = options.adapters;
489
+ this.ax = axios.create({ responseType: "arraybuffer" });
493
490
  // Placeholder connection — replaced by initSocket() during connect()
494
491
  this.conn = new this.adapters.WebSocket("ws://localhost:1234");
495
492
  this.conn.onerror = () => { };
@@ -499,8 +496,7 @@ export class Client extends EventEmitter {
499
496
  host: this.getHost(),
500
497
  dbPath: this.dbPath,
501
498
  environment: {
502
- isBrowser,
503
- isNode,
499
+ platform: this.options?.deviceName ?? "unknown",
504
500
  },
505
501
  options,
506
502
  }, null, 4));
@@ -546,7 +542,7 @@ export class Client extends EventEmitter {
546
542
  };
547
543
  }
548
544
  /**
549
- * Authenticates with username/password and stores the auth token/cookie.
545
+ * Authenticates with username/password and stores the Bearer auth token.
550
546
  *
551
547
  * @param username Account username.
552
548
  * @param password Account password.
@@ -560,23 +556,16 @@ export class Client extends EventEmitter {
560
556
  */
561
557
  async login(username, password) {
562
558
  try {
563
- const res = await ax.post(this.getHost() + "/auth", msgpack.encode({
559
+ const res = await this.ax.post(this.getHost() + "/auth", msgpack.encode({
564
560
  username,
565
561
  password,
566
562
  }), {
567
563
  headers: { "Content-Type": "application/msgpack" },
568
564
  });
569
565
  const { user, token } = msgpack.decode(new Uint8Array(res.data));
570
- const cookies = res.headers["set-cookie"];
571
- if (cookies) {
572
- for (const cookie of cookies) {
573
- if (cookie.includes("auth")) {
574
- this.addCookie(cookie);
575
- }
576
- }
577
- }
578
566
  this.setUser(user);
579
567
  this.token = token;
568
+ this.ax.defaults.headers.common.Authorization = `Bearer ${token}`;
580
569
  }
581
570
  catch (err) {
582
571
  console.error(err.toString());
@@ -585,9 +574,38 @@ export class Client extends EventEmitter {
585
574
  return null;
586
575
  }
587
576
  /**
588
- * Returns the authorization cookie details. Throws if you don't have a
589
- * valid authorization cookie.
577
+ * Authenticates using the device's Ed25519 signing key.
578
+ * No password needed — proves possession of the private key via
579
+ * challenge-response. Issues a short-lived (1-hour) JWT.
580
+ *
581
+ * Used by auto-login when stored credentials have a deviceKey
582
+ * but no valid session.
590
583
  */
584
+ async loginWithDeviceKey(deviceID) {
585
+ try {
586
+ const id = deviceID ?? this.device?.deviceID;
587
+ if (!id) {
588
+ return new Error("No deviceID — pass it or connect first.");
589
+ }
590
+ const signKeyHex = XUtils.encodeHex(this.signKeys.publicKey);
591
+ const challengeRes = await this.ax.post(this.getHost() + "/auth/device", msgpack.encode({
592
+ deviceID: id,
593
+ signKey: signKeyHex,
594
+ }), { headers: { "Content-Type": "application/msgpack" } });
595
+ const { challengeID, challenge } = msgpack.decode(new Uint8Array(challengeRes.data));
596
+ const signed = XUtils.encodeHex(nacl.sign(XUtils.decodeHex(challenge), this.signKeys.secretKey));
597
+ const verifyRes = await this.ax.post(this.getHost() + "/auth/device/verify", msgpack.encode({ challengeID, signed }), { headers: { "Content-Type": "application/msgpack" } });
598
+ const { user, token } = msgpack.decode(new Uint8Array(verifyRes.data));
599
+ this.setUser(user);
600
+ this.token = token;
601
+ this.ax.defaults.headers.common.Authorization = `Bearer ${token}`;
602
+ }
603
+ catch (err) {
604
+ this.log.error("Device-key auth failed: " + err);
605
+ return err instanceof Error ? err : new Error(String(err));
606
+ }
607
+ return null;
608
+ }
591
609
  /**
592
610
  * Returns details about the currently authenticated session.
593
611
  *
@@ -600,10 +618,7 @@ export class Client extends EventEmitter {
600
618
  * ```
601
619
  */
602
620
  async whoami() {
603
- const res = await ax.post(this.getHost() + "/whoami", null, {
604
- withCredentials: true,
605
- responseType: "arraybuffer",
606
- });
621
+ const res = await this.ax.post(this.getHost() + "/whoami");
607
622
  const whoami = msgpack.decode(new Uint8Array(res.data));
608
623
  return whoami;
609
624
  }
@@ -611,17 +626,18 @@ export class Client extends EventEmitter {
611
626
  * Logs out the current authenticated session from the server.
612
627
  */
613
628
  async logout() {
614
- await ax.post(this.getHost() + "/goodbye");
629
+ await this.ax.post(this.getHost() + "/goodbye");
615
630
  }
616
631
  /**
617
- * Connects your device to the chat. You must have an valid authorization cookie.
632
+ * Connects your device to the chat. You must have a valid Bearer token.
618
633
  * You can check whoami() to see before calling connect().
619
634
  */
620
635
  async connect() {
621
636
  const { user, token } = await this.whoami();
622
637
  this.token = token;
638
+ this.ax.defaults.headers.common.Authorization = `Bearer ${token}`;
623
639
  if (!user || !token) {
624
- throw new Error("Auth cookie missing or expired. Log in again.");
640
+ throw new Error("Auth token missing or expired. Log in again.");
625
641
  }
626
642
  this.setUser(user);
627
643
  this.device = await this.retrieveOrCreateDevice();
@@ -630,17 +646,14 @@ export class Client extends EventEmitter {
630
646
  throw new Error("Couldn't get connect token.");
631
647
  }
632
648
  const signed = nacl.sign(Uint8Array.from(uuid.parse(connectToken.key)), this.signKeys.secretKey);
633
- const res = await ax.post(this.getHost() + "/device/" + this.device.deviceID + "/connect", msgpack.encode({ signed }), { headers: { "Content-Type": "application/msgpack" } });
634
- const cookies = res.headers["set-cookie"];
635
- if (cookies) {
636
- for (const cookie of cookies) {
637
- if (cookie.includes("device")) {
638
- this.addCookie(cookie);
639
- }
640
- }
641
- }
649
+ const res = await this.ax.post(this.getHost() + "/device/" + this.device.deviceID + "/connect", msgpack.encode({ signed }), { headers: { "Content-Type": "application/msgpack" } });
650
+ const { deviceToken } = msgpack.decode(new Uint8Array(res.data));
651
+ this.ax.defaults.headers.common["X-Device-Token"] = deviceToken;
642
652
  this.log.info("Starting websocket.");
643
653
  this.initSocket();
654
+ // Yield the event loop so the WS open callback fires and sends the
655
+ // auth message before OTK generation blocks for ~5s on mobile.
656
+ await new Promise((r) => setTimeout(r, 0));
644
657
  await this.negotiateOTK();
645
658
  }
646
659
  /**
@@ -667,12 +680,10 @@ export class Client extends EventEmitter {
667
680
  preKeySignature: XUtils.encodeHex(this.xKeyRing.preKeys.signature),
668
681
  preKeyIndex: this.xKeyRing.preKeys.index,
669
682
  password,
670
- deviceName: typeof navigator !== "undefined"
671
- ? navigator.userAgent.slice(0, 64)
672
- : "node",
683
+ deviceName: this.options?.deviceName ?? "unknown",
673
684
  };
674
685
  try {
675
- const res = await ax.post(this.getHost() + "/register", msgpack.encode(regMsg), { headers: { "Content-Type": "application/msgpack" } });
686
+ const res = await this.ax.post(this.getHost() + "/register", msgpack.encode(regMsg), { headers: { "Content-Type": "application/msgpack" } });
676
687
  this.setUser(msgpack.decode(new Uint8Array(res.data)));
677
688
  return [this.getUser(), null];
678
689
  }
@@ -696,11 +707,11 @@ export class Client extends EventEmitter {
696
707
  return this.user?.username + "<" + this.device?.deviceID + ">";
697
708
  }
698
709
  async redeemInvite(inviteID) {
699
- const res = await ax.patch(this.getHost() + "/invite/" + inviteID);
710
+ const res = await this.ax.patch(this.getHost() + "/invite/" + inviteID);
700
711
  return msgpack.decode(new Uint8Array(res.data));
701
712
  }
702
713
  async retrieveInvites(serverID) {
703
- const res = await ax.get(this.getHost() + "/server/" + serverID + "/invites");
714
+ const res = await this.ax.get(this.getHost() + "/server/" + serverID + "/invites");
704
715
  return msgpack.decode(new Uint8Array(res.data));
705
716
  }
706
717
  async createInvite(serverID, duration) {
@@ -708,16 +719,15 @@ export class Client extends EventEmitter {
708
719
  serverID,
709
720
  duration,
710
721
  };
711
- const res = await ax.post(this.getHost() + "/server/" + serverID + "/invites", payload);
722
+ const res = await this.ax.post(this.getHost() + "/server/" + serverID + "/invites", payload);
712
723
  return msgpack.decode(new Uint8Array(res.data));
713
724
  }
714
725
  async retrieveEmojiList(serverID) {
715
- const res = await ax.get(this.getHost() + "/server/" + serverID + "/emoji");
726
+ const res = await this.ax.get(this.getHost() + "/server/" + serverID + "/emoji");
716
727
  return msgpack.decode(new Uint8Array(res.data));
717
728
  }
718
729
  async retrieveEmojiByID(emojiID) {
719
- const res = await ax.get(this.getHost() + "/emoji/" + emojiID + "/details");
720
- // this is actually empty string
730
+ const res = await this.ax.get(this.getHost() + "/emoji/" + emojiID + "/details");
721
731
  if (!res.data) {
722
732
  return null;
723
733
  }
@@ -741,25 +751,13 @@ export class Client extends EventEmitter {
741
751
  }
742
752
  throw new Error("Couldn't kick user.");
743
753
  }
744
- addCookie(cookie) {
745
- if (!this.cookies.includes(cookie)) {
746
- this.cookies.push(cookie);
747
- this.log.info("cookies changed", this.getCookies());
748
- if (isNode) {
749
- ax.defaults.headers.cookie = this.cookies.join(";");
750
- }
751
- }
752
- }
753
- getCookies() {
754
- return this.cookies.join(";");
755
- }
756
754
  async uploadEmoji(emoji, name, serverID) {
757
755
  if (typeof FormData !== "undefined") {
758
756
  const fpayload = new FormData();
759
757
  fpayload.set("emoji", new Blob([new Uint8Array(emoji)]));
760
758
  fpayload.set("name", name);
761
759
  try {
762
- const res = await ax.post(this.getHost() + "/emoji/" + serverID, fpayload, {
760
+ const res = await this.ax.post(this.getHost() + "/emoji/" + serverID, fpayload, {
763
761
  headers: { "Content-Type": "multipart/form-data" },
764
762
  onUploadProgress: (progressEvent) => {
765
763
  const percentCompleted = Math.round((progressEvent.loaded * 100) /
@@ -786,7 +784,7 @@ export class Client extends EventEmitter {
786
784
  name,
787
785
  };
788
786
  try {
789
- const res = await ax.post(this.getHost() + "/emoji/" + serverID + "/json", msgpack.encode(payload), { headers: { "Content-Type": "application/msgpack" } });
787
+ const res = await this.ax.post(this.getHost() + "/emoji/" + serverID + "/json", msgpack.encode(payload), { headers: { "Content-Type": "application/msgpack" } });
790
788
  return msgpack.decode(new Uint8Array(res.data));
791
789
  }
792
790
  catch (err) {
@@ -796,7 +794,7 @@ export class Client extends EventEmitter {
796
794
  async retrieveOrCreateDevice() {
797
795
  let device;
798
796
  try {
799
- const res = await ax.get(this.prefixes.HTTP +
797
+ const res = await this.ax.get(this.prefixes.HTTP +
800
798
  this.host +
801
799
  "/device/" +
802
800
  XUtils.encodeHex(this.signKeys.publicKey));
@@ -848,12 +846,10 @@ export class Client extends EventEmitter {
848
846
  preKey: XUtils.encodeHex(this.xKeyRing.preKeys.keyPair.publicKey),
849
847
  preKeySignature: XUtils.encodeHex(this.xKeyRing.preKeys.signature),
850
848
  preKeyIndex: this.xKeyRing.preKeys.index,
851
- deviceName: typeof navigator !== "undefined"
852
- ? navigator.userAgent.slice(0, 64)
853
- : "node",
849
+ deviceName: this.options?.deviceName ?? "unknown",
854
850
  };
855
851
  try {
856
- const res = await ax.post(this.prefixes.HTTP +
852
+ const res = await this.ax.post(this.prefixes.HTTP +
857
853
  this.host +
858
854
  "/user/" +
859
855
  userDetails.userID +
@@ -866,7 +862,7 @@ export class Client extends EventEmitter {
866
862
  }
867
863
  async getToken(type) {
868
864
  try {
869
- const res = await ax.get(this.getHost() + "/token/" + type, {
865
+ const res = await this.ax.get(this.getHost() + "/token/" + type, {
870
866
  responseType: "arraybuffer",
871
867
  });
872
868
  return msgpack.decode(new Uint8Array(res.data));
@@ -880,7 +876,7 @@ export class Client extends EventEmitter {
880
876
  if (typeof FormData !== "undefined") {
881
877
  const fpayload = new FormData();
882
878
  fpayload.set("avatar", new Blob([new Uint8Array(avatar)]));
883
- await ax.post(this.prefixes.HTTP +
879
+ await this.ax.post(this.prefixes.HTTP +
884
880
  this.host +
885
881
  "/avatar/" +
886
882
  this.me.user().userID, fpayload, {
@@ -904,7 +900,7 @@ export class Client extends EventEmitter {
904
900
  const payload = {
905
901
  file: XUtils.encodeBase64(avatar),
906
902
  };
907
- await ax.post(this.prefixes.HTTP +
903
+ await this.ax.post(this.prefixes.HTTP +
908
904
  this.host +
909
905
  "/avatar/" +
910
906
  this.me.user().userID +
@@ -916,7 +912,7 @@ export class Client extends EventEmitter {
916
912
  * @returns - The list of IPermissions objects.
917
913
  */
918
914
  async fetchPermissionList(serverID) {
919
- const res = await ax.get(this.prefixes.HTTP +
915
+ const res = await this.ax.get(this.prefixes.HTTP +
920
916
  this.host +
921
917
  "/server/" +
922
918
  serverID +
@@ -929,17 +925,17 @@ export class Client extends EventEmitter {
929
925
  * @returns - The list of IPermissions objects.
930
926
  */
931
927
  async getPermissions() {
932
- const res = await ax.get(this.getHost() + "/user/" + this.getUser().userID + "/permissions");
928
+ const res = await this.ax.get(this.getHost() + "/user/" + this.getUser().userID + "/permissions");
933
929
  return msgpack.decode(new Uint8Array(res.data));
934
930
  }
935
931
  async deletePermission(permissionID) {
936
- await ax.delete(this.getHost() + "/permission/" + permissionID);
932
+ await this.ax.delete(this.getHost() + "/permission/" + permissionID);
937
933
  }
938
934
  async retrieveFile(fileID, key) {
939
935
  try {
940
- const detailsRes = await ax.get(this.getHost() + "/file/" + fileID + "/details");
936
+ const detailsRes = await this.ax.get(this.getHost() + "/file/" + fileID + "/details");
941
937
  const details = msgpack.decode(new Uint8Array(detailsRes.data));
942
- const res = await ax.get(this.getHost() + "/file/" + fileID, {
938
+ const res = await this.ax.get(this.getHost() + "/file/" + fileID, {
943
939
  onDownloadProgress: (progressEvent) => {
944
940
  const percentCompleted = Math.round((progressEvent.loaded * 100) /
945
941
  (progressEvent.total ?? 1));
@@ -970,7 +966,7 @@ export class Client extends EventEmitter {
970
966
  }
971
967
  }
972
968
  async deleteServer(serverID) {
973
- await ax.delete(this.getHost() + "/server/" + serverID);
969
+ await this.ax.delete(this.getHost() + "/server/" + serverID);
974
970
  }
975
971
  /**
976
972
  * Initializes the keyring. This must be called before anything else.
@@ -994,7 +990,7 @@ export class Client extends EventEmitter {
994
990
  this.emit("ready");
995
991
  }
996
992
  async deleteChannel(channelID) {
997
- await ax.delete(this.getHost() + "/channel/" + channelID);
993
+ await this.ax.delete(this.getHost() + "/channel/" + channelID);
998
994
  }
999
995
  // returns the file details and the encryption key
1000
996
  async createFile(file) {
@@ -1008,7 +1004,7 @@ export class Client extends EventEmitter {
1008
1004
  fpayload.set("owner", this.getDevice().deviceID);
1009
1005
  fpayload.set("nonce", XUtils.encodeHex(nonce));
1010
1006
  fpayload.set("file", new Blob([new Uint8Array(box)]));
1011
- const fres = await ax.post(this.getHost() + "/file", fpayload, {
1007
+ const fres = await this.ax.post(this.getHost() + "/file", fpayload, {
1012
1008
  headers: { "Content-Type": "multipart/form-data" },
1013
1009
  onUploadProgress: (progressEvent) => {
1014
1010
  const percentCompleted = Math.round((progressEvent.loaded * 100) /
@@ -1032,12 +1028,12 @@ export class Client extends EventEmitter {
1032
1028
  nonce: XUtils.encodeHex(nonce),
1033
1029
  file: XUtils.encodeBase64(box),
1034
1030
  };
1035
- const res = await ax.post(this.getHost() + "/file/json", msgpack.encode(payload), { headers: { "Content-Type": "application/msgpack" } });
1031
+ const res = await this.ax.post(this.getHost() + "/file/json", msgpack.encode(payload), { headers: { "Content-Type": "application/msgpack" } });
1036
1032
  const createdFile = msgpack.decode(new Uint8Array(res.data));
1037
1033
  return [createdFile, XUtils.encodeHex(key.secretKey)];
1038
1034
  }
1039
1035
  async getUserList(channelID) {
1040
- const res = await ax.post(this.getHost() + "/userList/" + channelID);
1036
+ const res = await this.ax.post(this.getHost() + "/userList/" + channelID);
1041
1037
  return msgpack.decode(new Uint8Array(res.data));
1042
1038
  }
1043
1039
  async markSessionVerified(sessionID) {
@@ -1126,7 +1122,7 @@ export class Client extends EventEmitter {
1126
1122
  });
1127
1123
  }
1128
1124
  async createServer(name) {
1129
- const res = await ax.post(this.getHost() + "/server/" + globalThis.btoa(name));
1125
+ const res = await this.ax.post(this.getHost() + "/server/" + globalThis.btoa(name));
1130
1126
  return msgpack.decode(new Uint8Array(res.data));
1131
1127
  }
1132
1128
  async forward(message) {
@@ -1250,12 +1246,12 @@ export class Client extends EventEmitter {
1250
1246
  return this.database.getAllSessions();
1251
1247
  }
1252
1248
  async getServerList() {
1253
- const res = await ax.get(this.getHost() + "/user/" + this.getUser().userID + "/servers");
1249
+ const res = await this.ax.get(this.getHost() + "/user/" + this.getUser().userID + "/servers");
1254
1250
  return msgpack.decode(new Uint8Array(res.data));
1255
1251
  }
1256
1252
  async createChannel(name, serverID) {
1257
1253
  const body = { name };
1258
- const res = await ax.post(this.getHost() + "/server/" + serverID + "/channels", msgpack.encode(body), { headers: { "Content-Type": "application/msgpack" } });
1254
+ const res = await this.ax.post(this.getHost() + "/server/" + serverID + "/channels", msgpack.encode(body), { headers: { "Content-Type": "application/msgpack" } });
1259
1255
  return msgpack.decode(new Uint8Array(res.data));
1260
1256
  }
1261
1257
  async getDeviceByID(deviceID) {
@@ -1270,7 +1266,7 @@ export class Client extends EventEmitter {
1270
1266
  return device;
1271
1267
  }
1272
1268
  try {
1273
- const res = await ax.get(this.getHost() + "/device/" + deviceID);
1269
+ const res = await this.ax.get(this.getHost() + "/device/" + deviceID);
1274
1270
  this.log.info("Retrieved device from server.");
1275
1271
  const fetchedDevice = msgpack.decode(new Uint8Array(res.data));
1276
1272
  this.deviceRecords[deviceID] = fetchedDevice;
@@ -1285,7 +1281,7 @@ export class Client extends EventEmitter {
1285
1281
  if (deviceID === this.getDevice().deviceID) {
1286
1282
  throw new Error("You can't delete the device you're logged in to.");
1287
1283
  }
1288
- await ax.delete(this.prefixes.HTTP +
1284
+ await this.ax.delete(this.prefixes.HTTP +
1289
1285
  this.host +
1290
1286
  "/user/" +
1291
1287
  this.getUser().userID +
@@ -1294,7 +1290,7 @@ export class Client extends EventEmitter {
1294
1290
  }
1295
1291
  async getMultiUserDeviceList(userIDs) {
1296
1292
  try {
1297
- const res = await ax.post(this.getHost() + "/deviceList", msgpack.encode(userIDs), { headers: { "Content-Type": "application/msgpack" } });
1293
+ const res = await this.ax.post(this.getHost() + "/deviceList", msgpack.encode(userIDs), { headers: { "Content-Type": "application/msgpack" } });
1298
1294
  const devices = msgpack.decode(new Uint8Array(res.data));
1299
1295
  for (const device of devices) {
1300
1296
  this.deviceRecords[device.deviceID] = device;
@@ -1307,7 +1303,7 @@ export class Client extends EventEmitter {
1307
1303
  }
1308
1304
  async getUserDeviceList(userID) {
1309
1305
  try {
1310
- const res = await ax.get(this.getHost() + "/user/" + userID + "/devices");
1306
+ const res = await this.ax.get(this.getHost() + "/user/" + userID + "/devices");
1311
1307
  const devices = msgpack.decode(new Uint8Array(res.data));
1312
1308
  for (const device of devices) {
1313
1309
  this.deviceRecords[device.deviceID] = device;
@@ -1320,7 +1316,7 @@ export class Client extends EventEmitter {
1320
1316
  }
1321
1317
  async getServerByID(serverID) {
1322
1318
  try {
1323
- const res = await ax.get(this.getHost() + "/server/" + serverID);
1319
+ const res = await this.ax.get(this.getHost() + "/server/" + serverID);
1324
1320
  return msgpack.decode(new Uint8Array(res.data));
1325
1321
  }
1326
1322
  catch (err) {
@@ -1329,7 +1325,7 @@ export class Client extends EventEmitter {
1329
1325
  }
1330
1326
  async getChannelByID(channelID) {
1331
1327
  try {
1332
- const res = await ax.get(this.getHost() + "/channel/" + channelID);
1328
+ const res = await this.ax.get(this.getHost() + "/channel/" + channelID);
1333
1329
  return msgpack.decode(new Uint8Array(res.data));
1334
1330
  }
1335
1331
  catch (err) {
@@ -1337,7 +1333,7 @@ export class Client extends EventEmitter {
1337
1333
  }
1338
1334
  }
1339
1335
  async getChannelList(serverID) {
1340
- const res = await ax.get(this.getHost() + "/server/" + serverID + "/channels");
1336
+ const res = await this.ax.get(this.getHost() + "/server/" + serverID + "/channels");
1341
1337
  return msgpack.decode(new Uint8Array(res.data));
1342
1338
  }
1343
1339
  /* Get the currently logged in user. You cannot call this until
@@ -1365,7 +1361,7 @@ export class Client extends EventEmitter {
1365
1361
  return [this.userRecords[userIdentifier], null];
1366
1362
  }
1367
1363
  try {
1368
- const res = await ax.get(this.getHost() + "/user/" + userIdentifier);
1364
+ const res = await this.ax.get(this.getHost() + "/user/" + userIdentifier);
1369
1365
  const userRecord = msgpack.decode(new Uint8Array(res.data));
1370
1366
  this.userRecords[userIdentifier] = userRecord;
1371
1367
  return [userRecord, null];
@@ -1852,14 +1848,12 @@ export class Client extends EventEmitter {
1852
1848
  throw new Error("No token found, did you call login()?");
1853
1849
  }
1854
1850
  const wsUrl = this.prefixes.WS + this.host + "/socket";
1855
- // Pass cookie as option Node ws forwards it as an upgrade header.
1856
- // Browser/RN WebSocket ignores the options object entirely,
1857
- // so the cookie never reaches the server on those platforms.
1858
- this.conn = new this.adapters.WebSocket(wsUrl, {
1859
- headers: { Cookie: "auth=" + this.token },
1860
- });
1851
+ // Auth sent as first message after open
1852
+ this.conn = new this.adapters.WebSocket(wsUrl);
1861
1853
  this.conn.on("open", () => {
1862
1854
  this.log.info("Connection opened.");
1855
+ // Send auth as first message before anything else.
1856
+ this.conn.send(JSON.stringify({ type: "auth", token: this.token }));
1863
1857
  this.pingInterval = setInterval(this.ping.bind(this), 15000);
1864
1858
  });
1865
1859
  this.conn.on("close", () => {
@@ -1951,7 +1945,7 @@ export class Client extends EventEmitter {
1951
1945
  }
1952
1946
  this.log.info("fetching mail for device " + this.getDevice().deviceID);
1953
1947
  try {
1954
- const res = await ax.post(this.getHost() +
1948
+ const res = await this.ax.post(this.getHost() +
1955
1949
  "/device/" +
1956
1950
  this.getDevice().deviceID +
1957
1951
  "/mail");
@@ -1988,11 +1982,11 @@ export class Client extends EventEmitter {
1988
1982
  this.conn.send(XUtils.packMessage(msg, header));
1989
1983
  }
1990
1984
  async retrieveKeyBundle(deviceID) {
1991
- const res = await ax.post(this.getHost() + "/device/" + deviceID + "/keyBundle");
1985
+ const res = await this.ax.post(this.getHost() + "/device/" + deviceID + "/keyBundle");
1992
1986
  return msgpack.decode(new Uint8Array(res.data));
1993
1987
  }
1994
1988
  async getOTKCount() {
1995
- const res = await ax.get(this.getHost() +
1989
+ const res = await this.ax.get(this.getHost() +
1996
1990
  "/device/" +
1997
1991
  this.getDevice().deviceID +
1998
1992
  "/otk/count");
@@ -2007,7 +2001,7 @@ export class Client extends EventEmitter {
2007
2001
  const t1 = performance.now();
2008
2002
  this.log.info("Generated " + amount + " one time keys in " + (t1 - t0) + " ms.");
2009
2003
  const savedKeys = await this.database.savePreKeys(otks, true);
2010
- await ax.post(this.getHost() + "/device/" + this.getDevice().deviceID + "/otk", msgpack.encode(savedKeys.map((key) => this.censorPreKey(key))), {
2004
+ await this.ax.post(this.getHost() + "/device/" + this.getDevice().deviceID + "/otk", msgpack.encode(savedKeys.map((key) => this.censorPreKey(key))), {
2011
2005
  headers: { "Content-Type": "application/msgpack" },
2012
2006
  });
2013
2007
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  *
8
8
  * expo-sqlite and kysely-expo are optional peerDependencies.
9
9
  */
10
+ import { Platform } from "react-native";
10
11
  import { BrowserWebSocket } from "../transport/browser.js";
11
12
  const logger = {
12
13
  info(m) {
@@ -24,6 +25,7 @@ const logger = {
24
25
  };
25
26
  export function expoPreset() {
26
27
  return {
28
+ deviceName: Platform.OS,
27
29
  adapters: {
28
30
  logger,
29
31
  WebSocket: BrowserWebSocket,
@@ -1 +1 @@
1
- {"version":3,"file":"expo.js","sourceRoot":"","sources":["../../src/preset/expo.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,MAAM,GAAY;IACpB,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACJ,CAAC;AAEF,MAAM,UAAU,UAAU;IACtB,OAAO;QACH,QAAQ,EAAE;YACN,MAAM;YACN,SAAS,EAAE,gBAAuB;SACrC;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACjE,OAAO,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC;QACpE,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"expo.js","sourceRoot":"","sources":["../../src/preset/expo.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,MAAM,GAAY;IACpB,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACJ,CAAC;AAEF,MAAM,UAAU,UAAU;IACtB,OAAO;QACH,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE;YACN,MAAM;YACN,SAAS,EAAE,gBAAuB;SACrC;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACjE,OAAO,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC;QACpE,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -3,6 +3,7 @@ export async function nodePreset(logLevel) {
3
3
  const { createLogger } = await import("../utils/createLogger.js");
4
4
  const logger = createLogger("libvex", logLevel);
5
5
  return {
6
+ deviceName: process.platform,
6
7
  adapters: {
7
8
  logger,
8
9
  WebSocket: WebSocket,
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/preset/node.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAiB;IAC9C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAClE,MAAM,MAAM,GAAY,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzD,OAAO;QACH,QAAQ,EAAE;YACN,MAAM;YACN,SAAS,EAAE,SAAgB;SAC9B;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACjE,OAAO,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC;QACpE,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/preset/node.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAiB;IAC9C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAClE,MAAM,MAAM,GAAY,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzD,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,QAAQ;QAC5B,QAAQ,EAAE;YACN,MAAM;YACN,SAAS,EAAE,SAAgB;SAC9B;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACjE,OAAO,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC;QACpE,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -22,6 +22,7 @@ const logger = {
22
22
  };
23
23
  export function tauriPreset() {
24
24
  return {
25
+ deviceName: navigator.platform,
25
26
  adapters: {
26
27
  logger,
27
28
  WebSocket: BrowserWebSocket,
@@ -1 +1 @@
1
- {"version":3,"file":"tauri.js","sourceRoot":"","sources":["../../src/preset/tauri.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,MAAM,GAAY;IACpB,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACJ,CAAC;AAEF,MAAM,UAAU,WAAW;IACvB,OAAO;QACH,QAAQ,EAAE;YACN,MAAM;YACN,SAAS,EAAE,gBAAuB;SACrC;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACnE,OAAO,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC;QACrE,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"tauri.js","sourceRoot":"","sources":["../../src/preset/tauri.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,MAAM,GAAY;IACpB,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACJ,CAAC;AAEF,MAAM,UAAU,WAAW;IACvB,OAAO;QACH,UAAU,EAAE,SAAS,CAAC,QAAQ;QAC9B,QAAQ,EAAE;YACN,MAAM;YACN,SAAS,EAAE,gBAAuB;SACrC;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACnE,OAAO,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC;QACrE,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -12,6 +12,7 @@ const logger = {
12
12
  };
13
13
  export function testPreset(WebSocket) {
14
14
  return {
15
+ deviceName: "test",
15
16
  adapters: {
16
17
  logger,
17
18
  WebSocket,
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/preset/test.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,GAAY;IACpB,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,KAAI,CAAC;CACb,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,SAAyB;IAChD,OAAO;QACH,QAAQ,EAAE;YACN,MAAM;YACN,SAAS;SACZ;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,iEAAiE;YACjE,MAAM,EAAE,aAAa,EAAE,GACnB,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC;QACnB,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/preset/test.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,GAAY;IACpB,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAS;QACV,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,CAAS;QACX,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,KAAI,CAAC;CACb,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,SAAyB;IAChD,OAAO;QACH,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE;YACN,MAAM;YACN,SAAS;SACZ;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;YAC3C,iEAAiE;YACjE,MAAM,EAAE,aAAa,EAAE,GACnB,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC;QACnB,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -9,5 +9,6 @@ import type { IStorage } from "../IStorage.js";
9
9
  */
10
10
  export interface PlatformPreset {
11
11
  adapters: IClientAdapters;
12
+ deviceName: string;
12
13
  createStorage(dbName: string, privateKey: string, logger: ILogger): Promise<IStorage>;
13
14
  }
@@ -1,8 +1,5 @@
1
1
  /**
2
2
  * Kysely typed table interfaces for the client-side SQLite database.
3
- *
4
- * These mirror the schema previously created by knex / raw SQL in the
5
- * three platform-specific storage implementations (Node, Tauri, Expo).
6
3
  */
7
4
  import type { Generated, Insertable, Selectable, Updateable } from "kysely";
8
5
  interface MessagesTable {
@@ -134,9 +134,10 @@ export class SqliteStorage extends EventEmitter {
134
134
  .execute();
135
135
  }
136
136
  catch (err) {
137
- // SQLite UNIQUE constraint violation
137
+ if (this.closing)
138
+ return;
138
139
  if (err?.errno === 19 || err?.message?.includes("UNIQUE")) {
139
- this.log.warn("Attempted to insert duplicate nonce into message table.");
140
+ this.log.warn("Duplicate nonce in message table.");
140
141
  }
141
142
  else {
142
143
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -10,20 +10,13 @@ export function createLogger(logName, logLevel) {
10
10
  }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()),
11
11
  defaultMeta: { service: "vex-" + logName },
12
12
  transports: [
13
- //
14
- // - Write all logs with level `error` and below to `error.log`
15
- // - Write all logs with level `info` and below to `combined.log`
16
- //
17
13
  new winston.transports.File({
18
14
  filename: "vex:" + logName + ".log",
19
15
  level: "error",
20
16
  }),
21
17
  ],
22
18
  });
23
- //
24
- // If we're not in production then log to the `console` with the format:
25
- // `${info.level}: ${info.message} JSON.stringify({ ...rest }) `
26
- //
19
+ // Also log to console outside production.
27
20
  if (process.env.NODE_ENV !== "production") {
28
21
  logger.add(new winston.transports.Console({
29
22
  format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
@@ -1 +1 @@
1
- {"version":3,"file":"createLogger.js","sourceRoot":"","sources":["../../src/utils/createLogger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,QAAiB;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QAChC,KAAK,EAAE,QAAQ,IAAI,OAAO;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,qBAAqB;SAChC,CAAC,EACF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EACtB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACxB;QACD,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE;QAC1C,UAAU,EAAE;YACR,EAAE;YACF,+DAA+D;YAC/D,iEAAiE;YACjE,EAAE;YACF,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACxB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;gBACnC,KAAK,EAAE,OAAO;aACjB,CAAC;SACL;KACJ,CAAC,CAAC;IACH,EAAE;IACF,wEAAwE;IACxE,gEAAgE;IAChE,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CACN,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAC1B;SACJ,CAAC,CACL,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"createLogger.js","sourceRoot":"","sources":["../../src/utils/createLogger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,QAAiB;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QAChC,KAAK,EAAE,QAAQ,IAAI,OAAO;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,qBAAqB;SAChC,CAAC,EACF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EACtB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACxB;QACD,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE;QAC1C,UAAU,EAAE;YACR,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACxB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;gBACnC,KAAK,EAAE,OAAO;aACjB,CAAC;SACL;KACJ,CAAC,CAAC;IACH,0CAA0C;IAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CACN,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAC1B;SACJ,CAAC,CACL,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vex-chat/libvex",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Library for communicating with xchat server.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -73,16 +73,13 @@
73
73
  "prepare": "husky",
74
74
  "prepack": "npm run build",
75
75
  "docs": "npx typedoc --options typedoc.json",
76
- "test": "vitest run",
76
+ "test": "vitest run --silent",
77
77
  "test:node": "vitest run -c vitest.config.node.ts",
78
- "test:browser": "vitest run -c vitest.config.browser.ts",
79
- "test:rn": "vitest run -c vitest.config.rn.ts",
80
- "test:platforms": "vitest run -c vitest.config.node.ts && vitest run -c vitest.config.browser.ts && vitest run -c vitest.config.rn.ts"
78
+ "test:browser": "vitest run -c vitest.config.browser.ts"
81
79
  },
82
80
  "devDependencies": {
83
81
  "@tauri-apps/plugin-sql": "^2.4.0",
84
82
  "@types/better-sqlite3": "^7.6.13",
85
- "@types/browser-or-node": "^1.3.0",
86
83
  "@types/btoa": "^1.2.3",
87
84
  "@types/ed2curve": "^0.2.4",
88
85
  "@types/node": "^24.12.2",
@@ -113,7 +110,6 @@
113
110
  "@vex-chat/crypto": "^1.1.1",
114
111
  "@vex-chat/types": "^1.0.1",
115
112
  "axios": "^1.7.0",
116
- "browser-or-node": "^1.3.0",
117
113
  "eventemitter3": "^5.0.4",
118
114
  "kysely": "^0.28.15",
119
115
  "msgpackr": "1.11.8",