dsh-email 0.14.5 → 0.14.6
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 +7 -0
- package/README.en.md +6 -0
- package/README.md +6 -0
- package/lib/settings.js +5 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.14.6(2026-10-02)
|
|
4
|
+
|
|
5
|
+
- 完成 [PR #18](https://github.com/STARDUSTLC666/dsh-email/pull/18) 的兼容合并:未修改的表单端点不再产出空对象,避免旧设置和不完整草稿覆盖配置文件里手动填写的 IMAP/SMTP 服务器。
|
|
6
|
+
- 保留 0.14.2 的共享端点归一化规则:Outlook 使用 587/STARTTLS;不含占位 host 的显式 465/TLS 设置、已修改的端口组合和新版 Harness 配置保持有效。
|
|
7
|
+
- 新增旧设置运行时和不完整草稿的服务器保留回归,感谢 SenkjM 提供修复方向。
|
|
8
|
+
- Windows / Node 24.16.0 下 297 项邮件测试通过;两项新增回归在修复前失败、修复后通过。未进行真实邮箱授权或 SMTP 投递验收。
|
|
9
|
+
|
|
3
10
|
## 0.14.5(2026-10-01)
|
|
4
11
|
|
|
5
12
|
- 修复 [#20](https://github.com/STARDUSTLC666/dsh-email/issues/20):具名账号的服务商预设不再被顶层共享服务器遮蔽;Gmail 不再因继承 Outlook 端点被误判为 OAuth2。保留账号显式端点、传输超时和旧单账号继承规则。
|
package/README.en.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# dsh-email
|
|
2
2
|
|
|
3
|
+
## 0.14.6 update (2026-10-02)
|
|
4
|
+
|
|
5
|
+
Completes [PR #18](https://github.com/STARDUSTLC666/dsh-email/pull/18): untouched saved form endpoints and partial drafts with empty endpoints preserve explicitly configured row IMAP/SMTP servers. The Outlook 587/STARTTLS fix and deliberate port/TLS overrides remain supported.
|
|
6
|
+
|
|
7
|
+
All 297 email tests pass on Windows / Node `24.16.0`. Both new server-preservation regressions failed before the fix and pass afterward. This change has not been validated through real mailbox login, OAuth2 authorization or delivery.
|
|
8
|
+
|
|
3
9
|
## 0.14.5 update (2026-10-01)
|
|
4
10
|
|
|
5
11
|
Fixes [#20](https://github.com/STARDUSTLC666/dsh-email/issues/20): a named account's provider selects its own servers, so Gmail no longer inherits shared Outlook endpoints or becomes an OAuth2 account. Card saves exclude form-derived shared endpoints. Explicit account endpoints and legacy single-account configuration remain supported; top-level sender aliases and login credentials now take effect. Connection failures identify the selected account and actual IMAP host and port, with echoed credentials redacted.
|
package/README.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# dsh-email
|
|
4
4
|
|
|
5
|
+
## 0.14.6 更新(2026-10-02)
|
|
6
|
+
|
|
7
|
+
完成 [PR #18](https://github.com/STARDUSTLC666/dsh-email/pull/18):旧设置里未修改的端点默认值,以及只包含空端点的不完整草稿,保留配置文件中手动填写的 IMAP/SMTP 服务器。沿用 Outlook 587/STARTTLS 修复,并保留用户明确指定的端口和 TLS 组合。
|
|
8
|
+
|
|
9
|
+
Windows / Node `24.16.0` 下 297 项邮件测试通过,新增两项服务器保留回归在修复前失败、修复后通过。本次未进行真实邮箱登录、OAuth2 授权或投递验收。
|
|
10
|
+
|
|
5
11
|
## 0.14.5 更新(2026-10-01)
|
|
6
12
|
|
|
7
13
|
修复 [#20](https://github.com/STARDUSTLC666/dsh-email/issues/20):具名账号选择自己的服务商后,使用该服务商的服务器;Gmail 不再继承共享 Outlook 端点并被误判为 OAuth2。账号卡片保存不再把默认账号端点写回共享配置。保留显式账号端点与旧单账号配置,同时修复顶层发送别名和登录凭据未生效的问题。连接失败显示所选账号及实际 IMAP 主机、端口,服务端回显的密码继续脱敏。
|
package/lib/settings.js
CHANGED
|
@@ -145,7 +145,9 @@ export function toEmailConfig(value, user) {
|
|
|
145
145
|
imap.port = imapValue.port;
|
|
146
146
|
if (isSet(imapKeys.secure) && isSet(imapValue.secure))
|
|
147
147
|
imap.secure = imapValue.secure;
|
|
148
|
-
|
|
148
|
+
// An empty endpoint must not erase the row's configured server during merge.
|
|
149
|
+
if (Object.keys(imap).length > 0)
|
|
150
|
+
out.imap = imap;
|
|
149
151
|
}
|
|
150
152
|
const smtpValue = user?.smtp?.host !== undefined && draft.smtp ? normalizeSettingsEndpoint(draft.smtp, 'smtp') : draft.smtp;
|
|
151
153
|
const smtpKeys = user === null ? smtpValue : user?.smtp;
|
|
@@ -157,7 +159,8 @@ export function toEmailConfig(value, user) {
|
|
|
157
159
|
smtp.port = smtpValue.port;
|
|
158
160
|
if (isSet(smtpKeys.secure) && isSet(smtpValue.secure))
|
|
159
161
|
smtp.secure = smtpValue.secure;
|
|
160
|
-
|
|
162
|
+
if (Object.keys(smtp).length > 0)
|
|
163
|
+
out.smtp = smtp;
|
|
161
164
|
}
|
|
162
165
|
return out;
|
|
163
166
|
}
|