docs: def update(self, force=False):
          """Fetch new posts from the server.
  
          Arguments:
              force (bool): Force a thread update, even if thread has 404'd.
  
          Returns:
              int: How many new posts have been fetched.
          """
  
          # The thread has already 404'ed, this function shouldn't do anything anymore.
          if self.is_404 and not force:
              return 0
  
          if self._last_modified:
              headers = {'If-Modified-Since': self._last_modified}
          else:
              headers = None
  
          # random connection errors, just return 0 and try again later
          try:
              res = self._board._requests_session.get(self._api_url, headers=headers)
          except:
              # try again later
              return 0
  
          # 304 Not Modified, no new posts.
          if res.status_code == 304:
              return 0
  
          # 404 Not Found, thread died.
          elif res.status_code == 404:
              self.is_404 = True
              # remove post from cache, because it's gone.
              self._board._thread_cache.pop(self.id, None)
              return 0
  
          elif res.status_code == 200:
              # If we somehow 404'ed, we should put ourself back in the cache.
              if self.is_404:
                  self.is_404 = False
                  self._board._thread_cache[self.id] = self
  
              # Remove
              self.want_update = False
              self.omitted_images = 0
              self.omitted_posts = 0
  
              self._last_modified = res.headers['Last-Modified']
              posts = res.json()['posts']
  
              original_post_count = len(self.replies)
              self.topic = Post(self, posts[0])
  
              if self.last_reply_id and not force:
                  self.replies.extend(Post(self, p) for p in posts if p['no'] > self.last_reply_id)
              else:
                  self.replies[:] = [Post(self, p) for p in posts[1:]]
  
              new_post_count = len(self.replies)
              post_count_delta = new_post_count - original_post_count
              if not post_count_delta:
                  return 0
  
              self.last_reply_id = self.replies[-1].post_number
  
              return post_count_delta
  
          else:
              res.raise_for_status()