I also think that #3 is great. It's true that having to close the messages every time is quite bothering, but fading error messages can negatively affect the user experience. So, letting the user choose and configure this sounds good.
I also think that #3 is great. It's true that having to close the messages every time is quite bothering, but fading error messages can negatively affect the user experience. So, letting the user choose and configure this sounds good.