Commit 7fc4c65d authored by Zeng Jie's avatar Zeng Jie Committed by Andrei Mihu
Browse files

Fixed offset-by-one bug in rank update after leaderboard record delete. (#255)

parent e1298ef3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -16,11 +16,12 @@ package server

import (
	"database/sql"
	"github.com/heroiclabs/nakama/api"
	"sort"
	"sync"
	"time"

	"github.com/heroiclabs/nakama/api"

	"github.com/gofrs/uuid"
	"go.uber.org/zap"
)
@@ -336,7 +337,7 @@ func (l *LocalLeaderboardRankCache) Delete(leaderboardId string, expiryUnix int6
	}

	// Shift ranks that were after the deleted record down by one rank number to fill the gap.
	for i := int(rank) - 1; i < totalRanks; i++ {
	for i := int(rank) - 1; i < totalRanks-1; i++ {
		rankMap.Ranks[i].Rank--
	}
	// No need to sort, ranks are still in order.