diff --git a/ui/src/app/applications/components/application-status-panel/application-status-panel.tsx b/ui/src/app/applications/components/application-status-panel/application-status-panel.tsx
index 34b7e77c94..c829923f40 100644
--- a/ui/src/app/applications/components/application-status-panel/application-status-panel.tsx
+++ b/ui/src/app/applications/components/application-status-panel/application-status-panel.tsx
@@ -8,6 +8,7 @@ import {services} from '../../../shared/services';
import {
ApplicationSyncWindowStatusIcon,
ComparisonStatusIcon,
+ formatApplicationSetProgressiveSyncStep,
getAppDefaultSource,
getAppDefaultSyncRevisionExtra,
getAppOperationState,
@@ -130,7 +131,7 @@ const ProgressiveSyncStatus = ({application}: {application: models.Application})
{getProgressiveSyncStatusIcon({status: appResource.status})} {appResource.status}
- {appResource?.step && Wave: {appResource.step}
}
+ {appResource?.step !== undefined && {formatApplicationSetProgressiveSyncStep(appResource.step)}
}
{lastTransitionTime && (
Last Transition:
diff --git a/ui/src/app/applications/components/utils.tsx b/ui/src/app/applications/components/utils.tsx
index 6ed584be6c..9e2db9192c 100644
--- a/ui/src/app/applications/components/utils.tsx
+++ b/ui/src/app/applications/components/utils.tsx
@@ -1705,6 +1705,14 @@ export function getAppUrl(app: appModels.Application): string {
return `applications/${app.metadata.namespace}/${app.metadata.name}`;
}
+/** RollingSync step for display; backend uses -1 when no step matches the app's labels. */
+export function formatApplicationSetProgressiveSyncStep(step: string | undefined): string {
+ if (step === '-1') {
+ return 'Step: unmatched label';
+ }
+ return `Step: ${step ?? ''}`;
+}
+
export const getProgressiveSyncStatusIcon = ({status, isButton}: {status: string; isButton?: boolean}) => {
const getIconProps = () => {
switch (status) {