parser_common_syndication module doesn't store parsed feed data in its cache. So when server returns code 304, meaning that it was no changes on server since last feed download, module tries to load this data from cache and founds no data in it. This looks like mistake in "if" condition.
Here the part of original code of parser_common_syndication_feedapi_feed() method:

  $parsed_feed = _parser_common_syndication_feedapi_parse($xml);
  if (is_object($parsed_feed) && !empty($parsed_feed->from_cache)) {
    _parser_common_syndication_cache_set($url, $parsed_feed);
  }

In this code module wants to put data to cache only when it was loaded from cache. Nonsense.
To fix this code !empty($parsed_feed->from_cache) should be changed to empty($parsed_feed->from_cache)

CommentFileSizeAuthor
feedapi.patch581 bytesandermt

Comments

aron novak’s picture

Status: Patch (to be ported) » Fixed

It's committed, thank you for catching this!

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.