File zellij-update-wasmtime-wasi-to-33.0.2.patch of Package zellij
diff --git i/zellij-server/Cargo.toml w/zellij-server/Cargo.toml
index b8d1c576..af7c4bdb 100644
--- i/zellij-server/Cargo.toml
+++ w/zellij-server/Cargo.toml
@@ -45,11 +45,11 @@ unicode-width = { workspace = true }
url = { workspace = true }
uuid = { workspace = true }
vte = { workspace = true }
-wasmtime-wasi = { version = "29.0.1", default-features = false, features = ["preview1"] } # Keep in sync with wasmtime
+wasmtime-wasi = { version = "33.0.2", default-features = false, features = ["preview1"] } # Keep in sync with wasmtime
zellij-utils = { workspace = true }
[dependencies.wasmtime]
-version = "29.0.1" # Keep in sync with wasmtime-wasi
+version = "33.0.2" # Keep in sync with wasmtime-wasi
default-features = false
features = [
'addr2line',
@@ -65,7 +65,7 @@ features = [
[dev-dependencies]
insta = "1.6.0"
tempfile = "3.2.0"
-wasmtime = { version = "29.0.1", features = ["winch"] } # Keep in sync with the other wasmtime dep
+wasmtime = { version = "33.0.2", features = ["winch"] } # Keep in sync with the other wasmtime dep
[features]
singlepass = ["wasmtime/winch"]
diff --git i/zellij-server/src/plugins/plugin_loader.rs w/zellij-server/src/plugins/plugin_loader.rs
index 4d8a4542..b193eaab 100644
--- i/zellij-server/src/plugins/plugin_loader.rs
+++ w/zellij-server/src/plugins/plugin_loader.rs
@@ -15,7 +15,8 @@ use std::{
};
use url::Url;
use wasmtime::{Engine, Instance, Linker, Module, Store};
-use wasmtime_wasi::{preview1::WasiP1Ctx, DirPerms, FilePerms, WasiCtxBuilder};
+use wasmtime_wasi::p2::WasiCtxBuilder;
+use wasmtime_wasi::{preview1::WasiP1Ctx, DirPerms, FilePerms};
use zellij_utils::consts::ZELLIJ_PLUGIN_ARTIFACT_DIR;
use crate::{
diff --git i/zellij-server/src/plugins/plugin_map.rs w/zellij-server/src/plugins/plugin_map.rs
index a92c291a..6d8c6384 100644
--- i/zellij-server/src/plugins/plugin_map.rs
+++ w/zellij-server/src/plugins/plugin_map.rs
@@ -8,11 +8,10 @@ use std::{
sync::{Arc, Mutex},
};
use wasmtime::{Instance, Store};
-use wasmtime_wasi::preview1::WasiP1Ctx;
-use wasmtime_wasi::{
- HostInputStream, HostOutputStream, StdinStream, StdoutStream, StreamError, StreamResult,
- Subscribe,
+use wasmtime_wasi::p2::{
+ InputStream, OutputStream, Pollable, StdinStream, StdoutStream, StreamError, StreamResult,
};
+use wasmtime_wasi::preview1::WasiP1Ctx;
use crate::{thread_bus::ThreadSenders, ClientId};
@@ -320,7 +319,7 @@ pub struct PluginEnv {
pub struct VecDequeInputStream(pub Arc<Mutex<VecDeque<u8>>>);
impl StdinStream for VecDequeInputStream {
- fn stream(&self) -> Box<dyn wasmtime_wasi::HostInputStream> {
+ fn stream(&self) -> Box<dyn InputStream> {
Box::new(self.clone())
}
@@ -329,7 +328,7 @@ impl StdinStream for VecDequeInputStream {
}
}
-impl HostInputStream for VecDequeInputStream {
+impl InputStream for VecDequeInputStream {
fn read(&mut self, size: usize) -> StreamResult<Bytes> {
let mut inner = self.0.lock().unwrap();
let len = std::cmp::min(size, inner.len());
@@ -338,7 +337,7 @@ impl HostInputStream for VecDequeInputStream {
}
#[async_trait::async_trait]
-impl Subscribe for VecDequeInputStream {
+impl Pollable for VecDequeInputStream {
async fn ready(&mut self) {}
}
@@ -351,7 +350,7 @@ impl<T> Clone for WriteOutputStream<T> {
}
impl<T: Write + Send + 'static> StdoutStream for WriteOutputStream<T> {
- fn stream(&self) -> Box<dyn HostOutputStream> {
+ fn stream(&self) -> Box<dyn OutputStream> {
Box::new((*self).clone())
}
@@ -360,7 +359,7 @@ impl<T: Write + Send + 'static> StdoutStream for WriteOutputStream<T> {
}
}
-impl<T: Write + Send + 'static> HostOutputStream for WriteOutputStream<T> {
+impl<T: Write + Send + 'static> OutputStream for WriteOutputStream<T> {
fn write(&mut self, bytes: Bytes) -> StreamResult<()> {
self.0
.lock()
@@ -383,7 +382,7 @@ impl<T: Write + Send + 'static> HostOutputStream for WriteOutputStream<T> {
}
#[async_trait::async_trait]
-impl<T: Send + 'static> Subscribe for WriteOutputStream<T> {
+impl<T: Send + 'static> Pollable for WriteOutputStream<T> {
async fn ready(&mut self) {}
}