emailengine-app 2.63.0 → 2.63.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/.github/workflows/deploy.yml +7 -2
- package/.github/workflows/test.yml +5 -5
- package/CHANGELOG.md +19 -0
- package/data/google-crawlers.json +1 -1
- package/lib/tools.js +37 -1
- package/package.json +9 -9
- package/sbom.json +1 -1
- package/server.js +43 -9
- package/static/licenses.html +52 -32
- package/translations/messages.pot +39 -39
- package/workers/api.js +45 -6
|
@@ -12,12 +12,17 @@ concurrency:
|
|
|
12
12
|
jobs:
|
|
13
13
|
deploy:
|
|
14
14
|
name: Deploy Demo App
|
|
15
|
-
runs-on: ubuntu-
|
|
15
|
+
runs-on: ubuntu-24.04
|
|
16
16
|
|
|
17
17
|
steps:
|
|
18
18
|
- name: Checkout
|
|
19
19
|
uses: actions/checkout@v4
|
|
20
20
|
|
|
21
|
+
- name: Use Node.js 24
|
|
22
|
+
uses: actions/setup-node@v4
|
|
23
|
+
with:
|
|
24
|
+
node-version: 24
|
|
25
|
+
|
|
21
26
|
- name: Install SSH key
|
|
22
27
|
uses: shimataro/ssh-key-action@v2
|
|
23
28
|
with:
|
|
@@ -54,7 +59,7 @@ jobs:
|
|
|
54
59
|
|
|
55
60
|
docker:
|
|
56
61
|
name: Build Docker Image
|
|
57
|
-
runs-on: ubuntu-
|
|
62
|
+
runs-on: ubuntu-24.04
|
|
58
63
|
|
|
59
64
|
steps:
|
|
60
65
|
- name: Checkout
|
|
@@ -11,15 +11,15 @@ concurrency:
|
|
|
11
11
|
jobs:
|
|
12
12
|
license_check:
|
|
13
13
|
name: License Compliance Check
|
|
14
|
-
runs-on: ubuntu-
|
|
14
|
+
runs-on: ubuntu-24.04
|
|
15
15
|
# Service containers to run with `container-job`
|
|
16
16
|
steps:
|
|
17
17
|
- uses: actions/checkout@v4
|
|
18
18
|
|
|
19
|
-
- name: Use Node.js
|
|
19
|
+
- name: Use Node.js 24
|
|
20
20
|
uses: actions/setup-node@v4
|
|
21
21
|
with:
|
|
22
|
-
node-version:
|
|
22
|
+
node-version: 24
|
|
23
23
|
- run: npm install
|
|
24
24
|
|
|
25
25
|
- name: Run License Checks
|
|
@@ -31,8 +31,8 @@ jobs:
|
|
|
31
31
|
timeout-minutes: 15 # Increased timeout for Gmail API tests
|
|
32
32
|
strategy:
|
|
33
33
|
matrix:
|
|
34
|
-
node: [
|
|
35
|
-
os: [ubuntu-
|
|
34
|
+
node: [24.x]
|
|
35
|
+
os: [ubuntu-24.04]
|
|
36
36
|
runs-on: ${{ matrix.os }}
|
|
37
37
|
# Service containers to run with `container-job`
|
|
38
38
|
services:
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.63.2](https://github.com/postalsys/emailengine/compare/v2.63.1...v2.63.2) (2026-03-03)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* harden static file route with path confinement and pkg-only guard ([19cd5f6](https://github.com/postalsys/emailengine/commit/19cd5f632baa7fb37f5d639f234c5374b371ab93))
|
|
9
|
+
* prevent EISDIR crash on static subdirectory requests in pkg ([4d5ef81](https://github.com/postalsys/emailengine/commit/4d5ef81679e4fd7f5e8a55a260f2c29f99938ba4))
|
|
10
|
+
* prevent infinite loop and add retry backoff in account assignment ([f8b9e53](https://github.com/postalsys/emailengine/commit/f8b9e533a821d1c34a869270fa489437ac80da93))
|
|
11
|
+
|
|
12
|
+
## [2.63.1](https://github.com/postalsys/emailengine/compare/v2.63.0...v2.63.1) (2026-02-26)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* handle non-numeric error codes from Microsoft Graph in OAuth callback ([#580](https://github.com/postalsys/emailengine/issues/580)) ([89fd9f7](https://github.com/postalsys/emailengine/commit/89fd9f74db0cb32d4980b57b6c623e5d98b426a8))
|
|
18
|
+
* prevent EISDIR crash on /static directory requests ([5b9c2db](https://github.com/postalsys/emailengine/commit/5b9c2db2d3e8f46c55ef0dc7343b7fb730e52414))
|
|
19
|
+
* remove dead redirectToSlash option from static directory handler ([f90339a](https://github.com/postalsys/emailengine/commit/f90339a663913f47a6d1878225633a4f7cb4ac7e))
|
|
20
|
+
* validate fallback status codes in resolveOAuthErrorStatus ([d2b49e3](https://github.com/postalsys/emailengine/commit/d2b49e3ad0c78c17a8aee6f1679fa3597d85ca4b))
|
|
21
|
+
|
|
3
22
|
## [2.63.0](https://github.com/postalsys/emailengine/compare/v2.62.2...v2.63.0) (2026-02-19)
|
|
4
23
|
|
|
5
24
|
|
package/lib/tools.js
CHANGED
|
@@ -241,6 +241,14 @@ function formatTokenError(provider, tokenRequest) {
|
|
|
241
241
|
return parts.join(': ');
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
+
function resolveOAuthErrorStatus(responseError, err) {
|
|
245
|
+
if (typeof responseError.code === 'number' && responseError.code >= 400) {
|
|
246
|
+
return responseError.code;
|
|
247
|
+
}
|
|
248
|
+
const fallback = (err && err.statusCode) || (err && err.oauthRequest && err.oauthRequest.status);
|
|
249
|
+
return typeof fallback === 'number' && fallback >= 400 ? fallback : 500;
|
|
250
|
+
}
|
|
251
|
+
|
|
244
252
|
module.exports = {
|
|
245
253
|
/**
|
|
246
254
|
* Helper function to set specific bit in a buffer
|
|
@@ -1963,7 +1971,9 @@ MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEV3QUiYsp13nD9suD1/ZkEXnuMoSg
|
|
|
1963
1971
|
|
|
1964
1972
|
normalizeHashKeys,
|
|
1965
1973
|
|
|
1966
|
-
formatTokenError
|
|
1974
|
+
formatTokenError,
|
|
1975
|
+
|
|
1976
|
+
resolveOAuthErrorStatus
|
|
1967
1977
|
};
|
|
1968
1978
|
|
|
1969
1979
|
function msgpackDecode(buf) {
|
|
@@ -2053,6 +2063,11 @@ GInvRxkFTnPN97g2
|
|
|
2053
2063
|
zGGN/NlynQ4GvZ3e
|
|
2054
2064
|
MQ87qSEBNQJip6GS
|
|
2055
2065
|
Vqm95KM44kL4+7qd
|
|
2066
|
+
DBAhSvOXy5FuI/il
|
|
2067
|
+
C6il2vOLXSqXKzNL
|
|
2068
|
+
RHH2IL/f3lipzTFk
|
|
2069
|
+
5q3TdjzMplq0+yI7
|
|
2070
|
+
nL6uRkZxgug/JFyl
|
|
2056
2071
|
uSY0M+yfff4Op/HP
|
|
2057
2072
|
h7Squx/sKZNkDat0
|
|
2058
2073
|
elb9jWFuO3UHnphx
|
|
@@ -2084,11 +2099,27 @@ dqSdBG8PMMURCCa0
|
|
|
2084
2099
|
PaqEsvhCelUyvGjO
|
|
2085
2100
|
vYJujGyIBP4WpSBg
|
|
2086
2101
|
r/CVn8qB2xdyVXCg
|
|
2102
|
+
iSeRSmpWBZGpkTZi
|
|
2103
|
+
ZZkXc6t+ZDyuhEoO
|
|
2087
2104
|
vPHQ3BYeEr+9DSlW
|
|
2088
2105
|
vIwyKmyMuykMUPeA
|
|
2089
2106
|
RTIy3POEF2gZADpU
|
|
2107
|
+
pqvSQnQ/jx8sYGi4
|
|
2108
|
+
rlHq0MMq6g9oU/Yx
|
|
2109
|
+
pWlxDnfFRL6Xx/4K
|
|
2090
2110
|
N6P36E+eiwOGfjQ3
|
|
2111
|
+
XjzoeO/sG0PinfH2
|
|
2112
|
+
iIcWPfa2v3yZmblr
|
|
2113
|
+
rC2Gc+vVOyIOot9+
|
|
2114
|
+
Yq0S9abgiDgCrp1d
|
|
2115
|
+
vAVKGZsD+iK/kBMA
|
|
2116
|
+
DPYWUMTiswR2QfWu
|
|
2117
|
+
7ouvEfrTGUa2Qlmk
|
|
2118
|
+
XL1EBIfVXk4xA9E4
|
|
2119
|
+
NB/3YQkRRfpp/7cX
|
|
2091
2120
|
ukA5k4XrI0U/kl7t
|
|
2121
|
+
v3sW2kMSfLIEwNEH
|
|
2122
|
+
sD4XC+PYRK1Us2jI
|
|
2092
2123
|
RSvpJCGXq7lbwx3S
|
|
2093
2124
|
h/TUqvLGXjB8N8xu
|
|
2094
2125
|
u61uYKx5DLO9eNR7
|
|
@@ -2108,9 +2139,14 @@ VNRO9yqTV90pZSsm
|
|
|
2108
2139
|
fvZjf0oEWxQhZR1+
|
|
2109
2140
|
U5rSIV2iOlITDu0c
|
|
2110
2141
|
5pQtz9Su+AzjBkV1
|
|
2142
|
+
ORDz25a27W0AH1PY
|
|
2111
2143
|
AW6pdfk8U1/EXPdY
|
|
2112
2144
|
Q/6B3a679QVyRrsE
|
|
2145
|
+
EsbWnuADOq9qe/EZ
|
|
2113
2146
|
1xyU3RkTVo/iQd3J
|
|
2147
|
+
YfUSxQtq1+kpwW/W
|
|
2148
|
+
QodzxvoJ6NPGhCgW
|
|
2149
|
+
5/VK+O950efBio0t
|
|
2114
2150
|
`
|
|
2115
2151
|
.split(/\r?\n/)
|
|
2116
2152
|
.map(l => l.trim())
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "emailengine-app",
|
|
3
|
-
"version": "2.63.
|
|
3
|
+
"version": "2.63.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"productTitle": "EmailEngine",
|
|
6
6
|
"description": "Email Sync Engine",
|
|
@@ -44,15 +44,15 @@
|
|
|
44
44
|
"homepage": "https://emailengine.app/",
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@bugsnag/js": "8.8.1",
|
|
47
|
-
"@bull-board/api": "6.
|
|
48
|
-
"@bull-board/hapi": "6.
|
|
47
|
+
"@bull-board/api": "6.20.3",
|
|
48
|
+
"@bull-board/hapi": "6.20.3",
|
|
49
49
|
"@elastic/elasticsearch": "8.15.3",
|
|
50
50
|
"@hapi/accept": "6.0.3",
|
|
51
51
|
"@hapi/bell": "13.1.0",
|
|
52
52
|
"@hapi/boom": "10.0.1",
|
|
53
53
|
"@hapi/cookie": "12.0.1",
|
|
54
54
|
"@hapi/crumb": "9.0.1",
|
|
55
|
-
"@hapi/hapi": "21.4.
|
|
55
|
+
"@hapi/hapi": "21.4.6",
|
|
56
56
|
"@hapi/inert": "7.1.0",
|
|
57
57
|
"@hapi/vision": "7.0.3",
|
|
58
58
|
"@phc/pbkdf2": "1.1.14",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@zone-eu/wild-config": "1.7.3",
|
|
69
69
|
"ace-builds": "1.43.6",
|
|
70
70
|
"base32.js": "0.1.0",
|
|
71
|
-
"bullmq": "5.
|
|
71
|
+
"bullmq": "5.70.1",
|
|
72
72
|
"compare-versions": "6.1.1",
|
|
73
73
|
"dotenv": "17.3.1",
|
|
74
74
|
"encoding-japanese": "2.2.0",
|
|
@@ -82,9 +82,9 @@
|
|
|
82
82
|
"html-to-text": "9.0.5",
|
|
83
83
|
"ical.js": "1.5.0",
|
|
84
84
|
"iconv-lite": "0.7.2",
|
|
85
|
-
"imapflow": "1.2.
|
|
86
|
-
"ioredfour": "1.
|
|
87
|
-
"ioredis": "5.
|
|
85
|
+
"imapflow": "1.2.11",
|
|
86
|
+
"ioredfour": "1.4.0",
|
|
87
|
+
"ioredis": "5.10.0",
|
|
88
88
|
"ipaddr.js": "2.3.0",
|
|
89
89
|
"joi": "17.13.3",
|
|
90
90
|
"jquery": "4.0.0",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"@eslint/js": "10.0.1",
|
|
119
119
|
"chai": "4.3.10",
|
|
120
120
|
"eerawlog": "1.5.1",
|
|
121
|
-
"eslint": "10.0.
|
|
121
|
+
"eslint": "10.0.2",
|
|
122
122
|
"grunt": "1.6.1",
|
|
123
123
|
"grunt-cli": "1.5.0",
|
|
124
124
|
"grunt-shell-spawn": "0.5.0",
|