Skip to content

Commit c99848f

Browse files
committed
fix(App): Bugfix Fix memory leak in recipe polling loop
1 parent a585f2b commit c99848f

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/models/Service.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export default class Service {
66
id = '';
77
recipe = '';
88
webview = null;
9+
timer = null;
910
events: {};
1011

1112
isAttached = false;

src/stores/ServicesStore.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -589,12 +589,16 @@ export default class ServicesStore extends Store {
589589
const delay = 1000;
590590

591591
if (service) {
592+
if (service.timer !== null) {
593+
clearTimeout(service.timer)
594+
}
595+
592596
const loop = () => {
593597
if (!service.webview) return;
594598

595599
service.webview.send('poll');
596600

597-
setTimeout(loop, delay);
601+
service.timer = setTimeout(loop, delay);
598602
};
599603

600604
loop();

0 commit comments

Comments
 (0)