Skip to content

fix(frontend): Resolve infinite loop in section generation

Edouard Legoupil requested to merge fix-template-loading into main_dev

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 useEffect is now used to kick off the generation process, and it only depends on the generateLoading state.

  • The generateAllSections async 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?

Merge request reports

Loading