anchor.diff:            redirectUrl = ipnsUrl;
           }
         } else {
  -        var ipnsAvailable = _requestIpnsAvailability(url.host);
  -        _domainCache[cacheKey] = new DomainCacheItem(new DateTime.now(), ipnsAvailable);
  -        if (ipnsAvailable) {
  -          redirectUrl = ipnsUrl;
  +        try {
  +          var ipnsAvailable = _requestIpnsAvailability(url.host);
  +          _domainCache[cacheKey] = new DomainCacheItem(new DateTime.now(), ipnsAvailable);
  +          if (ipnsAvailable) {
  +            redirectUrl = ipnsUrl;
  +          }
  +        } catch (_) {
  +          _enableErrorMode();
           }
         }
       }
  
positive.code:     _setChromeRequestListener();
    }
  
  
    String _handleIpfsRequest(JsObject data, Uri ipfsUrl) {
      if (ipfsUrl.scheme == 'file') {
        ipfsUrl = _parseFileUrl(data['url']);
      }
  
      // Chrome doesn't like file based apps much. Always use the HTTP API.
  
negative.code: 
    void _initSettingsListener() {
      settings.changes.listen((_) {
        if (_errorMode) {
          _disableErrorMode();
        } else {
          _setIpfsRequestErrorListener();
          _setChromeRequestListener();
        }
      });
    }
  
  