@social-mail/social-mail-client 1.2.92 → 1.2.95

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 (45) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +57 -134
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +4 -4
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/pages/logs/LogsPage.d.ts.map +1 -1
  6. package/dist/common/pages/logs/LogsPage.js +1 -1
  7. package/dist/common/pages/logs/LogsPage.js.map +1 -1
  8. package/dist/common/pages/logs/services/AppLogService.d.ts +1 -1
  9. package/dist/common/pages/logs/services/AppLogService.js +3 -3
  10. package/dist/common/pages/logs/services/AppLogService.js.map +1 -1
  11. package/dist/model/model.d.ts +18 -112
  12. package/dist/model/model.d.ts.map +1 -1
  13. package/dist/model/model.js +6 -82
  14. package/dist/model/model.js.map +1 -1
  15. package/dist/public/channel/ChannelView.pack.js +22 -129
  16. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  17. package/dist/public/channel/ChannelView.pack.min.js +1 -1
  18. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  19. package/dist/services/email/EmailContentDownloader.d.ts +2 -2
  20. package/dist/services/email/EmailContentDownloader.d.ts.map +1 -1
  21. package/dist/services/email/EmailContentDownloader.js +5 -11
  22. package/dist/services/email/EmailContentDownloader.js.map +1 -1
  23. package/dist/services/socket/sockets.d.ts +1 -0
  24. package/dist/services/socket/sockets.d.ts.map +1 -1
  25. package/dist/services/socket/sockets.js.map +1 -1
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/dist/web/AppIndex.pack.js +57 -134
  28. package/dist/web/AppIndex.pack.js.map +1 -1
  29. package/dist/web/AppIndex.pack.min.js +4 -4
  30. package/dist/web/AppIndex.pack.min.js.map +1 -1
  31. package/dist/web/page/mails/ConversationPage.d.ts.map +1 -1
  32. package/dist/web/page/mails/ConversationPage.js +31 -1
  33. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  34. package/dist/web/page/mails/service/ConversationService.d.ts +1 -1
  35. package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
  36. package/dist/web/page/mails/service/ConversationService.js +11 -36
  37. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/common/pages/logs/LogsPage.tsx +4 -4
  40. package/src/common/pages/logs/services/AppLogService.ts +2 -2
  41. package/src/model/model.ts +20 -124
  42. package/src/services/email/EmailContentDownloader.ts +6 -14
  43. package/src/services/socket/sockets.ts +4 -1
  44. package/src/web/page/mails/ConversationPage.tsx +35 -2
  45. package/src/web/page/mails/service/ConversationService.tsx +6 -36
@@ -15293,7 +15293,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
15293
15293
  System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/services/BaseEntityService"], function (_export, _context) {
15294
15294
  "use strict";
15295
15295
 
15296
- var DateTime, Model, DefaultFactory, AppRole, AppFileContentDispositionArray, AppFile, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, CachedItem, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailEngagement, AppLog, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxContactStatusArray, MailboxContact, MailboxContactEmail, MailboxContactTag, MailboxSyncTargetDirectionArray, MailboxSyncTargetProtocolArray, MailboxSyncTargetLastSyncStatusArray, MailboxSyncTarget, ChannelConfig, SubscriberActivity, SearchWordStatusArray, SearchWord, SearchWordIndex, UserStatusArray, User, UserPin, UserPushSubscription, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, WebSiteFolder, WebSiteFolderHost, WebSiteFolderVersion, LoginSession, TextDocument, Tag, Product, ProductPrice, AppLicense, VirtualServer, DnsZone, DnsZoneRecordTypeArray, DnsZoneRecord, DnsSigningKey;
15296
+ var DateTime, Model, DefaultFactory, AppRole, AppFileContentDispositionArray, AppFile, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, CachedItem, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailEngagement, EmailLog, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxContactStatusArray, MailboxContact, MailboxContactEmail, MailboxContactTag, MailboxSyncTargetDirectionArray, MailboxSyncTargetProtocolArray, MailboxSyncTargetLastSyncStatusArray, MailboxSyncTarget, ChannelConfig, SubscriberActivity, SearchWordStatusArray, SearchWord, SearchWordIndex, UserStatusArray, User, UserPin, UserPushSubscription, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, WebSiteFolder, WebSiteFolderHost, WebSiteFolderVersion, WebSiteChannel, LoginSession, TextDocument, Tag;
15297
15297
  return {
15298
15298
  setters: [function (_webAtomsDateTimeDistDateTime) {
15299
15299
  DateTime = _webAtomsDateTimeDistDateTime.default;
@@ -15454,9 +15454,11 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
15454
15454
  engagement: "",
15455
15455
  count: 0
15456
15456
  }));
