@huloglobal/vendure-plugin-email-tracking 0.3.0 → 0.3.2

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/CHANGELOG.md CHANGED
@@ -4,6 +4,27 @@ All notable changes to `@huloglobal/vendure-plugin-email-tracking` are documente
4
4
  here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [semantic versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.3.0]
8
+
9
+ ### Added
10
+ - **Suppression list** — new `EmailSuppression` entity. Hard bounces
11
+ and complaints auto-add to the table; `sendTracked()` refuses
12
+ recipients on the list and writes `status='suppressed'`. CRUD
13
+ endpoints (`GET /email-track/suppression`,
14
+ `POST /email-track/suppression`,
15
+ `DELETE /email-track/suppression/:recipient`).
16
+ - **Per-template analytics** — `GET /email-track/log/stats/by-template`
17
+ returns open rate, click rate and click-to-open per email type.
18
+ - **Device + client detection** — every open is classified (Gmail web,
19
+ Outlook desktop, Apple Mail iOS, Thunderbird, Yahoo, prefetch proxies,
20
+ bots / scanners). Stored on each open history entry.
21
+ - **CSV export** — `GET /email-track/log/export.csv` mirrors the list
22
+ endpoint's filters (max 50 000 rows).
23
+
24
+ ### Changed
25
+ - Admin UI Email Log detail view now renders the full open and click
26
+ history tables (was just clicks before).
27
+
7
28
  ## [0.2.0]
8
29
 
9
30
  ### Added
@@ -5,6 +5,13 @@ export declare class EmailTrackingController {
5
5
  private connection;
6
6
  private tracking;
7
7
  constructor(connection: TransactionalConnection, tracking: EmailTrackingService);
8
+ /**
9
+ * Admin: plugin health + update availability. Read by the admin UI
10
+ * banner so the operator sees when a new version is on npm.
11
+ *
12
+ * GET /email-track/status
13
+ */
14
+ status(ctx: RequestContext, res: Response): Promise<Response<any, Record<string, any>> | undefined>;
8
15
  /**
9
16
  * Open-tracking pixel. Returns a 1×1 transparent GIF and logs the
10
17
  * open against the event. No-cache so privacy-protecting prefetchers
@@ -1 +1 @@
1
- {"version":3,"file":"email-tracking.controller.d.ts","sourceRoot":"","sources":["../src/email-tracking.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,cAAc,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AA0BhE,qBACa,uBAAuB;IAE5B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;gBADR,UAAU,EAAE,uBAAuB,EACnC,QAAQ,EAAE,oBAAoB;IAG1C;;;;;;OAMG;IAEG,IAAI,CAAc,OAAO,EAAE,MAAM,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAalF;;;;;;OAMG;IAEG,KAAK,CAAc,OAAO,EAAE,MAAM,EAAc,CAAC,EAAE,MAAM,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAc1G;;;;;;;;;;;;OAYG;IAEG,MAAM,CAAS,IAAI,EAAE,GAAG,EAAS,GAAG,EAAE,QAAQ;IAQpD;;;;;;OAMG;IAEG,OAAO,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAmCnF,oEAAoE;IAE9D,UAAU,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAmBtF,kEAAkE;IAE5D,SAAS,CAAQ,GAAG,EAAE,cAAc,EAAe,OAAO,EAAE,MAAM,EAAS,GAAG,EAAE,QAAQ;IAa9F;uDACmD;IAE7C,UAAU,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IA2BtF,2EAA2E;IAErE,SAAS,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IA2CrF,uCAAuC;IAEjC,eAAe,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAc3F;yBACqB;IAEf,cAAc,CAAQ,GAAG,EAAE,cAAc,EAAU,IAAI,EAAE,GAAG,EAAS,GAAG,EAAE,QAAQ;IAaxF;6CACyC;IAEnC,iBAAiB,CAAQ,GAAG,EAAE,cAAc,EAAsB,SAAS,EAAE,MAAM,EAAS,GAAG,EAAE,QAAQ;CAKlH"}
1
+ {"version":3,"file":"email-tracking.controller.d.ts","sourceRoot":"","sources":["../src/email-tracking.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,cAAc,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AA4BhE,qBACa,uBAAuB;IAE5B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;gBADR,UAAU,EAAE,uBAAuB,EACnC,QAAQ,EAAE,oBAAoB;IAG1C;;;;;OAKG;IAEG,MAAM,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,QAAQ;IAc7D;;;;;;OAMG;IAEG,IAAI,CAAc,OAAO,EAAE,MAAM,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAalF;;;;;;OAMG;IAEG,KAAK,CAAc,OAAO,EAAE,MAAM,EAAc,CAAC,EAAE,MAAM,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAc1G;;;;;;;;;;;;OAYG;IAEG,MAAM,CAAS,IAAI,EAAE,GAAG,EAAS,GAAG,EAAE,QAAQ;IAQpD;;;;;;OAMG;IAEG,OAAO,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAmCnF,oEAAoE;IAE9D,UAAU,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAmBtF,kEAAkE;IAE5D,SAAS,CAAQ,GAAG,EAAE,cAAc,EAAe,OAAO,EAAE,MAAM,EAAS,GAAG,EAAE,QAAQ;IAa9F;uDACmD;IAE7C,UAAU,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IA2BtF,2EAA2E;IAErE,SAAS,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IA2CrF,uCAAuC;IAEjC,eAAe,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IAc3F;yBACqB;IAEf,cAAc,CAAQ,GAAG,EAAE,cAAc,EAAU,IAAI,EAAE,GAAG,EAAS,GAAG,EAAE,QAAQ;IAaxF;6CACyC;IAEnC,iBAAiB,CAAQ,GAAG,EAAE,cAAc,EAAsB,SAAS,EAAE,MAAM,EAAS,GAAG,EAAE,QAAQ;CAKlH"}
@@ -18,6 +18,8 @@ const core_1 = require("@vendure/core");
18
18
  const email_log_entity_1 = require("./email-log.entity");
19
19
  const email_suppression_entity_1 = require("./email-suppression.entity");
20
20
  const email_tracking_service_1 = require("./email-tracking.service");
21
+ const plugin_1 = require("./plugin");
22
+ const options_1 = require("./options");
21
23
  const loggerCtx = 'EmailTrackingController';
22
24
  // 1×1 transparent GIF (43 bytes) returned by the open-tracking endpoint.
23
25
  const ONE_PX_GIF = Buffer.from('R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7', 'base64');
@@ -40,6 +42,27 @@ let EmailTrackingController = class EmailTrackingController {
40
42
  this.connection = connection;
41
43
  this.tracking = tracking;
42
44
  }
45
+ /**
46
+ * Admin: plugin health + update availability. Read by the admin UI
47
+ * banner so the operator sees when a new version is on npm.
48
+ *
49
+ * GET /email-track/status
50
+ */
51
+ async status(ctx, res) {
52
+ var _a, _b;
53
+ if (!requireAdmin(ctx, res, false))
54
+ return;
55
+ const updater = plugin_1.EmailTrackingPlugin.getUpdateChecker();
56
+ const update = updater ? updater.getStatus() : null;
57
+ const licence = (0, options_1.getLicenceStatus)();
58
+ return res.json({
59
+ packageName: plugin_1.EmailTrackingPlugin.getPackageName(),
60
+ version: plugin_1.EmailTrackingPlugin.getPackageVersion(),
61
+ licence: licence ? { valid: licence.valid, reason: licence.reason, plan: (_a = licence.payload) === null || _a === void 0 ? void 0 : _a.plan, expiresAt: (_b = licence.payload) === null || _b === void 0 ? void 0 : _b.exp } : null,
62
+ update,
63
+ uptimeSec: Math.round(process.uptime()),
64
+ });
65
+ }
43
66
  /**
44
67
  * Open-tracking pixel. Returns a 1×1 transparent GIF and logs the
45
68
  * open against the event. No-cache so privacy-protecting prefetchers
@@ -330,6 +353,14 @@ let EmailTrackingController = class EmailTrackingController {
330
353
  }
331
354
  };
332
355
  exports.EmailTrackingController = EmailTrackingController;
356
+ __decorate([
357
+ (0, common_1.Get)('status'),
358
+ __param(0, (0, core_1.Ctx)()),
359
+ __param(1, (0, common_1.Res)()),
360
+ __metadata("design:type", Function),
361
+ __metadata("design:paramtypes", [core_1.RequestContext, Object]),
362
+ __metadata("design:returntype", Promise)
363
+ ], EmailTrackingController.prototype, "status", null);
333
364
  __decorate([
334
365
  (0, common_1.Get)('open/:id.gif'),
335
366
  __param(0, (0, common_1.Param)('id')),
@@ -1 +1 @@
1
- {"version":3,"file":"email-tracking.controller.js","sourceRoot":"","sources":["../src/email-tracking.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-tracking.controller.js","sourceRoot":"","sources":["../src/email-tracking.controller.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Type } from '@vendure/core';
2
+ import { UpdateChecker } from '@huloglobal/vendure-licence-sdk';
2
3
  import { EmailTrackingPluginOptions } from './options';
3
4
  /**
4
5
  * `@huloglobal/vendure-plugin-email-tracking`
@@ -34,6 +35,12 @@ import { EmailTrackingPluginOptions } from './options';
34
35
  */
35
36
  export declare class EmailTrackingPlugin {
36
37
  private static revocation;
38
+ private static updateChecker;
39
+ /** Per-process snapshot of the latest update status — read by the
40
+ * controller's `/status` endpoint and the admin UI banner. */
41
+ static getUpdateChecker(): UpdateChecker | null;
42
+ static getPackageVersion(): string;
43
+ static getPackageName(): string;
37
44
  static init(options: EmailTrackingPluginOptions): Type<EmailTrackingPlugin>;
38
45
  static uiExtensions: {
39
46
  extensionPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,IAAI,EAAiB,MAAM,eAAe,CAAC;AAOxE,OAAO,EAAE,0BAA0B,EAAgC,MAAM,WAAW,CAAC;AAmBrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAOa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAkC;IAE3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAgC3E,MAAM,CAAC,YAAY;;;;;;;;;;;;;MAejB;CACL"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,IAAI,EAAiB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAqB,aAAa,EAAiB,MAAM,iCAAiC,CAAC;AAMlG,OAAO,EAAE,0BAA0B,EAAgC,MAAM,WAAW,CAAC;AAuBrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAOa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAkC;IAC3D,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAE1D;kEAC8D;IAC9D,MAAM,CAAC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAC/C,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAClC,MAAM,CAAC,cAAc,IAAI,MAAM;IAE/B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAoC3E,MAAM,CAAC,YAAY;;;;;;;;;;;;;MAejB;CACL"}
package/dist/plugin.js CHANGED
@@ -15,6 +15,9 @@ const email_suppression_entity_1 = require("./email-suppression.entity");
15
15
  const email_tracking_service_1 = require("./email-tracking.service");
16
16
  const email_tracking_controller_1 = require("./email-tracking.controller");
17
17
  const options_1 = require("./options");
18
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
19
+ const PKG_VERSION = require('../package.json').version;
20
+ const PKG_NAME = '@huloglobal/vendure-plugin-email-tracking';
18
21
  // Public key embedded at build time. The matching private key lives on
19
22
  // HULO's licence server and never leaves it. If you fork this plugin
20
23
  // privately you must replace this constant with your own public key.
@@ -63,6 +66,11 @@ const REVOCATION_URL = process.env.HULO_LICENCE_REVOCATION_URL
63
66
  * in your `compileUiExtensions` config.
64
67
  */
65
68
  let EmailTrackingPlugin = EmailTrackingPlugin_1 = class EmailTrackingPlugin {
69
+ /** Per-process snapshot of the latest update status — read by the
70
+ * controller's `/status` endpoint and the admin UI banner. */
71
+ static getUpdateChecker() { return EmailTrackingPlugin_1.updateChecker; }
72
+ static getPackageVersion() { return PKG_VERSION; }
73
+ static getPackageName() { return PKG_NAME; }
66
74
  static init(options) {
67
75
  (0, options_1.setOptions)(options);
68
76
  // Start the revocation checker once; safe to call init() again
@@ -71,6 +79,10 @@ let EmailTrackingPlugin = EmailTrackingPlugin_1 = class EmailTrackingPlugin {
71
79
  EmailTrackingPlugin_1.revocation = new vendure_licence_sdk_1.RevocationChecker(REVOCATION_URL);
72
80
  EmailTrackingPlugin_1.revocation.start();
73
81
  }
82
+ if (!EmailTrackingPlugin_1.updateChecker) {
83
+ EmailTrackingPlugin_1.updateChecker = new vendure_licence_sdk_1.UpdateChecker(PKG_NAME, PKG_VERSION);
84
+ EmailTrackingPlugin_1.updateChecker.start();
85
+ }
74
86
  const host = (options.publicBaseUrl || '')
75
87
  .replace(/^https?:\/\//, '').replace(/\/.*$/, '');
76
88
  const status = (0, vendure_licence_sdk_1.verifyLicence)({
@@ -91,6 +103,7 @@ let EmailTrackingPlugin = EmailTrackingPlugin_1 = class EmailTrackingPlugin {
91
103
  };
92
104
  exports.EmailTrackingPlugin = EmailTrackingPlugin;
93
105
  EmailTrackingPlugin.revocation = null;
106
+ EmailTrackingPlugin.updateChecker = null;
94
107
  EmailTrackingPlugin.uiExtensions = {
95
108
  extensionPath: __dirname + '/../ui',
96
109
  ngModules: [
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,wCAAwE;AACxE,yEAAmF;AACnF,yDAA8C;AAC9C,yEAA8D;AAC9D,qEAAgE;AAChE,2EAAsE;AAEtE,uCAAqF;AAErF,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,MAAM,eAAe,GAAG;;;;;;;;yBAQC,CAAC;AAE1B,MAAM,SAAS,GAAG,+BAA+B,CAAC;AAClD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B;OACvD,4CAA4C,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAQI,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAG5B,MAAM,CAAC,IAAI,CAAC,OAAmC;QAC3C,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC;QAEpB,+DAA+D;QAC/D,kEAAkE;QAClE,IAAI,CAAC,qBAAmB,CAAC,UAAU,EAAE,CAAC;YAClC,qBAAmB,CAAC,UAAU,GAAG,IAAI,uCAAiB,CAAC,cAAc,CAAC,CAAC;YACvE,qBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;aACrC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAA,mCAAa,EAAC;YACzB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,SAAS;YACnB,IAAI;YACJ,SAAS,EAAE,eAAe;YAC1B,UAAU,EAAE,qBAAmB,CAAC,UAAU,CAAC,aAAa,EAAE;SAC7D,CAAC,CAAC;QACH,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChB,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACR,+CAA+C,MAAM,CAAC,OAAO,EAAE;gBAC/D,6FAA6F,SAAS,EAAE,CAC3G,CAAC;QACN,CAAC;QAED,OAAO,qBAAmB,CAAC;IAC/B,CAAC;;AAjCQ,kDAAmB;AACb,8BAAU,GAA6B,IAAI,AAAjC,CAAkC;AAkCpD,gCAAY,GAAG;IAClB,aAAa,EAAE,SAAS,GAAG,QAAQ;IACnC,SAAS,EAAE;QACP;YACI,IAAI,EAAE,MAAe;YACrB,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,qBAAqB;YACvC,YAAY,EAAE,gBAAgB;SACjC;QACD;YACI,IAAI,EAAE,QAAiB;YACvB,gBAAgB,EAAE,yBAAyB;YAC3C,YAAY,EAAE,mBAAmB;SACpC;KACJ;CACJ,AAfkB,CAejB;8BAlDO,mBAAmB;IAP/B,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,SAAS,EAAE,CAAC,6CAAoB,CAAC;QACjC,WAAW,EAAE,CAAC,mDAAuB,CAAC;QACtC,QAAQ,EAAE,CAAC,2BAAQ,EAAE,2CAAgB,CAAC;QACtC,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,mBAAmB,CAmD/B"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huloglobal/vendure-plugin-email-tracking",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Track delivery, opens and clicks on every transactional email a Vendure server sends. Wraps the @vendure/email-plugin pipeline plus an exposed helper for plugin-authored sends, persists every event to a dedicated EmailLog table, and ships an admin UI for per-customer / per-order audit trails.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Wayne Garrison <wayne@garrison.me.uk>",
@@ -23,7 +23,7 @@
23
23
  "prepublishOnly": "yarn build"
24
24
  },
25
25
  "dependencies": {
26
- "@huloglobal/vendure-licence-sdk": "^0.1.0"
26
+ "@huloglobal/vendure-licence-sdk": "^0.2.0"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "@vendure/core": ">=3.0.0",
@@ -33,7 +33,7 @@
33
33
  "typeorm": ">=0.3.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@huloglobal/vendure-licence-sdk": "^0.1.0",
36
+ "@huloglobal/vendure-licence-sdk": "^0.2.0",
37
37
  "@nestjs/common": "^10.0.0",
38
38
  "@types/nodemailer": "^6.0.0",
39
39
  "@vendure/core": "^3.6.0",
@@ -50,4 +50,4 @@
50
50
  "transactional-email",
51
51
  "analytics"
52
52
  ]
53
- }
53
+ }
@@ -52,6 +52,20 @@ interface EmailDetail extends EmailRow {
52
52
  </vdr-action-bar>
53
53
  </vdr-page-block>
54
54
 
55
+ <vdr-page-block *ngIf="updateBanner">
56
+ <div class="update-banner" [class.major]="updateBanner.isMajor">
57
+ <div>
58
+ <strong>📦 Update available</strong>
59
+ {{ updateBanner.packageName }} {{ updateBanner.current }} → <strong>{{ updateBanner.latest }}</strong>
60
+ <span *ngIf="updateBanner.isMajor" class="major-pill">major</span>
61
+ </div>
62
+ <div class="actions">
63
+ <a [href]="'https://github.com/exceeded/vendure-plugin-email-tracking/releases/tag/v' + updateBanner.latest" target="_blank" class="btn btn-sm btn-link">Release notes ↗</a>
64
+ <button class="btn btn-sm" (click)="dismissUpdate()">Dismiss</button>
65
+ </div>
66
+ </div>
67
+ </vdr-page-block>
68
+
55
69
  <vdr-page-block>
56
70
  <div class="summary-row">
57
71
  <div class="summary-card" [class.active]="filterStatus===''" (click)="setStatus('')">
@@ -281,6 +295,17 @@ interface EmailDetail extends EmailRow {
281
295
  }
282
296
  .help-text { color: var(--color-component-color-300); font-size: 11px; }
283
297
  .muted { color: var(--color-component-color-300); }
298
+
299
+ .update-banner {
300
+ display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap;
301
+ padding: 12px 16px; border-radius: 8px;
302
+ background: #ecfeff; border: 1px solid #67e8f9;
303
+ color: #155e75; font-size: 13px;
304
+ }
305
+ .update-banner.major { background: #fef3c7; border-color: #fde68a; color: #92400e; }
306
+ .update-banner strong { font-weight: 700; }
307
+ .update-banner .major-pill { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 8px; background: #f59e0b; color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; }
308
+ .update-banner .actions { display: flex; gap: 8px; align-items: center; }
284
309
  `],
285
310
  })
286
311
  export class EmailLogComponent implements OnInit {
@@ -304,6 +329,9 @@ export class EmailLogComponent implements OnInit {
304
329
  expandedId: number | null = null;
305
330
  detail: EmailDetail | null = null;
306
331
 
332
+ updateBanner: { packageName: string; current: string; latest: string; isMajor: boolean } | null = null;
333
+ private dismissKey = 'huloglobal-email-tracking-update-dismissed';
334
+
307
335
  constructor(
308
336
  private http: HttpClient,
309
337
  private notify: NotificationService,
@@ -320,6 +348,28 @@ export class EmailLogComponent implements OnInit {
320
348
  const oCode = this.route.snapshot.queryParamMap.get('orderCode');
321
349
  if (oCode) this.filterOrderCode = oCode;
322
350
  this.load();
351
+ this.loadStatus();
352
+ }
353
+
354
+ loadStatus() {
355
+ this.http.get<any>('/email-track/status').subscribe({
356
+ next: (s) => {
357
+ const u = s?.update;
358
+ if (!u?.updateAvailable || !u.latest) return;
359
+ let dismissed = '';
360
+ try { dismissed = localStorage.getItem(this.dismissKey) || ''; } catch {}
361
+ if (dismissed === u.latest) return;
362
+ this.updateBanner = { packageName: u.packageName, current: u.current, latest: u.latest, isMajor: !!u.isMajor };
363
+ this.cdr.markForCheck();
364
+ },
365
+ error: () => { /* nice-to-have, don't break the page */ },
366
+ });
367
+ }
368
+
369
+ dismissUpdate() {
370
+ if (!this.updateBanner) return;
371
+ try { localStorage.setItem(this.dismissKey, this.updateBanner.latest); } catch {}
372
+ this.updateBanner = null;
323
373
  }
324
374
 
325
375
  totalAll(): number {