Skip to content

Use shared character sessions for gathering identity - #9

Merged
ryanbarlow97 merged 1 commit into
mainfrom
feat/character-identity
Oct 11, 2026
Merged

ryanbarlow97 merged 1 commit into
mainfrom
feat/character-identity

Conversation

@ryanbarlow97

Copy link
Copy Markdown
Contributor

Gathering now uses TLibs' authoritative character session for discovery ownership and visibility. When the provider is absent or character setup is still pending, normal character actions have no identity; they never substitute an account UUID. Existing discoveries keep their stored character UUIDs across reconnects and switches.

The direct RPCharacters dependency remains narrowly for creation-layer wisdom and intelligence. Its active model must match the shared session before supplying attributes. Using MMOCore totals instead would change discovery probability. Admin bypass and the existing chance calculation remain unchanged.

Pins TLibs 2.3.0 and the published RPCharacters 2.16.0 provider. Part of TF-Minecraft/RPCharacters#89. Documentation: TF-Minecraft/Docs#161.

Validation: Java 21 mvn clean verify passed all 36 tests, with 100% instruction, branch and line coverage (5,383 instructions, 652 branches, 1,143 lines). Tests exercise provider absence, pending readiness, mismatched character models, uppercase UUIDs, switching, provider unregistration, unchanged probability and admin bypass. Astra review passed. No server deployment is included.

@github-actions github-actions Bot added the size:S 10-29 effective changed lines (tests excluded in mixed PRs). label Oct 11, 2026
@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 684707c5-d92b-4121-b516-856526e54134

📥 Commits

Reviewing files that changed from the base of the PR and between def0efa and 1a2dfda.


📒 Files selected for processing (3)
  • pom.xml
  • src/main/java/net/tfminecraft/gathering/utils/CharacterBridge.java
  • src/test/java/net/tfminecraft/gathering/IntegrationTest.java

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



📝 Summary

Summary by CodeRabbit

  • Bug Fixes
    • Active character details now match the character selected in the current session, including when character IDs differ only by letter case.
    • Character identity now reflects session changes immediately and is unavailable when there is no active session.
  • Chores
    • Updated supporting components to newer versions.

Walkthrough

The character bridge now obtains the active character ID from the current session. It returns the RPC character only when its ID matches the session ID. Dependency versions and integration tests are also updated.

Changes

Character identity

Layer / File(s) Summary
Session-based character lookup
pom.xml, src/main/java/net/tfminecraft/gathering/utils/CharacterBridge.java, src/test/java/net/tfminecraft/gathering/IntegrationTest.java
The rpcharacters and tlibs versions are updated. UUID lookup now uses the current session ID. Active-character lookup returns the RPC character only when its ID matches the session ID, ignoring case. Tests cover missing sessions, changing identities, mismatches and provider unregistration.

Priority: ➖ Normal

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

Change: Bug fix


Merge Risk: ⚪ Minimal · up to 1a2df

No concrete issue remains that should delay merging after normal checks.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@ryanbarlow97
ryanbarlow97 merged commit 119afd2 into main Oct 11, 2026
3 checks passed
@ryanbarlow97
ryanbarlow97 deleted the feat/character-identity branch October 11, 2026 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant