Skip to content

Welcome Pop-Up - #5348

Merged
redmushie merged 12 commits into
ss14Starlight:starlight-devfrom
Conflee:Welcome-Pop-Up
Aug 2, 2026
Merged

Welcome Pop-Up#5348
redmushie merged 12 commits into
ss14Starlight:starlight-devfrom
Conflee:Welcome-Pop-Up

Conversation

@Conflee

@Conflee Conflee commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Short description

Adds a "Welcome" pop-up when a client joins the server for the first time. This pop-up contains a small lore primer as well as content warnings and a reminder that we are an MRP server.

The year updates automatically, thanks to help from Neomoth.

Port from funky-station/funky-station#2922 and then edited by me.

Why we need to add this

Onboarding new players and presenting content warnings more clearly.

Media (Video/Screenshots)

image

Checks

  • I do not require assistance to complete the PR.
  • Before posting/requesting review of a PR, I have verified that the changes work.
  • I have added screenshots/videos of the changes, or this PR does not change in-game mechanics.
  • I affirm that my changes are licensed under the MIT License and grant permission for use in this repository under its conditions.

Changelog

🆑 taydeo, Conflee

  • add: Added a "Welcome to Starlight!" pop-up when a client joins the server for the first time, with useful information and content warnings.

@Conflee
Conflee requested a review from a team July 26, 2026 16:38
@github-actions github-actions Bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Changes: UI Changes: C# S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M labels Jul 26, 2026
@Conflee

Conflee commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Opening for CodeRabbit or anyone else's help, the pop-up isn't appearing no matter what I do.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a localized content-warning popup with accept/reject actions, configuration CVars for display and enforcement, and a client controller that presents the popup on lobby or gameplay entry and persists acceptance.

Changes

Content warning flow

Layer / File(s) Summary
Warning configuration and popup
Content.Shared/_Funkystation/CCVars/CCVars.Funky.cs, Resources/Locale/en-US/_Starlight/welcome-popup.ftl, Content.Client/_Funkystation/ContentWarning/*
Defines content-warning CVars, localized popup text, the XAML layout, and accept/reject events.
State-triggered warning handling
Content.Client/_Funkystation/ContentWarning/ContentWarningUIController.cs
Shows the popup on lobby or gameplay entry, records acceptance, and optionally executes quit when rejected.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant LobbyOrGameplayState
  participant ContentWarningUIController
  participant ContentWarningPopup
  participant CCVars_Funky
  participant IClientConsoleHost
  LobbyOrGameplayState->>ContentWarningUIController: enter state
  ContentWarningUIController->>CCVars_Funky: check display and acknowledgment
  ContentWarningUIController->>ContentWarningPopup: open centered popup
  ContentWarningPopup-->>ContentWarningUIController: accept or reject
  ContentWarningUIController->>CCVars_Funky: save acknowledgment
  ContentWarningUIController->>IClientConsoleHost: execute quit if rejection requires it
Loading

Suggested reviewers: redmushie

🚥 Pre-merge checks | ✅ 5 | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
No Magic Numbers ⚠️ Warning ContentWarningPopup.xaml.cs hardcodes a meaningful offset (year += 500) instead of using a named constant. Extract 500 into a clearly named constant (e.g. StarlightYearOffset) and use that in the year calculation.
Title check ❓ Inconclusive The title is related but too generic to convey the specific change. Use a more specific title such as "Add first-time welcome and content warning popup".
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description matches the changeset and explains the welcome/content-warning popup.
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.
No Hardcoded Ecs Parameters ✅ Passed PASS: No ECS parameters are hardcoded here; the new feature is UI-only and driven by CVars/localized data, with no entity components/system logic added.
Avoid Service Locator ✅ Passed PASS: The new code uses explicit [Dependency] fields and only IoCManager.InjectDependencies() (the stated UI exception); no Resolve/Log-style service locator calls found.

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml (1)

34-34: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Remove trailing whitespace from both UI files.

The pipeline reports the same EditorConfig failure in both blank Line 34 locations.

  • Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml#L34-L34: remove trailing spaces or tabs.
  • Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml.cs#L34-L34: remove trailing spaces or tabs.
🤖 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 `@Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml` at line
34, Remove trailing spaces or tabs from line 34 in both
Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml and
Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml.cs; no
other changes are needed.

Source: Pipeline failures

🤖 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 `@Content.Client/_Funkystation/ContentWarning/ContentWarningUIController.cs`:
- Around line 23-24: Invert the guard in the ContentWarningUIController
initialization flow so it returns when ContentWarningDisplay is disabled or
ContentWarningAcknowledged is already true. Allow the popup to continue opening
only when display is enabled and the warning has not been acknowledged.

---

Outside diff comments:
In `@Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml`:
- Line 34: Remove trailing spaces or tabs from line 34 in both
Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml and
Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml.cs; no
other changes are needed.
🪄 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: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: f876b1d1-9bb2-4326-8f0a-265a08dcf703

📥 Commits

Reviewing files that changed from the base of the PR and between 2288a2b and 552fd73.

📒 Files selected for processing (5)
  • Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml
  • Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml.cs
  • Content.Client/_Funkystation/ContentWarning/ContentWarningUIController.cs
  • Content.Shared/_Funkystation/CCVars/CCVars.Funky.cs
  • Resources/Locale/en-US/_Funkystation/content_warning.ftl

Comment thread Content.Client/_Funkystation/ContentWarning/ContentWarningUIController.cs Outdated
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 26, 2026
@wonderfulnewworld

Copy link
Copy Markdown
Contributor

very nice

@TaserTheFox

Copy link
Copy Markdown
Contributor

I think the year should be a variable. cause it seems to take place 500 years the actual current year

@Conflee

Conflee commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

I think the year should be a variable. cause it seems to take place 500 years the actual current year

yea I don't know how to do that code-wise tbh.

@TaserTheFox

Copy link
Copy Markdown
Contributor

i mean its a once a year thing, and no one really cares so, its probably fine

@Conflee

Conflee commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

i mean its a once a year thing, and no one really cares so, its probably fine

Neomoth helped me figure out how, so it will now update automatically.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 26, 2026
Comment thread Content.Client/_Funkystation/ContentWarning/ContentWarningUIController.cs Outdated
Comment thread Content.Shared/_Funkystation/CCVars/CCVars.Funky.cs Outdated
Comment thread Content.Client/_Funkystation/ContentWarning/ContentWarningPopup.xaml.cs Outdated
@starlightgithub starlightgithub Bot added S: Awaiting Changes Status: Changes are required before another review can happen and removed S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Jul 28, 2026
@redmushie redmushie self-assigned this Jul 28, 2026
…ntroller.cs

Co-authored-by: Red Mushie <82113471+redmushie@users.noreply.github.com>
@starlightgithub starlightgithub Bot added S: Awaiting Changes Status: Changes are required before another review can happen and removed S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Jul 28, 2026
…p.xaml.cs

Co-authored-by: Red Mushie <82113471+redmushie@users.noreply.github.com>
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 28, 2026
@Conflee

Conflee commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

r4r again sob

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 28, 2026
redmushie
redmushie previously approved these changes Jul 28, 2026

@redmushie redmushie 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.

Approved, @StarlightHost for your review due to some CCVar additions.

@starlightgithub starlightgithub Bot added S: Approved Status: Reviewed and approved by at least one maintainer or dev; a PR may require another approval. and removed S: Awaiting Changes Status: Changes are required before another review can happen labels Jul 28, 2026
@redmushie
redmushie requested a review from StarlightHost July 28, 2026 17:01
@github-actions github-actions Bot added the S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. label Jul 28, 2026
@Conflee
Conflee dismissed stale reviews from redmushie and coderabbitai[bot] via d4b30c7 August 1, 2026 21:13
@Conflee

Conflee commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

r4r with darks requested changes

@starlightgithub starlightgithub Bot removed the S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. label Aug 2, 2026
@redmushie
redmushie added this pull request to the merge queue Aug 2, 2026
Merged via the queue into ss14Starlight:starlight-dev with commit b1b9a5b Aug 2, 2026
23 checks passed
starlightgithub Bot added a commit that referenced this pull request Aug 2, 2026
Limerent-Sun pushed a commit to Blimpuf-Station/BlimpufStation that referenced this pull request Aug 5, 2026
## Short description
Adds a "Welcome" pop-up when a client joins the server for the first
time. This pop-up contains a small lore primer as well as content
warnings and a reminder that we are an MRP server.

The year updates automatically, thanks to help from Neomoth.

Port from funky-station/funky-station#2922 and
then edited by me.

## Why we need to add this
Onboarding new players and presenting content warnings more clearly.

## Media (Video/Screenshots)
<img width="585" height="795" alt="image"
src="https://github.com/user-attachments/assets/6f9ba0d7-b4a1-4fd0-b831-57fddc26c4c1"
/>


## Checks

- [X] I do not require assistance to complete the PR.
- [X] Before posting/requesting review of a PR, I have verified that the
changes work.
- [X] I have added screenshots/videos of the changes, or this PR does
not change in-game mechanics.
- [X] I affirm that my changes are licensed under the [MIT
License](https://github.com/ss14Starlight/space-station-14/blob/Starlight/LICENSE.TXT)
and grant permission for use in this repository under its conditions.

**Changelog**

:cl: taydeo, Conflee
- add: Added a "Welcome to Starlight!" pop-up when a client joins the
server for the first time, with useful information and content warnings.

---------

Co-authored-by: Red Mushie <82113471+redmushie@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes: C# Changes: UI S: Approved Status: Reviewed and approved by at least one maintainer or dev; a PR may require another approval. size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants