diff --git a/AGENTS.md b/AGENTS.md index 69e7f51..1d45faa 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,5 +26,5 @@ Beat Saber Plus itself (game mod) exposes the socket; this repo is only the HTML - **Live API calls are proxied** same-origin via `src/server/serve.ts`: `/api/beatleader?path=/...`, `/api/beatsaver?path=/...` (CORS). - **Map correlation is hash-based**: resolve BeatSaver map/hash first, then BeatLeader leaderboards via `/leaderboards/hash/{hash}`. - **Friend scores** use `/leaderboard/{leaderboardId}` for stable `playerId` fields. -- **Mutual friends**: intersection of `/player/{id}/followers?type=Following` and `type=Followers` (paged by `page` + `count`). +- **Mutual friends**: intersection of `/player/{id}/followers?type=Following` and `type=Followers` (paged by `page` + `count`). **`all` friends**: union of both lists (deduped). - **`#friendScores`**: best accuracy per friend for the current map, sorted descending. diff --git a/README.md b/README.md index 893eec2..73c9722 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,12 @@ Configuration is `overlay.toml` in the repo root (copy from `overlay.toml.exampl - `chat_request_database` — absolute path to Beat Saber Plus `ChatRequest/Database.json`. The server serves that file as `ChatRequest.json` over HTTP (no symlink). - `beatleader_player_id` — default BeatLeader id for friend scores (the server logs a warning if this is missing). -- Overlay UI defaults — optional toggles and layout matching the settings dialog: `cover`, `map_info`, `time`, `score`, `friends`, `friend_mode` (`mutual` \| `following` \| `followers`), `bsr`, `right`, `bottom`, `scale`, `fade`. +- Overlay UI defaults — optional toggles and layout matching the settings dialog: `cover`, `map_info`, `time`, `score`, `friends`, `friend_mode` (`mutual` \| `following` \| `followers` \| `all`), `bsr`, `right`, `bottom`, `scale`, `fade`. Mutual friend mode shows scores from players that you follow and that follow you back on Beatleader. Or in other words, users that are in both your following and follower list. +Use `friend_mode = "all"` to include anyone you follow **or** anyone who follows you (union, deduped by player id). + ## Usage Clone the repo and run `deno task serve` as above. diff --git a/index.html b/index.html index e56002e..e1cf774 100644 --- a/index.html +++ b/index.html @@ -75,6 +75,7 @@ +