home *** CD-ROM | disk | FTP | other *** search
- > A design question that other IMAP clients must have dealt
- > with...
- > Many of the bugs in Mailstrom have to do with the expunge process.
- > Every kind of window (reads, replies, browsers, attachments)
- > rely on the IMAP message number, and this changes upon
- > expunge.
- > So there are several approaches...
-
-
- > * always use the MessageID field as the key and lookup IMAP
- > number either from the server or a client index. [sounds
- > cumbersome, but is the db-esque way to do it]
-
- Won't work, actually. The message-id is only unique from the sender's
- viewpoint. If I send you a message, and also Cc: you in the same message (via a
- different mail host) you'll have two messages from me with the same message-id.
- How do you determine which one you're getting rid of? (It's also quite likely
- you'll want to keep one and toss the duplicate, making the question even more
- relevant).
- I'm sympathetic. The sequencing really makes disconnected operation
- difficult to shoehorn into the existing protocol.
-
- > * everytime an expunge response comes, propagate a message to
- > all objects telling them to decrement their number if its <
- > the response. [this seems to be what the protocol promotes,
- > but makes an O(n) into O(n^2), and sends a huge number of
- > messages thru out the existing objects on every pass]
-
- Actually, only the server access functions need this number. It can get
- outdated on certain objects without penalty. Those objects exist as snapshots
- of what once was. For instance, a "read window" which already has text in it
- can still keep the number it had when it was opened. (It just can't -use- that
- number). Subtle distinction.
-
- >
- > * assemble all expunge replies, build a temporary message map,
- > and run all windows' references to any message thru a remap
- > function [the current solution, has bugs. Is fixable, but will
- > get even more messy if sorted, filtered views are added]
-
- Isn't this the same mechanism for implementing sort/filter engines?
-
- (Maybe you're going about this backwards. Instead of having every object
- maintain its current message number, perhaps the message should just know about
- all of its objects...).
-
- > * Only expunge at close. Use filtered views to hide deleted
- > messages, rather than actually expunging. [this sidesteps the
- > problem, and fits with trash can metaphor, until the user
- > wants to empty trash, which could only be done on
- > disconnection. This matches my user profile, which is why I rarely
- > see the pbs others report in Mailstrom. ]
- > I'm leaning towards the last of these, but am interested in
- > others' opinions. Would you as users mind if deleted messages
- > disappeared from the list, and only appeared in a view under
- > the trash can?
- > Adam
-
- You can do this kind of thing with xlview (it's actually my preferred
- mode of running). The complication would be forcing it on folks. When I come in
- after a weekend, I sometimes have 20 megs of new mail. I try to get rid of it
- quickly. If I'm forced to disconnect in order to actually get rid of it, it
- makes the MUA less conveneient, IMHO.; and also it is less likely that
- space-conscious sys-admins are going to want to propogate it. Some people NEVER
- disconnect, unless something crashes. How do you solve the expunge problem for
- them?
-
- >
- > -------------------------------------------------- Adam
- > Treister <treister@forsythe.stanford.edu> Polya Hall 205,
- > Stanford CA 94305 - (415) 725-9449
- > --------------------------------------------------
- >
-
- mike
-
-
-
-