@bobfrankston/rmfmail 1.2.66 → 1.2.68

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 (35) hide show
  1. package/client/app.bundle.js +24 -14
  2. package/client/app.bundle.js.map +2 -2
  3. package/client/app.js +11 -8
  4. package/client/app.js.map +1 -1
  5. package/client/app.ts +12 -9
  6. package/client/components/message-list.js +18 -4
  7. package/client/components/message-list.js.map +1 -1
  8. package/client/components/message-list.ts +19 -5
  9. package/client/components/message-viewer.js +1 -1
  10. package/client/components/message-viewer.js.map +1 -1
  11. package/client/components/message-viewer.ts +1 -1
  12. package/client/compose/compose.bundle.js +2 -2
  13. package/client/compose/compose.bundle.js.map +2 -2
  14. package/client/lib/api-client.js +2 -2
  15. package/client/lib/api-client.js.map +1 -1
  16. package/client/lib/api-client.ts +2 -2
  17. package/client/lib/mailxapi.js +2 -2
  18. package/package.json +3 -3
  19. package/packages/mailx-imap/index.d.ts.map +1 -1
  20. package/packages/mailx-imap/index.js +59 -43
  21. package/packages/mailx-imap/index.js.map +1 -1
  22. package/packages/mailx-imap/index.ts +56 -40
  23. package/packages/mailx-imap/package-lock.json +2 -2
  24. package/packages/mailx-imap/package.json +1 -1
  25. package/packages/mailx-service/index.d.ts +1 -1
  26. package/packages/mailx-service/index.d.ts.map +1 -1
  27. package/packages/mailx-service/index.js +16 -5
  28. package/packages/mailx-service/index.js.map +1 -1
  29. package/packages/mailx-service/index.ts +16 -5
  30. package/packages/mailx-service/jsonrpc.js +1 -1
  31. package/packages/mailx-service/jsonrpc.js.map +1 -1
  32. package/packages/mailx-service/jsonrpc.ts +1 -1
  33. package/packages/mailx-types/mailx-api.d.ts +1 -1
  34. package/packages/mailx-types/mailx-api.d.ts.map +1 -1
  35. package/packages/mailx-types/mailx-api.ts +1 -1
