diff --git a/client/harmony/entry/src/main/ets/api/PushService.ets b/client/harmony/entry/src/main/ets/api/PushService.ets index ee1b4f0..3fb1dc3 100644 --- a/client/harmony/entry/src/main/ets/api/PushService.ets +++ b/client/harmony/entry/src/main/ets/api/PushService.ets @@ -244,9 +244,14 @@ export class PushService { * * ★ 这里原本传的是 `getActiveAccount()!.server` —— 那是**服务器地址** * (`AccountInfo.server`,值长这样:`https://mail.jianfgit.xyz/api/v1`), - * 不是会话 id。服务端对这个字段**不做格式校验**、而且当前**只写不读** - * (投递时用的是**邮件自己的** `session_id`),所以它不会立刻报错 —— - * 只会在库里静静存一条**假的**会话 id,等哪天真按它路由时把人送到别处。 + * 不是会话 id。服务端对这个字段**不做格式校验**(只 `TrimSpace`、且允许为空), + * 所以它不会 400、不影响收信、也不进任何日志 —— + * 只会在 `push_tokens` 里存一条**假的**会话 id,而 `GET /me/devices/push-token` + * 还会把它**原样回给客户端**(`handler/push.go` 的 items 里带 `session_id`)。 + * 投递本身暂不受影响:发通知用的是**邮件自己的** `session_id` + * (`notify/mail.go` 构造 `push.NewMail{SessionID: m.SessionID}`), + * 而 `dispatch` 只用 token 的 `Provider`/`Token`。 + * ⇒ **这个字段存在的唯一目的就是"点通知回到那条会话",而它存的值是错的。** * "不会立刻炸"正是这种错最值得先修的原因:它不报错,只是让数据开始说谎。 * * 等客户端真的有了"当前会话"(打开某条会话时),再在这里补报一次真实 id ——