diff --git a/client/packages/lowcoder/src/pages/ApplicationV2/index.tsx b/client/packages/lowcoder/src/pages/ApplicationV2/index.tsx
index 4faaf6a3f..5987d097d 100644
--- a/client/packages/lowcoder/src/pages/ApplicationV2/index.tsx
+++ b/client/packages/lowcoder/src/pages/ApplicationV2/index.tsx
@@ -32,7 +32,7 @@ import {
UserIcon,
} from "lowcoder-design";
import React, { useCallback, useEffect, useState, useMemo } from "react";
-import { fetchAllApplications, fetchHomeData } from "redux/reduxActions/applicationActions";
+import { fetchHomeData } from "redux/reduxActions/applicationActions";
import { fetchSubscriptionsAction } from "redux/reduxActions/subscriptionActions";
import { getHomeOrg, normalAppListSelector } from "redux/selectors/applicationSelector";
import { DatasourceHome } from "../datasource";
@@ -125,18 +125,13 @@ export default function ApplicationHome() {
}, [org, orgHomeId]);
useEffect(() => {
- if (allAppCount !== 0) {
- return;
- }
- user.currentOrgId && dispatch(fetchAllApplications({}));
- }, [dispatch, allAppCount, user.currentOrgId]);
-
- useEffect(() => {
- if (allFoldersCount !== 0) {
+ // Check if we need to fetch data (either no folders or no applications)
+ if (allFoldersCount !== 0 && allAppCount !== 0) {
return;
}
+
user.currentOrgId && dispatch(fetchFolderElements({}));
- }, [dispatch, allFoldersCount, user.currentOrgId]);
+ }, [dispatch, allFoldersCount, allAppCount, user.currentOrgId]);
if (fetchingUser || !isPreloadCompleted) {
return ;
diff --git a/client/packages/lowcoder/src/redux/sagas/folderSagas.ts b/client/packages/lowcoder/src/redux/sagas/folderSagas.ts
index 62b74659e..9db0a1eee 100644
--- a/client/packages/lowcoder/src/redux/sagas/folderSagas.ts
+++ b/client/packages/lowcoder/src/redux/sagas/folderSagas.ts
@@ -118,7 +118,19 @@ export function* fetchFolderElementsSaga(action: ReduxAction m.folder),
});
+
+ // filter out applications with NORMAL status
+
+ const applications = response.data.data.filter((item): item is ApplicationMeta =>
+ !item.folder && item.applicationStatus === "NORMAL"
+ );
+
+ yield put({
+ type: ReduxActionTypes.FETCH_ALL_APPLICATIONS_SUCCESS,
+ payload: applications,
+ });
}
+
yield put({
type: ReduxActionTypes.FETCH_FOLDER_ELEMENTS_SUCCESS,
payload: { parentFolderId: action.payload.folderId, elements: response.data.data },