feat(navigator): show the build server destination to the team - #322
Merged
Merged
Conversation
Contributor
Test results 261 files 261 suites 16m 48s ⏱️ Results for commit 7ea6937. |
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.
Summary
Build(slot 7,Material.SCAFFOLDING) that sends the player to the CloudNet taskBuild. This is separate fromMemberBuild, which sits behind Creative.titan.navigator.buildserver, checked throughPermissionService.ALLOWEDshows it;NOT_SETandDENIEDhide it.localvariant (no permission platform) nobody sees it.How
Build). Each is registered once in the module lifecycle and unregistered on shutdown.SharedNavigatorwith its own layout state and lock.Buildre-checks the permission. If it was revoked, nothing is delivered and the inventory closes.PermissionService.Why this shape
This supersedes #219. That PR listed each running build server through CloudNet service discovery in the
:bridgeextension, and it depended onFeatureGate/FeatureAudiencefrom #216, which never reachedmain. One fixed destination keeps destinations in code, as the navigator spec requires. CloudNet's task routing already sends players only to running servers.Tests
NavigatorBuildDestinationTest(10 tests)AvesSharedInventoriesTestNavigatorDestinationTestNavigatorModuleLeakTest(both inventories, alternating permissions)./gradlew buildis green.Known gap: "no chat message" on a revoked click is not asserted, because the fixture cannot capture chat. The code sends none.
Operations
Buildif it is missing.titan.navigator.buildserverto the team group in LuckPerms.OpenSpec
openspec/changes/navigator-build-destinationhttps://claude.ai/code/session_01A7aAe2E6wAEbi6jjnyPTWH