@@ -210,8 +210,8 @@ function cancelServerSearch() {
210
210
  function getMessage(accountId, uid, allowRemote = false, folderId) {
211
211
  return ipc().getMessage(accountId, uid, allowRemote, folderId);
212
212
  }
213
- function updateFlags(accountId, uid, flags) {
214
- return ipc().updateFlags(accountId, uid, flags);
213
+ function updateFlags(accountId, uid, flags, folderId) {
214
+ return ipc().updateFlags(accountId, uid, flags, folderId);
215
215
  }
216
216
  function triggerSync() {
217
217
  return ipc().syncAll();
@@ -1400,7 +1400,7 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
1400
1400
  if (captureGen !== showMessageGeneration)
1401
1401
  return;
1402
1402
  setSeen(msg, true);
1403
- updateFlags(accountId, uid, msg.flags);
1403
+ updateFlags(accountId, uid, msg.flags, msg.folderId);
1404
1404
  try {
1405
1405
  updateMessageFlags(accountId, uid, msg.flags);
1406
1406
  } catch {
@@ -2762,6 +2762,7 @@ __export(message_list_exports, {
2762
2762
  removeMessagesAndReconcile: () => removeMessagesAndReconcile,
2763
2763
  revealMessage: () => revealMessage,
2764
2764
  scrollFocusedIntoView: () => scrollFocusedIntoView,
2765
+ selectAllVisible: () => selectAllVisible,
2765
2766
  setLiveFilter: () => setLiveFilter,
2766
2767
  setRowFlagged: () => setRowFlagged,
2767
2768
  setRowSeen: () => setRowSeen,
@@ -2997,9 +2998,9 @@ async function bulkSetFlagged(rows, flagged) {
2997
2998
  const prevFlags = [...row.msg.flags || []];
2998
2999
  row.isFlagged = flagged;
2999
3000
  try {
3000
- await updateFlags(row.accountId, row.msg.uid, row.msg.flags);
3001
+ await updateFlags(row.accountId, row.msg.uid, row.msg.flags, row.msg.folderId);
3001
3002
  updateMessageFlags(row.accountId, row.msg.uid, row.msg.flags);
3002
- undo.push({ accountId: row.accountId, uid: row.msg.uid, prevFlagged: prev });
3003
+ undo.push({ accountId: row.accountId, uid: row.msg.uid, prevFlagged: prev, folderId: row.msg.folderId });
3003
3004
  } catch {
3004
3005
  row.msg.flags = prevFlags;
3005
3006
  row.setFlaggedClass(prev);
@@ -3016,7 +3017,7 @@ async function bulkSetSeen(rows, seen) {
3016
3017
  const prevFlags = [...row.msg.flags || []];
3017
3018
  row.isSeen = seen;
3018
3019
  try {
3019
- await updateFlags(row.accountId, row.msg.uid, row.msg.flags);
3020
+ await updateFlags(row.accountId, row.msg.uid, row.msg.flags, row.msg.folderId);
3020
3021
  updateMessageFlags(row.accountId, row.msg.uid, row.msg.flags);
3021
3022
  } catch {
3022
3023
  row.msg.flags = prevFlags;
@@ -3224,6 +3225,14 @@ function exitMultiSelect() {
3224
3225
  }
3225
3226
  function updateBulkBar() {
3226
3227
  }
3228
+ function selectAllVisible() {
3229
+ const body = document.getElementById("ml-body");
3230
+ if (!body)
3231
+ return;
3232
+ body.classList.add("multi-select-on");
3233
+ body.querySelectorAll(".ml-row:not(.filter-hidden)").forEach((r) => r.classList.add("selected"));
3234
+ updateBulkBar();
3235
+ }
3227
3236
  function selectRange(from, to) {
3228
3237
  const body = document.getElementById("ml-body");
3229
3238
  if (!body)
@@ -4208,7 +4217,7 @@ var init_message_list = __esm({
4208
4217
  const newFlaggedState = !this.el.classList.contains("flagged");
4209
4218
  const prevFlags = [...this.msg.flags || []];
4210
4219
  this.isFlagged = newFlaggedState;
4211
- updateFlags(this.accountId, this.msg.uid, this.msg.flags).catch(() => {
4220
+ updateFlags(this.accountId, this.msg.uid, this.msg.flags, this.msg.folderId).catch(() => {
4212
4221
  this.msg.flags = prevFlags;
4213
4222
  this.setFlaggedClass(!newFlaggedState);
4214
4223
  });
@@ -8490,7 +8499,7 @@ async function performUndo() {
8490
8499
  for (const entry of op.payload) {
8491
8500
  const flag = "\\Flagged";
8492
8501
  const flagsAfter = entry.prevFlagged ? [flag] : [];
8493
- await updateFlags2(entry.accountId, entry.uid, flagsAfter);
8502
+ await updateFlags2(entry.accountId, entry.uid, flagsAfter, entry.folderId);
8494
8503
  setRowFlagged(entry.accountId, entry.uid, entry.prevFlagged);
8495
8504
  updateMessageFlags(entry.accountId, entry.uid, flagsAfter);
8496
8505
  }
@@ -8663,7 +8672,8 @@ async function bulkFlagSelected() {
8663
8672
  const undoPayload = rows.map((r) => ({
8664
8673
  accountId: r.accountId,
8665
8674
  uid: r.uid,
8666
- prevFlagged: flaggedOf(r)
8675
+ prevFlagged: flaggedOf(r),
8676
+ folderId: r.folderId
8667
8677
  }));
8668
8678
  const { updateFlags: updateFlags2 } = await Promise.resolve().then(() => (init_api_client(), api_client_exports));
8669
8679
  for (const r of rows) {
@@ -8672,7 +8682,7 @@ async function bulkFlagSelected() {
8672
8682
  setRowFlagged(r.accountId, r.uid, targetFlagged);
8673
8683
  updateMessageFlags(r.accountId, r.uid, r.flags);
8674
8684
  try {
8675
- await updateFlags2(r.accountId, r.uid, r.flags);
8685
+ await updateFlags2(r.accountId, r.uid, r.flags, r.folderId);
8676
8686
  } catch (e) {
8677
8687
  console.error(`Bulk flag failed for ${r.accountId}/${r.uid}: ${e?.message || e}`);
8678
8688
  }
@@ -8692,7 +8702,7 @@ document.getElementById("btn-flag")?.addEventListener("click", async () => {
8692
8702
  setFlagged(sel, !wasFlagged);
8693
8703
  updateFlagButton();
8694
8704
  try {
8695
- await updateFlags(sel.accountId, sel.uid, sel.flags);
8705
+ await updateFlags(sel.accountId, sel.uid, sel.flags, sel.folderId);
8696
8706
  updateMessageFlags(sel.accountId, sel.uid, sel.flags);
8697
8707
  setRowFlagged(sel.accountId, sel.uid, !wasFlagged);
8698
8708
  } catch (e) {
@@ -8793,7 +8803,7 @@ document.getElementById("btn-mark-unread")?.addEventListener("click", () => {
8793
8803
  if (!sel) return;
8794
8804
  const wasSeen = seenOf(sel);
8795
8805
  setSeen(sel, !wasSeen);
8796
- updateFlags(sel.accountId, sel.uid, sel.flags).then(() => {
8806
+ updateFlags(sel.accountId, sel.uid, sel.flags, sel.folderId).then(() => {
8797
8807
  updateMessageFlags(sel.accountId, sel.uid, sel.flags);
8798
8808
  const row = document.querySelector(`.ml-row[data-uid="${sel.uid}"][data-account-id="${sel.accountId}"]`);
8799
8809
  if (row) row.classList.toggle("unread", wasSeen);
@@ -9922,7 +9932,7 @@ document.addEventListener("keydown", (e) => {
9922
9932
  const mlBody = document.getElementById("ml-body");
9923
9933
  if (mlBody) {
9924
9934
  e.preventDefault();
9925
- mlBody.querySelectorAll(".ml-row").forEach((r) => r.classList.add("selected"));
9935
+ selectAllVisible();
9926
9936
  }
9927
9937
  }
9928
9938
  if (e.ctrlKey && e.key === "d" || e.key === "Delete") {
@@ -9956,7 +9966,7 @@ document.addEventListener("keydown", (e) => {
9956
9966
  e.preventDefault();
9957
9967
  const applySeen = (m, seen) => {
9958
9968
  setSeen(m, seen);
9959
- updateFlags(m.accountId, m.uid, m.flags).then(() => {
9969
+ updateFlags(m.accountId, m.uid, m.flags, m.folderId).then(() => {
9960
9970
  updateMessageFlags(m.accountId, m.uid, m.flags);
9961
9971
  const row = document.querySelector(`.ml-row[data-uid="${m.uid}"][data-account-id="${CSS.escape(m.accountId)}"]`);
9962
9972
  if (row) row.classList.toggle("unread", !seen);