diff options
| author | Aram Drevekenin <aram@poor.dev> | 2024-12-06 09:37:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-06 09:37:57 +0100 |
| commit | a489b2166c2d1f35d4fb6e7b4b424c206c5717a6 (patch) | |
| tree | 1b164def2e3a743f2929b219c523d4038aa5be6e /default-plugins/session-manager/src | |
| parent | chore(repo): add funding.json (#3838) (diff) | |
| download | sl0ppij-a489b2166c2d1f35d4fb6e7b4b424c206c5717a6.tar.gz sl0ppij-a489b2166c2d1f35d4fb6e7b4b424c206c5717a6.tar.xz sl0ppij-a489b2166c2d1f35d4fb6e7b4b424c206c5717a6.zip | |
fix(plugins): do not detach if using a slash in a session name (#3839)
Diffstat (limited to 'default-plugins/session-manager/src')
| -rw-r--r-- | default-plugins/session-manager/src/main.rs | 7 | ||||
| -rw-r--r-- | default-plugins/session-manager/src/ui/components.rs | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/default-plugins/session-manager/src/main.rs b/default-plugins/session-manager/src/main.rs index 3d4848af..8dd6da87 100644 --- a/default-plugins/session-manager/src/main.rs +++ b/default-plugins/session-manager/src/main.rs @@ -462,6 +462,9 @@ impl State { // through the package) self.show_error("Session name must be shorter than 108 bytes"); return; + } else if self.new_session_info.name().contains('/') { + self.show_error("Session name cannot contain '/'"); + return; } self.new_session_info.handle_selection(&self.session_name); }, @@ -483,6 +486,10 @@ impl State { self.show_error("A resurrectable session by this name already exists."); return; // s that we don't hide self } else { + if renaming_session_name.contains('/') { + self.show_error("Session names cannot contain '/'"); + return; + } self.update_current_session_name_in_ui(&renaming_session_name); rename_session(&renaming_session_name); return; // s that we don't hide self diff --git a/default-plugins/session-manager/src/ui/components.rs b/default-plugins/session-manager/src/ui/components.rs index 29eba512..03c4d328 100644 --- a/default-plugins/session-manager/src/ui/components.rs +++ b/default-plugins/session-manager/src/ui/components.rs @@ -891,6 +891,16 @@ pub fn render_renaming_session_screen( 33 + new_session_name.width()..40 + new_session_name.width(), ); print_text_with_coordinates(text, x, y, None, None); + if new_session_name.contains('/') { + let error_text = "Error: session name cannot contain '/'"; + print_text_with_coordinates( + Text::new(error_text).color_range(3, ..), + x, + y + 2, + None, + None, + ); + } } pub fn render_controls_line( |
