# Route conflict on fingerprint plugin

**URL:** https://meta.discourse.org/t/route-conflict-on-fingerprint-plugin/413097
**Category:** Bug
**Created:** [September 23, 2026, 8:11am UTC](https://meta.discourse.org/t/route-conflict-on-fingerprint-plugin/413097 "2026-09-23T08:11:28Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [September 23, 2026, 8:11am UTC](https://meta.discourse.org/t/route-conflict-on-fingerprint-plugin/413097/1 "2026-09-23T08:11:28Z")

</div>

Continuing the discussion from [Discourse Fingerprint - Browser Fingerprinting Plugin](https://meta.discourse.org/t/discourse-fingerprint-browser-fingerprinting-plugin/114890/72):

> [@Discourse Fingerprint - Browser Fingerprinting Plugin](https://meta.discourse.org/t/discourse-fingerprint-browser-fingerprinting-plugin/114890/72):
>
> Following up on the deprecation above.. on current core (v2026.8.0-latest.1) it’s not just a warning any more, the report page itself looks broken.
> 
> `/admin/plugins/fingerprint` comes up with an empty “latest matches” and flagged list, and the console throws:
> 
> ```plaintext
> Uncaught (in promise) TypeError: Cannot convert undefined or null to object
> at Object.values (<anonymous>)
> at fingerprint-report.js:58
> 
> ```

This is happening because of a route conflict.

Core defines

```plaintext
admin_plugins GET /admin/plugins/:plugin_id(.:format) admin/plugin#show {format: /(json|html|\*\/\*)/}

```

The plugin defines this

```plaintext
admin_plugins_fingerprint GET /admin/plugins/fingerprint(.:format) discourse_fingerprint/fingerprint_admin#index

```

Instead of returning the results from the `fingerprint_admin#index`, we get the results from the `admin/plugin#show` controller, i.e. the plugin metadata.

there are a few more issues in this plugin like the route format deprecation

> [@Discourse Fingerprint - Browser Fingerprinting Plugin](https://meta.discourse.org/t/discourse-fingerprint-browser-fingerprinting-plugin/114890/71):
>
> DEPRECATION NOTICE: Looking up ‘route:admin-plugins-fingerprint’ is no longer permitted. Rename to ‘route:admin-plugins/fingerprint’ instead [deprecation id: discourse.deprecated-resolver-normalization]

and the plugin.rb metadata pointing to the old URL for this plugin `# url: https://github.com/udan11/discourse-fingerprint.git`

---

<div class="post-metadata">

### Author: ![WorldIsMine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/worldismine/32/455660_2.png) [@WorldIsMine](https://meta.discourse.org/u/WorldIsMine)
#### Post date: [September 23, 2026, 8:14am UTC](https://meta.discourse.org/t/route-conflict-on-fingerprint-plugin/413097/2 "2026-09-23T08:14:18Z")

</div>

Richard Richard he’s the man, if he can’t do it no one can! Yaaaay! So no more annoying errors?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [September 23, 2026, 8:47am UTC](https://meta.discourse.org/t/route-conflict-on-fingerprint-plugin/413097/3 "2026-09-23T08:47:29Z")

</div>

PR here [Resolve route conflict and small fixes - Pull Request #95 - discourse/discourse-fingerprint - GitHub](https://github.com/discourse/discourse-fingerprint/pull/95)
