This was intended to be an update with no apparent feature change but then I went and improved the Filtered Post feature. The main intent was only to make the DOM Observer, that part of the program that watches the web page for changes to detect new or deleted (filtered) posts and act upon them. This is needed by the “Show Filtered Posts” and “Filter Users” features and each of them had a separate DOM Observer. So not only is this less efficient but with other planned features soon there would be three or more Observers in action. So the fix was to add a common DOM Observer that different features could attach too.
The functional changes were to
- Delete all present posts from users on the Filter Users list when first filtered.
- Add a display of the number of posts that have been deleted by the “Filter Users” feature.
- Clear the text in the user box when “Add User” is pressed.
- As reported by jw58, that the title of the extension was misspelled as “Fox Formum Helper”.
Yeah, I know, the text is a little big but what is happening is the table is picking up the table styling already used by livefyre. Spent a little time trying to get around that but without success so left it go with that.
I noticed one problem with the way the Filter Users feature is implemented in the U/I, though. So am open to suggestions on how to best resolve that. The intent of the feature was to allow people to have common users they block saved in their settings and be able to conveniently add new ones on the fly but perhaps not have them saved persistently. Else if you use this feature a lot you might end up with many, many users in there.
Note: the number of users being filtered is just an issue with U/I convenience. It’s not expensive on the processing side when deciding whether to delete a post unless you ended up with 1000’s of users you were checking on each new post to see if it should be filtered.
This is the problem. There is the stock set of people to block offered as the default when you first load the extension. These are all bot accounts that make nonsense replies on selected users posts:
But lets say none of these is posting and you want to add a couple other users but keep the list short. So you remove these bot accounts and add several others knowing that if you only select “Apply” and not “Save Options” that your persistent settings won’t be saved:
You apply these changes and see that these users posts are being filtered so you say, “Life is good!”. But then user4 shows up and is a huge spammer. So you open the extension again to add this user and what do you see? Those same stock bots as before. So you say, “grrrr, I’ll delete those again and add user4”:
Then you click apply and then see in the list of users whose posts are being filtered in the Fox Forum Web Page all of a sudden user1, user2 and user3 are not being filtered any more. What happened???
The issue is that the U/I code in the popup and the service code for the extension have little access to each other. The reason being is the options page runs as a separate web page than service code which is manipulating the Fox News Page. The access they have to each other is message passing. The options page sends a message to the service code when the apply button is clicked telling the service code what the present options are. The service code then acts on this message. But when the options page is dismissed and then reopened it has lost the state of the options which had been sent to the the service code but not saved.
So, for now, my advice is when using the filter users feature to always press “Save options” before applying any changes to the filtered user list.
To fix this for the long term there are a few options, that I really like none of, so have not decided the best way to handle it.
- Always persist the settings for all features on “Apply”. So, lose the save options button.
- Persist the filtered user list on “Apply”
- Ask the service code for the present list of users it is filtering and add these in to the filtered users read from the settings.
- Do (3) and also have a second column of check boxes indicating which filtered users to remember in settings. (I hate this one)
Open to suggestions on how to best accomplish this.