whisperfish / presage

A high-level Rust library to help write clients for the Signal Messenger.
GNU Affero General Public License v3.0
123 stars 24 forks source link

Propagate `QueueEmpty` signal #231

Open Schmiddiii opened 10 months ago

Schmiddiii commented 10 months ago

This prevents a few nice-to-have features of clients, e.g. notifying only messages which have not yet read or needlessly reordering the channels a lot when there are many messages to receive.

Note that the InitialSync is not really a perfect solution for that, e.g. if the device has been running for a while but was disconnected from the internet, InitialSync probably will not really help.

gferon commented 8 months ago

That sounds like a fine idea, but it would also mean retiring the ReceivingMode enum altogether and letting clients perform the right operations themselves. I suppose Manager::sync_contacts would also have to go.

Schmiddiii commented 8 months ago

I am fine with retiring ReceiveingMode and Manager::sync_contacts. Flare currently does not use any of those.

ThatOneCalculator commented 6 months ago

Please fix, as this lack of functionality can lead to detremental results. Ref: https://gitlab.com/schmiddi-on-mobile/flare/-/issues/202