empiricompany / maho-ignition
Error pages and diagnostics integration for Maho Commerce using Spatie Ignition.
Package info
github.com/empiricompany/maho-ignition
Type:maho-module
pkg:composer/empiricompany/maho-ignition
Requires
- php: >=8.3
- composer-runtime-api: ^2.0
- spatie/ignition: ^1.15.1
Requires (Dev)
Suggests
- openai-php/client: OpenAI API client for Ignition's OpenAI solution provider.
Provides
None
Conflicts
None
Replaces
None
README
Integrate Spatie Ignition error pages, optional OpenAI solutions, and optional Flare reporting into Maho.
Requirements
- PHP 8.3 or newer
- Maho with the
mage_run_installed_exceptionandmage_run_exceptionevents spatie/ignition1.15.1 or newer within the 1.x series
Installation
Install the module with Composer:
composer require empiricompany/maho-ignition
The package is a Maho module published as empiricompany/maho-ignition.
Configuration
Open System > Configuration > Advanced > Developer > Ignition Settings.
Available settings include:
- Enabled — Enable or disable Ignition error pages.
- Default Editor — Select the editor used by Ignition (default:
clipboard). - Default Theme — Select
auto,light, ordark(default:auto). - Save Custom Settings in Session — Allow session-based editor and theme overrides.
- Enable AI-Generated Solutions — Enable OpenAI-powered solutions.
- OpenAI API Key — Provide the key used by the optional OpenAI integration.
- Enable Flare — Send integration errors to Flare.
- Flare API Key — Provide the key for the Flare project.
- Anonymize IP — Anonymize IP addresses sent to Flare.
The Ignition UI is available only when Maho developer mode is enabled. Flare reporting is configured separately and can also send reports while developer mode is enabled; enabling Flare does not make the Ignition UI available in non-developer mode.
The OpenAI integration is optional. Enable AI-generated solutions only after installing the additional client:
composer require openai-php/client
openai-php/client is required for the AI solutions provider, but is not
required for the Ignition UI or Flare integration.
Runtime error and Flare reporting limits
Some runtime PHP errors can render Ignition but are not sent to Flare:
Ignition uses Maho's handler/renderer, while Flare applies Spatie's lifecycle
and environment guards. Maho's mage_run_installed_exception and
mage_run_exception hooks cover only exceptions caught by Mage::run().
Pre-bootstrap errors, parse errors, and pre-bootstrap fatals are not interceptable. The developer-mode path is only an attempt, not a guarantee; no Maho patch is required. Check the Flare dashboard and PHP/application logs separately; never log the Flare key.
Ignition configuration endpoint
The POST /_ignition/update-config endpoint is available through the
developer/ignition path and accepts a JSON request body. The implementation
accepts only these configuration keys:
theme—auto,light, ordark.editor— one of the editor options exposed by Ignition.
Screenshots
| Ignition error page | Flare |
|---|---|
| ) |
License
This module is released under the Open Software License 3.0 (OSL-3.0). See LICENSE.txt.