A Matomo plugin that helps users find the right GitHub issue tracker for every installed feature, so they can report bugs and suggest improvements directly to developers — without having to search the web.
Warning
This plugin is experimental and was coded using Claude Code. It is provided without any warranty regarding quality, stability, or performance. This is a community project and is not officially supported by Matomo.
Matomo is built on a plugin architecture. Many features (reports, visualizations, tracking capabilities, admin tools) are developed by independent community developers and hosted on separate GitHub repositories. When a user encounters a bug or has a suggestion, they often have no idea where to go.
This plugin fixes that by providing a single, always up-to-date directory of all installed features and their support channels.
- Lists every installed Matomo feature (active and disabled) with its GitHub issue tracker link
- Automatically resolves issue tracker URLs from
plugin.jsonmetadata (support.issues,support.source,homepage) - Falls back to the main matomo-org/matomo repository for core bundled features
- Live search/filter to find a feature quickly
- Badges: Core, Theme, Disabled
- Any newly installed and activated feature appears automatically — no configuration needed
- Visible to all authenticated users (read-only users included) via the Help menu
- Also surfaced to admins via:
- Administration > Platform > Feature Support
- A card on the Administration home page
- A contextual notification on the Plugin Manager and Marketplace pages
- Matomo >= 5.0.0
- PHP >= 8.1
Search for FeatureSupport in Administration > Marketplace and click Install.
- Download the latest release ZIP from the Releases page.
- In Matomo, go to Administration > Marketplace > Upload a plugin and upload the ZIP.
- Activate the plugin.
cd /path/to/matomo/plugins
git clone https://github.com/Chardonneaur/FeatureSupport.gitThen activate it in Administration > Plugins, or add it to config/config.ini.php:
[Plugins]
Plugins[] = "FeatureSupport"
[PluginsInstalled]
PluginsInstalled[] = "FeatureSupport"Once installed, the page is accessible from three places:
| Who | Where |
|---|---|
| All authenticated users | Top navigation bar > ? (Help) > Feature Support |
| Admins | Administration > Platform > Feature Support |
| Admins | Administration home page > Feature Support card |
Find the feature you want to report on, click Report Issue, and you will be taken directly to its GitHub issue tracker.
Tip: Before opening a new issue, scroll through existing ones to check whether yours has already been reported.
For each installed feature, the plugin looks for a support URL in this order:
support.issuesfield inplugin.json(must be anhttps://URL)support.sourcefield, appending/issuesif it is a GitHub repository root URLhomepagefield, appending/issuesif it is a GitHub repository root URL- For core Matomo features:
https://github.com/matomo-org/matomo/issues
If none of these produce a valid URL, the feature is listed as having no public support channel.
To ensure your plugin appears with a working "Report Issue" button, add a support block to your plugin.json:
{
"name": "YourPlugin",
"support": {
"issues": "https://github.com/you/YourPlugin/issues",
"source": "https://github.com/you/YourPlugin"
}
}- The controller enforces
checkUserIsNotAnonymous()— anonymous visitors cannot access the page. - All plugin metadata (names, descriptions, URLs) is HTML-escaped before output.
- Issue tracker URLs are validated to use the
https://scheme;javascript:,data:, and other dangerous protocols are rejected. - GitHub-derived URLs are validated against a strict regex anchored at both ends.
- The plugin is read-only: it performs no database writes, no file I/O, and no shell calls. There is no CSRF surface.
This is a community-developed plugin, not an official Matomo product. It is not affiliated with, endorsed by, or supported by InnoCraft or the Matomo core team.
For bugs or feature requests related to this plugin specifically, please open an issue.
GPL v3 or later. See LICENSE for details.