@nocobase/app-plugin-mail 1.0.0-beta.23 → 1.0.0-beta.25

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 (66) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/server/adapters/imap-smtp/adapter.d.ts +16 -1
  3. package/dist/server/adapters/imap-smtp/adapter.d.ts.map +1 -1
  4. package/dist/server/adapters/imap-smtp/adapter.js +503 -82
  5. package/dist/server/adapters/imap-smtp/adapter.js.map +1 -1
  6. package/dist/server/adapters/imap-smtp/command-metrics.d.ts +24 -0
  7. package/dist/server/adapters/imap-smtp/command-metrics.d.ts.map +1 -0
  8. package/dist/server/adapters/imap-smtp/command-metrics.js +116 -0
  9. package/dist/server/adapters/imap-smtp/command-metrics.js.map +1 -0
  10. package/dist/server/adapters/imap-smtp/connection-pool.d.ts +19 -0
  11. package/dist/server/adapters/imap-smtp/connection-pool.d.ts.map +1 -0
  12. package/dist/server/adapters/imap-smtp/connection-pool.js +91 -0
  13. package/dist/server/adapters/imap-smtp/connection-pool.js.map +1 -0
  14. package/dist/server/adapters/imap-smtp/connection.d.ts +1 -1
  15. package/dist/server/adapters/imap-smtp/connection.d.ts.map +1 -1
  16. package/dist/server/adapters/imap-smtp/connection.js +4 -2
  17. package/dist/server/adapters/imap-smtp/connection.js.map +1 -1
  18. package/dist/server/adapters/imap-smtp/constants.d.ts +2 -0
  19. package/dist/server/adapters/imap-smtp/constants.d.ts.map +1 -1
  20. package/dist/server/adapters/imap-smtp/constants.js +2 -0
  21. package/dist/server/adapters/imap-smtp/constants.js.map +1 -1
  22. package/dist/server/adapters/imap-smtp/definition.d.ts +2 -1
  23. package/dist/server/adapters/imap-smtp/definition.d.ts.map +1 -1
  24. package/dist/server/adapters/imap-smtp/definition.js +3 -2
  25. package/dist/server/adapters/imap-smtp/definition.js.map +1 -1
  26. package/dist/server/adapters/imap-smtp/locators.d.ts +4 -0
  27. package/dist/server/adapters/imap-smtp/locators.d.ts.map +1 -1
  28. package/dist/server/adapters/imap-smtp/locators.js +120 -6
  29. package/dist/server/adapters/imap-smtp/locators.js.map +1 -1
  30. package/dist/server/adapters/imap-smtp/types.d.ts +18 -2
  31. package/dist/server/adapters/imap-smtp/types.d.ts.map +1 -1
  32. package/dist/server/operations/sync-mailbox.d.ts.map +1 -1
  33. package/dist/server/operations/sync-mailbox.js +19 -1
  34. package/dist/server/operations/sync-mailbox.js.map +1 -1
  35. package/dist/server/providers/mail-builtins.d.ts +2 -0
  36. package/dist/server/providers/mail-builtins.d.ts.map +1 -1
  37. package/dist/server/providers/mail-builtins.js +6 -1
  38. package/dist/server/providers/mail-builtins.js.map +1 -1
  39. package/dist/server/providers/mail-core.d.ts.map +1 -1
  40. package/dist/server/providers/mail-core.js +1 -0
  41. package/dist/server/providers/mail-core.js.map +1 -1
  42. package/dist/server/runtime/imap-idle.d.ts +29 -0
  43. package/dist/server/runtime/imap-idle.d.ts.map +1 -0
  44. package/dist/server/runtime/imap-idle.js +164 -0
  45. package/dist/server/runtime/imap-idle.js.map +1 -0
  46. package/dist/server/runtime/push-timing.d.ts +9 -0
  47. package/dist/server/runtime/push-timing.d.ts.map +1 -0
  48. package/dist/server/runtime/push-timing.js +3 -0
  49. package/dist/server/runtime/push-timing.js.map +1 -0
  50. package/dist/server/runtime.d.ts +5 -0
  51. package/dist/server/runtime.d.ts.map +1 -1
  52. package/dist/server/runtime.js +56 -6
  53. package/dist/server/runtime.js.map +1 -1
  54. package/dist/server/services/accounts.d.ts.map +1 -1
  55. package/dist/server/services/accounts.js +5 -0
  56. package/dist/server/services/accounts.js.map +1 -1
  57. package/dist/server/services/authorization.d.ts +1 -1
  58. package/dist/server/services/authorization.d.ts.map +1 -1
  59. package/dist/server/services/authorization.js +1 -0
  60. package/dist/server/services/authorization.js.map +1 -1
  61. package/dist/server/services/dependencies.d.ts +1 -0
  62. package/dist/server/services/dependencies.d.ts.map +1 -1
  63. package/dist/server/store/sync.d.ts.map +1 -1
  64. package/dist/server/store/sync.js +29 -6
  65. package/dist/server/store/sync.js.map +1 -1
  66. package/package.json +9 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @nocobase/app-plugin-mail
