Skip to content

Allow selection of multiple roles/departments when configuring access - #5555

Merged
Rinary1 merged 4 commits into
ss14Starlight:starlight-devfrom
Omegalucky:access-setting-menu-changes
Aug 11, 2026
Merged

Allow selection of multiple roles/departments when configuring access#5555
Rinary1 merged 4 commits into
ss14Starlight:starlight-devfrom
Omegalucky:access-setting-menu-changes

Conversation

@Omegalucky

@Omegalucky Omegalucky commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Short description

Enables the multiool and access configurator to configure access from any department, no longer limited to one.

Why we need to add this

Currently if you select an access level for a device, it is discarded if you select another department to add more roles. This change will remove this limitation.

Media (Video/Screenshots)

AccessreadermultiplecategoriesH.265.mp4

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

🆑 OMEGA

  • fix: Access configurators and multitools can now configure access spanning multiple departments.

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

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7abede94-c735-4944-83f5-19952c14cc97

📥 Commits

Reviewing files that changed from the base of the PR and between 46bb913 and f8a828f.

📒 Files selected for processing (1)
  • Content.Client/Access/UI/AccessOverriderWindow.xaml.cs
🚧 Files skipped from review as they are similar to previous changes (1)
  • Content.Client/Access/UI/AccessOverriderWindow.xaml.cs

📝 Walkthrough

Summary

The access configurator now supports access levels from multiple departments or roles.

  • AccessOverriderWindow preserves selections when the displayed department changes.
  • Submissions merge cached selections with the current department’s button states.
  • DoorElectronicsConfigurationMenu submits all selected access levels.

This prevents department changes from discarding earlier selections. The main risk is incorrect state merging when selections are added or cleared across departments.

Guideline gaps

  • The PR context does not state whether the change belongs in Shared.
  • The PR context does not include a Starlight ownership comment.
  • The PR context does not mention localization impact.
  • The PR context does not identify breaking changes.
  • The PR context does not describe design impact.

Walkthrough

The access overrider and door electronics configuration menu now retain and submit pressed access levels from all access groups. The overrider caches non-visible levels and merges them with visible button states before submission.

Changes

Access preservation

Layer / File(s) Summary
Merged access submission
Content.Client/Access/UI/AccessOverriderWindow.xaml.cs, Content.Client/Doors/Electronics/DoorElectronicsConfigurationMenu.xaml.cs
The access overrider caches pressed levels from the interface state and merges non-visible levels with visible button states. The door configuration menu submits pressed levels across all groups.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes support for selecting access across multiple roles and departments.
Description check ✅ Passed The description explains the access-selection limitation and the changes that remove it.
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.

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

🤖 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/Access/UI/AccessOverriderWindow.xaml.cs`:
- Around line 21-27: Add a `#region` Starlight block around the new _pressedAccess
field and a separate `#region` Starlight block around BuildAccessList, preserving
the existing // Starlight-edit ownership markers and leaving surrounding members
unchanged.
🪄 Autofix

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

Review profile: CHILL

Plan: Pro Plus

Run ID: a75cdfe2-11dd-4a7f-9269-c283142efcfd

📥 Commits

Reviewing files that changed from the base of the PR and between 6bab688 and 636f737.

📒 Files selected for processing (2)
  • Content.Client/Access/UI/AccessOverriderWindow.xaml.cs
  • Content.Client/Doors/Electronics/DoorElectronicsConfigurationMenu.xaml.cs

Comment thread Content.Client/Access/UI/AccessOverriderWindow.xaml.cs
@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: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Aug 11, 2026
@Rinary1
Rinary1 added this pull request to the merge queue Aug 11, 2026
Merged via the queue into ss14Starlight:starlight-dev with commit 5f1ff9f Aug 11, 2026
23 checks passed
starlightgithub Bot added a commit that referenced this pull request Aug 11, 2026
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. S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants