@social-mail/social-mail-web-server 1.7.577 → 1.7.579

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": "@social-mail/social-mail-web-server",
3
- "version": "1.7.577",
3
+ "version": "1.7.579",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,12 +1,9 @@
1
- import Inject, { RegisterScoped, ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
1
+ import Inject, { RegisterScoped } from "@entity-access/entity-access/dist/di/di.js";
2
2
  import SocialMailContext from "../../model/SocialMailContext.js";
3
3
  import { Base36 } from "../../../common/Base36.js";
4
4
  import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
5
5
  import { Email } from "../../model/entities/Email.js";
6
6
  import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
7
- import sleep from "../../../common/sleep.js";
8
- import SubscriberActivity from "../../model/entities/SubscriberActivity.js";
9
- import CachedEmailService from "./CachedEmailService.js";
10
7
  import { ReactionExtractor } from "../../../protocols/core/ReactionExtractor.js";
11
8
 
12
9
  const extractEngagement = (txt: string) => {
@@ -33,12 +33,13 @@ export default class DeleteFileWorkflow extends Workflow<{ fileID }> {
33
33
  async deleteFolders(
34
34
  @Inject db?: SocialMailContext
35
35
  ) {
36
- const { root } = this;
36
+ const { root, input: { fileID } } = this;
37
37
  for(;;) {
38
38
  const n = await db.appFiles
39
39
  .asQuery()
40
- .delete({ root }, (p) => (x) =>
40
+ .delete({ root, fileID }, (p) => (x) =>
41
41
  Sql.text.like(x.path, p.root)
42
+ && x.appFileID !== p.fileID
42
43
  && !x.children.some((c) => c.appFileID > 0)
43
44
  );
44
45
  if (!n) {
@@ -2,7 +2,6 @@
2
2
  import Inject from "@entity-access/entity-access/dist/di/di.js";
3
3
  import Workflow, { UniqueActivity } from "@entity-access/entity-access/dist/workflows/Workflow.js";
4
4
  import SocialMailContext from "../../model/SocialMailContext.js";
5
- import EmailReferenceService from "../../smtp/services/EmailReferenceService.js";
6
5
  import EmailPostReceiveService from "../../smtp/services/EmailPostReceiveService.js";
7
6
  import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
8
7
 
@@ -18,9 +18,12 @@ export default class PendingReferencesWorkflow extends Workflow {
18
18
 
19
19
  async run() {
20
20
  let start = 0;
21
- do {
21
+ for(;;) {
22
22
  start = await this.processPendingReferences(start);
23
- } while(BigInt(start));
23
+ if(!BigInt(start)) {
24
+ break;
25
+ }
26
+ }
24
27
 
25
28
  await this.context.queue(PendingPostReceiveWorkflow, "run", { id: `post-receive-${randomUUID()}`, throttle: { group: "post-receive", maxPerSecond: 1 } } );
26
29
  }
@@ -45,10 +48,13 @@ export default class PendingReferencesWorkflow extends Workflow {
45
48
  .toArray();
46
49
 
47
50
  if (!items.length) {
51
+ console.log(`No pending emails to process`);
48
52
  return 0;
49
53
  }
50
54
 
51
55
  for (const { emailID, received } of items) {
56
+ start = emailID;
57
+ console.log(`Processing ${emailID}`);
52
58
  try {
53
59
  await ers.updateReferences({
54
60
  emailID,
@@ -61,7 +67,6 @@ export default class PendingReferencesWorkflow extends Workflow {
61
67
  // we will ignore and continue?
62
68
  }
63
69
  db.changeSet.clear();
64
- start = emailID;
65
70
  }
66
71
 
67
72
  return start;