feat(admins): soft-retire, durable issuer names, and bulk actions (#1509) - #1549
Open
maxijabase wants to merge 23 commits into
Open
feat(admins): soft-retire, durable issuer names, and bulk actions (#1509)#1549maxijabase wants to merge 23 commits into
maxijabase wants to merge 23 commits into
Conversation
…pp#1509) Close deactivate/reactivate polish plus admins.bulk with list checkboxes, keeping ban/comm Admin cells on snapshot names after hard delete.
Use the same ghost icon button pattern as deactivate/delete so inactive rows do not show a bordered labeled control.
Replace OS caret inconsistency with a progressive .ssel enhancer sharing Lucide chevron chrome with .msel, and keep narrow grid tracks from overflowing.
One eye control reveals password and confirm together; generate still resets to masked.
Open upward when there is more room above the trigger, and shrink max-height to the available viewport space.
Contributor
|
CI/CD did not pass yet @maxijabase |
rumblefrog
reviewed
Aug 5, 2026
| * entity column layout, manifest shape, or per-field contracts. | ||
| */ | ||
| public const FORMAT_VERSION = 1; | ||
| public const FORMAT_VERSION = 2; |
Member
There was a problem hiding this comment.
We shouldn't really be blindly bumping this
Contributor
Author
There was a problem hiding this comment.
This also caught my eye. Double checked and reverted it, I believe I followed AGENTS.md's instructions regarding bumping it too conservatively.
Contributor
|
Lgtm at the first quick look. But this pr should be merged only for 2.1.0. |
Contributor
Author
I don't really think there is much else to do, so we can probably release 2.1 right away once all PRs are reviewed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Closes #1509. This branch hardens admin lifecycle end-to-end (panel + SourceMod + schema), then layers the admins-list UX and shared chrome work that grew while shipping it.
Soft-retire (
admins.enabled):prefix_admins.enabled(1active /0inactive), idempotent viainformation_schema.admins.deactivate/admins.reactivateflip the flag (owner + self guards).NormalAuthHandler,SteamAuthHandler,UserManager::HasAccess).Sbpp\Auth\AdminsSchemaprobes for the column so/updater/can boot before 811 has run.sbpp_main.spfiltersa.enabled = 1.Durable issuer attribution
:prefix_bans.admin_nameand:prefix_comms.admin_name, with backfill from liveadmins.user.Manifestformat bump as needed).Bulk actions on the admins list
admins.bulksupportsdeactivate|reactivate|remove|set_web_group|set_srv_group.applied/skipped; self and owner guards match single-row ops..ssel/ overflow / flex width fixes).Shared chrome / form UX (same branch)
.ssel) matching multi-select (.msel) chrome; flip panels when they would overflow.data-multiselects (g{gid}/s{sid}wire values unchanged); live hostname hydrate viaActions.ServersHostPlayers.window.SBPP.confirmreplaces nativeconfirm()/ severalalertpaths (groups, servers, protests/submissions archive, settings, edit-ban, etc.) with panel dialogs + backdrop;NativeConfirmRegressionTestpins the contract.LIKE, styled delete dialogs) — landed here as commitrefine ban list and communications block list (#1546).Docs / tooling
admins-and-groups, data-export notes).AGENTS.md/ARCHITECTURE.mdupdated for the new surfaces.docker compose(no./sbpp.shon this host).Motivation and Context
Ex-admins need a reversible soft-retire path that does not wipe historical issuer names, and operators need multi-select lifecycle / group assign on the admins list. Hard delete alone forced either orphan "deleted" labels or keeping dead accounts live in-game. Fixes #1509.
How Has This Been Tested?
AdminsTest,PermissionMatrixTest,AdminEnabledAttributionTest,AddAdminServerHostHydrationTest,EditAdminServersMultiselectTest,ThemedSelectEnhancerTest,NativeConfirmRegressionTest, export unit tests touched by attribution columnsadmin-deactivate-bulk.spec.ts(deactivate/reactivate, hard-delete issuer snapshot on banlist, bulk deactivate, bulk assign web group), plus updatedadmins-add-form,add-admin-server-host-hydration,admin-groups-delete, banlist/comms affordance specsapi-contract.js+ new admin API snapshots (deactivate_*,reactivate_*,bulk_deactivate_partial):8080Types of changes
Checklist:
Screenshots
Before
chrome_g3gLZiS0lT.mp4
After
EWq0crA4mM.mp4
chrome_sqOVIiBsbk.mp4