@bobfrankston/mailx 1.0.366 → 1.0.368

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx",
3
- "version": "1.0.366",
3
+ "version": "1.0.368",
4
4
  "description": "Local-first email client with IMAP sync and standalone native app",
5
5
  "type": "module",
6
6
  "main": "bin/mailx.js",
@@ -58,7 +58,6 @@ export declare function getMessage(params: {
58
58
  folderName?: string;
59
59
  uid: number;
60
60
  uuid?: string;
61
- pending?: boolean;
62
61
  messageId: string;
63
62
  inReplyTo: string;
64
63
  references: string[];
@@ -74,6 +73,7 @@ export declare function getMessage(params: {
74
73
  preview: string;
75
74
  bodyPath?: string;
76
75
  providerId?: string;
76
+ pending?: boolean;
77
77
  }>;
78
78
  export declare function updateFlags(params: {
79
79
  accountId: string;
@@ -827,6 +827,14 @@ export class MailxService {
827
827
  if (!folder)
828
828
  throw new Error("Folder not found");
829
829
  this.db.deleteAllMessages(accountId, folderId);
830
+ // Recalc + broadcast so the folder-tree badge drops to 0 immediately.
831
+ // Without this, the badge kept showing the old unread count even
832
+ // though the list was empty (user-reported bug).
833
+ this.db.recalcFolderCounts(folderId);
834
+ try {
835
+ this.imapManager.emit?.("folderCountsChanged", accountId, {});
836
+ }
837
+ catch { /* non-fatal */ }
830
838
  const client = this.imapManager.createPublicClient(accountId);
831
839
  try {
832
840
  const uids = await client.getUids(folder.path);