fix(frontend): Implement robust sequential section generation
Created by: Edouard-Legoupil
This commit fixes a bug in the frontend's proposal generation logic that caused it to get stuck or enter an infinite loop.
The previous useEffect hook for section generation had an incorrect dependency array, leading to either a recursive loop or a failure to trigger the generation process.
This has been resolved by:
- Implementing a
useRefguard (isGenerating) to prevent re-entrant calls to the generation function. - Correctly specifying the dependency array for the
useEffectto includegenerateLoadingandproposal. - The effect now triggers only when the generation should start and the necessary data is ready.
- The
useRefguard ensures that even though the effect may be called multiple times due to state changes, the generation loop itself only runs once from start to finish.
This creates a robust, sequential generation process that is free of race conditions.
- 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?