diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index fa39be36db..ba448aa013 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -25,14 +25,15 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released - Allowed to train an AI model using differently sized bounding boxes. We recommend all bounding boxes to have equal dimensions or to have dimensions which are multiples of the smallest bounding box. [#8222](https://github.com/scalableminds/webknossos/pull/8222) ### Fixed -- Fix performance bottleneck when deleting a lot of trees at once. [#8176](https://github.com/scalableminds/webknossos/pull/8176) -- Fix that listing datasets with the `api/datasets` route without compression failed due to missing permissions regarding public datasets. [#8249](https://github.com/scalableminds/webknossos/pull/8249) -- Fix a bug where changing the color of a segment via the menu in the segments tab would update the segment color of the previous segment, on which the context menu was opened. [#8225](https://github.com/scalableminds/webknossos/pull/8225) -- Fix a bug where in the add remote dataset view the dataset name setting was not in sync with the datasource setting of the advanced tab making the form not submittable. [#8245](https://github.com/scalableminds/webknossos/pull/8245) -- Fix a bug when importing an NML with groups when only groups but no trees exist in an annotation. [#8176](https://github.com/scalableminds/webknossos/pull/8176) +- Fixed performance bottleneck when deleting a lot of trees at once. [#8176](https://github.com/scalableminds/webknossos/pull/8176) +- Fixed that listing datasets with the `api/datasets` route without compression failed due to missing permissions regarding public datasets. [#8249](https://github.com/scalableminds/webknossos/pull/8249) +- Fixed a bug where changing the color of a segment via the menu in the segments tab would update the segment color of the previous segment, on which the context menu was opened. [#8225](https://github.com/scalableminds/webknossos/pull/8225) +- Fixed a bug where in the add remote dataset view the dataset name setting was not in sync with the datasource setting of the advanced tab making the form not submittable. [#8245](https://github.com/scalableminds/webknossos/pull/8245) +- Fixed a bug when importing an NML with groups when only groups but no trees exist in an annotation. [#8176](https://github.com/scalableminds/webknossos/pull/8176) - Added missing legacy support for `isValidNewName` route. [#8252](https://github.com/scalableminds/webknossos/pull/8252) -- Fix a bug where trying to delete a non-existing node (via the API, for example) would delete the whole active tree. [#8176](https://github.com/scalableminds/webknossos/pull/8176) -- Fix a bug where dataset uploads would fail if the organization directory on disk is missing. [#8230](https://github.com/scalableminds/webknossos/pull/8230) +- Fixed a bug where trying to delete a non-existing node (via the API, for example) would delete the whole active tree. [#8176](https://github.com/scalableminds/webknossos/pull/8176) +- Fixed a bug where dataset uploads would fail if the organization directory on disk is missing. [#8230](https://github.com/scalableminds/webknossos/pull/8230) +- Fixed some layout issues in the upload view. [#8231](https://github.com/scalableminds/webknossos/pull/8231) ### Removed - Removed support for HTTP API versions 3 and 4. [#8075](https://github.com/scalableminds/webknossos/pull/8075) diff --git a/frontend/javascripts/admin/dataset/dataset_add_view.tsx b/frontend/javascripts/admin/dataset/dataset_add_view.tsx index e8b912844e..be14179c25 100644 --- a/frontend/javascripts/admin/dataset/dataset_add_view.tsx +++ b/frontend/javascripts/admin/dataset/dataset_add_view.tsx @@ -307,48 +307,42 @@ const getPostUploadModal = ( {datasetNeedsConversion ? " and a conversion job was started" : null}.
-
- {datasetNeedsConversion ? ( - - - - - ) : ( - - - - - - )} -
+ {datasetNeedsConversion ? ( + + + + + ) : ( + + + + + + )}
{" "} diff --git a/frontend/javascripts/admin/dataset/dataset_upload_view.tsx b/frontend/javascripts/admin/dataset/dataset_upload_view.tsx index e167b65ca3..4339cdc747 100644 --- a/frontend/javascripts/admin/dataset/dataset_upload_view.tsx +++ b/frontend/javascripts/admin/dataset/dataset_upload_view.tsx @@ -20,6 +20,7 @@ import { FolderOutlined, InboxOutlined, HourglassOutlined, + LoadingOutlined, } from "@ant-design/icons"; import { connect } from "react-redux"; import React from "react"; @@ -270,9 +271,9 @@ class DatasetUploadView extends React.Component { return; } - Toast.info("Uploading dataset"); this.setState({ isUploading: true, + uploadProgress: 0, }); const beforeUnload = ( @@ -351,7 +352,6 @@ class DatasetUploadView extends React.Component { }); finishDatasetUpload(datastoreUrl, uploadInfo).then( async ({ newDatasetId }) => { - Toast.success(messages["dataset.upload_success"]); let maybeError; if (this.state.needsConversion) { @@ -371,25 +371,12 @@ class DatasetUploadView extends React.Component { maybeError = error; } - if (maybeError == null) { - Toast.info( - - The conversion for the uploaded dataset was started. -
- See{" "} - - Processing Jobs - {" "} - for an overview of running jobs. -
, - ); - } else { + if (maybeError != null) { Toast.error( - "The conversion for the uploaded dataset could not be started. Please try again or contact us if this issue occurs again.", + "The upload was successful, but the conversion for the dataset could not be started. Please try again or contact us if this issue occurs again.", ); } } - this.setState({ isUploading: false, isFinishing: false, @@ -509,26 +496,34 @@ class DatasetUploadView extends React.Component { flexDirection: "column", }} > - - -
- {isRetrying - ? `Upload of dataset ${form.getFieldValue("name")} froze.` - : `Uploading Dataset ${form.getFieldValue("name")}.`} -
- {isRetrying ? "Retrying to continue the upload …" : null} -
- -
+ {isFinishing ? ( + <> + } /> +
+ Processing uploaded files … + + ) : ( + <> + + {isRetrying + ? `Upload of dataset ${form.getFieldValue("name")} froze.` + : `Uploading Dataset ${form.getFieldValue("name")}.`} +
+ {isRetrying ? "Retrying to continue the upload …" : null} +
+ + + )} ); diff --git a/frontend/javascripts/components/brain_spinner.tsx b/frontend/javascripts/components/brain_spinner.tsx index b7f6b46182..8d16e02621 100644 --- a/frontend/javascripts/components/brain_spinner.tsx +++ b/frontend/javascripts/components/brain_spinner.tsx @@ -78,16 +78,18 @@ export function BrainSpinnerWithError({
{gotUnhandledError ? messages["tracing.unhandled_initialization_error"] : message}
- {organizationToSwitchTo != null ?
{switchToOwningOrganizationButton}
: null} -
- - - +
+ {organizationToSwitchTo != null ?
{switchToOwningOrganizationButton}
: null} +
+ + + +
} diff --git a/frontend/javascripts/messages.tsx b/frontend/javascripts/messages.tsx index 4a1a0ae228..c3a97402ce 100644 --- a/frontend/javascripts/messages.tsx +++ b/frontend/javascripts/messages.tsx @@ -316,7 +316,6 @@ instead. Only enable this option if you understand its effect. All layers will n "Resets this task instance to its initial state, undoing any annotation work of the assigned user. The task will remain assigned to this user for further annotation work.", "task.tooltip_explain_reset_cancel": "Resets this task instance to its initial state, undoing any annotation work of the assigned user. Furthermore, the task assignment will be removed from the user’s account and recycled into the pool of available tasks for other users. The currently assigned user will not be assigned to this task again (unless they are an Admin).", - "dataset.upload_success": "The dataset was uploaded successfully.", "dataset.upload_failed": "The dataset upload failed.", "dataset.upload_cancel": "The dataset upload was cancelled.", "dataset.unsupported_file_type":