@axa-fr/slimfaas-planet-saver 0.41.0 → 0.41.1-pr.1608

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,21 +29,22 @@ import { SlimFaasPlanetSaver } from '@axa-fr/slimfaas-planet-saver';
29
29
 
30
30
  const PlanetSaver = ({ children, baseUrl, fetch, noActivityTimeout=60000, behavior={} }) => {
31
31
  const [isFirstStart, setIsFirstStart] = useState(true);
32
- const environmentStarterRef = useRef(null);
32
+ const instanceRef = useRef(null);
33
33
 
34
34
  useEffect(() => {
35
35
  if (!baseUrl) return;
36
36
 
37
- if (environmentStarterRef.current) return;
37
+ if (instanceRef.current) return;
38
38
 
39
39
  const instance = new SlimFaasPlanetSaver(baseUrl, {
40
40
  interval: 2000,
41
41
  fetch,
42
42
  behavior,
43
43
  updateCallback: (data) => {
44
+ const inst = instanceRef.current;
44
45
  // Filter only the items that block the UI (WakeUp+BlockUI)
45
46
  const blockingItems = data.filter(
46
- (item) => instance.getBehavior(item.Name) === 'WakeUp+BlockUI'
47
+ (item) => inst?.getBehavior(item.Name) === 'WakeUp+BlockUI'
47
48
  );
48
49
 
49
50
  // If all blocking items are ready, set isFirstStart to false
@@ -66,15 +67,18 @@ const PlanetSaver = ({ children, baseUrl, fetch, noActivityTimeout=60000, behavi
66
67
  noActivityTimeout
67
68
  });
68
69
 
69
- environmentStarterRef.current = instance;
70
+ instanceRef.current = instance;
70
71
 
71
72
  // Initialiser les effets de bord
72
73
  instance.initialize();
73
74
  instance.startPolling();
74
75
 
75
76
  return () => {
76
- instance.cleanup();
77
- environmentStarterRef.current = null;
77
+ try {
78
+ instance.cleanup();
79
+ } finally {
80
+ instanceRef.current = null;
81
+ }
78
82
  };
79
83
  }, [baseUrl]);
80
84
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@axa-fr/slimfaas-planet-saver",
3
3
  "private": false,
4
- "version": "0.41.0",
4
+ "version": "0.41.1-pr.1608",
5
5
  "type": "module",
6
6
  "main": "./src/SlimFaasPlanetSaver.js",
7
7
  "module": "./src/SlimFaasPlanetSaver.js",
@@ -154,7 +154,7 @@ export default class SlimFaasPlanetSaver {
154
154
  this.errorCallback(errorMessage);
155
155
  console.error('Error fetching slimfaas data:', errorMessage);
156
156
  } finally {
157
- if (this.intervalId) {
157
+ if (!this.cleanned) {
158
158
  this.intervalId = setTimeout(() => {
159
159
  this.fetchStatus();
160
160
  }, this.interval);
@@ -180,9 +180,6 @@ export default class SlimFaasPlanetSaver {
180
180
  startPolling() {
181
181
  if (this.intervalId || !this.baseUrl || this.cleanned) return;
182
182
  this.fetchStatus();
183
- this.intervalId = setTimeout(() => {
184
- this.fetchStatus();
185
- }, this.interval);
186
183
  }
187
184
 
188
185
  /**