         performSegue(withIdentifier: SegueIdentifier.settings.rawValue, sender: nil)
     }
     
+    @IBAction func showLastError() {
+        guard let lastError = self.lastError else { return }
+        
+        showAlert(title: "Failed to update data", message: lastError.localizedDescription)
+    }
+
     // MARK: - UITableViewDataSource
     
     override func numberOfSections(in tableView: UITableView) -> Int {

    // MARK: - Update UI
    
    private func updateStatusBarForLastUpdate(_ lastUpdate: Date?) {
        guard let lastUpdate = lastUpdate else {
            progressContainerView.textLabel.text = "No data found: fetch required"
            return

        
        tableView.register(DashboardTableViewHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: ReuseIdentifier.header.rawValue)
        
        let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(showLastError))
        let toolbarBounds = CGRect(origin: .zero, size: self.navigationController?.toolbar.frame.size ?? .zero)
        progressContainerView = ProgressReportingBarButtonItemView(frame: toolbarBounds)
        progressContainerView.textLabel.addGestureRecognizer(tapGestureRecognizer)
        progressContainerView.textLabel.isUserInteractionEnabled = true
        
        if #available(iOS 11.0, *) {
            let searchResultViewController = storyboard?.instantiateViewController(withIdentifier: "SubjectSearch") as! SubjectSearchTableViewController
