Encrypted files cannot be downloaded repeatedly from the Room Files menu

Aperta
#43,675 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@Sakshamlabs ci sta già lavorando.

Dal 12/11/2026.

  • #43678 di @Sakshamlabs — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
typescript
Ambito
frontend

Direzione di ricerca

Start with the FileItemMenu component and trace how it registers the response listener and reuses the request ID for encrypted downloads. The issue suggests creating a listener per request with a unique ID; check the related response handling and tests. Done means repeated downloads of the same encrypted file each trigger successfully without remounting the component.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

type: bug
Description

Downloading an encrypted file from the Room Files menu works for the first request, but subsequent download requests can fail to trigger the download.

The response listener is registered when the FileItemMenu component mounts and uses a one-time listener. Once the first download response is received, that listener is consumed. If the component remains mounted, later requests reuse the same ID, but there is no longer an active listener waiting for the response.

Steps to reproduce
  1. Open a room and navigate to the Files section in the contextual bar.
  2. Select an encrypted file.
  3. Open its menu and click Download.
  4. After the first download completes, open the menu again.
  5. Click Download again.
Expected behaviour

Every download request should be handled independently, allowing the same encrypted file to be downloaded multiple times without reopening the room or remounting the component.

Actual behaviour

After the first response consumes the one-time listener, subsequent responses may not trigger the download.

Suggested direction

Register a response listener for each download request and use a unique request ID to match each response to its corresponding request.

Lingua principale
TypeScript
Stelle
46.5k
Fork
14.1k
Merge medio
1g 21h
PR unite (30g)
381

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RocketChat/Rocket.Chat

Tutte le issue di RocketChat/Rocket.Chat

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.