Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(feat): disable_automatic_asset_installation #1226

Merged

Conversation

a-kenji
Copy link
Contributor

@a-kenji a-kenji commented Mar 16, 2022

This fixes a regression in the feature system:
The asset installation didn't get turned off by the feature.

fixes #1130

@CaptainBloodz
Copy link

My bad,
restarted with new patch file targeting 2 files...

@CaptainBloodz
Copy link

My bad, restarted with new patch file targeting 2 files...
Failing to build here on 0.26.0:
New patch fails.
Should I keep the initial pr:
Also fails.

@CaptainBloodz
Copy link

CaptainBloodz commented Mar 16, 2022

I'm calming down now...
I see you posted:

fix(feat): disable mkdir in wasm_wm

fixup! fix unused code warnings

fix(setup): properly show features in setup

Should I keep initial patch?

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 16, 2022

@CaptainBloodz
I don't think you need the initial patch, I put most of the logic into the install.rs part now, to encapsulate it.

@CaptainBloodz
Copy link

CaptainBloodz commented Mar 16, 2022

Ouch:0.26.0 here.
wasm_vm.rs patches fine BUT:
patching file src/commands.rs
Hunk #1 FAILED at 88.
1 out of 1 hunk FAILED -- saving rejects to file src/commands.rs.rej
patching file src/install.rs
Cargo.toml x2 patches fine too.

@CaptainBloodz
Copy link

Failing the same on 0.26.1...

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 16, 2022

It gets squashed anyway on merge. So if you want to I can squash it.

@a-kenji a-kenji force-pushed the fix/feature-disable-asset-installation branch from 92d4f74 to ea6ad5d Compare March 16, 2022 23:02
@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 16, 2022

@CaptainBloodz
Now it should be easier to apply.

This fixes a regression in the feature system:
The asset installation didn't get turned off by the feature.

Add error logging to the install functions.

Properly show features in setup

* fix(feat): disable `mkdir` in wasm_wm

The `wasm_vm` creates the `plugin_dir` before mounting it.
Turn that behavior off on `feature-disable-asset-installation`.

Alternative:
    Is this even needed? We make sure the directory is there upon the
    normal asset installation.

fixes zellij-org#1130
@a-kenji a-kenji force-pushed the fix/feature-disable-asset-installation branch from ea6ad5d to 22cff54 Compare March 16, 2022 23:06
@CaptainBloodz
Copy link

Patching fine with 4 patch files...
Currently building 0.26.0 & debugging gentoo 0.26.1 script...

@CaptainBloodz
Copy link

-------------
patch0.patch
-------------
From 274942849167af41d43e1ceceb116d66f4edcbb2 Mon Sep 17 00:00:00 2001
From: a-kenji <aks.kenji@protonmail.com>
Date: Wed, 16 Mar 2022 21:49:41 +0100
Subject: [PATCH] fix(feat): `disable_automatic_asset_installation`

This fixes a regression in the feature system:
The asset installation didn't get turned off by the feature.

fixes #1130
---
 src/commands.rs | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/commands.rs b/src/commands.rs
