fix(frontend): Resolve infinite loop in section generation
Created by: Edouard-Legoupil
This commit fixes a bug in the frontend where the proposal generation process would get stuck in an infinite loop.
The issue was caused by a race condition in Chat.jsx. The useEffect hook responsible for triggering section generation was dependent on the proposal state. The generation function itself updated this state inside a loop, causing the useEffect to be re-triggered continuously.
The fix involves refactoring the generation logic:
-
A single
useEffectis now used to kick off the generation process, and it only depends on thegenerateLoadingstate. -
The
generateAllSectionsasync function now handles the entire sequential loop of fetching sections. It is no longer re-triggered by its own state updates. -
This ensures the generation process runs exactly once from start to finish, resolving the infinite loop.
-
Does my code meet the quality standards for releasing packages?
-
Does the reviewer have all the information to validate the features/issues without too much research?
-
Does the customer who will validate the associated tickets have the information to do so without wasting time?
Issues to validate to close :
-
issue #
Processed issues to keep open or in progress:
-
issue #
Checklist:
-
Does the package check go local? -
Does the CI pass? -
Are the added / fixed features documented, tested? -
Are the added features / solved problems briefly presented in the PR message? -
Are the changes related to tickets / issues that I have listed in the commits and in the PR itself? -
Are the tickets in "review" mode in the Project Tracking Board? -
Does each ticket, if it is to be closed after acceptance of the PR, contain a comment that tells how to validate it?