diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-02-19 17:25:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-19 17:25:46 +0100 |
| commit | 007aa2930b5593b75ef503b97c1f83f17a3c21b2 (patch) | |
| tree | d4c9a110b28e13c843336221824f0d582d3edbcb /zellij-utils/src | |
| parent | Purge `async_std` from the codebase (#4672) (diff) | |
| download | sl0ppij-007aa2930b5593b75ef503b97c1f83f17a3c21b2.tar.gz sl0ppij-007aa2930b5593b75ef503b97c1f83f17a3c21b2.tar.xz sl0ppij-007aa2930b5593b75ef503b97c1f83f17a3c21b2.zip | |
fix: do not attempt to reconnect from the web if kicked from the session (#4730)
* fix: do not attempt to reconnect from the web if kicked from the session
* fix: add missing protobuf definition
* add pr
Diffstat (limited to 'zellij-utils/src')
| -rw-r--r-- | zellij-utils/src/client_server_contract/common_types.proto | 1 | ||||
| -rw-r--r-- | zellij-utils/src/ipc.rs | 2 | ||||
| -rw-r--r-- | zellij-utils/src/ipc/protobuf_conversion.rs | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/zellij-utils/src/client_server_contract/common_types.proto b/zellij-utils/src/client_server_contract/common_types.proto index a2f74f08..59305d7a 100644 --- a/zellij-utils/src/client_server_contract/common_types.proto +++ b/zellij-utils/src/client_server_contract/common_types.proto @@ -791,6 +791,7 @@ enum ExitReason { EXIT_REASON_WEB_CLIENTS_FORBIDDEN = 6; EXIT_REASON_ERROR = 7; EXIT_REASON_CUSTOM_EXIT_STATUS = 8; + EXIT_REASON_KICKED_BY_HOST = 9; } // Additional supporting types for Action messages diff --git a/zellij-utils/src/ipc.rs b/zellij-utils/src/ipc.rs index 455fd4b3..d1a6c99e 100644 --- a/zellij-utils/src/ipc.rs +++ b/zellij-utils/src/ipc.rs @@ -183,6 +183,7 @@ pub enum ExitReason { CannotAttach, Disconnect, WebClientsForbidden, + KickedByHost, CustomExitStatus(i32), Error(String), } @@ -228,6 +229,7 @@ There are a few things you can try now: " ) }, + Self::KickedByHost => write!(f, "Disconnected by host"), Self::CustomExitStatus(exit_status) => write!(f, "Exit {}", exit_status), Self::Error(e) => write!(f, "Error occurred in server:\n{}", e), } diff --git a/zellij-utils/src/ipc/protobuf_conversion.rs b/zellij-utils/src/ipc/protobuf_conversion.rs index 7538b225..894bdac8 100644 --- a/zellij-utils/src/ipc/protobuf_conversion.rs +++ b/zellij-utils/src/ipc/protobuf_conversion.rs @@ -2279,6 +2279,7 @@ impl From<ExitReason> for ProtoExitReason { ExitReason::CannotAttach => ProtoExitReason::CannotAttach, ExitReason::Disconnect => ProtoExitReason::Disconnect, ExitReason::WebClientsForbidden => ProtoExitReason::WebClientsForbidden, + ExitReason::KickedByHost => ProtoExitReason::KickedByHost, ExitReason::Error(_msg) => ProtoExitReason::Error, ExitReason::CustomExitStatus(_status) => ProtoExitReason::CustomExitStatus, } @@ -2295,6 +2296,7 @@ impl TryFrom<ProtoExitReason> for ExitReason { ProtoExitReason::CannotAttach => Ok(ExitReason::CannotAttach), ProtoExitReason::Disconnect => Ok(ExitReason::Disconnect), ProtoExitReason::WebClientsForbidden => Ok(ExitReason::WebClientsForbidden), + ProtoExitReason::KickedByHost => Ok(ExitReason::KickedByHost), ProtoExitReason::Error => Ok(ExitReason::Error("Protobuf error".to_string())), ProtoExitReason::CustomExitStatus => Ok(ExitReason::CustomExitStatus(0)), ProtoExitReason::Unspecified => Err(anyhow!("Unspecified exit reason")), |
