diff --git a/gui/slick/images/network/artv.png b/gui/slick/images/network/artv.png
new file mode 100644
index 0000000000000000000000000000000000000000..43602d994d238ea863229b7d210c5ce1d9267e68
Binary files /dev/null and b/gui/slick/images/network/artv.png differ
diff --git a/gui/slick/images/network/d8.png b/gui/slick/images/network/d8.png
new file mode 100644
index 0000000000000000000000000000000000000000..2774f5f56c28e9108fa9bacbec8581965e688981
Binary files /dev/null and b/gui/slick/images/network/d8.png differ
diff --git a/gui/slick/images/network/explora.png b/gui/slick/images/network/explora.png
new file mode 100644
index 0000000000000000000000000000000000000000..43602d994d238ea863229b7d210c5ce1d9267e68
Binary files /dev/null and b/gui/slick/images/network/explora.png differ
diff --git a/gui/slick/images/network/historia.png b/gui/slick/images/network/historia.png
new file mode 100644
index 0000000000000000000000000000000000000000..33edc01a9dbb003a6e884080b18dfd1046b23a69
Binary files /dev/null and b/gui/slick/images/network/historia.png differ
diff --git a/sickbeard/logger.py b/sickbeard/logger.py
index bca39795f077234504aa4582eff8a9031e53b75c..a83581f594940d0348a96d03218e41fff4a81a53 100644
--- a/sickbeard/logger.py
+++ b/sickbeard/logger.py
@@ -142,7 +142,11 @@ class Logger(object):
         meThread = threading.currentThread().getName()
         message = meThread + u" :: " + msg
 
-        # pass exception information if debugging enabled
+        # Change the SSL error to a warning with a link to information about how to fix it.
+        check = re.sub(r'error \[Errno 1\] _ssl.c:\d{3}: error:\d{8}:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error', 'See: http://git.io/vJrkM', message)
+        if check is not message:
+            message = check
+            level = WARNING
 
         if level == ERROR:
             self.logger.exception(message, *args, **kwargs)
@@ -214,6 +218,7 @@ class Logger(object):
 
             # parse and submit errors to issue tracker
             for curError in sorted(classes.ErrorViewer.errors, key=lambda error: error.time, reverse=True)[:500]:
+
                 try:
                     title_Error = ss(str(curError.title))
                     if not len(title_Error) or title_Error == 'None':
diff --git a/sickbeard/postProcessor.py b/sickbeard/postProcessor.py
index fd82df824a5bbdddbe785c05d45423829b43b749..b8410174eeb76faeff0a7605d7ccdc3e7f09dfcf 100644
--- a/sickbeard/postProcessor.py
+++ b/sickbeard/postProcessor.py
@@ -1110,29 +1110,33 @@ class PostProcessor(object):
         # log it to history
         history.logDownload(ep_obj, self.file_path, new_ep_quality, self.release_group, new_ep_version)
 
-        # send notifications
-        notifiers.notify_download(ep_obj._format_pattern('%SN - %Sx%0E - %EN - %QN'))
-
-        # do the library update for KODI
-        notifiers.kodi_notifier.update_library(ep_obj.show.name)
-
-        # do the library update for Plex
-        notifiers.plex_notifier.update_library(ep_obj)
-
-        # do the library update for EMBY
-        notifiers.emby_notifier.update_library(ep_obj.show)
-
-        # do the library update for NMJ
-        # nmj_notifier kicks off its library update when the notify_download is issued (inside notifiers)
-
-        # do the library update for Synology Indexer
-        notifiers.synoindex_notifier.addFile(ep_obj.location)
-
-        # do the library update for pyTivo
-        notifiers.pytivo_notifier.update_library(ep_obj)
-
-        # do the library update for Trakt
-        notifiers.trakt_notifier.update_library(ep_obj)
+        #If any notification fails, don't stop postProcessor
+        try:
+            # send notifications
+            notifiers.notify_download(ep_obj._format_pattern('%SN - %Sx%0E - %EN - %QN'))
+    
+            # do the library update for KODI
+            notifiers.kodi_notifier.update_library(ep_obj.show.name)
+    
+            # do the library update for Plex
+            notifiers.plex_notifier.update_library(ep_obj)
+    
+            # do the library update for EMBY
+            notifiers.emby_notifier.update_library(ep_obj.show)
+    
+            # do the library update for NMJ
+            # nmj_notifier kicks off its library update when the notify_download is issued (inside notifiers)
+    
+            # do the library update for Synology Indexer
+            notifiers.synoindex_notifier.addFile(ep_obj.location)
+    
+            # do the library update for pyTivo
+            notifiers.pytivo_notifier.update_library(ep_obj)
+    
+            # do the library update for Trakt
+            notifiers.trakt_notifier.update_library(ep_obj)
+        except:
+            logger.log(u"Some notifications could not be sent. Continuing with postProcessing...")
 
         self._run_extra_scripts(ep_obj)
 
diff --git a/sickbeard/providers/hdbits.py b/sickbeard/providers/hdbits.py
index f40a014d446fc9c7c6fa5f4e03366ac13f08a2b7..5a0d512d42f030060037c71065f9d9d02517d6b4 100644
--- a/sickbeard/providers/hdbits.py
+++ b/sickbeard/providers/hdbits.py
@@ -87,6 +87,11 @@ class HDBitsProvider(generic.TorrentProvider):
 
         return (title, url)
 
+    def getQuality(self, item, anime=False):
+        title, url = self._get_title_and_url(item)
+        quality = Quality.sceneQuality(title, anime)
+        return quality
+
     def _doSearch(self, search_params, search_mode='eponly', epcount=0, age=0, epObj=None):
 
         #FIXME