Skip to content

Chardonneaur/FeatureSupport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FeatureSupport

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.


The problem it solves

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.


Features

  • Lists every installed Matomo feature (active and disabled) with its GitHub issue tracker link
  • Automatically resolves issue tracker URLs from plugin.json metadata (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

Requirements

  • Matomo >= 5.0.0
  • PHP >= 8.1

Installation

Via the Matomo Marketplace

Search for FeatureSupport in Administration > Marketplace and click Install.

Manual installation

  1. Download the latest release ZIP from the Releases page.
  2. In Matomo, go to Administration > Marketplace > Upload a plugin and upload the ZIP.
  3. Activate the plugin.

From source

cd /path/to/matomo/plugins
git clone https://github.com/Chardonneaur/FeatureSupport.git

Then activate it in Administration > Plugins, or add it to config/config.ini.php:

[Plugins]
Plugins[] = "FeatureSupport"

[PluginsInstalled]
PluginsInstalled[] = "FeatureSupport"

Usage

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.


How issue tracker URLs are resolved

For each installed feature, the plugin looks for a support URL in this order:

  1. support.issues field in plugin.json (must be an https:// URL)
  2. support.source field, appending /issues if it is a GitHub repository root URL
  3. homepage field, appending /issues if it is a GitHub repository root URL
  4. 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.


For plugin developers

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"
    }
}

Security

  • 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.

Community disclaimer

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.


License

GPL v3 or later. See LICENSE for details.

About

A Matomo plugin that helps users find the right GitHub issue tracker for every installed feature.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors