emailengine-app 2.62.2 → 2.63.1

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/server.js CHANGED
@@ -974,6 +974,16 @@ let spawnWorker = async type => {
974
974
  let isOnline = false;
975
975
  let threadId = worker.threadId;
976
976
 
977
+ // Capture worker crash errors for logging
978
+ worker.on('error', err => {
979
+ logger.error({
980
+ msg: 'Worker thread error',
981
+ type,
982
+ threadId: worker.threadId,
983
+ err
984
+ });
985
+ });
986
+
977
987
  // Handle worker coming online
978
988
  worker.on('online', () => {
979
989
  if (['smtp', 'imapProxy'].includes(type)) {
@@ -1616,11 +1626,20 @@ async function assignAccounts() {
1616
1626
  unassigned.delete(account);
1617
1627
 
1618
1628
  // Notify worker of assignment
1619
- await call(worker, {
1620
- cmd: 'assign',
1621
- account,
1622
- runIndex
1623
- });
1629
+ try {
1630
+ await call(worker, {
1631
+ cmd: 'assign',
1632
+ account,
1633
+ runIndex
1634
+ });
1635
+ } catch (err) {
1636
+ // Roll back -- account was never actually assigned
1637
+ workerAssigned.get(worker).delete(account);
1638
+ assigned.delete(account);
1639
+ unassigned.add(account);
1640
+ logger.error({ msg: 'Failed to assign account to worker', account, threadId: worker.threadId, err });
1641
+ continue;
1642
+ }
1624
1643
 
1625
1644
  // Add delay between assignments to avoid overwhelming the system
1626
1645
  if (CONNECTION_SETUP_DELAY) {
@@ -1641,6 +1660,17 @@ async function assignAccounts() {
1641
1660
  });
1642
1661
  } finally {
1643
1662
  assigning = false;
1663
+
1664
+ // Safety net: if accounts remain unassigned, schedule a retry
1665
+ if (unassigned && unassigned.size > 0 && availableIMAPWorkers.size > 0 && !isClosing) {
1666
+ logger.warn({
1667
+ msg: 'Accounts remain unassigned after assignment pass, scheduling retry',
1668
+ remaining: unassigned.size
1669
+ });
1670
+ setTimeout(() => {
1671
+ assignAccounts().catch(err => logger.error({ msg: 'Retry assignment failed', err }));
1672
+ }, 5000);
1673
+ }
1644
1674
  }
1645
1675
  }
1646
1676
 
@@ -1,6 +1,6 @@
1
1
  <!doctype html><html><head><meta charset="utf-8"><title>EmailEngine Licenses</title><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous"></head><body>
2
2
  <div class="container-fluid">
3
- <h1>EmailEngine v2.62.1</h1><p>EmailEngine includes code from the following software packages:</p>
3
+ <h1>EmailEngine v2.63.0</h1><p>EmailEngine includes code from the following software packages:</p>
4
4
  <table class="table table-sm">
5
5
  <tr><thead class="thead-dark"><th>Package</th><th>Version</th><th>License</th><th>Publisher</th><th>Publisher's Email</th><th>Package URL</th></tr>
6
6
  <tbody>
@@ -66,7 +66,7 @@
66
66
  </tr>
67
67
  <tr>
68
68
  <td><a href="https://npmjs.com/package/@asamuzakjp/dom-selector">@asamuzakjp/dom-selector</a></td>
69
- <td>6.7.8</td>
69
+ <td>6.8.1</td>
70
70
  <td>MIT</td>
71
71
  <td>asamuzaK</td>
72
72
  <td></td>
@@ -146,7 +146,7 @@
146
146
  </tr>
147
147
  <tr>
148
148
  <td><a href="https://npmjs.com/package/@bull-board/api">@bull-board/api</a></td>
149
- <td>6.16.4</td>
149
+ <td>6.20.3</td>
150
150
  <td>MIT</td>
151
151
  <td>felixmosh</td>
152
152
  <td></td>
@@ -156,7 +156,7 @@
156
156
  </tr>
157
157
  <tr>
158
158
  <td><a href="https://npmjs.com/package/@bull-board/hapi">@bull-board/hapi</a></td>
159
- <td>6.16.4</td>
159
+ <td>6.20.3</td>
160
160
  <td>MIT</td>
161
161
  <td>felixmosh</td>
162
162
  <td></td>
@@ -166,7 +166,7 @@
166
166
  </tr>
167
167
  <tr>
168
168
  <td><a href="https://npmjs.com/package/@bull-board/ui">@bull-board/ui</a></td>
169
- <td>6.16.4</td>
169
+ <td>6.20.3</td>
170
170
  <td>MIT</td>
171
171
  <td>felixmosh</td>
172
172
  <td></td>
@@ -216,7 +216,7 @@
216
216
  </tr>
217
217
  <tr>
218
218
  <td><a href="https://npmjs.com/package/@csstools/css-syntax-patches-for-csstree">@csstools/css-syntax-patches-for-csstree</a></td>
219
- <td>1.0.26</td>
219
+ <td>1.0.28</td>
220
220
  <td>MIT-0</td>
221
221
  <td></td>
222
222
  <td></td>
@@ -276,7 +276,7 @@
276
276
  </tr>
277
277
  <tr>
278
278
  <td><a href="https://npmjs.com/package/@eslint/config-array">@eslint/config-array</a></td>
279
- <td>0.23.1</td>
279
+ <td>0.23.2</td>
280
280
  <td>Apache-2.0</td>
281
281
  <td>Nicholas C. Zakas</td>
282
282
  <td></td>
@@ -316,7 +316,7 @@
316
316
  </tr>
317
317
  <tr>
318
318
  <td><a href="https://npmjs.com/package/@eslint/object-schema">@eslint/object-schema</a></td>
319
- <td>3.0.1</td>
319
+ <td>3.0.2</td>
320
320
  <td>Apache-2.0</td>
321
321
  <td>Nicholas C. Zakas</td>
322
322
  <td></td>
@@ -506,7 +506,7 @@
506
506
  </tr>
507
507
  <tr>
508
508
  <td><a href="https://npmjs.com/package/@hapi/hapi">@hapi/hapi</a></td>
509
- <td>21.4.4</td>
509
+ <td>21.4.6</td>
510
510
  <td>BSD-3-Clause</td>
511
511
  <td></td>
512
512
  <td></td>
@@ -666,7 +666,7 @@
666
666
  </tr>
667
667
  <tr>
668
668
  <td><a href="https://npmjs.com/package/@hapi/tlds">@hapi/tlds</a></td>
669
- <td>1.1.4</td>
669
+ <td>1.1.6</td>
670
670
  <td>BSD-3-Clause</td>
671
671
  <td></td>
672
672
  <td></td>
@@ -785,25 +785,6 @@
785
785
  </td
786
786
  </tr>
787
787
  <tr>
788
- <td><a href="https://npmjs.com/package/@isaacs/balanced-match">@isaacs/balanced-match</a></td>
789
- <td>4.0.1</td>
790
- <td>MIT</td>
791
- <td></td>
792
- <td></td>
793
- <td>
794
- <a href="https://github.com/isaacs/balanced-match">github.com/isaacs/balanced-match</a>
795
- </td
796
- </tr>
797
- <tr>
798
- <td><a href="https://npmjs.com/package/@isaacs/brace-expansion">@isaacs/brace-expansion</a></td>
799
- <td>5.0.1</td>
800
- <td>MIT</td>
801
- <td></td>
802
- <td></td>
803
- <td>
804
- </td
805
- </tr>
806
- <tr>
807
788
  <td><a href="https://npmjs.com/package/@jsdevtools/ono">@jsdevtools/ono</a></td>
808
789
  <td>7.1.3</td>
809
790
  <td>MIT</td>
@@ -855,7 +836,7 @@
855
836
  </tr>
856
837
  <tr>
857
838
  <td><a href="https://npmjs.com/package/@opentelemetry/core">@opentelemetry/core</a></td>
858
- <td>2.5.0</td>
839
+ <td>2.5.1</td>
859
840
  <td>Apache-2.0</td>
860
841
  <td>OpenTelemetry Authors</td>
861
842
  <td></td>
@@ -865,7 +846,7 @@
865
846
  </tr>
866
847
  <tr>
867
848
  <td><a href="https://npmjs.com/package/@opentelemetry/semantic-conventions">@opentelemetry/semantic-conventions</a></td>
868
- <td>1.39.0</td>
849
+ <td>1.40.0</td>
869
850
  <td>Apache-2.0</td>
870
851
  <td>OpenTelemetry Authors</td>
871
852
  <td></td>
@@ -1285,7 +1266,7 @@
1285
1266
  </tr>
1286
1267
  <tr>
1287
1268
  <td><a href="https://npmjs.com/package/acorn">acorn</a></td>
1288
- <td>8.15.0</td>
1269
+ <td>8.16.0</td>
1289
1270
  <td>MIT</td>
1290
1271
  <td></td>
1291
1272
  <td></td>
@@ -1305,7 +1286,7 @@
1305
1286
  </tr>
1306
1287
  <tr>
1307
1288
  <td><a href="https://npmjs.com/package/ajv">ajv</a></td>
1308
- <td>6.12.6</td>
1289
+ <td>6.14.0</td>
1309
1290
  <td>MIT</td>
1310
1291
  <td>Evgeny Poberezkin</td>
1311
1292
  <td></td>
@@ -1484,6 +1465,16 @@
1484
1465
  </td
1485
1466
  </tr>
1486
1467
  <tr>
1468
+ <td><a href="https://npmjs.com/package/balanced-match">balanced-match</a></td>
1469
+ <td>4.0.4</td>
1470
+ <td>MIT</td>
1471
+ <td></td>
1472
+ <td></td>
1473
+ <td>
1474
+ <a href="https://github.com/juliangruber/balanced-match">github.com/juliangruber/balanced-match</a>
1475
+ </td
1476
+ </tr>
1477
+ <tr>
1487
1478
  <td><a href="https://npmjs.com/package/base32.js">base32.js</a></td>
1488
1479
  <td>0.0.1</td>
1489
1480
  <td>MIT</td>
@@ -1545,7 +1536,7 @@
1545
1536
  </tr>
1546
1537
  <tr>
1547
1538
  <td><a href="https://npmjs.com/package/bn.js">bn.js</a></td>
1548
- <td>4.12.2</td>
1539
+ <td>4.12.3</td>
1549
1540
  <td>MIT</td>
1550
1541
  <td>Fedor Indutny</td>
1551
1542
  <td>fedor@indutny.com</td>
@@ -1584,6 +1575,16 @@
1584
1575
  </td
1585
1576
  </tr>
1586
1577
  <tr>
1578
+ <td><a href="https://npmjs.com/package/brace-expansion">brace-expansion</a></td>
1579
+ <td>5.0.3</td>
1580
+ <td>MIT</td>
1581
+ <td></td>
1582
+ <td></td>
1583
+ <td>
1584
+ <a href="https://github.com/juliangruber/brace-expansion">github.com/juliangruber/brace-expansion</a>
1585
+ </td
1586
+ </tr>
1587
+ <tr>
1587
1588
  <td><a href="https://npmjs.com/package/braces">braces</a></td>
1588
1589
  <td>3.0.3</td>
1589
1590
  <td>MIT</td>
@@ -1605,7 +1606,7 @@
1605
1606
  </tr>
1606
1607
  <tr>
1607
1608
  <td><a href="https://npmjs.com/package/bullmq">bullmq</a></td>
1608
- <td>5.67.3</td>
1609
+ <td>5.70.1</td>
1609
1610
  <td>MIT</td>
1610
1611
  <td>Taskforce.sh Inc.</td>
1611
1612
  <td></td>
@@ -2235,7 +2236,7 @@
2235
2236
  </tr>
2236
2237
  <tr>
2237
2238
  <td><a href="https://npmjs.com/package/dotenv">dotenv</a></td>
2238
- <td>17.2.4</td>
2239
+ <td>17.3.1</td>
2239
2240
  <td>BSD-2-Clause</td>
2240
2241
  <td></td>
2241
2242
  <td></td>
@@ -2484,7 +2485,7 @@
2484
2485
  </tr>
2485
2486
  <tr>
2486
2487
  <td><a href="https://npmjs.com/package/eslint-scope">eslint-scope</a></td>
2487
- <td>9.1.0</td>
2488
+ <td>9.1.1</td>
2488
2489
  <td>BSD-2-Clause</td>
2489
2490
  <td></td>
2490
2491
  <td></td>
@@ -2504,7 +2505,7 @@
2504
2505
  </tr>
2505
2506
  <tr>
2506
2507
  <td><a href="https://npmjs.com/package/eslint-visitor-keys">eslint-visitor-keys</a></td>
2507
- <td>5.0.0</td>
2508
+ <td>5.0.1</td>
2508
2509
  <td>Apache-2.0</td>
2509
2510
  <td>Toru Nagashima</td>
2510
2511
  <td></td>
@@ -2514,7 +2515,7 @@
2514
2515
  </tr>
2515
2516
  <tr>
2516
2517
  <td><a href="https://npmjs.com/package/eslint">eslint</a></td>
2517
- <td>10.0.0</td>
2518
+ <td>10.0.2</td>
2518
2519
  <td>MIT</td>
2519
2520
  <td>Nicholas C. Zakas</td>
2520
2521
  <td>nicholas+npm@nczconsulting.com</td>
@@ -2534,7 +2535,7 @@
2534
2535
  </tr>
2535
2536
  <tr>
2536
2537
  <td><a href="https://npmjs.com/package/espree">espree</a></td>
2537
- <td>11.1.0</td>
2538
+ <td>11.1.1</td>
2538
2539
  <td>BSD-2-Clause</td>
2539
2540
  <td>Nicholas C. Zakas</td>
2540
2541
  <td>nicholas+npm@nczconsulting.com</td>
@@ -2744,7 +2745,7 @@
2744
2745
  </tr>
2745
2746
  <tr>
2746
2747
  <td><a href="https://npmjs.com/package/filelist">filelist</a></td>
2747
- <td>1.0.4</td>
2748
+ <td>1.0.6</td>
2748
2749
  <td>Apache-2.0</td>
2749
2750
  <td>Matthew Eernisse</td>
2750
2751
  <td>mde@fleegix.org</td>
@@ -3464,7 +3465,7 @@
3464
3465
  </tr>
3465
3466
  <tr>
3466
3467
  <td><a href="https://npmjs.com/package/imapflow">imapflow</a></td>
3467
- <td>1.2.9</td>
3468
+ <td>1.2.10</td>
3468
3469
  <td>MIT</td>
3469
3470
  <td>Postal Systems O&#xDC;</td>
3470
3471
  <td></td>
@@ -3533,6 +3534,16 @@
3533
3534
  </td
3534
3535
  </tr>
3535
3536
  <tr>
3537
+ <td><a href="https://npmjs.com/package/ioredfour">ioredfour</a></td>
3538
+ <td>1.4.0</td>
3539
+ <td>MIT</td>
3540
+ <td>Mixmax</td>
3541
+ <td>hello@mixmax.com</td>
3542
+ <td>
3543
+ <a href="https://github.com/nodemailer/ioredfour">github.com/nodemailer/ioredfour</a>
3544
+ </td
3545
+ </tr>
3546
+ <tr>
3536
3547
  <td><a href="https://npmjs.com/package/ioredis">ioredis</a></td>
3537
3548
  <td>5.3.2</td>
3538
3549
  <td>MIT</td>
@@ -3544,7 +3555,7 @@
3544
3555
  </tr>
3545
3556
  <tr>
3546
3557
  <td><a href="https://npmjs.com/package/ioredis">ioredis</a></td>
3547
- <td>5.9.2</td>
3558
+ <td>5.9.3</td>
3548
3559
  <td>MIT</td>
3549
3560
  <td>Zihua Li</td>
3550
3561
  <td>i@zihua.li</td>
@@ -4084,7 +4095,7 @@
4084
4095
  </tr>
4085
4096
  <tr>
4086
4097
  <td><a href="https://npmjs.com/package/lru-cache">lru-cache</a></td>
4087
- <td>11.2.5</td>
4098
+ <td>11.2.6</td>
4088
4099
  <td>BlueOak-1.0.0</td>
4089
4100
  <td>Isaac Z. Schlueter</td>
4090
4101
  <td>i@izs.me</td>
@@ -4274,7 +4285,7 @@
4274
4285
  </tr>
4275
4286
  <tr>
4276
4287
  <td><a href="https://npmjs.com/package/minimatch">minimatch</a></td>
4277
- <td>10.1.2</td>
4288
+ <td>10.2.4</td>
4278
4289
  <td>BlueOak-1.0.0</td>
4279
4290
  <td>Isaac Z. Schlueter</td>
4280
4291
  <td>i@izs.me</td>
@@ -4294,7 +4305,7 @@
4294
4305
  </tr>
4295
4306
  <tr>
4296
4307
  <td><a href="https://npmjs.com/package/minimatch">minimatch</a></td>
4297
- <td>3.1.2</td>
4308
+ <td>3.1.5</td>
4298
4309
  <td>ISC</td>
4299
4310
  <td>Isaac Z. Schlueter</td>
4300
4311
  <td>i@izs.me</td>
@@ -4304,7 +4315,7 @@
4304
4315
  </tr>
4305
4316
  <tr>
4306
4317
  <td><a href="https://npmjs.com/package/minimatch">minimatch</a></td>
4307
- <td>5.1.6</td>
4318
+ <td>5.1.9</td>
4308
4319
  <td>ISC</td>
4309
4320
  <td>Isaac Z. Schlueter</td>
4310
4321
  <td>i@izs.me</td>
@@ -4494,16 +4505,6 @@
4494
4505
  </tr>
4495
4506
  <tr>
4496
4507
  <td><a href="https://npmjs.com/package/nodemailer">nodemailer</a></td>
4497
- <td>8.0.0</td>
4498
- <td>MIT-0</td>
4499
- <td>Andris Reinman</td>
4500
- <td></td>
4501
- <td>
4502
- <a href="https://github.com/nodemailer/nodemailer">github.com/nodemailer/nodemailer</a>
4503
- </td
4504
- </tr>
4505
- <tr>
4506
- <td><a href="https://npmjs.com/package/nodemailer">nodemailer</a></td>
4507
4508
  <td>8.0.1</td>
4508
4509
  <td>MIT-0</td>
4509
4510
  <td>Andris Reinman</td>
@@ -4964,7 +4965,7 @@
4964
4965
  </tr>
4965
4966
  <tr>
4966
4967
  <td><a href="https://npmjs.com/package/pino">pino</a></td>
4967
- <td>10.3.0</td>
4968
+ <td>10.3.1</td>
4968
4969
  <td>MIT</td>
4969
4970
  <td>Matteo Collina</td>
4970
4971
  <td>hello@matteocollina.com</td>
@@ -5174,7 +5175,7 @@
5174
5175
  </tr>
5175
5176
  <tr>
5176
5177
  <td><a href="https://npmjs.com/package/qs">qs</a></td>
5177
- <td>6.14.1</td>
5178
+ <td>6.15.0</td>
5178
5179
  <td>BSD-3-Clause</td>
5179
5180
  <td></td>
5180
5181
  <td></td>
@@ -5334,7 +5335,7 @@
5334
5335
  </tr>
5335
5336
  <tr>
5336
5337
  <td><a href="https://npmjs.com/package/resedit">resedit</a></td>
5337
- <td>3.0.1</td>
5338
+ <td>3.0.2</td>
5338
5339
  <td>MIT</td>
5339
5340
  <td>jet</td>
5340
5341
  <td></td>
@@ -5474,7 +5475,7 @@
5474
5475
  </tr>
5475
5476
  <tr>
5476
5477
  <td><a href="https://npmjs.com/package/semver">semver</a></td>
5477
- <td>7.7.3</td>
5478
+ <td>7.7.4</td>
5478
5479
  <td>ISC</td>
5479
5480
  <td>GitHub Inc.</td>
5480
5481
  <td></td>
@@ -5614,7 +5615,7 @@
5614
5615
  </tr>
5615
5616
  <tr>
5616
5617
  <td><a href="https://npmjs.com/package/sonic-boom">sonic-boom</a></td>
5617
- <td>4.2.0</td>
5618
+ <td>4.2.1</td>
5618
5619
  <td>MIT</td>
5619
5620
  <td>Matteo Collina</td>
5620
5621
  <td>hello@matteocollina.com</td>
@@ -5684,7 +5685,7 @@
5684
5685
  </tr>
5685
5686
  <tr>
5686
5687
  <td><a href="https://npmjs.com/package/spdx-license-ids">spdx-license-ids</a></td>
5687
- <td>3.0.22</td>
5688
+ <td>3.0.23</td>
5688
5689
  <td>CC0-1.0</td>
5689
5690
  <td>Shinnosuke Watanabe</td>
5690
5691
  <td></td>
@@ -5914,7 +5915,7 @@
5914
5915
  </tr>
5915
5916
  <tr>
5916
5917
  <td><a href="https://npmjs.com/package/swagger-ui-dist">swagger-ui-dist</a></td>
5917
- <td>5.31.0</td>
5918
+ <td>5.31.2</td>
5918
5919
  <td>Apache-2.0</td>
5919
5920
  <td></td>
5920
5921
  <td></td>
@@ -5994,7 +5995,7 @@
5994
5995
  </tr>
5995
5996
  <tr>
5996
5997
  <td><a href="https://npmjs.com/package/tldts-core">tldts-core</a></td>
5997
- <td>7.0.22</td>
5998
+ <td>7.0.23</td>
5998
5999
  <td>MIT</td>
5999
6000
  <td>R&#xE9;mi Berson</td>
6000
6001
  <td></td>
@@ -6004,7 +6005,7 @@
6004
6005
  </tr>
6005
6006
  <tr>
6006
6007
  <td><a href="https://npmjs.com/package/tldts">tldts</a></td>
6007
- <td>7.0.22</td>
6008
+ <td>7.0.23</td>
6008
6009
  <td>MIT</td>
6009
6010
  <td>R&#xE9;mi Berson</td>
6010
6011
  <td></td>
@@ -6184,7 +6185,7 @@
6184
6185
  </tr>
6185
6186
  <tr>
6186
6187
  <td><a href="https://npmjs.com/package/undici">undici</a></td>
6187
- <td>7.21.0</td>
6188
+ <td>7.22.0</td>
6188
6189
  <td>MIT</td>
6189
6190
  <td></td>
6190
6191
  <td></td>
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Content-Type: text/plain; charset=ascii\n"
4
- "POT-Creation-Date: 2026-02-07 10:08+0000\n"
4
+ "POT-Creation-Date: 2026-02-26 12:37+0000\n"
5
5
 
6
6
  #: views/config/license.hbs:45
7
7
  msgid "%d day"
@@ -84,14 +84,6 @@ msgstr ""
84
84
  msgid "Continue"
85
85
  msgstr ""
86
86
 
87
- #: views/accounts/register/index.hbs:2
88
- msgid "Choose your email account provider"
89
- msgstr ""
90
-
91
- #: views/accounts/register/index.hbs:15
92
- msgid "Standard IMAP"
93
- msgstr ""
94
-
95
87
  #: views/accounts/register/imap-server.hbs:19
96
88
  msgid "IMAP"
97
89
  msgstr ""
@@ -207,6 +199,14 @@ msgstr ""
207
199
  msgid "Request failed."
208
200
  msgstr ""
209
201
 
202
+ #: views/accounts/register/index.hbs:2
203
+ msgid "Choose your email account provider"
204
+ msgstr ""
205
+
206
+ #: views/accounts/register/index.hbs:15
207
+ msgid "Standard IMAP"
208
+ msgstr ""
209
+
210
210
  #: lib/routes-ui.js:523
211
211
  #: lib/ui-routes/account-routes.js:60
212
212
  msgid "Delegated"
@@ -253,7 +253,7 @@ msgstr ""
253
253
  #: lib/routes-ui.js:4874
254
254
  #: lib/routes-ui.js:5121
255
255
  #: lib/routes-ui.js:5157
256
- #: workers/api.js:2414
256
+ #: workers/api.js:2417
257
257
  #: lib/ui-routes/account-routes.js:549
258
258
  #: lib/ui-routes/account-routes.js:585
259
259
  #: lib/ui-routes/account-routes.js:702
@@ -327,7 +327,7 @@ msgid "Unexpected server response"
327
327
  msgstr ""
328
328
 
329
329
  #: lib/routes-ui.js:7693
330
- #: lib/tools.js:942
330
+ #: lib/tools.js:950
331
331
  msgid "Invalid input"
332
332
  msgstr ""
333
333
 
@@ -338,21 +338,21 @@ msgstr ""
338
338
  msgid "Subscription Management"
339
339
  msgstr ""
340
340
 
341
- #: workers/api.js:6908
342
- #: workers/api.js:7024
341
+ #: workers/api.js:6911
342
+ #: workers/api.js:7027
343
343
  msgid "Requested page not found"
344
344
  msgstr ""
345
345
 
346
- #: workers/api.js:6909
346
+ #: workers/api.js:6912
347
347
  msgid "Something went wrong"
348
348
  msgstr ""
349
349
 
350
- #: lib/tools.js:1645
350
+ #: lib/tools.js:1653
351
351
  msgid "Signature validation failed"
352
352
  msgstr ""
353
353
 
354
- #: lib/tools.js:1654
355
- #: lib/tools.js:1659
354
+ #: lib/tools.js:1662
355
+ #: lib/tools.js:1667
356
356
  msgid "Invalid or expired account setup URL"
357
357
  msgstr ""
358
358
 
package/workers/api.js CHANGED
@@ -40,7 +40,8 @@ const {
40
40
  getBoolean,
41
41
  loadTlsConfig,
42
42
  httpAgent,
43
- reloadHttpProxyAgent
43
+ reloadHttpProxyAgent,
44
+ resolveOAuthErrorStatus
44
45
  } = require('../lib/tools');
45
46
  const { matchIp, detectAutomatedRequest } = require('../lib/utils/network');
46
47
 
@@ -1496,7 +1497,8 @@ Include your token in requests using one of these methods:
1496
1497
  path: '/static/{file*}',
1497
1498
  handler: {
1498
1499
  directory: {
1499
- path: pathlib.join(__dirname, '..', 'static')
1500
+ path: pathlib.join(__dirname, '..', 'static'),
1501
+ index: false
1500
1502
  }
1501
1503
  },
1502
1504
  options: {
@@ -2145,7 +2147,7 @@ Include your token in requests using one of these methods:
2145
2147
  message = response.error.message;
2146
2148
  }
2147
2149
 
2148
- let error = Boom.boomify(new Error(message), { statusCode: response.error.code });
2150
+ let error = Boom.boomify(new Error(message), { statusCode: resolveOAuthErrorStatus(response.error, err) });
2149
2151
  throw error;
2150
2152
  }
2151
2153
  throw err;
@@ -2239,7 +2241,7 @@ Include your token in requests using one of these methods:
2239
2241
  let response = err.oauthRequest && err.oauthRequest.response;
2240
2242
  if (response && response.error) {
2241
2243
  let message = response.error.message;
2242
- let error = Boom.boomify(new Error(message), { statusCode: response.error.code });
2244
+ let error = Boom.boomify(new Error(message), { statusCode: resolveOAuthErrorStatus(response.error, err) });
2243
2245
  throw error;
2244
2246
  }
2245
2247
  throw err;
@@ -2328,7 +2330,7 @@ Include your token in requests using one of these methods:
2328
2330
  let response = err.oauthRequest && err.oauthRequest.response;
2329
2331
  if (response && response.error) {
2330
2332
  let message = response.error.message;
2331
- let error = Boom.boomify(new Error(message), { statusCode: response.error.code });
2333
+ let error = Boom.boomify(new Error(message), { statusCode: resolveOAuthErrorStatus(response.error, err) });
2332
2334
  throw error;
2333
2335
  }
2334
2336
  throw err;