From 3522637f65c4cf14a0618291fd2b5192bb79311f Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Mon, 15 Jun 2026 01:12:29 +0300 Subject: [PATCH] fix(start): enable Send Feedback / Release Notes on the start tab The start (welcome) tab blocks any command that isn't NEW/OPEN/EXIT/QUIT, so the Contribute and Release Notes buttons did nothing but print "No drawing open". REPORT and CHANGELOG (and ABOUT) only open a URL or a dialog and need no drawing, so allow them through. Also rename the "Contribute" button to "Send Feedback" (#44) and update the REPORT status line to match. Co-Authored-By: Claude Opus 4.8 --- src/app/commands.rs | 9 +++++++-- src/app/view.rs | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/app/commands.rs b/src/app/commands.rs index 1d17334a3..8154d8ff4 100644 --- a/src/app/commands.rs +++ b/src/app/commands.rs @@ -32,7 +32,12 @@ impl OpenCADStudio { // command would silently do nothing. Allow only the commands that // make sense there (create / open a document, or quit) and tell the // user otherwise instead of running a no-op. See #96. - if self.tabs[i].is_start && !matches!(cmd, "NEW" | "OPEN" | "EXIT" | "QUIT") { + if self.tabs[i].is_start + && !matches!( + cmd, + "NEW" | "OPEN" | "EXIT" | "QUIT" | "REPORT" | "CHANGELOG" | "ABOUT" + ) + { self.command_line .push_info("No drawing open. Use NEW or OPEN to start a drawing."); return Task::none(); @@ -2663,7 +2668,7 @@ impl OpenCADStudio { "REPORT" => { let _ = open::that("https://github.com/HakanSeven12/OpenCADStudio/issues/new"); - self.command_line.push_info("Opening GitHub issue page..."); + self.command_line.push_info("Opening feedback page..."); } "ABOUT" => { diff --git a/src/app/view.rs b/src/app/view.rs index d4ffd71a9..b18b64452 100644 --- a/src/app/view.rs +++ b/src/app/view.rs @@ -3730,7 +3730,7 @@ pub(super) fn start_page_view<'a>() -> Element<'a, Message> { let secondary_row = row![ outline_btn( - "Contribute", + "Send Feedback", Message::RibbonToolClick { tool_id: "REPORT".to_string(), event: crate::modules::ModuleEvent::Command("REPORT".to_string()),