15457
- _export("AppLog", AppLog = new Model("AppLog", ["logID"], {
15457
+ _export("EmailLog", EmailLog = new Model("EmailLog", ["logID"], {
15458
+ fileName: "",
15459
+ compression: "",
15458
15460
  dateCreated: new DefaultFactory(() => new DateTime()),
15459
- json: false
15461
+ cloudPath: ""
15460
15462
  }));
15461
15463
  _export("EmailRecipientTypeArray", EmailRecipientTypeArray = [{
15462
15464
  "label": "from",
@@ -15653,6 +15655,7 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
15653
15655
  dateCreated: new DefaultFactory(() => new DateTime()),
15654
15656
  name: ""
15655
15657
  }));
15658
+ _export("WebSiteChannel", WebSiteChannel = new Model("WebSiteChannel", ["folderID", "channelID"], {}));
15656
15659
  _export("LoginSession", LoginSession = new Model("LoginSession", ["sessionID"], {
15657
15660
  invalid: false,
15658
15661
  dateUpdated: new DefaultFactory(() => new DateTime())
@@ -15664,85 +15667,6 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
15664
15667
  name: "",
15665
15668
  isSystemTag: false
15666
15669
  }));
15667
- _export("Product", Product = new Model("Product", ["productID"], {
15668
- name: ""
15669
- }));
15670
- _export("ProductPrice", ProductPrice = new Model("ProductPrice", ["priceID"], {
15671
- quantity: 0,
15672
- amount: 0,
15673
- isActive: false,
15674
- currency: ""
15675
- }));
15676
- _export("AppLicense", AppLicense = new Model("AppLicense", ["licenseID", "priceID"], {
15677
- dateCreated: new DefaultFactory(() => new DateTime()),
15678
- dateExpiry: new DefaultFactory(() => new DateTime()),
15679
- dateUpdated: new DefaultFactory(() => new DateTime()),
15680
- maxCores: 0,
15681
- licenseCode: ""
15682
- }));
15683
- _export("VirtualServer", VirtualServer = new Model("VirtualServer", ["serverID"], {
15684
- serverName: "",
15685
- active: false,
15686
- host: "",
15687
- maxStorageGB: 0
15688
- }));
15689
- _export("DnsZone", DnsZone = new Model("DnsZone", ["zoneID"], {
15690
- zone: "",
15691
- dateCreated: new DefaultFactory(() => new DateTime()),
15692
- dateUpdated: new DefaultFactory(() => new DateTime())
15693
- }));
15694
- _export("DnsZoneRecordTypeArray", DnsZoneRecordTypeArray = [{
15695
- "label": "A",
15696
- "value": "A"
15697
- }, {
15698
- "label": "AAAA",
15699
- "value": "AAAA"
15700
- }, {
15701
- "label": "CNAME",
15702
- "value": "CNAME"
15703
- }, {
15704
- "label": "MX",
15705
- "value": "MX"
15706
- }, {
15707
- "label": "TXT",
15708
- "value": "TXT"
15709
- }, {
15710
- "label": "PTR",
15711
- "value": "PTR"
15712
- }, {
15713
- "label": "SRV",
15714
- "value": "SRV"
15715
- }, {
15716
- "label": "CAA",
15717
- "value": "CAA"
15718
- }, {
15719
- "label": "NS",
15720
- "value": "NS"
15721
- }, {
15722
- "label": "SOA",
15723
- "value": "SOA"
15724
- }]);
15725
- _export("DnsZoneRecord", DnsZoneRecord = new Model("DnsZoneRecord", ["recordID"], {
15726
- disabled: false,
15727
- name: "",
15728
- type: "A",
15729
- isAlias: false,
15730
- value: "",
15731
- ttl: 0,
15732
- dateCreated: new DefaultFactory(() => new DateTime()),
15733
- dateUpdated: new DefaultFactory(() => new DateTime()),
15734
- hosted: false
15735
- }));
15736
- _export("DnsSigningKey", DnsSigningKey = new Model("DnsSigningKey", ["keyID"], {
15737
- publicKey: "",
15738
- digestAlgorithm: 0,
15739
- signingAlgorithm: 0,
15740
- digest: "",
15741
- flags: 0,
15742
- dateCreated: new DefaultFactory(() => new DateTime()),
15743
- expiryDate: new DefaultFactory(() => new DateTime()),
15744
- fileName: ""
15745
- }));
15746
15670
  }
15747
15671
  };
15748
15672
  });
@@ -18414,30 +18338,24 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
18414
18338
  }],
18415
18339
  execute: function () {
18416
18340
  EmailContentDownloader = class EmailContentDownloader extends TaskManager {
18417
- download(email) {
18341
+ download(mce) {
18418
18342
  return __awaiter(this, void 0, void 0, function* () {
18419
- if (email.htmlBody) {
18420
- return email.htmlBody;
18421
- }
18422
- if (!email.originalFileID) {
18423
- return;
18424
- }
18425
18343
  const cache = yield window.caches.open("email-content-cache");
18426
- const cacheKey = new URL(email.htmlBodyUrl, location.href);
18344
+ const cacheKey = new URL(mce.htmlBodyUrl, location.href);
18427
18345
  const content = yield cache.match(cacheKey);
18428
18346
  if (content) {
18429
- return email.htmlBody = yield content.text();
18347
+ return mce.email.htmlBody = yield content.text();
18430
18348
  }
18431
18349
  return yield this.run(() => __awaiter(this, void 0, void 0, function* () {
18432
18350
  for (let i = 0; i < 3; i++) {
18433
18351
  try {
18434
- const text = yield FetchBuilder.get(email.htmlBodyUrl).responseAsText();
18352
+ const text = yield FetchBuilder.get(mce.htmlBodyUrl).responseAsText();
18435
18353
  yield cache.put(cacheKey, new Response(text, {
18436
18354
  headers: {
18437
18355
  "cache-control": "public, max-age=86000"
18438
18356
  }
18439
18357
  }));
18440
- return email.htmlBody = text;
18358
+ return mce.email.htmlBody = text;
18441
18359
  } catch (error) {
18442
18360
  console.error(error);
18443
18361
  }
@@ -18567,7 +18485,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/Inject", "../../../../service
18567
18485
  System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "../../../../common/Sql", "@web-atoms/email-dom/dist/DomToString", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/web/core/AtomUI", "@web-atoms/date-time/dist/DateTime", "../../../../common/events/CommonEvents", "../../../../services/BusyProgress", "../../../../services/email/EmailContentDownloader", "./EngagementService"], function (_export, _context) {
18568
18486
  "use strict";
18569
18487
 
18570
- var __awaiter, __decorate, __metadata, DISingleton, Inject, EntityService, Email, EmailRecipient, MailboxContactEmail, MailboxEmail, Sql, DomToString, XNode, AtomControl, descendentElementIterator, DateTime, CommonEvents, BusyProgress, EmailContentDownloader, EngagementService, renderMail, downloadEmailContent, ConversationService;
18488
+ var __awaiter, __decorate, __metadata, DISingleton, Inject, EntityService, Email, EmailRecipient, MailboxContactEmail, MailboxEmail, Sql, DomToString, XNode, AtomControl, descendentElementIterator, DateTime, CommonEvents, BusyProgress, EmailContentDownloader, EngagementService, renderMail, ConversationService;
18571
18489
  return {
18572
18490
  setters: [function (_tslib) {
18573
18491
  __awaiter = _tslib.__awaiter;
@@ -18671,35 +18589,6 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18671
18589
  }
18672
18590
  return;
18673
18591
  }));
18674
- downloadEmailContent = (es, email) => __awaiter(void 0, void 0, void 0, function* () {
18675
- var _a, _b;
18676
- if (email.replyCount) {
18677
- const children = yield es.query(Email).where({
18678
- emailID: email.emailID
18679
- }, p => x => x.emailID === p.emailID && x.engagement !== null).orderByDescending(x => x.emailID).toPagedList({
18680
- start: 0,
18681
- size: 4,
18682
- cacheVersion: "a",
18683
- cacheSeconds: 900
18684
- });
18685
- email.children = (_a = children === null || children === void 0 ? void 0 : children.items) !== null && _a !== void 0 ? _a : [];
18686
- } else {
18687
- (_b = email.children) !== null && _b !== void 0 ? _b : email.children = [];
18688
- }
18689
- if (!email.originalFileID) {
18690
- return;
18691
- }
18692
- for (let i = 0; i < 10; i++) {
18693
- try {
18694
- const rs = yield fetch(email.htmlBodyUrl);
18695
- const text = yield rs.text();
18696
- email.htmlBody = text;
18697
- return;
18698
- } catch (error) {
18699
- console.error(error);
18700
- }
18701
- }
18702
- });
18703
18592
  ConversationService = class ConversationService {
18704
18593
  getDraft({
18705
18594
  mailboxID,
@@ -18789,12 +18678,13 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18789
18678
  const tasks = [];
18790
18679
  const d = BusyProgress.create();
18791
18680
  try {
18792
- for (const {
18793
- email
18794
- } of emails.items) {
18681
+ for (const mce of emails.items) {
18682
+ const {
18683
+ email
18684
+ } = mce;
18795
18685
  (_a = email.htmlBody) !== null && _a !== void 0 ? _a : email.htmlBody = "";
18796
18686
  (_b = email.textBody) !== null && _b !== void 0 ? _b : email.textBody = "";
18797
- tasks.push(this.downloadEmailContent(email));
18687
+ tasks.push(this.downloadEmailContent(mce));
18798
18688
  tasks.push(this.engagementService.downloadEngagements(email));
18799
18689
  }
18800
18690
  yield Promise.all(tasks);
@@ -18814,9 +18704,12 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18814
18704
  CommonEvents.onEmailUnscheduled.dispatchEvent(mce);
18815
18705
  });
18816
18706
  }
18817
- downloadEmailContent(email) {
18707
+ downloadEmailContent(mce) {
18818
18708
  var _a, _b;
18819
18709
  return __awaiter(this, void 0, void 0, function* () {
18710
+ const {
18711
+ email
18712
+ } = mce;
18820
18713
  if (email.replyCount) {
18821
18714
  const children = yield this.entityService.query(Email).where({
18822
18715
  emailID: email.emailID
@@ -18830,7 +18723,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18830
18723
  } else {
18831
18724
  (_b = email.children) !== null && _b !== void 0 ? _b : email.children = [];
18832
18725
  }
18833
- yield this.emailContentDownloader.download(email);
18726
+ yield this.emailContentDownloader.download(mce);
18834
18727
  });
18835
18728
  }
18836
18729
  renderText(html) {
@@ -24318,7 +24211,7 @@ System.register(["@web-atoms/date-time/dist/DateTime"], function (_export, _cont
24318
24211
  System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "../../../../services/EntityService", "@web-atoms/core/dist/di/Inject", "../../../../model/model"], function (_export, _context) {
24319
24212
  "use strict";
24320
24213
 
24321
- var __awaiter, __decorate, __metadata, DITransient, EntityService, Inject, AppLog, AppLogService;
24214
+ var __awaiter, __decorate, __metadata, DITransient, EntityService, Inject, EmailLog, AppLogService;
24322
24215
  return {
24323
24216
  setters: [function (_tslib) {
24324
24217
  __awaiter = _tslib.__awaiter;
@@ -24331,7 +24224,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "../../../../se
24331
24224
  }, function (_webAtomsCoreDistDiInject) {
24332
24225
  Inject = _webAtomsCoreDistDiInject.Inject;
24333
24226
  }, function (_modelModel) {
24334
- AppLog = _modelModel.AppLog;
24227
+ EmailLog = _modelModel.EmailLog;
24335
24228
  }],
24336
24229
  execute: function () {
24337
24230
  AppLogService = class AppLogService {
@@ -24342,7 +24235,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "../../../../se
24342
24235
  cancelToken
24343
24236
  }) {
24344
24237
  return __awaiter(this, void 0, void 0, function* () {
24345
- let q = this.entityService.query(AppLog);
24238
+ let q = this.entityService.query(EmailLog);
24346
24239
  if (emailID) {
24347
24240
  q = q.where({
24348
24241
  emailID
@@ -24411,7 +24304,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
24411
24304
  cancelToken
24412
24305
  })), {
24413
24306
  itemRenderer: item => XNode.create("tr", null, XNode.create("td", {
24414
- text: item.title,
24307
+ text: item.fileName,
24415
24308
  "data-flex": "stretch-full"
24416
24309
  }), XNode.create("td", {
24417
24310
  title: DateFormats.withWeekDayAndTime(item.dateCreated),
@@ -29000,6 +28893,15 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
29000
28893
  this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(), {
29001
28894
  newMail: () => {
29002
28895
  this.version++;
28896
+ },
28897
+ mailRead: (mailboxID, emailAddressID, emailID) => {
28898
+ for (const iterator of this.mailsRepeater.items) {
28899
+ if (iterator.emailID !== emailID) {
28900
+ continue;
28901
+ }
28902
+ iterator.timeRead = DateTime.now;
28903
+ this.mailsRepeater.refreshItem(iterator);
28904
+ }
29003
28905
  }
29004
28906
  }));
29005
28907
  this.renderer = XNode.create("div", null, XNode.create(AtomRepeater, Object.assign({
@@ -29023,6 +28925,21 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
29023
28925
  const sent = item.senderID === thread.mailboxID;
29024
28926
  const remaining = DateTime.from((_c = item.dateSent) !== null && _c !== void 0 ? _c : DateTime.today).diff(DateTime.now);
29025
28927
  const isSending = thread.email.status === "scheduled" && remaining.totalSeconds > 3;
28928
+ let readStatus = "";
28929
+ let readColor = "";
28930
+ if (sent) {
28931
+ const timeRead = thread.timeRead && DateTime.from(thread.timeRead);
28932
+ if (timeRead) {
28933
+ readStatus = `Read ${DateFormats.relative.short(timeRead)}`;
28934
+ readColor = "green";
28935
+ } else if (item.status === "sent") {
28936
+ readStatus = "Sent";
28937
+ readColor = "yellow";
28938
+ } else {
28939
+ readStatus = "In queue";
28940
+ readColor = "lightblue";
28941
+ }
28942
+ }
29026
28943
  if (remaining.totalSeconds > 0) {
29027
28944
  setTimeout(() => this.mailsRepeater.refreshItem(thread), 2000);
29028
28945
  }
@@ -29063,7 +28980,13 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
29063
28980
  "data-layout": "row"
29064
28981
  }, ...thread.email.tags.split(",").map(x => XNode.create("span", {
29065
28982
  text: `#${x.startsWith("#") ? x.substring(1) : x}`
29066
- }))), !sent && XNode.create("div", {
28983
+ }))), sent ? XNode.create("div", {
28984
+ "data-layout": "row"
28985
+ }, XNode.create("i", {
28986
+ class: "fa-solid fa-circle-small",
28987
+ "style-color": readColor,
28988
+ title: readStatus
28989
+ })) : XNode.create("div", {
29067
28990
  "data-layout": "row"
29068
28991
  }, XNode.create("i", {
29069
28992
  "data-click-event": "react-email",