"host-blacklist": null doesn't pull from the existing blacklist
I've been experimenting with this and is seems if you leave "host-blacklist": null in the config.json it doesn't grab from the current blacklist in SelfControl. It seems to not block anything. When I add "host-blacklist": ["twitter.com", "facebook.com"] it works.
That's strange. I'm setting the blacklist through the defaults framework (NSUserDefaults) and for me it uses the same blacklist as SelfControl. Could you please check if SelfControl now has the same blacklist as the host-blacklist config setting, after the scheduled blocking is finished? There is a good chance that there is a problem with the user account executing SelfControl.
Just checked org.eyebeam.SelfControl.plist and yes it does have the same blacklist I specified in the array.
Thanks for the info! I'm on it.
This bug is tricky!
When you start SelfControl and just edit the Blacklist and close it right after, its defaults appear to be correctly set. You may check this with defaults read org.eyebeam.SelfControl HostBlacklist.
Now, the problem is, when Auto-SelfControl is run as a daemon and launches SelfControl's terminal program, both Auto-SelfControl and SelfControl might not see the previous changes in the user defaults and somehow have still access to the older version (even as SelfControl was closed and the defaults have been written/synchronized). The strange thing is I can't reproduce the bug when I execute the python script through the terminal with sudo but letting it run as a daemon produces the buggy behavior.
I've also tried to execute another python script from within the daemonized python script with user privileges but that makes no difference.
What does help is either setting the host-blacklist in the config setting, as you already pointed out, or letting SelfControl run after changing the blacklist.
I'm not really happy with this workarounds, but at the moment I'm out of ideas and don't have enough time. I will definitely come back to this later, but at the moment we have to live with this workaround, unless of course, you or someone else has an idea how to solve this.
I've now added a general blacklist setting (with some other small improvements). So now it should be more comfortable to manage the blacklist directly with auto-selfcontrol.
I've now removed this feature from the documentation until I have a solution, but I'm not sure if it's that big a deal, as managing the blacklist with auto-selfcontrol seems feasible for me. I think it is better if I use my time to create a GUI for easier configuration/installation instead. Well, when I have time again :) Unfortunately, this could take a while.