@arbidocs/client 0.4.32 → 0.4.34

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/index.js CHANGED
@@ -634,6 +634,10 @@ function createWorkspaceReopener(deps) {
634
634
  var DB_NAME = "arbi-crypto";
635
635
  var DB_VERSION = 2;
636
636
  var db = null;
637
+ var memorySession = null;
638
+ function canPersistSession() {
639
+ return !!crypto?.subtle;
640
+ }
637
641
  async function initializeDatabase() {
638
642
  return new Promise((resolve, reject) => {
639
643
  const request = indexedDB.open(DB_NAME, DB_VERSION);
@@ -753,7 +757,8 @@ async function decryptWithWrappingKey(ciphertext, iv) {
753
757
  return new Uint8Array(decrypted);
754
758
  }
755
759
  async function saveSession(sessionData) {
756
- if (!crypto?.subtle) {
760
+ if (!canPersistSession()) {
761
+ memorySession = sessionData;
757
762
  return;
758
763
  }
759
764
  await ensureDatabase();
@@ -797,8 +802,8 @@ async function saveSession(sessionData) {
797
802
  }
798
803
  }
799
804
  async function getSession() {
800
- if (!crypto?.subtle) {
801
- return null;
805
+ if (!canPersistSession()) {
806
+ return memorySession;
802
807
  }
803
808
  await ensureDatabase();
804
809
  if (!db) {
@@ -864,6 +869,10 @@ async function updateSigningPrivateKey(newSigningPrivateKey) {
864
869
  }
865
870
  }
866
871
  async function clearSession() {
872
+ memorySession = null;
873
+ if (!canPersistSession()) {
874
+ return;
875
+ }
867
876
  await ensureDatabase();
868
877
  if (!db) {
869
878
  throw new Error("Database not initialized");
@@ -908,7 +917,8 @@ async function clearWrappingKey() {
908
917
  });
909
918
  }
910
919
  async function clearAllData() {
911
- if (!crypto?.subtle) {
920
+ memorySession = null;
921
+ if (!canPersistSession()) {
912
922
  return;
913
923
  }
914
924
  await clearSession();
@@ -1437,6 +1447,6 @@ function isMessageType(msg, type) {
1437
1447
  return msg.type === type;
1438
1448
  }
1439
1449
 
1440
- export { API_PREFIX, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, changePasswordWithRekey, clearAllData, clearSession, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, createWorkspaceReopener, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, parseServerMessage, passwordChangeErrorMessage, prewarmKeyPairs, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey };
1450
+ export { API_PREFIX, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, canPersistSession, changePasswordWithRekey, clearAllData, clearSession, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, createWorkspaceReopener, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, parseServerMessage, passwordChangeErrorMessage, prewarmKeyPairs, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey };
1441
1451
  //# sourceMappingURL=index.js.map
1442
1452
  //# sourceMappingURL=index.js.map