index 542741343..9ecccb0c5 100644
--- a/src/commands.rs
+++ b/src/commands.rs
@@ -88,9 +88,11 @@ fn create_new_client() -> ClientInfo {
 }
 
 fn install_default_assets(opts: &CliArgs) {
-    let data_dir = opts.data_dir.clone().unwrap_or_else(get_default_data_dir);
-    #[cfg(not(disable_automatic_asset_installation))]
-    populate_data_dir(&data_dir);
+    #[cfg(not(feature = "disable_automatic_asset_installation"))]
+    {
+        let data_dir = opts.data_dir.clone().unwrap_or_else(get_default_data_dir);
+        populate_data_dir(&data_dir);
+    }
 }
 
 fn find_indexed_session(

-------------
patch1.patch
-------------
From 5de635b96ccb7e5a9ff2460e8b422cb1202ea744 Mon Sep 17 00:00:00 2001
From: a-kenji <aks.kenji@protonmail.com>
Date: Wed, 16 Mar 2022 22:47:59 +0100
Subject: [PATCH] fix(feat): disable `mkdir` in wasm_wm

The `wasm_vm` creates the `plugin_dir` before mounting it.
Turn that behavior off on `feature-disable-asset-installation`.

Alternative:
    Is this even needed? We make sure the directory is there upon the
    normal asset installation.
---
 zellij-server/src/wasm_vm.rs | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/zellij-server/src/wasm_vm.rs b/zellij-server/src/wasm_vm.rs
index ebea0b8c..326ea012 100644
--- a/zellij-server/src/wasm_vm.rs
+++ b/zellij-server/src/wasm_vm.rs
@@ -92,6 +92,8 @@ pub(crate) fn wasm_thread_main(
     let mut connected_clients: Vec<ClientId> = vec![];
     let plugin_dir = data_dir.join("plugins/");
     let plugin_global_data_dir = plugin_dir.join("data");
+
+    #[cfg(not(feature = "disable_automatic_asset_installation"))]
     fs::create_dir_all(&plugin_global_data_dir).unwrap();
 
     loop {

-------------
patch2.patch
-------------
From c992073eb5f00c2a1fa5a77f3b46213b1fbde2b0 Mon Sep 17 00:00:00 2001
From: a-kenji <aks.kenji@protonmail.com>
Date: Wed, 16 Mar 2022 23:13:59 +0100
Subject: [PATCH] fixup! fix unused code warnings

Caused by conditional compilation.
---
 src/commands.rs | 7 ++-----
 src/install.rs  | 7 +++++++
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/commands.rs b/src/commands.rs
index 9ecccb0c5..cfbcb8f08 100644
--- a/src/commands.rs
+++ b/src/commands.rs
@@ -88,11 +88,8 @@ fn create_new_client() -> ClientInfo {
 }
 
 fn install_default_assets(opts: &CliArgs) {
-    #[cfg(not(feature = "disable_automatic_asset_installation"))]
-    {
-        let data_dir = opts.data_dir.clone().unwrap_or_else(get_default_data_dir);
-        populate_data_dir(&data_dir);
-    }
+    let data_dir = opts.data_dir.clone().unwrap_or_else(get_default_data_dir);
+    populate_data_dir(&data_dir);
 }
 
 fn find_indexed_session(
diff --git a/src/install.rs b/src/install.rs
index e7778dde2..41c24d5ac 100644
--- a/src/install.rs
+++ b/src/install.rs
@@ -1,7 +1,10 @@
+#[cfg(not(feature = "disable_automatic_asset_installation"))]
 use std::fs;
 use std::path::Path;
+#[cfg(not(feature = "disable_automatic_asset_installation"))]
 use zellij_utils::{consts::VERSION, shared::set_permissions};
 
+#[cfg(not(feature = "disable_automatic_asset_installation"))]
 macro_rules! asset_map {
     ($($src:literal => $dst:literal),+ $(,)?) => {
         {
@@ -14,6 +17,7 @@ macro_rules! asset_map {
     }
 }
 
+#[cfg(not(feature = "disable_automatic_asset_installation"))]
 pub(crate) fn populate_data_dir(data_dir: &Path) {
     // First run installation of default plugins & layouts
     let mut assets = asset_map! {
@@ -36,3 +40,6 @@ pub(crate) fn populate_data_dir(data_dir: &Path) {
         }
     }
 }
+
+#[cfg(feature = "disable_automatic_asset_installation")]
+pub(crate) fn populate_data_dir(_data_dir: &Path) {}

-------------
patch3.patch
-------------
From 92d4f74b54049b206aca2377b0f98eb1d44d6848 Mon Sep 17 00:00:00 2001
From: a-kenji <aks.kenji@protonmail.com>
Date: Wed, 16 Mar 2022 23:38:06 +0100
Subject: [PATCH] fix(setup): properly show features in setup

---
 Cargo.toml              | 2 +-
 zellij-utils/Cargo.toml | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/Cargo.toml b/Cargo.toml
index 78457fdc..e522a11f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -64,4 +64,4 @@ bin-dir = "{ bin }{ binary-ext }"
 pkg-fmt = "tgz"
 
 [features]
-disable_automatic_asset_installation = []
+disable_automatic_asset_installation = [ "zellij-utils/disable_automatic_asset_installation" ]
diff --git a/zellij-utils/Cargo.toml b/zellij-utils/Cargo.toml
index 4e837f5a..1e3223dd 100644
--- a/zellij-utils/Cargo.toml
+++ b/zellij-utils/Cargo.toml
@@ -46,3 +46,5 @@ features = ["unstable"]
 [dev-dependencies]
 tempfile = "3.2.0"
 
+[features]
+disable_automatic_asset_installation = [ ]

fails as in 0.26.0;

RUST_BACKTRACE=full zellij 



















Error occurred in server:
Originating Thread(s):

Error: thread 'wasm' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }': zellij-server/src/wasm_vm.rs:97
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: start_thread
  12: __clone

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 16, 2022

Could you check please with zellij setup --check again if the feature is active?

@CaptainBloodz
Copy link

Rebuilding with all-in-one single patch file...

@CaptainBloodz
Copy link

0.26.0:

RUST_BACKTRACE=full zellij 

Error occurred in server:
Originating Thread(s):
1. ipc_server: NewClient
2. pty_thread: NewTab
3. screen_thread: NewTab
4. plugin_thread: Load

Error: thread 'wasm' panicked at 'Cannot resolve wasm bytes for plugin PluginConfig { path: "tab-bar", run: Pane(None), _allow_exec_host_cmd: false, location: Zellij(PluginTag("tab-bar")) }': zellij-server/src/wasm_vm.rs:252
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: start_thread
  12: __clone

@CaptainBloodz
Copy link

zellij setup --check
[Version]: "0.26.0"
[CONFIG DIR]: Not Found
 On your system zellij looks in the following config directories by default:
 "/home/luc/.config/zellij"
 "/etc/zellij"
[CONFIG FILE]: Not Found
 By default zellij looks for a file called [config.yaml] in the configuration directory
[DATA DIR]: "/usr/share/zellij"
[PLUGIN DIR]: "/usr/share/zellij/plugins"
[LAYOUT DIR]: Not Found
[SYSTEM DATA DIR]: "/usr/share/zellij"
[ARROW SEPARATOR]: 
 Is the [ARROW_SEPARATOR] displayed correctly?
 If not you may want to either start zellij with a compatible mode: 'zellij options --simplified-ui true'
 Or check the font that is in use:
 https://zellij.dev/documentation/compatibility.html#the-status-bar-fonts-dont-render-correctly
[MOUSE INTERACTION]: 
 Can be temporarily disabled through pressing the [SHIFT] key.
 If that doesn't fix any issues consider to disable the mouse handling of zellij: 'zellij options --disable-mouse-mode'
[FEATURES]: ["disable_automatic_asset_installation"]
[DOCUMENTATION]: zellij.dev/documentation

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 17, 2022

Do you have the tab bar located in /usr/share/zellij/plugins/tab-bar.wasm?

@CaptainBloodz
Copy link

efil zellij
 * Searching for zellij ...
 * Contents of app-misc/zellij-0.26.0:
/usr
/usr/bin
/usr/bin/zellij
/usr/share
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/zellij
/usr/share/doc
/usr/share/doc/zellij-0.26.0
/usr/share/doc/zellij-0.26.0/ARCHITECTURE.md.lzma
/usr/share/doc/zellij-0.26.0/CHANGELOG.md.lzma
/usr/share/doc/zellij-0.26.0/MANPAGE.md.lzma
/usr/share/doc/zellij-0.26.0/README.md.lzma
/usr/share/doc/zellij-0.26.0/TERMINOLOGY.md.lzma
/usr/share/doc/zellij-0.26.0/THIRD_PARTY_INSTALL.md.lzma
/usr/share/fish
/usr/share/fish/vendor-completions
/usr/share/fish/vendor-completions/_zellij
/usr/share/fish/vendor_completions.d
/usr/share/fish/vendor_completions.d/zellij.fish
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/zellij.1.lzma
/usr/share/xsessions
/usr/share/xsessions/zellij.desktop
/usr/share/zellij
/usr/share/zellij/layouts
/usr/share/zellij/layouts/multiple_tabs_layout.yaml
/usr/share/zellij/layouts/multiple_tabs_layout_htop_command.yaml
/usr/share/zellij/layouts/run_htop_layout.yaml
/usr/share/zellij/layouts/run_htop_layout_with_plugins.yaml
/usr/share/zellij/plugins
/usr/share/zellij/plugins/status-bar.wasm
/usr/share/zellij/plugins/strider.wasm
/usr/share/zellij/plugins/tab-bar.wasm

@CaptainBloodz
Copy link

amd64 ~ # ll /usr/share/zellij
total 12
drwxr-xr-x 2 root root 4096 mars  17 02:53 layouts
drwx------ 2 root root 4096 mars  17 02:53 plugins
-rw-r--r-- 1 root root    6 mars  16 22:11 VERSION
amd64 ~ # ll /usr/share/zellij/*
-rw-r--r-- 1 root root    6 mars  16 22:11 /usr/share/zellij/VERSION

/usr/share/zellij/layouts:
total 16
-rw-r--r-- 1 root root 1808 mars  17 02:51 multiple_tabs_layout_htop_command.yaml
-rw-r--r-- 1 root root 1748 mars  17 02:51 multiple_tabs_layout.yaml
-rw-r--r-- 1 root root  813 mars  17 02:51 run_htop_layout_with_plugins.yaml
-rw-r--r-- 1 root root  464 mars  17 02:51 run_htop_layout.yaml

/usr/share/zellij/plugins:
total 1540
-rw-r--r-- 1 root root 545028 mars  17 02:51 status-bar.wasm
-rw-r--r-- 1 root root 581122 mars  17 02:51 strider.wasm
-rw-r--r-- 1 root root 444257 mars  17 02:51 tab-bar.wasm

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 17, 2022

Could you try changing your plugin config to (in config.toml):

plugins:
    - path: /usr/share/zellij/plugins/tab-bar.wasm
      tag: tab-bar
    - path: /usr/share/zellij/plugins/status-bar.wasm
      tag: status-bar
    - path: /usr/share/zellij/plugins/strider.wasm
      tag: strider

Thanks for all the help so far! I think we are getting very close.

@CaptainBloodz
Copy link

find . -name Cargo.toml
./Cargo.toml
./zellij-utils/Cargo.toml
./zellij-tile/Cargo.toml
./zellij-tile-utils/Cargo.toml
./zellij-server/Cargo.toml
./zellij-client/Cargo.toml
./default-plugins/tab-bar/Cargo.toml
./default-plugins/strider/Cargo.toml
./default-plugins/status-bar/Cargo.toml

Which one?

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 17, 2022

mkdir ~/.config/zellij
zellij setup --dump-config > ~/.config/zellij/config.yaml

Oh, sorry it's the config.yaml file.

@CaptainBloodz
Copy link

CaptainBloodz commented Mar 17, 2022

amd64 ~ # ll /usr/share/zellij
total 12
drwxr-xr-x 2 root root 4096 mars  17 02:53 layouts
drwx------ 2 root root 4096 mars  17 02:53 plugins
-rw-r--r-- 1 root root    6 mars  16 22:11 VERSION
amd64 ~ # ll /usr/share/zellij/*
-rw-r--r-- 1 root root    6 mars  16 22:11 /usr/share/zellij/VERSION

/usr/share/zellij/layouts:
total 16
-rw-r--r-- 1 root root 1808 mars  17 02:51 multiple_tabs_layout_htop_command.yaml
-rw-r--r-- 1 root root 1748 mars  17 02:51 multiple_tabs_layout.yaml
-rw-r--r-- 1 root root  813 mars  17 02:51 run_htop_layout_with_plugins.yaml
-rw-r--r-- 1 root root  464 mars  17 02:51 run_htop_layout.yaml

/usr/share/zellij/plugins:
total 1540
-rw-r--r-- 1 root root 545028 mars  17 02:51 status-bar.wasm
-rw-r--r-- 1 root root 581122 mars  17 02:51 strider.wasm
-rw-r--r-- 1 root root 444257 mars  17 02:51 tab-bar.wasm

Isn't there a right issue on .../plugins dir and/or content?

Once config.yaml created & modified:

RUST_BACKTRACE=full zellij 

Error occurred in server:
Originating Thread(s):
1. ipc_server: NewClient
2. pty_thread: NewTab
3. screen_thread: NewTab
4. plugin_thread: Load

Error: thread 'wasm' panicked at 'Cannot resolve wasm bytes for plugin PluginConfig { path: "tab-bar", run: Pane(None), _allow_exec_host_cmd: false, location: Zellij(PluginTag("tab-bar")) }': zellij-server/src/wasm_vm.rs:252
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: start_thread
  12: __clone

@CaptainBloodz
Copy link

luc@amd64 ~ $ zellij setup --check
[Version]: "0.26.0"
[CONFIG DIR]: "/home/luc/.config/zellij"
[CONFIG FILE]: "/home/luc/.config/zellij/config.yaml"
[CONFIG FILE]: Well defined.
[DATA DIR]: "/usr/share/zellij"
[PLUGIN DIR]: "/usr/share/zellij/plugins"
[LAYOUT DIR]: "/home/luc/.config/zellij/layouts"
[SYSTEM DATA DIR]: "/usr/share/zellij"
[ARROW SEPARATOR]: 
 Is the [ARROW_SEPARATOR] displayed correctly?
 If not you may want to either start zellij with a compatible mode: 'zellij options --simplified-ui true'
 Or check the font that is in use:
 https://zellij.dev/documentation/compatibility.html#the-status-bar-fonts-dont-render-correctly
[MOUSE INTERACTION]: 
 Can be temporarily disabled through pressing the [SHIFT] key.
 If that doesn't fix any issues consider to disable the mouse handling of zellij: 'zellij options --disable-mouse-mode'
[FEATURES]: ["disable_automatic_asset_installation"]
[DOCUMENTATION]: zellij.dev/documentation
luc@amd64 ~ $ ll /home/luc/.config/zellij/layouts
ls: cannot access '/home/luc/.config/zellij/layouts': Aucun fichier ou dossier de ce type

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 17, 2022

@CaptainBloodz

Do you mind trying to run it with:

zellij --data-dir /usr/share/zellij

@CaptainBloodz
Copy link

zellij --data-dir /usr/share/zellij

Error occurred in server:
Originating Thread(s):

  1. ipc_server: NewClient
  2. pty_thread: NewTab
  3. screen_thread: NewTab
  4. plugin_thread: Load

Error: thread 'wasm' panicked at 'called Result::unwrap() on an Err value: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }': zellij-server/src/wasm_vm.rs:275
0:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12: start_thread
13: __clone

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 17, 2022

Thank you! Do you mind trying again with the data_dir flag and the new build?

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 17, 2022

luc@amd64 ~ $ ll /home/luc/.config/zellij/layouts

This is to be expected. The layout_dir per default is a subdirectory of the Config directory. So if the config directory is there we know where we can look for the layout_dir even though it is not there yet.

@CaptainBloodz
Copy link

CaptainBloodz commented Mar 17, 2022

Thank you! Do you mind trying again with the data_dir flag and the new build?

Plz confitm those two patches,
e4cc8bc

3506ca5

Are additional to all-in-one patch file, or should new ones should replace parts in all-in-one?

Do you mind trying again with the data_dir ?

Elaborate, plz.

New ebuild

Currently checking about that, as it is out of tree...

@CaptainBloodz
Copy link

Currently building all-in-one+2 new patches...
Think I got it about data_dir on command line...

@CaptainBloodz
Copy link

luc@amd64 ~ $ rm ~/.config/zellij -rf
luc@amd64 ~ $ mkdir ~/.config/zellij
luc@amd64 ~ $ zellij setup --dump-config > ~/.config/zellij/config.yaml
luc@amd64 ~ $ zellij --data-dir /usr/share/zellij

Error occurred in server:
Originating Thread(s):
1. ipc_server: NewClient
2. pty_thread: NewTab
3. screen_thread: NewTab
4. plugin_thread: Load

Error: thread 'wasm' panicked at 'called `Result::unwrap()` on an `Err` value: PreopenedDirectoryNotFound("/usr/share/zellij/plugins/data/zellij:tab-bar")': zellij-server/src/wasm_vm.rs:289
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: start_thread
  13: __clone

@a-kenji a-kenji force-pushed the fix/feature-disable-asset-installation branch from be35cf5 to 1d46a86 Compare March 17, 2022 09:32
@CaptainBloodz
Copy link

Rebuild with all-in-one + 2 patches + 1d46a86 queued.
It that right?

@a-kenji
Copy link
Contributor Author

a-kenji commented Mar 17, 2022

@CaptainBloodz Yes!

disable `mkdir` in `wasm_vm` on `feature-disable-asset-installation`
@a-kenji a-kenji force-pushed the fix/feature-disable-asset-installation branch from 1d46a86 to f820a8f Compare March 17, 2022 10:05
@CaptainBloodz
Copy link

CaptainBloodz commented Mar 17, 2022

Current compilation snippet:

   Compiling zellij-server v0.26.0 (/var/tmp/portage/app-misc/zellij-0.26.0/work/zellij-0.26.0/zellij-server)
warning: unused variable: `plugin_global_data_dir`
   --> zellij-server/src/wasm_vm.rs:241:5
    |
241 |     plugin_global_data_dir: &Path,
    |     ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin_global_data_dir`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: `zellij-server` (lib) generated 1 warning
   Compiling zellij v0.26.0 (/var/tmp/portage/app-misc/zellij-0.26.0/work/zellij-0.26.0)

@CaptainBloodz
Copy link

Working here, without any ~/.config/zellij dir.
Nice :)

luc@amd64 ~ $ zellij
Bye from Zellij!

@a-kenji a-kenji merged commit b0276df into zellij-org:main Mar 17, 2022
@a-kenji a-kenji deleted the fix/feature-disable-asset-installation branch March 17, 2022 10:40
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PermissionDenied even when built with features=disable_automatic_asset_installation
2 participants