From 31e6f1dc3f012e7e1a7062f93241cf44aca4ae50 Mon Sep 17 00:00:00 2001 From: Ahmed Awan Date: Wed, 24 Jan 2024 15:59:32 +0500 Subject: [PATCH 1/6] fix upload modal loses its content when closed Remove key from `UploadContainer` that causes component data to be destroyed when modal is closed. Also, `eventReset()` the modal when there is an "immediate" drag-drop upload. --- client/src/components/Upload/DefaultBox.vue | 12 ++++++------ client/src/components/Upload/UploadContainer.vue | 2 +- client/src/components/Upload/UploadModal.vue | 1 - 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/client/src/components/Upload/DefaultBox.vue b/client/src/components/Upload/DefaultBox.vue index 31722c9184a..cba47474425 100644 --- a/client/src/components/Upload/DefaultBox.vue +++ b/client/src/components/Upload/DefaultBox.vue @@ -113,15 +113,15 @@ const queue = new UploadQueue({ }); /** Add files to queue */ -function addFiles(files) { +function addFiles(files, immediate = false) { if (!isRunning.value) { + if (immediate || !props.multiple) { + eventReset(); + } if (props.multiple) { queue.add(files); - } else { - eventReset(); - if (files.length > 0) { - queue.add([files[0]]); - } + } else if (files.length > 0) { + queue.add([files[0]]); } } } diff --git a/client/src/components/Upload/UploadContainer.vue b/client/src/components/Upload/UploadContainer.vue index ba4fa08dbcc..9c7fe5a742d 100644 --- a/client/src/components/Upload/UploadContainer.vue +++ b/client/src/components/Upload/UploadContainer.vue @@ -112,7 +112,7 @@ const showRegular = computed(() => !props.formats || hasRegularExtension); const showRules = computed(() => !props.formats || props.multiple); function immediateUpload(files) { - regular.value?.addFiles(files); + regular.value?.addFiles(files, true); } function toData(items, history_id, composite = false) { diff --git a/client/src/components/Upload/UploadModal.vue b/client/src/components/Upload/UploadModal.vue index 8aca0acde0d..762abcc9afc 100644 --- a/client/src/components/Upload/UploadModal.vue +++ b/client/src/components/Upload/UploadModal.vue @@ -86,7 +86,6 @@ defineExpose({ Date: Wed, 24 Jan 2024 17:23:39 +0500 Subject: [PATCH 2/6] add selenium test for upload modal not losing content on close This selenium makes sure that when users reopen upload modal, the content from prior or inprogress uploads is still there --- lib/galaxy_test/selenium/test_uploads.py | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/galaxy_test/selenium/test_uploads.py b/lib/galaxy_test/selenium/test_uploads.py index cad193f97f6..6ce9607ea02 100644 --- a/lib/galaxy_test/selenium/test_uploads.py +++ b/lib/galaxy_test/selenium/test_uploads.py @@ -174,6 +174,36 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_wait_for_hid_hidden(3) self.history_panel_wait_for_hid_hidden(4) + @selenium_test + def test_upload_modal_retains_content(self): + self.home() + + # initialize 2 uploads and close modal + self.upload_start_click() + self.upload_queue_local_file(self.get_filename("1.sam")) + self.upload_paste_data("some pasted data") + self.wait_for_and_click_selector("button#btn-close") + + # reopen modal and check that the files are still there + self.upload_start_click() + self.wait_for_selector_visible("#upload-row-0.upload-init") + self.wait_for_selector_visible("#upload-row-1.upload-init") + + # perform upload and close modal + self.upload_start() + self.wait_for_and_click_selector("button#btn-close") + + # add another pasted file, but don't upload it + self.upload_start_click() + self.upload_paste_data("some more pasted data") + self.wait_for_and_click_selector("button#btn-close") + + # reopen modal and see 2 uploaded, 1 yet to upload + self.upload_start_click() + self.wait_for_selector_visible("#upload-row-0.upload-success") + self.wait_for_selector_visible("#upload-row-1.upload-success") + self.wait_for_selector_visible("#upload-row-2.upload-init") + @selenium_test @pytest.mark.gtn_screenshot @pytest.mark.local From e4c60431a89ec5949adb5e1837d8877b31dd0de4 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 24 Jan 2024 16:53:17 +0100 Subject: [PATCH 3/6] Fix notification badge delay The first time we retrieve the notifications list the notifications count badge is not updated until the first status poll is done. This should update the badge right away the first time and then relay on the status count afterwards. --- client/src/stores/notificationsStore.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/client/src/stores/notificationsStore.ts b/client/src/stores/notificationsStore.ts index 589e9ce04c4..46f85203fbb 100644 --- a/client/src/stores/notificationsStore.ts +++ b/client/src/stores/notificationsStore.ts @@ -37,6 +37,7 @@ export const useNotificationsStore = defineStore("notificationsStore", () => { loadingNotifications.value = true; await broadcastsStore.loadBroadcasts(); await loadNotifications(); + updateUnreadCount(); } else { const data = await loadNotificationsStatus(lastNotificationUpdate.value); totalUnreadCount.value = data.total_unread_count; @@ -78,6 +79,10 @@ export const useNotificationsStore = defineStore("notificationsStore", () => { return updateBatchNotification({ notification_ids: [notification.id], changes }); } + function updateUnreadCount() { + totalUnreadCount.value = notifications.value.filter((n) => !n.seen_time).length; + } + return { notifications, totalUnreadCount, From adf175fdc26284b96663890886611ba5ebf6bccb Mon Sep 17 00:00:00 2001 From: John Davis Date: Tue, 30 Jan 2024 18:44:24 -0500 Subject: [PATCH 4/6] Ignore empty lines in packages_by_dep_dag file --- packages/build_packages.sh | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/build_packages.sh b/packages/build_packages.sh index 249b9143df5..5b309c68ff2 100755 --- a/packages/build_packages.sh +++ b/packages/build_packages.sh @@ -10,14 +10,17 @@ cd "$(dirname "$0")" # ensure ordered by dependency dag while read -r package_dir; do - printf "\n========= RELEASING PACKAGE ${package_dir} =========\n\n" - - cd "$package_dir" - - make clean - make commit-version - make dist - make new-version - - cd .. + if [ -n "$package_dir" ] + then + printf "\n========= RELEASING PACKAGE %s =========\n\n" "$package_dir" + + cd "$package_dir" + + make clean + make commit-version + make dist + make new-version + + cd .. + fi done < packages_by_dep_dag.txt From c1081c328908372afa3fae7c055aaeef77df69e2 Mon Sep 17 00:00:00 2001 From: John Davis Date: Tue, 30 Jan 2024 21:57:22 -0500 Subject: [PATCH 5/6] Reverse conditional to skip empty lines --- packages/build_packages.sh | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/build_packages.sh b/packages/build_packages.sh index 5b309c68ff2..dde18ce1132 100755 --- a/packages/build_packages.sh +++ b/packages/build_packages.sh @@ -10,17 +10,18 @@ cd "$(dirname "$0")" # ensure ordered by dependency dag while read -r package_dir; do - if [ -n "$package_dir" ] - then - printf "\n========= RELEASING PACKAGE %s =========\n\n" "$package_dir" - - cd "$package_dir" - - make clean - make commit-version - make dist - make new-version - - cd .. - fi + if [ -z "$package_dir" ]; then + # Skip empty lines + continue + fi + printf "\n========= RELEASING PACKAGE %s =========\n\n" "$package_dir" + + cd "$package_dir" + + make clean + make commit-version + make dist + make new-version + + cd .. done < packages_by_dep_dag.txt From fbad571b135d57a08638817a532118fe309681cf Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Wed, 31 Jan 2024 11:22:02 +0100 Subject: [PATCH 6/6] Respect ``upstream_gzip`` config setting when streaming dataset collection archive Which means archives won't be compressed when this setting is activated. This is about 20 times faster than the current default. --- lib/galaxy/webapps/galaxy/services/history_contents.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/webapps/galaxy/services/history_contents.py b/lib/galaxy/webapps/galaxy/services/history_contents.py index be4727ae0f5..d82375f584e 100644 --- a/lib/galaxy/webapps/galaxy/services/history_contents.py +++ b/lib/galaxy/webapps/galaxy/services/history_contents.py @@ -498,7 +498,9 @@ class HistoriesContentsService(ServiceBase, ServesExportStores, ConsumesModelSto def __stream_dataset_collection(self, trans, dataset_collection_instance): archive = hdcas.stream_dataset_collection( - dataset_collection_instance=dataset_collection_instance, upstream_mod_zip=trans.app.config.upstream_mod_zip + dataset_collection_instance=dataset_collection_instance, + upstream_mod_zip=trans.app.config.upstream_mod_zip, + upstream_gzip=trans.app.config.upstream_gzip, ) return archive