[haiku-development] Re: [GSoC proposal] IMAP FS - A few queries

Truls Becken <truls.becken@xxxxxxxxx> wrote:
> 2011/4/9 Jonas Sundström <jonas@xxxxxxxxxxx>:
 ...
> > And I wouldn't mind that the unified trash purges
> > all deleted mail from all mounted imap accounts.
>
> Fine, but would you mind if freeing up BFS disk space
> and purging mails marked for deletion were also unified?
> And that when you want to undelete mail you have to look
> in the trash, where it's mixed with all kinds of other files?

I see it as a minor problem. Tracker already lets you empty parts of
Trash, and sort by location (Original name), kind and date. A few steps
of manual work, granted. We could implement per-volume emptying.

I don't see having imap-fs always mounted as a strict need.
If you need to do a lot of trashing you could probably choose to not
have imap-fs mounted during that time.

 ...
> > BTW, how would the Mail application deal with getting the
> > full body of mail files
 ...
> Would it hurt user experience if reading the file blocked
> for up to a few seconds?

It would, if Mail isn't adapted to provide a meaningful hint to
what's happening.

But I think it would be better for the user experience to have
the imap-fs provide enough information for Mail to first open the
partial mail, unequivocally decide that it is partial, and then
be able to offer the user the -choice- to download the full message,
if the user hasn't already configured Mail to do so.

To have Mail block on reading would be a bit crude, and it would
necessiate always showing some initial visual feedback at launch
or after some short timeout, (e.g a barberpole and a message)
which would be meaningless in the non-partial case, let alone mail
received by e.g. POP3.

(BTW, do we have a special MAIL:status attribute value for partial
mail? If not, how about "Preview", or "Partial" I guess.)

> This happens in a thread that doesn't produce visible
> output until the content is available anyway, doesn't it?

Generally speaking threads block a lot, even GUI threads,
but most of the time it's not noticeable because it doesn't block
long enough. A well-behaved app should at the very least deal with
all expected blocking.

/Jonas


Other related posts: