From d8fa986886233c32655fff8c2c825faf7952b63d Mon Sep 17 00:00:00 2001 From: Amon Peres <61546395+amonrperes@users.noreply.github.com> Date: Mon, 13 Jul 2026 14:47:45 -0300 Subject: [PATCH] fix(feedback): prevents issue submission when no github account is configured Display an alert when users attempt to submit feedback without a connected GitHub account instead of trying to create the issue. Injects github account through parameter into viewModel. --- CodeEdit/Features/Feedback/FeedbackView.swift | 23 ++++++++++++------- .../Feedback/Model/FeedbackModel.swift | 6 ++--- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/CodeEdit/Features/Feedback/FeedbackView.swift b/CodeEdit/Features/Feedback/FeedbackView.swift index 03586cc845..7b0f50f2fc 100644 --- a/CodeEdit/Features/Feedback/FeedbackView.swift +++ b/CodeEdit/Features/Feedback/FeedbackView.swift @@ -33,14 +33,21 @@ struct FeedbackView: View { Text("Failed to submit feedback") } Button { - feedbackModel.createIssue( - title: feedbackModel.feedbackTitle, - description: feedbackModel.issueDescription, - steps: feedbackModel.stepsReproduceDescription, - expectation: feedbackModel.expectationDescription, - actuallyHappened: feedbackModel.whatHappenedDescription - ) - isSubmitButtonPressed = true + let gitAccounts = Settings[\.accounts].sourceControlAccounts.gitAccounts + if gitAccounts.isEmpty { + showsAlert.toggle() + } else { + let firstGitAccount = gitAccounts.first + feedbackModel.createIssue( + gitAccount: firstGitAccount!.name, + title: feedbackModel.feedbackTitle, + description: feedbackModel.issueDescription, + steps: feedbackModel.stepsReproduceDescription, + expectation: feedbackModel.expectationDescription, + actuallyHappened: feedbackModel.whatHappenedDescription + ) + isSubmitButtonPressed = true + } } label: { Text("Submit") } diff --git a/CodeEdit/Features/Feedback/Model/FeedbackModel.swift b/CodeEdit/Features/Feedback/Model/FeedbackModel.swift index 589e762694..20f62af40f 100644 --- a/CodeEdit/Features/Feedback/Model/FeedbackModel.swift +++ b/CodeEdit/Features/Feedback/Model/FeedbackModel.swift @@ -132,16 +132,14 @@ public class FeedbackModel: ObservableObject { } public func createIssue( + gitAccount: String, title: String, description: String, steps: String?, expectation: String?, actuallyHappened: String? ) { - let gitAccounts = Settings[\.accounts].sourceControlAccounts.gitAccounts - let firstGitAccount = gitAccounts.first - - let config = GitHubTokenConfiguration(keychain.get(firstGitAccount!.name)) + let config = GitHubTokenConfiguration(keychain.get(gitAccount)) GitHubAccount(config).postIssue( owner: "CodeEditApp", repository: "CodeEdit",