From 687c9d6e174e6e339f9de9641322c7e67e245834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Wed, 19 Feb 2025 12:45:37 +0100 Subject: [PATCH 1/2] Send "notify on discussion replies" setting value in beatmap creation request --- .../Online/API/Requests/PutBeatmapSetRequest.cs | 14 ++++++++++---- .../Edit/Submission/BeatmapSubmissionScreen.cs | 4 ++-- .../Edit/Submission/BeatmapSubmissionSettings.cs | 2 ++ .../Edit/Submission/ScreenSubmissionSettings.cs | 4 ++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/osu.Game/Online/API/Requests/PutBeatmapSetRequest.cs b/osu.Game/Online/API/Requests/PutBeatmapSetRequest.cs index fb25749786..ec233b5df8 100644 --- a/osu.Game/Online/API/Requests/PutBeatmapSetRequest.cs +++ b/osu.Game/Online/API/Requests/PutBeatmapSetRequest.cs @@ -11,6 +11,7 @@ using osu.Framework.IO.Network; using osu.Framework.Localisation; using osu.Game.Localisation; using osu.Game.Online.API.Requests.Responses; +using osu.Game.Screens.Edit.Submission; namespace osu.Game.Online.API.Requests { @@ -42,22 +43,27 @@ namespace osu.Game.Online.API.Requests [JsonProperty("target")] public BeatmapSubmissionTarget SubmissionTarget { get; init; } + [JsonProperty("notify_on_discussion_replies")] + public bool NotifyOnDiscussionReplies { get; init; } + private PutBeatmapSetRequest() { } - public static PutBeatmapSetRequest CreateNew(uint beatmapCount, BeatmapSubmissionTarget target) => new PutBeatmapSetRequest + public static PutBeatmapSetRequest CreateNew(uint beatmapCount, BeatmapSubmissionSettings settings) => new PutBeatmapSetRequest { BeatmapsToCreate = beatmapCount, - SubmissionTarget = target, + SubmissionTarget = settings.Target.Value, + NotifyOnDiscussionReplies = settings.NotifyOnDiscussionReplies.Value, }; - public static PutBeatmapSetRequest UpdateExisting(uint beatmapSetId, IEnumerable beatmapsToKeep, uint beatmapsToCreate, BeatmapSubmissionTarget target) => new PutBeatmapSetRequest + public static PutBeatmapSetRequest UpdateExisting(uint beatmapSetId, IEnumerable beatmapsToKeep, uint beatmapsToCreate, BeatmapSubmissionSettings settings) => new PutBeatmapSetRequest { BeatmapSetID = beatmapSetId, BeatmapsToKeep = beatmapsToKeep.ToArray(), BeatmapsToCreate = beatmapsToCreate, - SubmissionTarget = target, + SubmissionTarget = settings.Target.Value, + NotifyOnDiscussionReplies = settings.NotifyOnDiscussionReplies.Value, }; protected override WebRequest CreateWebRequest() diff --git a/osu.Game/Screens/Edit/Submission/BeatmapSubmissionScreen.cs b/osu.Game/Screens/Edit/Submission/BeatmapSubmissionScreen.cs index f62b793918..66139bacec 100644 --- a/osu.Game/Screens/Edit/Submission/BeatmapSubmissionScreen.cs +++ b/osu.Game/Screens/Edit/Submission/BeatmapSubmissionScreen.cs @@ -192,8 +192,8 @@ namespace osu.Game.Screens.Edit.Submission (uint)Beatmap.Value.BeatmapSetInfo.OnlineID, Beatmap.Value.BeatmapSetInfo.Beatmaps.Where(b => b.OnlineID > 0).Select(b => (uint)b.OnlineID).ToArray(), (uint)Beatmap.Value.BeatmapSetInfo.Beatmaps.Count(b => b.OnlineID <= 0), - settings.Target.Value) - : PutBeatmapSetRequest.CreateNew((uint)Beatmap.Value.BeatmapSetInfo.Beatmaps.Count, settings.Target.Value); + settings) + : PutBeatmapSetRequest.CreateNew((uint)Beatmap.Value.BeatmapSetInfo.Beatmaps.Count, settings); createRequest.Success += async response => { diff --git a/osu.Game/Screens/Edit/Submission/BeatmapSubmissionSettings.cs b/osu.Game/Screens/Edit/Submission/BeatmapSubmissionSettings.cs index 359dc11f39..8cccc339a6 100644 --- a/osu.Game/Screens/Edit/Submission/BeatmapSubmissionSettings.cs +++ b/osu.Game/Screens/Edit/Submission/BeatmapSubmissionSettings.cs @@ -9,5 +9,7 @@ namespace osu.Game.Screens.Edit.Submission public class BeatmapSubmissionSettings { public Bindable Target { get; } = new Bindable(); + + public Bindable NotifyOnDiscussionReplies { get; } = new Bindable(); } } diff --git a/osu.Game/Screens/Edit/Submission/ScreenSubmissionSettings.cs b/osu.Game/Screens/Edit/Submission/ScreenSubmissionSettings.cs index 08b4d9f712..969105b5c6 100644 --- a/osu.Game/Screens/Edit/Submission/ScreenSubmissionSettings.cs +++ b/osu.Game/Screens/Edit/Submission/ScreenSubmissionSettings.cs @@ -28,7 +28,7 @@ namespace osu.Game.Screens.Edit.Submission [BackgroundDependencyLoader] private void load(OsuConfigManager configManager, OsuColour colours, BeatmapSubmissionSettings settings) { - configManager.BindWith(OsuSetting.EditorSubmissionNotifyOnDiscussionReplies, notifyOnDiscussionReplies); + configManager.BindWith(OsuSetting.EditorSubmissionNotifyOnDiscussionReplies, settings.NotifyOnDiscussionReplies); configManager.BindWith(OsuSetting.EditorSubmissionLoadInBrowserAfterSubmission, loadInBrowserAfterSubmission); Content.Add(new FillFlowContainer @@ -47,7 +47,7 @@ namespace osu.Game.Screens.Edit.Submission new FormCheckBox { Caption = BeatmapSubmissionStrings.NotifyOnDiscussionReplies, - Current = notifyOnDiscussionReplies, + Current = settings.NotifyOnDiscussionReplies, }, new FormCheckBox { From aa9e1ac8b4bf0154dff870269221d49e7e1c98d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Wed, 19 Feb 2025 12:46:04 +0100 Subject: [PATCH 2/2] Specify endpoint for production instance of beatmap submission service --- osu.Game/Online/ProductionEndpointConfiguration.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/osu.Game/Online/ProductionEndpointConfiguration.cs b/osu.Game/Online/ProductionEndpointConfiguration.cs index 6e06abbeed..20583c8c7e 100644 --- a/osu.Game/Online/ProductionEndpointConfiguration.cs +++ b/osu.Game/Online/ProductionEndpointConfiguration.cs @@ -13,6 +13,7 @@ namespace osu.Game.Online SpectatorUrl = "https://spectator.ppy.sh/spectator"; MultiplayerUrl = "https://spectator.ppy.sh/multiplayer"; MetadataUrl = "https://spectator.ppy.sh/metadata"; + BeatmapSubmissionServiceUrl = "https://bss.ppy.sh"; } } }