Skip to content

Commit

Permalink
fix: no longer unpacking and flattening payload, closes #7673 (#7677)
Browse files Browse the repository at this point in the history
  • Loading branch information
simonhyll committed Sep 4, 2023
1 parent 41067ce commit e98393e
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 5 deletions.
5 changes: 5 additions & 0 deletions .changes/fix-ipc-payload.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"tauri": 'patch:bug'
---

No longer unpacking and flattening the `payload` over the IPC so that commands with arguments called `cmd`, `callback`, `error`, `options` or `payload` aren't breaking the IPC.
4 changes: 2 additions & 2 deletions core/tauri/scripts/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,11 @@

window.__TAURI_INVOKE__ = function invoke(cmd, payload = {}, options) {
return new Promise(function (resolve, reject) {
var callback = window.__TAURI__.transformCallback(function (r) {
const callback = window.__TAURI__.transformCallback(function (r) {
resolve(r)
delete window[`_${error}`]
}, true)
var error = window.__TAURI__.transformCallback(function (e) {
const error = window.__TAURI__.transformCallback(function (e) {
reject(e)
delete window[`_${callback}`]
}, true)
Expand Down
2 changes: 1 addition & 1 deletion core/tauri/scripts/ipc-protocol.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
})
} else {
// otherwise use the postMessage interface
const { data } = processIpcMessage({ cmd, callback, error, options, ...payload })
const { data } = processIpcMessage({ cmd, callback, error, options, payload })
window.ipc.postMessage(data)
}
}
Expand Down
2 changes: 0 additions & 2 deletions core/tauri/src/ipc/protocol.rs
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ fn handle_ipc_message<R: Runtime>(message: String, manager: &WindowManager<R>, l
cmd: String,
callback: CallbackFn,
error: CallbackFn,
#[serde(flatten)]
payload: serde_json::Value,
options: Option<RequestOptions>,
}
Expand All @@ -142,7 +141,6 @@ fn handle_ipc_message<R: Runtime>(message: String, manager: &WindowManager<R>, l
cmd: String,
callback: CallbackFn,
error: CallbackFn,
#[serde(flatten)]
payload: crate::utils::pattern::isolation::RawIsolationPayload<'a>,
options: Option<RequestOptions>,
}
Expand Down

0 comments on commit e98393e

Please sign in to comment.