OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
HASH      60e252c9c134
DATE      2025-08-15
SUBJECT   challenge-mode: update records
FILES     1 CHANGED
HASH      60e252c9c134
DATE      2025-08-15
SUBJECT   challenge-mode: update records
FILES     1 CHANGED
 

diff --git a/nix/apps/challenge-mode-leaderboard.nix b/nix/apps/challenge-mode-lea
derboard.nix
index 954fe9d..8c941d2 100644
--- a/nix/apps/challenge-mode-leaderboard.nix
+++ b/nix/apps/challenge-mode-leaderboard.nix
@@ -123,7 +123,12 @@
 
               for run in all_groups:
                   # create a unique identifier for each run using timestamp, dura
tion, and sorted player IDs
-                  player_ids = sorted([member["profile"]["id"] for member in run[
"members"]])
+                  # support both old format (member["profile"]["id"]) and optimiz
ed format (member["id"])
+                  player_ids = []
+                  for member in run["members"]:
+                      member_id = member.get("id") or member.get("profile", {}).g
et("id", 0)
+                      player_ids.append(member_id)
+                  player_ids = sorted(player_ids)
                   unique_key = (run["completed_timestamp"], run["duration"], tupl
e(player_ids))
 
                   if unique_key not in seen:

diff --git a/nix/apps/challenge-mode-leaderb
oard.nix b/nix/apps/challenge-mode-leaderboa
rd.nix
index 954fe9d..8c941d2 100644
--- a/nix/apps/challenge-mode-leaderboard.ni
x
+++ b/nix/apps/challenge-mode-leaderboard.ni
x
@@ -123,7 +123,12 @@
 
               for run in all_groups:
                   # create a unique identif
ier for each run using timestamp, duration, 
and sorted player IDs
-                  player_ids = sorted([memb
er["profile"]["id"] for member in run["membe
rs"]])
+                  # support both old format
 (member["profile"]["id"]) and optimized for
mat (member["id"])
+                  player_ids = []
+                  for member in run["member
s"]:
+                      member_id = member.ge
t("id") or member.get("profile", {}).get("id
", 0)
+                      player_ids.append(mem
ber_id)
+                  player_ids = sorted(playe
r_ids)
                   unique_key = (run["comple
ted_timestamp"], run["duration"], tuple(play
er_ids))
 
                   if unique_key not in seen
:
 
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET