@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 +13 -7
- package/dist/Client.js +95 -101
- package/dist/Client.js.map +1 -1
- package/dist/preset/expo.js +2 -0
- package/dist/preset/expo.js.map +1 -1
- package/dist/preset/node.js +1 -0
- package/dist/preset/node.js.map +1 -1
- package/dist/preset/tauri.js +1 -0
- package/dist/preset/tauri.js.map +1 -1
- package/dist/preset/test.js +1 -0
- package/dist/preset/test.js.map +1 -1
- package/dist/preset/types.d.ts +1 -0
- package/dist/storage/schema.d.ts +0 -3
- package/dist/storage/sqlite.js +3 -2
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/utils/createLogger.js +1 -8
- package/dist/utils/createLogger.js.map +1 -1
- package/package.json +3 -7
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
|
|
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
|
|
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
|
-
*
|
|
702
|
-
*
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
*
|
|
589
|
-
*
|
|
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"
|
|
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
|
|
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
|
|
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
|
|
635
|
-
|
|
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:
|
|
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:
|
|
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
|
-
//
|
|
1856
|
-
|
|
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
|
}
|
package/dist/Client.js.map
CHANGED
|
@@ -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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"}
|
package/dist/preset/expo.js
CHANGED
|
@@ -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,
|
package/dist/preset/expo.js.map
CHANGED
|
@@ -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"}
|
package/dist/preset/node.js
CHANGED
package/dist/preset/node.js.map
CHANGED
|
@@ -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"}
|
package/dist/preset/tauri.js
CHANGED
package/dist/preset/tauri.js.map
CHANGED
|
@@ -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"}
|
package/dist/preset/test.js
CHANGED
package/dist/preset/test.js.map
CHANGED
|
@@ -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"}
|
package/dist/preset/types.d.ts
CHANGED
package/dist/storage/schema.d.ts
CHANGED
|
@@ -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 {
|
package/dist/storage/sqlite.js
CHANGED
|
@@ -134,9 +134,10 @@ export class SqliteStorage extends EventEmitter {
|
|
|
134
134
|
.execute();
|
|
135
135
|
}
|
|
136
136
|
catch (err) {
|
|
137
|
-
|
|
137
|
+
if (this.closing)
|
|
138
|
+
return;
|
|
138
139
|
if (err?.errno === 19 || err?.message?.includes("UNIQUE")) {
|
|
139
|
-
this.log.warn("
|
|
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,
|
|
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
|
|
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",
|