From 2bf7ed85cc773336100b5db5bc274e840ad790af Mon Sep 17 00:00:00 2001 From: Jorge Rojas Date: Wed, 25 Feb 2026 15:07:18 -0600 Subject: [PATCH 1/2] fix: prevent drop files overlay from appearing when dragging text selections in Firefox (#1268) --- .../file-dropzone-no-uploader.component.ts | 4 ++++ src/app/shared/upload/uploader/uploader.component.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts b/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts index 06636f4256e..a59909e5c15 100644 --- a/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts +++ b/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts @@ -63,6 +63,10 @@ export class FileDropzoneNoUploaderComponent implements OnInit { @HostListener('window:dragover', ['$event']) onDragOver(event: any) { + // Only show drop area when dragging files, not text selections (fixes Firefox bug) + if (!event.dataTransfer?.types?.includes('Files')) { + return; + } // Show drop area on the page event.preventDefault(); if ((event.target as any).tagName !== 'HTML') { diff --git a/src/app/shared/upload/uploader/uploader.component.ts b/src/app/shared/upload/uploader/uploader.component.ts index 5033746f6a1..525f14e7b9a 100644 --- a/src/app/shared/upload/uploader/uploader.component.ts +++ b/src/app/shared/upload/uploader/uploader.component.ts @@ -87,6 +87,10 @@ export class UploaderComponent { onDragOver(event: any) { if (this.enableDragOverDocument && this.dragService.isAllowedDragOverPage()) { + // Only show drop area when dragging files, not text selections (fixes Firefox bug) + if (!event.dataTransfer?.types?.includes('Files')) { + return; + } // Show drop area on the page event.preventDefault(); if ((event.target as any).tagName !== 'HTML') { From 0f2e2e28a623ec1545581f01c2812c5f3904ba84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oscar=20Chaco=CC=81n?= Date: Tue, 24 Mar 2026 17:58:55 -0600 Subject: [PATCH 2/2] Improved validation to prevent Cypress (and manual triggers) failing --- .../file-dropzone-no-uploader.component.ts | 4 +++- src/app/shared/upload/uploader/uploader.component.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts b/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts index a59909e5c15..d2a005c3701 100644 --- a/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts +++ b/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts @@ -64,7 +64,9 @@ export class FileDropzoneNoUploaderComponent implements OnInit { @HostListener('window:dragover', ['$event']) onDragOver(event: any) { // Only show drop area when dragging files, not text selections (fixes Firefox bug) - if (!event.dataTransfer?.types?.includes('Files')) { + const hasFiles = event.dataTransfer?.types ? Array.from(event.dataTransfer.types).includes('Files') : true; + + if (!hasFiles) { return; } // Show drop area on the page diff --git a/src/app/shared/upload/uploader/uploader.component.ts b/src/app/shared/upload/uploader/uploader.component.ts index 525f14e7b9a..b6dcabb7b02 100644 --- a/src/app/shared/upload/uploader/uploader.component.ts +++ b/src/app/shared/upload/uploader/uploader.component.ts @@ -88,7 +88,9 @@ export class UploaderComponent { if (this.enableDragOverDocument && this.dragService.isAllowedDragOverPage()) { // Only show drop area when dragging files, not text selections (fixes Firefox bug) - if (!event.dataTransfer?.types?.includes('Files')) { + const hasFiles = event.dataTransfer?.types ? Array.from(event.dataTransfer.types).includes('Files') : true; + + if (!hasFiles) { return; } // Show drop area on the page