Skip to content

Commit

Permalink
fix: Import progress page stuck at 0% (#29421)
Browse files Browse the repository at this point in the history
  • Loading branch information
matheusbsilva137 authored Jun 2, 2023
1 parent 5617702 commit 585c49f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
5 changes: 5 additions & 0 deletions .changeset/quiet-bottles-fry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

fix: Import progress page stuck at 0%
27 changes: 15 additions & 12 deletions apps/meteor/client/views/admin/import/ImportProgressPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,15 @@ const ImportProgressPage = function ImportProgressPage() {
return operation;
},
{
refetchInterval: 1000,
onSuccess: ({ valid, status }) => {
console.log('currentOperation', valid, status);
if (!valid) {
importHistoryRoute.push();
return;
}

if (status === 'importer_done') {
dispatchToastMessage({ type: 'success', message: t('Importer_done') });
importHistoryRoute.push();
return;
}
Expand All @@ -65,7 +66,6 @@ const ImportProgressPage = function ImportProgressPage() {

const handleProgressUpdated = useMutableCallback(
({ key, step, completed, total }: { key: string; step: ProgressStep; completed: number; total: number }) => {
console.log('handleProgressUpdated', key, step, completed, total);
if (!currentOperation.isSuccess) {
return;
}
Expand Down Expand Up @@ -99,7 +99,7 @@ const ImportProgressPage = function ImportProgressPage() {
);

const progress = useQuery(
['ImportProgressPage', 'progress'],
['importers', 'progress'],
async () => {
const { key, step, count: { completed = 0, total = 0 } = {} } = await getImportProgress();
return {
Expand All @@ -110,21 +110,23 @@ const ImportProgressPage = function ImportProgressPage() {
};
},
{
refetchInterval: 1000,
enabled: !!currentOperation.isSuccess,
onSuccess: (progress) => {
console.log('progress', progress);
if (!progress) {
dispatchToastMessage({ type: 'warning', message: t('Importer_not_in_progress') });
prepareImportRoute.push();
return;
}
handleProgressUpdated({
key: progress.key,
step: progress.step,
total: progress.total,
completed: progress.completed,
});

// do not use the endpoint data to update the completed progress, leave it to the streamer
if (!(ImportingStartedStates as string[]).includes(progress.step)) {
handleProgressUpdated({
key: progress.key,
step: progress.step,
total: progress.total,
completed: progress.completed,
});
}
},
onError: (error) => {
handleError(error, t('Failed_To_Load_Import_Data'));
Expand Down Expand Up @@ -158,7 +160,8 @@ const ImportProgressPage = function ImportProgressPage() {
<Box display='flex' justifyContent='center'>
<Box is='progress' value={progress.data.completed} max={progress.data.total} marginInlineEnd='x24' />
<Box is='span' fontScale='p2'>
{progress.data.completed}/{progress.data.total} ({numberFormat(progress.data.completed / progress.data.total, 0)}
{progress.data.completed}/{progress.data.total} (
{numberFormat((progress.data.completed / progress.data.total) * 100, 0)}
%)
</Box>
</Box>
Expand Down

0 comments on commit 585c49f

Please sign in to comment.