Drupal is a registered trademark of Dries Buytaert
drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). editoria11y 2.2.22 Minor update available for module editoria11y (2.2.22). ai 1.2.13 Minor update available for module ai (1.2.13). ai 1.3.2 Minor update available for module ai (1.3.2). moderated_content_bulk_publish 2.0.51 Minor update available for module moderated_content_bulk_publish (2.0.51). moderated_content_bulk_publish 2.0.50 Minor update available for module moderated_content_bulk_publish (2.0.50). editoria11y 2.2.21 Minor update available for module editoria11y (2.2.21). eca 3.1.0 Minor update available for module eca (3.1.0). sophron 3.1.1 Minor update available for module sophron (3.1.1). ai 1.3.1 Minor update available for module ai (1.3.1). seven 2.0.0-beta6 New beta version released for theme seven (2.0.0-beta6). seven 1.0.1-beta1 First beta version released for theme seven (1.0.1-beta1). ui_patterns 8.x-1.15 Minor update available for module ui_patterns (8.x-1.15). layout_paragraphs 3.0.0-beta1 First beta version released for module layout_paragraphs (3.0.0-beta1). raven 7.3.8 Minor update available for module raven (7.3.8). bamboo_twig 6.0.7 Minor update available for module bamboo_twig (6.0.7).

Search API Safe Render prevents session-related fatal errors that occur when Search API indexes content containing embedded views during Drupal's post-request (terminate) phase.

When a node is saved, Search API can render it for indexing after the HTTP response has already been sent. If the rendered content includes embedded views (e.g. listing blocks), those views attempt to build exposed forms, which triggers session_start(). Since headers have already been sent, this fails with a RuntimeException and indexing breaks silently.

This module takes a minimal approach: it only suppresses the exposed form widget (the source of the error) while letting views execute their queries and render results normally.

Features

  • Suppresses only exposed forms – Views still execute their queries and render results normally, so view content is fully included in the search index.
  • Works on all indexes – Ships as a locked, hidden Search API processor that is automatically active on every index.
  • Zero configuration – Install the module and the problem is solved. No settings, no admin pages.

When to use this module: You need this module if your site uses Search API with the Rendered item field and your content includes paragraphs (e.g. via Layout Paragraphs or Paragraphs module) that embed Views displays. The symptom is a logged warning like:

RuntimeException while trying to render item entity:node/XXX: Failed to start the session because headers have already been sent

Post-Installation

After enabling, save a node that previously triggered the error and confirm the warning no longer appears in Admin → Reports → Recent log messages. The processor is locked and hidden – it won't appear on the Processors tab but is active on all indexes automatically.

Additional Requirements

  • Search API (search_api) – Core dependency. This module extends Search API's processor system.
  • Views (views) – Drupal core module. Required because this module implements a Views hook to suppress exposed form rendering during indexing.

Supporting this Module

This module was developed by LOOM GmbH.

Activity

Total releases
1
First release
Apr 2026
Latest release
12 hours ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.x-dev Dev Apr 9, 2026