[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sup-talk] updated xapian experimental branch



I've pushed a few more commits to http://github.com/rlane/sup/tree/experimental

The major feature on this branch is the immediate label updates I've
mentioned before on the list. The bulk of the actual changes are
basically consequences of this feature:

Use of Xapian for thread relevance checks
 - Instead of hardcoding the policy into InboxMode
 - New 'z' key to clear irrelevant threads
  - Not strictly necessary, but removing messages in response to index
    events is difficult with the current UI code
  - Saves us from (half of the) adding/removing threads changes cursor_thread problem
 - Relevant messages added to thread-index-modes without reload

Async message state saving
 - Keeps the UI responsive
 - Prepares us for a sup-server future

Fallout from async message saving
 - UpdateManager messages handled in main event loop
  - Avoids many races but can lag UI unless we're careful

New, simpler undo implementation
 - Still needs work at a few use-sites to be completely correct

Let me know what you all think of these changes. I'll need to do a lot
of rebasing before this branch is clean enough to be merged.

A couple of bugs I know about:
  - Discarding drafts is disabled
  - Occasionally, new messages in an existing undisplayed thread fail to
    get added to the ThreadSet. I haven't been able to come up with a
    test case for this, so if someone wants to give that a shot it would
    be very helpful.
_______________________________________________
sup-talk mailing list
sup-talk@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-talk