Outgoing messages not respecting chat's disappearing-messages timer → recipient sees "This message will not disappear" / older-version warning (v0.7.1)
维护者通常 5 天内回复
还没有人认领这个 Issue。
评估
调研方向
首先跟踪 /send/* 端点,以及 whatsmeow app-state disappearing-message 设置的同步和应用方式。使用启用消失消息的聊天验证其行为,然后确认已发送的消息携带匹配的 ephemeral 过期时间,且不会显示收件人警告。
由索引模型根据 Issue 内容生成。
描述
Summary
When a recipient's chat has disappearing messages enabled, messages sent through any /send/* endpoint arrive without the chat's ephemeral timer. The recipient's WhatsApp then shows an info ("i") badge on the message and the dialog:
"This message will not disappear."
"The person may be using an older version of WhatsApp."
The message is delivered and readable — this is cosmetic — but it makes API-sent messages look broken/untrustworthy to end users, and the "older version of WhatsApp" wording is misleading (the sender is the API).
Environment
- Evolution Go v0.7.1 (latest tag, self-hosted)
- whatsmeow-based stack
- Recipient: regular/consumer WhatsApp with disappearing messages turned on for that chat
Steps to reproduce
- On a consumer WhatsApp, enable disappearing messages for a chat with the connected instance's number.
- Send a plain message from the API:
POST /send/text { "number": "<recipient>", "text": "hello" } - Server responds
HTTP 200with a real message ID ("message":"success",Type: ExtendedTextMessage). - On the recipient device, the message arrives with an info "i" badge; tapping it shows "This message will not disappear / the person may be using an older version of WhatsApp."
Expected behavior
Outgoing messages should inherit the chat's disappearing-messages timer, i.e. be sent with the proper ephemeralExpiration / ContextInfo.Expiration (and EphemeralSettingTimestamp) matching the chat's app-state setting — so no warning is shown.
This is the same class of bug documented in Baileys: WhiskeySockets/Baileys#1687 — "Send message is not respecting chat disappearing mode" → "The message should be sent with chat default disappearing mode if ephemeralExpiration option is not set."
Suggested fix / questions
- Does the instance sync chat app-state (disappearing timer) and apply it on send? It appears not to.
- Could
/send/*either (a) auto-apply the chat's synced ephemeral timer, or (b) expose an optionalexpiration(seconds) field so callers can set it explicitly?
Notes
- Reproduced live; all
/send/*calls return200 successregardless, so the HTTP layer gives no signal that the ephemeral marker is missing. - Low severity (cosmetic), but affects perceived reliability of API-sent messages to any contact using disappearing messages.
- 主要语言
- Go
- 星标
- 890
- 派生
- 473
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
evolution-foundation/evolution-go 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
evolution-foundation/evolution-go#193 ·
维护者通常 5 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
evolution-foundation/evolution-go#104 ·
维护者通常 5 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 74/100
evolution-foundation/evolution-go#101 ·
维护者通常 5 天内回复
-
bug
难度 1/5 1 小时以内 新手友好度 88/100
evolution-foundation/evolution-go#97 · 2 条评论 ·
维护者通常 5 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
evolution-foundation/evolution-go#204 · 1 条评论 ·
维护者通常 5 天内回复
查看 evolution-foundation/evolution-go 的全部 Issue
相似的 Issue
-
area: global bug dx priority: low
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 68/100
grafana/mcp-grafana#1267 ·
维护者通常 1 天内回复
-
automation models
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
coverage-gap good-first-pattern help wanted
难度 2/5 1-3 小时 新手友好度 78/100
GoogleCloudPlatform/k8s-aibom#114 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
txn2/mcp-data-platform#1984 ·
维护者通常 1 天内回复