Files
chatmail-core/deltachat-ffi
B. Petersen a151235a7b feat: mark messages as "fresh"
this adds an api to make the newest incoming message of a chat as "fresh",
so that UI can offer a "mark chat unread" option as usual for messengers
(eg. swipe right on iOS toggels between "read" and "unread").

"mark unread" is one of the most requested open features,
used by many ppl to organize their every day messenger usage -
tho "pinning" and "saved messages" are similar,
it seems to be missed often.

we follow a very simple approach here
and just reset the state to `MessageState::InFresh`.
this does not introduce new states or flows.

therefore, chats without any incoming message cannot be marked as fresh.
in practise, this is probably not really an issue,
as the "mark fresh" is usually used to undo a "mark noticed" operation -
and then you have incoming message.
also, most status messages as "all messages are e2ee" count as incoming.

to avoid double sending of MDN,
we remove `Param::WantsMdn` once the MDN is scheduled.
in case MDN are used for syncing, MDN is still sent as before.

many other messenger show a "badge without number",
if we want that as well,
we can always track the "manually set as fresh" state in a parameter.
but for now, it is fine without and showing a "1", which alsso makes sense as badges may be summed up.

there is an iOS pr that uses this new feature,
jsonrpc is left out until api is settled.

also out of scope is synchronisation -
main reason is that "mark noticed" is not synced as well, so we avoid an imbalance here.
both, "mark noticed" as well as "mark fresh" should be synced however,
as soon as this feature is merged.
2026-03-13 19:50:50 +01:00
..
2026-03-13 19:50:50 +01:00
2019-04-28 18:06:26 +03:00
2022-07-01 12:20:20 +02:00
2026-02-27 01:16:34 +00:00
2026-03-13 19:50:50 +01:00
2019-08-26 19:17:58 +02:00

Delta Chat C Interface

Installation

see Installing libdeltachat system wide in ../README.md

Documentation

To generate the C Interface documentation, call doxygen in the deltachat-ffi directory and browse the html subdirectory.

If thinks work, the documentation is also available online at https://c.delta.chat