Openpanel-dev / Openpanel-dev/openpanel

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

Open
#504 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
7k
Forks
481
Avg merge
1d 3h
Merged PRs (30d)
21

Description

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting commit bf439746 and the repository's dashboard image or release workflow to see how the published image is built and tagged. Publish an image containing that correction, then verify the reproduced namespaced profile URL resolves once and displays the profile, properties, and events.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
devops, release
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.