@social-mail/social-mail-web-server 1.7.600 → 1.7.601

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.
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,qBAAqB,MAAM,+DAA+D,CAAC;AAIlG,OAAO,OAA2B,MAAM,6CAA6C,CAAC;AAItF,OAAO,oBAAoB,MAAM,8DAA8D,CAAC;AAwBhG,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,GAAG,EAAE,qBAAqB,CAAC;IAG3B,SAAS,EAAE,oBAAoB,CAAC;IAGhC,MAAM,MAAC;IAGP,QAAQ,MAAC;IAEH,GAAG;CAkDZ"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,qBAAqB,MAAM,+DAA+D,CAAC;AAIlG,OAAO,OAA2B,MAAM,6CAA6C,CAAC;AAItF,OAAO,oBAAoB,MAAM,8DAA8D,CAAC;AAyBhG,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,GAAG,EAAE,qBAAqB,CAAC;IAG3B,SAAS,EAAE,oBAAoB,CAAC;IAGhC,MAAM,MAAC;IAGP,QAAQ,MAAC;IAEH,GAAG;CAoDZ"}
@@ -7,6 +7,53 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
11
+ if (value !== null && value !== void 0) {
12
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
13
+ var dispose, inner;
14
+ if (async) {
15
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
16
+ dispose = value[Symbol.asyncDispose];
17
+ }
18
+ if (dispose === void 0) {
19
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
20
+ dispose = value[Symbol.dispose];
21
+ if (async) inner = dispose;
22
+ }
23
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
24
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
25
+ env.stack.push({ value: value, dispose: dispose, async: async });
26
+ }
27
+ else if (async) {
28
+ env.stack.push({ async: true });
29
+ }
30
+ return value;
31
+ };
32
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
33
+ return function (env) {
34
+ function fail(e) {
35
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
36
+ env.hasError = true;
37
+ }
38
+ function next() {
39
+ while (env.stack.length) {
40
+ var rec = env.stack.pop();
41
+ try {
42
+ var result = rec.dispose && rec.dispose.call(rec.value);
43
+ if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
44
+ }
45
+ catch (e) {
46
+ fail(e);
47
+ }
48
+ }
49
+ if (env.hasError) throw env.error;
50
+ }
51
+ return next();
52
+ };
53
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
54
+ var e = new Error(message);
55
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
56
+ });
10
57
  import Inject from "@entity-access/entity-access/dist/di/di.js";
11
58
  import Page from "@entity-access/server-pages/dist/Page.js";
12
59
  import WebSiteContentService from "../../../../../server/services/files/WebSiteContentService.js";
@@ -17,6 +64,7 @@ import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
17
64
  import { connect } from "net";
18
65
  import HttpProxyService from "../../../../../server/services/http/HttpProxyService.js";
19
66
  import SiteDiskContentCache from "../../../../../server/services/files/SiteDiskContentCache.js";
67
+ import LockFile from "../../../../../server/storage/LockFile.js";
20
68
  let port = globalEnv.puppeteer.port;
21
69
  if (/^\d+$/i.test(port)) {
22
70
  port = Number(port);
@@ -59,18 +107,29 @@ export default class default_1 extends Page {
59
107
  }
60
108
  const key = `${snapshot.snapshotFolderID}/${this.cacheKey || "default"}-${width}-${height}-preview.webp`;
61
109
  const file = await this.siteCache.htmlCache.getOrCreateAsync(key, async (lf) => {
62
- const query = new URLSearchParams({
63
- url: `https://${this.request.hostName}`,
64
- width,
65
- height,
66
- deviceScaleFactor,
67
- output: "webp"
68
- });
69
- const r = await fetch(`http://localhost/screen-shot?${query.toString()}`, {
70
- dispatcher
71
- });
72
- const buffer = Buffer.from(await r.arrayBuffer());
73
- await lf.writeAll(buffer);
110
+ const env_1 = { stack: [], error: void 0, hasError: false };
111
+ try {
112
+ const _ = __addDisposableResource(env_1, await LockFile.lock("puppeteer-preview-generator"), false);
113
+ const query = new URLSearchParams({
114
+ url: `https://${this.request.hostName}`,
115
+ width,
116
+ height,
117
+ deviceScaleFactor,
118
+ output: "webp"
119
+ });
120
+ const r = await fetch(`http://localhost/screen-shot?${query.toString()}`, {
121
+ dispatcher
122
+ });
123
+ const buffer = Buffer.from(await r.arrayBuffer());
124
+ await lf.writeAll(buffer);
125
+ }
126
+ catch (e_1) {
127
+ env_1.error = e_1;
128
+ env_1.hasError = true;
129
+ }
130
+ finally {
131
+ __disposeResources(env_1);
132
+ }
74
133
  });
75
134
  return new TempFileResult(file, {
76
135
  contentType: "image/webp"
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-web-server",
3
- "version": "1.7.600",
3
+ "version": "1.7.601",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -9,6 +9,7 @@ import { Readable } from "stream";
9
9
  import { connect } from "net";
10
10
  import HttpProxyService from "../../../../../server/services/http/HttpProxyService.js";
11
11
  import SiteDiskContentCache from "../../../../../server/services/files/SiteDiskContentCache.js";
12
+ import LockFile from "../../../../../server/storage/LockFile.js";
12
13
 
13
14
  let port = globalEnv.puppeteer.port as any;
14
15
  if (/^\d+$/i.test(port)) {
@@ -75,6 +76,8 @@ export default class extends Page {
75
76
 
76
77
  const file = await this.siteCache.htmlCache.getOrCreateAsync(key, async (lf) => {
77
78
 
79
+ using _ = await LockFile.lock("puppeteer-preview-generator");
80
+
78
81
  const query = new URLSearchParams({
79
82
  url: `https://${this.request.hostName}`,
80
83
  width,