Skip to content

Commit f72cace

Browse files
fix: never remove ipc callback & mem never be released (#4274)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
1 parent 53ae13d commit f72cace

4 files changed

Lines changed: 11 additions & 5 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"tauri": patch
3+
"api": patch
4+
---
5+
6+
Fixes a memory leak in the command system.

core/tauri/scripts/bundle.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/tauri/scripts/core.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@
5252
return new Promise(function (resolve, reject) {
5353
var callback = window.__TAURI__.transformCallback(function (r) {
5454
resolve(r)
55-
delete window[error]
55+
delete window[`_${error}`]
5656
}, true)
5757
var error = window.__TAURI__.transformCallback(function (e) {
5858
reject(e)
59-
delete window[callback]
59+
delete window[`_${callback}`]
6060
}, true)
6161

6262
if (typeof cmd === 'string') {

tooling/api/src/tauri.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,11 @@ async function invoke<T>(cmd: string, args: InvokeArgs = {}): Promise<T> {
6969
return new Promise((resolve, reject) => {
7070
const callback = transformCallback((e: T) => {
7171
resolve(e)
72-
Reflect.deleteProperty(window, error)
72+
Reflect.deleteProperty(window, `_${error}`)
7373
}, true)
7474
const error = transformCallback((e) => {
7575
reject(e)
76-
Reflect.deleteProperty(window, callback)
76+
Reflect.deleteProperty(window, `_${callback}`)
7777
}, true)
7878

7979
window.__TAURI_IPC__({

0 commit comments

Comments
 (0)