Infinite loop when loading the user configuration form with a list or dict field

Erwan Rouchet
2025-04-14T15:26:49Z

https://redmine.teklia.com/issues/10650

1. Create a worker version with any user_configuration that contains any list field, with any options in it.

2. Use that worker version in a process.

3. Try to create a new configuration or clone an existing configuration.

4. On a production build, the browser crashes.

On a dev build, the console shows an error:

Uncaught (in promise) Maximum recursive updates exceeded. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.

The stack trace associated with this log is useless.

On a dev build, while watching over the component events with the Vue dev tools to attempt to troubleshoot anything, the tab stays stuck for hours trying to process all the events, the browser dev tools become inaccessible as they are stuck waiting for these events to load.

5. Cry.