From 3d45fa924c243cc006a371ee437e218485a589f5 Mon Sep 17 00:00:00 2001 From: Felipe da Conceicao Guimaraes Date: Thu, 6 Jun 2024 15:07:40 -0700 Subject: [PATCH 1/3] Saving fill URL string on widget --- src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs b/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs index 990e7bf..745c3f0 100644 --- a/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs +++ b/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs @@ -256,7 +256,7 @@ public string GetConfiguration(string dataUrl) { "owner", repository.Owner.Login }, { "milestone", string.Empty }, { "project", repository.Description }, - { "url", repository.HtmlUrl }, + { "url", RepositoryUrl }, { "query", GetUnescapedIssueQuery() }, }; From 128df7294777f2706d115d0976475043921e99d6 Mon Sep 17 00:00:00 2001 From: Felipe da Conceicao Guimaraes Date: Thu, 6 Jun 2024 15:45:47 -0700 Subject: [PATCH 2/3] Saving the URL that is sure to be correct --- .../Widgets/GitHubRepositoryWidget.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs b/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs index 745c3f0..317232f 100644 --- a/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs +++ b/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs @@ -46,6 +46,18 @@ public string GetUnescapedIssueQuery() return Uri.UnescapeDataString(GetIssueQuery()).Replace('+', ' '); } + // If the user changed the URL after clicking submit and clicked + // saved just after, we change it back to what was before to not corrupt our saved data. + private void CorrectUrl() + { + var configurationData = JsonNode.Parse(ConfigurationData); + if (configurationData != null) + { + configurationData["url"] = RepositoryUrl; + ConfigurationData = configurationData.ToJsonString(); + } + } + public override void OnActionInvoked(WidgetActionInvokedArgs actionInvokedArgs) { var verb = GetWidgetActionForVerb(actionInvokedArgs.Verb); @@ -60,6 +72,7 @@ public override void OnActionInvoked(WidgetActionInvokedArgs actionInvokedArgs) case WidgetAction.Save: UpdateTitle(JsonNode.Parse(actionInvokedArgs.Data)); base.OnActionInvoked(actionInvokedArgs); + CorrectUrl(); break; default: From 67ed73cafbe9dd08e286b194e90a076a7edb6999 Mon Sep 17 00:00:00 2001 From: Felipe da Conceicao Guimaraes Date: Mon, 10 Jun 2024 10:57:09 -0700 Subject: [PATCH 3/3] Saving the data in the widget service by updating the widget --- src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs b/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs index 317232f..067b36a 100644 --- a/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs +++ b/src/GitHubExtension/Widgets/GitHubRepositoryWidget.cs @@ -55,6 +55,7 @@ private void CorrectUrl() { configurationData["url"] = RepositoryUrl; ConfigurationData = configurationData.ToJsonString(); + UpdateWidget(); } }