You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix infinite loop when iterating over group objects while adding new objects (closes#274)
ObjectGroup.get_object_ids() was returning a direct reference to its internal
list instead of a copy. When plugins iterated over this list while adding new
objects to the panel, the internal list grew during iteration, causing an
infinite loop.
The fix ensures get_object_ids() returns a copy of the list, making iteration
safe even when modifying the group during the loop.
Fixes#274
Copy file name to clipboardExpand all lines: doc/locale/fr/LC_MESSAGES/release_notes/release_1.00.po
+28-1Lines changed: 28 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ msgid ""
7
7
msgstr ""
8
8
"Project-Id-Version: DataLab \n"
9
9
"Report-Msgid-Bugs-To: \n"
10
-
"POT-Creation-Date: 2025-12-04 17:48+0100\n"
10
+
"POT-Creation-Date: 2025-12-12 19:37+0100\n"
11
11
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
12
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
"Language: fr\n"
@@ -27,6 +27,33 @@ msgstr ""
27
27
msgid"🛠️ Bug Fixes since version 1.0.2"
28
28
msgstr"🛠️ Correctifs depuis la version 1.0.2"
29
29
30
+
msgid"**Plugin development - Infinite loop when iterating over group objects:**"
31
+
msgstr"**Développement de plugins - Boucle infinie lors de l'itération sur les objets d'un groupe :**"
32
+
33
+
msgid"Fixed infinite loop occurring in plugins when iterating over object IDs returned by `ObjectGroup.get_object_ids()` while simultaneously adding new objects to the same group"
34
+
msgstr"Correction de la boucle infinie se produisant dans les plugins lors de l'itération sur les identifiants d'objets retournés par `ObjectGroup.get_object_ids()` tout en ajoutant simultanément de nouveaux objets au même groupe"
35
+
36
+
msgid"The method was returning a direct reference to the internal list instead of a copy, causing the iteration to include newly added objects and loop indefinitely"
37
+
msgstr"La méthode retournait une référence directe à la liste interne au lieu d'une copie, ce qui faisait que l'itération incluait les objets nouvellement ajoutés et bouclait indéfiniment"
38
+
39
+
msgid"This particularly affected plugin workflows that loop over signals/images in a group and add results to the same or another group"
40
+
msgstr"Cela affectait particulièrement les flux de travail des plugins qui bouclent sur les signaux/images d'un groupe et ajoutent des résultats au même groupe ou à un autre groupe"
41
+
42
+
msgid"The fix ensures `get_object_ids()` now returns a copy of the list, making iteration safe even when modifying the group"
43
+
msgstr"Le correctif garantit que `get_object_ids()` retourne désormais une copie de la liste, rendant l'itération sûre même lors de la modification du groupe"
44
+
45
+
msgid"This closes [Issue #274](https://github.com/datalab-platform/datalab/issues/274) - Infinite loop when iterating over group objects while adding new objects"
46
+
msgstr"Ceci clôture [Issue #274](https://github.com/datalab-platform/datalab/issues/274) - Boucle infinie lors de l'itération sur les objets d'un groupe tout en ajoutant de nouveaux objets"
47
+
48
+
msgid"**Marker visibility:**"
49
+
msgstr"**Visibilité des marqueurs :**"
50
+
51
+
msgid"Fixed cross marker (shown when pressing Alt key on plot) colors inherited from PlotPy being too pale on white background, and other marker properties explicitly configured for better contrast"
52
+
msgstr"Correction des couleurs du marqueur en croix (affiché en appuyant sur la touche Alt sur le graphique) héritées de PlotPy étant trop pâles sur fond blanc, et d'autres propriétés de marqueurs explicitement configurées pour un meilleur contraste"
53
+
54
+
msgid"Fixed default annotation colors inherited from PlotPy being too pale on white background - segment and drag shape annotations now use brighter green (`#00ff55`) for better visibility"
55
+
msgstr"Correction des couleurs d'annotation par défaut héritées de PlotPy étant trop pâles sur fond blanc - les annotations de segments et de formes glissées utilisent désormais un vert plus vif (`#00ff55`) pour une meilleure visibilité"
Copy file name to clipboardExpand all lines: doc/release_notes/release_1.00.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,14 @@
4
4
5
5
### 🛠️ Bug Fixes since version 1.0.2 ###
6
6
7
+
**Plugin development - Infinite loop when iterating over group objects:**
8
+
9
+
* Fixed infinite loop occurring in plugins when iterating over object IDs returned by `ObjectGroup.get_object_ids()` while simultaneously adding new objects to the same group
10
+
* The method was returning a direct reference to the internal list instead of a copy, causing the iteration to include newly added objects and loop indefinitely
11
+
* This particularly affected plugin workflows that loop over signals/images in a group and add results to the same or another group
12
+
* The fix ensures `get_object_ids()` now returns a copy of the list, making iteration safe even when modifying the group
13
+
* This closes [Issue #274](https://github.com/datalab-platform/datalab/issues/274) - Infinite loop when iterating over group objects while adding new objects
14
+
7
15
**Marker visibility:**
8
16
9
17
* Fixed cross marker (shown when pressing Alt key on plot) colors inherited from PlotPy being too pale on white background, and other marker properties explicitly configured for better contrast
0 commit comments