Skip to content

Lobby feature documentation#7156

Draft
BlackYps wants to merge 2 commits into
developfrom
lobby-features
Draft

Lobby feature documentation#7156
BlackYps wants to merge 2 commits into
developfrom
lobby-features

Conversation

@BlackYps

@BlackYps BlackYps commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

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

  • Documentation
    • Added a comprehensive lobby feature inventory covering lifecycle flows, player/observer handling, game options, mods, unit restrictions, chat, connectivity, launch validation, and lobby state behavior.
    • Added a UI specification outlining lobby screen element priorities and required controls/status indicators.
    • Added structured user stories for the custom-game lobby, including implementation status markers and coverage across major lobby workflows.

@BlackYps BlackYps added DO NOT MERGE Don't Merge until removed area: documentation related to documentation to preserve knowledge and practices labels Jun 26, 2026
@github-actions github-actions Bot marked this pull request as draft June 26, 2026 20:41
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds 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.

Changes

Lobby documentation suite

Layer / File(s) Summary
Lobby flow and actor controls
docs/lobby/FEATURES.md
Describes lobby entry, slot states, player settings, AI controls, observers, and the host/client validation model.
Game setup systems
docs/lobby/FEATURES.md
Documents game options, spawn and team assignment, map selection, mod management, and unit restrictions.
Messaging and launch guards
docs/lobby/FEATURES.md
Covers chat routing, connectivity and launch checks, preset storage, lobby preferences, and related dialogs.
Data model and refresh scope
docs/lobby/FEATURES.md
Lists network messages, engine callbacks, core lobby data structures, and the refresh targets named in the document.
Lobby UI reference docs
docs/lobby/UI.md, docs/lobby/user-stories.md
Adds the UI priority matrix and the lobby user-story inventory with sectioned stories and status markers.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Suggested labels

area: lobby

Suggested reviewers

  • KionX
  • lL1l1

Poem

A rabbit hopped through lobby lore,
With feature maps and stories galore.
UI priorities lined up neat,
While lobby notes tapped gentle feet. 🐰

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is on-topic but missing the required template sections for changes, testing, context, and checklist details. Add the required sections: description of changes, testing performed, additional context, and checklist items or note why they're omitted.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding lobby feature documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch lobby-features

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
docs/lobby/FEATURES.md (1)

129-175: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Surround 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 win

Clarify: 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 to 0 or 3 so 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 value

Clarify 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

📥 Commits

Reviewing files that changed from the base of the PR and between e28b0ce and 5214277.

📒 Files selected for processing (3)
  • docs/lobby/FEATURES.md
  • docs/lobby/UI.md
  • docs/lobby/user-stories.md

Comment thread docs/lobby/UI.md
Comment on lines +21 to +26
| | Main Map preview |
| | Map name |
| | Map author |
| | starting positions |
| | Reclaim |
| | Water areas |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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.

Suggested change
| | 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: documentation related to documentation to preserve knowledge and practices DO NOT MERGE Don't Merge until removed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant