diff options
| author | Aram Drevekenin <aram@poor.dev> | 2025-10-21 14:36:30 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-21 14:36:30 +0200 |
| commit | 889bd06f447f9d50ee46b8efc7d9970d3693cb96 (patch) | |
| tree | 171fa657faccf4b4ce7124847977626826a2a750 /zellij-server/src/plugins/mod.rs | |
| parent | Give plugins the ability to read pane contents (#4465) (diff) | |
| download | sl0ppij-889bd06f447f9d50ee46b8efc7d9970d3693cb96.tar.gz sl0ppij-889bd06f447f9d50ee46b8efc7d9970d3693cb96.tar.xz sl0ppij-889bd06f447f9d50ee46b8efc7d9970d3693cb96.zip | |
Migrate from wasmtime to wasmi (#4449)
* initial implementation
* fix stdio and host folder mounting
* some memory usage optimizations
* fix plugin tests
* remove unused plugin cache
* fix docker-compose for e2e tests when running locally
* rustfmt
* initial pinned executor implementation
* EXPERIMENT: add jemalloc
* initial dynamic pinned threadpool
* cleanups and experiments
* keep state on execution threads
* reintroduce memory cache
* add wasmi engine to executor threads
* load plugins for new clients on the relevant executor thread
* only show loading indication of loading for more than 0.4 secs
* fix anonymous plugin loading without client id
* refactor lots of stuff
* update snapshots
* tests for pinned executor
* remove jemalloc
* fix stderr from plugins
* cleanups
* rustfmt
* cleanups
* fix endless loading for additinal attachments
* more cleanups
* remove singlepass feature
* fix displaying plugin permission message
* render optimizations
* always render for tests
* rustfmt
* optimize release build for wasmi
* fixes for multiple client plugin loading
* fix frame rendering for multiple clients
* rustfmt
* fix loading background plugins and e2e event ordering change
* rustfmt
* account for races in the pin_floating_panes e2e test
* docs(changelog): add PR
Diffstat (limited to 'zellij-server/src/plugins/mod.rs')
| -rw-r--r-- | zellij-server/src/plugins/mod.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/zellij-server/src/plugins/mod.rs b/zellij-server/src/plugins/mod.rs index 14fbf345..126ec356 100644 --- a/zellij-server/src/plugins/mod.rs +++ b/zellij-server/src/plugins/mod.rs @@ -1,3 +1,4 @@ +mod pinned_executor; mod pipes; mod plugin_loader; mod plugin_map; @@ -6,13 +7,15 @@ mod wasm_bridge; mod watch_filesystem; mod zellij_exports; use log::info; + +pub use pinned_executor::PinnedExecutor; use std::{ collections::{BTreeMap, HashMap, HashSet}, fs, path::PathBuf, time::Duration, }; -use wasmtime::Engine; +use wasmi::Engine; use crate::panes::PaneId; use crate::screen::ScreenInstruction; @@ -313,7 +316,6 @@ pub(crate) fn plugin_thread_main( cwd.clone(), skip_cache, Some(client_id), - None, ) { Ok((plugin_id, client_id)) => { drop(bus.senders.send_to_screen(ScreenInstruction::AddPlugin( @@ -389,7 +391,6 @@ pub(crate) fn plugin_thread_main( None, skip_cache, None, - None, ) { Ok((plugin_id, _client_id)) => { let should_be_open_in_place = false; @@ -501,7 +502,6 @@ pub(crate) fn plugin_thread_main( cwd, skip_cache, Some(client_id), - None, )?; plugin_ids .entry(run_plugin_or_alias.clone()) @@ -1124,7 +1124,6 @@ fn load_background_plugin( cwd.clone(), skip_cache, Some(client_id), - None, ) { Ok((plugin_id, client_id)) => { let should_float = None; |
