Reformatted excerpts from Carl Worth's message of 2009-09-03: > But the above discussion of "killed" suggests that the mechanics > aren't at all like that. But that instead, labels are applied to > individual messages, and searches match individual messages and then > construct threads from the results. Is that more or less how things > work?
Yes. That's why killed is special; it requires work at threading time to drop threads in which any message has a killed label, regardless of whether that's the message that matched the query. > So is there a mismatch between the philosophy and the mechanics, or > did I just misunderstand the philosophy? Not sure. Maybe both. :) The philosophy is more about the UI, IMO, than specific implementation details (though obviosuly there's some trickle-up). The other way to implement this, FWIW, is to have labels automatically spread to all messages in a thread when they're applied. I think that is probably a better implementation, though it increases the cost at labeling time. I've been toying with this idea in the sup server code. > If not, it seems like it would be possible for a query like > "!label:killed" to do exactly what is wanted without needing any > special treatment for killed internally. I think the above implementation would allow this. -- William <[email protected]> _______________________________________________ sup-talk mailing list [email protected] http://rubyforge.org/mailman/listinfo/sup-talk