2
2
 
3
+ ## 1.0.0-beta.25
4
+
5
+ ### Patch Changes
6
+
7
+ - a1af7f0: Require imapflow 2.2.9 or later, which IMAP synchronization needs to read each message's email ID.
8
+ - dd0a34f: Upgrade SMTP sending to Nodemailer 10 with its bundled declarations and security fixes. The framework's Node.js 24 requirement already satisfies Nodemailer 10's Node.js 20 minimum.
9
+
10
+ Align Notification Providers' SMTP test dependency with the shared transport so its mocks intercept the runtime version.
11
+
12
+ - 44cb25f: Import new IMAP messages promptly during mailbox verification and between synchronization runs.
13
+
14
+ Screen historical copies without downloading out-of-range bodies, yield slow imports for new arrivals, and resume history-complete partial synchronization safely.
15
+
16
+ Share the top-page history budget across folders in each call and commit bounded top history pages and new folder copies earlier, with redacted notification-to-commit timing for diagnosing slow delivery.
17
+
18
+ - Updated dependencies [b33e134]
19
+ - @nocobase/app-plugin-authentication@2.0.0-beta.22
20
+ - @nocobase/app-server@5.0.0-beta.5
21
+
22
+ ## 1.0.0-beta.24
23
+
24
+ ### Patch Changes
25
+
26
+ - 1952789: Update authentication, editor, and validation dependencies to patched releases.
27
+ - 1724828: Speed up IMAP synchronization with batched copy verification, tolerate concurrent mailbox changes, and reuse idle connections for attachment downloads.
28
+ - Updated dependencies [44bf26a]
29
+ - Updated dependencies [1952789]
30
+ - @nocobase/app-server@5.0.0-beta.5
31
+ - @nocobase/app-plugin-authentication@2.0.0-beta.21
32
+ - @nocobase/app-plugin-authorization@1.0.0-beta.38
33
+
3
34
  ## 1.0.0-beta.23
4
35
 
5
36
  ### Patch Changes
@@ -6,6 +6,8 @@ import type { MailSyncStepCommit } from '../../contracts/persistence.js';
6
6
  import type { MailSyncRun } from '../../../shared/mail.js';
7
7
  import type { ImapSmtpMailProviderConfig } from './config.js';
8
8
  import { createImapClient, createSmtpTransport } from './connection.js';
9
+ import type { ImapConnectionPool } from './connection-pool.js';
10
+ import { ImapCommandMetrics } from './command-metrics.js';
9
11
  export declare class ImapSmtpAdapter implements MailProviderAdapter {
10
12
  private readonly context;
11
13
  private readonly config;
@@ -14,10 +16,14 @@ export declare class ImapSmtpAdapter implements MailProviderAdapter {
14
16
  private readonly locations?;
15
17
  private readonly protocol;
16
18
  private readonly operation?;
19
+ private readonly pool?;
17
20
  readonly identity: MailProviderAccount['provider'];
18
21
  readonly capabilities: MailProviderAdapter['capabilities'];
19
22
  private readonly folderTypes;
20
23
  private imapClient?;
24
+ private readonly commandMetrics;
25
+ private stopCommandObservation?;
26
+ private readonly yieldReasons;
21
27
  private readonly smtpTransport;
22
28
  private copies;
23
29
  private changes;
@@ -32,7 +38,7 @@ export declare class ImapSmtpAdapter implements MailProviderAdapter {
32
38
  readonly smtp: typeof createSmtpTransport;
33
39
  readonly expungeUid: typeof expungeUid;
34
40
  readonly transferUid?: typeof transferUid;
35
- }, operation?: ImapOperationSnapshot | undefined);
41
+ }, operation?: ImapOperationSnapshot | undefined, pool?: ImapConnectionPool | undefined);
36
42
  forSync(run: MailSyncRun): ImapSmtpAdapter;
37
43
  forMessage(messageId: string, providerMessageId: string, operation: 'flags' | 'delete' | 'move', move?: {
38
44
  readonly sourceProviderFolderId?: string;
@@ -65,12 +71,19 @@ export declare class ImapSmtpAdapter implements MailProviderAdapter {
65
71
  private updateFlags;
66
72
  private closeImap;
67
73
  private imap;
74
+ syncDiagnostics(): {
75
+ imapCommands: ReturnType<ImapCommandMetrics['snapshot']>;
76
+ yielded: boolean;
77
+ yieldReasons: readonly string[];
78
+ };
68
79
  private listMailboxes;
69
80
  private selectableMailboxes;
70
81
  private folderState;
71
82
  private selectedFolderState;
72
83
  private normalizeFolder;
73
84
  private fetchMessages;
85
+ /** Check only between completed commands; issuing commands inside FETCH deadlocks. */
86
+ private newMailChecker;
74
87
  private beginStep;
75
88
  /**
76
89
  * Choose each copy's identity: its persisted location first, then the
@@ -97,6 +110,8 @@ export declare class ImapSmtpAdapter implements MailProviderAdapter {
97
110
  * copies, and two matching passes in a row authorize orphan cleanup.
98
111
  */
99
112
  private verifyFolders;
113
+ private enqueueExcludedRechecks;
114
+ private advanceExcludedRecheck;
100
115
  private normalizeMessage;
101
116
  }
102
117
  /** ImapFlow 2.2.10's command primitive keeps the verb explicitly scoped to a UID. */
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EAMT,MAAM,UAAU,CAAC;AAiBlB,OAAO,KAAK,EACV,qBAAqB,EAErB,kBAAkB,EAClB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EAEtB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAKV,qBAAqB,EAErB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAW9D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAkCxE,qBAAa,eAAgB,YAAW,mBAAmB;IAqBvD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAWzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IArC7B,SAAgB,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1D,SAAgB,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CACxC;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IACJ,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAc;IAE5C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAc;IACvC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;gBAG/C,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,kBAAkB,EAC9B,SAAS,CAAC,EAAE,uBAAuB,GAAG,SAAS,EAChE,GAAG,CAAC,EAAE,WAAW,EACA,QAAQ,GAAE;QACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,gBAAgB,CAAC;QACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,UAAU,EAAE,OAAO,UAAU,CAAC;QACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;KAM1C,EACe,SAAS,CAAC,EAAE,qBAAqB,GAAG,SAAS;IAyBzD,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAoBpC,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,EACtC,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;QACzC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;KAC9C,GACA,OAAO,CAAC,eAAe,CAAC;IAqB3B,sFAAsF;IACtF,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED,4FAA4F;IAC/E,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAoC/D,WAAW,CACtB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAgBzC,oBAAoB,CAC/B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAkBjC,YAAY,CACvB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IAsJ1C,WAAW,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CACpE,kBAAkB,CAAC;QACjB,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;QACpD,QAAQ,CAAC,yBAAyB,EAAE,SAAS,MAAM,EAAE,CAAC;QACtD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;QACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC,CACH;IA+HY,UAAU,CACrB,iBAAiB,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAsExC,aAAa,CACxB,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAiJxC,WAAW,CACtB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IA8IrB,OAAO,CAClB,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAkBvB,UAAU,CACrB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAkBpC,oFAAoF;IACvE,WAAW,CACtB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;YAmPxC,oBAAoB;IAwClC,OAAO,CAAC,eAAe;IAkBV,aAAa,CACxB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IA4FvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAYrB,WAAW;IAmBzB,OAAO,CAAC,SAAS;YAMH,IAAI;YAQJ,aAAa;IAyB3B,OAAO,CAAC,mBAAmB;YAYb,WAAW;YAyDX,mBAAmB;IA0BjC,OAAO,CAAC,eAAe;YAUT,aAAa;IA8C3B,OAAO,CAAC,SAAS;IAUjB;;;;OAIG;YACW,gBAAgB;IAsG9B,OAAO,CAAC,YAAY;IAOpB,wFAAwF;YAC1E,iBAAiB;YA2BjB,aAAa;IAU3B,iFAAiF;YACnE,OAAO;IAiCrB;;;OAGG;YACW,QAAQ;IA2CtB,OAAO,CAAC,WAAW;IASnB,yFAAyF;YAC3E,eAAe;IAiD7B;;;OAGG;YACW,aAAa;YAwPb,gBAAgB;CA2F/B;AAgED,qFAAqF;AACrF,iBAAe,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWtE;AAED,uGAAuG;AACvG,iBAAe,WAAW,CACxB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAqExC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/adapter.ts"],"names":[],"mappings":"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"}