From 653c93fde57029d14cfb91b203e871c0631ab124 Mon Sep 17 00:00:00 2001 From: aiae Date: Sun, 1 Nov 2026 11:48:34 +0200 Subject: [PATCH] Show all game modes when viewing user mapsets unranked --- db/elasticsearch_mapsets.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/db/elasticsearch_mapsets.go b/db/elasticsearch_mapsets.go index eaf6f35..79e4aef 100644 --- a/db/elasticsearch_mapsets.go +++ b/db/elasticsearch_mapsets.go @@ -8,6 +8,7 @@ import ( "fmt" "io" "math" + "slices" "strconv" "strings" "time" @@ -96,14 +97,16 @@ func (options *ElasticMapsetSearchOptions) BindAndValidate() { options.Limit = 50 } - options.Mode = sliceutil.BindMultiple(options.Mode, options.ModeArray, []enums.GameMode{ - enums.GameModeKeys4, - enums.GameModeKeys7, - }) - options.RankedStatus = sliceutil.BindMultiple(options.RankedStatus, options.RankedStatusArray, []enums.RankedStatus{ enums.RankedStatusRanked, }) + + defaultModes := []enums.GameMode{enums.GameModeKeys4, enums.GameModeKeys7} + if options.CreatorID != nil && slices.Contains(options.RankedStatus, enums.RankedStatusUnranked) { + // User uploads include unranked maps in every mode unless explicitly filtered. + defaultModes = nil + } + options.Mode = sliceutil.BindMultiple(options.Mode, options.ModeArray, defaultModes) } // ElasticMap stores a difficulty document; MapsetPlayCount is duplicated on each difficulty so collapsed mapset searches can sort by the mapset total.