Support disappearing (temporary) messages
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 22/100
Research direction
Start with AGENTS.md for the privacy rules, then find where the archive stores each chat's ephemeral_expiration and where outgoing messages are built, since they currently send without an expiration. Check the whatsapp-rust APIs the issue lists: SendOptions::with_ephemeral_expiration, Client::set_ephemeral, and Event::DisappearingModeChanged. Settle the open question on deleting versus hiding expired messages before coding. Done means replies follow the chat timer, the timer shows in the header, and the user can change it.
Written by the indexing model from the issue text.
Description
Support disappearing (temporary) messages: show the timer on a chat, send with it, and let the user change it.
What whatsapp-rust already provides
Checked against the pinned revision ae3cefd:
- Sending:
SendOptions::with_ephemeral_expiration(seconds)setscontextInfo.expirationon outgoing messages. - Chat timer:
Client::set_ephemeral(1:1 chats,0disables) andGroups::set_ephemeral(groups). - Account default:
Client::set_default_disappearing_mode. - Receiving: messages carry their expiration, and
Event::DisappearingModeChangedreports a contact changing their default. - Keep in chat:
keep_messagekeeps or un-keeps a message in a disappearing chat for everyone.
What ZapTide does today
The archive already stores each chat's timer (ephemeral_expiration and its timestamp, from history sync and group notifications), and polls refuse to send in an ephemeral chat. There is no UI for it and outgoing messages are sent without an expiration, so replies in a disappearing chat do not follow the chat's timer.
Proposed scope
- Send every message in a chat with the chat's stored timer.
- Show the timer in the chat header or details (for example "Disappearing messages: 24 hours").
- Let the user change it from chat details: off, 24 hours, 7 days, 90 days (1:1 and groups, groups only for admins).
- Remove messages locally once they expire, and show a system line when the timer changes.
- Optional: keep a message from disappearing.
- Optional: account default under Preferences.
Open questions
- Whether expired messages should be deleted from the encrypted archive or only hidden.
- The privacy rules in
AGENTS.mdapply: no message content in logs.
- Dominant language
- Rust
- Stars
- 29
- Forks
- 1
- Avg merge
- 2h 35m
- Merged PRs (30d)
- 33
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from luminusOS/zaptide
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
-
Appimage - Some icons are not showingPossibly taken A pull request linked to this issue is open or already merged. Openbug
Difficulty 3/5 1-2 days Newbie friendliness 48/100
luminusOS/zaptide#77 · 3 comments ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 15/100
luminusOS/zaptide#65 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
luminusOS/zaptide#63 · 10 comments ·
Maintainers usually reply within 1 day
All issues in luminusOS/zaptide
Similar issues
-
accounts bug decoding
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
wboayue/rust-ibapi#1088 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
`mise doctor` Shows Not Installed Lazy Tools as ProblemsPossibly taken @jdx claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
area:kernel needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
bherbruck/solvecraft#7179 · 1 comment ·
-
priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 61/100
storytold/photocraft#9704 · 3 comments ·
Maintainers usually reply within 1 day