RocketChat / RocketChat/Rocket.Chat
File name persists in UI after removing selected file in NewImportPage
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 selecting a file for import in the "New Import" page, a chip appears with the file name. If a user clicks the "X" (cross) on the chip to remove it, the chip is removed from the list, but the file name remains visible in the browser's native file input. This creates confusion as it appears a file is still selected when it has been removed from the application state.
Even though the input element may be disabled, the stale filename persists within the native element unless explicitly cleared, which can cause visual inconsistency.
https://github.com/user-attachments/assets/7fc06382-4c83-4eb9-a163-2de72bf0ad20
Steps to reproduce:
- Navigate to Administration -> Import -> New Import.
- Select an importer (e.g., CSV).
- Ensure the File Type is set to Upload.
- Click the file input and select a file.
- Observe the file name appearing both in the native input and as a Chip component.
- Click the X on the Chip to remove the file.
- Observe that while the Chip disappears, the native file input still displays the name of the file.
Expected behavior:
Crossing out the file chip should clear the file from the staged list and reset the native file input so that it says "No file chosen."
Actual behavior:
The native file input value is not correctly cleared, keeping the stale file name visible in the UI.
Server Setup Information:
- Version of Rocket.Chat Server: 8.2.0-develop
- Operating System: Linux (Fedora)
- Deployment Method: Local Development
- NodeJS Version: 22.18.0
Client Setup Information
- Desktop App or Browser Version: Brave
- Operating System: Linux (Fedora)
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 at the NewImportPage file-input and chip removal flow, then reproduce the issue through Administration → Import → New Import with an uploaded file. Trace how removing the chip updates the staged file state and verify that the native input displays “No file chosen” afterward.
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
- Mostly clear
- Newbie friendliness
- 48/100