Lobby feature documentation#7156
Conversation
📝 WalkthroughWalkthroughAdds new lobby documentation covering the feature inventory, UI priority matrix, and user-story catalog. The docs describe lobby flow, configuration systems, messaging, validation, reference data, and the rebuild-versus-legacy story set. ChangesLobby documentation suite
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~4 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
docs/lobby/FEATURES.md (1)
129-175: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueSurround tables with blank lines for markdownlint compliance.
MD058 flags that tables should be surrounded by blank lines. The three tables in section G have missing blank lines at their boundaries:
- Team options table (line 130) needs a blank line before its header.
- Global options table (lines 140–163) needs a blank line after its last row.
- AI options table (lines 165–174) needs blank lines before its header and after its last row.
📝 Proposed formatting fix
### Team options (~72–226) + | Key | Values | Default | |---|---|---| | `TeamSpawn` | fixed, penguin_autobalance, random, balanced, balanced_flex, random_reveal, balanced_reveal, balanced_reveal_mirrored, balanced_flex_reveal | fixed | | `TeamLock` | locked, unlocked | locked | | `AutoTeams` | none, tvsb, lvsr, pvsi, manual | none | | `CommonArmy` | Off, UnionWhenDisconnected, Union, Common | Off | | `TeamShareOverflow` | enabled, disabled | enabled | + ### Global options (~229–706) ... | `DisconnectionDelay02` | 10, 30, 90 (MP only) | 90 | + ### AI options (~709–814) + | Key | Values | Default | |---|---|---| | `CheatMult` | 0.5–5.9 | 1.0 | | `BuildMult` | 0.5–5.9 | 1.0 | | `TMLRandom` | 0–20% | 0 | | `LandExpansionsAllowed` | 0–8, 99999 | 6 | | `NavalExpansionsAllowed` | 0–8, 99999 | 5 | | `OmniCheat` | on, off | on | + Plus **map-specific options** ...🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/lobby/FEATURES.md` around lines 129 - 175, Add the missing blank lines around the markdown tables in section G to satisfy markdownlint MD058. In FEATURES.md, ensure the Team options table is preceded by a blank line, the Global options table has a blank line after its last row before the next heading, and the AI options table has blank lines both before its header and after its last row; keep the section structure intact while adjusting only the table spacing.docs/lobby/UI.md (1)
14-76: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winClarify: Are Priority values intentionally left blank?
Every table row has an empty Priority cell. If this is a collaborative placeholder, consider adding a
<!-- TODO: assign priorities -->or defaulting to0or3so readers know the state. If the priorities were meant to be filled, they need values before this document is useful.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/lobby/UI.md` around lines 14 - 76, The Priority column in the lobby UI tables is left blank throughout the document, so clarify whether these are intentional placeholders or missing data. Update the relevant entries in UI.md by either filling in the intended priority values or adding an explicit TODO/placeholder marker in the affected sections (such as Map, Game settings, Players, slot state, Chat, and Management) so the current state is unambiguous.docs/lobby/user-stories.md (1)
59-59: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueClarify observer request path wording.
The parenthetical explanation is dense: "host-side; a non-host's request-to-host path isn't wired yet". Consider splitting or rephrasing for clarity, e.g., "(works for host; non-hosts cannot yet request to observe)".
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/lobby/user-stories.md` at line 59, The observer story text in the user-stories doc is too dense in the parenthetical note, so rephrase it for clarity. Update the wording around the player-to-observer flow to separate the host behavior from the non-host limitation, using the existing "Observe" button and host-side observer handling as the anchor, and make it explicit that non-hosts cannot yet request to observe.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/lobby/UI.md`:
- Around line 21-26: The Map table rows in UI.md are malformed because the Notes
column is missing a trailing column delimiter, so these entries render
inconsistently across markdown parsers. Update the affected rows in the table to
include the final separator and keep the column structure consistent for the
rows containing Main Map preview, Map name, Map author, starting positions,
Reclaim, and Water areas.
---
Nitpick comments:
In `@docs/lobby/FEATURES.md`:
- Around line 129-175: Add the missing blank lines around the markdown tables in
section G to satisfy markdownlint MD058. In FEATURES.md, ensure the Team options
table is preceded by a blank line, the Global options table has a blank line
after its last row before the next heading, and the AI options table has blank
lines both before its header and after its last row; keep the section structure
intact while adjusting only the table spacing.
In `@docs/lobby/UI.md`:
- Around line 14-76: The Priority column in the lobby UI tables is left blank
throughout the document, so clarify whether these are intentional placeholders
or missing data. Update the relevant entries in UI.md by either filling in the
intended priority values or adding an explicit TODO/placeholder marker in the
affected sections (such as Map, Game settings, Players, slot state, Chat, and
Management) so the current state is unambiguous.
In `@docs/lobby/user-stories.md`:
- Line 59: The observer story text in the user-stories doc is too dense in the
parenthetical note, so rephrase it for clarity. Update the wording around the
player-to-observer flow to separate the host behavior from the non-host
limitation, using the existing "Observe" button and host-side observer handling
as the anchor, and make it explicit that non-hosts cannot yet request to
observe.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f86922fb-6f2a-4f33-ab63-9f3f1b7f865f
📒 Files selected for processing (3)
docs/lobby/FEATURES.mddocs/lobby/UI.mddocs/lobby/user-stories.md
| | | Main Map preview | | ||
| | | Map name | | ||
| | | Map author | | ||
| | | starting positions | | ||
| | | Reclaim | | ||
| | | Water areas | |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Fix malformed table rows — missing trailing column delimiter.
Lines 21–26 in the Map table are missing the trailing | for the Notes column, causing them to render as 2-column rows in a 3-column table. This breaks consistent rendering across markdown parsers.
| | Main Map preview |
| | Map name |
| | Map author |
| | starting positions |
| | Reclaim |
| | Water areas |Should be:
-| | Main Map preview |
+| | Main Map preview | |
-| | Map name |
+| | Map name | |
-| | Map author |
+| | Map author | |
-| | starting positions |
+| | starting positions | |
-| | Reclaim |
+| | Reclaim | |
-| | Water areas |
+| | Water areas | |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | | Main Map preview | | |
| | | Map name | | |
| | | Map author | | |
| | | starting positions | | |
| | | Reclaim | | |
| | | Water areas | | |
| | | Main Map preview | | | |
| | | Map name | | | |
| | | Map author | | | |
| | | starting positions | | | |
| | | Reclaim | | | |
| | | Water areas | | |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 21-21: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data
(MD056, table-column-count)
[warning] 22-22: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data
(MD056, table-column-count)
[warning] 23-23: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data
(MD056, table-column-count)
[warning] 24-24: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data
(MD056, table-column-count)
[warning] 25-25: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data
(MD056, table-column-count)
[warning] 26-26: Table column count
Expected: 3; Actual: 2; Too few cells, row will be missing data
(MD056, table-column-count)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/lobby/UI.md` around lines 21 - 26, The Map table rows in UI.md are
malformed because the Notes column is missing a trailing column delimiter, so
these entries render inconsistently across markdown parsers. Update the affected
rows in the table to include the final separator and keep the column structure
consistent for the rows containing Main Map preview, Map name, Map author,
starting positions, Reclaim, and Water areas.
This PR is just here to enable collaborative collection of specification documents of the new lobby. It is not intended to be merged.
Summary by CodeRabbit