OK.. i had an idea i've been meaning for weeks to submit but never got around to it. I would like to request the following changes to Message Inbox:
Insert this between the current line 42 and the current line 43:
my $filterRule = ( $query->param('filterrule') ? '' : ' NOT' ); # include if true exclude if false
Replace the current lines 52 and 53 with this:
$limits .= ' AND$filterRule author_user='.$filterUser if $filterUser;
$limits .= ' AND$filterRule msgtext like "['.uc($filterGroup).']%" ' if $filterGroup;

Replace the current line 60 with this:
$str .= '<tr><td colspan="3"><select name="filterrule"><option value="1"' . ( $filterRule ? '' : ' selected' ) . '>include<option value="0"' . ( $filterRule ? ' selected' : '' ) . '>exclude</select> show from user(group) ' . $query->textfield(-name=>'fromuser') . "</td></tr>\n";
ignore everything below this point. it isn't important, and i'm leaving it in only becuase it was in the first version of this post. the above code will replace the "only" in the "only show from user/group" in the message inbox with a menu giving the option of it being either "only" or "never". i would very, very much like to be able to filter out all of my edev messages in my inbox for just a moment so that i can safely delete all without accidentally clearing out any personal messages..
This is kind of a simplified version of my original idea, which i haven't gotten around to coding yet. You can stop reading now, but if you have too much time on your hands you can read on and i will tell you what i originally wanted to do; something like this:
  • Come up with something where the simple "show only from user/group" thing in the Message Inbox had the word only replaced with a menu offering either only or never. (This is all the above code actually does.)
  • Make it where you can choose more than one user/group for inclusion/exclusion at once, by seperating the names with commas. ("never show msgs from edev,content editors...") (this prolly isn't worth the bother)
  • Put in the Preferences page a bit where you can select a default setting for the 'show only/never from user/group' thingy in message inbox
  • Take the code in Message Inbox that filters away unwanted messages, and copy it into the Chatterbox nodelet; then add to Preferences a bit to set the only/never user/group defaults for the chatbox.
  • Alter both Message Inbox and Chatterbox so that they tell you how many messages you have that aren't being shown.
This way, people who are members of a high-traffic group like edev or content editors could set their chatterbox to only show messages from non-group members, and skip to the message inbox to see their group messages. Or the other way around-- see everything in chatterbox, skip to message inbox whenever they need to quickly see what elwse they've gotten.

Whatever.

Just a thought.

P.S. : I still suspect that { the recent heavy edev/content editors message traffic / people who are non-zealous in clearing out their boxes (like (usually) me) / the fact the database has to sort and pull from these people's couple hundred messages at every single one of these people's pageviews } is a huge source of the recent surge of lag. Is this kind of accurate? If so, would it make sense to keep group msgs in a seperate dbtable from the normal msgs, then give people the option of not seeing any group msgs in chatterbox, so that the heavy db-querying only has to happen when they go to message inbox?

Or am i just on crack? Hmm. ^_^ anyway.. having an "exclude" filter in msg inbox would certainly be nice.. so if some nice/bored god could make the changes up top (i'm pretty sure i made no mistakes..), it would make this crackhead happy.