tauri-apps / tauri

Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
https://tauri.app
Apache License 2.0
84.23k stars 2.53k forks source link

[bug] A new Channel instance can only transmit once. #11421

Open yueduz opened 1 week ago

yueduz commented 1 week ago

Describe the bug

Under Linux Gnome,,A new Channel instance can only transmit once.The backend outputs 6 times, while the frontend only outputs 3 times 截图 2024-10-20 10-22-36

Reproduction

No response

Expected behavior

No response

Full tauri info output

$ pnpm run tauri info                                                   [10:28:13]

> wave@0.1.0 tauri /home/lei/wave
> tauri "info"

[✔] Environment
    - OS: Arch Linux Unknown x86_64 (X64)
    ✔ webkit2gtk-4.1: 2.46.1
    ✔ rsvg2: 2.59.1
    ✔ rustc: 1.81.0 (eeb90cda1 2024-09-04)
    ✔ cargo: 1.81.0 (2dbb1af80 2024-08-20)
    ✔ rustup: 1.27.1 (2024-05-07)
    ✔ Rust toolchain: stable-x86_64-unknown-linux-gnu (default)
    - node: 22.9.0
    - pnpm: 9.12.1
    - bun: 1.1.30
    - deno: deno 1.46.3

[-] Packages
    - tauri 🦀: 2.0.4
    - tauri-build 🦀: 2.0.1
    - wry 🦀: 0.46.2
    - tao 🦀: 0.30.3
    - @tauri-apps/api : 2.0.2
    - @tauri-apps/cli : 2.0.3

[-] Plugins
    - tauri-plugin-shell 🦀: 2.0.1
    - @tauri-apps/plugin-shell : 2.0.0

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - framework: Vue.js
    - bundler: Vite


### Stack trace

_No response_

### Additional context

_No response_
lucasfernog commented 1 week ago

that's a caveat with the message ordering mechanism that's part of the channel; I think we should document that behavior and recommend users to use a dedicated channel per invoke call

lucasfernog commented 1 week ago

alternatively i think we can use a dedicated "tunnel" per channel so the ordering per command call is not a problem for this use case