Re: [Evolution-hackers] Junk filtering controls and logic are confusing



On Sat, 2013-11-23 at 13:10 -0500, Matthew Barnes wrote:
On Sat, 2013-11-23 at 10:48 -0600, Michael Ekstrand wrote:
The particular working of the junk filtering pane (Preferences -> Mail
Preferences -> Junk) is confusing, and the functionality it controls is
(A) hard to understand and (B) arguably incorrect.

Indeed.  You're wading into a mess here.

The junk filtering logic bounces between Camel and Evolution.  Camel's
filtering (both junk and otherwise) is highly dependent on Evolution and
at some point I'd like to move it all to Evolution and get Camel out of
the filtering business entirely.  (The relevant Camel APIs badly need an
overhaul as well, as they're ancient, error-handling is pretty much non-
existent and they block like crazy.)

I have noticed. It has been interesting trying to figure out how junk
control filtering works.  It does seem, though, that the junk_test
function really does implement the heart of the junk-filtering logic,
which has been somewhat encouraging.

In particular, a few things I am immediately interested in making
happen:
     1. Making address book checks preempt spam header checks
     2. (maybe) figuring out why the spam header check isn't doing
        anything
     3. Making spam header & address book checks work without a spam
        filtering plugin
     4. Making spam filtering UI disable things to show how it works

Sounds great to me!

I've cooked up a pair of not-yet-tested patches that address (1) by
moving the address book check before the header check and (3) by moving
the 'do we have a junk filter?' test to right before the junk filter is
actually moved.

So far I'm thinking about in terms of minimal changes to make things
work better.  I'm open to considering more invasive changes, but I need
to understand the Evolution/Camel interface better, and don't have a
huge amount of free time right now.  Enough to scratch a few itches,
though :).

Moving junk filtering to a per-account option long term does sound like
a good move, but in the short term, I propose the following reworking of
the junk config UI:

      * Keep 'Check incoming messages for junk' as the top, top-level
        check box.  Have it enable/disable the following options, which
        are indented under it:
              * 'Skip junk detection if sender is in my address book'
                      * 'Lookup in local address book only'
              * 'Check custom headers for junk flags'
              * 'Use external junk filter' <drop-down> (invisible if no
                plugin available, junk filter config UI is subordinate
                to this checkbox)
      * 'Delete junk messages' as top-level sibling of 'Check…', at the
        bottom of the pane
      * Get rid of the 'Option is ignored…' notice

Thoughts?

- Michael

-- 
Michael Ekstrand — http://elehack.net/

Attachment: signature.asc
Description: This is a digitally signed message part



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