fix(identity): remove stale Leaf prefixes
Release / release (push) Successful in 2m11s
CI / build (push) Successful in 57s

This commit is contained in:
dmg
2026-08-10 21:13:02 -04:00
parent 07bc1d9382
commit e064c7398c
7 changed files with 93 additions and 30 deletions
+7
View File
@@ -79,3 +79,10 @@
- Kept reserved OKF index and log documents in their specification-defined structures.
- Verified all user stories are done, all acceptance criteria are checked, the repository has no remote, and no push was performed.
- Final verification passed with `./gradlew clean check jar` and `okflint` validation.
### US-003 sticky-prefix regression fixed
- Reproduced the cleanup failure that occurred when another plugin changed a Leaf-decorated display name.
- Leaf now removes exact managed-prefix text without discarding surrounding third-party formatting, clears stale prefixes after reload, and normalizes repeated prefixes before applying one leaf.
- Added regression coverage for wrapped names, duplicate stale prefixes, untracked stale prefixes, unrelated formatting, tab names, and scoreboard cleanup.
- Verified the fix with `./gradlew clean check jar`.
@@ -19,6 +19,9 @@ As a **server participant**, I want protected players to be visibly identified s
- [x] Prefixes are suppressed while Leaf is globally disabled and restored for online opted-in players when it is re-enabled.
- [x] Prefix updates do not overwrite unrelated display-name text where the Spigot API allows the values to coexist.
- [x] Scoreboard-team and third-party chat-plugin compatibility limitations are documented, and unsupported integrations fail without affecting protection state.
- [x] Repeated opt-in or reconciliation never produces multiple Leaf prefixes.
- [x] Opt-out removes every managed Leaf prefix while preserving unrelated name formatting.
- [x] A stale Leaf prefix left by an earlier plugin instance is normalized instead of duplicated.
## Related