From db5fe495630f11544a42f5ffc863fac3335aca0d Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Thu, 16 Apr 2026 11:39:04 +0200 Subject: [PATCH 1/2] On save to cloud issues don't send users to musescore.org for help --- src/project/internal/opensaveprojectscenario.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/project/internal/opensaveprojectscenario.cpp b/src/project/internal/opensaveprojectscenario.cpp index 1791287872808..e1e412a213a24 100644 --- a/src/project/internal/opensaveprojectscenario.cpp +++ b/src/project/internal/opensaveprojectscenario.cpp @@ -474,7 +474,7 @@ static std::string cloudStatusCodeErrorMessage(const Ret& ret, bool withHelp = f } if (withHelp) { - message += "\n\n" + muse::trc("project/cloud", "Please try again later, or get help for this problem on MuseScore.org."); + message += "\n\n" + muse::trc("project/cloud", "Please try again later, or get help for this problem on MuseScore.com."); } return message; @@ -606,14 +606,15 @@ Ret OpenSaveProjectScenario::showCloudSaveError(const Ret& ret, const CloudProje .arg(u"https://musescore.com").toStdString(); break; default: - msg = muse::trc("project/cloud", "Please try again later, or get help for this problem on MuseScore.org."); + msg = muse::trc("project/cloud", "Please try again later, or get help for this problem on MuseScore.com."); break; } IInteractive::Result result = interactive()->warningSync(title, msg, buttons, defaultButtonCode); switch (result.button()) { case helpBtnCode: - platformInteractive()->openUrl(configuration()->supportForumUrl()); + //platformInteractive()->openUrl(configuration()->supportForumUrl()); + platformInteractive()->openUrl(QUrl("https://musescore.com/groups/bug-reports")); break; case saveLocallyBtnCode: return Ret(RET_CODE_CHANGE_SAVE_LOCATION_TYPE); From 4bdee9287dd0249e14fc7f0b8ea74c79a210ba4e Mon Sep 17 00:00:00 2001 From: Joachim Schmitz Date: Fri, 17 Apr 2026 15:58:08 +0200 Subject: [PATCH 2/2] Moving .com bug reporting URL into project config --- src/project/internal/opensaveprojectscenario.cpp | 3 +-- src/project/internal/projectconfiguration.cpp | 6 ++++++ src/project/internal/projectconfiguration.h | 2 ++ src/project/iprojectconfiguration.h | 2 ++ src/project/tests/mocks/projectconfigurationmock.h | 2 ++ src/stubs/project/projectconfigurationstub.cpp | 5 +++++ src/stubs/project/projectconfigurationstub.h | 2 ++ 7 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/project/internal/opensaveprojectscenario.cpp b/src/project/internal/opensaveprojectscenario.cpp index e1e412a213a24..709b5dbb63a75 100644 --- a/src/project/internal/opensaveprojectscenario.cpp +++ b/src/project/internal/opensaveprojectscenario.cpp @@ -613,8 +613,7 @@ Ret OpenSaveProjectScenario::showCloudSaveError(const Ret& ret, const CloudProje IInteractive::Result result = interactive()->warningSync(title, msg, buttons, defaultButtonCode); switch (result.button()) { case helpBtnCode: - //platformInteractive()->openUrl(configuration()->supportForumUrl()); - platformInteractive()->openUrl(QUrl("https://musescore.com/groups/bug-reports")); + platformInteractive()->openUrl(configuration()->dotComBugReportUrl()); break; case saveLocallyBtnCode: return Ret(RET_CODE_CHANGE_SAVE_LOCATION_TYPE); diff --git a/src/project/internal/projectconfiguration.cpp b/src/project/internal/projectconfiguration.cpp index 287ecf12ee037..26a646eb79505 100644 --- a/src/project/internal/projectconfiguration.cpp +++ b/src/project/internal/projectconfiguration.cpp @@ -643,6 +643,12 @@ QUrl ProjectConfiguration::supportForumUrl() const return QUrl("https://musescore.org/forum"); } +QUrl ProjectConfiguration::dotComBugReportUrl() const +{ + // The general .com bug report page + return QUrl("https://musescore.com/groups/bug-reports"); +} + bool ProjectConfiguration::openDetailedProjectUploadedDialog() const { return settings()->value(OPEN_DETAILED_PROJECT_UPLOADED_DIALOG).toBool(); diff --git a/src/project/internal/projectconfiguration.h b/src/project/internal/projectconfiguration.h index b1d4ac33559a4..0cfa2a088c213 100644 --- a/src/project/internal/projectconfiguration.h +++ b/src/project/internal/projectconfiguration.h @@ -132,6 +132,8 @@ class ProjectConfiguration : public IProjectConfiguration, public muse::Contexta QUrl supportForumUrl() const override; + QUrl dotComBugReportUrl() const override; + bool openDetailedProjectUploadedDialog() const override; void setOpenDetailedProjectUploadedDialog(bool show) override; diff --git a/src/project/iprojectconfiguration.h b/src/project/iprojectconfiguration.h index 3e9fc75a65f05..7dc2402eff874 100644 --- a/src/project/iprojectconfiguration.h +++ b/src/project/iprojectconfiguration.h @@ -137,6 +137,8 @@ class IProjectConfiguration : MODULE_GLOBAL_INTERFACE virtual QUrl supportForumUrl() const = 0; + virtual QUrl dotComBugReportUrl() const = 0; + virtual bool openDetailedProjectUploadedDialog() const = 0; virtual void setOpenDetailedProjectUploadedDialog(bool show) = 0; diff --git a/src/project/tests/mocks/projectconfigurationmock.h b/src/project/tests/mocks/projectconfigurationmock.h index d3df7e098e64f..ddb5bf96c6801 100644 --- a/src/project/tests/mocks/projectconfigurationmock.h +++ b/src/project/tests/mocks/projectconfigurationmock.h @@ -114,6 +114,8 @@ class ProjectConfigurationMock : public project::IProjectConfiguration MOCK_METHOD(QUrl, supportForumUrl, (), (const, override)); + MOCK_METHOD(QUrl, dotComBugReportUrl, (), (const, override)); + MOCK_METHOD(bool, openDetailedProjectUploadedDialog, (), (const, override)); MOCK_METHOD(void, setOpenDetailedProjectUploadedDialog, (bool), (override)); diff --git a/src/stubs/project/projectconfigurationstub.cpp b/src/stubs/project/projectconfigurationstub.cpp index 157234371636f..49abc791fe067 100644 --- a/src/stubs/project/projectconfigurationstub.cpp +++ b/src/stubs/project/projectconfigurationstub.cpp @@ -301,6 +301,11 @@ QUrl ProjectConfigurationStub::supportForumUrl() const return QUrl(); } +QUrl ProjectConfigurationStub::dotComBugReportUrl() const +{ + return QUrl(); +} + bool ProjectConfigurationStub::openDetailedProjectUploadedDialog() const { return false; diff --git a/src/stubs/project/projectconfigurationstub.h b/src/stubs/project/projectconfigurationstub.h index 4f68a6f815119..d535c49dc1a7a 100644 --- a/src/stubs/project/projectconfigurationstub.h +++ b/src/stubs/project/projectconfigurationstub.h @@ -116,6 +116,8 @@ class ProjectConfigurationStub : public IProjectConfiguration QUrl supportForumUrl() const override; + QUrl dotComBugReportUrl() const override; + bool openDetailedProjectUploadedDialog() const override; void setOpenDetailedProjectUploadedDialog(bool show) override;