Skip to content

Self-hosted 2.3.0: Identified profile links double-encode IDs; upstream fix missing from published image #504

Description

@byronrode

Summary

In the published self-hosted dashboard image, clicking a namespaced user ID in Profiles → Identified opens a double-encoded URL. The profile page then displays “User not identified”, “No properties found”, and zero events, even though the profile and events exist.

The source fix appears to be already merged in bf439746, but the current public Docker image does not include it. Could you publish an official patched dashboard image/release containing that fix?

Environment

  • Self-hosted OpenPanel, deployed with Docker Compose through Coolify.
  • Dashboard: lindesvard/openpanel-dashboard:2 (also published as 2.3.0 and latest when checked).
  • Image digest: sha256:b773cf864454a0ec89b2a133b48bf06202880ed650a75cc2f1f5c87aaed1cffa.
  • Published image last updated August 18, 2026; source fix dated August 19, 2026.

Reproduction

  1. Identify a user with a namespaced profile ID, for example example:mobile:user:16, and send properties and events for that ID.
  2. Open Profiles → Identified.
  3. Click that user's name in the table, or the table row.
  4. Observe navigation to /profiles/example%253Amobile%253Auser%253A16.
  5. The detail page shows an unidentified user, no properties, and zero events.

Expected

The router encodes the ID once: /profiles/example%3Amobile%3Auser%3A16. The detail page should display the existing identified profile, properties, and events.

Verification

  • Reproduced by clicking the profile name in Chrome on the published image; its original anchor href was singly encoded, but navigation ended at the double-encoded URL.
  • The dashboard's profile.byId API returns the identified profile and properties for the literal ID.
  • Opening the singly encoded URL renders the profile properties and nonzero event counts correctly.
  • The published bundle's profile-table row handler passes encodeURIComponent(row.original.id) as a router parameter, matching the cause described in the upstream fix.

This makes working identification appear broken to self-hosted users. An official image containing the existing upstream correction would let us resolve it without maintaining a custom build.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions