Skip to content

Update to 26.3 mc version - #1371

Open
JagritThukral wants to merge 3 commits into
TuxCoding:mainfrom
JagritThukral:main
Open

JagritThukral wants to merge 3 commits into
TuxCoding:mainfrom
JagritThukral:main

Conversation

@JagritThukral

@JagritThukral JagritThukral commented Nov 4, 2026 •

Copy link
Copy Markdown

Summary of your change

Updated protocollib in pom.xml
Removed the usage of GeyserImpl in favor of GeyserApi
both changes help to run the plugin with latest version of protocollib and geysermc/floodgate.

Summary by CodeRabbit

  • Compatibility

    • Updated Bedrock account detection to use Geyser’s public API across supported server platforms.
    • Bedrock connection lookups now use active connections and UUID-based lookup.
    • Updated the ProtocolLib integration to a newer snapshot release.
  • Bug Fixes

    • Bedrock connection checks now read the default remote server setting each time they run, reflecting its current value.

Copilot AI balanced review requested due to automatic review settings November 4, 2026 12:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The Bukkit module updates the ProtocolLib repository ID, group ID, and version. The Geyser integration replaces implementation and session types with the public GeyserApi and GeyserConnection types. Bukkit, BungeeCord, and Velocity initialize GeyserService through GeyserApi.api(). The service reads the default remote server’s authentication type during checks and looks up players through online connections or UUID.

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

Change: Bug fix

Merge Risk: Minimal · up to a20e5

No actionable blocker is established for the Geyser API migration or ProtocolLib update; merge after normal build and compatibility checks.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title "Update to 26.3 mc version" is partially related to the changeset. The PR updates the ProtocolLib dependency in bukkit/pom.xml, which is tied to a Minecraft version target, but it does not m…
Description check Passed The description partially follows the template. It has a "Summary of your change" section that lists the ProtocolLib update and the switch from GeyserImpl to GeyserApi, and it gives a brief reason for…
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.
Full details: Title check

Explanation

The title "Update to 26.3 mc version" is partially related to the changeset. The PR updates the ProtocolLib dependency in bukkit/pom.xml, which is tied to a Minecraft version target, but it does not mention the main code change. That change replaces GeyserImpl with the public GeyserApi across the Bedrock hooks and the Bukkit, Bungee, and Velocity entry points. The title names a real aspect of the work, but it does not name the Geyser API migration and is not specific about the primary change.

Full details: Description check

Explanation

The description partially follows the template. It has a "Summary of your change" section that lists the ProtocolLib update and the switch from GeyserImpl to GeyserApi, and it gives a brief reason for both. The "Related issue" section is missing. The template asks for a reference such as "Fixes/Related #...", and the PR objectives mention PR #1371, but the description does not reference any issue. The summary is also brief and does not explain the motivation in detail.

Resolution

Add the "Related issue" section with an issue reference (for example, "Fixes #..." or "Related #..."). If no issue exists, state that explicitly. Optionally expand the summary with more detail on the Geyser API change and the ProtocolLib version bump.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 5 functions across 5 files.

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

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
Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d5a25ff8-f479-41d9-8577-4562ddf7aa9b
Commits

Reviewing files that changed from the base of the PR and between 84719dc and a20e5c9.

Files selected for processing: 2
  • bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java
  • velocity/src/main/java/com/github/games647/fastlogin/velocity/FastLoginVelocity.java

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

Recent review details
Context from checks skipped due to timeout: 1
  • GitHub Check: CodeRabbit

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional comments: 2
core/src/main/java/com/github/games647/fastlogin/core/hooks/bedrock/GeyserService.java-41-41: 1

41-41: Minor · Potential issue · Quick win

Unverified finding
We couldn't verify this from the code. It is shown for review, not as a verified issue.

The constructor now requires GeyserApi, but the supplied BungeeCord and Velocity initializers still pass GeyserImpl.getInstance(). Those modules may no longer compile if the implementation class is not assignable to the public API type.

The affected module fails compilation, preventing the release build.

This can occur when: A reactor build compiles the BungeeCord or Velocity module against the updated Geyser dependency.

core/src/main/java/com/github/games647/fastlogin/core/hooks/bedrock/GeyserService.java-67-69: 1

67-69: Minor · Potential issue · Heavy lift

Unverified finding
We couldn't verify this from the code. It is shown for review, not as a verified issue.

Username detection now compares the login name with GeyserConnection.name() instead of the session's client-data username. If the API name has a different prefix or represents a different login-stage identity, an existing Bedrock connection will not be recognized.

The Bedrock-specific checks are skipped and the player enters the Java authentication path, potentially causing an incorrect login rejection or authentication decision.

This can occur when: A connecting player's JoinManagement.onLogin username differs from that connection's API name() although it matched the former client-data username.

Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 28c36bb0-d0d5-47a7-a15a-516e3fef2fb9
Commits

Reviewing files that changed from the base of the PR and between 9486138 and 84719dc.

Files selected for processing: 4
  • bukkit/pom.xml
  • bukkit/src/main/java/com/github/games647/fastlogin/bukkit/FastLoginBukkit.java
  • core/src/main/java/com/github/games647/fastlogin/core/hooks/bedrock/BedrockService.java
  • core/src/main/java/com/github/games647/fastlogin/core/hooks/bedrock/GeyserService.java

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

Review details
Context from checks skipped due to timeout: 1
  • GitHub Check: CodeRabbit

coderabbitai[bot]
coderabbitai Bot previously approved these changes Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants