Trouble with RSS and Atom Feeds

Using auto_discovery_link_tags() to generate feed links is outputting the following in Omeka 2.1:

example.com/items/browse?output=rss2
example.com/items/browse?output=atom

This, I think, is the expected behavior. Oddly, though, the resulting items are displayed using my theme's items/browse template rather than displaying the usual RSS-XML output.

Note that this seems to only impact my 2.x sites. The 1.5 sites with the same theme (updated for 2.x but with essentially identical markup) on the same server behave as expected.

Any ideas?

Anyone have any ideas about this?

Do you have files like items/browse.rss2.php or items/browse.atom.php in your theme?

Nope, but I do have a plugin that adds a custom output format, consisting of the following class and some associated views, though none of this looks like it should matter:

class MobileJsonPlugin extends Omeka_Plugin_AbstractPlugin
{
   protected $_filters = array(
      'response_contexts',
      'action_contexts' );

   public function filterResponseContexts( $contexts )
   {
      $contexts['mobile-json'] = array(
         'suffix' => 'mjson',
         'headers' => array( 'Content-Type' => 'application/json' ) );
      return $contexts;
   }

   public function filterActionContexts( $contexts, $args ) {
      $controller = $args['controller'];

      if( is_a( $controller, 'ItemsController' ) or
          is_a( $controller, 'TourBuilder_ToursController' ) )
      {
         $contexts['browse'] = array( 'mobile-json' );
         $contexts['show'] = array( 'mobile-json' );
      }

      return $contexts;
   }
}

I think this is the issue. Of course, you could confirm it by deactivating the plugin and observing the results.

For the ItemsController, your filterActionContexts is making mobile-json the only context for browse and show, instead of adding it.

Ah, I hadn't spotted that. Thank you!