@glyphteck/veyl 0.68.0 → 0.70.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.
@@ -44,6 +44,15 @@ var USERNAME_MAX_CHARS = 12;
44
44
  var PASSWORD_MIN_CHARS = 15;
45
45
  var PASSWORD_MAX_CHARS = 64;
46
46
  var PASSWORD_MAX_BYTES = 4 * 1024;
47
+ var ACCOUNT_CONNECTION_SLOW_MS = 4 * MS_PER_SECOND;
48
+ var ACCOUNT_CONNECTION_UNAVAILABLE_MS = 15 * MS_PER_SECOND;
49
+ var ACCOUNT_CONNECTION_RETRY_MIN_MS = MS_PER_SECOND;
50
+ var ACCOUNT_CONNECTION_RETRY_MAX_MS = 30 * MS_PER_SECOND;
51
+ var AUTOLOCK_MIN_MINUTES = 1;
52
+ var AUTOLOCK_MAX_MINUTES = 60;
53
+ var BTC_PRICE_FALLBACK = 80000;
54
+ var CHAT_MESSAGE_EDIT_WINDOW_MS = 10 * MINUTE_MS;
55
+ var CHAT_SEND_CONNECTION_WAIT_MS = 30 * MS_PER_SECOND;
47
56
  var LOCAL_MEDIA_CACHE_MAX_BYTES = 512 * MIB_BYTES;
48
57
  var LOCAL_PROFILE_CACHE_MAX_ITEMS = 500;
49
58
  var LOCAL_PROFILE_CACHE_MAX_AGE_MS = 30 * DAY_MS;
@@ -122,7 +131,6 @@ var CHAT_MAX_REACTIONS = CHAT_MAX_MEMBERS;
122
131
  var SEARCH_DEBOUNCE_MS = 300;
123
132
  var RECENT_PEER_REFRESH_LIMIT = 50;
124
133
  var RECENT_PEER_REFRESH_DELAY_MS = 250;
125
- var RECENT_PEER_REFRESH_INTERVAL_MS = 5 * MINUTE_MS;
126
134
  var RECENT_PEER_REFRESH_THROTTLE_MS = 120;
127
135
  var BAN_REFRESH_GRACE_MS = 50;
128
136
  var REQUEST_MONEY_MAX_SATS = SATS_PER_BITCOIN * 100000n;
@@ -284,7 +292,7 @@ function normalizePasskeyLoginError(error, options = {}) {
284
292
  return passkeyError(PASSKEY_UNLINKED, "This passkey is no longer linked to an account.", error);
285
293
  }
286
294
  if (error?.code === "functions/failed-precondition") {
287
- return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Glyphteck passkey setup.", error);
295
+ return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Veyl passkey setup.", error);
288
296
  }
289
297
  return error;
290
298
  }
@@ -293,7 +301,7 @@ function normalizePasskeyRegisterError(error, options = {}) {
293
301
  return passkeyError(PASSKEY_PROVIDER_ALREADY_LINKED, "you already have a passkey for this account", error);
294
302
  }
295
303
  if (error?.code === "functions/failed-precondition") {
296
- return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Glyphteck passkey setup.", error);
304
+ return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Veyl passkey setup.", error);
297
305
  }
298
306
  if (options.invalidArgument === true && error?.code === "functions/invalid-argument" && error?.message) {
299
307
  return passkeyError(PASSKEY_REGISTER_INVALID, error.message, error);
@@ -1278,6 +1286,7 @@ function beginAddProfile(owner) {
1278
1286
  return reservation;
1279
1287
  }
1280
1288
  async function switchExisting(owner, profileId, generation) {
1289
+ const sourceProfileId = owner.active?.profile.profileId || null;
1281
1290
  try {
1282
1291
  ensureRequested(owner, generation, profileId);
1283
1292
  const profile = accountProfileById(owner.registry, profileId);
@@ -1296,7 +1305,21 @@ async function switchExisting(owner, profileId, generation) {
1296
1305
  await transitionTo(owner, profile, generation, "switching");
1297
1306
  return accountProfileById(owner.registry, profileId);
1298
1307
  } catch (error) {
1299
- throw transitionFailure(owner, error, generation, profileId);
1308
+ let failure = error;
1309
+ if (sourceProfileId && sourceProfileId !== profileId && isRequested(owner, generation, profileId)) {
1310
+ const sourceProfile = accountProfileById(owner.registry, sourceProfileId);
1311
+ if (sourceProfile) {
1312
+ try {
1313
+ bindSelection(owner, generation, sourceProfileId);
1314
+ await transitionTo(owner, sourceProfile, generation, "restoring", { force: true });
1315
+ } catch (recoveryError) {
1316
+ recoveryError.cause ||= error;
1317
+ failure = recoveryError;
1318
+ publish(owner, "error", recoveryError);
1319
+ }
1320
+ }
1321
+ }
1322
+ throw transitionFailure(owner, failure, generation, profileId);
1300
1323
  }
1301
1324
  }
1302
1325
  async function updateStoredProfile(owner, profileId, fields) {
package/dist/auth.js CHANGED
@@ -77,7 +77,7 @@ function normalizePasskeyLoginError(error, options = {}) {
77
77
  return passkeyError(PASSKEY_UNLINKED, "This passkey is no longer linked to an account.", error);
78
78
  }
79
79
  if (error?.code === "functions/failed-precondition") {
80
- return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Glyphteck passkey setup.", error);
80
+ return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Veyl passkey setup.", error);
81
81
  }
82
82
  return error;
83
83
  }
@@ -86,7 +86,7 @@ function normalizePasskeyRegisterError(error, options = {}) {
86
86
  return passkeyError(PASSKEY_PROVIDER_ALREADY_LINKED, "you already have a passkey for this account", error);
87
87
  }
88
88
  if (error?.code === "functions/failed-precondition") {
89
- return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Glyphteck passkey setup.", error);
89
+ return passkeyError(PASSKEY_RP_MISMATCH, "This passkey belongs to a different Veyl passkey setup.", error);
90
90
  }
91
91
  if (options.invalidArgument === true && error?.code === "functions/invalid-argument" && error?.message) {
92
92
  return passkeyError(PASSKEY_REGISTER_INVALID, error.message, error);