have one, central C++ folder listener, and have all JS based listeners register with it in a way to minimize times a folder event goes across XPConnect (and copies strings) this would be for performance. I want to measure how costly our folderListener is in msgMail3PaneWindow.js (and messageWindow.js) first of all, it gets notified on any folder change, and then decides to ignore unless it's certain types (like OnItemIntPropertyChanged) and that change is for our currently selected folder. the problem with that design is we have to cross XPConnect (and copy strings!) a whole bunch more than we really need to. what I'd want to do is this: have one central listener, in C++, and have things register with it, especially the js listeners, so that we only cross xp connect in the minimal case. to test this theory, we'd remove the listener and see if there was any performance gain, to see if persuing this would be worth it.
this affects multiple 3 pane and having multiple stand alone msg windows open, as having those windows opens means we have more listeners, and more windows that get notified on events that they just ignore.
the fix for #104252 accomplishes what this was intended to do. *** This bug has been marked as a duplicate of 104252 ***