RocketChat / RocketChat/Rocket.Chat
Incorrect redirection URL after installing a Private App
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
When checking for a private app and installing it, the application redirects the user to the app details page. However, the generated URL is incomplete as it misses the version segment. This causes the router to misinterpret subsequent navigation; for example, clicking on the "Settings" tab appends "settings" in place of the version parameter, breaking the UI state and preventing the settings tab from opening.
Steps to reproduce:
- Start as an Admin.
- Go to Marketplace.
- Click on Private Apps.
- Upload any private app (.zip) created using the app engine and install it.
- Observe the URL after redirection.
- Click on the Settings tab.
Expected behavior:
The user should be redirected to a complete URL including the version (e.g., /marketplace/private/info/<APP_ID>/<VERSION>/details). Clicking on tabs like "Settings" should correctly navigate to /marketplace/private/info/<APP_ID>/<VERSION>/settings and display the settings form.
Actual behavior:
The user is redirected to /marketplace/private/info/<APP_ID>.
When clicking "Settings", the URL changes to /marketplace/private/info/<APP_ID>/settings, treating "settings" as the version parameter. The UI remains on the details view or fails to load the settings context.
Server Setup Information:
- Version of Rocket.Chat Server: Latest develop
- License Type: All
- Number of Users: 1
- Operating System: Fedora Linux 43
- Deployment Method: local
- Number of Running Instances: 1
- DB Replicaset Oplog: Enabled
- NodeJS Version: v22.16.0
- MongoDB Version: 4.4+
Client Setup Information
- Desktop App or Browser Version: Chrome
- Operating System: Fedora Linux 43
Additional context
The issue lies in the useInstallApp hook, where the router navigation event in the onSuccess callback does not include the version parameter from the installed app data.
Relevant logs:
N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/meteor/client/views/marketplace/hooks/useInstallApp.tsx, focusing on the onSuccess callback and its router navigation. Reproduce the private-app installation flow from Marketplace, then verify that the redirected URL includes the app version and that the Details and Settings tabs navigate to the correct paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 52/100