Hi Peter and Jack: Am 27.05.17 23:48 schrieb(en) Peter Bloomfield:
Yes, we need to discuss the UI. As for creating new outgoing messages: when any message is sent, the whole queue in Outbox is sent, except for any messages with the FLAGGED flag (or DELETED, of course). Essentially, any message in Outbox that is not FLAGGED is viewed as queued for sending, regardless of its history.
What about the following: (1) Add a new config option "Try to send queued messages every ... minutes" which can be disabled completely or configured by the user for a timeout (default: 15 minutes). The next items apply only if the option is enabled. Ready-to-send messages means messages in the outbox which are neither flagged nor deleted. (2) When balsa is started, count the ready-to-send messages. Launch the timer if the count is > 0. (3) User selects to queue a newly composed message: Stop the timer if it is running, and add the new message to outbox. Start the timer again unless a send operation is running in a separate thread. (4) User selects to send a newly composed message: Stop the timer if it is running, and add the new message to outbox. If a send operation is running in a separate thread, set a "retrigger send" flag. Otherwise, launch the send operation for all ready-to-send messages. (5) Send operation (either from sending a new message, or from manually sending the queue): Stop the timer if it is running. Launch the network check. On success start the thread to send all ready-to-send messages. If no transient error occurred and the "retrigger send" flag is set, clear it and again send all ready-to-send messages, until either an error occurred or the flag is not set. In all cases, re-start the timer if at least one ready-to-send message is left in outbox. (6) Manually un-flagging a message in the outbox does not affect the timer. I.e. the user in this case shall manually trigger the send operation (or items 2, 3 or 4 above will trigger the send operation). What do you think, would this reasonably catch all use cases? Cheers, Albrecht.
Attachment:
pgpLMkYKJaenb.pgp
Description: PGP signature