@bobfrankston/rmfmail 1.1.162 → 1.1.166

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.
Files changed (38) hide show
  1. package/client/android-bootstrap.bundle.js +19 -2
  2. package/client/android-bootstrap.bundle.js.map +2 -2
  3. package/client/app.bundle.js +16 -10
  4. package/client/app.bundle.js.map +2 -2
  5. package/client/components/message-viewer.js +21 -12
  6. package/client/components/message-viewer.js.map +1 -1
  7. package/client/components/message-viewer.ts +18 -12
  8. package/client/compose/compose.bundle.js +24 -0
  9. package/client/compose/compose.bundle.js.map +2 -2
  10. package/client/compose/spellcheck.js +16 -0
  11. package/client/compose/spellcheck.js.map +1 -1
  12. package/client/compose/spellcheck.ts +15 -0
  13. package/client/lib/rmf-tiny.js +25 -1
  14. package/package.json +7 -7
  15. package/packages/mailx-imap/index.d.ts.map +1 -1
  16. package/packages/mailx-imap/index.js +66 -4
  17. package/packages/mailx-imap/index.js.map +1 -1
  18. package/packages/mailx-imap/index.ts +58 -4
  19. package/packages/mailx-imap/package-lock.json +2 -2
  20. package/packages/mailx-imap/package.json +1 -1
  21. package/packages/mailx-service/index.js +1 -1
  22. package/packages/mailx-service/index.js.map +1 -1
  23. package/packages/mailx-service/index.ts +1 -1
  24. package/packages/mailx-settings/cloud.d.ts.map +1 -1
  25. package/packages/mailx-settings/cloud.js +46 -0
  26. package/packages/mailx-settings/cloud.js.map +1 -1
  27. package/packages/mailx-settings/cloud.ts +43 -0
  28. package/packages/mailx-settings/package.json +1 -1
  29. package/packages/mailx-store/db.d.ts +8 -1
  30. package/packages/mailx-store/db.d.ts.map +1 -1
  31. package/packages/mailx-store/db.js +11 -2
  32. package/packages/mailx-store/db.js.map +1 -1
  33. package/packages/mailx-store/db.ts +15 -4
  34. package/packages/mailx-store/package.json +1 -1
  35. package/packages/mailx-store/store.js +1 -1
  36. package/packages/mailx-store/store.js.map +1 -1
  37. package/packages/mailx-store/store.ts +1 -1
  38. /package/packages/mailx-imap/{node_modules.npmglobalize-stash-40852 → node_modules.npmglobalize-stash-56540}/.package-lock.json +0 -0
@@ -775,8 +775,10 @@ var init_mailx_types = __esm({
775
775
  });
776
776
 
777
777
  // client/components/message-viewer.js
778
- function parsedCacheGet(accountId, uid) {
779
- const key = `${accountId}:${uid}`;
778
+ function parsedCacheGet(accountId, folderId, uid) {
779
+ if (folderId == null)
780
+ return null;
781
+ const key = `${accountId}:${folderId}:${uid}`;
780
782
  const v = parsedCache.get(key);
781
783
  if (!v)
782
784
  return null;
@@ -784,8 +786,10 @@ function parsedCacheGet(accountId, uid) {
784
786
  parsedCache.set(key, v);
785
787
  return v;
786
788
  }
787
- function parsedCachePut(accountId, uid, msg) {
788
- const key = `${accountId}:${uid}`;
789
+ function parsedCachePut(accountId, folderId, uid, msg) {
790
+ if (folderId == null)
791
+ return;
792
+ const key = `${accountId}:${folderId}:${uid}`;
789
793
  parsedCache.delete(key);
790
794
  parsedCache.set(key, msg);
791
795
  while (parsedCache.size > PARSED_CACHE_LIMIT) {
@@ -795,8 +799,10 @@ function parsedCachePut(accountId, uid, msg) {
795
799
  parsedCache.delete(oldest);
796
800
  }
797
801
  }
798
- function invalidateParsedCache(accountId, uid) {
799
- parsedCache.delete(`${accountId}:${uid}`);
802
+ function invalidateParsedCache(accountId, folderId, uid) {
803
+ if (folderId == null)
804
+ return;
805
+ parsedCache.delete(`${accountId}:${folderId}:${uid}`);
800
806
  }
801
807
  function markSessionAllowed(accountId, uid) {
802
808
  sessionAllowedRemote.add(`${accountId}:${uid}`);
@@ -1144,7 +1150,7 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
1144
1150
  const cached = envelope && envelope.uid === uid && (envelope.accountId || accountId) === accountId ? envelope : lastEnvelope && lastEnvelope.uid === uid && (lastEnvelope.accountId || accountId) === accountId ? lastEnvelope : null;
1145
1151
  if (envelope)
1146
1152
  lastEnvelope = envelope;
1147
- const cachedMsg = parsedCacheGet(accountId, uid);
1153
+ const cachedMsg = parsedCacheGet(accountId, folderId, uid);
1148
1154
  if (cached) {
1149
1155
  try {
1150
1156
  renderHeaderFromEnvelope(headerEl, cached);
@@ -1216,7 +1222,7 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
1216
1222
  return;
1217
1223
  }
1218
1224
  if (!cachedMsg)
1219
- parsedCachePut(accountId, uid, msg);
1225
+ parsedCachePut(accountId, folderId, uid, msg);
1220
1226
  currentMessage = msg;
1221
1227
  currentAccountId = accountId;
1222
1228
  if (!seenOf(msg)) {
@@ -1573,7 +1579,7 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
1573
1579
  }
1574
1580
  currentMessage = full;
1575
1581
  currentAccountId = accountId;
1576
- parsedCachePut(accountId, uid, full);
1582
+ parsedCachePut(accountId, folderId, uid, full);
1577
1583
  markSessionAllowed(accountId, uid);
1578
1584
  };
1579
1585
  banner.querySelector("#btn-load-remote").addEventListener("click", loadRemote);
@@ -1613,7 +1619,7 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
1613
1619
  if (status)
1614
1620
  status.textContent = result.flagged ? `Watching ${type}: ${value}` : `Unwatched ${type}: ${value}`;
1615
1621
  if (currentMessage) {
1616
- invalidateParsedCache(currentAccountId, currentMessage.uid);
1622
+ invalidateParsedCache(currentAccountId, currentMessage.folderId, currentMessage.uid);
1617
1623
  showMessage(currentAccountId, currentMessage.uid, currentMessage.folderId, specialUse, true).catch(() => {
1618
1624
  });
1619
1625
  }